Files
disasm/NROM/Donkey Kong (JU)/prg.s
T
tmerrittandClaude Opus 4.8 49e117bfcc Fix Pass 3 symbol application and add promotion criteria to PROMPTS.md
- Apply symbols.inc hardware register names to Defender 2 (U) (51 operands)
- Apply symbols.inc hardware register names to Donkey Kong 3 (JUE) (36 operands)
- Add APU register symbols (-) to Defender 2 (U) and Donkey Kong 3 (JUE) symbols.inc
- Apply symbols to Donkey Kong Jr. Math (U) (80 operands: 11 single + 69 hardware)
- Apply symbols to Excitebike (JU) (786 operands: 785 single + 1 hardware)
- Add promotion criteria to PROMPTS.md: symbol/local substitution,
  ROM-specific semantic naming, and verification checklist

Add branch/jump target naming requirement to PROMPTS.md

All branches and jumps must target symbolic labels with descriptive names
derived from program flow role (e.g., _Loop, _Next, _Done, _Store, _Return),
never raw address literals. Adds criterion 8 to verification checklist.

Rename all OVERVIEW.md to README.md; add root README content to top-level

- Rename all OVERVIEW.md files to README.md throughout the repo (47 files)
- Prepend README.md content to top-level OVERVIEW.md before rename
- Fix apply_symbols.py NAME_RE regex to handle spaced assignments
- Apply symbols.inc to Defender 2 (U) (51 hardware operands)
- Apply symbols.inc to Donkey Kong 3 (JUE) (36 hardware operands)
- Apply symbols.inc to Donkey Kong Jr. Math (U) (80 operands: 11 single + 69 hardware)
- Apply symbols.inc to Excitebike (JU) (786 operands: 785 single + 1 hardware)
- Add missing Zp18/FrameCounter aliases to Excitebike prg.s
- Build all 27 top-level projects: byte-identical

Promote Donkey Kong Jr. Math back to _wip tier

Moves code from `copilot` folder and verifies each builds after

Add pre-commit hook for byte-identical verification

Add .git/hooks/pre-commit that runs 'make' then 'make clean' in each
project directory before committing. This ensures every project builds
byte-identical before any commit is accepted.

Also includes all file moves from the Donkey Kong Jr. Math (U) demotion
and other file restructuring from the session.

moves code out of copilot folder, its all AI generated.
Moves NROM games into NROM folder

removes copilot folder from Lunar Pool
Adds makefile to build all projects recursively

Updates docs to reflect changes in layout

Repromotes Donkey Kong Jr Math
Repromotes Excitebike
Promotes Popeye (JU) (PRG 1)
Updates Makefile to provide summary of build failure/success

Promote Raid on Bungeling Bay (U): Pass 2/3 partial, whole-ROM byte-identical

Move _wip/NROM/Raid on Bungeling Bay (U) to NROM/ and switch the build
from a PRG-only compare to a whole-ROM one:

  - header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
  - linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
    areas ahead of PRG ($C000, $4000)
  - rom.nes symlink to the space-containing original ROM name
  - Makefile builds header.o/prg.o/chr.o into reconstructed.nes and
    compares it against rom.nes ('Byte-identical ROM verified.')
  - one leftover neutral indirect operand jmp (Zp01) at $E2EC becomes
    jmp (IndDispatch01); apply_symbols.py reports 0 substitutions pending

README.md / TODO.md / AGENTS.md updated: 29 promoted, 7 in _wip/.

Pac-Man (U): Pass 2 complete (label renaming) + Pass 3 partial (ZP aliases, table names)

Pass 2 — fresh map derived from the committed split, not from any drafted
map (the drafted maps in other projects were audited and found not
applicable):

  - all 194 address-derived Label_XXXX definitions renamed to semantic
    routine-entry names plus <Routine>_<Role>_<addr> internal branch
    targets; zero Label_ remains
  - all 49 jsr/jmp call sites resolved from raw $XXXX to labels; zero
    raw $XXXX call operands remain
  - routinemap.tsv / derived_names.tsv record the derivation

Pass 3 (partial):

  - 15 proven semantic zero-page aliases added to locals.inc
    (GameState, NmiFlag, ScrollX/Y, PpuCtrlShadow, OamDmaPage,
    CocktailModeFlag, ActivePlayerFlag, GameplaySuspended, FrameCounter,
    StateTimer, Player1/2Input, ActiveInput, CopyrightVerified)
  - 112 operands substituted into prg.s (11 single + 101 hardware)
  - key data tables named: ProgrammerSig ($C0EB), GameStateDispatchTable
    ($C253), TitleScreenData ($C2FD), EntityPtrTable ($D912),
    AudioCommandTable ($EFDD)

Also corrects the README's claim that the RESET vector points at padding:
$FF00 holds real boot code (sei/cld, PPU off, double vblank wait, then
jmp ColdStart at $C042).

.gitignore: ignore reconstructed_prg.bin (build artifact of the _wip
Makefiles; '**/reconstructed.*' does not match the underscore form).

Promote Pac-Man (U): Pass 2/3 complete, whole-ROM byte-identical

Move _wip/NROM/Pac-Man (U) to NROM/ and switch the build from a PRG-only
compare to a whole-ROM one:

  - header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
  - linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
    areas ahead of PRG ($C000, $4000)
  - rom.nes symlink to 'Pac-Man (U) [!].nes' (the original ROM name
    contains a space and brackets)
  - Makefile builds header.o/prg.o/chr.o into reconstructed.nes and
    compares it against rom.nes
  - reconstructed.nes is 24,592 bytes, MD5 a69d310f8cae9397fbd39f204672b5c7
    - equal to the original ROM; the header/prg/chr splits were checked
    against the original before promotion and are byte-exact

Pass 3 residue closed.  The last 7 multi-alias zero-page operands are
resolved per site through a new sites.tsv, each proven from context
rather than guessed:

  - jmp ($0010) at $C250/$D3CA/$D90F/$D9B6 -> (DispatchPtrLo); each
    is immediately preceded by sta DispatchPtrLo/sta DispatchPtrHi
  - jmp ($00FE) at $EFDA -> (AudioHandlerPtrLo); preceded by
    sta AudioHandlerPtrLo/sta AudioHandlerPtrHi
  - sta a:$0000,y at $C048/$C089 -> a:Zp00,y; the literal zero-page
    base in the two ZP clear loops, so the neutral name is used rather
    than the semantic WorkPtrLo.  The 'a:' prefix survives the
    substitution, so the bytes stay 99 00 00 (sta abs,Y)

apply_symbols.py now reports 119 operands substituted (101 hardware,
11 single-name, 7 site) and 0 residue.

New tool _tools/align_audit_comments.py: re-aligns the audit comment to
column 35 after a substitution lengthens an operand (nesdis.py pads each
instruction to 31 characters).  Whitespace-only, so the byte identity
cannot change.  405 lines re-aligned in this project; all 2,387 audit
comments still match prg.bin at the stated PRG offset, 0 mismatches.

Docs: root README.md / TODO.md / AGENTS.md updated - 30 promoted, 6 in
_wip/; a per-project detail entry for Pac-Man (U) added; the stale
'Donkey Kong 3 (JUE) has no README.md' claim corrected (it has a
318-line one).

Promote Raid on Bungeling Bay (U) [a2]: Pass 3 complete, whole-ROM byte-identical

Move _wip/NROM/Raid on Bungeling Bay (U) [a2] to NROM/ and switch the build
from a PRG-only compare to a whole-ROM one:

  - header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
  - linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
    areas ahead of PRG ($C000, $4000)
  - rom.nes symlink to 'Raid on Bungeling Bay (U) [a2].nes' (the original
    ROM name contains spaces and brackets)
  - reconstructed.nes is 24,592 bytes, MD5 659d340a1e9d420eee28df13319b0094
    - equal to the original ROM; the header/prg/chr splits were checked
    against the original before promotion and are byte-exact

Pass 3 - 15 semantic zero-page aliases, each applied only at the sites
where its role is proven:

  - PpuCtrlShadow ($C2), 15 sites: the reset entry primes it right after
    'sta PPUCTRL', and every other use is an ora/and/eor followed by
    'sta PPUCTRL'
  - NmiPathSelector ($C4), 5 sites: written 1 at $C3E9 and 0 at $C962
  - GameState ($D6), 6 sites: 'cmp #$02' and used as an index at $C4C7
  - FrameSubCounter ($55), 6 sites: set to $0A at $C520, decremented per
    NMI at $C07B
  - PrngPeriodCounter ($EA) / PrngSeedB ($EB) / PrngState ($EC), 13 sites:
    the PRNG state
  - PtrLo ($00) / PtrHi ($01), 8 sites: the 16-bit pair $1C13 and $1610
    compared at $E785/$E791
  - IndDispatch01 ($01) / IndDispatch02 ($02), 3 sites: the computed
    dispatch at $E2EC
  - IndDispatch1B ($1B) / IndDispatch1C ($1C), 6 sites: the dispatch at
    $E7A3
  - IndDispatch17 ($17) / IndDispatch19 ($19): the dispatches at $E79D
    and $E7A0

Addresses that carry two names keep the neutral ZpXX name where the other
role applies - $01 is PtrHi at the 16-bit compare and IndDispatch01 at the
dispatch; $17 is IndDispatch17 at the dispatch and Zp17 for the absolute
RAM $0017 store in the copy loop at $E895/$E8D0.

New tool _tools/apply_zp_aliases.py does the per-site substitution:
apply_symbols.py only rewrites *numeric* operands, so it cannot rename an
operand that is already written as a neutral ZpXX name.  The tool keeps the
ca65 'a:' prefix (dropping it would turn 'sta a:Zp17,y' into a zero-page
store and change the bytes) and rewrites only the operand token, so the
audit comment survives byte for byte.

Naming correction in the promoted sibling.  Finishing this dump showed that
$EA was misnamed 'VBlankWaitCounter': the routine at $C412 is the game's
pseudo-random generator (the classic eor/asl/php/lsr/plp/rol scrambler,
called from thirteen gameplay sites, twice in a row at $CDF4/$CDF9 with the
second result masked #$07), so $EA is the scrambler's phase counter.
Renamed PrngPeriodCounter in both dumps and named $EB/$EC PrngSeedB /
PrngState.  The sibling's two 'sta a:IndDispatch17,y' operands were also
wrong - they are absolute stores to RAM $0017, not the dispatch pointer -
and are now 'a:Zp17,y', matching the file's 'a:' = absolute convention.

Audit-comment alignment re-done with _tools/align_audit_comments.py (1,040
lines here, 1,080 in the sibling).  Both files still match prg.bin at every
stated PRG offset: 5,467 and 5,483 audit comments, 0 mismatches.

Docs: root README.md / TODO.md / AGENTS.md updated - 31 promoted, 5 in
_wip/; per-project detail entries added for both Raid dumps.

Promote Pac-Man (Tengen) (U): Pass 2/3 from scratch, whole-ROM byte-identical

Move _wip/NROM/Pac-Man (Tengen) (U) to NROM/ and switch the build from a
PRG-only compare to a whole-ROM one:

  - header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
  - linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
    areas ahead of PRG ($C000, $4000)
  - rom.nes symlink to 'Pac-Man (Tengen) (U) [!].nes'
  - reconstructed.nes is 24,592 bytes, MD5 d34e7a74d8d2c231b6cc601210e28ad0
    - equal to the original ROM; the header/prg/chr splits were checked
    against the original before promotion and are byte-exact

Disassembled from scratch.  No name, map or file was carried over from the
sibling 'Pac-Man (U)' dump; the map was derived from this dump's own
committed split and the two were only compared afterwards.

Pass 2 (new tool _tools/apply_pass2_map.py):
  - all 194 Label_XXXX definitions renamed to semantic routine entries plus
    <Routine>_<Role> branch targets; zero Label_ remains
  - all 48 raw $XXXX jsr/jmp operands resolved to labels; zero raw $XXXX
    call or branch operands remain
  - the map is in routinemap.tsv

Pass 3:
  - 30 semantic zero-page aliases, each applied only at the sites where its
    role is proven (per-site choice in sites.tsv; the addresses that carry
    two roles keep the neutral ZpXX name elsewhere).  _tools/
    derive_zp_aliases.py records how the set was derived, and locals.inc
    records the reason for every remaining neutral slot
  - 28 data tables named (new tool _tools/name_data_region.py), including
    CharacterDataTable ($C66A) and CharacterNameStrings ($C67E), where the
    ROM itself names Blinky, Pinky, Inky and Clyde - which is why the four
    indexed entities are called ghosts and not 'actors'
  - apply_symbols.py reports 0 substitutions pending and 0 residue
  - audit-comment alignment re-done with _tools/align_audit_comments.py;
    all 2,479 audit comments still match prg.bin at the stated PRG offset

Pass 1 correction - six command handlers recovered (new tool
_tools/recode_region.py).  ScriptCommandTable ($EFDD) is read by the traced
instruction at $EFCC, and six of its entries point at $F00A, $F022, $F03A,
$F052, $F062 and $F072 - all of which the tracer had left as data, and two
of which it had mis-split across the 'jmp $EF61' at $F01F and $F04F.
Those 120 bytes are code here, decoded straight from the ROM; the six
handlers tile $F00A-$F081 exactly.  The same gap exists in the promoted
'Pac-Man (U)' dump, which has not been corrected - recorded in both READMEs.

Residue (documented, not guessed): the unreached main game logic at
$C45A-$C55F is still .byte data.  It is code - the tracer's own decoder
walks it cleanly and the dispatch table at $C511 points into it - but
nothing reaches it, so it cannot be entered without a guess.  The same gap
exists in the promoted 'Pac-Man (U)' dump.  Re-deriving it is a Pass 1 job;
a Mesen Code Data Logger capture is the tool the repo uses for it.

Docs: root README.md / TODO.md / AGENTS.md updated - 32 promoted, 4 in
_wip/; a per-project detail entry added for the Tengen dump.

Promote Pyramid (U): Pass 1 corrected, Pass 2/3 complete, whole-ROM byte-identical

Move _wip/NROM/Pyramid (U) to NROM/ and switch the build from a PRG-only
compare to a whole-ROM one:

  - header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
  - linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
    areas ahead of PRG ($C000, $4000)
  - rom.nes symlink to 'Pyramid (U) (Sachen).nes'
  - reconstructed.nes is 24,592 bytes, MD5 aa285ff17f25dd05da5996b7466c59e2
    - equal to the original ROM; the header/prg/chr splits were checked
    against the original before promotion and are byte-exact

Pass 1 correction - the committed split was a strict subset of the correct
one.  This game dispatches through 'jmp' trampoline tables that live
*inside* the data regions, and the tracer cannot follow a jmp there, so
828 bytes of code were still marked as data.  Four such tables were found
($C01E 3 entries, $C02A 6, $C042 2, $C054 5) plus ten more entries at
$C000-$C01B; all sixteen targets decode as valid instructions.  Seeding
them, the $C800 boot mainline and six further code starts recovers the
whole lot, plus a five-byte stub at $DF89 (lda $33 / jmp $DECB) that sat
in a hole between two routines.  The re-trace loses NO committed code byte
and takes the split from 34.5% to 39.6% (3,130 instructions / 6,493 code
bytes).  'make regen' reproduces it, so the split stays verifiable.

Pass 2 - a fresh map derived from this dump's own committed split:
  - 428 Label_XXXX definitions renamed; zero Label_ residue
  - 320 raw $XXXX jsr/jmp operands resolved; zero raw $XXXX branch
    operands remain
  - 431 routine entries and the 32 data blocks named from the code
  - the internal branch-target names are derived mechanically from the
    branch that reaches them by the new _tools/derive_branch_names.py
    (beq -> OnZero, bne -> OnNonzero, bcc/bcs -> the carry cases, a
    backwards branch -> Loop)
  - recorded in routinemap.tsv

Pass 3:
  - 24 semantic zero-page aliases, each applied only where its role is
    proven; the 57 slots that stay neutral are each listed with the reason
    in locals.inc (the neutral set lives in zp_aliases.inc so that
    'make regen' can rebuild locals.inc from prg.bin)
  - 32 data tables named - TaskVectorTable1/2, LevelScriptData,
    MusicPeriodTable, SoundEnvelopeTable, the actor tables - recorded in
    data_region_names.tsv
  - apply_symbols.py reports 0 substitutions pending and 0 residue; no
    hardware register is left as a raw literal
  - the audit comments are now canonical on every line, data included
    (the old file carried only 'PRG:$xxxx' on its 1,358 data lines);
    all 3,762 audit comments match prg.bin at their stated PRG offset

Kept as-is, not 'cleaned up':
  - sta $4100 stays a raw operand.  The iNES header claims mapper 0 but
    the boot code writes past the NES register space; the ROM does not
    explain it, so it is recorded rather than guessed
  - the 'A'/'V' check on RAM $0120/$0121 and its seed/clear routines
    are named for what they do, not for what they are for
  - the ninth entry of the $C3A6 task vector table ($D820) is a junk
    slot and stays data

Docs: root README.md / TODO.md / AGENTS.md updated - 33 promoted, 3 in
_wip/; a per-project detail entry added.

Hogan's Alley (JU): Pass 1 correction, Pass 2, Pass 3, promoted to NROM/

The light-gun game whose engine dispatches through *inline* tables:
`IndirectCall` at $C34D pops the return address of the `jsr` that called
it and reads a 16-bit handler pointer from the word that follows, so all
six handler tables ($C124 19 entries, $C219 4, $C89C 14, $CDD1 1, $D234 2,
$D3D6 14) live inside the code stream and the static tracer cannot follow
them.

Pass 1 correction.  The committed split was a strict subset of the correct
one -- 41.8% of the PRG was classified as code.  A fresh Mesen Code Data
Logger capture was merged with the four captures already in the folder
(hogans_merged.cdl, the OR of five per-byte flag arrays, 6,544 code bytes)
and _tools/cdl_reclass.py rewrote the split to match what the CPU actually
fetched: 1,216 bytes moved from data to code, five the other way, 59 labels
emitted.  The split is now 49.1% code (3,950 instructions, 8,041 bytes).
The four branch targets the reclassifier could not prove were turned into
labels by the new _tools/resolve_raw_branches.py.

Pass 2.  206 routine entries hand-named from this dump's own code and 413
internal branch targets derived mechanically by _tools/derive_branch_names.py:
630 Label_XXXX definitions gone, 484 raw $XXXX call operands resolved, 15
call targets the tracer had never labelled given a label.  Recorded in
routinemap.tsv.  No SubC<addr> residue was needed -- every entry the engine
reaches is named after what it does.

Pass 3.  60 semantic zero-page aliases, each applied only where its role is
proven (zp_aliases.inc, zp_alias_sites.tsv); the slots that stay neutral are
each listed with the reason.  All 34 data blocks named
(data_region_names.tsv).  apply_symbols.py reports 1 residue: `sta a:$00B4,y`
at $C203, the same address as Zp40/ActorPalette but forced to absolute
addressing, so it must stay numeric.

Promotion.  header.s, chr.s and a HEADER/PRG/CHR linker.cfg added, rom.nes
symlinked to the original ROM; the whole-ROM cmp passes on the first
promoted build.  There is deliberately no `make regen` target: the Pass 1
split here is the static trace corrected by a CDL capture, and the base the
correction was applied to is not what the current _tools/nesdis.py
produces, so prg.s is the maintained source of truth.

Tools changed:
  nesdis.py             --split/--note/--provenance options, so a data
                          region can carry its own name and explanation;
                          a forced-data address is no longer reported as a
                          recovered routine entry
  apply_pass2_map.py    can create the label for a call target the tracer
                          left unlabelled; no longer double-labels it
  apply_zp_aliases.py   --at-file, an address-based per-site list
  derive_branch_names.py keeps the map's own header instead of writing a
                          fixed one
  resolve_raw_branches.py  new: turns `bXX *+$NN` operands into labels
  build_hogans_map.py   new: the hand-written Pass 2 map builder

The existing regen pipelines (MUSCLE (U), Urban Champion (JU)) still
reproduce prg.s byte for byte.

Apply the symbols.inc register names at Pass 1; fix a dropped byte in cdl_reclass

nesdis.py now names the hardware registers as it renders the operands, so a
project's Pass 1 output already reads `lda PPUSTATUS` instead of `lda $2002`
and the Pass 3 apply_symbols.py step has nothing left to do for them.

  * nesdis.py --symbols FILE reads a symbols.inc-style file and substitutes
    the register names.  Only unambiguous entries in the $2000-$4017 window
    are used: $4017 is both JOY2 and APUFRAMECOUNTER, so it stays numeric
    and apply_symbols.py reports it as multi-alias residue, exactly as
    before.  The default is the symbols.inc next to --out, so a new project
    gets the names without asking; --no-symbols opts out.
  * The renderer records the operand's numeric value on the Insn, because
    operand_value() used to re-parse the operand text and could no longer
    read a name.
  * The controller bit masks in symbols.inc (PAD_A and friends) are
    constants, not addresses, and are still never substituted.

MUSCLE (U) and Urban Champion (JU) keep --no-symbols: their committed
prg.s was produced with the registers named by the Pass 3 apply_symbols.py
step, and the columns in those files reflect the in-place substitution.
Adding the missing apply_symbols.py step to both regen pipelines makes
them reproduce their committed prg.s byte for byte again - neither did
before this change (MUSCLE was 440 lines out, Urban Champion 772).

cdl_reclass.py had a bug that cost a byte: a region whose last source row
straddled the region's end was replaced by a regeneration of the region
only, so the tail of that row was dropped.  Mario Bros (JU) hit it at
$C595, where the rebuild came out one byte short and every label after it
shifted.  A region now covers the whole rows it replaces.

pass2.py reflow takes an optional column argument; the default is
unchanged (the ';' lands on the same column as before).

Mario Bros (JU): Pass 1 correction, Pass 2, Pass 3, promoted to NROM/

A two-player platformer whose handler tables are *inline*: the pointers sit
in the middle of the code stream, right after the `jsr` that reads them, so
the static tracer could never follow them.

Pass 1 correction.  The committed split was a strict subset of the correct
one -- only 72.0% of the PRG was classified as code.  A Mesen Code Data
Logger capture of this ROM (mario_mesen.cdl, 10,915 code bytes) showed
1,010 bytes the tracer had left as data were code; two branch targets the
capture never reached ($E4CB and $E639) were forced with --override for 57
more, so 1,067 bytes moved from data to code and 22 moved the other way.
The split is now 78.4% code (6,210 instructions, 12,847 bytes).  The three
branch targets the reclassifier could not prove were turned into labels by
_resolve_raw_branches.py, which now refuses to put a label on a `.byte` row.

Pass 2.  206 routine entries and 519 internal branch targets: 931
Label_XXXX definitions gone, 51 raw $XXXX call operands resolved and 12 call
targets the tracer had never labelled given a label.  Zero SubC residue --
the 185 entries a previous session had left as address-derived residue were
all named from this dump's own code.  Recorded in routinemap.tsv.

Pass 3.  25 semantic zero-page aliases, each applied only where its role is
proven (zp_aliases.inc); the slots that stay neutral are each listed with the
reason.  35 data tables named -- GameStateHandlerTable, EnemyBehaviourTable,
EnemyScriptTable, EnemyTypePointerTable, SoundRoutineTable,
NoteFrequencyTable and the rest -- and recorded in
data_region_names.tsv.  apply_symbols.py reports 0 residue.

Promotion.  header.s, chr.s and a HEADER/PRG/CHR linker.cfg added, rom.nes
symlinked to the original ROM; the whole-ROM cmp passes on the first
promoted build.  There is deliberately no `make regen` target: the Pass 1
split here is the static trace corrected by a CDL capture, and the base the
correction was applied to is not what the current _tools/nesdis.py
produces, so prg.s is the maintained source of truth.

Tools:
  apply_pass2_map.py     renames a label of any spelling -- SubC<addr> is
                          the honest residue form -- and its references
                          follow it; one combined pattern, so a 16,000-line
                          file does not need a substitution per label
  resolve_raw_branches.py refuses to label a data row
  build_mario_map.py      new: the hand-written Pass 2 map builder

Remove the old _wip/NROM/Mario Bros (JU) folder (promoted to NROM/)

Mario Bros (JU): add the promoted-tier header, CHR, rom.nes symlink and zero-page aliases

Moves _ROMS/<ROM> into _wip/<MAPPER>/<ROM>

Sync the docs and the skeleton tool with the 857-project _wip tier

The _wip/ tier now holds 857 projects across 30 mapper folders, all
building byte-identical for the whole ROM.  README.md, TODO.md and
AGENTS.md still described the old 39-project tier, so bring them in line
with WIP.md, which carries the tier's index.

The tier is no longer 39 projects of NROM-256 with a 16/32 KB PRG:
only two projects have a 16 KB PRG, 151 have 32 KB, 523 have 128 KB and
one has 1.5 MB, so most of it is a banked mapper whose image does not fit
the 6502's address space.  Those projects link their MEMORY areas at .nes
file offsets rather than CPU addresses, which is the only option and the
honest model; the 39 older projects keep the CPU-address layout because
their PRG really is one contiguous window.

make_skeleton.py gains the two layouts (--layout flat|cpu), the board
name for the mapper, and a fix for find_rom() mistaking the build
output reconstructed.nes for the source ROM.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-20 16:44:06 -04:00

16475 lines
1.1 MiB
Plaintext

; Donkey Kong (JU) NES disassembly - Pass 1
; Byte-oriented ca65 source generated from the supplied PRG image.
; Recursively reachable instructions are emitted explicitly with address/byte comments.
; Unreached bytes remain explicit .byte blocks; no ROM byte is deleted or reformatted.
; Pass 2 replaces address-derived labels, RAM aliases, and table names while
; preserving byte identity.
;
; Vectors: NMI=$C85F RESET=$C79E IRQ=$FFF0
; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half)
;
; Pass 1 trace provenance (the audit trail behind every classification below):
; entries seeded by hand after inspecting code-shaped but unreferenced blocks:
; $C79E, $C85F, $FFF0
;
.setcpu "6502"
.include "symbols.inc"
.include "locals.inc"
.segment "PRG"
; ---- data $C000-$C79D (1950 bytes) ----
; referenced by `lda $C4A7,x` at $C808 (operand $C4A7 falls inside this region)
; referenced by `lda $C4A8,x` at $C80D (operand $C4A8 falls inside this region)
; referenced by `lda $C03C,x` at $C816 (operand $C03C falls inside this region)
; referenced by `lda $C03D,x` at $C81B (operand $C03D falls inside this region)
; referenced by `lda $C03C,x` at $C824 (operand $C03C falls inside this region)
; referenced by `lda $C03D,x` at $C829 (operand $C03D falls inside this region)
; ... and 127 further references from decoded code
LevelPtrTable: .byte $20, $70, $06, $00, $20, $64, $06, $00, $20, $78, $06, $00, $20, $B7, $04, $00 ; CPU:$C000 PRG:0000 20 70 06 00 20 64 06 00 20 78 06 00 20 B7 04 00
.byte $20, $BC, $01, $00, $01, $08, $02, $08, $02, $00, $05, $01, $00, $02, $01, $01 ; CPU:$C010 PRG:0010 20 BC 01 00 01 08 02 08 02 00 05 01 00 02 01 01
.byte $01, $05, $01, $05, $01, $02, $01, $02, $DB, $60, $E2, $55, $14, $20, $01, $F9 ; CPU:$C020 PRG:0020 01 05 01 05 01 02 01 02 DB 60 E2 55 14 20 01 F9
.byte $A0, $E0, $30, $10, $10, $01, $50, $01, $30, $D0, $FF, $FF ; CPU:$C030 PRG:0030 A0 E0 30 10 10 01 50 01 30 D0 FF FF
ObjectPtrTable: .byte $3E, $C6, $57, $C6, $E1, $C6, $60, $C7 ; CPU:$C03C PRG:003C 3E C6 57 C6 E1 C6 60 C7
LevelDataPtrTable: .byte $7D, $C7, $E4, $C6, $F1, $C6, $53, $C7, $08, $C7, $19, $C7 ; CPU:$C044 PRG:0044 7D C7 E4 C6 F1 C6 53 C7 08 C7 19 C7
.byte $1C, $C7, $35, $C7, $4E, $C7, $8C, $C0, $CF, $C0, $61, $C1, $60, $04, $C3, $C0 ; CPU:$C050 PRG:0050 1C C7 35 C7 4E C7 8C C0 CF C0 61 C1 60 04 C3 C0
.byte $DF, $C0, $6E, $C1, $C4, $C2, $C8, $C2, $86, $C1, $B0, $C1, $92, $C1, $CF, $C1 ; CPU:$C060 PRG:0060 DF C0 6E C1 C4 C2 C8 C2 86 C1 B0 C1 92 C1 CF C1
.byte $D5, $C1, $DB, $C1, $E1, $C1, $9E, $C1, $E7, $C1, $0C, $C6, $70, $C6, $89, $C6 ; CPU:$C070 PRG:0070 D5 C1 DB C1 E1 C1 9E C1 E7 C1 0C C6 70 C6 89 C6
.byte $25, $C6, $A2, $C6, $CC, $00, $8E, $C1, $96, $C1, $A6, $C6, $00, $D8, $00, $00 ; CPU:$C080 PRG:0080 25 C6 A2 C6 CC 00 8E C1 96 C1 A6 C6 00 D8 00 00
.byte $01, $00, $80, $D7, $04, $18, $06, $FE, $C8, $BC, $04, $E8, $09, $FE, $20, $9E ; CPU:$C090 PRG:0090 01 00 80 D7 04 18 06 FE C8 BC 04 E8 09 FE 20 9E
.byte $04, $18, $09, $FE, $C8, $80, $04, $E8, $09, $FE, $20, $62, $04, $18, $09, $FE ; CPU:$C0A0 PRG:00A0 04 18 09 FE C8 80 04 E8 09 FE 20 62 04 18 09 FE
.byte $C8, $44, $04, $E8, $06, $FE, $80, $28, $04, $00, $01, $FE, $BC, $9E, $80, $62 ; CPU:$C0B0 PRG:00B0 C8 44 04 E8 06 FE 80 28 04 00 01 FE BC 9E 80 62
.byte $44, $28, $FF, $00, $00, $80, $00, $00, $00, $18, $00, $00, $00, $10, $00, $E0 ; CPU:$C0C0 PRG:00C0 44 28 FF 00 00 80 00 00 00 18 00 00 00 10 00 E0
.byte $BC, $00, $10, $9E, $00, $E0, $80, $00, $10, $62, $00, $E0, $44, $00, $FE, $00 ; CPU:$C0D0 PRG:00D0 BC 00 10 9E 00 E0 80 00 10 62 00 E0 44 00 FE 00
.byte $00, $10, $03, $C8, $BC, $08, $C8, $80, $04, $B8, $74, $10, $68, $58, $14, $C8 ; CPU:$C0E0 PRG:00E0 00 10 03 C8 BC 08 C8 80 04 B8 74 10 68 58 14 C8
.byte $44, $04, $60, $CF, $0C, $70, $9B, $00, $30, $9E, $04, $50, $85, $08, $80, $7D ; CPU:$C0F0 PRG:00F0 44 04 60 CF 0C 70 9B 00 30 9E 04 50 85 08 80 7D
.byte $00, $30, $62, $04, $58, $60, $00, $90, $28, $18, $FE, $00, $00, $08, $1D, $00 ; CPU:$C100 PRG:0100 00 30 62 04 58 60 00 90 28 18 FE 00 00 08 1D 00
.byte $00, $08, $17, $00, $00, $08, $18, $00, $00, $08, $09, $00, $00, $08, $0B, $00 ; CPU:$C110 PRG:0110 00 08 17 00 00 08 18 00 00 08 09 00 00 08 0B 00
.byte $00, $08, $07, $00, $00, $08, $19, $C8, $BC, $00, $70, $9B, $00, $30, $9E, $00 ; CPU:$C120 PRG:0120 00 08 07 00 00 08 19 C8 BC 00 70 9B 00 30 9E 00
.byte $C8, $80, $00, $80, $7D, $00, $30, $62, $00, $58, $60, $00, $C8, $44, $00, $90 ; CPU:$C130 PRG:0130 C8 80 00 80 7D 00 30 62 00 58 60 00 C8 44 00 90
.byte $28, $00, $FE, $00, $00, $08, $0D, $24, $24, $54, $54, $60, $60, $64, $64, $60 ; CPU:$C140 PRG:0140 28 00 FE 00 00 08 0D 24 24 54 54 60 60 64 64 60
.byte $60, $24, $24, $68, $68, $68, $68, $68, $68, $24, $24, $24, $54, $54, $54, $00 ; CPU:$C150 PRG:0150 60 24 24 68 68 68 68 68 68 24 24 24 54 54 54 00
.byte $00, $60, $B7, $00, $50, $7B, $00, $B8, $5C, $00, $68, $40, $00, $FE, $00, $00 ; CPU:$C160 PRG:0160 00 60 B7 00 50 7B 00 B8 5C 00 68 40 00 FE 00 00
.byte $08, $18, $CA, $A7, $8E, $6B, $51, $5C, $2C, $4C, $2C, $64, $C6, $AA, $8C, $6D ; CPU:$C170 PRG:0170 08 18 CA A7 8E 6B 51 5C 2C 4C 2C 64 C6 AA 8C 6D
.byte $4D, $C4, $6C, $7C, $54, $C4, $08, $11, $0A, $11, $08, $10, $0A, $11, $08, $0F ; CPU:$C180 PRG:0180 4D C4 6C 7C 54 C4 08 11 0A 11 08 10 0A 11 08 0F
.byte $0A, $11, $05, $01, $0C, $09, $05, $05, $0A, $0A, $08, $10, $08, $10, $04, $04 ; CPU:$C190 PRG:0190 0A 11 05 01 0C 09 05 05 0A 0A 08 10 08 10 04 04
.byte $0C, $0D, $0C, $14, $1C, $10, $18, $20, $03, $05, $02, $03, $00, $00, $03, $04 ; CPU:$C1A0 PRG:01A0 0C 0D 0C 14 1C 10 18 20 03 05 02 03 00 00 03 04
.byte $00, $00, $08, $08, $10, $E0, $10, $E0, $0C, $E0, $08, $E8, $01, $02, $04, $08 ; CPU:$C1B0 PRG:01B0 00 00 08 08 10 E0 10 E0 0C E0 08 E8 01 02 04 08
.byte $10, $20, $40, $80, $13, $30, $48, $60, $78, $90, $A8, $C0, $E0, $13, $DB, $4C ; CPU:$C1C0 PRG:01C0 10 20 40 80 13 30 48 60 78 90 A8 C0 E0 13 DB 4C
.byte $6A, $88, $A6, $C5, $FE, $53, $6B, $8F, $A7, $CA, $FE, $52, $6E, $8C, $AC, $C5 ; CPU:$C1D0 PRG:01D0 6A 88 A6 C5 FE 53 6B 8F A7 CA FE 52 6E 8C AC C5
.byte $FE, $52, $6C, $8E, $A8, $CA, $FE, $00, $06, $08, $08, $19, $30, $34, $30, $34 ; CPU:$C1E0 PRG:01E0 FE 52 6C 8E A8 CA FE 00 06 08 08 19 30 34 30 34
.byte $30, $34, $38, $3C, $3C, $3C, $02, $04, $02, $04, $07, $05, $07, $09, $03, $00 ; CPU:$C1F0 PRG:01F0 30 34 38 3C 3C 3C 02 04 02 04 07 05 07 09 03 00
.byte $00, $04, $08, $01, $02, $03, $04, $50, $60, $70, $80, $90, $0E, $D8, $18, $0E ; CPU:$C200 PRG:0200 00 04 08 01 02 03 04 50 60 70 80 90 0E D8 18 0E
.byte $C8, $04, $86, $C8, $04, $A6, $C0, $00, $BE, $B8, $00, $D6, $B0, $04, $4E, $B0 ; CPU:$C210 PRG:0210 C8 04 86 C8 04 A6 C0 00 BE B8 00 D6 B0 04 4E B0
.byte $04, $0E, $A0, $04, $DE, $A0, $00, $C6, $98, $00, $AE, $90, $00, $96, $88, $14 ; CPU:$C220 PRG:0220 04 0E A0 04 DE A0 00 C6 98 00 AE 90 00 96 88 14
.byte $C6, $78, $0C, $0E, $70, $04, $46, $70, $08, $8E, $68, $04, $AE, $60, $00, $C6 ; CPU:$C230 PRG:0230 C6 78 0C 0E 70 04 46 70 08 8E 68 04 AE 60 00 C6
.byte $58, $00, $DE, $50, $00, $66, $40, $10, $86, $28, $00, $FE, $B0, $78, $60, $40 ; CPU:$C240 PRG:0240 58 00 DE 50 00 66 40 10 86 28 00 FE B0 78 60 40
.byte $28, $FF, $00, $00, $14, $00, $00, $00, $1C, $00, $00, $00, $24, $00, $00, $00 ; CPU:$C250 PRG:0250 28 FF 00 00 14 00 00 00 1C 00 00 00 24 00 00 00
.byte $2C, $00, $00, $00, $54, $00, $00, $00, $12, $00, $00, $00, $E4, $00, $18, $A0 ; CPU:$C260 PRG:0260 2C 00 00 00 54 00 00 00 12 00 00 00 E4 00 18 A0
.byte $0C, $20, $70, $10, $50, $70, $14, $60, $70, $14, $98, $68, $08, $C8, $78, $08 ; CPU:$C270 PRG:0270 0C 20 70 10 50 70 14 60 70 14 98 68 08 C8 78 08
.byte $E0, $A0, $00, $E0, $50, $0C, $B0, $40, $08, $90, $28, $04, $FE, $00, $00, $08 ; CPU:$C280 PRG:0280 E0 A0 00 E0 50 0C B0 40 08 90 28 04 FE 00 00 08
.byte $10, $00, $00, $08, $18, $00, $00, $08, $20, $00, $00, $08, $28, $00, $00, $08 ; CPU:$C290 PRG:0290 10 00 00 08 18 00 00 08 20 00 00 08 28 00 00 08
.byte $30, $00, $00, $08, $40, $18, $A0, $00, $20, $70, $00, $50, $70, $00, $60, $70 ; CPU:$C2A0 PRG:02A0 30 00 00 08 40 18 A0 00 20 70 00 50 70 00 60 70
.byte $00, $98, $68, $00, $C8, $78, $00, $E0, $A0, $00, $E0, $50, $00, $B0, $40, $00 ; CPU:$C2B0 PRG:02B0 00 98 68 00 C8 78 00 E0 A0 00 E0 50 00 B0 40 00
.byte $90, $28, $00, $FE, $04, $01, $1B, $0E, $00, $01, $12, $01, $30, $38, $40, $48 ; CPU:$C2C0 PRG:02C0 90 28 00 FE 04 01 1B 0E 00 01 12 01 30 38 40 48
.byte $50, $58, $00, $00, $09, $15, $18, $00, $4C, $5F, $03, $5C, $5F, $03, $C4, $67 ; CPU:$C2D0 PRG:02D0 50 58 00 00 09 15 18 00 4C 5F 03 5C 5F 03 C4 67
.byte $03, $4C, $9F, $13, $5C, $9F, $13, $C4, $87, $13, $DC, $3F, $03, $DC, $67, $13 ; CPU:$C2E0 PRG:02E0 03 4C 9F 13 5C 9F 13 C4 87 13 DC 3F 03 DC 67 13
.byte $06, $D8, $00, $06, $B8, $00, $16, $90, $04, $1E, $68, $08, $26, $40, $0C, $FE ; CPU:$C2F0 PRG:02F0 06 D8 00 06 B8 00 16 90 04 1E 68 08 26 40 0C FE
.byte $B8, $90, $68, $40, $28, $FF, $00, $00, $F5, $00, $00, $00, $D5, $00, $00, $00 ; CPU:$C300 PRG:0300 B8 90 68 40 28 FF 00 00 F5 00 00 00 D5 00 00 00
.byte $C5, $00, $00, $00, $B5, $00, $10, $B8, $00, $78, $B8, $00, $E8, $B8, $00, $18 ; CPU:$C310 PRG:0310 C5 00 00 00 B5 00 10 B8 00 78 B8 00 E8 B8 00 18
.byte $90, $04, $60, $90, $04, $98, $90, $04, $E0, $90, $04, $20, $68, $04, $80, $68 ; CPU:$C320 PRG:0320 90 04 60 90 04 98 90 04 E0 90 04 20 68 04 80 68
.byte $04, $D8, $68, $04, $28, $40, $04, $48, $40, $04, $B0, $40, $04, $D0, $40, $04 ; CPU:$C330 PRG:0330 04 D8 68 04 28 40 04 48 40 04 B0 40 04 D0 40 04
.byte $FE, $00, $00, $08, $20, $00, $00, $08, $28, $10, $B8, $00, $78, $B8, $00, $E8 ; CPU:$C340 PRG:0340 FE 00 00 08 20 00 00 08 28 10 B8 00 78 B8 00 E8
.byte $B8, $00, $18, $90, $00, $60, $90, $00, $98, $90, $00, $E0, $90, $00, $20, $68 ; CPU:$C350 PRG:0350 B8 00 18 90 00 60 90 00 98 90 00 E0 90 00 20 68
.byte $00, $80, $68, $00, $D8, $68, $00, $28, $40, $00, $48, $40, $00, $B0, $40, $00 ; CPU:$C360 PRG:0360 00 80 68 00 D8 68 00 28 40 00 48 40 00 B0 40 00
.byte $D0, $40, $00, $FE, $00, $09, $1E, $33, $48, $54, $0C, $A7, $03, $74, $A7, $03 ; CPU:$C370 PRG:0370 D0 40 00 FE 00 09 1E 33 48 54 0C A7 03 74 A7 03
.byte $E4, $A7, $03, $0C, $C7, $13, $74, $C7, $13, $E4, $C7, $13, $14, $7F, $03, $5C ; CPU:$C380 PRG:0380 E4 A7 03 0C C7 13 74 C7 13 E4 C7 13 14 7F 03 5C
.byte $7F, $03, $94, $7F, $03, $DC, $7F, $03, $1C, $57, $03, $7C, $57, $03, $D4, $57 ; CPU:$C390 PRG:0390 7F 03 94 7F 03 DC 7F 03 1C 57 03 7C 57 03 D4 57
.byte $03, $14, $A7, $13, $5C, $A7, $13, $94, $A7, $13, $DC, $A7, $13, $24, $2F, $03 ; CPU:$C3A0 PRG:03A0 03 14 A7 13 5C A7 13 94 A7 13 DC A7 13 24 2F 03
.byte $44, $2F, $03, $AC, $2F, $03, $CC, $2F, $03, $1C, $7F, $13, $7C, $7F, $13, $D4 ; CPU:$C3B0 PRG:03B0 44 2F 03 AC 2F 03 CC 2F 03 1C 7F 13 7C 7F 13 D4
.byte $7F, $13, $24, $57, $13, $44, $57, $13, $AC, $57, $13, $CC, $57, $13, $08, $C7 ; CPU:$C3C0 PRG:03C0 7F 13 24 57 13 44 57 13 AC 57 13 CC 57 13 08 C7
.byte $10, $A7, $18, $7F, $20, $57, $E8, $C7, $E0, $A7, $D8, $7F, $D0, $57, $34, $AC ; CPU:$C3D0 PRG:03D0 10 A7 18 7F 20 57 E8 C7 E0 A7 D8 7F D0 57 34 AC
.byte $44, $BC, $05, $03, $0D, $0B, $D4, $0C, $E4, $0C, $5D, $4B, $CD, $C3, $5D, $43 ; CPU:$C3E0 PRG:03E0 44 BC 05 03 0D 0B D4 0C E4 0C 5D 4B CD C3 5D 43
.byte $E5, $C3, $ED, $03, $24, $49, $77, $77, $77, $77, $FF, $FF, $0B, $0C, $0D, $15 ; CPU:$C3F0 PRG:03F0 E5 C3 ED 03 24 49 77 77 77 77 FF FF 0B 0C 0D 15
.byte $16, $17, $18, $19, $1A, $1E, $1F, $FF, $FF, $FF, $01, $01, $01, $01, $FF, $FF ; CPU:$C400 PRG:0400 16 17 18 19 1A 1E 1F FF FF FF 01 01 01 01 FF FF
.byte $01, $01, $E4, $E3, $E2, $D8, $D7, $D6, $D5, $D4, $D3, $D0, $CF, $48, $84, $C0 ; CPU:$C410 PRG:0410 01 01 E4 E3 E2 D8 D7 D6 D5 D4 D3 D0 CF 48 84 C0
.byte $50, $8D, $C7, $20, $C0, $78, $60, $28, $44, $6B, $20, $33, $C4, $37, $C4, $3B ; CPU:$C420 PRG:0420 50 8D C7 20 C0 78 60 28 44 6B 20 33 C4 37 C4 3B
.byte $C4, $3F, $C4, $00, $00, $10, $08, $00, $00, $10, $08, $00, $00, $60, $10, $00 ; CPU:$C430 PRG:0430 C4 3F C4 00 00 10 08 00 00 10 08 00 00 60 10 00
.byte $00, $2A, $20, $B0, $A0, $78, $68, $68, $88, $88, $88, $88, $88, $48, $38, $28 ; CPU:$C440 PRG:0440 00 2A 20 B0 A0 78 68 68 88 88 88 88 88 48 38 28
.byte $18, $18, $BB, $BB, $5E, $2F, $13, $88, $78, $64, $56, $49, $88, $88, $24, $55 ; CPU:$C450 PRG:0450 18 18 BB BB 5E 2F 13 88 78 64 56 49 88 88 24 55
.byte $55, $88, $88, $49, $55, $55, $40, $20, $10, $08, $01, $8C, $C0, $0C, $C2, $0C ; CPU:$C460 PRG:0460 55 88 88 49 55 55 40 20 10 08 01 8C C0 0C C2 0C
.byte $C2, $F0, $C2, $C3, $C0, $0C, $C2, $52, $C2, $06, $C3, $E3, $C0, $0C, $C2, $6E ; CPU:$C470 PRG:0470 C2 F0 C2 C3 C0 0C C2 52 C2 06 C3 E3 C0 0C C2 6E
.byte $C2, $16, $C3, $0B, $C1, $0C, $C2, $8D, $C2, $41, $C3, $27, $C1, $0C, $C2, $A5 ; CPU:$C480 PRG:0480 C2 16 C3 0B C1 0C C2 8D C2 41 C3 27 C1 0C C2 A5
.byte $C2, $49, $C3, $BC, $C0, $0C, $C2, $4C, $C2, $00, $C3, $0C, $C2, $D2, $C2, $74 ; CPU:$C490 PRG:0490 C2 49 C3 BC C0 0C C2 4C C2 00 C3 0C C2 D2 C2 74
.byte $C3, $0C, $C2, $D8, $C2, $7A, $C3, $5B, $F5, $D9, $F8, $CD, $F7, $1C, $F7, $D9 ; CPU:$C4A0 PRG:04A0 C3 0C C2 D8 C2 7A C3 5B F5 D9 F8 CD F7 1C F7 D9
SpriteInitPtrTable: .byte $F8, $1B, $FA, $00, $00, $01, $06, $E8 ; CPU:$C4A7 PRG:04A7 F8 1B FA 00 00 01 06 E8
.byte $04, $50, $18, $D5, $12, $E8, $00, $50 ; CPU:$C4AF PRG:04AF 04 50 18 D5 12 E8 00 50
.byte $20, $DB, $22, $F0, $00, $00, $00, $03, $2C, $30, $04, $20, $7F, $F6, $21, $D0 ; CPU:$C4C0 PRG:04C0 20 DB 22 F0 00 00 00 03 2C 30 04 20 7F F6 21 D0
.byte $00, $20, $46, $F6, $21, $D8, $00, $00, $00, $01, $04, $C0, $04, $00, $00, $00 ; CPU:$C4D0 PRG:04D0 00 20 46 F6 21 D8 00 00 00 01 04 C0 04 00 00 00
.byte $04, $00, $04, $30, $C7, $04, $22, $00, $00, $00, $00, $02, $08, $10, $04, $00 ; CPU:$C4E0 PRG:04E0 04 00 04 30 C7 04 22 00 00 00 00 02 08 10 04 00
.byte $00, $02, $02, $E0, $04, $FE, $00, $00, $01, $06, $E8, $04, $50, $18, $D5, $12 ; CPU:$C4F0 PRG:04F0 00 02 02 E0 04 FE 00 00 01 06 E8 04 50 18 D5 12
.byte $E8, $00, $50, $20, $DB, $22, $F0, $00, $00, $00, $03, $0C, $30, $04, $30, $78 ; CPU:$C500 PRG:0500 E8 00 50 20 DB 22 F0 00 00 00 03 0C 30 04 30 78
.byte $A0, $12, $30, $00, $30, $A8, $A0, $12, $38, $00, $30, $49, $A0, $12, $40, $00 ; CPU:$C510 PRG:0510 A0 12 30 00 30 A8 A0 12 38 00 30 49 A0 12 40 00
.byte $70, $70, $A0, $12, $48, $00, $70, $A0, $A0, $12, $50, $00, $70, $D7, $A0, $12 ; CPU:$C520 PRG:0520 70 70 A0 12 48 00 70 A0 A0 12 50 00 70 D7 A0 12
.byte $58, $00, $00, $00, $23, $02, $40, $04, $00, $00, $23, $02, $58, $04, $00, $00 ; CPU:$C530 PRG:0530 58 00 00 00 23 02 40 04 00 00 23 02 58 04 00 00
.byte $00, $04, $00, $04, $10, $B7, $04, $22, $00, $00, $00, $00, $02, $08, $10, $04 ; CPU:$C540 PRG:0540 00 04 00 04 10 B7 04 22 00 00 00 00 02 08 10 04
.byte $4C, $9F, $98, $22, $10, $00, $CC, $67, $98, $22, $20, $00, $00, $00, $03, $0C ; CPU:$C550 PRG:0550 4C 9F 98 22 10 00 CC 67 98 22 20 00 00 00 03 0C
.byte $60, $04, $00, $00, $01, $16, $90, $04, $FE, $00, $00, $01, $06, $E8, $04, $50 ; CPU:$C560 PRG:0560 60 04 00 00 01 16 90 04 FE 00 00 01 06 E8 04 50
.byte $18, $D5, $12, $E8, $00, $50, $20, $DB, $22, $F0, $00, $00, $00, $03, $04, $D0 ; CPU:$C570 PRG:0570 18 D5 12 E8 00 50 20 DB 22 F0 00 00 00 03 04 D0
.byte $04, $14, $6E, $F6, $21, $D0, $00, $7C, $46, $F6, $21, $D8, $00, $00, $00, $01 ; CPU:$C580 PRG:0580 04 14 6E F6 21 D0 00 7C 46 F6 21 D8 00 00 00 01
.byte $20, $50, $04, $00, $00, $00, $04, $00, $04, $38, $C7, $04, $22, $00, $00, $00 ; CPU:$C590 PRG:0590 20 50 04 00 00 00 04 00 04 38 C7 04 22 00 00 00
.byte $00, $02, $10, $10, $04, $FE, $B3, $C4, $F6, $C4, $F6, $C4, $69, $C5, $7F, $7F ; CPU:$C5A0 PRG:05A0 00 02 10 10 04 FE B3 C4 F6 C4 F6 C4 69 C5 7F 7F
.byte $7F, $00, $5F, $3F, $00, $2F, $7F, $7F, $00, $A9, $A9, $81, $81, $59, $59, $31 ; CPU:$C5B0 PRG:05B0 7F 00 5F 3F 00 2F 7F 7F 00 A9 A9 81 81 59 59 31
.byte $31, $00, $30, $4C, $D5, $00, $10, $E0, $00, $24, $50, $C0, $00, $3B, $B3, $3B ; CPU:$C5C0 PRG:05C0 31 00 30 4C D5 00 10 E0 00 24 50 C0 00 3B B3 3B
.byte $B3, $3B, $B3, $38, $B3, $00, $22, $22, $22, $00, $21, $21, $00, $20, $22, $22 ; CPU:$C5D0 PRG:05D0 B3 3B B3 38 B3 00 22 22 22 00 21 21 00 20 22 22
.byte $00, $22, $22, $22, $22, $21, $21, $21, $21, $06, $0A, $1B, $00, $82, $1C, $00 ; CPU:$C5E0 PRG:05E0 00 22 22 22 22 21 21 21 21 06 0A 1B 00 82 1C 00
.byte $C5, $0A, $18, $00, $E8, $F7, $48, $57, $A8, $B7, $08, $17, $00, $04, $07, $0B ; CPU:$C5F0 PRG:05F0 C5 0A 18 00 E8 F7 48 57 A8 B7 08 17 00 04 07 0B
.byte $01, $03, $05, $08, $D0, $D1, $D2, $D3, $84, $8D, $84, $8D, $46, $76, $77, $78 ; CPU:$C600 PRG:0600 01 03 05 08 D0 D1 D2 D3 84 8D 84 8D 46 76 77 78
.byte $79, $7A, $7B, $7C, $7D, $7E, $7F, $80, $81, $82, $83, $84, $85, $24, $24, $86 ; CPU:$C610 PRG:0610 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 24 24 86
.byte $87, $24, $24, $24, $88, $46, $24, $9C, $9D, $9E, $9F, $A0, $A1, $A2, $A3, $A4 ; CPU:$C620 PRG:0620 87 24 24 24 88 46 24 9C 9D 9E 9F A0 A1 A2 A3 A4
.byte $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD, $AE, $24, $AF, $B0, $B1, $46, $24 ; CPU:$C630 PRG:0630 A5 A6 A7 A8 A9 AA AB AC AD AE 24 AF B0 B1 46 24
.byte $24, $24, $89, $24, $24, $8A, $8B, $8C, $8D, $8E, $8F, $90, $91, $92, $93, $94 ; CPU:$C640 PRG:0640 24 24 89 24 24 8A 8B 8C 8D 8E 8F 90 91 92 93 94
.byte $95, $96, $97, $98, $99, $9A, $9B, $46, $24, $B2, $68, $9E, $B5, $B6, $6C, $C7 ; CPU:$C650 PRG:0650 95 96 97 98 99 9A 9B 46 24 B2 68 9E B5 B6 6C C7
.byte $A3, $A4, $69, $A6, $A7, $A8, $6B, $AA, $C9, $CA, $6D, $BF, $24, $CD, $6A, $B1 ; CPU:$C660 PRG:0660 A3 A4 69 A6 A7 A8 6B AA C9 CA 6D BF 24 CD 6A B1
.byte $46, $C2, $C3, $24, $9E, $C4, $C5, $C6, $C7, $A3, $B9, $A5, $A6, $A7, $BB, $6B ; CPU:$C670 PRG:0670 46 C2 C3 24 9E C4 C5 C6 C7 A3 B9 A5 A6 A7 BB 6B
.byte $C8, $C9, $CA, $CB, $CC, $24, $CD, $CE, $CF, $46, $24, $B2, $B3, $B4, $B5, $B6 ; CPU:$C680 PRG:0680 C8 C9 CA CB CC 24 CD CE CF 46 24 B2 B3 B4 B5 B6
.byte $B7, $B8, $A3, $B9, $69, $BA, $A7, $BB, $A9, $AA, $BC, $BD, $BE, $BF, $C0, $C1 ; CPU:$C690 PRG:0690 B7 B8 A3 B9 69 BA A7 BB A9 AA BC BD BE BF C0 C1
.byte $24, $B1, $13, $2C, $16, $13, $13, $16, $30, $37, $23, $DB, $42, $A0, $21, $CA ; CPU:$C6A0 PRG:06A0 24 B1 13 2C 16 13 13 16 30 37 23 DB 42 A0 21 CA
.byte $4C, $24, $21, $EA, $0C, $24, $24, $19, $15, $0A, $22, $0E, $1B, $24, $66, $24 ; CPU:$C6B0 PRG:06B0 4C 24 21 EA 0C 24 24 19 15 0A 22 0E 1B 24 66 24
.byte $24, $00, $23, $E2, $04, $08, $0A, $0A, $02, $22, $0A, $4C, $24, $22, $2A, $0C ; CPU:$C6C0 PRG:06C0 24 00 23 E2 04 08 0A 0A 02 22 0A 4C 24 22 2A 0C
.byte $24, $10, $0A, $16, $0E, $24, $24, $18, $1F, $0E, $1B, $24, $22, $4A, $4C, $24 ; CPU:$C6D0 PRG:06D0 24 10 0A 16 0E 24 24 18 1F 0E 1B 24 22 4A 4C 24
.byte $00, $12, $24, $24, $20, $63, $5B, $24, $20, $94, $4A, $24, $20, $B4, $4A, $24 ; CPU:$C6E0 PRG:06E0 00 12 24 24 20 63 5B 24 20 94 4A 24 20 B4 4A 24
.byte $00, $21, $09, $4E, $24, $21, $A9, $4E, $24, $22, $49, $4E, $24, $22, $E9, $4E ; CPU:$C6F0 PRG:06F0 00 21 09 4E 24 21 A9 4E 24 22 49 4E 24 22 E9 4E
.byte $24, $3F, $1D, $03, $30, $36, $06, $00, $20, $8D, $46, $24, $20, $AD, $46, $24 ; CPU:$C700 PRG:0700 24 3F 1D 03 30 36 06 00 20 8D 46 24 20 AD 46 24
.byte $20, $CD, $46, $24, $20, $ED, $46, $24, $00, $12, $AA, $AA, $46, $24, $24, $DC ; CPU:$C710 PRG:0710 20 CD 46 24 20 ED 46 24 00 12 AA AA 46 24 24 DC
.byte $DD, $D4, $D5, $DE, $DF, $D6, $D7, $E0, $E1, $D8, $D9, $E2, $E3, $DA, $DB, $E4 ; CPU:$C720 PRG:0720 DD D4 D5 DE DF D6 D7 E0 E1 D8 D9 E2 E3 DA DB E4
.byte $E5, $24, $24, $E6, $E7, $46, $E8, $E9, $EA, $EB, $EC, $ED, $EE, $EF, $24, $F0 ; CPU:$C730 PRG:0730 E5 24 24 E6 E7 46 E8 E9 EA EB EC ED EE EF 24 F0
.byte $F1, $F2, $24, $F3, $F4, $F5, $F6, $F7, $F8, $F9, $FA, $FB, $FC, $FD, $21, $08 ; CPU:$C740 PRG:0740 F1 F2 24 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD 21 08
.byte $50, $62, $00, $23, $09, $4E, $62, $23, $29, $4E, $62, $23, $49, $4E, $62, $00 ; CPU:$C750 PRG:0750 50 62 00 23 09 4E 62 23 29 4E 62 23 49 4E 62 00
.byte $20, $C5, $42, $24, $20, $CA, $42, $24, $20, $EA, $42, $24, $20, $E5, $42, $24 ; CPU:$C760 PRG:0760 20 C5 42 24 20 CA 42 24 20 EA 42 24 20 E5 42 24
.byte $22, $0A, $42, $24, $22, $2A, $42, $24, $22, $18, $42, $24, $00, $22, $38, $42 ; CPU:$C770 PRG:0770 22 0A 42 24 22 2A 42 24 22 18 42 24 00 22 38 42
.byte $24, $21, $29, $C4, $24, $21, $36, $C4, $24, $21, $D0, $C4, $24, $22, $6C, $C4 ; CPU:$C780 PRG:0780 24 21 29 C4 24 21 36 C4 24 21 D0 C4 24 22 6C C4
.byte $24, $22, $73, $C4, $24, $23, $0F, $C3, $24, $00, $FF, $01, $01, $FF ; CPU:$C790 PRG:0790 24 22 73 C4 24 23 0F C3 24 00 FF 01 01 FF
; -----------------------------------------------------------------------------
; Routine: Reset
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
Reset:
sei ; CPU:$C79E PRG:079E 78
cld ; CPU:$C79F PRG:079F D8
lda #$10 ; CPU:$C7A0 PRG:07A0 A9 10
sta PPUCTRL ; CPU:$C7A2 PRG:07A2 8D 00 20
ldx #$FF ; CPU:$C7A5 PRG:07A5 A2 FF
txs ; CPU:$C7A7 PRG:07A7 9A
; -----------------------------------------------------------------------------
; Routine: Reset_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
Reset_Block:
lda PPUSTATUS ; CPU:$C7A8 PRG:07A8 AD 02 20
and #$80 ; CPU:$C7AB PRG:07AB 29 80
beq Reset_Block ; CPU:$C7AD PRG:07AD F0 F9
ldy #$07 ; CPU:$C7AF PRG:07AF A0 07
sty Zp01 ; CPU:$C7B1 PRG:07B1 84 01
ldy #$00 ; CPU:$C7B3 PRG:07B3 A0 00
sty Zp00 ; CPU:$C7B5 PRG:07B5 84 00
lda #$00 ; CPU:$C7B7 PRG:07B7 A9 00
; -----------------------------------------------------------------------------
; Routine: Reset_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
Reset_Block_1:
sta (Zp00),y ; CPU:$C7B9 PRG:07B9 91 00
dey ; CPU:$C7BB PRG:07BB 88
bne Reset_Block_1 ; CPU:$C7BC PRG:07BC D0 FB
dec Zp01 ; CPU:$C7BE PRG:07BE C6 01
bpl Reset_Block_1 ; CPU:$C7C0 PRG:07C0 10 F7
jsr $C7E7 ; CPU:$C7C2 PRG:07C2 20 E7 C7
lda #$7F ; CPU:$C7C5 PRG:07C5 A9 7F
sta $0511 ; CPU:$C7C7 PRG:07C7 8D 11 05
lda #$18 ; CPU:$C7CA PRG:07CA A9 18
sta Zp51 ; CPU:$C7CC PRG:07CC 85 51
lda #$01 ; CPU:$C7CE PRG:07CE A9 01
sta Zp4E ; CPU:$C7D0 PRG:07D0 85 4E
sta Zp55 ; CPU:$C7D2 PRG:07D2 85 55
lda #$00 ; CPU:$C7D4 PRG:07D4 A9 00
sta Zp4F ; CPU:$C7D6 PRG:07D6 85 4F
lda Zp10 ; CPU:$C7D8 PRG:07D8 A5 10
eor #$80 ; CPU:$C7DA PRG:07DA 49 80
sta PPUCTRL ; CPU:$C7DC PRG:07DC 8D 00 20
sta Zp10 ; CPU:$C7DF PRG:07DF 85 10
; -----------------------------------------------------------------------------
; Routine: GameLoopEntry
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
GameLoopEntry:
jsr $F4ED ; CPU:$C7E1 PRG:07E1 20 ED F4
jmp $C7E1 ; CPU:$C7E4 PRG:07E4 4C E1 C7
; -----------------------------------------------------------------------------
; Routine: InitPPURegisters
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitPPURegisters:
lda #$10 ; CPU:$C7E7 PRG:07E7 A9 10
sta PPUCTRL ; CPU:$C7E9 PRG:07E9 8D 00 20
sta Zp10 ; CPU:$C7EC PRG:07EC 85 10
lda #$06 ; CPU:$C7EE PRG:07EE A9 06
sta PPUMASK ; CPU:$C7F0 PRG:07F0 8D 01 20
sta Zp11 ; CPU:$C7F3 PRG:07F3 85 11
lda #$00 ; CPU:$C7F5 PRG:07F5 A9 00
sta PPUSCROLL ; CPU:$C7F7 PRG:07F7 8D 05 20
sta Zp12 ; CPU:$C7FA PRG:07FA 85 12
sta PPUSCROLL ; CPU:$C7FC PRG:07FC 8D 05 20
sta Zp13 ; CPU:$C7FF PRG:07FF 85 13
jsr $CBAE ; CPU:$C801 PRG:0801 20 AE CB
jmp $CBB7 ; CPU:$C804 PRG:0804 4C B7 CB
; -----------------------------------------------------------------------------
; Routine: LoadSpriteInitPointerToZp00
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadSpriteInitPointerToZp00:
tax ; CPU:$C807 PRG:0807 AA
lda $C4A7,x ; CPU:$C808 PRG:0808 BD A7 C4
sta Zp00 ; CPU:$C80B PRG:080B 85 00
lda $C4A8,x ; CPU:$C80D PRG:080D BD A8 C4
sta Zp01 ; CPU:$C810 PRG:0810 85 01
jmp $F228 ; CPU:$C812 PRG:0812 4C 28 F2
; -----------------------------------------------------------------------------
; Routine: LoadObjectPointerToZp02AndDraw
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadObjectPointerToZp02AndDraw:
tax ; CPU:$C815 PRG:0815 AA
lda $C03C,x ; CPU:$C816 PRG:0816 BD 3C C0
sta Zp02 ; CPU:$C819 PRG:0819 85 02
lda $C03D,x ; CPU:$C81B PRG:081B BD 3D C0
sta Zp03 ; CPU:$C81E PRG:081E 85 03
jmp $F2D7 ; CPU:$C820 PRG:0820 4C D7 F2
; -----------------------------------------------------------------------------
; Routine: LoadObjectPointerToZp00AndDraw
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadObjectPointerToZp00AndDraw:
tax ; CPU:$C823 PRG:0823 AA
lda $C03C,x ; CPU:$C824 PRG:0824 BD 3C C0
sta Zp00 ; CPU:$C827 PRG:0827 85 00
lda $C03D,x ; CPU:$C829 PRG:0829 BD 3D C0
sta Zp01 ; CPU:$C82C PRG:082C 85 01
jmp $CD76 ; CPU:$C82E PRG:082E 4C 76 CD
; -----------------------------------------------------------------------------
; Routine: LoadObjectAndLevelPointers
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadObjectAndLevelPointers:
tax ; CPU:$C831 PRG:0831 AA
lda $C03C,x ; CPU:$C832 PRG:0832 BD 3C C0
sta Zp04 ; CPU:$C835 PRG:0835 85 04
lda $C03D,x ; CPU:$C837 PRG:0837 BD 3D C0
sta Zp05 ; CPU:$C83A PRG:083A 85 05
lda $C044,x ; CPU:$C83C PRG:083C BD 44 C0
sta Zp06 ; CPU:$C83F PRG:083F 85 06
lda $C045,x ; CPU:$C841 PRG:0841 BD 45 C0
sta Zp07 ; CPU:$C844 PRG:0844 85 07
rts ; CPU:$C846 PRG:0846 60
; -----------------------------------------------------------------------------
; Routine: LoadObjectPointerToZp02
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadObjectPointerToZp02:
tax ; CPU:$C847 PRG:0847 AA
lda $C03C,x ; CPU:$C848 PRG:0848 BD 3C C0
sta Zp02 ; CPU:$C84B PRG:084B 85 02
lda $C03D,x ; CPU:$C84D PRG:084D BD 3D C0
sta Zp03 ; CPU:$C850 PRG:0850 85 03
rts ; CPU:$C852 PRG:0852 60
; -----------------------------------------------------------------------------
; Routine: LoadObjectPointerToZp08
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadObjectPointerToZp08:
tax ; CPU:$C853 PRG:0853 AA
lda $C03C,x ; CPU:$C854 PRG:0854 BD 3C C0
sta Zp08 ; CPU:$C857 PRG:0857 85 08
lda $C03D,x ; CPU:$C859 PRG:0859 BD 3D C0
sta Zp09 ; CPU:$C85C PRG:085C 85 09
rts ; CPU:$C85E PRG:085E 60
; -----------------------------------------------------------------------------
; Routine: NmiHandler
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiHandler:
pha ; CPU:$C85F PRG:085F 48
lda Zp10 ; CPU:$C860 PRG:0860 A5 10
and #$7F ; CPU:$C862 PRG:0862 29 7F
sta PPUCTRL ; CPU:$C864 PRG:0864 8D 00 20
sta Zp10 ; CPU:$C867 PRG:0867 85 10
lda #$00 ; CPU:$C869 PRG:0869 A9 00
sta OAMADDR ; CPU:$C86B PRG:086B 8D 03 20
lda #$02 ; CPU:$C86E PRG:086E A9 02
sta OAMDMA ; CPU:$C870 PRG:0870 8D 14 40
lda #$31 ; CPU:$C873 PRG:0873 A9 31
sta Zp00 ; CPU:$C875 PRG:0875 85 00
lda #$03 ; CPU:$C877 PRG:0877 A9 03
sta Zp01 ; CPU:$C879 PRG:0879 85 01
jsr $F228 ; CPU:$C87B PRG:087B 20 28 F2
lda #$00 ; CPU:$C87E PRG:087E A9 00
sta $0330 ; CPU:$C880 PRG:0880 8D 30 03
sta $0331 ; CPU:$C883 PRG:0883 8D 31 03
jsr $F50E ; CPU:$C886 PRG:0886 20 0E F5
lda Zp11 ; CPU:$C889 PRG:0889 A5 11
eor #$18 ; CPU:$C88B PRG:088B 49 18
sta PPUMASK ; CPU:$C88D PRG:088D 8D 01 20
jsr $FA48 ; CPU:$C890 PRG:0890 20 48 FA
lda Zp4E ; CPU:$C893 PRG:0893 A5 4E
bne NmiFrameUpdate ; CPU:$C895 PRG:0895 D0 2A
lda Zp4F ; CPU:$C897 PRG:0897 A5 4F
beq NmiFrameUpdate3 ; CPU:$C899 PRG:0899 F0 39
lda Zp9A ; CPU:$C89B PRG:089B A5 9A
bne NmiHandler_Block ; CPU:$C89D PRG:089D D0 06
jsr $CE7C ; CPU:$C89F PRG:089F 20 7C CE
jmp $C8D7 ; CPU:$C8A2 PRG:08A2 4C D7 C8
; -----------------------------------------------------------------------------
; Routine: NmiHandler_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiHandler_Block:
lda $044F ; CPU:$C8A5 PRG:08A5 AD 4F 04
cmp #$08 ; CPU:$C8A8 PRG:08A8 C9 08
bne NmiFrameUpdate3 ; CPU:$C8AA PRG:08AA D0 28
jsr $CCF4 ; CPU:$C8AC PRG:08AC 20 F4 CC
lda Zp43 ; CPU:$C8AF PRG:08AF A5 43
bne NmiFrameUpdate4 ; CPU:$C8B1 PRG:08B1 D0 24
lda #$00 ; CPU:$C8B3 PRG:08B3 A9 00
sta $044F ; CPU:$C8B5 PRG:08B5 8D 4F 04
sta Zp4F ; CPU:$C8B8 PRG:08B8 85 4F
lda #$79 ; CPU:$C8BA PRG:08BA A9 79
sta Zp43 ; CPU:$C8BC PRG:08BC 85 43
jmp $C8D7 ; CPU:$C8BE PRG:08BE 4C D7 C8
; -----------------------------------------------------------------------------
; Routine: NmiFrameUpdate
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiFrameUpdate:
lda Zp55 ; CPU:$C8C1 PRG:08C1 A5 55
bne NmiFrameUpdate2 ; CPU:$C8C3 PRG:08C3 D0 06
jsr $CA30 ; CPU:$C8C5 PRG:08C5 20 30 CA
jmp $C8D7 ; CPU:$C8C8 PRG:08C8 4C D7 C8
; -----------------------------------------------------------------------------
; Routine: NmiFrameUpdate2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiFrameUpdate2:
jsr $C8F3 ; CPU:$C8CB PRG:08CB 20 F3 C8
jsr $F4AC ; CPU:$C8CE PRG:08CE 20 AC F4
jmp $C8D7 ; CPU:$C8D1 PRG:08D1 4C D7 C8
; -----------------------------------------------------------------------------
; Routine: NmiFrameUpdate3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiFrameUpdate3:
jsr $CAC9 ; CPU:$C8D4 PRG:08D4 20 C9 CA
; -----------------------------------------------------------------------------
; Routine: NmiFrameUpdate4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiFrameUpdate4:
lda $0505 ; CPU:$C8D7 PRG:08D7 AD 05 05
cmp #$01 ; CPU:$C8DA PRG:08DA C9 01
bne NmiFrameEnd ; CPU:$C8DC PRG:08DC D0 0A
lda Zp51 ; CPU:$C8DE PRG:08DE A5 51
sta Zp00 ; CPU:$C8E0 PRG:08E0 85 00
jsr $F23C ; CPU:$C8E2 PRG:08E2 20 3C F2
dec $0505 ; CPU:$C8E5 PRG:08E5 CE 05 05
; -----------------------------------------------------------------------------
; Routine: NmiFrameEnd
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
NmiFrameEnd:
lda Zp10 ; CPU:$C8E8 PRG:08E8 A5 10
eor #$80 ; CPU:$C8EA PRG:08EA 49 80
sta PPUCTRL ; CPU:$C8EC PRG:08EC 8D 00 20
sta Zp10 ; CPU:$C8EF PRG:08EF 85 10
pla ; CPU:$C8F1 PRG:08F1 68
rti ; CPU:$C8F2 PRG:08F2 40
; -----------------------------------------------------------------------------
; Routine: InitAPU
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitAPU:
lda $0102 ; CPU:$C8F3 PRG:08F3 AD 02 01
bne InitSound_1 ; CPU:$C8F6 PRG:08F6 D0 06
sta APUSTATUS ; CPU:$C8F8 PRG:08F8 8D 15 40
sta $0100 ; CPU:$C8FB PRG:08FB 8D 00 01
; -----------------------------------------------------------------------------
; Routine: InitSound_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSound_1:
lda $0518 ; CPU:$C8FE PRG:08FE AD 18 05
bne InitLevel ; CPU:$C901 PRG:0901 D0 11
lda #$80 ; CPU:$C903 PRG:0903 A9 80
sta ZpFD ; CPU:$C905 PRG:0905 85 FD
lda #$04 ; CPU:$C907 PRG:0907 A9 04
sta $0518 ; CPU:$C909 PRG:0909 8D 18 05
lda #$0F ; CPU:$C90C PRG:090C A9 0F
sta APUSTATUS ; CPU:$C90E PRG:090E 8D 15 40
sta $0100 ; CPU:$C911 PRG:0911 8D 00 01
; -----------------------------------------------------------------------------
; Routine: InitLevel
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitLevel:
lda $0510 ; CPU:$C914 PRG:0914 AD 10 05
bne UpdateGameState ; CPU:$C917 PRG:0917 D0 27
jsr $D19A ; CPU:$C919 PRG:0919 20 9A D1
lda #$08 ; CPU:$C91C PRG:091C A9 08
jsr $C807 ; CPU:$C91E PRG:091E 20 07 C8
lda $0511 ; CPU:$C921 PRG:0921 AD 11 05
sta $0200 ; CPU:$C924 PRG:0924 8D 00 02
lda #$A2 ; CPU:$C927 PRG:0927 A9 A2
sta $0201 ; CPU:$C929 PRG:0929 8D 01 02
lda #$00 ; CPU:$C92C PRG:092C A9 00
sta $0202 ; CPU:$C92E PRG:092E 8D 02 02
sta Zp58 ; CPU:$C931 PRG:0931 85 58
lda #$38 ; CPU:$C933 PRG:0933 A9 38
sta $0203 ; CPU:$C935 PRG:0935 8D 03 02
sta $0510 ; CPU:$C938 PRG:0938 8D 10 05
lda #$20 ; CPU:$C93B PRG:093B A9 20
sta Zp44 ; CPU:$C93D PRG:093D 85 44
rts ; CPU:$C93F PRG:093F 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState:
lda Zp15 ; CPU:$C940 PRG:0940 A5 15
and #$20 ; CPU:$C942 PRG:0942 29 20
bne UpdateGameState2 ; CPU:$C944 PRG:0944 D0 17
lda Zp15 ; CPU:$C946 PRG:0946 A5 15
and #$10 ; CPU:$C948 PRG:0948 29 10
bne UpdateGameState3 ; CPU:$C94A PRG:094A D0 3E
lda #$00 ; CPU:$C94C PRG:094C A9 00
sta $0512 ; CPU:$C94E PRG:094E 8D 12 05
lda Zp44 ; CPU:$C951 PRG:0951 A5 44
bne UpdateGameState_Block ; CPU:$C953 PRG:0953 D0 07
lda #$01 ; CPU:$C955 PRG:0955 A9 01
sta Zp58 ; CPU:$C957 PRG:0957 85 58
jmp $C9B1 ; CPU:$C959 PRG:0959 4C B1 C9
; -----------------------------------------------------------------------------
; Routine: UpdateGameState_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState_Block:
rts ; CPU:$C95C PRG:095C 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState2:
lda #$40 ; CPU:$C95D PRG:095D A9 40
sta Zp44 ; CPU:$C95F PRG:095F 85 44
lda $0512 ; CPU:$C961 PRG:0961 AD 12 05
bne UpdateGameState2_Block_1 ; CPU:$C964 PRG:0964 D0 1F
lda #$40 ; CPU:$C966 PRG:0966 A9 40
sta Zp35 ; CPU:$C968 PRG:0968 85 35
lda $0200 ; CPU:$C96A PRG:096A AD 00 02
clc ; CPU:$C96D PRG:096D 18
adc #$10 ; CPU:$C96E PRG:096E 69 10
cmp #$BF ; CPU:$C970 PRG:0970 C9 BF
bne UpdateGameState2_Block ; CPU:$C972 PRG:0972 D0 02
lda #$7F ; CPU:$C974 PRG:0974 A9 7F
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState2_Block:
sta $0200 ; CPU:$C976 PRG:0976 8D 00 02
sta $0511 ; CPU:$C979 PRG:0979 8D 11 05
inc $0512 ; CPU:$C97C PRG:097C EE 12 05
lda #$0A ; CPU:$C97F PRG:097F A9 0A
sta $0513 ; CPU:$C981 PRG:0981 8D 13 05
rts ; CPU:$C984 PRG:0984 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState2_Block_1:
lda Zp35 ; CPU:$C985 PRG:0985 A5 35
bne UpdateGameState2_Block_2 ; CPU:$C987 PRG:0987 D0 00
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState2_Block_2:
rts ; CPU:$C989 PRG:0989 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState3:
sta $0514 ; CPU:$C98A PRG:098A 8D 14 05
ldx #$0A ; CPU:$C98D PRG:098D A2 0A
lda #$00 ; CPU:$C98F PRG:098F A9 00
; -----------------------------------------------------------------------------
; Routine: UpdateGameState3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState3_Block:
sta Zp24,x ; CPU:$C991 PRG:0991 95 24
dex ; CPU:$C993 PRG:0993 CA
bne UpdateGameState3_Block ; CPU:$C994 PRG:0994 D0 FB
lda $0511 ; CPU:$C996 PRG:0996 AD 11 05
lsr a ; CPU:$C999 PRG:0999 4A
lsr a ; CPU:$C99A PRG:099A 4A
lsr a ; CPU:$C99B PRG:099B 4A
lsr a ; CPU:$C99C PRG:099C 4A
sec ; CPU:$C99D PRG:099D 38
sbc #$07 ; CPU:$C99E PRG:099E E9 07
sta Zp50 ; CPU:$C9A0 PRG:09A0 85 50
cmp #$02 ; CPU:$C9A2 PRG:09A2 C9 02
bmi UpdateGameState3_Block_1 ; CPU:$C9A4 PRG:09A4 30 07
lda #$1C ; CPU:$C9A6 PRG:09A6 A9 1C
sta Zp51 ; CPU:$C9A8 PRG:09A8 85 51
jmp $C9B1 ; CPU:$C9AA PRG:09AA 4C B1 C9
; -----------------------------------------------------------------------------
; Routine: UpdateGameState3_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState3_Block_1:
lda #$18 ; CPU:$C9AD PRG:09AD A9 18
sta Zp51 ; CPU:$C9AF PRG:09AF 85 51
; -----------------------------------------------------------------------------
; Routine: InitGameState
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitGameState:
lda Zp50 ; CPU:$C9B1 PRG:09B1 A5 50
and #$01 ; CPU:$C9B3 PRG:09B3 29 01
asl a ; CPU:$C9B5 PRG:09B5 0A
tax ; CPU:$C9B6 PRG:09B6 AA
lda $0507,x ; CPU:$C9B7 PRG:09B7 BD 07 05
sta Zp21 ; CPU:$C9BA PRG:09BA 85 21
lda $0508,x ; CPU:$C9BC PRG:09BC BD 08 05
sta Zp22 ; CPU:$C9BF PRG:09BF 85 22
lda #$0F ; CPU:$C9C1 PRG:09C1 A9 0F
sta Zp18 ; CPU:$C9C3 PRG:09C3 85 18
lda #$13 ; CPU:$C9C5 PRG:09C5 A9 13
sta Zp19 ; CPU:$C9C7 PRG:09C7 85 19
lda #$00 ; CPU:$C9C9 PRG:09C9 A9 00
sta Zp4E ; CPU:$C9CB PRG:09CB 85 4E
sta $0406 ; CPU:$C9CD PRG:09CD 8D 06 04
sta $0407 ; CPU:$C9D0 PRG:09D0 8D 07 04
sta Zp4F ; CPU:$C9D3 PRG:09D3 85 4F
sta $0510 ; CPU:$C9D5 PRG:09D5 8D 10 05
sta $050B ; CPU:$C9D8 PRG:09D8 8D 0B 05
sta $0512 ; CPU:$C9DB PRG:09DB 8D 12 05
lda #$01 ; CPU:$C9DE PRG:09DE A9 01
sta Zp53 ; CPU:$C9E0 PRG:09E0 85 53
sta $0400 ; CPU:$C9E2 PRG:09E2 8D 00 04
sta $0401 ; CPU:$C9E5 PRG:09E5 8D 01 04
lda #$00 ; CPU:$C9E8 PRG:09E8 A9 00
sta Zp54 ; CPU:$C9EA PRG:09EA 85 54
sta $0402 ; CPU:$C9EC PRG:09EC 8D 02 04
sta $0403 ; CPU:$C9EF PRG:09EF 8D 03 04
lda #$00 ; CPU:$C9F2 PRG:09F2 A9 00
sta Zp52 ; CPU:$C9F4 PRG:09F4 85 52
sta $0408 ; CPU:$C9F6 PRG:09F6 8D 08 04
sta $0409 ; CPU:$C9F9 PRG:09F9 8D 09 04
sta ZpFC ; CPU:$C9FC PRG:09FC 85 FC
lda #$03 ; CPU:$C9FE PRG:09FE A9 03
ldx Zp58 ; CPU:$CA00 PRG:0A00 A6 58
beq InitGameState_Block ; CPU:$CA02 PRG:0A02 F0 02
lda #$01 ; CPU:$CA04 PRG:0A04 A9 01
; -----------------------------------------------------------------------------
; Routine: InitGameState_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitGameState_Block:
sta Zp55 ; CPU:$CA06 PRG:0A06 85 55
sta $0404 ; CPU:$CA08 PRG:0A08 8D 04 04
sta $0405 ; CPU:$CA0B PRG:0A0B 8D 05 04
sta $040B ; CPU:$CA0E PRG:0A0E 8D 0B 04
lda Zp58 ; CPU:$CA11 PRG:0A11 A5 58
bne InitGameState_Block_1 ; CPU:$CA13 PRG:0A13 D0 11
lda #$97 ; CPU:$CA15 PRG:0A15 A9 97
sta Zp43 ; CPU:$CA17 PRG:0A17 85 43
lda #$01 ; CPU:$CA19 PRG:0A19 A9 01
sta ZpFD ; CPU:$CA1B PRG:0A1B 85 FD
lda #$0F ; CPU:$CA1D PRG:0A1D A9 0F
sta APUSTATUS ; CPU:$CA1F PRG:0A1F 8D 15 40
sta $0100 ; CPU:$CA22 PRG:0A22 8D 00 01
rts ; CPU:$CA25 PRG:0A25 60
; -----------------------------------------------------------------------------
; Routine: InitGameState_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitGameState_Block_1:
dec $0518 ; CPU:$CA26 PRG:0A26 CE 18 05
lda #$75 ; CPU:$CA29 PRG:0A29 A9 75
sta Zp43 ; CPU:$CA2B PRG:0A2B 85 43
jmp $CBAE ; CPU:$CA2D PRG:0A2D 4C AE CB
; -----------------------------------------------------------------------------
; Routine: UpdateSprites
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites:
jsr $F4AC ; CPU:$CA30 PRG:0A30 20 AC F4
lda Zp58 ; CPU:$CA33 PRG:0A33 A5 58
bne UpdateSprites_Block ; CPU:$CA35 PRG:0A35 D0 13
lda Zp43 ; CPU:$CA37 PRG:0A37 A5 43
cmp #$75 ; CPU:$CA39 PRG:0A39 C9 75
beq UpdateSprites_Block_1 ; CPU:$CA3B PRG:0A3B F0 1D
cmp #$74 ; CPU:$CA3D PRG:0A3D C9 74
beq UpdateSprites_Block_2 ; CPU:$CA3F PRG:0A3F F0 1E
cmp #$73 ; CPU:$CA41 PRG:0A41 C9 73
beq UpdateSprites_Block_3 ; CPU:$CA43 PRG:0A43 F0 1F
cmp #$5F ; CPU:$CA45 PRG:0A45 C9 5F
beq UpdateSprites_Block_4 ; CPU:$CA47 PRG:0A47 F0 30
rts ; CPU:$CA49 PRG:0A49 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block:
sta Zp55 ; CPU:$CA4A PRG:0A4A 85 55
lda #$00 ; CPU:$CA4C PRG:0A4C A9 00
sta Zp58 ; CPU:$CA4E PRG:0A4E 85 58
sta $0510 ; CPU:$CA50 PRG:0A50 8D 10 05
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites2:
jsr $CBB7 ; CPU:$CA53 PRG:0A53 20 B7 CB
jsr $CBAE ; CPU:$CA56 PRG:0A56 20 AE CB
rts ; CPU:$CA59 PRG:0A59 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block_1:
dec Zp43 ; CPU:$CA5A PRG:0A5A C6 43
jmp $CBAE ; CPU:$CA5C PRG:0A5C 4C AE CB
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block_2:
dec Zp43 ; CPU:$CA5F PRG:0A5F C6 43
jmp $CBCA ; CPU:$CA61 PRG:0A61 4C CA CB
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block_3:
dec Zp43 ; CPU:$CA64 PRG:0A64 C6 43
lda Zp50 ; CPU:$CA66 PRG:0A66 A5 50
and #$01 ; CPU:$CA68 PRG:0A68 29 01
asl a ; CPU:$CA6A PRG:0A6A 0A
tax ; CPU:$CA6B PRG:0A6B AA
lda Zp21 ; CPU:$CA6C PRG:0A6C A5 21
sta $0507,x ; CPU:$CA6E PRG:0A6E 9D 07 05
lda Zp22 ; CPU:$CA71 PRG:0A71 A5 22
sta $0508,x ; CPU:$CA73 PRG:0A73 9D 08 05
jmp $CBF5 ; CPU:$CA76 PRG:0A76 4C F5 CB
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block_4:
ldx Zp52 ; CPU:$CA79 PRG:0A79 A6 52
lda #$01 ; CPU:$CA7B PRG:0A7B A9 01
sta $0406,x ; CPU:$CA7D PRG:0A7D 9D 06 04
sta Zp4E ; CPU:$CA80 PRG:0A80 85 4E
lda Zp51 ; CPU:$CA82 PRG:0A82 A5 51
cmp #$1C ; CPU:$CA84 PRG:0A84 C9 1C
bne UpdateSprites_Block_5 ; CPU:$CA86 PRG:0A86 D0 0C
lda Zp52 ; CPU:$CA88 PRG:0A88 A5 52
eor #$01 ; CPU:$CA8A PRG:0A8A 49 01
tax ; CPU:$CA8C PRG:0A8C AA
lda $0406,x ; CPU:$CA8D PRG:0A8D BD 06 04
sta Zp4E ; CPU:$CA90 PRG:0A90 85 4E
beq UpdateSprites_Block_6 ; CPU:$CA92 PRG:0A92 F0 05
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block_5:
sta Zp55 ; CPU:$CA94 PRG:0A94 85 55
jmp $CA53 ; CPU:$CA96 PRG:0A96 4C 53 CA
; -----------------------------------------------------------------------------
; Routine: UpdateSprites_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites_Block_6:
lda #$85 ; CPU:$CA99 PRG:0A99 A9 85
sta Zp43 ; CPU:$CA9B PRG:0A9B 85 43
sta $040B ; CPU:$CA9D PRG:0A9D 8D 0B 04
ldy #$00 ; CPU:$CAA0 PRG:0AA0 A0 00
sty Zp4F ; CPU:$CAA2 PRG:0AA2 84 4F
stx Zp52 ; CPU:$CAA4 PRG:0AA4 86 52
jmp $CAA9 ; CPU:$CAA6 PRG:0AA6 4C A9 CA
; -----------------------------------------------------------------------------
; Routine: CopyToOAM
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CopyToOAM:
ldy #$00 ; CPU:$CAA9 PRG:0AA9 A0 00
; -----------------------------------------------------------------------------
; Routine: CopyToOAM_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CopyToOAM_Block:
lda $0400,x ; CPU:$CAAB PRG:0AAB BD 00 04
sta a:Zp53,y ; CPU:$CAAE PRG:0AAE 99 53 00
inx ; CPU:$CAB1 PRG:0AB1 E8
inx ; CPU:$CAB2 PRG:0AB2 E8
iny ; CPU:$CAB3 PRG:0AB3 C8
cpy #$03 ; CPU:$CAB4 PRG:0AB4 C0 03
bne CopyToOAM_Block ; CPU:$CAB6 PRG:0AB6 D0 F3
rts ; CPU:$CAB8 PRG:0AB8 60
; -----------------------------------------------------------------------------
; Routine: CopyFromOAM
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CopyFromOAM:
ldy #$00 ; CPU:$CAB9 PRG:0AB9 A0 00
; -----------------------------------------------------------------------------
; Routine: CopyFromOAM_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CopyFromOAM_Block:
lda a:Zp53,y ; CPU:$CABB PRG:0ABB B9 53 00
sta $0400,x ; CPU:$CABE PRG:0ABE 9D 00 04
inx ; CPU:$CAC1 PRG:0AC1 E8
inx ; CPU:$CAC2 PRG:0AC2 E8
iny ; CPU:$CAC3 PRG:0AC3 C8
cpy #$03 ; CPU:$CAC4 PRG:0AC4 C0 03
bne CopyFromOAM_Block ; CPU:$CAC6 PRG:0AC6 D0 F3
rts ; CPU:$CAC8 PRG:0AC8 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData:
jsr $F4AC ; CPU:$CAC9 PRG:0AC9 20 AC F4
lda Zp53 ; CPU:$CACC PRG:0ACC A5 53
cmp #$01 ; CPU:$CACE PRG:0ACE C9 01
beq UpdateSpriteData_Block ; CPU:$CAD0 PRG:0AD0 F0 06
lda Zp43 ; CPU:$CAD2 PRG:0AD2 A5 43
cmp #$84 ; CPU:$CAD4 PRG:0AD4 C9 84
beq UpdateSpriteData_Block_4 ; CPU:$CAD6 PRG:0AD6 F0 2A
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block:
lda Zp43 ; CPU:$CAD8 PRG:0AD8 A5 43
cmp #$72 ; CPU:$CADA PRG:0ADA C9 72
bcs UpdateSpriteData_Block_6 ; CPU:$CADC PRG:0ADC B0 3A
cmp #$6D ; CPU:$CADE PRG:0ADE C9 6D
beq UpdateSpriteData_Block_1 ; CPU:$CAE0 PRG:0AE0 F0 05
cmp #$62 ; CPU:$CAE2 PRG:0AE2 C9 62
beq UpdateSpriteData_Block_3 ; CPU:$CAE4 PRG:0AE4 F0 14
rts ; CPU:$CAE6 PRG:0AE6 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block_1:
lda $040B ; CPU:$CAE7 PRG:0AE7 AD 0B 04
beq UpdateSpriteData_Block_2 ; CPU:$CAEA PRG:0AEA F0 0A
lda #$00 ; CPU:$CAEC PRG:0AEC A9 00
sta $040B ; CPU:$CAEE PRG:0AEE 8D 0B 04
dec Zp55 ; CPU:$CAF1 PRG:0AF1 C6 55
jsr $CBBD ; CPU:$CAF3 PRG:0AF3 20 BD CB
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block_2:
jsr $CC34 ; CPU:$CAF6 PRG:0AF6 20 34 CC
rts ; CPU:$CAF9 PRG:0AF9 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block_3:
lda #$01 ; CPU:$CAFA PRG:0AFA A9 01
sta Zp4F ; CPU:$CAFC PRG:0AFC 85 4F
jsr $CC47 ; CPU:$CAFE PRG:0AFE 20 47 CC
rts ; CPU:$CB01 PRG:0B01 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block_4:
ldx Zp52 ; CPU:$CB02 PRG:0B02 A6 52
lda Zp53 ; CPU:$CB04 PRG:0B04 A5 53
cmp $0400,x ; CPU:$CB06 PRG:0B06 DD 00 04
beq UpdateSpriteData_Block_5 ; CPU:$CB09 PRG:0B09 F0 0A
cmp #$01 ; CPU:$CB0B PRG:0B0B C9 01
beq UpdateSpriteData_Block_5 ; CPU:$CB0D PRG:0B0D F0 06
jsr $CC24 ; CPU:$CB0F PRG:0B0F 20 24 CC
jsr $CC04 ; CPU:$CB12 PRG:0B12 20 04 CC
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block_5:
dec Zp43 ; CPU:$CB15 PRG:0B15 C6 43
rts ; CPU:$CB17 PRG:0B17 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpriteData_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpriteData_Block_6:
jmp $CB1B ; CPU:$CB18 PRG:0B18 4C 1B CB
; -----------------------------------------------------------------------------
; Routine: HandleController
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController:
cmp #$7A ; CPU:$CB1B PRG:0B1B C9 7A
beq HandleController_Block ; CPU:$CB1D PRG:0B1D F0 11
cmp #$75 ; CPU:$CB1F PRG:0B1F C9 75
beq HandleController_Block_2 ; CPU:$CB21 PRG:0B21 F0 16
cmp #$74 ; CPU:$CB23 PRG:0B23 C9 74
beq HandleController_Block_1 ; CPU:$CB25 PRG:0B25 F0 0F
cmp #$73 ; CPU:$CB27 PRG:0B27 C9 73
beq HandleController_Block_5 ; CPU:$CB29 PRG:0B29 F0 2D
cmp #$72 ; CPU:$CB2B PRG:0B2B C9 72
beq HandleController_Block_4 ; CPU:$CB2D PRG:0B2D F0 18
rts ; CPU:$CB2F PRG:0B2F 60
; -----------------------------------------------------------------------------
; Routine: HandleController_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block:
jsr $CA53 ; CPU:$CB30 PRG:0B30 20 53 CA
jsr $CBCA ; CPU:$CB33 PRG:0B33 20 CA CB
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_1:
dec Zp43 ; CPU:$CB36 PRG:0B36 C6 43
rts ; CPU:$CB38 PRG:0B38 60
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_2:
jsr $CBB7 ; CPU:$CB39 PRG:0B39 20 B7 CB
dec Zp43 ; CPU:$CB3C PRG:0B3C C6 43
lda Zp58 ; CPU:$CB3E PRG:0B3E A5 58
bne HandleController_Block_3 ; CPU:$CB40 PRG:0B40 D0 04
lda #$08 ; CPU:$CB42 PRG:0B42 A9 08
sta ZpFD ; CPU:$CB44 PRG:0B44 85 FD
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_3:
rts ; CPU:$CB46 PRG:0B46 60
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_4:
dec Zp43 ; CPU:$CB47 PRG:0B47 C6 43
ldx Zp53 ; CPU:$CB49 PRG:0B49 A6 53
dex ; CPU:$CB4B PRG:0B4B CA
lda $C608,x ; CPU:$CB4C PRG:0B4C BD 08 C6
sta Zp00 ; CPU:$CB4F PRG:0B4F 85 00
lda #$20 ; CPU:$CB51 PRG:0B51 A9 20
sta Zp01 ; CPU:$CB53 PRG:0B53 85 01
jmp $EBA6 ; CPU:$CB55 PRG:0B55 4C A6 EB
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_5:
jsr $D19A ; CPU:$CB58 PRG:0B58 20 9A D1
ldx Zp53 ; CPU:$CB5B PRG:0B5B A6 53
dex ; CPU:$CB5D PRG:0B5D CA
txa ; CPU:$CB5E PRG:0B5E 8A
asl a ; CPU:$CB5F PRG:0B5F 0A
jsr $C807 ; CPU:$CB60 PRG:0B60 20 07 C8
lda #$0A ; CPU:$CB63 PRG:0B63 A9 0A
jsr $C807 ; CPU:$CB65 PRG:0B65 20 07 C8
lda Zp51 ; CPU:$CB68 PRG:0B68 A5 51
cmp #$1C ; CPU:$CB6A PRG:0B6A C9 1C
beq HandleController_Block_6 ; CPU:$CB6C PRG:0B6C F0 0D
lda #$76 ; CPU:$CB6E PRG:0B6E A9 76
sta Zp00 ; CPU:$CB70 PRG:0B70 85 00
lda #$20 ; CPU:$CB72 PRG:0B72 A9 20
sta Zp01 ; CPU:$CB74 PRG:0B74 85 01
lda #$04 ; CPU:$CB76 PRG:0B76 A9 04
jsr $C815 ; CPU:$CB78 PRG:0B78 20 15 C8
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_6:
lda #$01 ; CPU:$CB7B PRG:0B7B A9 01
sta $0505 ; CPU:$CB7D PRG:0B7D 8D 05 05
jsr $D032 ; CPU:$CB80 PRG:0B80 20 32 D0
jsr $CBBD ; CPU:$CB83 PRG:0B83 20 BD CB
lda #$BC ; CPU:$CB86 PRG:0B86 A9 BC
sta Zp00 ; CPU:$CB88 PRG:0B88 85 00
ldy Zp54 ; CPU:$CB8A PRG:0B8A A4 54
iny ; CPU:$CB8C PRG:0B8C C8
jsr $F4C2 ; CPU:$CB8D PRG:0B8D 20 C2 F4
lda #$00 ; CPU:$CB90 PRG:0B90 A9 00
sta Zp2C ; CPU:$CB92 PRG:0B92 85 2C
lda #$80 ; CPU:$CB94 PRG:0B94 A9 80
dey ; CPU:$CB96 PRG:0B96 88
cpy #$04 ; CPU:$CB97 PRG:0B97 C0 04
bpl HandleController_Block_7 ; CPU:$CB99 PRG:0B99 10 03
lda $C207,y ; CPU:$CB9B PRG:0B9B B9 07 C2
; -----------------------------------------------------------------------------
; Routine: HandleController_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleController_Block_7:
sta Zp2E ; CPU:$CB9E PRG:0B9E 85 2E
lda #$0D ; CPU:$CBA0 PRG:0BA0 A9 0D
sta Zp45 ; CPU:$CBA2 PRG:0BA2 85 45
lda #$02 ; CPU:$CBA4 PRG:0BA4 A9 02
sta Zp00 ; CPU:$CBA6 PRG:0BA6 85 00
jsr $F23C ; CPU:$CBA8 PRG:0BA8 20 3C F2
dec Zp43 ; CPU:$CBAB PRG:0BAB C6 43
rts ; CPU:$CBAD PRG:0BAD 60
; -----------------------------------------------------------------------------
; Routine: ClearZeropage
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ClearZeropage:
lda #$00 ; CPU:$CBAE PRG:0BAE A9 00
sta Zp04 ; CPU:$CBB0 PRG:0BB0 85 04
lda #$FF ; CPU:$CBB2 PRG:0BB2 A9 FF
jmp $F092 ; CPU:$CBB4 PRG:0BB4 4C 92 F0
; -----------------------------------------------------------------------------
; Routine: WaitVBlank_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WaitVBlank_1:
jsr $D19A ; CPU:$CBB7 PRG:0BB7 20 9A D1
jmp $F1B4 ; CPU:$CBBA PRG:0BBA 4C B4 F1
; -----------------------------------------------------------------------------
; Routine: UpdateScroll
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll:
lda #$B5 ; CPU:$CBBD PRG:0BBD A9 B5
sta Zp00 ; CPU:$CBBF PRG:0BBF 85 00
lda #$20 ; CPU:$CBC1 PRG:0BC1 A9 20
sta Zp01 ; CPU:$CBC3 PRG:0BC3 85 01
ldy Zp55 ; CPU:$CBC5 PRG:0BC5 A4 55
jmp $F4C2 ; CPU:$CBC7 PRG:0BC7 4C C2 F4
; -----------------------------------------------------------------------------
; Routine: UpdateScroll2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll2:
lda Zp58 ; CPU:$CBCA PRG:0BCA A5 58
bne UpdateScroll3 ; CPU:$CBCC PRG:0BCC D0 26
lda Zp51 ; CPU:$CBCE PRG:0BCE A5 51
cmp #$1C ; CPU:$CBD0 PRG:0BD0 C9 1C
bne UpdateScroll3 ; CPU:$CBD2 PRG:0BD2 D0 20
ldx Zp52 ; CPU:$CBD4 PRG:0BD4 A6 52
lda Zp53 ; CPU:$CBD6 PRG:0BD6 A5 53
cmp $0400,x ; CPU:$CBD8 PRG:0BD8 DD 00 04
bne UpdateScroll3 ; CPU:$CBDB PRG:0BDB D0 17
ldy #$00 ; CPU:$CBDD PRG:0BDD A0 00
; -----------------------------------------------------------------------------
; Routine: CopyVramDataToBuffer
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CopyVramDataToBuffer:
lda $C6AA,y ; CPU:$CBDF PRG:0BDF B9 AA C6
sta $0331,y ; CPU:$CBE2 PRG:0BE2 99 31 03
beq CopyVramDataToBuffer_Block ; CPU:$CBE5 PRG:0BE5 F0 04
iny ; CPU:$CBE7 PRG:0BE7 C8
jmp $CBDF ; CPU:$CBE8 PRG:0BE8 4C DF CB
; -----------------------------------------------------------------------------
; Routine: CopyVramDataToBuffer_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CopyVramDataToBuffer_Block:
lda Zp52 ; CPU:$CBEB PRG:0BEB A5 52
beq UpdateScroll3 ; CPU:$CBED PRG:0BED F0 05
lda #$67 ; CPU:$CBEF PRG:0BEF A9 67
sta $0345 ; CPU:$CBF1 PRG:0BF1 8D 45 03
; -----------------------------------------------------------------------------
; Routine: UpdateScroll3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll3:
rts ; CPU:$CBF4 PRG:0BF4 60
; -----------------------------------------------------------------------------
; Routine: UpdateOAM
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateOAM:
ldy #$00 ; CPU:$CBF5 PRG:0BF5 A0 00
; -----------------------------------------------------------------------------
; Routine: UpdateOAM2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateOAM2:
lda $C6C2,y ; CPU:$CBF7 PRG:0BF7 B9 C2 C6
sta $0331,y ; CPU:$CBFA PRG:0BFA 99 31 03
beq UpdateOAM3 ; CPU:$CBFD PRG:0BFD F0 04
iny ; CPU:$CBFF PRG:0BFF C8
jmp $CBF7 ; CPU:$CC00 PRG:0C00 4C F7 CB
; -----------------------------------------------------------------------------
; Routine: UpdateOAM3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateOAM3:
rts ; CPU:$CC03 PRG:0C03 60
; -----------------------------------------------------------------------------
; Routine: UpdateScroll4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll4:
lda Zp58 ; CPU:$CC04 PRG:0C04 A5 58
bne UpdateScroll5 ; CPU:$CC06 PRG:0C06 D0 1B
ldx Zp52 ; CPU:$CC08 PRG:0C08 A6 52
lda $0408,x ; CPU:$CC0A PRG:0C0A BD 08 04
bne UpdateScroll5 ; CPU:$CC0D PRG:0C0D D0 14
txa ; CPU:$CC0F PRG:0C0F 8A
tay ; CPU:$CC10 PRG:0C10 A8
clc ; CPU:$CC11 PRG:0C11 18
asl a ; CPU:$CC12 PRG:0C12 0A
asl a ; CPU:$CC13 PRG:0C13 0A
tax ; CPU:$CC14 PRG:0C14 AA
lda Zp25,x ; CPU:$CC15 PRG:0C15 B5 25
cmp #$02 ; CPU:$CC17 PRG:0C17 C9 02
bcc UpdateScroll5 ; CPU:$CC19 PRG:0C19 90 08
sta $0408,y ; CPU:$CC1B PRG:0C1B 99 08 04
inc Zp55 ; CPU:$CC1E PRG:0C1E E6 55
jsr $CBBD ; CPU:$CC20 PRG:0C20 20 BD CB
; -----------------------------------------------------------------------------
; Routine: UpdateScroll5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll5:
rts ; CPU:$CC23 PRG:0C23 60
; -----------------------------------------------------------------------------
; Routine: SubCCC24
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCC24:
lda Zp2E ; CPU:$CC24 PRG:0C24 A5 2E
sta Zp00 ; CPU:$CC26 PRG:0C26 85 00
lda Zp52 ; CPU:$CC28 PRG:0C28 A5 52
ora #$08 ; CPU:$CC2A PRG:0C2A 09 08
sta Zp01 ; CPU:$CC2C PRG:0C2C 85 01
jsr $F342 ; CPU:$CC2E PRG:0C2E 20 42 F3
jmp $D032 ; CPU:$CC31 PRG:0C31 4C 32 D0
; -----------------------------------------------------------------------------
; Routine: UpdateScroll6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll6:
lda #$01 ; CPU:$CC34 PRG:0C34 A9 01
sta $0505 ; CPU:$CC36 PRG:0C36 8D 05 05
jsr $D032 ; CPU:$CC39 PRG:0C39 20 32 D0
lda #$00 ; CPU:$CC3C PRG:0C3C A9 00
sta $050B ; CPU:$CC3E PRG:0C3E 8D 0B 05
jsr $CCC1 ; CPU:$CC41 PRG:0C41 20 C1 CC
jmp $D7F2 ; CPU:$CC44 PRG:0C44 4C F2 D7
; -----------------------------------------------------------------------------
; Routine: InitScroll
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitScroll:
lda #$00 ; CPU:$CC47 PRG:0C47 A9 00
tax ; CPU:$CC49 PRG:0C49 AA
; -----------------------------------------------------------------------------
; Routine: InitScroll_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitScroll_Block:
sta Zp59,x ; CPU:$CC4A PRG:0C4A 95 59
sta $040D,x ; CPU:$CC4C PRG:0C4C 9D 0D 04
inx ; CPU:$CC4F PRG:0C4F E8
cpx #$89 ; CPU:$CC50 PRG:0C50 E0 89
bne InitScroll_Block ; CPU:$CC52 PRG:0C52 D0 F6
lda #$01 ; CPU:$CC54 PRG:0C54 A9 01
sta Zp59 ; CPU:$CC56 PRG:0C56 85 59
sta Zp96 ; CPU:$CC58 PRG:0C58 85 96
sta $043E ; CPU:$CC5A PRG:0C5A 8D 3E 04
sta $0451 ; CPU:$CC5D PRG:0C5D 8D 51 04
sta $0452 ; CPU:$CC60 PRG:0C60 8D 52 04
sta Zp9F ; CPU:$CC63 PRG:0C63 85 9F
sta $0503 ; CPU:$CC65 PRG:0C65 8D 03 05
lda #$04 ; CPU:$CC68 PRG:0C68 A9 04
sta Zp97 ; CPU:$CC6A PRG:0C6A 85 97
lda #$58 ; CPU:$CC6C PRG:0C6C A9 58
sta $043D ; CPU:$CC6E PRG:0C6E 8D 3D 04
lda #$20 ; CPU:$CC71 PRG:0C71 A9 20
sta ZpA2 ; CPU:$CC73 PRG:0C73 85 A2
lda #$80 ; CPU:$CC75 PRG:0C75 A9 80
sta Zp18 ; CPU:$CC77 PRG:0C77 85 18
lda #$0A ; CPU:$CC79 PRG:0C79 A9 0A
sta Zp34 ; CPU:$CC7B PRG:0C7B 85 34
ldx Zp52 ; CPU:$CC7D PRG:0C7D A6 52
jsr $CAB9 ; CPU:$CC7F PRG:0C7F 20 B9 CA
lda #$BB ; CPU:$CC82 PRG:0C82 A9 BB
sta Zp39 ; CPU:$CC84 PRG:0C84 85 39
lda #$27 ; CPU:$CC86 PRG:0C86 A9 27
sta Zp44 ; CPU:$CC88 PRG:0C88 85 44
lda Zp53 ; CPU:$CC8A PRG:0C8A A5 53
cmp #$01 ; CPU:$CC8C PRG:0C8C C9 01
beq InitScroll_Block_1 ; CPU:$CC8E PRG:0C8E F0 09
cmp #$03 ; CPU:$CC90 PRG:0C90 C9 03
beq InitScroll_Block_2 ; CPU:$CC92 PRG:0C92 F0 12
lda #$10 ; CPU:$CC94 PRG:0C94 A9 10
sta ZpFC ; CPU:$CC96 PRG:0C96 85 FC
rts ; CPU:$CC98 PRG:0C98 60
; -----------------------------------------------------------------------------
; Routine: InitScroll_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitScroll_Block_1:
lda #$38 ; CPU:$CC99 PRG:0C99 A9 38
sta Zp36 ; CPU:$CC9B PRG:0C9B 85 36
lda #$40 ; CPU:$CC9D PRG:0C9D A9 40
sta Zp43 ; CPU:$CC9F PRG:0C9F 85 43
lda #$02 ; CPU:$CCA1 PRG:0CA1 A9 02
sta ZpFC ; CPU:$CCA3 PRG:0CA3 85 FC
rts ; CPU:$CCA5 PRG:0CA5 60
; -----------------------------------------------------------------------------
; Routine: InitScroll_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitScroll_Block_2:
lda #$20 ; CPU:$CCA6 PRG:0CA6 A9 20
sta Zp36 ; CPU:$CCA8 PRG:0CA8 85 36
lda #$50 ; CPU:$CCAA PRG:0CAA A9 50
sta $043F ; CPU:$CCAC PRG:0CAC 8D 3F 04
sta $0441 ; CPU:$CCAF PRG:0CAF 8D 41 04
sta $0443 ; CPU:$CCB2 PRG:0CB2 8D 43 04
lda #$03 ; CPU:$CCB5 PRG:0CB5 A9 03
sta $0440 ; CPU:$CCB7 PRG:0CB7 8D 40 04
sta $0442 ; CPU:$CCBA PRG:0CBA 8D 42 04
sta $0444 ; CPU:$CCBD PRG:0CBD 8D 44 04
rts ; CPU:$CCC0 PRG:0CC0 60
; -----------------------------------------------------------------------------
; Routine: UpdateScroll7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll7:
lda Zp53 ; CPU:$CCC1 PRG:0CC1 A5 53
sec ; CPU:$CCC3 PRG:0CC3 38
sbc #$01 ; CPU:$CCC4 PRG:0CC4 E9 01
asl a ; CPU:$CCC6 PRG:0CC6 0A
tax ; CPU:$CCC7 PRG:0CC7 AA
lda $C5A6,x ; CPU:$CCC8 PRG:0CC8 BD A6 C5
sta Zp09 ; CPU:$CCCB PRG:0CCB 85 09
lda $C5A7,x ; CPU:$CCCD PRG:0CCD BD A7 C5
sta Zp0A ; CPU:$CCD0 PRG:0CD0 85 0A
ldx #$00 ; CPU:$CCD2 PRG:0CD2 A2 00
ldy #$00 ; CPU:$CCD4 PRG:0CD4 A0 00
; -----------------------------------------------------------------------------
; Routine: UpdateScroll8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll8:
lda (Zp09),y ; CPU:$CCD6 PRG:0CD6 B1 09
cmp #$FE ; CPU:$CCD8 PRG:0CD8 C9 FE
beq UpdateScroll8_Block ; CPU:$CCDA PRG:0CDA F0 17
sta Zp00,x ; CPU:$CCDC PRG:0CDC 95 00
iny ; CPU:$CCDE PRG:0CDE C8
inx ; CPU:$CCDF PRG:0CDF E8
cpx #$05 ; CPU:$CCE0 PRG:0CE0 E0 05
bne UpdateScroll8 ; CPU:$CCE2 PRG:0CE2 D0 F2
sty Zp86 ; CPU:$CCE4 PRG:0CE4 84 86
lda (Zp09),y ; CPU:$CCE6 PRG:0CE6 B1 09
jsr $F096 ; CPU:$CCE8 PRG:0CE8 20 96 F0
ldy Zp86 ; CPU:$CCEB PRG:0CEB A4 86
iny ; CPU:$CCED PRG:0CED C8
ldx #$00 ; CPU:$CCEE PRG:0CEE A2 00
jmp $CCD6 ; CPU:$CCF0 PRG:0CF0 4C D6 CC
; -----------------------------------------------------------------------------
; Routine: UpdateScroll8_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScroll8_Block:
rts ; CPU:$CCF3 PRG:0CF3 60
; -----------------------------------------------------------------------------
; Routine: CheckGameState_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckGameState_1:
lda $0450 ; CPU:$CCF4 PRG:0CF4 AD 50 04
bne CheckGameState_1_Block ; CPU:$CCF7 PRG:0CF7 D0 0E
lda #$01 ; CPU:$CCF9 PRG:0CF9 A9 01
sta $0450 ; CPU:$CCFB PRG:0CFB 8D 50 04
lda #$0A ; CPU:$CCFE PRG:0CFE A9 0A
sta Zp34 ; CPU:$CD00 PRG:0D00 85 34
lda #$10 ; CPU:$CD02 PRG:0D02 A9 10
sta ZpFD ; CPU:$CD04 PRG:0D04 85 FD
rts ; CPU:$CD06 PRG:0D06 60
; -----------------------------------------------------------------------------
; Routine: CheckGameState_1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckGameState_1_Block:
lda Zp43 ; CPU:$CD07 PRG:0D07 A5 43
cmp #$58 ; CPU:$CD09 PRG:0D09 C9 58
bcc CheckGameState_1_Block_1 ; CPU:$CD0B PRG:0D0B 90 06
jsr $F4AC ; CPU:$CD0D PRG:0D0D 20 AC F4
jmp $CD22 ; CPU:$CD10 PRG:0D10 4C 22 CD
; -----------------------------------------------------------------------------
; Routine: CheckGameState_1_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckGameState_1_Block_1:
jsr $CC24 ; CPU:$CD13 PRG:0D13 20 24 CC
jsr $CC04 ; CPU:$CD16 PRG:0D16 20 04 CC
lda #$00 ; CPU:$CD19 PRG:0D19 A9 00
sta Zp43 ; CPU:$CD1B PRG:0D1B 85 43
sta Zp9A ; CPU:$CD1D PRG:0D1D 85 9A
jmp $CA53 ; CPU:$CD1F PRG:0D1F 4C 53 CA
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer:
lda Zp43 ; CPU:$CD22 PRG:0D22 A5 43
cmp #$9F ; CPU:$CD24 PRG:0D24 C9 9F
beq UpdateGameTimer_Block ; CPU:$CD26 PRG:0D26 F0 1D
cmp #$9E ; CPU:$CD28 PRG:0D28 C9 9E
beq UpdateGameTimer_Block_1 ; CPU:$CD2A PRG:0D2A F0 1E
cmp #$9D ; CPU:$CD2C PRG:0D2C C9 9D
beq UpdateGameTimer_Block_2 ; CPU:$CD2E PRG:0D2E F0 1F
cmp #$9C ; CPU:$CD30 PRG:0D30 C9 9C
beq UpdateGameTimer_Block_3 ; CPU:$CD32 PRG:0D32 F0 24
cmp #$9B ; CPU:$CD34 PRG:0D34 C9 9B
beq UpdateGameTimer_Block_4 ; CPU:$CD36 PRG:0D36 F0 29
cmp #$90 ; CPU:$CD38 PRG:0D38 C9 90
bcs UpdateGameTimer_Block_5 ; CPU:$CD3A PRG:0D3A B0 2A
cmp #$86 ; CPU:$CD3C PRG:0D3C C9 86
bcs UpdateGameTimer_Block_6 ; CPU:$CD3E PRG:0D3E B0 29
cmp #$70 ; CPU:$CD40 PRG:0D40 C9 70
bcs UpdateGameTimer_Block_7 ; CPU:$CD42 PRG:0D42 B0 28
rts ; CPU:$CD44 PRG:0D44 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block:
dec Zp43 ; CPU:$CD45 PRG:0D45 C6 43
jmp $CD6F ; CPU:$CD47 PRG:0D47 4C 6F CD
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_1:
dec Zp43 ; CPU:$CD4A PRG:0D4A C6 43
jmp $CD7F ; CPU:$CD4C PRG:0D4C 4C 7F CD
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_2:
ldy #$1C ; CPU:$CD4F PRG:0D4F A0 1C
dec Zp43 ; CPU:$CD51 PRG:0D51 C6 43
lda #$06 ; CPU:$CD53 PRG:0D53 A9 06
jmp $C823 ; CPU:$CD55 PRG:0D55 4C 23 C8
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_3:
ldy #$1C ; CPU:$CD58 PRG:0D58 A0 1C
dec Zp43 ; CPU:$CD5A PRG:0D5A C6 43
lda #$08 ; CPU:$CD5C PRG:0D5C A9 08
jmp $C823 ; CPU:$CD5E PRG:0D5E 4C 23 C8
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_4:
dec Zp43 ; CPU:$CD61 PRG:0D61 C6 43
jmp $CD89 ; CPU:$CD63 PRG:0D63 4C 89 CD
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_5:
jmp $CD9D ; CPU:$CD66 PRG:0D66 4C 9D CD
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_6:
jmp $CDB1 ; CPU:$CD69 PRG:0D69 4C B1 CD
; -----------------------------------------------------------------------------
; Routine: UpdateGameTimer_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameTimer_Block_7:
jmp $CE24 ; CPU:$CD6C PRG:0D6C 4C 24 CE
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition:
ldy #$0C ; CPU:$CD6F PRG:0D6F A0 0C
lda #$0A ; CPU:$CD71 PRG:0D71 A9 0A
jmp $C823 ; CPU:$CD73 PRG:0D73 4C 23 C8
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition2:
lda (Zp00),y ; CPU:$CD76 PRG:0D76 B1 00
sta $0331,y ; CPU:$CD78 PRG:0D78 99 31 03
dey ; CPU:$CD7B PRG:0D7B 88
bpl UpdateSpritePosition2 ; CPU:$CD7C PRG:0D7C 10 F8
rts ; CPU:$CD7E PRG:0D7E 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition3:
jsr $CBAE ; CPU:$CD7F PRG:0D7F 20 AE CB
ldy #$16 ; CPU:$CD82 PRG:0D82 A0 16
lda #$0C ; CPU:$CD84 PRG:0D84 A9 0C
jmp $C823 ; CPU:$CD86 PRG:0D86 4C 23 C8
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition4:
ldy #$0C ; CPU:$CD89 PRG:0D89 A0 0C
lda #$0E ; CPU:$CD8B PRG:0D8B A9 0E
jsr $C823 ; CPU:$CD8D PRG:0D8D 20 23 C8
lda #$03 ; CPU:$CD90 PRG:0D90 A9 03
sta Zp02 ; CPU:$CD92 PRG:0D92 85 02
lda #$18 ; CPU:$CD94 PRG:0D94 A9 18
sta Zp03 ; CPU:$CD96 PRG:0D96 85 03
lda #$50 ; CPU:$CD98 PRG:0D98 A9 50
jmp $F08C ; CPU:$CD9A PRG:0D9A 4C 8C F0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition5:
lda #$8D ; CPU:$CD9D PRG:0D9D A9 8D
sta Zp00 ; CPU:$CD9F PRG:0D9F 85 00
lda #$20 ; CPU:$CDA1 PRG:0DA1 A9 20
sta Zp01 ; CPU:$CDA3 PRG:0DA3 85 01
lda Zp43 ; CPU:$CDA5 PRG:0DA5 A5 43
and #$01 ; CPU:$CDA7 PRG:0DA7 29 01
beq UpdateSpritePosition5_Block ; CPU:$CDA9 PRG:0DA9 F0 03
jmp $EB89 ; CPU:$CDAB PRG:0DAB 4C 89 EB
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition5_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition5_Block:
jmp $EB92 ; CPU:$CDAE PRG:0DAE 4C 92 EB
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition6:
cmp #$8F ; CPU:$CDB1 PRG:0DB1 C9 8F
bne UpdateSpritePosition6_Block ; CPU:$CDB3 PRG:0DB3 D0 22
dec Zp43 ; CPU:$CDB5 PRG:0DB5 C6 43
ldy #$10 ; CPU:$CDB7 PRG:0DB7 A0 10
lda #$10 ; CPU:$CDB9 PRG:0DB9 A9 10
jsr $C823 ; CPU:$CDBB PRG:0DBB 20 23 C8
lda #$01 ; CPU:$CDBE PRG:0DBE A9 01
sta ZpFE ; CPU:$CDC0 PRG:0DC0 85 FE
lda #$68 ; CPU:$CDC2 PRG:0DC2 A9 68
sta Zp00 ; CPU:$CDC4 PRG:0DC4 85 00
lda #$3E ; CPU:$CDC6 PRG:0DC6 A9 3E
sta Zp01 ; CPU:$CDC8 PRG:0DC8 85 01
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition7:
lda #$40 ; CPU:$CDCA PRG:0DCA A9 40
sta Zp02 ; CPU:$CDCC PRG:0DCC 85 02
lda #$46 ; CPU:$CDCE PRG:0DCE A9 46
sta Zp03 ; CPU:$CDD0 PRG:0DD0 85 03
lda #$50 ; CPU:$CDD2 PRG:0DD2 A9 50
jmp $F080 ; CPU:$CDD4 PRG:0DD4 4C 80 F0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition6_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition6_Block:
lda $0250 ; CPU:$CDD7 PRG:0DD7 AD 50 02
cmp #$A0 ; CPU:$CDDA PRG:0DDA C9 A0
beq UpdateSpritePosition6_Block_1 ; CPU:$CDDC PRG:0DDC F0 11
cmp #$FF ; CPU:$CDDE PRG:0DDE C9 FF
beq UpdateSpritePosition6_Block_2 ; CPU:$CDE0 PRG:0DE0 F0 11
clc ; CPU:$CDE2 PRG:0DE2 18
adc #$02 ; CPU:$CDE3 PRG:0DE3 69 02
sta Zp01 ; CPU:$CDE5 PRG:0DE5 85 01
lda $0253 ; CPU:$CDE7 PRG:0DE7 AD 53 02
sta Zp00 ; CPU:$CDEA PRG:0DEA 85 00
jmp $CDCA ; CPU:$CDEC PRG:0DEC 4C CA CD
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition6_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition6_Block_1:
lda #$80 ; CPU:$CDEF PRG:0DEF A9 80
sta ZpFE ; CPU:$CDF1 PRG:0DF1 85 FE
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition6_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition6_Block_2:
lda #$18 ; CPU:$CDF3 PRG:0DF3 A9 18
sta Zp03 ; CPU:$CDF5 PRG:0DF5 85 03
lda #$50 ; CPU:$CDF7 PRG:0DF7 A9 50
jsr $F08C ; CPU:$CDF9 PRG:0DF9 20 8C F0
lda #$EB ; CPU:$CDFC PRG:0DFC A9 EB
sta Zp00 ; CPU:$CDFE PRG:0DFE 85 00
lda #$23 ; CPU:$CE00 PRG:0E00 A9 23
sta Zp01 ; CPU:$CE02 PRG:0E02 85 01
lda #$12 ; CPU:$CE04 PRG:0E04 A9 12
jsr $C815 ; CPU:$CE06 PRG:0E06 20 15 C8
lda #$01 ; CPU:$CE09 PRG:0E09 A9 01
jmp $CE0E ; CPU:$CE0B PRG:0E0B 4C 0E CE
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition8:
php ; CPU:$CE0E PRG:0E0E 08
lda #$8D ; CPU:$CE0F PRG:0E0F A9 8D
sta Zp00 ; CPU:$CE11 PRG:0E11 85 00
lda #$22 ; CPU:$CE13 PRG:0E13 A9 22
sta Zp01 ; CPU:$CE15 PRG:0E15 85 01
plp ; CPU:$CE17 PRG:0E17 28
bne UpdateSpritePosition8_Block ; CPU:$CE18 PRG:0E18 D0 05
lda #$16 ; CPU:$CE1A PRG:0E1A A9 16
jmp $C815 ; CPU:$CE1C PRG:0E1C 4C 15 C8
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition8_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition8_Block:
lda #$14 ; CPU:$CE1F PRG:0E1F A9 14
jmp $C815 ; CPU:$CE21 PRG:0E21 4C 15 C8
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition9:
cmp #$85 ; CPU:$CE24 PRG:0E24 C9 85
beq UpdateSpritePosition9_Block ; CPU:$CE26 PRG:0E26 F0 07
lda Zp43 ; CPU:$CE28 PRG:0E28 A5 43
and #$01 ; CPU:$CE2A PRG:0E2A 29 01
jmp $CE0E ; CPU:$CE2C PRG:0E2C 4C 0E CE
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition9_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition9_Block:
lda #$04 ; CPU:$CE2F PRG:0E2F A9 04
sta ZpFD ; CPU:$CE31 PRG:0E31 85 FD
ldy #$04 ; CPU:$CE33 PRG:0E33 A0 04
lda #$18 ; CPU:$CE35 PRG:0E35 A9 18
jsr $C823 ; CPU:$CE37 PRG:0E37 20 23 C8
lda #$78 ; CPU:$CE3A PRG:0E3A A9 78
sta Zp00 ; CPU:$CE3C PRG:0E3C 85 00
lda #$20 ; CPU:$CE3E PRG:0E3E A9 20
sta Zp01 ; CPU:$CE40 PRG:0E40 85 01
lda #$C8 ; CPU:$CE42 PRG:0E42 A9 C8
sta Zp02 ; CPU:$CE44 PRG:0E44 85 02
lda #$22 ; CPU:$CE46 PRG:0E46 A9 22
sta Zp03 ; CPU:$CE48 PRG:0E48 85 03
lda #$B0 ; CPU:$CE4A PRG:0E4A A9 B0
jsr $F080 ; CPU:$CE4C PRG:0E4C 20 80 F0
dec Zp43 ; CPU:$CE4F PRG:0E4F C6 43
lda #$A0 ; CPU:$CE51 PRG:0E51 A9 A0
sta Zp00 ; CPU:$CE53 PRG:0E53 85 00
lda #$30 ; CPU:$CE55 PRG:0E55 A9 30
sta Zp01 ; CPU:$CE57 PRG:0E57 85 01
lda #$04 ; CPU:$CE59 PRG:0E59 A9 04
jsr $EAD4 ; CPU:$CE5B PRG:0E5B 20 D4 EA
lda #$00 ; CPU:$CE5E PRG:0E5E A9 00
jsr $F086 ; CPU:$CE60 PRG:0E60 20 86 F0
lda #$28 ; CPU:$CE63 PRG:0E63 A9 28
sta $02E8 ; CPU:$CE65 PRG:0E65 8D E8 02
sta $02EC ; CPU:$CE68 PRG:0E68 8D EC 02
lda #$30 ; CPU:$CE6B PRG:0E6B A9 30
sta $02F0 ; CPU:$CE6D PRG:0E6D 8D F0 02
sta $02F8 ; CPU:$CE70 PRG:0E70 8D F8 02
lda #$38 ; CPU:$CE73 PRG:0E73 A9 38
sta $02F4 ; CPU:$CE75 PRG:0E75 8D F4 02
sta $02FC ; CPU:$CE78 PRG:0E78 8D FC 02
rts ; CPU:$CE7B PRG:0E7B 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10:
lda Zp58 ; CPU:$CE7C PRG:0E7C A5 58
beq UpdateSpritePosition10_Block_1 ; CPU:$CE7E PRG:0E7E F0 14
lda $0102 ; CPU:$CE80 PRG:0E80 AD 02 01
bne UpdateSpritePosition10_Block ; CPU:$CE83 PRG:0E83 D0 06
sta APUSTATUS ; CPU:$CE85 PRG:0E85 8D 15 40
sta $0100 ; CPU:$CE88 PRG:0E88 8D 00 01
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block:
lda Zp15 ; CPU:$CE8B PRG:0E8B A5 15
and #$20 ; CPU:$CE8D PRG:0E8D 29 20
beq UpdateSpritePosition10_Block_1 ; CPU:$CE8F PRG:0E8F F0 03
jmp $CF2B ; CPU:$CE91 PRG:0E91 4C 2B CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_1:
lda $0516 ; CPU:$CE94 PRG:0E94 AD 16 05
bne UpdateSpritePosition10_Block_3 ; CPU:$CE97 PRG:0E97 D0 15
lda $0517 ; CPU:$CE99 PRG:0E99 AD 17 05
beq UpdateSpritePosition10_Block_2 ; CPU:$CE9C PRG:0E9C F0 04
dec $0517 ; CPU:$CE9E PRG:0E9E CE 17 05
rts ; CPU:$CEA1 PRG:0EA1 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_2:
jsr $CC04 ; CPU:$CEA2 PRG:0EA2 20 04 CC
jsr $CFA8 ; CPU:$CEA5 PRG:0EA5 20 A8 CF
lda Zp9A ; CPU:$CEA8 PRG:0EA8 A5 9A
cmp #$01 ; CPU:$CEAA PRG:0EAA C9 01
bne UpdateSpritePosition10_Block_4 ; CPU:$CEAC PRG:0EAC D0 03
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_3:
jmp $CF1C ; CPU:$CEAE PRG:0EAE 4C 1C CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_4:
lda ZpBF ; CPU:$CEB1 PRG:0EB1 A5 BF
beq UpdateSpritePosition10_Block_5 ; CPU:$CEB3 PRG:0EB3 F0 03
jmp $CF13 ; CPU:$CEB5 PRG:0EB5 4C 13 CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_5:
lda Zp96 ; CPU:$CEB8 PRG:0EB8 A5 96
cmp #$FF ; CPU:$CEBA PRG:0EBA C9 FF
bne UpdateSpritePosition10_Block_6 ; CPU:$CEBC PRG:0EBC D0 03
jmp $CF19 ; CPU:$CEBE PRG:0EBE 4C 19 CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_6:
cmp #$08 ; CPU:$CEC1 PRG:0EC1 C9 08
beq UpdateSpritePosition11 ; CPU:$CEC3 PRG:0EC3 F0 11
cmp #$04 ; CPU:$CEC5 PRG:0EC5 C9 04
beq UpdateSpritePosition11 ; CPU:$CEC7 PRG:0EC7 F0 0D
lda Zp58 ; CPU:$CEC9 PRG:0EC9 A5 58
beq UpdateSpritePosition10_Block_7 ; CPU:$CECB PRG:0ECB F0 06
jsr $EBDA ; CPU:$CECD PRG:0ECD 20 DA EB
jmp $CED6 ; CPU:$CED0 PRG:0ED0 4C D6 CE
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition10_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition10_Block_7:
jsr $D175 ; CPU:$CED3 PRG:0ED3 20 75 D1
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition11
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition11:
jsr $EB06 ; CPU:$CED6 PRG:0ED6 20 06 EB
jsr $EBB6 ; CPU:$CED9 PRG:0ED9 20 B6 EB
jsr $D041 ; CPU:$CEDC PRG:0EDC 20 41 D0
jsr $D1A4 ; CPU:$CEDF PRG:0EDF 20 A4 D1
jsr $EA5F ; CPU:$CEE2 PRG:0EE2 20 5F EA
jsr $E1E5 ; CPU:$CEE5 PRG:0EE5 20 E5 E1
jsr $EE79 ; CPU:$CEE8 PRG:0EE8 20 79 EE
lda Zp53 ; CPU:$CEEB PRG:0EEB A5 53
cmp #$03 ; CPU:$CEED PRG:0EED C9 03
beq UpdateSpritePosition11_Block ; CPU:$CEEF PRG:0EEF F0 10
cmp #$04 ; CPU:$CEF1 PRG:0EF1 C9 04
beq UpdateSpritePosition11_Block_1 ; CPU:$CEF3 PRG:0EF3 F0 18
jsr $DA16 ; CPU:$CEF5 PRG:0EF5 20 16 DA
jsr $E19A ; CPU:$CEF8 PRG:0EF8 20 9A E1
jsr $EC29 ; CPU:$CEFB PRG:0EFB 20 29 EC
jmp $CF1C ; CPU:$CEFE PRG:0EFE 4C 1C CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition11_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition11_Block:
jsr $E834 ; CPU:$CF01 PRG:0F01 20 34 E8
jsr $E981 ; CPU:$CF04 PRG:0F04 20 81 E9
jsr $EC29 ; CPU:$CF07 PRG:0F07 20 29 EC
jmp $CF1C ; CPU:$CF0A PRG:0F0A 4C 1C CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition11_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition11_Block_1:
jsr $EC29 ; CPU:$CF0D PRG:0F0D 20 29 EC
jmp $CF1C ; CPU:$CF10 PRG:0F10 4C 1C CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition12:
jsr $EE0C ; CPU:$CF13 PRG:0F13 20 0C EE
jmp $CF1C ; CPU:$CF16 PRG:0F16 4C 1C CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition13_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition13_1:
jsr $D0C0 ; CPU:$CF19 PRG:0F19 20 C0 D0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition13_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition13_3:
jsr $CF42 ; CPU:$CF1C PRG:0F1C 20 42 CF
lda $0516 ; CPU:$CF1F PRG:0F1F AD 16 05
bne UpdateSpritePosition13_3_Block ; CPU:$CF22 PRG:0F22 D0 06
jsr $D04C ; CPU:$CF24 PRG:0F24 20 4C D0
jsr $F4AC ; CPU:$CF27 PRG:0F27 20 AC F4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition13_3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition13_3_Block:
rts ; CPU:$CF2A PRG:0F2A 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition14
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition14:
lda #$01 ; CPU:$CF2B PRG:0F2B A9 01
sta Zp4E ; CPU:$CF2D PRG:0F2D 85 4E
sta $0512 ; CPU:$CF2F PRG:0F2F 8D 12 05
sta Zp55 ; CPU:$CF32 PRG:0F32 85 55
lda #$20 ; CPU:$CF34 PRG:0F34 A9 20
sta Zp44 ; CPU:$CF36 PRG:0F36 85 44
lda #$00 ; CPU:$CF38 PRG:0F38 A9 00
sta Zp58 ; CPU:$CF3A PRG:0F3A 85 58
sta $0510 ; CPU:$CF3C PRG:0F3C 8D 10 05
jmp $CA53 ; CPU:$CF3F PRG:0F3F 4C 53 CA
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15:
lda Zp15 ; CPU:$CF42 PRG:0F42 A5 15
and #$10 ; CPU:$CF44 PRG:0F44 29 10
beq UpdateSpritePosition15_Block_3 ; CPU:$CF46 PRG:0F46 F0 47
lda Zp58 ; CPU:$CF48 PRG:0F48 A5 58
beq UpdateSpritePosition15_Block ; CPU:$CF4A PRG:0F4A F0 09
lda #$00 ; CPU:$CF4C PRG:0F4C A9 00
sta Zp58 ; CPU:$CF4E PRG:0F4E 85 58
lda Zp15 ; CPU:$CF50 PRG:0F50 A5 15
jmp $C98A ; CPU:$CF52 PRG:0F52 4C 8A C9
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block:
lda Zp15 ; CPU:$CF55 PRG:0F55 A5 15
cmp $0514 ; CPU:$CF57 PRG:0F57 CD 14 05
beq UpdateSpritePosition15_Block_4 ; CPU:$CF5A PRG:0F5A F0 36
sta $0514 ; CPU:$CF5C PRG:0F5C 8D 14 05
lda $0516 ; CPU:$CF5F PRG:0F5F AD 16 05
beq UpdateSpritePosition15_Block_2 ; CPU:$CF62 PRG:0F62 F0 16
lda $0517 ; CPU:$CF64 PRG:0F64 AD 17 05
bne UpdateSpritePosition15_Block_1 ; CPU:$CF67 PRG:0F67 D0 10
sta $0516 ; CPU:$CF69 PRG:0F69 8D 16 05
lda Zp0F ; CPU:$CF6C PRG:0F6C A5 0F
sta ZpFC ; CPU:$CF6E PRG:0F6E 85 FC
lda Zp11 ; CPU:$CF70 PRG:0F70 A5 11
and #$EF ; CPU:$CF72 PRG:0F72 29 EF
sta Zp11 ; CPU:$CF74 PRG:0F74 85 11
jmp $CF87 ; CPU:$CF76 PRG:0F76 4C 87 CF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block_1:
rts ; CPU:$CF79 PRG:0F79 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block_2:
lda #$01 ; CPU:$CF7A PRG:0F7A A9 01
sta $0516 ; CPU:$CF7C PRG:0F7C 8D 16 05
lda ZpFC ; CPU:$CF7F PRG:0F7F A5 FC
sta Zp0F ; CPU:$CF81 PRG:0F81 85 0F
lda #$00 ; CPU:$CF83 PRG:0F83 A9 00
sta ZpFC ; CPU:$CF85 PRG:0F85 85 FC
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition16
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition16:
lda #$40 ; CPU:$CF87 PRG:0F87 A9 40
sta $0517 ; CPU:$CF89 PRG:0F89 8D 17 05
sta ZpFD ; CPU:$CF8C PRG:0F8C 85 FD
rts ; CPU:$CF8E PRG:0F8E 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block_3:
sta $0514 ; CPU:$CF8F PRG:0F8F 8D 14 05
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block_4:
lda $0517 ; CPU:$CF92 PRG:0F92 AD 17 05
beq UpdateSpritePosition15_Block_5 ; CPU:$CF95 PRG:0F95 F0 04
dec $0517 ; CPU:$CF97 PRG:0F97 CE 17 05
rts ; CPU:$CF9A PRG:0F9A 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block_5:
lda $0516 ; CPU:$CF9B PRG:0F9B AD 16 05
bne UpdateSpritePosition15_Block_6 ; CPU:$CF9E PRG:0F9E D0 01
rts ; CPU:$CFA0 PRG:0FA0 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition15_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition15_Block_6:
lda Zp11 ; CPU:$CFA1 PRG:0FA1 A5 11
ora #$10 ; CPU:$CFA3 PRG:0FA3 09 10
sta Zp11 ; CPU:$CFA5 PRG:0FA5 85 11
rts ; CPU:$CFA7 PRG:0FA7 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition17
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition17:
ldx #$00 ; CPU:$CFA8 PRG:0FA8 A2 00
ldy #$00 ; CPU:$CFAA PRG:0FAA A0 00
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition17_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition17_Block:
lda Zp41,x ; CPU:$CFAC PRG:0FAC B5 41
bne UpdateSpritePosition17_Block_1 ; CPU:$CFAE PRG:0FAE D0 08
lda #$FF ; CPU:$CFB0 PRG:0FB0 A9 FF
sta $02C0,y ; CPU:$CFB2 PRG:0FB2 99 C0 02
sta $02C4,y ; CPU:$CFB5 PRG:0FB5 99 C4 02
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition17_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition17_Block_1:
inx ; CPU:$CFB8 PRG:0FB8 E8
iny ; CPU:$CFB9 PRG:0FB9 C8
iny ; CPU:$CFBA PRG:0FBA C8
iny ; CPU:$CFBB PRG:0FBB C8
iny ; CPU:$CFBC PRG:0FBC C8
iny ; CPU:$CFBD PRG:0FBD C8
iny ; CPU:$CFBE PRG:0FBE C8
iny ; CPU:$CFBF PRG:0FBF C8
iny ; CPU:$CFC0 PRG:0FC0 C8
cpx #$02 ; CPU:$CFC1 PRG:0FC1 E0 02
bmi UpdateSpritePosition17_Block ; CPU:$CFC3 PRG:0FC3 30 E7
rts ; CPU:$CFC5 PRG:0FC5 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition18
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition18:
ldy #$00 ; CPU:$CFC6 PRG:0FC6 A0 00
sty Zp0F ; CPU:$CFC8 PRG:0FC8 84 0F
jsr $D008 ; CPU:$CFCA PRG:0FCA 20 08 D0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition18_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition18_Block:
lda $02C0,y ; CPU:$CFCD PRG:0FCD B9 C0 02
cmp #$FF ; CPU:$CFD0 PRG:0FD0 C9 FF
bne UpdateSpritePosition18_Block_1 ; CPU:$CFD2 PRG:0FD2 D0 25
lda Zp05 ; CPU:$CFD4 PRG:0FD4 A5 05
sta $02C3,y ; CPU:$CFD6 PRG:0FD6 99 C3 02
clc ; CPU:$CFD9 PRG:0FD9 18
adc #$08 ; CPU:$CFDA PRG:0FDA 69 08
sta $02C7,y ; CPU:$CFDC PRG:0FDC 99 C7 02
lda Zp06 ; CPU:$CFDF PRG:0FDF A5 06
sta $02C0,y ; CPU:$CFE1 PRG:0FE1 99 C0 02
sta $02C4,y ; CPU:$CFE4 PRG:0FE4 99 C4 02
lda $C604,x ; CPU:$CFE7 PRG:0FE7 BD 04 C6
sta $02C1,y ; CPU:$CFEA PRG:0FEA 99 C1 02
lda #$D4 ; CPU:$CFED PRG:0FED A9 D4
sta $02C5,y ; CPU:$CFEF PRG:0FEF 99 C5 02
ldx Zp0F ; CPU:$CFF2 PRG:0FF2 A6 0F
lda #$03 ; CPU:$CFF4 PRG:0FF4 A9 03
sta Zp41,x ; CPU:$CFF6 PRG:0FF6 95 41
rts ; CPU:$CFF8 PRG:0FF8 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition18_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition18_Block_1:
iny ; CPU:$CFF9 PRG:0FF9 C8
iny ; CPU:$CFFA PRG:0FFA C8
iny ; CPU:$CFFB PRG:0FFB C8
iny ; CPU:$CFFC PRG:0FFC C8
iny ; CPU:$CFFD PRG:0FFD C8
iny ; CPU:$CFFE PRG:0FFE C8
iny ; CPU:$CFFF PRG:0FFF C8
iny ; CPU:$D000 PRG:1000 C8
inc Zp0F ; CPU:$D001 PRG:1001 E6 0F
cpy #$10 ; CPU:$D003 PRG:1003 C0 10
bmi UpdateSpritePosition18_Block ; CPU:$D005 PRG:1005 30 C6
rts ; CPU:$D007 PRG:1007 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition19
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition19:
txa ; CPU:$D008 PRG:1008 8A
pha ; CPU:$D009 PRG:1009 48
tya ; CPU:$D00A PRG:100A 98
pha ; CPU:$D00B PRG:100B 48
lda Zp58 ; CPU:$D00C PRG:100C A5 58
bne UpdateSpritePosition19_Block ; CPU:$D00E PRG:100E D0 1A
lda Zp52 ; CPU:$D010 PRG:1010 A5 52
ora #$18 ; CPU:$D012 PRG:1012 09 18
sta Zp01 ; CPU:$D014 PRG:1014 85 01
lda $C600,x ; CPU:$D016 PRG:1016 BD 00 C6
sta Zp00 ; CPU:$D019 PRG:1019 85 00
lda Zp05 ; CPU:$D01B PRG:101B A5 05
pha ; CPU:$D01D PRG:101D 48
lda Zp06 ; CPU:$D01E PRG:101E A5 06
pha ; CPU:$D020 PRG:1020 48
jsr $F342 ; CPU:$D021 PRG:1021 20 42 F3
pla ; CPU:$D024 PRG:1024 68
sta Zp06 ; CPU:$D025 PRG:1025 85 06
pla ; CPU:$D027 PRG:1027 68
sta Zp05 ; CPU:$D028 PRG:1028 85 05
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition19_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition19_Block:
jsr $D032 ; CPU:$D02A PRG:102A 20 32 D0
pla ; CPU:$D02D PRG:102D 68
tay ; CPU:$D02E PRG:102E A8
pla ; CPU:$D02F PRG:102F 68
tax ; CPU:$D030 PRG:1030 AA
rts ; CPU:$D031 PRG:1031 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition20
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition20:
lda $0505 ; CPU:$D032 PRG:1032 AD 05 05
ora #$01 ; CPU:$D035 PRG:1035 09 01
sta $0505 ; CPU:$D037 PRG:1037 8D 05 05
lda #$F9 ; CPU:$D03A PRG:103A A9 F9
sta Zp00 ; CPU:$D03C PRG:103C 85 00
jmp $F435 ; CPU:$D03E PRG:103E 4C 35 F4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition21_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition21_1:
lda Zp2E ; CPU:$D041 PRG:1041 A5 2E
cmp #$10 ; CPU:$D043 PRG:1043 C9 10
bpl UpdateSpritePosition21_1_Block ; CPU:$D045 PRG:1045 10 04
lda #$20 ; CPU:$D047 PRG:1047 A9 20
sta ZpFC ; CPU:$D049 PRG:1049 85 FC
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition21_1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition21_1_Block:
rts ; CPU:$D04B PRG:104B 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition21_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition21_3:
lda Zp9A ; CPU:$D04C PRG:104C A5 9A
bne UpdateSpritePosition22_1_Block ; CPU:$D04E PRG:104E D0 42
ldx Zp53 ; CPU:$D050 PRG:1050 A6 53
cpx #$04 ; CPU:$D052 PRG:1052 E0 04
beq UpdateSpritePosition21_3_Block ; CPU:$D054 PRG:1054 F0 0D
lda Zp5A ; CPU:$D056 PRG:1056 A5 5A
beq UpdateSpritePosition22_3_Block ; CPU:$D058 PRG:1058 F0 65
dex ; CPU:$D05A PRG:105A CA
lda $C1FA,x ; CPU:$D05B PRG:105B BD FA C1
cmp Zp59 ; CPU:$D05E PRG:105E C5 59
beq UpdateSpritePosition21_3_Block_2 ; CPU:$D060 PRG:1060 F0 12
rts ; CPU:$D062 PRG:1062 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition21_3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition21_3_Block:
ldx #$00 ; CPU:$D063 PRG:1063 A2 00
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition21_3_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition21_3_Block_1:
lda ZpC1,x ; CPU:$D065 PRG:1065 B5 C1
beq UpdateSpritePosition22_3_Block ; CPU:$D067 PRG:1067 F0 56
inx ; CPU:$D069 PRG:1069 E8
stx $044F ; CPU:$D06A PRG:106A 8E 4F 04
cpx #$08 ; CPU:$D06D PRG:106D E0 08
bne UpdateSpritePosition21_3_Block_1 ; CPU:$D06F PRG:106F D0 F4
jmp $D086 ; CPU:$D071 PRG:1071 4C 86 D0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition21_3_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition21_3_Block_2:
jsr $EAE1 ; CPU:$D074 PRG:1074 20 E1 EA
lda #$04 ; CPU:$D077 PRG:1077 A9 04
jsr $EAD4 ; CPU:$D079 PRG:1079 20 D4 EA
jsr $EACD ; CPU:$D07C PRG:107C 20 CD EA
jsr $F088 ; CPU:$D07F PRG:107F 20 88 F0
lda #$02 ; CPU:$D082 PRG:1082 A9 02
sta ZpFD ; CPU:$D084 PRG:1084 85 FD
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition22_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition22_1:
lda #$00 ; CPU:$D086 PRG:1086 A9 00
sta ZpFC ; CPU:$D088 PRG:1088 85 FC
lda #$01 ; CPU:$D08A PRG:108A A9 01
sta Zp9A ; CPU:$D08C PRG:108C 85 9A
lda #$00 ; CPU:$D08E PRG:108E A9 00
sta Zp3A ; CPU:$D090 PRG:1090 85 3A
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition22_1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition22_1_Block:
lda Zp3A ; CPU:$D092 PRG:1092 A5 3A
bne UpdateSpritePosition22_3_Block ; CPU:$D094 PRG:1094 D0 29
inc Zp53 ; CPU:$D096 PRG:1096 E6 53
lda Zp53 ; CPU:$D098 PRG:1098 A5 53
cmp #$02 ; CPU:$D09A PRG:109A C9 02
beq UpdateSpritePosition22_1_Block_1 ; CPU:$D09C PRG:109C F0 07
cmp #$05 ; CPU:$D09E PRG:109E C9 05
bcs UpdateSpritePosition22_1_Block_2 ; CPU:$D0A0 PRG:10A0 B0 08
jmp $D0B5 ; CPU:$D0A2 PRG:10A2 4C B5 D0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition22_1_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition22_1_Block_1:
inc Zp53 ; CPU:$D0A5 PRG:10A5 E6 53
jmp $D0B5 ; CPU:$D0A7 PRG:10A7 4C B5 D0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition22_1_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition22_1_Block_2:
lda #$01 ; CPU:$D0AA PRG:10AA A9 01
sta Zp53 ; CPU:$D0AC PRG:10AC 85 53
inc Zp54 ; CPU:$D0AE PRG:10AE E6 54
lda #$A0 ; CPU:$D0B0 PRG:10B0 A9 A0
sta Zp43 ; CPU:$D0B2 PRG:10B2 85 43
rts ; CPU:$D0B4 PRG:10B4 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition22_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition22_3:
lda #$8D ; CPU:$D0B5 PRG:10B5 A9 8D
sta Zp43 ; CPU:$D0B7 PRG:10B7 85 43
lda #$00 ; CPU:$D0B9 PRG:10B9 A9 00
sta Zp4F ; CPU:$D0BB PRG:10BB 85 4F
sta Zp9A ; CPU:$D0BD PRG:10BD 85 9A
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition22_3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition22_3_Block:
rts ; CPU:$D0BF PRG:10BF 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23:
lda #$00 ; CPU:$D0C0 PRG:10C0 A9 00
sta ZpFC ; CPU:$D0C2 PRG:10C2 85 FC
lda #$10 ; CPU:$D0C4 PRG:10C4 A9 10
jsr $D9E6 ; CPU:$D0C6 PRG:10C6 20 E6 D9
beq UpdateSpritePosition24_Block_1 ; CPU:$D0C9 PRG:10C9 F0 6D
lda Zp98 ; CPU:$D0CB PRG:10CB A5 98
cmp #$FF ; CPU:$D0CD PRG:10CD C9 FF
beq UpdateSpritePosition24_Block ; CPU:$D0CF PRG:10CF F0 5F
lda Zp98 ; CPU:$D0D1 PRG:10D1 A5 98
bne UpdateSpritePosition23_Block_1 ; CPU:$D0D3 PRG:10D3 D0 0F
lda Zp58 ; CPU:$D0D5 PRG:10D5 A5 58
bne UpdateSpritePosition23_Block ; CPU:$D0D7 PRG:10D7 D0 04
lda #$80 ; CPU:$D0D9 PRG:10D9 A9 80
sta ZpFE ; CPU:$D0DB PRG:10DB 85 FE
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block:
lda #$40 ; CPU:$D0DD PRG:10DD A9 40
sta Zp3A ; CPU:$D0DF PRG:10DF 85 3A
inc Zp98 ; CPU:$D0E1 PRG:10E1 E6 98
rts ; CPU:$D0E3 PRG:10E3 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block_1:
lda Zp3A ; CPU:$D0E4 PRG:10E4 A5 3A
beq UpdateSpritePosition23_Block_3 ; CPU:$D0E6 PRG:10E6 F0 10
cmp #$0E ; CPU:$D0E8 PRG:10E8 C9 0E
bcc UpdateSpritePosition24_Block_1 ; CPU:$D0EA PRG:10EA 90 4C
lda Zp58 ; CPU:$D0EC PRG:10EC A5 58
bne UpdateSpritePosition23_Block_2 ; CPU:$D0EE PRG:10EE D0 04
lda #$01 ; CPU:$D0F0 PRG:10F0 A9 01
sta ZpFF ; CPU:$D0F2 PRG:10F2 85 FF
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block_2:
lda #$00 ; CPU:$D0F4 PRG:10F4 A9 00
sta Zp3A ; CPU:$D0F6 PRG:10F6 85 3A
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block_3:
lda $0201 ; CPU:$D0F8 PRG:10F8 AD 01 02
cmp #$6C ; CPU:$D0FB PRG:10FB C9 6C
bcs UpdateSpritePosition23_Block_4 ; CPU:$D0FD PRG:10FD B0 02
lda #$6C ; CPU:$D0FF PRG:10FF A9 6C
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block_4:
clc ; CPU:$D101 PRG:1101 18
adc #$04 ; CPU:$D102 PRG:1102 69 04
cmp #$7C ; CPU:$D104 PRG:1104 C9 7C
bcc UpdateSpritePosition24 ; CPU:$D106 PRG:1106 90 17
inc Zp98 ; CPU:$D108 PRG:1108 E6 98
lda Zp98 ; CPU:$D10A PRG:110A A5 98
cmp #$05 ; CPU:$D10C PRG:110C C9 05
beq UpdateSpritePosition23_Block_5 ; CPU:$D10E PRG:110E F0 05
lda #$6C ; CPU:$D110 PRG:1110 A9 6C
jmp $D11F ; CPU:$D112 PRG:1112 4C 1F D1
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block_5:
lda Zp58 ; CPU:$D115 PRG:1115 A5 58
beq UpdateSpritePosition23_Block_6 ; CPU:$D117 PRG:1117 F0 04
lda #$7D ; CPU:$D119 PRG:1119 A9 7D
sta Zp3A ; CPU:$D11B PRG:111B 85 3A
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition23_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition23_Block_6:
lda #$7C ; CPU:$D11D PRG:111D A9 7C
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition24
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition24:
sta Zp02 ; CPU:$D11F PRG:111F 85 02
jsr $EAE1 ; CPU:$D121 PRG:1121 20 E1 EA
jsr $EACD ; CPU:$D124 PRG:1124 20 CD EA
jsr $F082 ; CPU:$D127 PRG:1127 20 82 F0
lda Zp98 ; CPU:$D12A PRG:112A A5 98
cmp #$05 ; CPU:$D12C PRG:112C C9 05
bne UpdateSpritePosition24_Block_1 ; CPU:$D12E PRG:112E D0 08
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition24_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition24_Block:
lda #$FF ; CPU:$D130 PRG:1130 A9 FF
sta Zp98 ; CPU:$D132 PRG:1132 85 98
lda Zp3A ; CPU:$D134 PRG:1134 A5 3A
beq UpdateSpritePosition24_Block_2 ; CPU:$D136 PRG:1136 F0 01
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition24_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition24_Block_1:
rts ; CPU:$D138 PRG:1138 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition24_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition24_Block_2:
ldx Zp52 ; CPU:$D139 PRG:1139 A6 52
jsr $CAB9 ; CPU:$D13B PRG:113B 20 B9 CA
lda Zp55 ; CPU:$D13E PRG:113E A5 55
bne UpdateSpritePosition24_Block_3 ; CPU:$D140 PRG:1140 D0 09
lda #$01 ; CPU:$D142 PRG:1142 A9 01
sta Zp4E ; CPU:$D144 PRG:1144 85 4E
lda #$87 ; CPU:$D146 PRG:1146 A9 87
sta Zp43 ; CPU:$D148 PRG:1148 85 43
rts ; CPU:$D14A PRG:114A 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition24_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition24_Block_3:
lda Zp51 ; CPU:$D14B PRG:114B A5 51
cmp #$1C ; CPU:$D14D PRG:114D C9 1C
bne UpdateSpritePosition25 ; CPU:$D14F PRG:114F D0 18
lda Zp52 ; CPU:$D151 PRG:1151 A5 52
eor #$01 ; CPU:$D153 PRG:1153 49 01
tax ; CPU:$D155 PRG:1155 AA
stx Zp52 ; CPU:$D156 PRG:1156 86 52
lda $0406,x ; CPU:$D158 PRG:1158 BD 06 04
beq UpdateSpritePosition24_Block_4 ; CPU:$D15B PRG:115B F0 09
txa ; CPU:$D15D PRG:115D 8A
eor #$01 ; CPU:$D15E PRG:115E 49 01
tax ; CPU:$D160 PRG:1160 AA
stx Zp52 ; CPU:$D161 PRG:1161 86 52
jmp $D169 ; CPU:$D163 PRG:1163 4C 69 D1
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition24_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition24_Block_4:
jsr $CAA9 ; CPU:$D166 PRG:1166 20 A9 CA
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition25
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition25:
lda #$87 ; CPU:$D169 PRG:1169 A9 87
sta Zp43 ; CPU:$D16B PRG:116B 85 43
sta $040B ; CPU:$D16D PRG:116D 8D 0B 04
lda #$00 ; CPU:$D170 PRG:1170 A9 00
sta Zp4F ; CPU:$D172 PRG:1172 85 4F
rts ; CPU:$D174 PRG:1174 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition26
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition26:
lda Zp52 ; CPU:$D175 PRG:1175 A5 52
asl a ; CPU:$D177 PRG:1177 0A
tax ; CPU:$D178 PRG:1178 AA
lda Zp15,x ; CPU:$D179 PRG:1179 B5 15
and #$0F ; CPU:$D17B PRG:117B 29 0F
sta Zp56 ; CPU:$D17D PRG:117D 85 56
beq UpdateSpritePosition26_Block ; CPU:$D17F PRG:117F F0 08
lsr a ; CPU:$D181 PRG:1181 4A
lsr a ; CPU:$D182 PRG:1182 4A
bne UpdateSpritePosition26_Block ; CPU:$D183 PRG:1183 D0 04
lda Zp56 ; CPU:$D185 PRG:1185 A5 56
sta Zp57 ; CPU:$D187 PRG:1187 85 57
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition26_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition26_Block:
lda Zp96 ; CPU:$D189 PRG:1189 A5 96
cmp #$01 ; CPU:$D18B PRG:118B C9 01
bne UpdateSpritePosition26_Block_1 ; CPU:$D18D PRG:118D D0 0A
lda Zp15,x ; CPU:$D18F PRG:118F B5 15
and #$80 ; CPU:$D191 PRG:1191 29 80
beq UpdateSpritePosition26_Block_1 ; CPU:$D193 PRG:1193 F0 04
lda #$04 ; CPU:$D195 PRG:1195 A9 04
sta Zp96 ; CPU:$D197 PRG:1197 85 96
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition26_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition26_Block_1:
rts ; CPU:$D199 PRG:1199 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition27
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition27:
lda Zp11 ; CPU:$D19A PRG:119A A5 11
and #$E7 ; CPU:$D19C PRG:119C 29 E7
sta PPUMASK ; CPU:$D19E PRG:119E 8D 01 20
sta Zp11 ; CPU:$D1A1 PRG:11A1 85 11
rts ; CPU:$D1A3 PRG:11A3 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition28
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition28:
lda Zp96 ; CPU:$D1A4 PRG:11A4 A5 96
cmp #$01 ; CPU:$D1A6 PRG:11A6 C9 01
beq UpdateSpritePosition28_Block ; CPU:$D1A8 PRG:11A8 F0 11
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition29
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition29:
cmp #$02 ; CPU:$D1AA PRG:11AA C9 02
beq UpdateSpritePosition29_Block ; CPU:$D1AC PRG:11AC F0 15
cmp #$04 ; CPU:$D1AE PRG:11AE C9 04
beq UpdateSpritePosition29_Block_1 ; CPU:$D1B0 PRG:11B0 F0 14
cmp #$08 ; CPU:$D1B2 PRG:11B2 C9 08
beq UpdateSpritePosition29_Block_2 ; CPU:$D1B4 PRG:11B4 F0 13
cmp #$0A ; CPU:$D1B6 PRG:11B6 C9 0A
beq UpdateSpritePosition29_Block_3 ; CPU:$D1B8 PRG:11B8 F0 12
rts ; CPU:$D1BA PRG:11BA 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition28_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition28_Block:
jsr $D1CF ; CPU:$D1BB PRG:11BB 20 CF D1
lda Zp96 ; CPU:$D1BE PRG:11BE A5 96
jmp $D1AA ; CPU:$D1C0 PRG:11C0 4C AA D1
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition29_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition29_Block:
jmp $D37E ; CPU:$D1C3 PRG:11C3 4C 7E D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition29_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition29_Block_1:
jmp $D547 ; CPU:$D1C6 PRG:11C6 4C 47 D5
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition29_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition29_Block_2:
jmp $D697 ; CPU:$D1C9 PRG:11C9 4C 97 D6
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition29_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition29_Block_3:
jmp $D6C6 ; CPU:$D1CC PRG:11CC 4C C6 D6
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition30
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition30:
lda Zp56 ; CPU:$D1CF PRG:11CF A5 56
cmp #$01 ; CPU:$D1D1 PRG:11D1 C9 01
beq UpdateSpritePosition30_Block_1 ; CPU:$D1D3 PRG:11D3 F0 10
cmp #$02 ; CPU:$D1D5 PRG:11D5 C9 02
beq UpdateSpritePosition30_Block_1 ; CPU:$D1D7 PRG:11D7 F0 0C
cmp #$04 ; CPU:$D1D9 PRG:11D9 C9 04
beq UpdateSpritePosition30_Block ; CPU:$D1DB PRG:11DB F0 05
cmp #$08 ; CPU:$D1DD PRG:11DD C9 08
beq UpdateSpritePosition30_Block ; CPU:$D1DF PRG:11DF F0 01
rts ; CPU:$D1E1 PRG:11E1 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition30_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition30_Block:
jmp $D28B ; CPU:$D1E2 PRG:11E2 4C 8B D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition30_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition30_Block_1:
lda #$DB ; CPU:$D1E5 PRG:11E5 A9 DB
sta Zp0A ; CPU:$D1E7 PRG:11E7 85 0A
lda #$36 ; CPU:$D1E9 PRG:11E9 A9 36
jsr $D9E8 ; CPU:$D1EB PRG:11EB 20 E8 D9
bne UpdateSpritePosition30_Block_2 ; CPU:$D1EE PRG:11EE D0 03
jmp $D275 ; CPU:$D1F0 PRG:11F0 4C 75 D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition30_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition30_Block_2:
jsr $D990 ; CPU:$D1F3 PRG:11F3 20 90 D9
beq UpdateSpritePosition30_Block_3 ; CPU:$D1F6 PRG:11F6 F0 01
rts ; CPU:$D1F8 PRG:11F8 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition30_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition30_Block_3:
lda Zp56 ; CPU:$D1F9 PRG:11F9 A5 56
cmp #$02 ; CPU:$D1FB PRG:11FB C9 02
beq UpdateSpritePosition30_Block_4 ; CPU:$D1FD PRG:11FD F0 06
inc $0203 ; CPU:$D1FF PRG:11FF EE 03 02
jmp $D208 ; CPU:$D202 PRG:1202 4C 08 D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition30_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition30_Block_4:
dec $0203 ; CPU:$D205 PRG:1205 CE 03 02
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31:
jsr $D2CB ; CPU:$D208 PRG:1208 20 CB D2
sta Zp5A ; CPU:$D20B PRG:120B 85 5A
lda $0200 ; CPU:$D20D PRG:120D AD 00 02
jsr $E016 ; CPU:$D210 PRG:1210 20 16 E0
sta Zp59 ; CPU:$D213 PRG:1213 85 59
jsr $D8EB ; CPU:$D215 PRG:1215 20 EB D8
beq UpdateSpritePosition31_Block_1 ; CPU:$D218 PRG:1218 F0 19
ldx Zp53 ; CPU:$D21A PRG:121A A6 53
cpx #$01 ; CPU:$D21C PRG:121C E0 01
bne UpdateSpritePosition31_Block ; CPU:$D21E PRG:121E D0 07
clc ; CPU:$D220 PRG:1220 18
adc $0200 ; CPU:$D221 PRG:1221 6D 00 02
sta $0200 ; CPU:$D224 PRG:1224 8D 00 02
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31_Block:
jsr $D36A ; CPU:$D227 PRG:1227 20 6A D3
cmp #$00 ; CPU:$D22A PRG:122A C9 00
beq UpdateSpritePosition31_Block_1 ; CPU:$D22C PRG:122C F0 05
lda #$08 ; CPU:$D22E PRG:122E A9 08
sta Zp96 ; CPU:$D230 PRG:1230 85 96
rts ; CPU:$D232 PRG:1232 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31_Block_1:
lda Zp9B ; CPU:$D233 PRG:1233 A5 9B
bne UpdateSpritePosition31_Block_2 ; CPU:$D235 PRG:1235 D0 07
lda #$01 ; CPU:$D237 PRG:1237 A9 01
sta Zp9B ; CPU:$D239 PRG:1239 85 9B
jmp $D275 ; CPU:$D23B PRG:123B 4C 75 D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31_Block_2:
lda #$08 ; CPU:$D23E PRG:123E A9 08
sta ZpFF ; CPU:$D240 PRG:1240 85 FF
lda #$00 ; CPU:$D242 PRG:1242 A9 00
sta Zp9B ; CPU:$D244 PRG:1244 85 9B
lda Zp97 ; CPU:$D246 PRG:1246 A5 97
beq UpdateSpritePosition31_Block_4 ; CPU:$D248 PRG:1248 F0 18
cmp #$08 ; CPU:$D24A PRG:124A C9 08
beq UpdateSpritePosition31_Block_5 ; CPU:$D24C PRG:124C F0 1F
lda #$04 ; CPU:$D24E PRG:124E A9 04
sta Zp97 ; CPU:$D250 PRG:1250 85 97
lda Zp85 ; CPU:$D252 PRG:1252 A5 85
beq UpdateSpritePosition31_Block_3 ; CPU:$D254 PRG:1254 F0 05
lda #$00 ; CPU:$D256 PRG:1256 A9 00
jmp $D25D ; CPU:$D258 PRG:1258 4C 5D D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31_Block_3:
lda #$08 ; CPU:$D25B PRG:125B A9 08
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition32
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition32:
sta Zp97 ; CPU:$D25D PRG:125D 85 97
jmp $D275 ; CPU:$D25F PRG:125F 4C 75 D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31_Block_4:
lda #$04 ; CPU:$D262 PRG:1262 A9 04
sta Zp97 ; CPU:$D264 PRG:1264 85 97
lda #$00 ; CPU:$D266 PRG:1266 A9 00
sta Zp85 ; CPU:$D268 PRG:1268 85 85
jmp $D275 ; CPU:$D26A PRG:126A 4C 75 D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition31_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition31_Block_5:
lda #$04 ; CPU:$D26D PRG:126D A9 04
sta Zp97 ; CPU:$D26F PRG:126F 85 97
lda #$01 ; CPU:$D271 PRG:1271 A9 01
sta Zp85 ; CPU:$D273 PRG:1273 85 85
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition33
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition33:
jsr $EAE1 ; CPU:$D275 PRG:1275 20 E1 EA
lda Zp97 ; CPU:$D278 PRG:1278 A5 97
sta Zp02 ; CPU:$D27A PRG:127A 85 02
jsr $EACD ; CPU:$D27C PRG:127C 20 CD EA
lda Zp56 ; CPU:$D27F PRG:127F A5 56
cmp #$02 ; CPU:$D281 PRG:1281 C9 02
beq UpdateSpritePosition33_Block ; CPU:$D283 PRG:1283 F0 03
jmp $F082 ; CPU:$D285 PRG:1285 4C 82 F0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition33_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition33_Block:
jmp $F088 ; CPU:$D288 PRG:1288 4C 88 F0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition34
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition34:
jsr $EAE1 ; CPU:$D28B PRG:128B 20 E1 EA
lda #$86 ; CPU:$D28E PRG:128E A9 86
sta Zp02 ; CPU:$D290 PRG:1290 85 02
lda #$C1 ; CPU:$D292 PRG:1292 A9 C1
sta Zp03 ; CPU:$D294 PRG:1294 85 03
jsr $EFEB ; CPU:$D296 PRG:1296 20 EB EF
lda Zp53 ; CPU:$D299 PRG:1299 A5 53
sec ; CPU:$D29B PRG:129B 38
sbc #$01 ; CPU:$D29C PRG:129C E9 01
asl a ; CPU:$D29E PRG:129E 0A
tax ; CPU:$D29F PRG:129F AA
lda $C47B,x ; CPU:$D2A0 PRG:12A0 BD 7B C4
sta Zp04 ; CPU:$D2A3 PRG:12A3 85 04
lda $C47C,x ; CPU:$D2A5 PRG:12A5 BD 7C C4
sta Zp05 ; CPU:$D2A8 PRG:12A8 85 05
lda $C483,x ; CPU:$D2AA PRG:12AA BD 83 C4
sta Zp06 ; CPU:$D2AD PRG:12AD 85 06
lda $C484,x ; CPU:$D2AF PRG:12AF BD 84 C4
sta Zp07 ; CPU:$D2B2 PRG:12B2 85 07
jsr $D8AD ; CPU:$D2B4 PRG:12B4 20 AD D8
beq UpdateSpritePosition34_Block ; CPU:$D2B7 PRG:12B7 F0 11
lda Zp00 ; CPU:$D2B9 PRG:12B9 A5 00
sec ; CPU:$D2BB PRG:12BB 38
sbc #$04 ; CPU:$D2BC PRG:12BC E9 04
sta ZpA1 ; CPU:$D2BE PRG:12BE 85 A1
lda #$02 ; CPU:$D2C0 PRG:12C0 A9 02
sta Zp96 ; CPU:$D2C2 PRG:12C2 85 96
lda #$00 ; CPU:$D2C4 PRG:12C4 A9 00
sta Zp5B ; CPU:$D2C6 PRG:12C6 85 5B
sta Zp5C ; CPU:$D2C8 PRG:12C8 85 5C
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition34_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition34_Block:
rts ; CPU:$D2CA PRG:12CA 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition35
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition35:
jsr $EAE1 ; CPU:$D2CB PRG:12CB 20 E1 EA
lda Zp96 ; CPU:$D2CE PRG:12CE A5 96
cmp #$04 ; CPU:$D2D0 PRG:12D0 C9 04
beq UpdateSpritePosition35_Block ; CPU:$D2D2 PRG:12D2 F0 09
cmp #$08 ; CPU:$D2D4 PRG:12D4 C9 08
beq UpdateSpritePosition35_Block ; CPU:$D2D6 PRG:12D6 F0 05
lda #$2C ; CPU:$D2D8 PRG:12D8 A9 2C
jmp $D2DF ; CPU:$D2DA PRG:12DA 4C DF D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition35_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition35_Block:
lda #$4A ; CPU:$D2DD PRG:12DD A9 4A
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition36
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition36:
jsr $EFE8 ; CPU:$D2DF PRG:12DF 20 E8 EF
lda Zp53 ; CPU:$D2E2 PRG:12E2 A5 53
cmp #$01 ; CPU:$D2E4 PRG:12E4 C9 01
beq UpdateSpritePosition36_Block ; CPU:$D2E6 PRG:12E6 F0 08
sec ; CPU:$D2E8 PRG:12E8 38
sbc #$01 ; CPU:$D2E9 PRG:12E9 E9 01
asl a ; CPU:$D2EB PRG:12EB 0A
tax ; CPU:$D2EC PRG:12EC AA
jmp $D2FD ; CPU:$D2ED PRG:12ED 4C FD D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition36_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition36_Block:
lda #$1A ; CPU:$D2F0 PRG:12F0 A9 1A
jsr $C831 ; CPU:$D2F2 PRG:12F2 20 31 C8
jsr $D91A ; CPU:$D2F5 PRG:12F5 20 1A D9
sta Zp0C ; CPU:$D2F8 PRG:12F8 85 0C
jmp $D323 ; CPU:$D2FA PRG:12FA 4C 23 D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition37
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition37:
lda $C46B,x ; CPU:$D2FD PRG:12FD BD 6B C4
sta Zp04 ; CPU:$D300 PRG:1300 85 04
lda $C46C,x ; CPU:$D302 PRG:1302 BD 6C C4
sta Zp05 ; CPU:$D305 PRG:1305 85 05
lda $C473,x ; CPU:$D307 PRG:1307 BD 73 C4
sta Zp06 ; CPU:$D30A PRG:130A 85 06
lda $C474,x ; CPU:$D30C PRG:130C BD 74 C4
sta Zp07 ; CPU:$D30F PRG:130F 85 07
jsr $D8AD ; CPU:$D311 PRG:1311 20 AD D8
sta Zp0C ; CPU:$D314 PRG:1314 85 0C
bne UpdateSpritePosition38 ; CPU:$D316 PRG:1316 D0 0B
lda Zp53 ; CPU:$D318 PRG:1318 A5 53
cmp #$03 ; CPU:$D31A PRG:131A C9 03
bne UpdateSpritePosition38 ; CPU:$D31C PRG:131C D0 05
jsr $D326 ; CPU:$D31E PRG:131E 20 26 D3
sta Zp0C ; CPU:$D321 PRG:1321 85 0C
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition38
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition38:
lda Zp0C ; CPU:$D323 PRG:1323 A5 0C
rts ; CPU:$D325 PRG:1325 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition39
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition39:
lda #$2A ; CPU:$D326 PRG:1326 A9 2A
jsr $C847 ; CPU:$D328 PRG:1328 20 47 C8
lda #$00 ; CPU:$D32B PRG:132B A9 00
sta ZpD2 ; CPU:$D32D PRG:132D 85 D2
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition40
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition40:
lda ZpD2 ; CPU:$D32F PRG:132F A5 D2
cmp #$06 ; CPU:$D331 PRG:1331 C9 06
beq UpdateSpritePosition40_Block_3 ; CPU:$D333 PRG:1333 F0 30
tax ; CPU:$D335 PRG:1335 AA
ldy $C2CC,x ; CPU:$D336 PRG:1336 BC CC C2
lda $0200,y ; CPU:$D339 PRG:1339 B9 00 02
cmp #$FF ; CPU:$D33C PRG:133C C9 FF
beq UpdateSpritePosition40_Block ; CPU:$D33E PRG:133E F0 0E
sta Zp01 ; CPU:$D340 PRG:1340 85 01
lda $0203,y ; CPU:$D342 PRG:1342 B9 03 02
sta Zp00 ; CPU:$D345 PRG:1345 85 00
jsr $EFEF ; CPU:$D347 PRG:1347 20 EF EF
cmp #$01 ; CPU:$D34A PRG:134A C9 01
beq UpdateSpritePosition40_Block_1 ; CPU:$D34C PRG:134C F0 05
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition40_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition40_Block:
inc ZpD2 ; CPU:$D34E PRG:134E E6 D2
jmp $D32F ; CPU:$D350 PRG:1350 4C 2F D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition40_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition40_Block_1:
lda ZpD2 ; CPU:$D353 PRG:1353 A5 D2
cmp #$03 ; CPU:$D355 PRG:1355 C9 03
bcs UpdateSpritePosition40_Block_2 ; CPU:$D357 PRG:1357 B0 05
lda #$01 ; CPU:$D359 PRG:1359 A9 01
jmp $D360 ; CPU:$D35B PRG:135B 4C 60 D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition40_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition40_Block_2:
lda #$02 ; CPU:$D35E PRG:135E A9 02
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition41
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition41:
sta ZpDA ; CPU:$D360 PRG:1360 85 DA
lda #$01 ; CPU:$D362 PRG:1362 A9 01
rts ; CPU:$D364 PRG:1364 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition40_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition40_Block_3:
lda #$00 ; CPU:$D365 PRG:1365 A9 00
sta ZpDA ; CPU:$D367 PRG:1367 85 DA
rts ; CPU:$D369 PRG:1369 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition42_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition42_1:
lda Zp53 ; CPU:$D36A PRG:136A A5 53
cmp #$01 ; CPU:$D36C PRG:136C C9 01
beq UpdateSpritePosition42_1_Block ; CPU:$D36E PRG:136E F0 03
jmp $D37B ; CPU:$D370 PRG:1370 4C 7B D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition42_1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition42_1_Block:
lda #$1C ; CPU:$D373 PRG:1373 A9 1C
jsr $C831 ; CPU:$D375 PRG:1375 20 31 C8
jmp $D8AD ; CPU:$D378 PRG:1378 4C AD D8
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition42_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition42_3:
lda #$01 ; CPU:$D37B PRG:137B A9 01
rts ; CPU:$D37D PRG:137D 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition43
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition43:
lda Zp56 ; CPU:$D37E PRG:137E A5 56
cmp #$08 ; CPU:$D380 PRG:1380 C9 08
beq UpdateSpritePosition44 ; CPU:$D382 PRG:1382 F0 0A
cmp #$04 ; CPU:$D384 PRG:1384 C9 04
beq UpdateSpritePosition43_Block ; CPU:$D386 PRG:1386 F0 03
jmp $D4CF ; CPU:$D388 PRG:1388 4C CF D4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition43_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition43_Block:
jmp $D432 ; CPU:$D38B PRG:138B 4C 32 D4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44:
lda Zp5A ; CPU:$D38E PRG:138E A5 5A
beq UpdateSpritePosition44_Block ; CPU:$D390 PRG:1390 F0 0A
jsr $EAE1 ; CPU:$D392 PRG:1392 20 E1 EA
dec Zp01 ; CPU:$D395 PRG:1395 C6 01
jsr $D50A ; CPU:$D397 PRG:1397 20 0A D5
bne UpdateSpritePosition44_Block_3 ; CPU:$D39A PRG:139A D0 31
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block:
lda #$24 ; CPU:$D39C PRG:139C A9 24
sta Zp0A ; CPU:$D39E PRG:139E 85 0A
lda #$49 ; CPU:$D3A0 PRG:13A0 A9 49
jsr $D9E8 ; CPU:$D3A2 PRG:13A2 20 E8 D9
bne UpdateSpritePosition44_Block_1 ; CPU:$D3A5 PRG:13A5 D0 08
lda $0200 ; CPU:$D3A7 PRG:13A7 AD 00 02
sta Zp01 ; CPU:$D3AA PRG:13AA 85 01
jmp $D4CF ; CPU:$D3AC PRG:13AC 4C CF D4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block_1:
jsr $D50A ; CPU:$D3AF PRG:13AF 20 0A D5
beq UpdateSpritePosition44_Block_5 ; CPU:$D3B2 PRG:13B2 F0 33
cmp #$02 ; CPU:$D3B4 PRG:13B4 C9 02
bne UpdateSpritePosition44_Block_2 ; CPU:$D3B6 PRG:13B6 D0 03
jmp $D4CF ; CPU:$D3B8 PRG:13B8 4C CF D4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block_2:
lda Zp5B ; CPU:$D3BB PRG:13BB A5 5B
beq UpdateSpritePosition44_Block_4 ; CPU:$D3BD PRG:13BD F0 11
clc ; CPU:$D3BF PRG:13BF 18
adc #$01 ; CPU:$D3C0 PRG:13C0 69 01
cmp #$10 ; CPU:$D3C2 PRG:13C2 C9 10
beq SubCD3D2 ; CPU:$D3C4 PRG:13C4 F0 0C
bcc SubCD3D2 ; CPU:$D3C6 PRG:13C6 90 0A
lda #$10 ; CPU:$D3C8 PRG:13C8 A9 10
jmp $D3D2 ; CPU:$D3CA PRG:13CA 4C D2 D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block_3:
jmp $D4CF ; CPU:$D3CD PRG:13CD 4C CF D4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block_4:
lda #$01 ; CPU:$D3D0 PRG:13D0 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD3D2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD3D2:
sta Zp5B ; CPU:$D3D2 PRG:13D2 85 5B
tax ; CPU:$D3D4 PRG:13D4 AA
dex ; CPU:$D3D5 PRG:13D5 CA
lda $C147,x ; CPU:$D3D6 PRG:13D6 BD 47 C1
sta Zp02 ; CPU:$D3D9 PRG:13D9 85 02
lda #$00 ; CPU:$D3DB PRG:13DB A9 00
sta Zp5A ; CPU:$D3DD PRG:13DD 85 5A
sta Zp5C ; CPU:$D3DF PRG:13DF 85 5C
jsr $D4EE ; CPU:$D3E1 PRG:13E1 20 EE D4
jmp $D40D ; CPU:$D3E4 PRG:13E4 4C 0D D4
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block_5:
lda Zp5C ; CPU:$D3E7 PRG:13E7 A5 5C
beq UpdateSpritePosition44_Block_6 ; CPU:$D3E9 PRG:13E9 F0 0E
clc ; CPU:$D3EB PRG:13EB 18
adc #$01 ; CPU:$D3EC PRG:13EC 69 01
cmp #$06 ; CPU:$D3EE PRG:13EE C9 06
beq SubCD3FB ; CPU:$D3F0 PRG:13F0 F0 09
bcc SubCD3FB ; CPU:$D3F2 PRG:13F2 90 07
lda #$01 ; CPU:$D3F4 PRG:13F4 A9 01
jmp $D3FB ; CPU:$D3F6 PRG:13F6 4C FB D3
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition44_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition44_Block_6:
lda #$02 ; CPU:$D3F9 PRG:13F9 A9 02
; -----------------------------------------------------------------------------
; Routine: SubCD3FB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD3FB:
sta Zp5C ; CPU:$D3FB PRG:13FB 85 5C
tax ; CPU:$D3FD PRG:13FD AA
dex ; CPU:$D3FE PRG:13FE CA
lda $C159,x ; CPU:$D3FF PRG:13FF BD 59 C1
sta Zp02 ; CPU:$D402 PRG:1402 85 02
lda #$00 ; CPU:$D404 PRG:1404 A9 00
sta Zp5A ; CPU:$D406 PRG:1406 85 5A
sta Zp5B ; CPU:$D408 PRG:1408 85 5B
jsr $D4EE ; CPU:$D40A PRG:140A 20 EE D4
; -----------------------------------------------------------------------------
; Routine: SubCD40D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD40D:
lda ZpA1 ; CPU:$D40D PRG:140D A5 A1
sta Zp00 ; CPU:$D40F PRG:140F 85 00
sta $0203 ; CPU:$D411 PRG:1411 8D 03 02
jsr $EAD1 ; CPU:$D414 PRG:1414 20 D1 EA
lda #$00 ; CPU:$D417 PRG:1417 A9 00
sta Zp04 ; CPU:$D419 PRG:1419 85 04
lda Zp02 ; CPU:$D41B PRG:141B A5 02
cmp #$54 ; CPU:$D41D PRG:141D C9 54
beq SubCD40D_Block ; CPU:$D41F PRG:141F F0 05
lda #$00 ; CPU:$D421 PRG:1421 A9 00
jmp $D42C ; CPU:$D423 PRG:1423 4C 2C D4
; -----------------------------------------------------------------------------
; Routine: SubCD40D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD40D_Block:
lda #$24 ; CPU:$D426 PRG:1426 A9 24
sta Zp02 ; CPU:$D428 PRG:1428 85 02
lda #$01 ; CPU:$D42A PRG:142A A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD42C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD42C:
jsr $F096 ; CPU:$D42C PRG:142C 20 96 F0
jmp $D4CF ; CPU:$D42F PRG:142F 4C CF D4
; -----------------------------------------------------------------------------
; Routine: SubCD432
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432:
lda Zp5A ; CPU:$D432 PRG:1432 A5 5A
beq SubCD432_Block ; CPU:$D434 PRG:1434 F0 0F
jsr $EAE1 ; CPU:$D436 PRG:1436 20 E1 EA
inc Zp01 ; CPU:$D439 PRG:1439 E6 01
jsr $D50A ; CPU:$D43B PRG:143B 20 0A D5
cmp #$01 ; CPU:$D43E PRG:143E C9 01
beq SubCD432_Block ; CPU:$D440 PRG:1440 F0 03
jmp $D4CF ; CPU:$D442 PRG:1442 4C CF D4
; -----------------------------------------------------------------------------
; Routine: SubCD432_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432_Block:
lda #$24 ; CPU:$D445 PRG:1445 A9 24
sta Zp0A ; CPU:$D447 PRG:1447 85 0A
lda #$49 ; CPU:$D449 PRG:1449 A9 49
sta Zp0B ; CPU:$D44B PRG:144B 85 0B
jsr $D9E6 ; CPU:$D44D PRG:144D 20 E6 D9
bne SubCD432_Block_1 ; CPU:$D450 PRG:1450 D0 08
lda $0200 ; CPU:$D452 PRG:1452 AD 00 02
sta Zp01 ; CPU:$D455 PRG:1455 85 01
jmp $D4CF ; CPU:$D457 PRG:1457 4C CF D4
; -----------------------------------------------------------------------------
; Routine: SubCD432_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432_Block_1:
jsr $D50A ; CPU:$D45A PRG:145A 20 0A D5
beq SubCD432_Block_4 ; CPU:$D45D PRG:145D F0 2C
cmp #$02 ; CPU:$D45F PRG:145F C9 02
beq SubCD432_Block_4 ; CPU:$D461 PRG:1461 F0 28
lda Zp5B ; CPU:$D463 PRG:1463 A5 5B
beq SubCD432_Block_2 ; CPU:$D465 PRG:1465 F0 0A
sec ; CPU:$D467 PRG:1467 38
sbc #$01 ; CPU:$D468 PRG:1468 E9 01
cmp #$01 ; CPU:$D46A PRG:146A C9 01
bcc SubCD432_Block_3 ; CPU:$D46C PRG:146C 90 08
jmp $D478 ; CPU:$D46E PRG:146E 4C 78 D4
; -----------------------------------------------------------------------------
; Routine: SubCD432_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432_Block_2:
lda #$0D ; CPU:$D471 PRG:1471 A9 0D
jmp $D478 ; CPU:$D473 PRG:1473 4C 78 D4
; -----------------------------------------------------------------------------
; Routine: SubCD432_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432_Block_3:
lda #$01 ; CPU:$D476 PRG:1476 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD478
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD478:
sta Zp5B ; CPU:$D478 PRG:1478 85 5B
tax ; CPU:$D47A PRG:147A AA
dex ; CPU:$D47B PRG:147B CA
lda $C147,x ; CPU:$D47C PRG:147C BD 47 C1
sta Zp02 ; CPU:$D47F PRG:147F 85 02
lda #$03 ; CPU:$D481 PRG:1481 A9 03
sta Zp5C ; CPU:$D483 PRG:1483 85 5C
jsr $D4F9 ; CPU:$D485 PRG:1485 20 F9 D4
jmp $D4B1 ; CPU:$D488 PRG:1488 4C B1 D4
; -----------------------------------------------------------------------------
; Routine: SubCD432_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432_Block_4:
lda Zp5C ; CPU:$D48B PRG:148B A5 5C
beq SubCD432_Block_5 ; CPU:$D48D PRG:148D F0 0E
clc ; CPU:$D48F PRG:148F 18
adc #$01 ; CPU:$D490 PRG:1490 69 01
cmp #$06 ; CPU:$D492 PRG:1492 C9 06
beq SubCD49F ; CPU:$D494 PRG:1494 F0 09
bcc SubCD49F ; CPU:$D496 PRG:1496 90 07
lda #$01 ; CPU:$D498 PRG:1498 A9 01
jmp $D49F ; CPU:$D49A PRG:149A 4C 9F D4
; -----------------------------------------------------------------------------
; Routine: SubCD432_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD432_Block_5:
lda #$01 ; CPU:$D49D PRG:149D A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD49F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD49F:
sta Zp5C ; CPU:$D49F PRG:149F 85 5C
sec ; CPU:$D4A1 PRG:14A1 38
sbc #$01 ; CPU:$D4A2 PRG:14A2 E9 01
tax ; CPU:$D4A4 PRG:14A4 AA
lda $C159,x ; CPU:$D4A5 PRG:14A5 BD 59 C1
sta Zp02 ; CPU:$D4A8 PRG:14A8 85 02
lda #$00 ; CPU:$D4AA PRG:14AA A9 00
sta Zp5B ; CPU:$D4AC PRG:14AC 85 5B
jsr $D4F9 ; CPU:$D4AE PRG:14AE 20 F9 D4
; -----------------------------------------------------------------------------
; Routine: SubCD4B1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD4B1:
lda ZpA1 ; CPU:$D4B1 PRG:14B1 A5 A1
sta $0203 ; CPU:$D4B3 PRG:14B3 8D 03 02
sta Zp00 ; CPU:$D4B6 PRG:14B6 85 00
jsr $EACD ; CPU:$D4B8 PRG:14B8 20 CD EA
lda Zp02 ; CPU:$D4BB PRG:14BB A5 02
cmp #$54 ; CPU:$D4BD PRG:14BD C9 54
beq SubCD4B1_Block ; CPU:$D4BF PRG:14BF F0 05
lda #$00 ; CPU:$D4C1 PRG:14C1 A9 00
jmp $D4CC ; CPU:$D4C3 PRG:14C3 4C CC D4
; -----------------------------------------------------------------------------
; Routine: SubCD4B1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD4B1_Block:
lda #$24 ; CPU:$D4C6 PRG:14C6 A9 24
sta Zp02 ; CPU:$D4C8 PRG:14C8 85 02
lda #$01 ; CPU:$D4CA PRG:14CA A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD4CC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD4CC:
jsr $F096 ; CPU:$D4CC PRG:14CC 20 96 F0
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition49
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition49:
jsr $D2CB ; CPU:$D4CF PRG:14CF 20 CB D2
sta Zp5A ; CPU:$D4D2 PRG:14D2 85 5A
beq UpdateSpritePosition49_Block ; CPU:$D4D4 PRG:14D4 F0 17
lda $0200 ; CPU:$D4D6 PRG:14D6 AD 00 02
clc ; CPU:$D4D9 PRG:14D9 18
adc #$08 ; CPU:$D4DA PRG:14DA 69 08
jsr $E016 ; CPU:$D4DC PRG:14DC 20 16 E0
sta Zp59 ; CPU:$D4DF PRG:14DF 85 59
lda #$01 ; CPU:$D4E1 PRG:14E1 A9 01
sta Zp96 ; CPU:$D4E3 PRG:14E3 85 96
lda #$00 ; CPU:$D4E5 PRG:14E5 A9 00
sta Zp5C ; CPU:$D4E7 PRG:14E7 85 5C
sta Zp5B ; CPU:$D4E9 PRG:14E9 85 5B
sta Zp85 ; CPU:$D4EB PRG:14EB 85 85
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition49_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition49_Block:
rts ; CPU:$D4ED PRG:14ED 60
; -----------------------------------------------------------------------------
; Routine: SubCD4EE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD4EE:
lda $0200 ; CPU:$D4EE PRG:14EE AD 00 02
sec ; CPU:$D4F1 PRG:14F1 38
sbc #$01 ; CPU:$D4F2 PRG:14F2 E9 01
sta Zp01 ; CPU:$D4F4 PRG:14F4 85 01
jmp $D501 ; CPU:$D4F6 PRG:14F6 4C 01 D5
; -----------------------------------------------------------------------------
; Routine: SubCD4F9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD4F9:
lda $0200 ; CPU:$D4F9 PRG:14F9 AD 00 02
clc ; CPU:$D4FC PRG:14FC 18
adc #$01 ; CPU:$D4FD PRG:14FD 69 01
sta Zp01 ; CPU:$D4FF PRG:14FF 85 01
; -----------------------------------------------------------------------------
; Routine: SubCD501
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD501:
and #$06 ; CPU:$D501 PRG:1501 29 06
bne SubCD501_Block ; CPU:$D503 PRG:1503 D0 04
lda #$08 ; CPU:$D505 PRG:1505 A9 08
sta ZpFF ; CPU:$D507 PRG:1507 85 FF
; -----------------------------------------------------------------------------
; Routine: SubCD501_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD501_Block:
rts ; CPU:$D509 PRG:1509 60
; -----------------------------------------------------------------------------
; Routine: SubCD50A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD50A:
jsr $EAE1 ; CPU:$D50A PRG:150A 20 E1 EA
lda #$2C ; CPU:$D50D PRG:150D A9 2C
jsr $EFE8 ; CPU:$D50F PRG:150F 20 E8 EF
lda Zp53 ; CPU:$D512 PRG:1512 A5 53
sec ; CPU:$D514 PRG:1514 38
sbc #$01 ; CPU:$D515 PRG:1515 E9 01
asl a ; CPU:$D517 PRG:1517 0A
tax ; CPU:$D518 PRG:1518 AA
lda $C48B,x ; CPU:$D519 PRG:1519 BD 8B C4
sta Zp04 ; CPU:$D51C PRG:151C 85 04
lda $C48C,x ; CPU:$D51E PRG:151E BD 8C C4
sta Zp05 ; CPU:$D521 PRG:1521 85 05
lda #$43 ; CPU:$D523 PRG:1523 A9 43
sta Zp06 ; CPU:$D525 PRG:1525 85 06
lda #$C1 ; CPU:$D527 PRG:1527 A9 C1
sta Zp07 ; CPU:$D529 PRG:1529 85 07
jsr $D8AD ; CPU:$D52B PRG:152B 20 AD D8
sta Zp08 ; CPU:$D52E PRG:152E 85 08
lda Zp53 ; CPU:$D530 PRG:1530 A5 53
cmp #$01 ; CPU:$D532 PRG:1532 C9 01
bne SubCD50A_Block ; CPU:$D534 PRG:1534 D0 0E
lda #$1E ; CPU:$D536 PRG:1536 A9 1E
jsr $C831 ; CPU:$D538 PRG:1538 20 31 C8
jsr $D8AD ; CPU:$D53B PRG:153B 20 AD D8
beq SubCD50A_Block ; CPU:$D53E PRG:153E F0 04
lda #$02 ; CPU:$D540 PRG:1540 A9 02
sta Zp08 ; CPU:$D542 PRG:1542 85 08
; -----------------------------------------------------------------------------
; Routine: SubCD50A_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD50A_Block:
lda Zp08 ; CPU:$D544 PRG:1544 A5 08
rts ; CPU:$D546 PRG:1546 60
; -----------------------------------------------------------------------------
; Routine: SubCD547
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD547:
lda #$FF ; CPU:$D547 PRG:1547 A9 FF
jsr $D9E6 ; CPU:$D549 PRG:1549 20 E6 D9
cmp #$00 ; CPU:$D54C PRG:154C C9 00
bne SubCD547_Block ; CPU:$D54E PRG:154E D0 01
rts ; CPU:$D550 PRG:1550 60
; -----------------------------------------------------------------------------
; Routine: SubCD547_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD547_Block:
lda Zp94 ; CPU:$D551 PRG:1551 A5 94
cmp #$F0 ; CPU:$D553 PRG:1553 C9 F0
bcc SubCD547_Block_1 ; CPU:$D555 PRG:1555 90 03
jmp $D60D ; CPU:$D557 PRG:1557 4C 0D D6
; -----------------------------------------------------------------------------
; Routine: SubCD547_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD547_Block_1:
jsr $D990 ; CPU:$D55A PRG:155A 20 90 D9
beq SubCD56C_Block ; CPU:$D55D PRG:155D F0 11
lda Zp56 ; CPU:$D55F PRG:155F A5 56
cmp #$01 ; CPU:$D561 PRG:1561 C9 01
bne SubCD547_Block_2 ; CPU:$D563 PRG:1563 D0 05
lda #$02 ; CPU:$D565 PRG:1565 A9 02
jmp $D56C ; CPU:$D567 PRG:1567 4C 6C D5
; -----------------------------------------------------------------------------
; Routine: SubCD547_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD547_Block_2:
lda #$01 ; CPU:$D56A PRG:156A A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD56C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD56C:
sta Zp56 ; CPU:$D56C PRG:156C 85 56
sta Zp57 ; CPU:$D56E PRG:156E 85 57
; -----------------------------------------------------------------------------
; Routine: SubCD56C_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD56C_Block:
lda $0200 ; CPU:$D570 PRG:1570 AD 00 02
sta Zp01 ; CPU:$D573 PRG:1573 85 01
lda #$00 ; CPU:$D575 PRG:1575 A9 00
jsr $EF72 ; CPU:$D577 PRG:1577 20 72 EF
lda Zp01 ; CPU:$D57A PRG:157A A5 01
sta $0200 ; CPU:$D57C PRG:157C 8D 00 02
lda Zp56 ; CPU:$D57F PRG:157F A5 56
cmp #$01 ; CPU:$D581 PRG:1581 C9 01
beq SubCD56C_Block_1 ; CPU:$D583 PRG:1583 F0 07
cmp #$02 ; CPU:$D585 PRG:1585 C9 02
beq SubCD56C_Block_3 ; CPU:$D587 PRG:1587 F0 18
jmp $D5B3 ; CPU:$D589 PRG:1589 4C B3 D5
; -----------------------------------------------------------------------------
; Routine: SubCD56C_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD56C_Block_1:
lda Zp9E ; CPU:$D58C PRG:158C A5 9E
beq SubCD56C_Block_2 ; CPU:$D58E PRG:158E F0 0A
inc $0203 ; CPU:$D590 PRG:1590 EE 03 02
lda #$00 ; CPU:$D593 PRG:1593 A9 00
sta Zp9E ; CPU:$D595 PRG:1595 85 9E
jmp $D5B3 ; CPU:$D597 PRG:1597 4C B3 D5
; -----------------------------------------------------------------------------
; Routine: SubCD56C_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD56C_Block_2:
lda #$01 ; CPU:$D59A PRG:159A A9 01
sta Zp9E ; CPU:$D59C PRG:159C 85 9E
jmp $D5B3 ; CPU:$D59E PRG:159E 4C B3 D5
; -----------------------------------------------------------------------------
; Routine: SubCD56C_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD56C_Block_3:
lda Zp9E ; CPU:$D5A1 PRG:15A1 A5 9E
beq SubCD56C_Block_4 ; CPU:$D5A3 PRG:15A3 F0 0A
dec $0203 ; CPU:$D5A5 PRG:15A5 CE 03 02
lda #$00 ; CPU:$D5A8 PRG:15A8 A9 00
sta Zp9E ; CPU:$D5AA PRG:15AA 85 9E
jmp $D5B3 ; CPU:$D5AC PRG:15AC 4C B3 D5
; -----------------------------------------------------------------------------
; Routine: SubCD56C_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD56C_Block_4:
lda #$01 ; CPU:$D5AF PRG:15AF A9 01
sta Zp9E ; CPU:$D5B1 PRG:15B1 85 9E
; -----------------------------------------------------------------------------
; Routine: SubCD5B3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD5B3:
lda $0203 ; CPU:$D5B3 PRG:15B3 AD 03 02
sta Zp00 ; CPU:$D5B6 PRG:15B6 85 00
jsr $D800 ; CPU:$D5B8 PRG:15B8 20 00 D8
lda Zp94 ; CPU:$D5BB PRG:15BB A5 94
beq SubCD5B3_Block_1 ; CPU:$D5BD PRG:15BD F0 23
lda Zp01 ; CPU:$D5BF PRG:15BF A5 01
sec ; CPU:$D5C1 PRG:15C1 38
sbc #$10 ; CPU:$D5C2 PRG:15C2 E9 10
cmp Zp95 ; CPU:$D5C4 PRG:15C4 C5 95
bcc SubCD5B3_Block ; CPU:$D5C6 PRG:15C6 90 04
lda #$FF ; CPU:$D5C8 PRG:15C8 A9 FF
sta Zp95 ; CPU:$D5CA PRG:15CA 85 95
; -----------------------------------------------------------------------------
; Routine: SubCD5B3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD5B3_Block:
jsr $D2CB ; CPU:$D5CC PRG:15CC 20 CB D2
sta Zp5A ; CPU:$D5CF PRG:15CF 85 5A
beq SubCD5F1 ; CPU:$D5D1 PRG:15D1 F0 1E
lda Zp4B ; CPU:$D5D3 PRG:15D3 A5 4B
sec ; CPU:$D5D5 PRG:15D5 38
sbc #$11 ; CPU:$D5D6 PRG:15D6 E9 11
sta $0200 ; CPU:$D5D8 PRG:15D8 8D 00 02
lda #$01 ; CPU:$D5DB PRG:15DB A9 01
sta Zp5A ; CPU:$D5DD PRG:15DD 85 5A
jmp $D5F6 ; CPU:$D5DF PRG:15DF 4C F6 D5
; -----------------------------------------------------------------------------
; Routine: SubCD5B3_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD5B3_Block_1:
lda #$04 ; CPU:$D5E2 PRG:15E2 A9 04
sta ZpFF ; CPU:$D5E4 PRG:15E4 85 FF
lda #$01 ; CPU:$D5E6 PRG:15E6 A9 01
sta Zp94 ; CPU:$D5E8 PRG:15E8 85 94
lda Zp01 ; CPU:$D5EA PRG:15EA A5 01
sta Zp95 ; CPU:$D5EC PRG:15EC 85 95
jmp $D5F1 ; CPU:$D5EE PRG:15EE 4C F1 D5
; -----------------------------------------------------------------------------
; Routine: SubCD5F1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD5F1:
lda #$28 ; CPU:$D5F1 PRG:15F1 A9 28
jmp $F070 ; CPU:$D5F3 PRG:15F3 4C 70 F0
; -----------------------------------------------------------------------------
; Routine: SubCD5F6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD5F6:
jsr $EAE1 ; CPU:$D5F6 PRG:15F6 20 E1 EA
lda #$2C ; CPU:$D5F9 PRG:15F9 A9 2C
sta Zp02 ; CPU:$D5FB PRG:15FB 85 02
jsr $EACD ; CPU:$D5FD PRG:15FD 20 CD EA
lda Zp57 ; CPU:$D600 PRG:1600 A5 57
and #$03 ; CPU:$D602 PRG:1602 29 03
lsr a ; CPU:$D604 PRG:1604 4A
jsr $F096 ; CPU:$D605 PRG:1605 20 96 F0
lda #$F0 ; CPU:$D608 PRG:1608 A9 F0
sta Zp94 ; CPU:$D60A PRG:160A 85 94
rts ; CPU:$D60C PRG:160C 60
; -----------------------------------------------------------------------------
; Routine: SubCD60D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD60D:
inc Zp94 ; CPU:$D60D PRG:160D E6 94
lda Zp94 ; CPU:$D60F PRG:160F A5 94
cmp #$F4 ; CPU:$D611 PRG:1611 C9 F4
bne SubCD60D_Block_1 ; CPU:$D613 PRG:1613 D0 3A
lda Zp95 ; CPU:$D615 PRG:1615 A5 95
cmp #$FF ; CPU:$D617 PRG:1617 C9 FF
beq SubCD60D_Block ; CPU:$D619 PRG:1619 F0 27
lda #$04 ; CPU:$D61B PRG:161B A9 04
jsr $F070 ; CPU:$D61D PRG:161D 20 70 F0
lda #$00 ; CPU:$D620 PRG:1620 A9 00
sta $042C ; CPU:$D622 PRG:1622 8D 2C 04
sta Zp94 ; CPU:$D625 PRG:1625 85 94
sta Zp95 ; CPU:$D627 PRG:1627 85 95
lda #$01 ; CPU:$D629 PRG:1629 A9 01
sta Zp96 ; CPU:$D62B PRG:162B 85 96
lda ZpA0 ; CPU:$D62D PRG:162D A5 A0
beq SubCD60D_Block_1 ; CPU:$D62F PRG:162F F0 1E
lda #$01 ; CPU:$D631 PRG:1631 A9 01
sta Zp9F ; CPU:$D633 PRG:1633 85 9F
lda #$4B ; CPU:$D635 PRG:1635 A9 4B
sta Zp3F ; CPU:$D637 PRG:1637 85 3F
lda #$0A ; CPU:$D639 PRG:1639 A9 0A
sta Zp96 ; CPU:$D63B PRG:163B 85 96
lda #$40 ; CPU:$D63D PRG:163D A9 40
sta ZpFC ; CPU:$D63F PRG:163F 85 FC
rts ; CPU:$D641 PRG:1641 60
; -----------------------------------------------------------------------------
; Routine: SubCD60D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD60D_Block:
lda #$00 ; CPU:$D642 PRG:1642 A9 00
sta $042C ; CPU:$D644 PRG:1644 8D 2C 04
sta Zp94 ; CPU:$D647 PRG:1647 85 94
sta Zp95 ; CPU:$D649 PRG:1649 85 95
lda #$FF ; CPU:$D64B PRG:164B A9 FF
sta Zp96 ; CPU:$D64D PRG:164D 85 96
; -----------------------------------------------------------------------------
; Routine: SubCD60D_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD60D_Block_1:
rts ; CPU:$D64F PRG:164F 60
; ---- data $D650-$D696 (71 bytes) ----
; Unreached code block: clears $0472/$0473, copies $0200-$02FF to $0460-$0461
UnreachedCode_D650: .byte $A9, $FE, $8D, $72, $04, $8D, $73, $04, $A2, $00, $A0, $60, $B9, $00, $02, $C9 ; CPU:$D650 PRG:1650 A9 FE 8D 72 04 8D 73 04 A2 00 A0 60 B9 00 02 C9
.byte $FF, $F0, $0F, $9D, $61, $04, $B9, $03, $02, $38, $E9, $08, $9D, $60, $04, $4C ; CPU:$D660 PRG:1660 FF F0 0F 9D 61 04 B9 03 02 38 E9 08 9D 60 04 4C
.byte $7A, $D6, $A9, $00, $9D, $61, $04, $9D, $60, $04, $98, $18, $69, $08, $A8, $E8 ; CPU:$D670 PRG:1670 7A D6 A9 00 9D 61 04 9D 60 04 98 18 69 08 A8 E8
.byte $E8, $E8, $C0, $90, $D0, $D6, $A9, $20, $20, $31, $C8, $20, $AD, $D8, $F0, $06 ; CPU:$D680 PRG:1680 E8 E8 C0 90 D0 D6 A9 20 20 31 C8 20 AD D8 F0 06
.byte $A9, $08, $85, $96, $A9, $01, $60 ; CPU:$D690 PRG:1690 A9 08 85 96 A9 01 60
; -----------------------------------------------------------------------------
; Routine: SubCD697
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD697:
lda #$FF ; CPU:$D697 PRG:1697 A9 FF
jsr $D9E6 ; CPU:$D699 PRG:1699 20 E6 D9
beq SubCD6B7_Block ; CPU:$D69C PRG:169C F0 27
jsr $EAE1 ; CPU:$D69E PRG:169E 20 E1 EA
inc Zp01 ; CPU:$D6A1 PRG:16A1 E6 01
inc Zp01 ; CPU:$D6A3 PRG:16A3 E6 01
lda Zp57 ; CPU:$D6A5 PRG:16A5 A5 57
cmp #$02 ; CPU:$D6A7 PRG:16A7 C9 02
beq SubCD697_Block ; CPU:$D6A9 PRG:16A9 F0 06
lda $0201 ; CPU:$D6AB PRG:16AB AD 01 02
jmp $D6B7 ; CPU:$D6AE PRG:16AE 4C B7 D6
; -----------------------------------------------------------------------------
; Routine: SubCD697_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD697_Block:
lda $0201 ; CPU:$D6B1 PRG:16B1 AD 01 02
sec ; CPU:$D6B4 PRG:16B4 38
sbc #$02 ; CPU:$D6B5 PRG:16B5 E9 02
; -----------------------------------------------------------------------------
; Routine: SubCD6B7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6B7:
sta Zp02 ; CPU:$D6B7 PRG:16B7 85 02
jsr $F075 ; CPU:$D6B9 PRG:16B9 20 75 F0
jsr $D2CB ; CPU:$D6BC PRG:16BC 20 CB D2
beq SubCD6B7_Block ; CPU:$D6BF PRG:16BF F0 04
lda #$FF ; CPU:$D6C1 PRG:16C1 A9 FF
sta Zp96 ; CPU:$D6C3 PRG:16C3 85 96
; -----------------------------------------------------------------------------
; Routine: SubCD6B7_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6B7_Block:
rts ; CPU:$D6C5 PRG:16C5 60
; -----------------------------------------------------------------------------
; Routine: SubCD6C6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6:
lda Zp3F ; CPU:$D6C6 PRG:16C6 A5 3F
bne SubCD6C6_Block ; CPU:$D6C8 PRG:16C8 D0 03
jmp $D7BF ; CPU:$D6CA PRG:16CA 4C BF D7
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block:
lda #$DB ; CPU:$D6CD PRG:16CD A9 DB
sta Zp0A ; CPU:$D6CF PRG:16CF 85 0A
lda #$36 ; CPU:$D6D1 PRG:16D1 A9 36
jsr $D9E8 ; CPU:$D6D3 PRG:16D3 20 E8 D9
bne SubCD6C6_Block_1 ; CPU:$D6D6 PRG:16D6 D0 01
rts ; CPU:$D6D8 PRG:16D8 60
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_1:
jsr $D990 ; CPU:$D6D9 PRG:16D9 20 90 D9
bne SubCD6C6_Block_2 ; CPU:$D6DC PRG:16DC D0 0A
lda Zp56 ; CPU:$D6DE PRG:16DE A5 56
cmp #$01 ; CPU:$D6E0 PRG:16E0 C9 01
beq SubCD6C6_Block_6 ; CPU:$D6E2 PRG:16E2 F0 26
cmp #$02 ; CPU:$D6E4 PRG:16E4 C9 02
beq SubCD6C6_Block_7 ; CPU:$D6E6 PRG:16E6 F0 28
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_2:
lda ZpA2 ; CPU:$D6E8 PRG:16E8 A5 A2
asl a ; CPU:$D6EA PRG:16EA 0A
sta ZpA2 ; CPU:$D6EB PRG:16EB 85 A2
beq SubCD6C6_Block_3 ; CPU:$D6ED PRG:16ED F0 03
jmp $D753 ; CPU:$D6EF PRG:16EF 4C 53 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_3:
lda #$20 ; CPU:$D6F2 PRG:16F2 A9 20
sta ZpA2 ; CPU:$D6F4 PRG:16F4 85 A2
lda Zp9F ; CPU:$D6F6 PRG:16F6 A5 9F
beq SubCD6C6_Block_4 ; CPU:$D6F8 PRG:16F8 F0 04
cmp #$04 ; CPU:$D6FA PRG:16FA C9 04
bcc SubCD6C6_Block_5 ; CPU:$D6FC PRG:16FC 90 05
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_4:
lda #$02 ; CPU:$D6FE PRG:16FE A9 02
jmp $D705 ; CPU:$D700 PRG:1700 4C 05 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_5:
lda #$05 ; CPU:$D703 PRG:1703 A9 05
; -----------------------------------------------------------------------------
; Routine: SubCD705
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD705:
sta Zp9F ; CPU:$D705 PRG:1705 85 9F
jmp $D753 ; CPU:$D707 PRG:1707 4C 53 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_6:
inc $0203 ; CPU:$D70A PRG:170A EE 03 02
jmp $D713 ; CPU:$D70D PRG:170D 4C 13 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6C6_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6C6_Block_7:
dec $0203 ; CPU:$D710 PRG:1710 CE 03 02
; -----------------------------------------------------------------------------
; Routine: SubCD713
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD713:
jsr $D2CB ; CPU:$D713 PRG:1713 20 CB D2
sta Zp5A ; CPU:$D716 PRG:1716 85 5A
lda $0200 ; CPU:$D718 PRG:1718 AD 00 02
jsr $E016 ; CPU:$D71B PRG:171B 20 16 E0
sta Zp59 ; CPU:$D71E PRG:171E 85 59
jsr $D8EB ; CPU:$D720 PRG:1720 20 EB D8
beq SubCD713_Block_1 ; CPU:$D723 PRG:1723 F0 19
ldx Zp53 ; CPU:$D725 PRG:1725 A6 53
cpx #$01 ; CPU:$D727 PRG:1727 E0 01
bne SubCD713_Block ; CPU:$D729 PRG:1729 D0 07
clc ; CPU:$D72B PRG:172B 18
adc $0200 ; CPU:$D72C PRG:172C 6D 00 02
sta $0200 ; CPU:$D72F PRG:172F 8D 00 02
; -----------------------------------------------------------------------------
; Routine: SubCD713_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD713_Block:
jsr $D36A ; CPU:$D732 PRG:1732 20 6A D3
beq SubCD713_Block_1 ; CPU:$D735 PRG:1735 F0 07
lda #$08 ; CPU:$D737 PRG:1737 A9 08
sta Zp96 ; CPU:$D739 PRG:1739 85 96
jmp $D7BF ; CPU:$D73B PRG:173B 4C BF D7
; -----------------------------------------------------------------------------
; Routine: SubCD713_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD713_Block_1:
lda #$08 ; CPU:$D73E PRG:173E A9 08
sta ZpFF ; CPU:$D740 PRG:1740 85 FF
lda Zp9F ; CPU:$D742 PRG:1742 A5 9F
beq SubCD713_Block_2 ; CPU:$D744 PRG:1744 F0 09
cmp #$06 ; CPU:$D746 PRG:1746 C9 06
bcs SubCD713_Block_2 ; CPU:$D748 PRG:1748 B0 05
inc Zp9F ; CPU:$D74A PRG:174A E6 9F
jmp $D753 ; CPU:$D74C PRG:174C 4C 53 D7
; -----------------------------------------------------------------------------
; Routine: SubCD713_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD713_Block_2:
lda #$01 ; CPU:$D74F PRG:174F A9 01
sta Zp9F ; CPU:$D751 PRG:1751 85 9F
; -----------------------------------------------------------------------------
; Routine: SubCD753
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD753:
ldx Zp9F ; CPU:$D753 PRG:1753 A6 9F
dex ; CPU:$D755 PRG:1755 CA
lda $C1A2,x ; CPU:$D756 PRG:1756 BD A2 C1
jsr $F070 ; CPU:$D759 PRG:1759 20 70 F0
lda Zp9F ; CPU:$D75C PRG:175C A5 9F
lsr a ; CPU:$D75E PRG:175E 4A
lsr a ; CPU:$D75F PRG:175F 4A
beq SubCD753_Block ; CPU:$D760 PRG:1760 F0 05
lda #$00 ; CPU:$D762 PRG:1762 A9 00
jmp $D769 ; CPU:$D764 PRG:1764 4C 69 D7
; -----------------------------------------------------------------------------
; Routine: SubCD753_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD753_Block:
lda #$01 ; CPU:$D767 PRG:1767 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD769
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD769:
beq SubCD769_Block ; CPU:$D769 PRG:1769 F0 1B
lda #$04 ; CPU:$D76B PRG:176B A9 04
clc ; CPU:$D76D PRG:176D 18
adc $0203 ; CPU:$D76E PRG:176E 6D 03 02
sta Zp00 ; CPU:$D771 PRG:1771 85 00
lda $0200 ; CPU:$D773 PRG:1773 AD 00 02
sec ; CPU:$D776 PRG:1776 38
sbc #$0E ; CPU:$D777 PRG:1777 E9 0E
sta Zp01 ; CPU:$D779 PRG:1779 85 01
lda #$21 ; CPU:$D77B PRG:177B A9 21
sta Zp03 ; CPU:$D77D PRG:177D 85 03
lda #$F6 ; CPU:$D77F PRG:177F A9 F6
sta Zp02 ; CPU:$D781 PRG:1781 85 02
jmp $D7AD ; CPU:$D783 PRG:1783 4C AD D7
; -----------------------------------------------------------------------------
; Routine: SubCD769_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD769_Block:
lda Zp57 ; CPU:$D786 PRG:1786 A5 57
cmp #$01 ; CPU:$D788 PRG:1788 C9 01
bne SubCD769_Block_1 ; CPU:$D78A PRG:178A D0 09
lda #$0E ; CPU:$D78C PRG:178C A9 0E
clc ; CPU:$D78E PRG:178E 18
adc $0203 ; CPU:$D78F PRG:178F 6D 03 02
jmp $D79B ; CPU:$D792 PRG:1792 4C 9B D7
; -----------------------------------------------------------------------------
; Routine: SubCD769_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD769_Block_1:
lda $0203 ; CPU:$D795 PRG:1795 AD 03 02
sec ; CPU:$D798 PRG:1798 38
sbc #$0E ; CPU:$D799 PRG:1799 E9 0E
; -----------------------------------------------------------------------------
; Routine: SubCD79B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD79B:
sta Zp00 ; CPU:$D79B PRG:179B 85 00
lda #$06 ; CPU:$D79D PRG:179D A9 06
clc ; CPU:$D79F PRG:179F 18
adc $0200 ; CPU:$D7A0 PRG:17A0 6D 00 02
sta Zp01 ; CPU:$D7A3 PRG:17A3 85 01
lda #$12 ; CPU:$D7A5 PRG:17A5 A9 12
sta Zp03 ; CPU:$D7A7 PRG:17A7 85 03
lda #$FA ; CPU:$D7A9 PRG:17A9 A9 FA
sta Zp02 ; CPU:$D7AB PRG:17AB 85 02
; -----------------------------------------------------------------------------
; Routine: SubCD7AD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7AD:
lda ZpA0 ; CPU:$D7AD PRG:17AD A5 A0
cmp #$01 ; CPU:$D7AF PRG:17AF C9 01
beq SubCD7AD_Block ; CPU:$D7B1 PRG:17B1 F0 05
lda #$D8 ; CPU:$D7B3 PRG:17B3 A9 D8
jmp $D7BA ; CPU:$D7B5 PRG:17B5 4C BA D7
; -----------------------------------------------------------------------------
; Routine: SubCD7AD_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7AD_Block:
lda #$D0 ; CPU:$D7B8 PRG:17B8 A9 D0
; -----------------------------------------------------------------------------
; Routine: SubCD7BA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7BA:
sta Zp04 ; CPU:$D7BA PRG:17BA 85 04
jmp $F078 ; CPU:$D7BC PRG:17BC 4C 78 F0
; -----------------------------------------------------------------------------
; Routine: SubCD7BF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7BF:
lda #$12 ; CPU:$D7BF PRG:17BF A9 12
sta Zp03 ; CPU:$D7C1 PRG:17C1 85 03
lda ZpA0 ; CPU:$D7C3 PRG:17C3 A5 A0
cmp #$01 ; CPU:$D7C5 PRG:17C5 C9 01
beq SubCD7BF_Block ; CPU:$D7C7 PRG:17C7 F0 0A
lda #$00 ; CPU:$D7C9 PRG:17C9 A9 00
sta $0452 ; CPU:$D7CB PRG:17CB 8D 52 04
lda #$D8 ; CPU:$D7CE PRG:17CE A9 D8
jmp $D7DA ; CPU:$D7D0 PRG:17D0 4C DA D7
; -----------------------------------------------------------------------------
; Routine: SubCD7BF_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7BF_Block:
lda #$00 ; CPU:$D7D3 PRG:17D3 A9 00
sta $0451 ; CPU:$D7D5 PRG:17D5 8D 51 04
lda #$D0 ; CPU:$D7D8 PRG:17D8 A9 D0
; -----------------------------------------------------------------------------
; Routine: SubCD7DA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7DA:
sta Zp04 ; CPU:$D7DA PRG:17DA 85 04
jsr $F094 ; CPU:$D7DC PRG:17DC 20 94 F0
jsr $D7F2 ; CPU:$D7DF PRG:17DF 20 F2 D7
lda #$01 ; CPU:$D7E2 PRG:17E2 A9 01
sta Zp96 ; CPU:$D7E4 PRG:17E4 85 96
lda #$00 ; CPU:$D7E6 PRG:17E6 A9 00
sta ZpA0 ; CPU:$D7E8 PRG:17E8 85 A0
sta Zp9F ; CPU:$D7EA PRG:17EA 85 9F
lda $0519 ; CPU:$D7EC PRG:17EC AD 19 05
sta ZpFC ; CPU:$D7EF PRG:17EF 85 FC
rts ; CPU:$D7F1 PRG:17F1 60
; -----------------------------------------------------------------------------
; Routine: SubCD7F2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7F2:
lda #$19 ; CPU:$D7F2 PRG:17F2 A9 19
sta Zp00 ; CPU:$D7F4 PRG:17F4 85 00
lda #$3F ; CPU:$D7F6 PRG:17F6 A9 3F
sta Zp01 ; CPU:$D7F8 PRG:17F8 85 01
lda #$4E ; CPU:$D7FA PRG:17FA A9 4E
jsr $C815 ; CPU:$D7FC PRG:17FC 20 15 C8
rts ; CPU:$D7FF PRG:17FF 60
; -----------------------------------------------------------------------------
; Routine: SubCD800
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800:
lda ZpA0 ; CPU:$D800 PRG:1800 A5 A0
beq SubCD800_Block ; CPU:$D802 PRG:1802 F0 01
rts ; CPU:$D804 PRG:1804 60
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block:
ldy Zp53 ; CPU:$D805 PRG:1805 A4 53
cpy #$03 ; CPU:$D807 PRG:1807 C0 03
bne SubCD800_Block_1 ; CPU:$D809 PRG:1809 D0 03
jmp $D8A8 ; CPU:$D80B PRG:180B 4C A8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_1:
lda $0203 ; CPU:$D80E PRG:180E AD 03 02
cpy #$01 ; CPU:$D811 PRG:1811 C0 01
beq SubCD800_Block_2 ; CPU:$D813 PRG:1813 F0 09
cmp #$88 ; CPU:$D815 PRG:1815 C9 88
beq SubCD800_Block_3 ; CPU:$D817 PRG:1817 F0 0E
bcc SubCD800_Block_3 ; CPU:$D819 PRG:1819 90 0C
jmp $D8A8 ; CPU:$D81B PRG:181B 4C A8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_2:
cmp #$28 ; CPU:$D81E PRG:181E C9 28
beq SubCD800_Block_3 ; CPU:$D820 PRG:1820 F0 05
bcc SubCD800_Block_3 ; CPU:$D822 PRG:1822 90 03
jmp $D8A8 ; CPU:$D824 PRG:1824 4C A8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_3:
lda $0200 ; CPU:$D827 PRG:1827 AD 00 02
clc ; CPU:$D82A PRG:182A 18
adc #$08 ; CPU:$D82B PRG:182B 69 08
jsr $E016 ; CPU:$D82D PRG:182D 20 16 E0
sta Zp59 ; CPU:$D830 PRG:1830 85 59
lda Zp53 ; CPU:$D832 PRG:1832 A5 53
sec ; CPU:$D834 PRG:1834 38
sbc #$01 ; CPU:$D835 PRG:1835 E9 01
asl a ; CPU:$D837 PRG:1837 0A
tax ; CPU:$D838 PRG:1838 AA
lda Zp59 ; CPU:$D839 PRG:1839 A5 59
cmp $C1A8,x ; CPU:$D83B PRG:183B DD A8 C1
beq SubCD800_Block_4 ; CPU:$D83E PRG:183E F0 09
inx ; CPU:$D840 PRG:1840 E8
cmp $C1A8,x ; CPU:$D841 PRG:1841 DD A8 C1
beq SubCD800_Block_4 ; CPU:$D844 PRG:1844 F0 03
jmp $D8A8 ; CPU:$D846 PRG:1846 4C A8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_4:
txa ; CPU:$D849 PRG:1849 8A
and #$01 ; CPU:$D84A PRG:184A 29 01
beq SubCD800_Block_6 ; CPU:$D84C PRG:184C F0 19
lda $0452 ; CPU:$D84E PRG:184E AD 52 04
bne SubCD800_Block_5 ; CPU:$D851 PRG:1851 D0 03
jmp $D8A8 ; CPU:$D853 PRG:1853 4C A8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_5:
lda #$02 ; CPU:$D856 PRG:1856 A9 02
sta ZpA0 ; CPU:$D858 PRG:1858 85 A0
lda $02D8 ; CPU:$D85A PRG:185A AD D8 02
sta Zp01 ; CPU:$D85D PRG:185D 85 01
lda $02DB ; CPU:$D85F PRG:185F AD DB 02
sta Zp00 ; CPU:$D862 PRG:1862 85 00
jmp $D87D ; CPU:$D864 PRG:1864 4C 7D D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_6:
lda $0451 ; CPU:$D867 PRG:1867 AD 51 04
bne SubCD800_Block_7 ; CPU:$D86A PRG:186A D0 03
jmp $D8A8 ; CPU:$D86C PRG:186C 4C A8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD800_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD800_Block_7:
lda #$01 ; CPU:$D86F PRG:186F A9 01
sta ZpA0 ; CPU:$D871 PRG:1871 85 A0
lda $02D0 ; CPU:$D873 PRG:1873 AD D0 02
sta Zp01 ; CPU:$D876 PRG:1876 85 01
lda $02D3 ; CPU:$D878 PRG:1878 AD D3 02
sta Zp00 ; CPU:$D87B PRG:187B 85 00
; -----------------------------------------------------------------------------
; Routine: SubCD87D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD87D:
lda #$2E ; CPU:$D87D PRG:187D A9 2E
jsr $EFE8 ; CPU:$D87F PRG:187F 20 E8 EF
jsr $EAE1 ; CPU:$D882 PRG:1882 20 E1 EA
lda #$30 ; CPU:$D885 PRG:1885 A9 30
jsr $C847 ; CPU:$D887 PRG:1887 20 47 C8
jsr $EFEF ; CPU:$D88A PRG:188A 20 EF EF
beq SubCD8A8 ; CPU:$D88D PRG:188D F0 19
lda ZpFC ; CPU:$D88F PRG:188F A5 FC
sta $0519 ; CPU:$D891 PRG:1891 8D 19 05
lda Zp53 ; CPU:$D894 PRG:1894 A5 53
cmp #$04 ; CPU:$D896 PRG:1896 C9 04
bne SubCD87D_Block ; CPU:$D898 PRG:1898 D0 0D
lda #$19 ; CPU:$D89A PRG:189A A9 19
sta Zp00 ; CPU:$D89C PRG:189C 85 00
lda #$3F ; CPU:$D89E PRG:189E A9 3F
sta Zp01 ; CPU:$D8A0 PRG:18A0 85 01
lda #$46 ; CPU:$D8A2 PRG:18A2 A9 46
jsr $C815 ; CPU:$D8A4 PRG:18A4 20 15 C8
; -----------------------------------------------------------------------------
; Routine: SubCD87D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD87D_Block:
rts ; CPU:$D8A7 PRG:18A7 60
; -----------------------------------------------------------------------------
; Routine: SubCD8A8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8A8:
lda #$00 ; CPU:$D8A8 PRG:18A8 A9 00
sta ZpA0 ; CPU:$D8AA PRG:18AA 85 A0
rts ; CPU:$D8AC PRG:18AC 60
; -----------------------------------------------------------------------------
; Routine: CheckSpriteListCollision
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckSpriteListCollision:
lda #$F3 ; CPU:$D8AD PRG:18AD A9 F3
sta Zp0B ; CPU:$D8AF PRG:18AF 85 0B
lda #$00 ; CPU:$D8B1 PRG:18B1 A9 00
sta Zp86 ; CPU:$D8B3 PRG:18B3 85 86
ldy #$00 ; CPU:$D8B5 PRG:18B5 A0 00
lda (Zp04),y ; CPU:$D8B7 PRG:18B7 B1 04
; -----------------------------------------------------------------------------
; Routine: SubCD8B9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8B9:
sta Zp00 ; CPU:$D8B9 PRG:18B9 85 00
iny ; CPU:$D8BB PRG:18BB C8
lda (Zp04),y ; CPU:$D8BC PRG:18BC B1 04
sta Zp01 ; CPU:$D8BE PRG:18BE 85 01
iny ; CPU:$D8C0 PRG:18C0 C8
lda (Zp04),y ; CPU:$D8C1 PRG:18C1 B1 04
clc ; CPU:$D8C3 PRG:18C3 18
adc Zp06 ; CPU:$D8C4 PRG:18C4 65 06
sta Zp02 ; CPU:$D8C6 PRG:18C6 85 02
lda Zp07 ; CPU:$D8C8 PRG:18C8 A5 07
adc #$00 ; CPU:$D8CA PRG:18CA 69 00
sta Zp03 ; CPU:$D8CC PRG:18CC 85 03
sty Zp86 ; CPU:$D8CE PRG:18CE 84 86
jsr $EFF3 ; CPU:$D8D0 PRG:18D0 20 F3 EF
bne SubCD8B9_Block ; CPU:$D8D3 PRG:18D3 D0 0C
ldy Zp86 ; CPU:$D8D5 PRG:18D5 A4 86
iny ; CPU:$D8D7 PRG:18D7 C8
lda (Zp04),y ; CPU:$D8D8 PRG:18D8 B1 04
cmp #$FE ; CPU:$D8DA PRG:18DA C9 FE
beq SubCD8B9_Block_1 ; CPU:$D8DC PRG:18DC F0 08
jmp $D8B9 ; CPU:$D8DE PRG:18DE 4C B9 D8
; -----------------------------------------------------------------------------
; Routine: SubCD8B9_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8B9_Block:
lda #$01 ; CPU:$D8E1 PRG:18E1 A9 01
jmp $D8E8 ; CPU:$D8E3 PRG:18E3 4C E8 D8
; -----------------------------------------------------------------------------
; Routine: SubCD8B9_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8B9_Block_1:
lda #$00 ; CPU:$D8E6 PRG:18E6 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCD8E8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8E8:
sta Zp0C ; CPU:$D8E8 PRG:18E8 85 0C
rts ; CPU:$D8EA PRG:18EA 60
; -----------------------------------------------------------------------------
; Routine: SubCD8EB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8EB:
lda Zp5A ; CPU:$D8EB PRG:18EB A5 5A
bne SubCD917 ; CPU:$D8ED PRG:18ED D0 28
lda Zp59 ; CPU:$D8EF PRG:18EF A5 59
beq SubCD917 ; CPU:$D8F1 PRG:18F1 F0 24
and #$01 ; CPU:$D8F3 PRG:18F3 29 01
bne SubCD8EB_Block ; CPU:$D8F5 PRG:18F5 D0 0D
lda Zp56 ; CPU:$D8F7 PRG:18F7 A5 56
cmp #$01 ; CPU:$D8F9 PRG:18F9 C9 01
beq SubCD8EB_Block_2 ; CPU:$D8FB PRG:18FB F0 17
cmp #$02 ; CPU:$D8FD PRG:18FD C9 02
beq SubCD8EB_Block_1 ; CPU:$D8FF PRG:18FF F0 10
jmp $D917 ; CPU:$D901 PRG:1901 4C 17 D9
; -----------------------------------------------------------------------------
; Routine: SubCD8EB_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8EB_Block:
lda Zp56 ; CPU:$D904 PRG:1904 A5 56
cmp #$01 ; CPU:$D906 PRG:1906 C9 01
beq SubCD8EB_Block_1 ; CPU:$D908 PRG:1908 F0 07
cmp #$02 ; CPU:$D90A PRG:190A C9 02
beq SubCD8EB_Block_2 ; CPU:$D90C PRG:190C F0 06
jmp $D917 ; CPU:$D90E PRG:190E 4C 17 D9
; -----------------------------------------------------------------------------
; Routine: SubCD8EB_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8EB_Block_1:
lda #$FF ; CPU:$D911 PRG:1911 A9 FF
rts ; CPU:$D913 PRG:1913 60
; -----------------------------------------------------------------------------
; Routine: SubCD8EB_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8EB_Block_2:
lda #$01 ; CPU:$D914 PRG:1914 A9 01
rts ; CPU:$D916 PRG:1916 60
; -----------------------------------------------------------------------------
; Routine: SubCD917
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD917:
lda #$00 ; CPU:$D917 PRG:1917 A9 00
rts ; CPU:$D919 PRG:1919 60
; -----------------------------------------------------------------------------
; Routine: SubCD91A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD91A:
lda $0200 ; CPU:$D91A PRG:191A AD 00 02
clc ; CPU:$D91D PRG:191D 18
adc #$08 ; CPU:$D91E PRG:191E 69 08
jsr $E016 ; CPU:$D920 PRG:1920 20 16 E0
sta Zp59 ; CPU:$D923 PRG:1923 85 59
cmp #$01 ; CPU:$D925 PRG:1925 C9 01
beq SubCD91A_Block ; CPU:$D927 PRG:1927 F0 0F
ldx #$02 ; CPU:$D929 PRG:1929 A2 02
lda #$0C ; CPU:$D92B PRG:192B A9 0C
; -----------------------------------------------------------------------------
; Routine: SubCD92D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD92D:
cpx Zp59 ; CPU:$D92D PRG:192D E4 59
beq SubCD92D_Block ; CPU:$D92F PRG:192F F0 0A
clc ; CPU:$D931 PRG:1931 18
adc #$06 ; CPU:$D932 PRG:1932 69 06
inx ; CPU:$D934 PRG:1934 E8
jmp $D92D ; CPU:$D935 PRG:1935 4C 2D D9
; -----------------------------------------------------------------------------
; Routine: SubCD91A_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD91A_Block:
sec ; CPU:$D938 PRG:1938 38
sbc #$01 ; CPU:$D939 PRG:1939 E9 01
; -----------------------------------------------------------------------------
; Routine: SubCD92D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD92D_Block:
tax ; CPU:$D93B PRG:193B AA
; -----------------------------------------------------------------------------
; Routine: SubCD93C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD93C:
lda #$00 ; CPU:$D93C PRG:193C A9 00
sta Zp86 ; CPU:$D93E PRG:193E 85 86
lda $C08C,x ; CPU:$D940 PRG:1940 BD 8C C0
sta Zp00 ; CPU:$D943 PRG:1943 85 00
inx ; CPU:$D945 PRG:1945 E8
lda $C08C,x ; CPU:$D946 PRG:1946 BD 8C C0
sta Zp01 ; CPU:$D949 PRG:1949 85 01
inx ; CPU:$D94B PRG:194B E8
lda $C08C,x ; CPU:$D94C PRG:194C BD 8C C0
clc ; CPU:$D94F PRG:194F 18
adc Zp06 ; CPU:$D950 PRG:1950 65 06
sta Zp02 ; CPU:$D952 PRG:1952 85 02
lda Zp07 ; CPU:$D954 PRG:1954 A5 07
sta Zp03 ; CPU:$D956 PRG:1956 85 03
inx ; CPU:$D958 PRG:1958 E8
lda $C08C,x ; CPU:$D959 PRG:1959 BD 8C C0
sta Zp08 ; CPU:$D95C PRG:195C 85 08
inx ; CPU:$D95E PRG:195E E8
lda $C08C,x ; CPU:$D95F PRG:195F BD 8C C0
sta Zp09 ; CPU:$D962 PRG:1962 85 09
; -----------------------------------------------------------------------------
; Routine: SubCD93C_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD93C_Block:
jsr $EFEF ; CPU:$D964 PRG:1964 20 EF EF
bne SubCD93C_Block_2 ; CPU:$D967 PRG:1967 D0 22
lda Zp00 ; CPU:$D969 PRG:1969 A5 00
clc ; CPU:$D96B PRG:196B 18
adc Zp08 ; CPU:$D96C PRG:196C 65 08
sta Zp00 ; CPU:$D96E PRG:196E 85 00
dec Zp01 ; CPU:$D970 PRG:1970 C6 01
inc Zp86 ; CPU:$D972 PRG:1972 E6 86
lda Zp09 ; CPU:$D974 PRG:1974 A5 09
cmp Zp86 ; CPU:$D976 PRG:1976 C5 86
bne SubCD93C_Block ; CPU:$D978 PRG:1978 D0 EA
inx ; CPU:$D97A PRG:197A E8
lda $C08C,x ; CPU:$D97B PRG:197B BD 8C C0
cmp #$FE ; CPU:$D97E PRG:197E C9 FE
beq SubCD93C_Block_1 ; CPU:$D980 PRG:1980 F0 04
inx ; CPU:$D982 PRG:1982 E8
jmp $D93C ; CPU:$D983 PRG:1983 4C 3C D9
; -----------------------------------------------------------------------------
; Routine: SubCD93C_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD93C_Block_1:
lda #$00 ; CPU:$D986 PRG:1986 A9 00
jmp $D98D ; CPU:$D988 PRG:1988 4C 8D D9
; -----------------------------------------------------------------------------
; Routine: SubCD93C_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD93C_Block_2:
lda #$01 ; CPU:$D98B PRG:198B A9 01
; -----------------------------------------------------------------------------
; Routine: SubCD98D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD98D:
sta Zp5A ; CPU:$D98D PRG:198D 85 5A
rts ; CPU:$D98F PRG:198F 60
; -----------------------------------------------------------------------------
; Routine: SubCD990
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD990:
lda Zp56 ; CPU:$D990 PRG:1990 A5 56
cmp #$01 ; CPU:$D992 PRG:1992 C9 01
beq SubCD990_Block ; CPU:$D994 PRG:1994 F0 07
cmp #$02 ; CPU:$D996 PRG:1996 C9 02
beq SubCD990_Block_1 ; CPU:$D998 PRG:1998 F0 15
jmp $D9E3 ; CPU:$D99A PRG:199A 4C E3 D9
; -----------------------------------------------------------------------------
; Routine: SubCD990_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD990_Block:
lda Zp53 ; CPU:$D99D PRG:199D A5 53
asl a ; CPU:$D99F PRG:199F 0A
tax ; CPU:$D9A0 PRG:19A0 AA
dex ; CPU:$D9A1 PRG:19A1 CA
lda $C1B4,x ; CPU:$D9A2 PRG:19A2 BD B4 C1
cmp $0203 ; CPU:$D9A5 PRG:19A5 CD 03 02
beq SubCD9D4_Block ; CPU:$D9A8 PRG:19A8 F0 36
bcc SubCD9D4_Block ; CPU:$D9AA PRG:19AA 90 34
jmp $D9E3 ; CPU:$D9AC PRG:19AC 4C E3 D9
; -----------------------------------------------------------------------------
; Routine: SubCD990_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD990_Block_1:
lda Zp53 ; CPU:$D9AF PRG:19AF A5 53
asl a ; CPU:$D9B1 PRG:19B1 0A
tax ; CPU:$D9B2 PRG:19B2 AA
dex ; CPU:$D9B3 PRG:19B3 CA
dex ; CPU:$D9B4 PRG:19B4 CA
lda $C1B4,x ; CPU:$D9B5 PRG:19B5 BD B4 C1
cmp $0203 ; CPU:$D9B8 PRG:19B8 CD 03 02
bcs SubCD9D4_Block ; CPU:$D9BB PRG:19BB B0 23
lda Zp53 ; CPU:$D9BD PRG:19BD A5 53
cmp #$04 ; CPU:$D9BF PRG:19BF C9 04
beq SubCD9E3 ; CPU:$D9C1 PRG:19C1 F0 20
ldx Zp59 ; CPU:$D9C3 PRG:19C3 A6 59
cmp #$03 ; CPU:$D9C5 PRG:19C5 C9 03
beq SubCD990_Block_2 ; CPU:$D9C7 PRG:19C7 F0 07
cpx #$06 ; CPU:$D9C9 PRG:19C9 E0 06
bne SubCD9E3 ; CPU:$D9CB PRG:19CB D0 16
jmp $D9D4 ; CPU:$D9CD PRG:19CD 4C D4 D9
; -----------------------------------------------------------------------------
; Routine: SubCD990_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD990_Block_2:
cpx #$05 ; CPU:$D9D0 PRG:19D0 E0 05
bne SubCD9E3 ; CPU:$D9D2 PRG:19D2 D0 0F
; -----------------------------------------------------------------------------
; Routine: SubCD9D4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9D4:
lda $0203 ; CPU:$D9D4 PRG:19D4 AD 03 02
cmp #$68 ; CPU:$D9D7 PRG:19D7 C9 68
beq SubCD9D4_Block ; CPU:$D9D9 PRG:19D9 F0 05
bcc SubCD9D4_Block ; CPU:$D9DB PRG:19DB 90 03
jmp $D9E3 ; CPU:$D9DD PRG:19DD 4C E3 D9
; -----------------------------------------------------------------------------
; Routine: SubCD9D4_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9D4_Block:
lda #$01 ; CPU:$D9E0 PRG:19E0 A9 01
rts ; CPU:$D9E2 PRG:19E2 60
; -----------------------------------------------------------------------------
; Routine: SubCD9E3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9E3:
lda #$00 ; CPU:$D9E3 PRG:19E3 A9 00
rts ; CPU:$D9E5 PRG:19E5 60
; -----------------------------------------------------------------------------
; Routine: CheckPeriodicEvent
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckPeriodicEvent:
sta Zp0A ; CPU:$D9E6 PRG:19E6 85 0A
; -----------------------------------------------------------------------------
; Routine: SubCD9E8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9E8:
sta Zp0B ; CPU:$D9E8 PRG:19E8 85 0B
inc Zp88 ; CPU:$D9EA PRG:19EA E6 88
lda Zp88 ; CPU:$D9EC PRG:19EC A5 88
cmp #$0F ; CPU:$D9EE PRG:19EE C9 0F
bcs SubCD9E8_Block ; CPU:$D9F0 PRG:19F0 B0 03
jmp $D9F9 ; CPU:$D9F2 PRG:19F2 4C F9 D9
; -----------------------------------------------------------------------------
; Routine: SubCD9E8_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9E8_Block:
lda #$00 ; CPU:$D9F5 PRG:19F5 A9 00
sta Zp88 ; CPU:$D9F7 PRG:19F7 85 88
; -----------------------------------------------------------------------------
; Routine: SubCD9F9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9F9:
cmp #$08 ; CPU:$D9F9 PRG:19F9 C9 08
bcs SubCD9F9_Block ; CPU:$D9FB PRG:19FB B0 09
tax ; CPU:$D9FD PRG:19FD AA
lda $C1BC,x ; CPU:$D9FE PRG:19FE BD BC C1
and Zp0A ; CPU:$DA01 PRG:1A01 25 0A
jmp $DA0F ; CPU:$DA03 PRG:1A03 4C 0F DA
; -----------------------------------------------------------------------------
; Routine: SubCD9F9_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9F9_Block:
sec ; CPU:$DA06 PRG:1A06 38
sbc #$08 ; CPU:$DA07 PRG:1A07 E9 08
tax ; CPU:$DA09 PRG:1A09 AA
lda $C1BC,x ; CPU:$DA0A PRG:1A0A BD BC C1
and Zp0B ; CPU:$DA0D PRG:1A0D 25 0B
; -----------------------------------------------------------------------------
; Routine: SubCDA0F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA0F:
beq SubCDA0F_Block ; CPU:$DA0F PRG:1A0F F0 02
lda #$01 ; CPU:$DA11 PRG:1A11 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCDA0F_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA0F_Block:
sta ZpBE ; CPU:$DA13 PRG:1A13 85 BE
rts ; CPU:$DA15 PRG:1A15 60
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZp5D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZp5D:
jsr $E166 ; CPU:$DA16 PRG:1A16 20 66 E1
lda #$00 ; CPU:$DA19 PRG:1A19 A9 00
sta Zp5D ; CPU:$DA1B PRG:1A1B 85 5D
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZp5D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZp5D_Block:
jsr $EFD5 ; CPU:$DA1D PRG:1A1D 20 D5 EF
lda $0200,x ; CPU:$DA20 PRG:1A20 BD 00 02
cmp #$FF ; CPU:$DA23 PRG:1A23 C9 FF
bne UpdateObjectListZp5D_Block_1 ; CPU:$DA25 PRG:1A25 D0 16
lda Zp36 ; CPU:$DA27 PRG:1A27 A5 36
bne UpdateObjectListZp5D_Block_2 ; CPU:$DA29 PRG:1A29 D0 15
lda #$80 ; CPU:$DA2B PRG:1A2B A9 80
ldx Zp5D ; CPU:$DA2D PRG:1A2D A6 5D
sta Zp5E,x ; CPU:$DA2F PRG:1A2F 95 5E
lda #$10 ; CPU:$DA31 PRG:1A31 A9 10
sta Zp37 ; CPU:$DA33 PRG:1A33 85 37
jsr $EAF7 ; CPU:$DA35 PRG:1A35 20 F7 EA
lda $C443,x ; CPU:$DA38 PRG:1A38 BD 43 C4
sta Zp36 ; CPU:$DA3B PRG:1A3B 85 36
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZp5D_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZp5D_Block_1:
jsr $DA4C ; CPU:$DA3D PRG:1A3D 20 4C DA
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZp5D_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZp5D_Block_2:
lda Zp5D ; CPU:$DA40 PRG:1A40 A5 5D
clc ; CPU:$DA42 PRG:1A42 18
adc #$01 ; CPU:$DA43 PRG:1A43 69 01
sta Zp5D ; CPU:$DA45 PRG:1A45 85 5D
cmp #$09 ; CPU:$DA47 PRG:1A47 C9 09
bne UpdateObjectListZp5D_Block ; CPU:$DA49 PRG:1A49 D0 D2
rts ; CPU:$DA4B PRG:1A4B 60
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E:
ldx Zp5D ; CPU:$DA4C PRG:1A4C A6 5D
lda Zp5E,x ; CPU:$DA4E PRG:1A4E B5 5E
cmp #$80 ; CPU:$DA50 PRG:1A50 C9 80
beq DispatchObjectStateZp5E_Block ; CPU:$DA52 PRG:1A52 F0 29
cmp #$81 ; CPU:$DA54 PRG:1A54 C9 81
beq DispatchObjectStateZp5E_Block_1 ; CPU:$DA56 PRG:1A56 F0 28
cmp #$01 ; CPU:$DA58 PRG:1A58 C9 01
beq DispatchObjectStateZp5E_Block_2 ; CPU:$DA5A PRG:1A5A F0 27
cmp #$02 ; CPU:$DA5C PRG:1A5C C9 02
beq DispatchObjectStateZp5E_Block_3 ; CPU:$DA5E PRG:1A5E F0 26
cmp #$C0 ; CPU:$DA60 PRG:1A60 C9 C0
beq DispatchObjectStateZp5E_Block_4 ; CPU:$DA62 PRG:1A62 F0 25
cmp #$C1 ; CPU:$DA64 PRG:1A64 C9 C1
beq DispatchObjectStateZp5E_Block_4 ; CPU:$DA66 PRG:1A66 F0 21
cmp #$C2 ; CPU:$DA68 PRG:1A68 C9 C2
beq DispatchObjectStateZp5E_Block_4 ; CPU:$DA6A PRG:1A6A F0 1D
cmp #$08 ; CPU:$DA6C PRG:1A6C C9 08
beq DispatchObjectStateZp5E_Block_5 ; CPU:$DA6E PRG:1A6E F0 1F
cmp #$10 ; CPU:$DA70 PRG:1A70 C9 10
beq DispatchObjectStateZp5E_Block_6 ; CPU:$DA72 PRG:1A72 F0 1E
cmp #$20 ; CPU:$DA74 PRG:1A74 C9 20
beq DispatchObjectStateZp5E_Block_7 ; CPU:$DA76 PRG:1A76 F0 1D
cmp #$40 ; CPU:$DA78 PRG:1A78 C9 40
beq DispatchObjectStateZp5E_Block_8 ; CPU:$DA7A PRG:1A7A F0 1C
rts ; CPU:$DA7C PRG:1A7C 60
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block:
jmp $DA9C ; CPU:$DA7D PRG:1A7D 4C 9C DA
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_1:
jmp $DB00 ; CPU:$DA80 PRG:1A80 4C 00 DB
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_2:
jmp $DB2C ; CPU:$DA83 PRG:1A83 4C 2C DB
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_3:
jmp $DC30 ; CPU:$DA86 PRG:1A86 4C 30 DC
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_4:
lda $0421,x ; CPU:$DA89 PRG:1A89 BD 21 04
jmp $DD8B ; CPU:$DA8C PRG:1A8C 4C 8B DD
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_5:
jmp $DC69 ; CPU:$DA8F PRG:1A8F 4C 69 DC
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_6:
jmp $DCD0 ; CPU:$DA92 PRG:1A92 4C D0 DC
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_7:
jmp $DD32 ; CPU:$DA95 PRG:1A95 4C 32 DD
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZp5E_Block_8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZp5E_Block_8:
jsr $DF07 ; CPU:$DA98 PRG:1A98 20 07 DF
rts ; CPU:$DA9B PRG:1A9B 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState80
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState80:
jsr $EFD5 ; CPU:$DA9C PRG:1A9C 20 D5 EF
lda #$30 ; CPU:$DA9F PRG:1A9F A9 30
sta Zp00 ; CPU:$DAA1 PRG:1AA1 85 00
sta Zp01 ; CPU:$DAA3 PRG:1AA3 85 01
lda #$90 ; CPU:$DAA5 PRG:1AA5 A9 90
sta Zp02 ; CPU:$DAA7 PRG:1AA7 85 02
stx Zp04 ; CPU:$DAA9 PRG:1AA9 86 04
jsr $EADB ; CPU:$DAAB PRG:1AAB 20 DB EA
lda Zp37 ; CPU:$DAAE PRG:1AAE A5 37
bne SubCDAF7_Block ; CPU:$DAB0 PRG:1AB0 D0 4D
lda #$81 ; CPU:$DAB2 PRG:1AB2 A9 81
ldx Zp5D ; CPU:$DAB4 PRG:1AB4 A6 5D
sta Zp5E,x ; CPU:$DAB6 PRG:1AB6 95 5E
lda #$00 ; CPU:$DAB8 PRG:1AB8 A9 00
sta Zp8A,x ; CPU:$DABA PRG:1ABA 95 8A
lda ZpAD ; CPU:$DABC PRG:1ABC A5 AD
beq HandleObjectState80_Block ; CPU:$DABE PRG:1ABE F0 03
jmp $DAD5 ; CPU:$DAC0 PRG:1AC0 4C D5 DA
; -----------------------------------------------------------------------------
; Routine: HandleObjectState80_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState80_Block:
lda Zp5D ; CPU:$DAC3 PRG:1AC3 A5 5D
bne SubCDAF7_Block ; CPU:$DAC5 PRG:1AC5 D0 38
lda #$C0 ; CPU:$DAC7 PRG:1AC7 A9 C0
ldx Zp5D ; CPU:$DAC9 PRG:1AC9 A6 5D
sta Zp5E,x ; CPU:$DACB PRG:1ACB 95 5E
lda #$01 ; CPU:$DACD PRG:1ACD A9 01
sta $0421,x ; CPU:$DACF PRG:1ACF 9D 21 04
jmp $DAF7 ; CPU:$DAD2 PRG:1AD2 4C F7 DA
; -----------------------------------------------------------------------------
; Routine: SubCDAD5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDAD5:
lda Zp43 ; CPU:$DAD5 PRG:1AD5 A5 43
bne SubCDAF7_Block ; CPU:$DAD7 PRG:1AD7 D0 26
lda Zp5D ; CPU:$DAD9 PRG:1AD9 A5 5D
bne SubCDAF7_Block ; CPU:$DADB PRG:1ADB D0 22
lda #$C0 ; CPU:$DADD PRG:1ADD A9 C0
ldx Zp5D ; CPU:$DADF PRG:1ADF A6 5D
sta Zp5E,x ; CPU:$DAE1 PRG:1AE1 95 5E
lda $0421,x ; CPU:$DAE3 PRG:1AE3 BD 21 04
cmp #$01 ; CPU:$DAE6 PRG:1AE6 C9 01
bne SubCDAD5_Block ; CPU:$DAE8 PRG:1AE8 D0 08
lda #$03 ; CPU:$DAEA PRG:1AEA A9 03
sta $0421,x ; CPU:$DAEC PRG:1AEC 9D 21 04
jmp $DAF7 ; CPU:$DAEF PRG:1AEF 4C F7 DA
; -----------------------------------------------------------------------------
; Routine: SubCDAD5_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDAD5_Block:
lda #$01 ; CPU:$DAF2 PRG:1AF2 A9 01
sta $0421,x ; CPU:$DAF4 PRG:1AF4 9D 21 04
; -----------------------------------------------------------------------------
; Routine: SubCDAF7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDAF7:
jsr $EAF7 ; CPU:$DAF7 PRG:1AF7 20 F7 EA
lda $C44D,x ; CPU:$DAFA PRG:1AFA BD 4D C4
sta Zp43 ; CPU:$DAFD PRG:1AFD 85 43
; -----------------------------------------------------------------------------
; Routine: SubCDAF7_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDAF7_Block:
rts ; CPU:$DAFF PRG:1AFF 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState81
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState81:
lda #$55 ; CPU:$DB00 PRG:1B00 A9 55
jsr $DFE4 ; CPU:$DB02 PRG:1B02 20 E4 DF
bne HandleObjectState81_Block ; CPU:$DB05 PRG:1B05 D0 1A
jsr $EFD5 ; CPU:$DB07 PRG:1B07 20 D5 EF
lda #$4D ; CPU:$DB0A PRG:1B0A A9 4D
sta Zp00 ; CPU:$DB0C PRG:1B0C 85 00
lda #$32 ; CPU:$DB0E PRG:1B0E A9 32
sta Zp01 ; CPU:$DB10 PRG:1B10 85 01
lda #$84 ; CPU:$DB12 PRG:1B12 A9 84
sta Zp02 ; CPU:$DB14 PRG:1B14 85 02
stx Zp04 ; CPU:$DB16 PRG:1B16 86 04
jsr $EADB ; CPU:$DB18 PRG:1B18 20 DB EA
inc $0515 ; CPU:$DB1B PRG:1B1B EE 15 05
jmp $DB2B ; CPU:$DB1E PRG:1B1E 4C 2B DB
; -----------------------------------------------------------------------------
; Routine: HandleObjectState81_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState81_Block:
ldx Zp5D ; CPU:$DB21 PRG:1B21 A6 5D
lda #$01 ; CPU:$DB23 PRG:1B23 A9 01
sta Zp5E,x ; CPU:$DB25 PRG:1B25 95 5E
lda #$84 ; CPU:$DB27 PRG:1B27 A9 84
sta Zp72,x ; CPU:$DB29 PRG:1B29 95 72
; -----------------------------------------------------------------------------
; Routine: SubCDB2B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB2B:
rts ; CPU:$DB2B PRG:1B2B 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState01
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState01:
lda #$FF ; CPU:$DB2C PRG:1B2C A9 FF
jsr $DFE4 ; CPU:$DB2E PRG:1B2E 20 E4 DF
bne HandleObjectState01_Block ; CPU:$DB31 PRG:1B31 D0 01
rts ; CPU:$DB33 PRG:1B33 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState01_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState01_Block:
jsr $EFD5 ; CPU:$DB34 PRG:1B34 20 D5 EF
pha ; CPU:$DB37 PRG:1B37 48
jsr $EAEC ; CPU:$DB38 PRG:1B38 20 EC EA
lda Zp01 ; CPU:$DB3B PRG:1B3B A5 01
jsr $E016 ; CPU:$DB3D PRG:1B3D 20 16 E0
ldy Zp5D ; CPU:$DB40 PRG:1B40 A4 5D
sta a:Zp68,y ; CPU:$DB42 PRG:1B42 99 68 00
and #$01 ; CPU:$DB45 PRG:1B45 29 01
bne HandleObjectState01_Block_1 ; CPU:$DB47 PRG:1B47 D0 05
inc Zp00 ; CPU:$DB49 PRG:1B49 E6 00
jmp $DB50 ; CPU:$DB4B PRG:1B4B 4C 50 DB
; -----------------------------------------------------------------------------
; Routine: HandleObjectState01_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState01_Block_1:
dec Zp00 ; CPU:$DB4E PRG:1B4E C6 00
; -----------------------------------------------------------------------------
; Routine: SubCDB50
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB50:
lda Zp00 ; CPU:$DB50 PRG:1B50 A5 00
jsr $E05A ; CPU:$DB52 PRG:1B52 20 5A E0
sta Zp7D ; CPU:$DB55 PRG:1B55 85 7D
jsr $E048 ; CPU:$DB57 PRG:1B57 20 48 E0
clc ; CPU:$DB5A PRG:1B5A 18
adc Zp01 ; CPU:$DB5B PRG:1B5B 65 01
sta Zp01 ; CPU:$DB5D PRG:1B5D 85 01
jsr $DBEE ; CPU:$DB5F PRG:1B5F 20 EE DB
ldx Zp5D ; CPU:$DB62 PRG:1B62 A6 5D
lda Zp72,x ; CPU:$DB64 PRG:1B64 B5 72
jsr $EAD4 ; CPU:$DB66 PRG:1B66 20 D4 EA
pla ; CPU:$DB69 PRG:1B69 68
tax ; CPU:$DB6A PRG:1B6A AA
jsr $F080 ; CPU:$DB6B PRG:1B6B 20 80 F0
lda Zp00 ; CPU:$DB6E PRG:1B6E A5 00
jsr $E0AE ; CPU:$DB70 PRG:1B70 20 AE E0
beq SubCDB50_Block_1 ; CPU:$DB73 PRG:1B73 F0 37
jsr $EAF7 ; CPU:$DB75 PRG:1B75 20 F7 EA
lda $C448,x ; CPU:$DB78 PRG:1B78 BD 48 C4
and Zp19 ; CPU:$DB7B PRG:1B7B 25 19
bne SubCDB50_Block_1 ; CPU:$DB7D PRG:1B7D D0 2D
ldx Zp5D ; CPU:$DB7F PRG:1B7F A6 5D
lda Zp68,x ; CPU:$DB81 PRG:1B81 B5 68
tax ; CPU:$DB83 PRG:1B83 AA
dex ; CPU:$DB84 PRG:1B84 CA
lda Zp7E,x ; CPU:$DB85 PRG:1B85 B5 7E
cmp #$04 ; CPU:$DB87 PRG:1B87 C9 04
bcs SubCDB50_Block_1 ; CPU:$DB89 PRG:1B89 B0 21
lda Zp96 ; CPU:$DB8B PRG:1B8B A5 96
cmp #$02 ; CPU:$DB8D PRG:1B8D C9 02
bne SubCDB50_Block ; CPU:$DB8F PRG:1B8F D0 12
ldx Zp04 ; CPU:$DB91 PRG:1B91 A6 04
lda $0200,x ; CPU:$DB93 PRG:1B93 BD 00 02
cmp $0200 ; CPU:$DB96 PRG:1B96 CD 00 02
bcs SubCDB50_Block ; CPU:$DB99 PRG:1B99 B0 08
clc ; CPU:$DB9B PRG:1B9B 18
adc #$0F ; CPU:$DB9C PRG:1B9C 69 0F
cmp $0200 ; CPU:$DB9E PRG:1B9E CD 00 02
bcs SubCDB50_Block_1 ; CPU:$DBA1 PRG:1BA1 B0 09
; -----------------------------------------------------------------------------
; Routine: SubCDB50_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB50_Block:
lda #$02 ; CPU:$DBA3 PRG:1BA3 A9 02
ldx Zp5D ; CPU:$DBA5 PRG:1BA5 A6 5D
sta Zp5E,x ; CPU:$DBA7 PRG:1BA7 95 5E
dec Zp68,x ; CPU:$DBA9 PRG:1BA9 D6 68
rts ; CPU:$DBAB PRG:1BAB 60
; -----------------------------------------------------------------------------
; Routine: SubCDB50_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB50_Block_1:
lda Zp00 ; CPU:$DBAC PRG:1BAC A5 00
jsr $E090 ; CPU:$DBAE PRG:1BAE 20 90 E0
beq UpdateSpritePosition57 ; CPU:$DBB1 PRG:1BB1 F0 03
jmp $DBE7 ; CPU:$DBB3 PRG:1BB3 4C E7 DB
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition57
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition57:
jsr $DF40 ; CPU:$DBB6 PRG:1BB6 20 40 DF
ldx Zp5D ; CPU:$DBB9 PRG:1BB9 A6 5D
lda Zp68,x ; CPU:$DBBB PRG:1BBB B5 68
cmp #$01 ; CPU:$DBBD PRG:1BBD C9 01
bne SubCDBE7_Block ; CPU:$DBBF PRG:1BBF D0 2C
jsr $DFC3 ; CPU:$DBC1 PRG:1BC1 20 C3 DF
lda Zp00 ; CPU:$DBC4 PRG:1BC4 A5 00
cmp #$20 ; CPU:$DBC6 PRG:1BC6 C9 20
beq UpdateSpritePosition57_Block ; CPU:$DBC8 PRG:1BC8 F0 03
bcc UpdateSpritePosition57_Block ; CPU:$DBCA PRG:1BCA 90 01
rts ; CPU:$DBCC PRG:1BCC 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition57_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition57_Block:
lda #$03 ; CPU:$DBCD PRG:1BCD A9 03
sta Zp02 ; CPU:$DBCF PRG:1BCF 85 02
lda #$04 ; CPU:$DBD1 PRG:1BD1 A9 04
sta Zp03 ; CPU:$DBD3 PRG:1BD3 85 03
jsr $F08E ; CPU:$DBD5 PRG:1BD5 20 8E F0
lda #$01 ; CPU:$DBD8 PRG:1BD8 A9 01
sta ZpAD ; CPU:$DBDA PRG:1BDA 85 AD
lda #$00 ; CPU:$DBDC PRG:1BDC A9 00
ldx Zp5D ; CPU:$DBDE PRG:1BDE A6 5D
sta Zp68,x ; CPU:$DBE0 PRG:1BE0 95 68
lda #$80 ; CPU:$DBE2 PRG:1BE2 A9 80
sta ZpFE ; CPU:$DBE4 PRG:1BE4 85 FE
rts ; CPU:$DBE6 PRG:1BE6 60
; -----------------------------------------------------------------------------
; Routine: SubCDBE7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDBE7:
ldx Zp5D ; CPU:$DBE7 PRG:1BE7 A6 5D
lda #$08 ; CPU:$DBE9 PRG:1BE9 A9 08
sta Zp5E,x ; CPU:$DBEB PRG:1BEB 95 5E
; -----------------------------------------------------------------------------
; Routine: SubCDBE7_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDBE7_Block:
rts ; CPU:$DBED PRG:1BED 60
; -----------------------------------------------------------------------------
; Routine: UpdateObjectAnimationFrame
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectAnimationFrame:
ldx Zp5D ; CPU:$DBEE PRG:1BEE A6 5D
inc $040D,x ; CPU:$DBF0 PRG:1BF0 FE 0D 04
lda $040D,x ; CPU:$DBF3 PRG:1BF3 BD 0D 04
cmp #$06 ; CPU:$DBF6 PRG:1BF6 C9 06
bcs UpdateObjectAnimationFrame_Block ; CPU:$DBF8 PRG:1BF8 B0 01
rts ; CPU:$DBFA PRG:1BFA 60
; -----------------------------------------------------------------------------
; Routine: UpdateObjectAnimationFrame_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectAnimationFrame_Block:
lda #$00 ; CPU:$DBFB PRG:1BFB A9 00
sta $040D,x ; CPU:$DBFD PRG:1BFD 9D 0D 04
lda Zp68,x ; CPU:$DC00 PRG:1C00 B5 68
and #$01 ; CPU:$DC02 PRG:1C02 29 01
beq UpdateObjectAnimationFrame_Block_2 ; CPU:$DC04 PRG:1C04 F0 15
lda Zp72,x ; CPU:$DC06 PRG:1C06 B5 72
clc ; CPU:$DC08 PRG:1C08 18
adc #$04 ; CPU:$DC09 PRG:1C09 69 04
cmp #$80 ; CPU:$DC0B PRG:1C0B C9 80
bcc UpdateObjectAnimationFrame_Block_1 ; CPU:$DC0D PRG:1C0D 90 07
cmp #$90 ; CPU:$DC0F PRG:1C0F C9 90
bcs UpdateObjectAnimationFrame_Block_1 ; CPU:$DC11 PRG:1C11 B0 03
jmp $DC2D ; CPU:$DC13 PRG:1C13 4C 2D DC
; -----------------------------------------------------------------------------
; Routine: UpdateObjectAnimationFrame_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectAnimationFrame_Block_1:
lda #$80 ; CPU:$DC16 PRG:1C16 A9 80
jmp $DC2D ; CPU:$DC18 PRG:1C18 4C 2D DC
; -----------------------------------------------------------------------------
; Routine: UpdateObjectAnimationFrame_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectAnimationFrame_Block_2:
lda Zp72,x ; CPU:$DC1B PRG:1C1B B5 72
sec ; CPU:$DC1D PRG:1C1D 38
sbc #$04 ; CPU:$DC1E PRG:1C1E E9 04
cmp #$80 ; CPU:$DC20 PRG:1C20 C9 80
bcc UpdateObjectAnimationFrame_Block_3 ; CPU:$DC22 PRG:1C22 90 07
cmp #$90 ; CPU:$DC24 PRG:1C24 C9 90
bcs UpdateObjectAnimationFrame_Block_3 ; CPU:$DC26 PRG:1C26 B0 03
jmp $DC2D ; CPU:$DC28 PRG:1C28 4C 2D DC
; -----------------------------------------------------------------------------
; Routine: UpdateObjectAnimationFrame_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectAnimationFrame_Block_3:
lda #$8C ; CPU:$DC2B PRG:1C2B A9 8C
; -----------------------------------------------------------------------------
; Routine: SubCDC2D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDC2D:
sta Zp72,x ; CPU:$DC2D PRG:1C2D 95 72
rts ; CPU:$DC2F PRG:1C2F 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState02
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState02:
lda #$55 ; CPU:$DC30 PRG:1C30 A9 55
jsr $DFE4 ; CPU:$DC32 PRG:1C32 20 E4 DF
beq SubCDC51_Block ; CPU:$DC35 PRG:1C35 F0 31
jsr $EFD5 ; CPU:$DC37 PRG:1C37 20 D5 EF
stx Zp04 ; CPU:$DC3A PRG:1C3A 86 04
jsr $EAEC ; CPU:$DC3C PRG:1C3C 20 EC EA
inc Zp01 ; CPU:$DC3F PRG:1C3F E6 01
ldy Zp5D ; CPU:$DC41 PRG:1C41 A4 5D
lda a:Zp72,y ; CPU:$DC43 PRG:1C43 B9 72 00
cmp #$90 ; CPU:$DC46 PRG:1C46 C9 90
bne HandleObjectState02_Block ; CPU:$DC48 PRG:1C48 D0 05
lda #$94 ; CPU:$DC4A PRG:1C4A A9 94
jmp $DC51 ; CPU:$DC4C PRG:1C4C 4C 51 DC
; -----------------------------------------------------------------------------
; Routine: HandleObjectState02_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState02_Block:
lda #$90 ; CPU:$DC4F PRG:1C4F A9 90
; -----------------------------------------------------------------------------
; Routine: SubCDC51
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDC51:
sta Zp02 ; CPU:$DC51 PRG:1C51 85 02
ldx Zp5D ; CPU:$DC53 PRG:1C53 A6 5D
sta Zp72,x ; CPU:$DC55 PRG:1C55 95 72
jsr $EADB ; CPU:$DC57 PRG:1C57 20 DB EA
lda Zp01 ; CPU:$DC5A PRG:1C5A A5 01
ldx Zp5D ; CPU:$DC5C PRG:1C5C A6 5D
cmp ZpA3,x ; CPU:$DC5E PRG:1C5E D5 A3
bne SubCDC51_Block ; CPU:$DC60 PRG:1C60 D0 06
ldx Zp5D ; CPU:$DC62 PRG:1C62 A6 5D
lda #$01 ; CPU:$DC64 PRG:1C64 A9 01
sta Zp5E,x ; CPU:$DC66 PRG:1C66 95 5E
; -----------------------------------------------------------------------------
; Routine: SubCDC51_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDC51_Block:
rts ; CPU:$DC68 PRG:1C68 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState08
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState08:
lda #$FF ; CPU:$DC69 PRG:1C69 A9 FF
jsr $DFE4 ; CPU:$DC6B PRG:1C6B 20 E4 DF
bne HandleObjectState08_Block ; CPU:$DC6E PRG:1C6E D0 01
rts ; CPU:$DC70 PRG:1C70 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState08_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState08_Block:
jsr $EFD5 ; CPU:$DC71 PRG:1C71 20 D5 EF
stx Zp04 ; CPU:$DC74 PRG:1C74 86 04
jsr $EAEC ; CPU:$DC76 PRG:1C76 20 EC EA
inc Zp01 ; CPU:$DC79 PRG:1C79 E6 01
lda Zp01 ; CPU:$DC7B PRG:1C7B A5 01
and #$01 ; CPU:$DC7D PRG:1C7D 29 01
beq SubCDC90 ; CPU:$DC7F PRG:1C7F F0 0F
ldx Zp5D ; CPU:$DC81 PRG:1C81 A6 5D
lda Zp68,x ; CPU:$DC83 PRG:1C83 B5 68
and #$01 ; CPU:$DC85 PRG:1C85 29 01
beq HandleObjectState08_Block_1 ; CPU:$DC87 PRG:1C87 F0 05
dec Zp00 ; CPU:$DC89 PRG:1C89 C6 00
jmp $DC90 ; CPU:$DC8B PRG:1C8B 4C 90 DC
; -----------------------------------------------------------------------------
; Routine: HandleObjectState08_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState08_Block_1:
inc Zp00 ; CPU:$DC8E PRG:1C8E E6 00
; -----------------------------------------------------------------------------
; Routine: SubCDC90
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDC90:
jsr $DBEE ; CPU:$DC90 PRG:1C90 20 EE DB
ldx Zp5D ; CPU:$DC93 PRG:1C93 A6 5D
lda Zp72,x ; CPU:$DC95 PRG:1C95 B5 72
sta Zp02 ; CPU:$DC97 PRG:1C97 85 02
jsr $EADB ; CPU:$DC99 PRG:1C99 20 DB EA
lda #$32 ; CPU:$DC9C PRG:1C9C A9 32
jsr $C853 ; CPU:$DC9E PRG:1C9E 20 53 C8
lda Zp01 ; CPU:$DCA1 PRG:1CA1 A5 01
jsr $E112 ; CPU:$DCA3 PRG:1CA3 20 12 E1
beq SubCDCC9_Block ; CPU:$DCA6 PRG:1CA6 F0 27
ldx Zp5D ; CPU:$DCA8 PRG:1CA8 A6 5D
lda #$10 ; CPU:$DCAA PRG:1CAA A9 10
sta Zp5E,x ; CPU:$DCAC PRG:1CAC 95 5E
jsr $E130 ; CPU:$DCAE PRG:1CAE 20 30 E1
beq SubCDC90_Block ; CPU:$DCB1 PRG:1CB1 F0 09
lda Zp19 ; CPU:$DCB3 PRG:1CB3 A5 19
and #$01 ; CPU:$DCB5 PRG:1CB5 29 01
beq SubCDC90_Block ; CPU:$DCB7 PRG:1CB7 F0 03
jmp $DCC9 ; CPU:$DCB9 PRG:1CB9 4C C9 DC
; -----------------------------------------------------------------------------
; Routine: SubCDC90_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDC90_Block:
ldx Zp5D ; CPU:$DCBC PRG:1CBC A6 5D
lda Zp68,x ; CPU:$DCBE PRG:1CBE B5 68
tax ; CPU:$DCC0 PRG:1CC0 AA
dex ; CPU:$DCC1 PRG:1CC1 CA
lda Zp7E,x ; CPU:$DCC2 PRG:1CC2 B5 7E
cmp #$04 ; CPU:$DCC4 PRG:1CC4 C9 04
bcs SubCDCC9 ; CPU:$DCC6 PRG:1CC6 B0 01
rts ; CPU:$DCC8 PRG:1CC8 60
; -----------------------------------------------------------------------------
; Routine: SubCDCC9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDCC9:
ldx Zp5D ; CPU:$DCC9 PRG:1CC9 A6 5D
lda #$20 ; CPU:$DCCB PRG:1CCB A9 20
sta Zp5E,x ; CPU:$DCCD PRG:1CCD 95 5E
; -----------------------------------------------------------------------------
; Routine: SubCDCC9_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDCC9_Block:
rts ; CPU:$DCCF PRG:1CCF 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState10:
lda #$77 ; CPU:$DCD0 PRG:1CD0 A9 77
jsr $DFE4 ; CPU:$DCD2 PRG:1CD2 20 E4 DF
bne HandleObjectState10_Block ; CPU:$DCD5 PRG:1CD5 D0 01
rts ; CPU:$DCD7 PRG:1CD7 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState10_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState10_Block:
jsr $EFD5 ; CPU:$DCD8 PRG:1CD8 20 D5 EF
stx Zp04 ; CPU:$DCDB PRG:1CDB 86 04
jsr $EAEC ; CPU:$DCDD PRG:1CDD 20 EC EA
lda Zp01 ; CPU:$DCE0 PRG:1CE0 A5 01
jsr $E016 ; CPU:$DCE2 PRG:1CE2 20 16 E0
ldx Zp5D ; CPU:$DCE5 PRG:1CE5 A6 5D
sta Zp68,x ; CPU:$DCE7 PRG:1CE7 95 68
and #$01 ; CPU:$DCE9 PRG:1CE9 29 01
bne HandleObjectState10_Block_1 ; CPU:$DCEB PRG:1CEB D0 13
inc Zp00 ; CPU:$DCED PRG:1CED E6 00
lda Zp00 ; CPU:$DCEF PRG:1CEF A5 00
ldx #$00 ; CPU:$DCF1 PRG:1CF1 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCDCF3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDCF3:
cmp $C3FC,x ; CPU:$DCF3 PRG:1CF3 DD FC C3
beq SubCDD06_Block ; CPU:$DCF6 PRG:1CF6 F0 1B
inx ; CPU:$DCF8 PRG:1CF8 E8
cpx #$0B ; CPU:$DCF9 PRG:1CF9 E0 0B
beq SubCDD06_Block_1 ; CPU:$DCFB PRG:1CFB F0 28
jmp $DCF3 ; CPU:$DCFD PRG:1CFD 4C F3 DC
; -----------------------------------------------------------------------------
; Routine: HandleObjectState10_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState10_Block_1:
dec Zp00 ; CPU:$DD00 PRG:1D00 C6 00
lda Zp00 ; CPU:$DD02 PRG:1D02 A5 00
ldx #$00 ; CPU:$DD04 PRG:1D04 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCDD06
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD06:
cmp $C412,x ; CPU:$DD06 PRG:1D06 DD 12 C4
beq SubCDD06_Block ; CPU:$DD09 PRG:1D09 F0 08
inx ; CPU:$DD0B PRG:1D0B E8
cpx #$0B ; CPU:$DD0C PRG:1D0C E0 0B
beq SubCDD06_Block_1 ; CPU:$DD0E PRG:1D0E F0 15
jmp $DD06 ; CPU:$DD10 PRG:1D10 4C 06 DD
; -----------------------------------------------------------------------------
; Routine: SubCDD06_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD06_Block:
lda Zp01 ; CPU:$DD13 PRG:1D13 A5 01
clc ; CPU:$DD15 PRG:1D15 18
adc $C407,x ; CPU:$DD16 PRG:1D16 7D 07 C4
sta Zp01 ; CPU:$DD19 PRG:1D19 85 01
cpx #$0A ; CPU:$DD1B PRG:1D1B E0 0A
bne SubCDD06_Block_1 ; CPU:$DD1D PRG:1D1D D0 06
ldx Zp5D ; CPU:$DD1F PRG:1D1F A6 5D
lda #$01 ; CPU:$DD21 PRG:1D21 A9 01
sta Zp5E,x ; CPU:$DD23 PRG:1D23 95 5E
; -----------------------------------------------------------------------------
; Routine: SubCDD06_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD06_Block_1:
jsr $DBEE ; CPU:$DD25 PRG:1D25 20 EE DB
ldx Zp5D ; CPU:$DD28 PRG:1D28 A6 5D
lda Zp72,x ; CPU:$DD2A PRG:1D2A B5 72
sta Zp02 ; CPU:$DD2C PRG:1D2C 85 02
jsr $EADB ; CPU:$DD2E PRG:1D2E 20 DB EA
rts ; CPU:$DD31 PRG:1D31 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition68
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition68:
lda #$55 ; CPU:$DD32 PRG:1D32 A9 55
jsr $DFE4 ; CPU:$DD34 PRG:1D34 20 E4 DF
bne UpdateSpritePosition68_Block ; CPU:$DD37 PRG:1D37 D0 01
rts ; CPU:$DD39 PRG:1D39 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition68_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition68_Block:
jsr $EFD5 ; CPU:$DD3A PRG:1D3A 20 D5 EF
stx Zp04 ; CPU:$DD3D PRG:1D3D 86 04
jsr $EAEC ; CPU:$DD3F PRG:1D3F 20 EC EA
lda Zp01 ; CPU:$DD42 PRG:1D42 A5 01
jsr $E016 ; CPU:$DD44 PRG:1D44 20 16 E0
ldx Zp5D ; CPU:$DD47 PRG:1D47 A6 5D
sta Zp68,x ; CPU:$DD49 PRG:1D49 95 68
and #$01 ; CPU:$DD4B PRG:1D4B 29 01
bne UpdateSpritePosition68_Block_2 ; CPU:$DD4D PRG:1D4D D0 11
dec Zp00 ; CPU:$DD4F PRG:1D4F C6 00
lda Zp01 ; CPU:$DD51 PRG:1D51 A5 01
cmp #$14 ; CPU:$DD53 PRG:1D53 C9 14
bne UpdateSpritePosition68_Block_1 ; CPU:$DD55 PRG:1D55 D0 02
dec Zp01 ; CPU:$DD57 PRG:1D57 C6 01
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition68_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition68_Block_1:
lda Zp00 ; CPU:$DD59 PRG:1D59 A5 00
bne UpdateSpritePosition68_Block_4 ; CPU:$DD5B PRG:1D5B D0 16
jmp $DD7F ; CPU:$DD5D PRG:1D5D 4C 7F DD
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition68_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition68_Block_2:
inc Zp00 ; CPU:$DD60 PRG:1D60 E6 00
lda Zp01 ; CPU:$DD62 PRG:1D62 A5 01
cmp #$EC ; CPU:$DD64 PRG:1D64 C9 EC
bne UpdateSpritePosition68_Block_3 ; CPU:$DD66 PRG:1D66 D0 02
dec Zp01 ; CPU:$DD68 PRG:1D68 C6 01
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition68_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition68_Block_3:
lda Zp00 ; CPU:$DD6A PRG:1D6A A5 00
cmp #$F4 ; CPU:$DD6C PRG:1D6C C9 F4
bne UpdateSpritePosition68_Block_4 ; CPU:$DD6E PRG:1D6E D0 03
jmp $DD7F ; CPU:$DD70 PRG:1D70 4C 7F DD
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition68_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition68_Block_4:
jsr $DBEE ; CPU:$DD73 PRG:1D73 20 EE DB
ldx Zp5D ; CPU:$DD76 PRG:1D76 A6 5D
lda Zp72,x ; CPU:$DD78 PRG:1D78 B5 72
sta Zp02 ; CPU:$DD7A PRG:1D7A 85 02
jmp $EADB ; CPU:$DD7C PRG:1D7C 4C DB EA
; -----------------------------------------------------------------------------
; Routine: SubCDD7F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD7F:
lda #$22 ; CPU:$DD7F PRG:1D7F A9 22
jsr $F092 ; CPU:$DD81 PRG:1D81 20 92 F0
lda #$00 ; CPU:$DD84 PRG:1D84 A9 00
ldx Zp5D ; CPU:$DD86 PRG:1D86 A6 5D
sta Zp68,x ; CPU:$DD88 PRG:1D88 95 68
rts ; CPU:$DD8A PRG:1D8A 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectStateC0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectStateC0:
sta Zp07 ; CPU:$DD8B PRG:1D8B 85 07
ldx Zp5D ; CPU:$DD8D PRG:1D8D A6 5D
lda Zp5E,x ; CPU:$DD8F PRG:1D8F B5 5E
cmp #$C2 ; CPU:$DD91 PRG:1D91 C9 C2
bne HandleObjectStateC0_Block ; CPU:$DD93 PRG:1D93 D0 03
jmp $DE82 ; CPU:$DD95 PRG:1D95 4C 82 DE
; -----------------------------------------------------------------------------
; Routine: HandleObjectStateC0_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectStateC0_Block:
cmp #$C1 ; CPU:$DD98 PRG:1D98 C9 C1
beq SubCDDB2_Block_1 ; CPU:$DD9A PRG:1D9A F0 3B
lda Zp07 ; CPU:$DD9C PRG:1D9C A5 07
cmp #$02 ; CPU:$DD9E PRG:1D9E C9 02
beq HandleObjectStateC0_Block_1 ; CPU:$DDA0 PRG:1DA0 F0 09
cmp #$03 ; CPU:$DDA2 PRG:1DA2 C9 03
beq HandleObjectStateC0_Block_2 ; CPU:$DDA4 PRG:1DA4 F0 0A
lda #$34 ; CPU:$DDA6 PRG:1DA6 A9 34
jmp $DDB2 ; CPU:$DDA8 PRG:1DA8 4C B2 DD
; -----------------------------------------------------------------------------
; Routine: HandleObjectStateC0_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectStateC0_Block_1:
lda #$36 ; CPU:$DDAB PRG:1DAB A9 36
jmp $DDB2 ; CPU:$DDAD PRG:1DAD 4C B2 DD
; -----------------------------------------------------------------------------
; Routine: HandleObjectStateC0_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectStateC0_Block_2:
lda #$38 ; CPU:$DDB0 PRG:1DB0 A9 38
; -----------------------------------------------------------------------------
; Routine: SubCDDB2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDB2:
jsr $C853 ; CPU:$DDB2 PRG:1DB2 20 53 C8
jsr $EFD5 ; CPU:$DDB5 PRG:1DB5 20 D5 EF
stx Zp04 ; CPU:$DDB8 PRG:1DB8 86 04
lda $0200,x ; CPU:$DDBA PRG:1DBA BD 00 02
jsr $E112 ; CPU:$DDBD PRG:1DBD 20 12 E1
ldy Zp0A ; CPU:$DDC0 PRG:1DC0 A4 0A
cpy #$04 ; CPU:$DDC2 PRG:1DC2 C0 04
bne SubCDDB2_Block ; CPU:$DDC4 PRG:1DC4 D0 03
jmp $DE73 ; CPU:$DDC6 PRG:1DC6 4C 73 DE
; -----------------------------------------------------------------------------
; Routine: SubCDDB2_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDB2_Block:
cmp #$00 ; CPU:$DDC9 PRG:1DC9 C9 00
beq SubCDDB2_Block_1 ; CPU:$DDCB PRG:1DCB F0 0A
ldx Zp5D ; CPU:$DDCD PRG:1DCD A6 5D
lda #$01 ; CPU:$DDCF PRG:1DCF A9 01
sta Zp8A,x ; CPU:$DDD1 PRG:1DD1 95 8A
lda #$C1 ; CPU:$DDD3 PRG:1DD3 A9 C1
sta Zp5E,x ; CPU:$DDD5 PRG:1DD5 95 5E
; -----------------------------------------------------------------------------
; Routine: SubCDDB2_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDB2_Block_1:
jsr $EFD5 ; CPU:$DDD7 PRG:1DD7 20 D5 EF
stx Zp04 ; CPU:$DDDA PRG:1DDA 86 04
ldx Zp5D ; CPU:$DDDC PRG:1DDC A6 5D
lda Zp5E,x ; CPU:$DDDE PRG:1DDE B5 5E
cmp #$C1 ; CPU:$DDE0 PRG:1DE0 C9 C1
bne SubCDDB2_Block_4 ; CPU:$DDE2 PRG:1DE2 D0 2F
lda #$20 ; CPU:$DDE4 PRG:1DE4 A9 20
jsr $DFE4 ; CPU:$DDE6 PRG:1DE6 20 E4 DF
bne SubCDDB2_Block_2 ; CPU:$DDE9 PRG:1DE9 D0 0A
ldx Zp04 ; CPU:$DDEB PRG:1DEB A6 04
lda $0200,x ; CPU:$DDED PRG:1DED BD 00 02
sta Zp01 ; CPU:$DDF0 PRG:1DF0 85 01
jmp $DE27 ; CPU:$DDF2 PRG:1DF2 4C 27 DE
; -----------------------------------------------------------------------------
; Routine: SubCDDB2_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDB2_Block_2:
ldx Zp5D ; CPU:$DDF5 PRG:1DF5 A6 5D
lda #$C0 ; CPU:$DDF7 PRG:1DF7 A9 C0
sta Zp5E,x ; CPU:$DDF9 PRG:1DF9 95 5E
lda Zp07 ; CPU:$DDFB PRG:1DFB A5 07
cmp #$03 ; CPU:$DDFD PRG:1DFD C9 03
bne SubCDE0D_Block ; CPU:$DDFF PRG:1DFF D0 0F
lda $0417,x ; CPU:$DE01 PRG:1E01 BD 17 04
beq SubCDDB2_Block_3 ; CPU:$DE04 PRG:1E04 F0 05
lda #$00 ; CPU:$DE06 PRG:1E06 A9 00
jmp $DE0D ; CPU:$DE08 PRG:1E08 4C 0D DE
; -----------------------------------------------------------------------------
; Routine: SubCDDB2_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDB2_Block_3:
lda #$01 ; CPU:$DE0B PRG:1E0B A9 01
; -----------------------------------------------------------------------------
; Routine: SubCDE0D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE0D:
sta $0417,x ; CPU:$DE0D PRG:1E0D 9D 17 04
; -----------------------------------------------------------------------------
; Routine: SubCDE0D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE0D_Block:
jmp $DE1A ; CPU:$DE10 PRG:1E10 4C 1A DE
; -----------------------------------------------------------------------------
; Routine: SubCDDB2_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDB2_Block_4:
lda #$FF ; CPU:$DE13 PRG:1E13 A9 FF
jsr $DFE4 ; CPU:$DE15 PRG:1E15 20 E4 DF
beq SubCDE82_Block ; CPU:$DE18 PRG:1E18 F0 6B
; -----------------------------------------------------------------------------
; Routine: SubCDE1A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE1A:
ldx Zp04 ; CPU:$DE1A PRG:1E1A A6 04
lda #$01 ; CPU:$DE1C PRG:1E1C A9 01
clc ; CPU:$DE1E PRG:1E1E 18
adc $0200,x ; CPU:$DE1F PRG:1E1F 7D 00 02
sta Zp01 ; CPU:$DE22 PRG:1E22 85 01
jsr $DE86 ; CPU:$DE24 PRG:1E24 20 86 DE
; -----------------------------------------------------------------------------
; Routine: SubCDE27
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE27:
inx ; CPU:$DE27 PRG:1E27 E8
inx ; CPU:$DE28 PRG:1E28 E8
inx ; CPU:$DE29 PRG:1E29 E8
lda Zp07 ; CPU:$DE2A PRG:1E2A A5 07
cmp #$02 ; CPU:$DE2C PRG:1E2C C9 02
bne SubCDE27_Block ; CPU:$DE2E PRG:1E2E D0 06
inc $0200,x ; CPU:$DE30 PRG:1E30 FE 00 02
jmp $DE56 ; CPU:$DE33 PRG:1E33 4C 56 DE
; -----------------------------------------------------------------------------
; Routine: SubCDE27_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE27_Block:
cmp #$03 ; CPU:$DE36 PRG:1E36 C9 03
bne SubCDE56 ; CPU:$DE38 PRG:1E38 D0 1C
lda Zp01 ; CPU:$DE3A PRG:1E3A A5 01
and #$01 ; CPU:$DE3C PRG:1E3C 29 01
beq SubCDE56 ; CPU:$DE3E PRG:1E3E F0 16
ldy Zp5D ; CPU:$DE40 PRG:1E40 A4 5D
lda $0417,y ; CPU:$DE42 PRG:1E42 B9 17 04
bne SubCDE27_Block_1 ; CPU:$DE45 PRG:1E45 D0 09
inc $0200,x ; CPU:$DE47 PRG:1E47 FE 00 02
inc $0200,x ; CPU:$DE4A PRG:1E4A FE 00 02
jmp $DE56 ; CPU:$DE4D PRG:1E4D 4C 56 DE
; -----------------------------------------------------------------------------
; Routine: SubCDE27_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE27_Block_1:
dec $0200,x ; CPU:$DE50 PRG:1E50 DE 00 02
dec $0200,x ; CPU:$DE53 PRG:1E53 DE 00 02
; -----------------------------------------------------------------------------
; Routine: SubCDE56
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE56:
lda $0200,x ; CPU:$DE56 PRG:1E56 BD 00 02
sta Zp00 ; CPU:$DE59 PRG:1E59 85 00
ldx Zp5D ; CPU:$DE5B PRG:1E5B A6 5D
lda Zp72,x ; CPU:$DE5D PRG:1E5D B5 72
cmp #$90 ; CPU:$DE5F PRG:1E5F C9 90
bne SubCDE56_Block ; CPU:$DE61 PRG:1E61 D0 05
lda #$94 ; CPU:$DE63 PRG:1E63 A9 94
jmp $DE6A ; CPU:$DE65 PRG:1E65 4C 6A DE
; -----------------------------------------------------------------------------
; Routine: SubCDE56_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE56_Block:
lda #$90 ; CPU:$DE68 PRG:1E68 A9 90
; -----------------------------------------------------------------------------
; Routine: SubCDE6A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE6A:
sta Zp02 ; CPU:$DE6A PRG:1E6A 85 02
ldx Zp5D ; CPU:$DE6C PRG:1E6C A6 5D
sta Zp72,x ; CPU:$DE6E PRG:1E6E 95 72
jmp $EADB ; CPU:$DE70 PRG:1E70 4C DB EA
; -----------------------------------------------------------------------------
; Routine: SubCDE73
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE73:
lda #$C2 ; CPU:$DE73 PRG:1E73 A9 C2
ldx Zp5D ; CPU:$DE75 PRG:1E75 A6 5D
sta Zp5E,x ; CPU:$DE77 PRG:1E77 95 5E
ldx Zp04 ; CPU:$DE79 PRG:1E79 A6 04
lda $0203,x ; CPU:$DE7B PRG:1E7B BD 03 02
sta $042B ; CPU:$DE7E PRG:1E7E 8D 2B 04
rts ; CPU:$DE81 PRG:1E81 60
; -----------------------------------------------------------------------------
; Routine: SubCDE82
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE82:
jsr $DEA5 ; CPU:$DE82 PRG:1E82 20 A5 DE
; -----------------------------------------------------------------------------
; Routine: SubCDE82_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE82_Block:
rts ; CPU:$DE85 PRG:1E85 60
; -----------------------------------------------------------------------------
; Routine: SubCDE86
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE86:
lda Zp07 ; CPU:$DE86 PRG:1E86 A5 07
cmp #$01 ; CPU:$DE88 PRG:1E88 C9 01
bne SubCDEA4 ; CPU:$DE8A PRG:1E8A D0 18
ldy #$00 ; CPU:$DE8C PRG:1E8C A0 00
lda Zp01 ; CPU:$DE8E PRG:1E8E A5 01
; -----------------------------------------------------------------------------
; Routine: SubCDE86_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE86_Block:
cmp $C41D,y ; CPU:$DE90 PRG:1E90 D9 1D C4
bcc SubCDE86_Block_1 ; CPU:$DE93 PRG:1E93 90 0A
cmp $C420,y ; CPU:$DE95 PRG:1E95 D9 20 C4
bcs SubCDE86_Block_1 ; CPU:$DE98 PRG:1E98 B0 05
inc Zp01 ; CPU:$DE9A PRG:1E9A E6 01
jmp $DEA4 ; CPU:$DE9C PRG:1E9C 4C A4 DE
; -----------------------------------------------------------------------------
; Routine: SubCDE86_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE86_Block_1:
iny ; CPU:$DE9F PRG:1E9F C8
cpy #$03 ; CPU:$DEA0 PRG:1EA0 C0 03
bne SubCDE86_Block ; CPU:$DEA2 PRG:1EA2 D0 EC
; -----------------------------------------------------------------------------
; Routine: SubCDEA4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEA4:
rts ; CPU:$DEA4 PRG:1EA4 60
; -----------------------------------------------------------------------------
; Routine: SubCDEA5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEA5:
jsr $EFD5 ; CPU:$DEA5 PRG:1EA5 20 D5 EF
stx Zp04 ; CPU:$DEA8 PRG:1EA8 86 04
jsr $EAEC ; CPU:$DEAA PRG:1EAA 20 EC EA
dec Zp00 ; CPU:$DEAD PRG:1EAD C6 00
lda $042B ; CPU:$DEAF PRG:1EAF AD 2B 04
sec ; CPU:$DEB2 PRG:1EB2 38
sbc #$01 ; CPU:$DEB3 PRG:1EB3 E9 01
cmp Zp00 ; CPU:$DEB5 PRG:1EB5 C5 00
beq SubCDEA5_Block_1 ; CPU:$DEB7 PRG:1EB7 F0 2F
sec ; CPU:$DEB9 PRG:1EB9 38
sbc #$01 ; CPU:$DEBA PRG:1EBA E9 01
cmp Zp00 ; CPU:$DEBC PRG:1EBC C5 00
beq SubCDEA5_Block_1 ; CPU:$DEBE PRG:1EBE F0 28
sec ; CPU:$DEC0 PRG:1EC0 38
sbc #$01 ; CPU:$DEC1 PRG:1EC1 E9 01
cmp Zp00 ; CPU:$DEC3 PRG:1EC3 C5 00
beq SubCDEA5_Block_3 ; CPU:$DEC5 PRG:1EC5 F0 2B
sec ; CPU:$DEC7 PRG:1EC7 38
sbc #$08 ; CPU:$DEC8 PRG:1EC8 E9 08
cmp Zp00 ; CPU:$DECA PRG:1ECA C5 00
beq SubCDEA5_Block_2 ; CPU:$DECC PRG:1ECC F0 1F
sec ; CPU:$DECE PRG:1ECE 38
sbc #$01 ; CPU:$DECF PRG:1ECF E9 01
cmp Zp00 ; CPU:$DED1 PRG:1ED1 C5 00
beq SubCDEA5_Block_2 ; CPU:$DED3 PRG:1ED3 F0 18
sec ; CPU:$DED5 PRG:1ED5 38
sbc #$01 ; CPU:$DED6 PRG:1ED6 E9 01
cmp Zp00 ; CPU:$DED8 PRG:1ED8 C5 00
bne SubCDEFB ; CPU:$DEDA PRG:1EDA D0 1F
; -----------------------------------------------------------------------------
; Routine: SubCDEA5_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEA5_Block:
lda #$01 ; CPU:$DEDC PRG:1EDC A9 01
ldx Zp5D ; CPU:$DEDE PRG:1EDE A6 5D
sta Zp5E,x ; CPU:$DEE0 PRG:1EE0 95 5E
lda #$00 ; CPU:$DEE2 PRG:1EE2 A9 00
sta $0417,x ; CPU:$DEE4 PRG:1EE4 9D 17 04
rts ; CPU:$DEE7 PRG:1EE7 60
; -----------------------------------------------------------------------------
; Routine: SubCDEA5_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEA5_Block_1:
dec Zp01 ; CPU:$DEE8 PRG:1EE8 C6 01
jmp $DEFB ; CPU:$DEEA PRG:1EEA 4C FB DE
; -----------------------------------------------------------------------------
; Routine: SubCDEA5_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEA5_Block_2:
inc Zp01 ; CPU:$DEED PRG:1EED E6 01
jmp $DEFB ; CPU:$DEEF PRG:1EEF 4C FB DE
; -----------------------------------------------------------------------------
; Routine: SubCDEA5_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEA5_Block_3:
ldx Zp5D ; CPU:$DEF2 PRG:1EF2 A6 5D
lda $0421,x ; CPU:$DEF4 PRG:1EF4 BD 21 04
cmp #$01 ; CPU:$DEF7 PRG:1EF7 C9 01
beq SubCDEA5_Block ; CPU:$DEF9 PRG:1EF9 F0 E1
; -----------------------------------------------------------------------------
; Routine: SubCDEFB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDEFB:
lda #$84 ; CPU:$DEFB PRG:1EFB A9 84
ldx Zp5D ; CPU:$DEFD PRG:1EFD A6 5D
sta Zp72,x ; CPU:$DEFF PRG:1EFF 95 72
sta Zp02 ; CPU:$DF01 PRG:1F01 85 02
jsr $EADB ; CPU:$DF03 PRG:1F03 20 DB EA
rts ; CPU:$DF06 PRG:1F06 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState40
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState40:
lda #$55 ; CPU:$DF07 PRG:1F07 A9 55
jsr $DFE4 ; CPU:$DF09 PRG:1F09 20 E4 DF
bne HandleObjectState40_Block ; CPU:$DF0C PRG:1F0C D0 01
rts ; CPU:$DF0E PRG:1F0E 60
; -----------------------------------------------------------------------------
; Routine: HandleObjectState40_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState40_Block:
jsr $EFD5 ; CPU:$DF0F PRG:1F0F 20 D5 EF
stx Zp04 ; CPU:$DF12 PRG:1F12 86 04
jsr $EAEC ; CPU:$DF14 PRG:1F14 20 EC EA
inc Zp01 ; CPU:$DF17 PRG:1F17 E6 01
lda $0201,x ; CPU:$DF19 PRG:1F19 BD 01 02
cmp #$90 ; CPU:$DF1C PRG:1F1C C9 90
beq HandleObjectState40_Block_1 ; CPU:$DF1E PRG:1F1E F0 05
lda #$90 ; CPU:$DF20 PRG:1F20 A9 90
jmp $DF27 ; CPU:$DF22 PRG:1F22 4C 27 DF
; -----------------------------------------------------------------------------
; Routine: HandleObjectState40_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HandleObjectState40_Block_1:
lda #$94 ; CPU:$DF25 PRG:1F25 A9 94
; -----------------------------------------------------------------------------
; Routine: SubCDF27
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF27:
sta Zp02 ; CPU:$DF27 PRG:1F27 85 02
jsr $EADB ; CPU:$DF29 PRG:1F29 20 DB EA
lda ZpC0 ; CPU:$DF2C PRG:1F2C A5 C0
cmp Zp01 ; CPU:$DF2E PRG:1F2E C5 01
beq SubCDF27_Block ; CPU:$DF30 PRG:1F30 F0 03
bcc SubCDF27_Block ; CPU:$DF32 PRG:1F32 90 01
rts ; CPU:$DF34 PRG:1F34 60
; -----------------------------------------------------------------------------
; Routine: SubCDF27_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF27_Block:
ldx Zp5D ; CPU:$DF35 PRG:1F35 A6 5D
lda #$01 ; CPU:$DF37 PRG:1F37 A9 01
sta Zp5E,x ; CPU:$DF39 PRG:1F39 95 5E
lda #$00 ; CPU:$DF3B PRG:1F3B A9 00
sta ZpC0 ; CPU:$DF3D PRG:1F3D 85 C0
rts ; CPU:$DF3F PRG:1F3F 60
; -----------------------------------------------------------------------------
; Routine: SubCDF40
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40:
lda ZpC0 ; CPU:$DF40 PRG:1F40 A5 C0
beq SubCDF40_Block ; CPU:$DF42 PRG:1F42 F0 01
rts ; CPU:$DF44 PRG:1F44 60
; -----------------------------------------------------------------------------
; Routine: SubCDF40_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40_Block:
lda Zp96 ; CPU:$DF45 PRG:1F45 A5 96
cmp #$0A ; CPU:$DF47 PRG:1F47 C9 0A
beq SubCDF40_Block_1 ; CPU:$DF49 PRG:1F49 F0 01
rts ; CPU:$DF4B PRG:1F4B 60
; -----------------------------------------------------------------------------
; Routine: SubCDF40_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40_Block_1:
lda Zp59 ; CPU:$DF4C PRG:1F4C A5 59
cmp #$03 ; CPU:$DF4E PRG:1F4E C9 03
beq SubCDF40_Block_2 ; CPU:$DF50 PRG:1F50 F0 03
jmp $DF72 ; CPU:$DF52 PRG:1F52 4C 72 DF
; -----------------------------------------------------------------------------
; Routine: SubCDF40_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40_Block_2:
ldx #$03 ; CPU:$DF55 PRG:1F55 A2 03
lda Zp7E,x ; CPU:$DF57 PRG:1F57 B5 7E
cmp #$05 ; CPU:$DF59 PRG:1F59 C9 05
bcs SubCDF40_Block_3 ; CPU:$DF5B PRG:1F5B B0 01
rts ; CPU:$DF5D PRG:1F5D 60
; -----------------------------------------------------------------------------
; Routine: SubCDF40_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40_Block_3:
ldx #$00 ; CPU:$DF5E PRG:1F5E A2 00
; -----------------------------------------------------------------------------
; Routine: SubCDF40_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40_Block_4:
lda Zp5E,x ; CPU:$DF60 PRG:1F60 B5 5E
cmp #$01 ; CPU:$DF62 PRG:1F62 C9 01
bne SubCDF40_Block_5 ; CPU:$DF64 PRG:1F64 D0 06
lda Zp68,x ; CPU:$DF66 PRG:1F66 B5 68
cmp #$03 ; CPU:$DF68 PRG:1F68 C9 03
beq SubCDF72_Block_3 ; CPU:$DF6A PRG:1F6A F0 23
; -----------------------------------------------------------------------------
; Routine: SubCDF40_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF40_Block_5:
inx ; CPU:$DF6C PRG:1F6C E8
cpx #$0A ; CPU:$DF6D PRG:1F6D E0 0A
bne SubCDF40_Block_4 ; CPU:$DF6F PRG:1F6F D0 EF
rts ; CPU:$DF71 PRG:1F71 60
; -----------------------------------------------------------------------------
; Routine: SubCDF72
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF72:
ldx #$05 ; CPU:$DF72 PRG:1F72 A2 05
lda Zp7E,x ; CPU:$DF74 PRG:1F74 B5 7E
cmp #$05 ; CPU:$DF76 PRG:1F76 C9 05
bcs SubCDF72_Block ; CPU:$DF78 PRG:1F78 B0 01
rts ; CPU:$DF7A PRG:1F7A 60
; -----------------------------------------------------------------------------
; Routine: SubCDF72_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF72_Block:
ldx #$00 ; CPU:$DF7B PRG:1F7B A2 00
; -----------------------------------------------------------------------------
; Routine: SubCDF72_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF72_Block_1:
lda Zp5E,x ; CPU:$DF7D PRG:1F7D B5 5E
cmp #$01 ; CPU:$DF7F PRG:1F7F C9 01
bne SubCDF72_Block_2 ; CPU:$DF81 PRG:1F81 D0 06
lda Zp68,x ; CPU:$DF83 PRG:1F83 B5 68
cmp #$05 ; CPU:$DF85 PRG:1F85 C9 05
beq SubCDF72_Block_3 ; CPU:$DF87 PRG:1F87 F0 06
; -----------------------------------------------------------------------------
; Routine: SubCDF72_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF72_Block_2:
inx ; CPU:$DF89 PRG:1F89 E8
cmp #$0A ; CPU:$DF8A PRG:1F8A C9 0A
bne SubCDF72_Block_1 ; CPU:$DF8C PRG:1F8C D0 EF
rts ; CPU:$DF8E PRG:1F8E 60
; -----------------------------------------------------------------------------
; Routine: SubCDF72_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF72_Block_3:
lda #$40 ; CPU:$DF8F PRG:1F8F A9 40
sta Zp5E,x ; CPU:$DF91 PRG:1F91 95 5E
dec Zp68,x ; CPU:$DF93 PRG:1F93 D6 68
txa ; CPU:$DF95 PRG:1F95 8A
clc ; CPU:$DF96 PRG:1F96 18
adc #$03 ; CPU:$DF97 PRG:1F97 69 03
asl a ; CPU:$DF99 PRG:1F99 0A
asl a ; CPU:$DF9A PRG:1F9A 0A
asl a ; CPU:$DF9B PRG:1F9B 0A
asl a ; CPU:$DF9C PRG:1F9C 0A
tay ; CPU:$DF9D PRG:1F9D A8
lda $0200,y ; CPU:$DF9E PRG:1F9E B9 00 02
sta Zp01 ; CPU:$DFA1 PRG:1FA1 85 01
lda $0203,y ; CPU:$DFA3 PRG:1FA3 B9 03 02
sta Zp00 ; CPU:$DFA6 PRG:1FA6 85 00
lda $C1EB ; CPU:$DFA8 PRG:1FA8 AD EB C1
ldy #$00 ; CPU:$DFAB PRG:1FAB A0 00
; -----------------------------------------------------------------------------
; Routine: SubCDFAD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFAD:
cmp Zp00 ; CPU:$DFAD PRG:1FAD C5 00
bcs SubCDFAD_Block ; CPU:$DFAF PRG:1FAF B0 07
clc ; CPU:$DFB1 PRG:1FB1 18
adc #$18 ; CPU:$DFB2 PRG:1FB2 69 18
iny ; CPU:$DFB4 PRG:1FB4 C8
jmp $DFAD ; CPU:$DFB5 PRG:1FB5 4C AD DF
; -----------------------------------------------------------------------------
; Routine: SubCDFAD_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFAD_Block:
tya ; CPU:$DFB8 PRG:1FB8 98
asl a ; CPU:$DFB9 PRG:1FB9 0A
clc ; CPU:$DFBA PRG:1FBA 18
adc #$15 ; CPU:$DFBB PRG:1FBB 69 15
clc ; CPU:$DFBD PRG:1FBD 18
adc Zp01 ; CPU:$DFBE PRG:1FBE 65 01
sta ZpC0 ; CPU:$DFC0 PRG:1FC0 85 C0
rts ; CPU:$DFC2 PRG:1FC2 60
; -----------------------------------------------------------------------------
; Routine: SubCDFC3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFC3:
ldx Zp5D ; CPU:$DFC3 PRG:1FC3 A6 5D
lda Zp68,x ; CPU:$DFC5 PRG:1FC5 B5 68
cmp #$01 ; CPU:$DFC7 PRG:1FC7 C9 01
bne SubCDFC3_Block ; CPU:$DFC9 PRG:1FC9 D0 18
jsr $EFD5 ; CPU:$DFCB PRG:1FCB 20 D5 EF
lda $0203,x ; CPU:$DFCE PRG:1FCE BD 03 02
cmp #$30 ; CPU:$DFD1 PRG:1FD1 C9 30
bcs SubCDFC3_Block ; CPU:$DFD3 PRG:1FD3 B0 0E
lda #$23 ; CPU:$DFD5 PRG:1FD5 A9 23
sta $0202,x ; CPU:$DFD7 PRG:1FD7 9D 02 02
sta $0206,x ; CPU:$DFDA PRG:1FDA 9D 06 02
sta $020A,x ; CPU:$DFDD PRG:1FDD 9D 0A 02
sta $020E,x ; CPU:$DFE0 PRG:1FE0 9D 0E 02
; -----------------------------------------------------------------------------
; Routine: SubCDFC3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFC3_Block:
rts ; CPU:$DFE3 PRG:1FE3 60
; -----------------------------------------------------------------------------
; Routine: CheckPeriodicEventForObject
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckPeriodicEventForObject:
sta Zp0A ; CPU:$DFE4 PRG:1FE4 85 0A
sta Zp0B ; CPU:$DFE6 PRG:1FE6 85 0B
; -----------------------------------------------------------------------------
; Routine: SubCDFE8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFE8:
ldx Zp5D ; CPU:$DFE8 PRG:1FE8 A6 5D
inc Zp8A,x ; CPU:$DFEA PRG:1FEA F6 8A
lda Zp8A,x ; CPU:$DFEC PRG:1FEC B5 8A
bmi SubCDFE8_Block ; CPU:$DFEE PRG:1FEE 30 07
cmp #$10 ; CPU:$DFF0 PRG:1FF0 C9 10
bcs SubCDFE8_Block ; CPU:$DFF2 PRG:1FF2 B0 03
jmp $DFFB ; CPU:$DFF4 PRG:1FF4 4C FB DF
; -----------------------------------------------------------------------------
; Routine: SubCDFE8_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFE8_Block:
lda #$00 ; CPU:$DFF7 PRG:1FF7 A9 00
sta Zp8A,x ; CPU:$DFF9 PRG:1FF9 95 8A
; -----------------------------------------------------------------------------
; Routine: SubCDFFB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFFB:
cmp #$08 ; CPU:$DFFB PRG:1FFB C9 08
bcs SubCDFFB_Block ; CPU:$DFFD PRG:1FFD B0 09
tax ; CPU:$DFFF PRG:1FFF AA
lda $C1BC,x ; CPU:$E000 PRG:2000 BD BC C1
and Zp0A ; CPU:$E003 PRG:2003 25 0A
jmp $E011 ; CPU:$E005 PRG:2005 4C 11 E0
; -----------------------------------------------------------------------------
; Routine: SubCDFFB_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFFB_Block:
sec ; CPU:$E008 PRG:2008 38
sbc #$08 ; CPU:$E009 PRG:2009 E9 08
tax ; CPU:$E00B PRG:200B AA
lda $C1BC,x ; CPU:$E00C PRG:200C BD BC C1
and Zp0B ; CPU:$E00F PRG:200F 25 0B
; -----------------------------------------------------------------------------
; Routine: SubCE011
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE011:
beq SubCE011_Block ; CPU:$E011 PRG:2011 F0 02
lda #$01 ; CPU:$E013 PRG:2013 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCE011_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE011_Block:
rts ; CPU:$E015 PRG:2015 60
; -----------------------------------------------------------------------------
; Routine: FindYRowIndex
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FindYRowIndex:
sta Zp0A ; CPU:$E016 PRG:2016 85 0A
lda Zp53 ; CPU:$E018 PRG:2018 A5 53
sec ; CPU:$E01A PRG:201A 38
sbc #$01 ; CPU:$E01B PRG:201B E9 01
asl a ; CPU:$E01D PRG:201D 0A
tax ; CPU:$E01E PRG:201E AA
lda $C493,x ; CPU:$E01F PRG:201F BD 93 C4
sta Zp08 ; CPU:$E022 PRG:2022 85 08
lda $C494,x ; CPU:$E024 PRG:2024 BD 94 C4
sta Zp09 ; CPU:$E027 PRG:2027 85 09
ldy #$00 ; CPU:$E029 PRG:2029 A0 00
lda #$01 ; CPU:$E02B PRG:202B A9 01
sta Zp0B ; CPU:$E02D PRG:202D 85 0B
; -----------------------------------------------------------------------------
; Routine: SubCE02F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE02F:
lda (Zp08),y ; CPU:$E02F PRG:202F B1 08
cmp #$FF ; CPU:$E031 PRG:2031 C9 FF
beq SubCE02F_Block ; CPU:$E033 PRG:2033 F0 0C
cmp Zp0A ; CPU:$E035 PRG:2035 C5 0A
beq SubCE02F_Block_1 ; CPU:$E037 PRG:2037 F0 0C
bcc SubCE02F_Block_1 ; CPU:$E039 PRG:2039 90 0A
inc Zp0B ; CPU:$E03B PRG:203B E6 0B
iny ; CPU:$E03D PRG:203D C8
jmp $E02F ; CPU:$E03E PRG:203E 4C 2F E0
; -----------------------------------------------------------------------------
; Routine: SubCE02F_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE02F_Block:
lda #$07 ; CPU:$E041 PRG:2041 A9 07
sta Zp0B ; CPU:$E043 PRG:2043 85 0B
; -----------------------------------------------------------------------------
; Routine: SubCE02F_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE02F_Block_1:
lda Zp0B ; CPU:$E045 PRG:2045 A5 0B
rts ; CPU:$E047 PRG:2047 60
; -----------------------------------------------------------------------------
; Routine: SubCE048
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE048:
ldx Zp5D ; CPU:$E048 PRG:2048 A6 5D
lda Zp5E,x ; CPU:$E04A PRG:204A B5 5E
cmp #$01 ; CPU:$E04C PRG:204C C9 01
bne SubCE048_Block ; CPU:$E04E PRG:204E D0 07
lda Zp7D ; CPU:$E050 PRG:2050 A5 7D
bne SubCE048_Block ; CPU:$E052 PRG:2052 D0 03
lda #$01 ; CPU:$E054 PRG:2054 A9 01
rts ; CPU:$E056 PRG:2056 60
; -----------------------------------------------------------------------------
; Routine: SubCE048_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE048_Block:
lda #$00 ; CPU:$E057 PRG:2057 A9 00
rts ; CPU:$E059 PRG:2059 60
; -----------------------------------------------------------------------------
; Routine: SubCE05A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE05A:
sta Zp0C ; CPU:$E05A PRG:205A 85 0C
ldx Zp5D ; CPU:$E05C PRG:205C A6 5D
lda Zp68,x ; CPU:$E05E PRG:205E B5 68
cmp #$01 ; CPU:$E060 PRG:2060 C9 01
beq SubCE05A_Block ; CPU:$E062 PRG:2062 F0 15
cmp #$06 ; CPU:$E064 PRG:2064 C9 06
beq SubCE05A_Block ; CPU:$E066 PRG:2066 F0 11
ldx #$00 ; CPU:$E068 PRG:2068 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCE06A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE06A:
lda $C1C4,x ; CPU:$E06A PRG:206A BD C4 C1
cmp Zp0C ; CPU:$E06D PRG:206D C5 0C
beq SubCE07B_Block ; CPU:$E06F PRG:206F F0 19
inx ; CPU:$E071 PRG:2071 E8
cpx #$09 ; CPU:$E072 PRG:2072 E0 09
beq SubCE07B_Block_1 ; CPU:$E074 PRG:2074 F0 17
jmp $E06A ; CPU:$E076 PRG:2076 4C 6A E0
; -----------------------------------------------------------------------------
; Routine: SubCE05A_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE05A_Block:
ldx #$04 ; CPU:$E079 PRG:2079 A2 04
; -----------------------------------------------------------------------------
; Routine: SubCE07B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE07B:
lda $C1C4,x ; CPU:$E07B PRG:207B BD C4 C1
cmp Zp0C ; CPU:$E07E PRG:207E C5 0C
beq SubCE07B_Block ; CPU:$E080 PRG:2080 F0 08
inx ; CPU:$E082 PRG:2082 E8
cpx #$09 ; CPU:$E083 PRG:2083 E0 09
beq SubCE07B_Block_1 ; CPU:$E085 PRG:2085 F0 06
jmp $E07B ; CPU:$E087 PRG:2087 4C 7B E0
; -----------------------------------------------------------------------------
; Routine: SubCE07B_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE07B_Block:
lda #$00 ; CPU:$E08A PRG:208A A9 00
rts ; CPU:$E08C PRG:208C 60
; -----------------------------------------------------------------------------
; Routine: SubCE07B_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE07B_Block_1:
lda #$01 ; CPU:$E08D PRG:208D A9 01
rts ; CPU:$E08F PRG:208F 60
; -----------------------------------------------------------------------------
; Routine: SubCE090
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE090:
sta Zp0C ; CPU:$E090 PRG:2090 85 0C
ldx Zp5D ; CPU:$E092 PRG:2092 A6 5D
lda Zp68,x ; CPU:$E094 PRG:2094 B5 68
and #$01 ; CPU:$E096 PRG:2096 29 01
beq SubCE090_Block ; CPU:$E098 PRG:2098 F0 05
ldx #$00 ; CPU:$E09A PRG:209A A2 00
jmp $E0A1 ; CPU:$E09C PRG:209C 4C A1 E0
; -----------------------------------------------------------------------------
; Routine: SubCE090_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE090_Block:
ldx #$01 ; CPU:$E09F PRG:209F A2 01
; -----------------------------------------------------------------------------
; Routine: SubCE0A1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0A1:
lda $C1CD,x ; CPU:$E0A1 PRG:20A1 BD CD C1
cmp Zp0C ; CPU:$E0A4 PRG:20A4 C5 0C
beq SubCE0A1_Block ; CPU:$E0A6 PRG:20A6 F0 03
lda #$00 ; CPU:$E0A8 PRG:20A8 A9 00
rts ; CPU:$E0AA PRG:20AA 60
; -----------------------------------------------------------------------------
; Routine: SubCE0A1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0A1_Block:
lda #$01 ; CPU:$E0AB PRG:20AB A9 01
rts ; CPU:$E0AD PRG:20AD 60
; -----------------------------------------------------------------------------
; Routine: SubCE0AE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0AE:
sta Zp0C ; CPU:$E0AE PRG:20AE 85 0C
ldx Zp5D ; CPU:$E0B0 PRG:20B0 A6 5D
lda Zp68,x ; CPU:$E0B2 PRG:20B2 B5 68
cmp #$02 ; CPU:$E0B4 PRG:20B4 C9 02
beq SubCE0AE_Block ; CPU:$E0B6 PRG:20B6 F0 13
cmp #$03 ; CPU:$E0B8 PRG:20B8 C9 03
beq SubCE0AE_Block ; CPU:$E0BA PRG:20BA F0 0F
cmp #$04 ; CPU:$E0BC PRG:20BC C9 04
beq SubCE0AE_Block_1 ; CPU:$E0BE PRG:20BE F0 11
cmp #$05 ; CPU:$E0C0 PRG:20C0 C9 05
beq SubCE0AE_Block_2 ; CPU:$E0C2 PRG:20C2 F0 19
cmp #$06 ; CPU:$E0C4 PRG:20C4 C9 06
beq SubCE0AE_Block_3 ; CPU:$E0C6 PRG:20C6 F0 21
jmp $E0EC ; CPU:$E0C8 PRG:20C8 4C EC E0
; -----------------------------------------------------------------------------
; Routine: SubCE0AE_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0AE_Block:
jsr $E0F1 ; CPU:$E0CB PRG:20CB 20 F1 E0
jmp $E0EC ; CPU:$E0CE PRG:20CE 4C EC E0
; -----------------------------------------------------------------------------
; Routine: SubCE0AE_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0AE_Block_1:
jsr $E0F1 ; CPU:$E0D1 PRG:20D1 20 F1 E0
ldy #$89 ; CPU:$E0D4 PRG:20D4 A0 89
cmp #$C4 ; CPU:$E0D6 PRG:20D6 C9 C4
beq SubCE0F1_Block_1 ; CPU:$E0D8 PRG:20D8 F0 2F
jmp $E0EC ; CPU:$E0DA PRG:20DA 4C EC E0
; -----------------------------------------------------------------------------
; Routine: SubCE0AE_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0AE_Block_2:
jsr $E0F1 ; CPU:$E0DD PRG:20DD 20 F1 E0
ldy #$71 ; CPU:$E0E0 PRG:20E0 A0 71
cmp #$B4 ; CPU:$E0E2 PRG:20E2 C9 B4
beq SubCE0F1_Block_1 ; CPU:$E0E4 PRG:20E4 F0 23
jmp $E0EC ; CPU:$E0E6 PRG:20E6 4C EC E0
; -----------------------------------------------------------------------------
; Routine: SubCE0AE_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0AE_Block_3:
jsr $E0F1 ; CPU:$E0E9 PRG:20E9 20 F1 E0
; -----------------------------------------------------------------------------
; Routine: SubCE0EC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0EC:
lda #$00 ; CPU:$E0EC PRG:20EC A9 00
jmp $E10F ; CPU:$E0EE PRG:20EE 4C 0F E1
; -----------------------------------------------------------------------------
; Routine: SubCE0F1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0F1:
tax ; CPU:$E0F1 PRG:20F1 AA
dex ; CPU:$E0F2 PRG:20F2 CA
dex ; CPU:$E0F3 PRG:20F3 CA
lda Zp0C ; CPU:$E0F4 PRG:20F4 A5 0C
ldy $C172,x ; CPU:$E0F6 PRG:20F6 BC 72 C1
cmp $C177,x ; CPU:$E0F9 PRG:20F9 DD 77 C1
beq SubCE0F1_Block ; CPU:$E0FC PRG:20FC F0 09
ldy $C17C,x ; CPU:$E0FE PRG:20FE BC 7C C1
cmp $C181,x ; CPU:$E101 PRG:2101 DD 81 C1
beq SubCE0F1_Block ; CPU:$E104 PRG:2104 F0 01
rts ; CPU:$E106 PRG:2106 60
; -----------------------------------------------------------------------------
; Routine: SubCE0F1_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0F1_Block:
pla ; CPU:$E107 PRG:2107 68
pla ; CPU:$E108 PRG:2108 68
; -----------------------------------------------------------------------------
; Routine: SubCE0F1_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0F1_Block_1:
ldx Zp5D ; CPU:$E109 PRG:2109 A6 5D
sty ZpA3,x ; CPU:$E10B PRG:210B 94 A3
lda #$01 ; CPU:$E10D PRG:210D A9 01
; -----------------------------------------------------------------------------
; Routine: SubCE10F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE10F:
sta Zp0C ; CPU:$E10F PRG:210F 85 0C
rts ; CPU:$E111 PRG:2111 60
; -----------------------------------------------------------------------------
; Routine: SearchTableForByte
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SearchTableForByte:
sta Zp0B ; CPU:$E112 PRG:2112 85 0B
ldy #$00 ; CPU:$E114 PRG:2114 A0 00
; -----------------------------------------------------------------------------
; Routine: SearchTableForByte_Loop
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SearchTableForByte_Loop:
lda (Zp08),y ; CPU:$E116 PRG:2116 B1 08
cmp #$FE ; CPU:$E118 PRG:2118 C9 FE
beq SearchTableForByte_Loop_Block_1 ; CPU:$E11A PRG:211A F0 0D
cmp Zp0B ; CPU:$E11C PRG:211C C5 0B
beq SearchTableForByte_Loop_Block ; CPU:$E11E PRG:211E F0 04
iny ; CPU:$E120 PRG:2120 C8
jmp $E116 ; CPU:$E121 PRG:2121 4C 16 E1
; -----------------------------------------------------------------------------
; Routine: SearchTableForByte_Loop_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SearchTableForByte_Loop_Block:
lda #$01 ; CPU:$E124 PRG:2124 A9 01
jmp $E12B ; CPU:$E126 PRG:2126 4C 2B E1
; -----------------------------------------------------------------------------
; Routine: SearchTableForByte_Loop_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SearchTableForByte_Loop_Block_1:
lda #$00 ; CPU:$E129 PRG:2129 A9 00
; -----------------------------------------------------------------------------
; Routine: SearchTableForByte_Return
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SearchTableForByte_Return:
sta Zp0C ; CPU:$E12B PRG:212B 85 0C
sty Zp0A ; CPU:$E12D PRG:212D 84 0A
rts ; CPU:$E12F PRG:212F 60
; -----------------------------------------------------------------------------
; Routine: SubCE130
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE130:
ldx Zp5D ; CPU:$E130 PRG:2130 A6 5D
lda Zp68,x ; CPU:$E132 PRG:2132 B5 68
sec ; CPU:$E134 PRG:2134 38
sbc Zp59 ; CPU:$E135 PRG:2135 E5 59
beq SubCE130_Block ; CPU:$E137 PRG:2137 F0 05
bmi SubCE130_Block ; CPU:$E139 PRG:2139 30 03
jmp $E141 ; CPU:$E13B PRG:213B 4C 41 E1
; -----------------------------------------------------------------------------
; Routine: SubCE130_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE130_Block:
lda #$01 ; CPU:$E13E PRG:213E A9 01
rts ; CPU:$E140 PRG:2140 60
; -----------------------------------------------------------------------------
; Routine: SubCE141
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE141:
lda #$00 ; CPU:$E141 PRG:2141 A9 00
rts ; CPU:$E143 PRG:2143 60
; ---- data $E144-$E165 (34 bytes) ----
; Unreached code block: clears $0068-$0071, processes sprite data
UnreachedCode_E144: .byte $A2, $00, $A0, $20, $B9, $00, $02, $C9, $FF, $F0, $08, $20, $16, $E0, $95, $68 ; CPU:$E144 PRG:2144 A2 00 A0 20 B9 00 02 C9 FF F0 08 20 16 E0 95 68
.byte $4C, $5B, $E1, $A9, $00, $95, $68, $98, $18, $69, $10, $A8, $E8, $E0, $0A, $D0 ; CPU:$E154 PRG:2154 4C 5B E1 A9 00 95 68 98 18 69 10 A8 E8 E0 0A D0
.byte $E3, $60 ; CPU:$E164 PRG:2164 E3 60
; -----------------------------------------------------------------------------
; Routine: CountObjectTypes
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CountObjectTypes:
lda #$00 ; CPU:$E166 PRG:2166 A9 00
ldy #$06 ; CPU:$E168 PRG:2168 A0 06
; -----------------------------------------------------------------------------
; Routine: CountObjectTypes_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CountObjectTypes_Block:
sta a:Zp7E,y ; CPU:$E16A PRG:216A 99 7E 00
dey ; CPU:$E16D PRG:216D 88
bpl CountObjectTypes_Block ; CPU:$E16E PRG:216E 10 FA
ldy #$00 ; CPU:$E170 PRG:2170 A0 00
; -----------------------------------------------------------------------------
; Routine: CountObjectTypes_Loop
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CountObjectTypes_Loop:
lda a:Zp68,y ; CPU:$E172 PRG:2172 B9 68 00
beq CountObjectTypes_Loop_Block ; CPU:$E175 PRG:2175 F0 08
tax ; CPU:$E177 PRG:2177 AA
lda Zp7E,x ; CPU:$E178 PRG:2178 B5 7E
clc ; CPU:$E17A PRG:217A 18
adc #$01 ; CPU:$E17B PRG:217B 69 01
sta Zp7E,x ; CPU:$E17D PRG:217D 95 7E
; -----------------------------------------------------------------------------
; Routine: CountObjectTypes_Loop_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CountObjectTypes_Loop_Block:
cpy #$09 ; CPU:$E17F PRG:217F C0 09
beq CountObjectTypes_Loop_Block_1 ; CPU:$E181 PRG:2181 F0 04
iny ; CPU:$E183 PRG:2183 C8
jmp $E172 ; CPU:$E184 PRG:2184 4C 72 E1
; -----------------------------------------------------------------------------
; Routine: CountObjectTypes_Loop_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CountObjectTypes_Loop_Block_1:
ldx Zp59 ; CPU:$E187 PRG:2187 A6 59
cpx #$07 ; CPU:$E189 PRG:2189 E0 07
beq CountObjectTypes_Loop_Block_2 ; CPU:$E18B PRG:218B F0 0C
inc Zp7E,x ; CPU:$E18D PRG:218D F6 7E
lda Zp96 ; CPU:$E18F PRG:218F A5 96
cmp #$0A ; CPU:$E191 PRG:2191 C9 0A
bne CountObjectTypes_Loop_Block_2 ; CPU:$E193 PRG:2193 D0 04
ldx Zp59 ; CPU:$E195 PRG:2195 A6 59
inc Zp7E,x ; CPU:$E197 PRG:2197 F6 7E
; -----------------------------------------------------------------------------
; Routine: CountObjectTypes_Loop_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CountObjectTypes_Loop_Block_2:
rts ; CPU:$E199 PRG:2199 60
; -----------------------------------------------------------------------------
; Routine: SubCE19A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE19A:
lda ZpAD ; CPU:$E19A PRG:219A A5 AD
bne SubCE19A_Block ; CPU:$E19C PRG:219C D0 01
rts ; CPU:$E19E PRG:219E 60
; -----------------------------------------------------------------------------
; Routine: SubCE19A_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE19A_Block:
cmp #$01 ; CPU:$E19F PRG:219F C9 01
bne SubCE19A_Block_1 ; CPU:$E1A1 PRG:21A1 D0 1C
lda #$20 ; CPU:$E1A3 PRG:21A3 A9 20
sta Zp00 ; CPU:$E1A5 PRG:21A5 85 00
lda #$C0 ; CPU:$E1A7 PRG:21A7 A9 C0
sta Zp01 ; CPU:$E1A9 PRG:21A9 85 01
lda #$FC ; CPU:$E1AB PRG:21AB A9 FC
sta Zp02 ; CPU:$E1AD PRG:21AD 85 02
lda #$12 ; CPU:$E1AF PRG:21AF A9 12
sta Zp03 ; CPU:$E1B1 PRG:21B1 85 03
lda #$E0 ; CPU:$E1B3 PRG:21B3 A9 E0
jsr $F080 ; CPU:$E1B5 PRG:21B5 20 80 F0
lda #$02 ; CPU:$E1B8 PRG:21B8 A9 02
sta ZpAD ; CPU:$E1BA PRG:21BA 85 AD
jmp $E1E0 ; CPU:$E1BC PRG:21BC 4C E0 E1
; -----------------------------------------------------------------------------
; Routine: SubCE19A_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE19A_Block_1:
lda Zp38 ; CPU:$E1BF PRG:21BF A5 38
bne SubCE1E0_Block ; CPU:$E1C1 PRG:21C1 D0 21
lda #$03 ; CPU:$E1C3 PRG:21C3 A9 03
sta ZpAD ; CPU:$E1C5 PRG:21C5 85 AD
ldx #$E1 ; CPU:$E1C7 PRG:21C7 A2 E1
lda $0200,x ; CPU:$E1C9 PRG:21C9 BD 00 02
cmp #$FC ; CPU:$E1CC PRG:21CC C9 FC
beq SubCE19A_Block_2 ; CPU:$E1CE PRG:21CE F0 05
lda #$FC ; CPU:$E1D0 PRG:21D0 A9 FC
jmp $E1D7 ; CPU:$E1D2 PRG:21D2 4C D7 E1
; -----------------------------------------------------------------------------
; Routine: SubCE19A_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE19A_Block_2:
lda #$FE ; CPU:$E1D5 PRG:21D5 A9 FE
; -----------------------------------------------------------------------------
; Routine: SubCE1D7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE1D7:
sta $0200,x ; CPU:$E1D7 PRG:21D7 9D 00 02
clc ; CPU:$E1DA PRG:21DA 18
adc #$01 ; CPU:$E1DB PRG:21DB 69 01
sta $0204,x ; CPU:$E1DD PRG:21DD 9D 04 02
; -----------------------------------------------------------------------------
; Routine: SubCE1E0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE1E0:
lda #$10 ; CPU:$E1E0 PRG:21E0 A9 10
sta Zp38 ; CPU:$E1E2 PRG:21E2 85 38
; -----------------------------------------------------------------------------
; Routine: SubCE1E0_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE1E0_Block:
rts ; CPU:$E1E4 PRG:21E4 60
; -----------------------------------------------------------------------------
; Routine: InitObjectListZpAE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitObjectListZpAE:
lda #$00 ; CPU:$E1E5 PRG:21E5 A9 00
sta ZpAE ; CPU:$E1E7 PRG:21E7 85 AE
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZpAE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZpAE:
jsr $EFDD ; CPU:$E1E9 PRG:21E9 20 DD EF
lda $0200,x ; CPU:$E1EC PRG:21EC BD 00 02
cmp #$FF ; CPU:$E1EF PRG:21EF C9 FF
bne SubCE225 ; CPU:$E1F1 PRG:21F1 D0 32
lda Zp53 ; CPU:$E1F3 PRG:21F3 A5 53
cmp #$01 ; CPU:$E1F5 PRG:21F5 C9 01
beq UpdateObjectListZpAE_Block ; CPU:$E1F7 PRG:21F7 F0 07
cmp #$04 ; CPU:$E1F9 PRG:21F9 C9 04
beq UpdateObjectListZpAE_Block_1 ; CPU:$E1FB PRG:21FB F0 16
jmp $E225 ; CPU:$E1FD PRG:21FD 4C 25 E2
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZpAE_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZpAE_Block:
lda Zp40 ; CPU:$E200 PRG:2200 A5 40
bne SubCE225_Block ; CPU:$E202 PRG:2202 D0 24
lda ZpAD ; CPU:$E204 PRG:2204 A5 AD
beq SubCE225_Block ; CPU:$E206 PRG:2206 F0 20
cmp #$02 ; CPU:$E208 PRG:2208 C9 02
bne SubCE225_Block ; CPU:$E20A PRG:220A D0 1C
lda #$19 ; CPU:$E20C PRG:220C A9 19
sta Zp40 ; CPU:$E20E PRG:220E 85 40
jmp $E21F ; CPU:$E210 PRG:2210 4C 1F E2
; -----------------------------------------------------------------------------
; Routine: UpdateObjectListZpAE_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateObjectListZpAE_Block_1:
lda Zp40 ; CPU:$E213 PRG:2213 A5 40
bne SubCE225_Block ; CPU:$E215 PRG:2215 D0 11
jsr $EAF7 ; CPU:$E217 PRG:2217 20 F7 EA
lda $C466,x ; CPU:$E21A PRG:221A BD 66 C4
sta Zp40 ; CPU:$E21D PRG:221D 85 40
; -----------------------------------------------------------------------------
; Routine: SubCE21F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE21F:
lda #$06 ; CPU:$E21F PRG:221F A9 06
ldx ZpAE ; CPU:$E221 PRG:2221 A6 AE
sta ZpAF,x ; CPU:$E223 PRG:2223 95 AF
; -----------------------------------------------------------------------------
; Routine: SubCE225
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE225:
jsr $E250 ; CPU:$E225 PRG:2225 20 50 E2
; -----------------------------------------------------------------------------
; Routine: SubCE225_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE225_Block:
ldx Zp53 ; CPU:$E228 PRG:2228 A6 53
dex ; CPU:$E22A PRG:222A CA
inc ZpAE ; CPU:$E22B PRG:222B E6 AE
lda ZpAE ; CPU:$E22D PRG:222D A5 AE
cmp $C1F6,x ; CPU:$E22F PRG:222F DD F6 C1
beq SubCE225_Block_1 ; CPU:$E232 PRG:2232 F0 03
jmp $E1E9 ; CPU:$E234 PRG:2234 4C E9 E1
; -----------------------------------------------------------------------------
; Routine: SubCE225_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE225_Block_1:
lda Zp53 ; CPU:$E237 PRG:2237 A5 53
cmp #$03 ; CPU:$E239 PRG:2239 C9 03
beq SubCE225_Block_2 ; CPU:$E23B PRG:223B F0 12
lda Zp3B ; CPU:$E23D PRG:223D A5 3B
bne SubCE225_Block_2 ; CPU:$E23F PRG:223F D0 0E
lda #$00 ; CPU:$E241 PRG:2241 A9 00
sta ZpD2 ; CPU:$E243 PRG:2243 85 D2
sta ZpD3 ; CPU:$E245 PRG:2245 85 D3
sta ZpD4 ; CPU:$E247 PRG:2247 85 D4
sta ZpD5 ; CPU:$E249 PRG:2249 85 D5
lda #$BC ; CPU:$E24B PRG:224B A9 BC
sta Zp3B ; CPU:$E24D PRG:224D 85 3B
; -----------------------------------------------------------------------------
; Routine: SubCE225_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE225_Block_2:
rts ; CPU:$E24F PRG:224F 60
; -----------------------------------------------------------------------------
; Routine: DispatchObjectStateZpAF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectStateZpAF:
ldx ZpAE ; CPU:$E250 PRG:2250 A6 AE
lda ZpAF,x ; CPU:$E252 PRG:2252 B5 AF
; -----------------------------------------------------------------------------
; Routine: DispatchObjectState_Loop
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectState_Loop:
and #$0F ; CPU:$E254 PRG:2254 29 0F
beq SubCE292 ; CPU:$E256 PRG:2256 F0 3A
cmp #$06 ; CPU:$E258 PRG:2258 C9 06
beq DispatchObjectState_Loop_Block ; CPU:$E25A PRG:225A F0 33
cmp #$08 ; CPU:$E25C PRG:225C C9 08
beq DispatchObjectState_Loop_Block ; CPU:$E25E PRG:225E F0 2F
cmp #$01 ; CPU:$E260 PRG:2260 C9 01
beq DispatchObjectState_Loop_Block_1 ; CPU:$E262 PRG:2262 F0 31
cmp #$02 ; CPU:$E264 PRG:2264 C9 02
beq DispatchObjectState_Loop_Block_2 ; CPU:$E266 PRG:2266 F0 32
cmp #$03 ; CPU:$E268 PRG:2268 C9 03
beq DispatchObjectState_Loop_Block_3 ; CPU:$E26A PRG:226A F0 35
lda Zp53 ; CPU:$E26C PRG:226C A5 53
cmp #$03 ; CPU:$E26E PRG:226E C9 03
beq UpdateBallTrajectory ; CPU:$E270 PRG:2270 F0 06
jsr $E2B6 ; CPU:$E272 PRG:2272 20 B6 E2
jmp $E280 ; CPU:$E275 PRG:2275 4C 80 E2
; -----------------------------------------------------------------------------
; Routine: UpdateBallTrajectory
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateBallTrajectory:
lda Zp19,x ; CPU:$E278 PRG:2278 B5 19
and #$03 ; CPU:$E27A PRG:227A 29 03
ldx ZpAE ; CPU:$E27C PRG:227C A6 AE
sta ZpAF,x ; CPU:$E27E PRG:227E 95 AF
; -----------------------------------------------------------------------------
; Routine: SubCE280
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE280:
lda ZpAF,x ; CPU:$E280 PRG:2280 B5 AF
cmp #$01 ; CPU:$E282 PRG:2282 C9 01
beq InitSound_3 ; CPU:$E284 PRG:2284 F0 04
cmp #$02 ; CPU:$E286 PRG:2286 C9 02
bne InitSound_3_Block ; CPU:$E288 PRG:2288 D0 02
; -----------------------------------------------------------------------------
; Routine: InitSound_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSound_3:
sta ZpB3,x ; CPU:$E28A PRG:228A 95 B3
; -----------------------------------------------------------------------------
; Routine: InitSound_3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSound_3_Block:
jmp $E254 ; CPU:$E28C PRG:228C 4C 54 E2
; -----------------------------------------------------------------------------
; Routine: DispatchObjectState_Loop_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectState_Loop_Block:
jmp $E538 ; CPU:$E28F PRG:228F 4C 38 E5
; -----------------------------------------------------------------------------
; Routine: SubCE292
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE292:
jmp $E2F9 ; CPU:$E292 PRG:2292 4C F9 E2
; -----------------------------------------------------------------------------
; Routine: DispatchObjectState_Loop_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectState_Loop_Block_1:
lda #$00 ; CPU:$E295 PRG:2295 A9 00
jmp $E29C ; CPU:$E297 PRG:2297 4C 9C E2
; -----------------------------------------------------------------------------
; Routine: DispatchObjectState_Loop_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectState_Loop_Block_2:
lda #$01 ; CPU:$E29A PRG:229A A9 01
; -----------------------------------------------------------------------------
; Routine: SubCE29C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE29C:
sta Zp99 ; CPU:$E29C PRG:229C 85 99
jmp $E368 ; CPU:$E29E PRG:229E 4C 68 E3
; -----------------------------------------------------------------------------
; Routine: DispatchObjectState_Loop_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectState_Loop_Block_3:
lda Zp53 ; CPU:$E2A1 PRG:22A1 A5 53
cmp #$01 ; CPU:$E2A3 PRG:22A3 C9 01
bne DispatchObjectState_Loop_Block_4 ; CPU:$E2A5 PRG:22A5 D0 0C
jsr $E626 ; CPU:$E2A7 PRG:22A7 20 26 E6
ldx ZpAE ; CPU:$E2AA PRG:22AA A6 AE
lda ZpAF,x ; CPU:$E2AC PRG:22AC B5 AF
bne DispatchObjectState_Loop_Block_4 ; CPU:$E2AE PRG:22AE D0 03
jmp $E292 ; CPU:$E2B0 PRG:22B0 4C 92 E2
; -----------------------------------------------------------------------------
; Routine: DispatchObjectState_Loop_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DispatchObjectState_Loop_Block_4:
jmp $E41B ; CPU:$E2B3 PRG:22B3 4C 1B E4
; -----------------------------------------------------------------------------
; Routine: SubCE2B6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2B6:
ldx ZpAE ; CPU:$E2B6 PRG:22B6 A6 AE
lda ZpD2,x ; CPU:$E2B8 PRG:22B8 B5 D2
bne SubCE2DD ; CPU:$E2BA PRG:22BA D0 21
lda #$01 ; CPU:$E2BC PRG:22BC A9 01
sta ZpD2,x ; CPU:$E2BE PRG:22BE 95 D2
lda ZpAE ; CPU:$E2C0 PRG:22C0 A5 AE
clc ; CPU:$E2C2 PRG:22C2 18
adc #$01 ; CPU:$E2C3 PRG:22C3 69 01
asl a ; CPU:$E2C5 PRG:22C5 0A
asl a ; CPU:$E2C6 PRG:22C6 0A
asl a ; CPU:$E2C7 PRG:22C7 0A
asl a ; CPU:$E2C8 PRG:22C8 0A
tay ; CPU:$E2C9 PRG:22C9 A8
lda $0203,y ; CPU:$E2CA PRG:22CA B9 03 02
cmp $0203 ; CPU:$E2CD PRG:22CD CD 03 02
bcs SubCE2B6_Block ; CPU:$E2D0 PRG:22D0 B0 07
lda #$01 ; CPU:$E2D2 PRG:22D2 A9 01
sta ZpEC,x ; CPU:$E2D4 PRG:22D4 95 EC
jmp $E2DD ; CPU:$E2D6 PRG:22D6 4C DD E2
; -----------------------------------------------------------------------------
; Routine: SubCE2B6_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2B6_Block:
lda #$02 ; CPU:$E2D9 PRG:22D9 A9 02
sta ZpEC,x ; CPU:$E2DB PRG:22DB 95 EC
; -----------------------------------------------------------------------------
; Routine: SubCE2DD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2DD:
lda Zp19,x ; CPU:$E2DD PRG:22DD B5 19
and #$07 ; CPU:$E2DF PRG:22DF 29 07
sta ZpAF,x ; CPU:$E2E1 PRG:22E1 95 AF
tay ; CPU:$E2E3 PRG:22E3 A8
cmp #$04 ; CPU:$E2E4 PRG:22E4 C9 04
bcs SubCE2DD_Block ; CPU:$E2E6 PRG:22E6 B0 03
jmp $E2F6 ; CPU:$E2E8 PRG:22E8 4C F6 E2
; -----------------------------------------------------------------------------
; Routine: SubCE2DD_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2DD_Block:
ldy ZpEC,x ; CPU:$E2EB PRG:22EB B4 EC
cmp #$07 ; CPU:$E2ED PRG:22ED C9 07
bcs SubCE2DD_Block_1 ; CPU:$E2EF PRG:22EF B0 03
jmp $E2F6 ; CPU:$E2F1 PRG:22F1 4C F6 E2
; -----------------------------------------------------------------------------
; Routine: SubCE2DD_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2DD_Block_1:
ldy #$03 ; CPU:$E2F4 PRG:22F4 A0 03
; -----------------------------------------------------------------------------
; Routine: SubCE2F6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2F6:
sty ZpAF,x ; CPU:$E2F6 PRG:22F6 94 AF
rts ; CPU:$E2F8 PRG:22F8 60
; -----------------------------------------------------------------------------
; Routine: SubCE2F9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2F9:
lda #$55 ; CPU:$E2F9 PRG:22F9 A9 55
sta Zp0A ; CPU:$E2FB PRG:22FB 85 0A
sta Zp0B ; CPU:$E2FD PRG:22FD 85 0B
jsr $E806 ; CPU:$E2FF PRG:22FF 20 06 E8
bne SubCE2F9_Block ; CPU:$E302 PRG:2302 D0 01
rts ; CPU:$E304 PRG:2304 60
; -----------------------------------------------------------------------------
; Routine: SubCE2F9_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2F9_Block:
jsr $EFDD ; CPU:$E305 PRG:2305 20 DD EF
stx Zp04 ; CPU:$E308 PRG:2308 86 04
jsr $EAEC ; CPU:$E30A PRG:230A 20 EC EA
ldx ZpAE ; CPU:$E30D PRG:230D A6 AE
lda ZpAF,x ; CPU:$E30F PRG:230F B5 AF
cmp #$20 ; CPU:$E311 PRG:2311 C9 20
bne SubCE2F9_Block_1 ; CPU:$E313 PRG:2313 D0 05
lda #$FF ; CPU:$E315 PRG:2315 A9 FF
sta ZpAF,x ; CPU:$E317 PRG:2317 95 AF
rts ; CPU:$E319 PRG:2319 60
; -----------------------------------------------------------------------------
; Routine: SubCE2F9_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2F9_Block_1:
cmp #$10 ; CPU:$E31A PRG:231A C9 10
beq SubCE2F9_Block_2 ; CPU:$E31C PRG:231C F0 05
dec Zp01 ; CPU:$E31E PRG:231E C6 01
jmp $E325 ; CPU:$E320 PRG:2320 4C 25 E3
; -----------------------------------------------------------------------------
; Routine: SubCE2F9_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2F9_Block_2:
inc Zp01 ; CPU:$E323 PRG:2323 E6 01
; -----------------------------------------------------------------------------
; Routine: SubCE325
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE325:
lda Zp04 ; CPU:$E325 PRG:2325 A5 04
tay ; CPU:$E327 PRG:2327 A8
iny ; CPU:$E328 PRG:2328 C8
lda $0200,y ; CPU:$E329 PRG:2329 B9 00 02
ldx Zp53 ; CPU:$E32C PRG:232C A6 53
cpx #$04 ; CPU:$E32E PRG:232E E0 04
beq SubCE325_Block_1 ; CPU:$E330 PRG:2330 F0 0E
cmp #$9C ; CPU:$E332 PRG:2332 C9 9C
beq SubCE325_Block ; CPU:$E334 PRG:2334 F0 05
lda #$9C ; CPU:$E336 PRG:2336 A9 9C
jmp $E34B ; CPU:$E338 PRG:2338 4C 4B E3
; -----------------------------------------------------------------------------
; Routine: SubCE325_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE325_Block:
lda #$98 ; CPU:$E33B PRG:233B A9 98
jmp $E34B ; CPU:$E33D PRG:233D 4C 4B E3
; -----------------------------------------------------------------------------
; Routine: SubCE325_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE325_Block_1:
cmp #$AC ; CPU:$E340 PRG:2340 C9 AC
beq SubCE325_Block_2 ; CPU:$E342 PRG:2342 F0 05
lda #$AC ; CPU:$E344 PRG:2344 A9 AC
jmp $E34B ; CPU:$E346 PRG:2346 4C 4B E3
; -----------------------------------------------------------------------------
; Routine: SubCE325_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE325_Block_2:
lda #$A8 ; CPU:$E349 PRG:2349 A9 A8
; -----------------------------------------------------------------------------
; Routine: SubCE34B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE34B:
jsr $EAD4 ; CPU:$E34B PRG:234B 20 D4 EA
ldx ZpAE ; CPU:$E34E PRG:234E A6 AE
lda ZpB3,x ; CPU:$E350 PRG:2350 B5 B3
lsr a ; CPU:$E352 PRG:2352 4A
jsr $F096 ; CPU:$E353 PRG:2353 20 96 F0
ldx ZpAE ; CPU:$E356 PRG:2356 A6 AE
lda ZpAF,x ; CPU:$E358 PRG:2358 B5 AF
cmp #$10 ; CPU:$E35A PRG:235A C9 10
beq SubCE34B_Block ; CPU:$E35C PRG:235C F0 05
lda #$10 ; CPU:$E35E PRG:235E A9 10
jmp $E365 ; CPU:$E360 PRG:2360 4C 65 E3
; -----------------------------------------------------------------------------
; Routine: SubCE34B_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE34B_Block:
lda #$20 ; CPU:$E363 PRG:2363 A9 20
; -----------------------------------------------------------------------------
; Routine: SubCE365
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE365:
sta ZpAF,x ; CPU:$E365 PRG:2365 95 AF
rts ; CPU:$E367 PRG:2367 60
; -----------------------------------------------------------------------------
; Routine: SubCE368
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE368:
lda #$55 ; CPU:$E368 PRG:2368 A9 55
sta Zp0A ; CPU:$E36A PRG:236A 85 0A
sta Zp0B ; CPU:$E36C PRG:236C 85 0B
jsr $E806 ; CPU:$E36E PRG:236E 20 06 E8
bne SubCE368_Block ; CPU:$E371 PRG:2371 D0 01
rts ; CPU:$E373 PRG:2373 60
; -----------------------------------------------------------------------------
; Routine: SubCE368_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE368_Block:
jsr $EFDD ; CPU:$E374 PRG:2374 20 DD EF
stx Zp04 ; CPU:$E377 PRG:2377 86 04
jsr $EAEC ; CPU:$E379 PRG:2379 20 EC EA
lda Zp99 ; CPU:$E37C PRG:237C A5 99
bne SubCE368_Block_1 ; CPU:$E37E PRG:237E D0 05
inc Zp00 ; CPU:$E380 PRG:2380 E6 00
jmp $E387 ; CPU:$E382 PRG:2382 4C 87 E3
; -----------------------------------------------------------------------------
; Routine: SubCE368_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE368_Block_1:
dec Zp00 ; CPU:$E385 PRG:2385 C6 00
; -----------------------------------------------------------------------------
; Routine: SubCE387
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE387:
lda Zp00 ; CPU:$E387 PRG:2387 A5 00
and #$0F ; CPU:$E389 PRG:2389 29 0F
cmp #$04 ; CPU:$E38B PRG:238B C9 04
beq SubCE387_Block ; CPU:$E38D PRG:238D F0 07
cmp #$0C ; CPU:$E38F PRG:238F C9 0C
beq SubCE387_Block ; CPU:$E391 PRG:2391 F0 03
jmp $E39B ; CPU:$E393 PRG:2393 4C 9B E3
; -----------------------------------------------------------------------------
; Routine: SubCE387_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE387_Block:
inc Zp01 ; CPU:$E396 PRG:2396 E6 01
jmp $E3AF ; CPU:$E398 PRG:2398 4C AF E3
; -----------------------------------------------------------------------------
; Routine: SubCE39B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE39B:
ldx Zp99 ; CPU:$E39B PRG:239B A6 99
cmp $C3E2,x ; CPU:$E39D PRG:239D DD E2 C3
beq SubCE39B_Block ; CPU:$E3A0 PRG:23A0 F0 08
cmp $C3E4,x ; CPU:$E3A2 PRG:23A2 DD E4 C3
beq SubCE39B_Block ; CPU:$E3A5 PRG:23A5 F0 03
jmp $E3AF ; CPU:$E3A7 PRG:23A7 4C AF E3
; -----------------------------------------------------------------------------
; Routine: SubCE39B_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE39B_Block:
dec Zp01 ; CPU:$E3AA PRG:23AA C6 01
jmp $E3C0 ; CPU:$E3AC PRG:23AC 4C C0 E3
; -----------------------------------------------------------------------------
; Routine: SubCE3AF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3AF:
cmp #$04 ; CPU:$E3AF PRG:23AF C9 04
beq SubCE3AF_Block ; CPU:$E3B1 PRG:23B1 F0 07
cmp #$0C ; CPU:$E3B3 PRG:23B3 C9 0C
beq SubCE3AF_Block ; CPU:$E3B5 PRG:23B5 F0 03
jmp $E3C0 ; CPU:$E3B7 PRG:23B7 4C C0 E3
; -----------------------------------------------------------------------------
; Routine: SubCE3AF_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3AF_Block:
ldx ZpAE ; CPU:$E3BA PRG:23BA A6 AE
lda #$FF ; CPU:$E3BC PRG:23BC A9 FF
sta ZpAF,x ; CPU:$E3BE PRG:23BE 95 AF
; -----------------------------------------------------------------------------
; Routine: SubCE3C0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3C0:
ldy Zp99 ; CPU:$E3C0 PRG:23C0 A4 99
jsr $E6A5 ; CPU:$E3C2 PRG:23C2 20 A5 E6
bne SubCE3C0_Block ; CPU:$E3C5 PRG:23C5 D0 07
lda #$00 ; CPU:$E3C7 PRG:23C7 A9 00
ldx ZpAE ; CPU:$E3C9 PRG:23C9 A6 AE
sta ZpAF,x ; CPU:$E3CB PRG:23CB 95 AF
rts ; CPU:$E3CD PRG:23CD 60
; -----------------------------------------------------------------------------
; Routine: SubCE3C0_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3C0_Block:
lda Zp99 ; CPU:$E3CE PRG:23CE A5 99
beq SubCE3ED ; CPU:$E3D0 PRG:23D0 F0 1B
lda Zp00 ; CPU:$E3D2 PRG:23D2 A5 00
cmp #$0C ; CPU:$E3D4 PRG:23D4 C9 0C
beq SubCE3C0_Block_1 ; CPU:$E3D6 PRG:23D6 F0 05
bcc SubCE3C0_Block_2 ; CPU:$E3D8 PRG:23D8 90 0C
jmp $E3ED ; CPU:$E3DA PRG:23DA 4C ED E3
; -----------------------------------------------------------------------------
; Routine: SubCE3C0_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3C0_Block_1:
lda #$00 ; CPU:$E3DD PRG:23DD A9 00
ldx ZpAE ; CPU:$E3DF PRG:23DF A6 AE
sta ZpAF,x ; CPU:$E3E1 PRG:23E1 95 AF
jmp $E3ED ; CPU:$E3E3 PRG:23E3 4C ED E3
; -----------------------------------------------------------------------------
; Routine: SubCE3C0_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3C0_Block_2:
lda #$00 ; CPU:$E3E6 PRG:23E6 A9 00
ldx ZpAE ; CPU:$E3E8 PRG:23E8 A6 AE
sta ZpAF,x ; CPU:$E3EA PRG:23EA 95 AF
rts ; CPU:$E3EC PRG:23EC 60
; -----------------------------------------------------------------------------
; Routine: SubCE3ED
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3ED:
lda Zp04 ; CPU:$E3ED PRG:23ED A5 04
tay ; CPU:$E3EF PRG:23EF A8
iny ; CPU:$E3F0 PRG:23F0 C8
lda $0200,y ; CPU:$E3F1 PRG:23F1 B9 00 02
ldx Zp53 ; CPU:$E3F4 PRG:23F4 A6 53
cpx #$04 ; CPU:$E3F6 PRG:23F6 E0 04
beq SubCE3ED_Block ; CPU:$E3F8 PRG:23F8 F0 0E
cmp #$9C ; CPU:$E3FA PRG:23FA C9 9C
bcs CheckGameState_3 ; CPU:$E3FC PRG:23FC B0 05
lda #$9C ; CPU:$E3FE PRG:23FE A9 9C
jmp $E413 ; CPU:$E400 PRG:2400 4C 13 E4
; -----------------------------------------------------------------------------
; Routine: CheckGameState_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckGameState_3:
lda #$98 ; CPU:$E403 PRG:2403 A9 98
jmp $E413 ; CPU:$E405 PRG:2405 4C 13 E4
; -----------------------------------------------------------------------------
; Routine: SubCE3ED_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3ED_Block:
cmp #$AC ; CPU:$E408 PRG:2408 C9 AC
bcs SubCE3ED_Block_1 ; CPU:$E40A PRG:240A B0 05
lda #$AC ; CPU:$E40C PRG:240C A9 AC
jmp $E413 ; CPU:$E40E PRG:240E 4C 13 E4
; -----------------------------------------------------------------------------
; Routine: SubCE3ED_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3ED_Block_1:
lda #$A8 ; CPU:$E411 PRG:2411 A9 A8
; -----------------------------------------------------------------------------
; Routine: SubCE413
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE413:
jsr $EAD4 ; CPU:$E413 PRG:2413 20 D4 EA
lda Zp99 ; CPU:$E416 PRG:2416 A5 99
jmp $F096 ; CPU:$E418 PRG:2418 4C 96 F0
; -----------------------------------------------------------------------------
; Routine: SubCE41B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE41B:
ldx ZpAE ; CPU:$E41B PRG:241B A6 AE
lda ZpAF,x ; CPU:$E41D PRG:241D B5 AF
lsr a ; CPU:$E41F PRG:241F 4A
lsr a ; CPU:$E420 PRG:2420 4A
lsr a ; CPU:$E421 PRG:2421 4A
tax ; CPU:$E422 PRG:2422 AA
lda Zp53 ; CPU:$E423 PRG:2423 A5 53
cmp #$04 ; CPU:$E425 PRG:2425 C9 04
beq SubCE41B_Block_1 ; CPU:$E427 PRG:2427 F0 0D
; -----------------------------------------------------------------------------
; Routine: SubCE41B_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE41B_Block:
lda $C3F4,x ; CPU:$E429 PRG:2429 BD F4 C3
sta Zp0A ; CPU:$E42C PRG:242C 85 0A
lda $C3F5,x ; CPU:$E42E PRG:242E BD F5 C3
sta Zp0B ; CPU:$E431 PRG:2431 85 0B
jmp $E44B ; CPU:$E433 PRG:2433 4C 4B E4
; -----------------------------------------------------------------------------
; Routine: SubCE41B_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE41B_Block_1:
lda Zp50 ; CPU:$E436 PRG:2436 A5 50
and #$01 ; CPU:$E438 PRG:2438 29 01
clc ; CPU:$E43A PRG:243A 18
adc Zp54 ; CPU:$E43B PRG:243B 65 54
cmp #$03 ; CPU:$E43D PRG:243D C9 03
bcc SubCE41B_Block ; CPU:$E43F PRG:243F 90 E8
lda $C3F8,x ; CPU:$E441 PRG:2441 BD F8 C3
sta Zp0A ; CPU:$E444 PRG:2444 85 0A
lda $C3F9,x ; CPU:$E446 PRG:2446 BD F9 C3
sta Zp0B ; CPU:$E449 PRG:2449 85 0B
; -----------------------------------------------------------------------------
; Routine: SubCE44B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE44B:
jsr $E806 ; CPU:$E44B PRG:244B 20 06 E8
bne SubCE44B_Block ; CPU:$E44E PRG:244E D0 01
rts ; CPU:$E450 PRG:2450 60
; -----------------------------------------------------------------------------
; Routine: SubCE44B_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE44B_Block:
jsr $EFDD ; CPU:$E451 PRG:2451 20 DD EF
stx Zp04 ; CPU:$E454 PRG:2454 86 04
jsr $EAEC ; CPU:$E456 PRG:2456 20 EC EA
ldx ZpAE ; CPU:$E459 PRG:2459 A6 AE
lda ZpE8,x ; CPU:$E45B PRG:245B B5 E8
beq SubCE46D ; CPU:$E45D PRG:245D F0 0E
cmp #$03 ; CPU:$E45F PRG:245F C9 03
beq SubCE44B_Block_1 ; CPU:$E461 PRG:2461 F0 03
jmp $E46D ; CPU:$E463 PRG:2463 4C 6D E4
; -----------------------------------------------------------------------------
; Routine: SubCE44B_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE44B_Block_1:
lda #$00 ; CPU:$E466 PRG:2466 A9 00
sta ZpE8,x ; CPU:$E468 PRG:2468 95 E8
jmp $E47A ; CPU:$E46A PRG:246A 4C 7A E4
; -----------------------------------------------------------------------------
; Routine: SubCE46D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE46D:
lda Zp01 ; CPU:$E46D PRG:246D A5 01
and #$03 ; CPU:$E46F PRG:246F 29 03
bne SubCE47A ; CPU:$E471 PRG:2471 D0 07
lda #$01 ; CPU:$E473 PRG:2473 A9 01
inc ZpE8,x ; CPU:$E475 PRG:2475 F6 E8
jmp $E50C ; CPU:$E477 PRG:2477 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE47A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A:
lda Zp53 ; CPU:$E47A PRG:247A A5 53
cmp #$01 ; CPU:$E47C PRG:247C C9 01
beq SubCE47A_Block_3 ; CPU:$E47E PRG:247E F0 35
jsr $E7A3 ; CPU:$E480 PRG:2480 20 A3 E7
cmp #$03 ; CPU:$E483 PRG:2483 C9 03
beq SubCE47A_Block ; CPU:$E485 PRG:2485 F0 07
cmp #$13 ; CPU:$E487 PRG:2487 C9 13
beq SubCE47A_Block_1 ; CPU:$E489 PRG:2489 F0 10
jmp $E50C ; CPU:$E48B PRG:248B 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE47A_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A_Block:
dec Zp01 ; CPU:$E48E PRG:248E C6 01
lda Zp01 ; CPU:$E490 PRG:2490 A5 01
ldx ZpAE ; CPU:$E492 PRG:2492 A6 AE
cmp ZpDB,x ; CPU:$E494 PRG:2494 D5 DB
beq SubCE47A_Block_2 ; CPU:$E496 PRG:2496 F0 10
jmp $E50C ; CPU:$E498 PRG:2498 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE47A_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A_Block_1:
inc Zp01 ; CPU:$E49B PRG:249B E6 01
lda Zp01 ; CPU:$E49D PRG:249D A5 01
ldx ZpAE ; CPU:$E49F PRG:249F A6 AE
cmp ZpDB,x ; CPU:$E4A1 PRG:24A1 D5 DB
beq SubCE47A_Block_2 ; CPU:$E4A3 PRG:24A3 F0 03
jmp $E50C ; CPU:$E4A5 PRG:24A5 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE47A_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A_Block_2:
lda #$01 ; CPU:$E4A8 PRG:24A8 A9 01
ldx ZpAE ; CPU:$E4AA PRG:24AA A6 AE
sta ZpAF,x ; CPU:$E4AC PRG:24AC 95 AF
lda #$00 ; CPU:$E4AE PRG:24AE A9 00
sta ZpDB,x ; CPU:$E4B0 PRG:24B0 95 DB
jmp $E50C ; CPU:$E4B2 PRG:24B2 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE47A_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A_Block_3:
ldx ZpAE ; CPU:$E4B5 PRG:24B5 A6 AE
lda ZpAF,x ; CPU:$E4B7 PRG:24B7 B5 AF
cmp #$13 ; CPU:$E4B9 PRG:24B9 C9 13
beq SubCE47A_Block_4 ; CPU:$E4BB PRG:24BB F0 03
jmp $E4D6 ; CPU:$E4BD PRG:24BD 4C D6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE47A_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A_Block_4:
inc Zp01 ; CPU:$E4C0 PRG:24C0 E6 01
lda ZpAE ; CPU:$E4C2 PRG:24C2 A5 AE
asl a ; CPU:$E4C4 PRG:24C4 0A
tax ; CPU:$E4C5 PRG:24C5 AA
inx ; CPU:$E4C6 PRG:24C6 E8
lda ZpB9,x ; CPU:$E4C7 PRG:24C7 B5 B9
cmp Zp01 ; CPU:$E4C9 PRG:24C9 C5 01
bne SubCE47A_Block_5 ; CPU:$E4CB PRG:24CB D0 06
lda #$01 ; CPU:$E4CD PRG:24CD A9 01
ldx ZpAE ; CPU:$E4CF PRG:24CF A6 AE
sta ZpAF,x ; CPU:$E4D1 PRG:24D1 95 AF
; -----------------------------------------------------------------------------
; Routine: SubCE47A_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE47A_Block_5:
jmp $E50C ; CPU:$E4D3 PRG:24D3 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE4D6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE4D6:
dec Zp01 ; CPU:$E4D6 PRG:24D6 C6 01
ldx ZpAE ; CPU:$E4D8 PRG:24D8 A6 AE
cpx #$00 ; CPU:$E4DA PRG:24DA E0 00
bne SubCE4D6_Block ; CPU:$E4DC PRG:24DC D0 1B
ldx ZpAE ; CPU:$E4DE PRG:24DE A6 AE
lda ZpE0,x ; CPU:$E4E0 PRG:24E0 B5 E0
cmp #$02 ; CPU:$E4E2 PRG:24E2 C9 02
beq SubCE4D6_Block ; CPU:$E4E4 PRG:24E4 F0 13
lda ZpAE ; CPU:$E4E6 PRG:24E6 A5 AE
asl a ; CPU:$E4E8 PRG:24E8 0A
tax ; CPU:$E4E9 PRG:24E9 AA
lda ZpB9,x ; CPU:$E4EA PRG:24EA B5 B9
cmp Zp01 ; CPU:$E4EC PRG:24EC C5 01
bne SubCE50C ; CPU:$E4EE PRG:24EE D0 1C
lda #$02 ; CPU:$E4F0 PRG:24F0 A9 02
ldx ZpAE ; CPU:$E4F2 PRG:24F2 A6 AE
sta ZpAF,x ; CPU:$E4F4 PRG:24F4 95 AF
jmp $E50C ; CPU:$E4F6 PRG:24F6 4C 0C E5
; -----------------------------------------------------------------------------
; Routine: SubCE4D6_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE4D6_Block:
lda ZpAE ; CPU:$E4F9 PRG:24F9 A5 AE
asl a ; CPU:$E4FB PRG:24FB 0A
tax ; CPU:$E4FC PRG:24FC AA
lda ZpB9,x ; CPU:$E4FD PRG:24FD B5 B9
clc ; CPU:$E4FF PRG:24FF 18
adc #$0D ; CPU:$E500 PRG:2500 69 0D
cmp Zp01 ; CPU:$E502 PRG:2502 C5 01
bne SubCE50C ; CPU:$E504 PRG:2504 D0 06
lda #$13 ; CPU:$E506 PRG:2506 A9 13
ldx ZpAE ; CPU:$E508 PRG:2508 A6 AE
sta ZpAF,x ; CPU:$E50A PRG:250A 95 AF
; -----------------------------------------------------------------------------
; Routine: SubCE50C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE50C:
lda Zp04 ; CPU:$E50C PRG:250C A5 04
tay ; CPU:$E50E PRG:250E A8
iny ; CPU:$E50F PRG:250F C8
lda $0200,y ; CPU:$E510 PRG:2510 B9 00 02
ldx Zp53 ; CPU:$E513 PRG:2513 A6 53
cpx #$04 ; CPU:$E515 PRG:2515 E0 04
beq SubCE50C_Block_1 ; CPU:$E517 PRG:2517 F0 0E
cmp #$9C ; CPU:$E519 PRG:2519 C9 9C
bcs SubCE50C_Block ; CPU:$E51B PRG:251B B0 05
lda #$9C ; CPU:$E51D PRG:251D A9 9C
jmp $E532 ; CPU:$E51F PRG:251F 4C 32 E5
; -----------------------------------------------------------------------------
; Routine: SubCE50C_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE50C_Block:
lda #$98 ; CPU:$E522 PRG:2522 A9 98
jmp $E532 ; CPU:$E524 PRG:2524 4C 32 E5
; -----------------------------------------------------------------------------
; Routine: SubCE50C_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE50C_Block_1:
cmp #$AC ; CPU:$E527 PRG:2527 C9 AC
bcs SubCE50C_Block_2 ; CPU:$E529 PRG:2529 B0 05
lda #$AC ; CPU:$E52B PRG:252B A9 AC
jmp $E532 ; CPU:$E52D PRG:252D 4C 32 E5
; -----------------------------------------------------------------------------
; Routine: SubCE50C_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE50C_Block_2:
lda #$A8 ; CPU:$E530 PRG:2530 A9 A8
; -----------------------------------------------------------------------------
; Routine: SubCE532
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE532:
jsr $EAD4 ; CPU:$E532 PRG:2532 20 D4 EA
jmp $F088 ; CPU:$E535 PRG:2535 4C 88 F0
; -----------------------------------------------------------------------------
; Routine: SubCE538
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE538:
ldx ZpAE ; CPU:$E538 PRG:2538 A6 AE
lda ZpAF,x ; CPU:$E53A PRG:253A B5 AF
cmp #$06 ; CPU:$E53C PRG:253C C9 06
beq SubCE538_Block_1 ; CPU:$E53E PRG:253E F0 08
cmp #$08 ; CPU:$E540 PRG:2540 C9 08
beq SubCE538_Block ; CPU:$E542 PRG:2542 F0 01
rts ; CPU:$E544 PRG:2544 60
; -----------------------------------------------------------------------------
; Routine: SubCE538_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE538_Block:
jmp $E59F ; CPU:$E545 PRG:2545 4C 9F E5
; -----------------------------------------------------------------------------
; Routine: SubCE538_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE538_Block_1:
lda Zp53 ; CPU:$E548 PRG:2548 A5 53
cmp #$01 ; CPU:$E54A PRG:254A C9 01
beq SubCE538_Block_2 ; CPU:$E54C PRG:254C F0 05
cmp #$04 ; CPU:$E54E PRG:254E C9 04
beq SubCE538_Block_3 ; CPU:$E550 PRG:2550 F0 12
rts ; CPU:$E552 PRG:2552 60
; -----------------------------------------------------------------------------
; Routine: SubCE538_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE538_Block_2:
lda #$20 ; CPU:$E553 PRG:2553 A9 20
sta Zp00 ; CPU:$E555 PRG:2555 85 00
lda #$B8 ; CPU:$E557 PRG:2557 A9 B8
sta Zp01 ; CPU:$E559 PRG:2559 85 01
ldx ZpAE ; CPU:$E55B PRG:255B A6 AE
lda #$08 ; CPU:$E55D PRG:255D A9 08
sta ZpAF,x ; CPU:$E55F PRG:255F 95 AF
jmp $E592 ; CPU:$E561 PRG:2561 4C 92 E5
; -----------------------------------------------------------------------------
; Routine: SubCE538_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE538_Block_3:
lda $0203 ; CPU:$E564 PRG:2564 AD 03 02
cmp #$78 ; CPU:$E567 PRG:2567 C9 78
bcc SubCE538_Block_4 ; CPU:$E569 PRG:2569 90 05
ldy #$00 ; CPU:$E56B PRG:256B A0 00
jmp $E572 ; CPU:$E56D PRG:256D 4C 72 E5
; -----------------------------------------------------------------------------
; Routine: SubCE538_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE538_Block_4:
ldy #$08 ; CPU:$E570 PRG:2570 A0 08
; -----------------------------------------------------------------------------
; Routine: SubCE572
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE572:
sty Zp0C ; CPU:$E572 PRG:2572 84 0C
lda Zp19 ; CPU:$E574 PRG:2574 A5 19
and #$03 ; CPU:$E576 PRG:2576 29 03
asl a ; CPU:$E578 PRG:2578 0A
clc ; CPU:$E579 PRG:2579 18
adc Zp0C ; CPU:$E57A PRG:257A 65 0C
tax ; CPU:$E57C PRG:257C AA
lda $C3CE,x ; CPU:$E57D PRG:257D BD CE C3
sta Zp00 ; CPU:$E580 PRG:2580 85 00
lda $C3CF,x ; CPU:$E582 PRG:2582 BD CF C3
sta Zp01 ; CPU:$E585 PRG:2585 85 01
ldx ZpAE ; CPU:$E587 PRG:2587 A6 AE
lda #$00 ; CPU:$E589 PRG:2589 A9 00
sta ZpAF,x ; CPU:$E58B PRG:258B 95 AF
lda #$A8 ; CPU:$E58D PRG:258D A9 A8
jmp $E594 ; CPU:$E58F PRG:258F 4C 94 E5
; -----------------------------------------------------------------------------
; Routine: SubCE592
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE592:
lda #$98 ; CPU:$E592 PRG:2592 A9 98
; -----------------------------------------------------------------------------
; Routine: SubCE594
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE594:
jsr $EAD4 ; CPU:$E594 PRG:2594 20 D4 EA
jsr $EFDD ; CPU:$E597 PRG:2597 20 DD EF
sta Zp04 ; CPU:$E59A PRG:259A 85 04
jmp $F082 ; CPU:$E59C PRG:259C 4C 82 F0
; -----------------------------------------------------------------------------
; Routine: SubCE59F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE59F:
jsr $EFDD ; CPU:$E59F PRG:259F 20 DD EF
stx Zp04 ; CPU:$E5A2 PRG:25A2 86 04
jsr $EAEC ; CPU:$E5A4 PRG:25A4 20 EC EA
lda $0201,x ; CPU:$E5A7 PRG:25A7 BD 01 02
jsr $EAD4 ; CPU:$E5AA PRG:25AA 20 D4 EA
lda Zp53 ; CPU:$E5AD PRG:25AD A5 53
cmp #$01 ; CPU:$E5AF PRG:25AF C9 01
beq SubCE59F_Block ; CPU:$E5B1 PRG:25B1 F0 01
rts ; CPU:$E5B3 PRG:25B3 60
; -----------------------------------------------------------------------------
; Routine: SubCE59F_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE59F_Block:
inc Zp00 ; CPU:$E5B4 PRG:25B4 E6 00
lda Zp00 ; CPU:$E5B6 PRG:25B6 A5 00
cmp #$2C ; CPU:$E5B8 PRG:25B8 C9 2C
beq SubCE59F_Block_1 ; CPU:$E5BA PRG:25BA F0 02
bcc SubCE5DB_Block ; CPU:$E5BC PRG:25BC 90 27
; -----------------------------------------------------------------------------
; Routine: SubCE59F_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE59F_Block_1:
inc Zp01 ; CPU:$E5BE PRG:25BE E6 01
lda Zp01 ; CPU:$E5C0 PRG:25C0 A5 01
cmp #$C5 ; CPU:$E5C2 PRG:25C2 C9 C5
bne SubCE5DB_Block ; CPU:$E5C4 PRG:25C4 D0 1F
lda #$00 ; CPU:$E5C6 PRG:25C6 A9 00
ldx ZpAE ; CPU:$E5C8 PRG:25C8 A6 AE
sta ZpAF,x ; CPU:$E5CA PRG:25CA 95 AF
dec Zp00 ; CPU:$E5CC PRG:25CC C6 00
lda Zp00 ; CPU:$E5CE PRG:25CE A5 00
cmp #$68 ; CPU:$E5D0 PRG:25D0 C9 68
bcs SubCE59F_Block_2 ; CPU:$E5D2 PRG:25D2 B0 05
inc Zp01 ; CPU:$E5D4 PRG:25D4 E6 01
jmp $E5DB ; CPU:$E5D6 PRG:25D6 4C DB E5
; -----------------------------------------------------------------------------
; Routine: SubCE59F_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE59F_Block_2:
dec Zp01 ; CPU:$E5D9 PRG:25D9 C6 01
; -----------------------------------------------------------------------------
; Routine: SubCE5DB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5DB:
cmp #$60 ; CPU:$E5DB PRG:25DB C9 60
bne SubCE5DB_Block ; CPU:$E5DD PRG:25DD D0 06
ldx ZpAE ; CPU:$E5DF PRG:25DF A6 AE
lda #$00 ; CPU:$E5E1 PRG:25E1 A9 00
sta ZpAF,x ; CPU:$E5E3 PRG:25E3 95 AF
; -----------------------------------------------------------------------------
; Routine: SubCE5DB_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5DB_Block:
jmp $F082 ; CPU:$E5E5 PRG:25E5 4C 82 F0
; -----------------------------------------------------------------------------
; Routine: SubCE5E8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5E8:
sta Zp0C ; CPU:$E5E8 PRG:25E8 85 0C
ldx ZpAE ; CPU:$E5EA PRG:25EA A6 AE
lda ZpE0,x ; CPU:$E5EC PRG:25EC B5 E0
cmp #$01 ; CPU:$E5EE PRG:25EE C9 01
beq SubCE5E8_Block ; CPU:$E5F0 PRG:25F0 F0 1D
cmp #$06 ; CPU:$E5F2 PRG:25F2 C9 06
beq SubCE5E8_Block ; CPU:$E5F4 PRG:25F4 F0 19
ldx #$00 ; CPU:$E5F6 PRG:25F6 A2 00
lda #$18 ; CPU:$E5F8 PRG:25F8 A9 18
; -----------------------------------------------------------------------------
; Routine: SubCE5FA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5FA:
cmp Zp0C ; CPU:$E5FA PRG:25FA C5 0C
beq UpdateMusicEngine ; CPU:$E5FC PRG:25FC F0 0B
inx ; CPU:$E5FE PRG:25FE E8
cpx #$09 ; CPU:$E5FF PRG:25FF E0 09
beq SubCE5FA_Block ; CPU:$E601 PRG:2601 F0 09
lda $C1C4,x ; CPU:$E603 PRG:2603 BD C4 C1
jmp $E5FA ; CPU:$E606 PRG:2606 4C FA E5
; -----------------------------------------------------------------------------
; Routine: UpdateMusicEngine
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateMusicEngine:
lda #$00 ; CPU:$E609 PRG:2609 A9 00
rts ; CPU:$E60B PRG:260B 60
; -----------------------------------------------------------------------------
; Routine: SubCE5FA_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5FA_Block:
lda #$01 ; CPU:$E60C PRG:260C A9 01
rts ; CPU:$E60E PRG:260E 60
; -----------------------------------------------------------------------------
; Routine: SubCE5E8_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5E8_Block:
ldx #$04 ; CPU:$E60F PRG:260F A2 04
; -----------------------------------------------------------------------------
; Routine: SubCE611
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE611:
lda $C1C4,x ; CPU:$E611 PRG:2611 BD C4 C1
cmp Zp0C ; CPU:$E614 PRG:2614 C5 0C
beq SubCE611_Block ; CPU:$E616 PRG:2616 F0 08
inx ; CPU:$E618 PRG:2618 E8
cpx #$09 ; CPU:$E619 PRG:2619 E0 09
beq SubCE611_Block_1 ; CPU:$E61B PRG:261B F0 06
jmp $E611 ; CPU:$E61D PRG:261D 4C 11 E6
; -----------------------------------------------------------------------------
; Routine: SubCE611_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE611_Block:
lda #$00 ; CPU:$E620 PRG:2620 A9 00
rts ; CPU:$E622 PRG:2622 60
; -----------------------------------------------------------------------------
; Routine: SubCE611_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE611_Block_1:
lda #$01 ; CPU:$E623 PRG:2623 A9 01
rts ; CPU:$E625 PRG:2625 60
; -----------------------------------------------------------------------------
; Routine: SubCE626
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE626:
ldx ZpAE ; CPU:$E626 PRG:2626 A6 AE
lda ZpAF,x ; CPU:$E628 PRG:2628 B5 AF
cmp #$13 ; CPU:$E62A PRG:262A C9 13
bne SubCE626_Block ; CPU:$E62C PRG:262C D0 01
rts ; CPU:$E62E PRG:262E 60
; -----------------------------------------------------------------------------
; Routine: SubCE626_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE626_Block:
jsr $EFDD ; CPU:$E62F PRG:262F 20 DD EF
jsr $EAEC ; CPU:$E632 PRG:2632 20 EC EA
ldx ZpAE ; CPU:$E635 PRG:2635 A6 AE
lda ZpE0,x ; CPU:$E637 PRG:2637 B5 E0
cmp #$01 ; CPU:$E639 PRG:2639 C9 01
beq SubCE626_Block_1 ; CPU:$E63B PRG:263B F0 03
jmp $E66D ; CPU:$E63D PRG:263D 4C 6D E6
; -----------------------------------------------------------------------------
; Routine: SubCE626_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE626_Block_1:
lda Zp00 ; CPU:$E640 PRG:2640 A5 00
cmp #$5C ; CPU:$E642 PRG:2642 C9 5C
beq SubCE626_Block_2 ; CPU:$E644 PRG:2644 F0 07
cmp #$C4 ; CPU:$E646 PRG:2646 C9 C4
beq SubCE626_Block_3 ; CPU:$E648 PRG:2648 F0 13
jmp $E69E ; CPU:$E64A PRG:264A 4C 9E E6
; -----------------------------------------------------------------------------
; Routine: SubCE626_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE626_Block_2:
lda ZpAE ; CPU:$E64D PRG:264D A5 AE
asl a ; CPU:$E64F PRG:264F 0A
tax ; CPU:$E650 PRG:2650 AA
lda #$A6 ; CPU:$E651 PRG:2651 A9 A6
sta ZpB9,x ; CPU:$E653 PRG:2653 95 B9
inx ; CPU:$E655 PRG:2655 E8
lda #$C7 ; CPU:$E656 PRG:2656 A9 C7
sta ZpB9,x ; CPU:$E658 PRG:2658 95 B9
jmp $E697 ; CPU:$E65A PRG:265A 4C 97 E6
; -----------------------------------------------------------------------------
; Routine: SubCE626_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE626_Block_3:
lda ZpAE ; CPU:$E65D PRG:265D A5 AE
asl a ; CPU:$E65F PRG:265F 0A
tax ; CPU:$E660 PRG:2660 AA
lda #$AB ; CPU:$E661 PRG:2661 A9 AB
sta ZpB9,x ; CPU:$E663 PRG:2663 95 B9
inx ; CPU:$E665 PRG:2665 E8
lda #$C3 ; CPU:$E666 PRG:2666 A9 C3
sta ZpB9,x ; CPU:$E668 PRG:2668 95 B9
jmp $E697 ; CPU:$E66A PRG:266A 4C 97 E6
; -----------------------------------------------------------------------------
; Routine: SubCE66D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE66D:
lda Zp00 ; CPU:$E66D PRG:266D A5 00
cmp #$2C ; CPU:$E66F PRG:266F C9 2C
beq SubCE66D_Block ; CPU:$E671 PRG:2671 F0 07
cmp #$6C ; CPU:$E673 PRG:2673 C9 6C
beq SubCE66D_Block_1 ; CPU:$E675 PRG:2675 F0 13
jmp $E69E ; CPU:$E677 PRG:2677 4C 9E E6
; -----------------------------------------------------------------------------
; Routine: SubCE66D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE66D_Block:
lda ZpAE ; CPU:$E67A PRG:267A A5 AE
asl a ; CPU:$E67C PRG:267C 0A
tax ; CPU:$E67D PRG:267D AA
lda #$8D ; CPU:$E67E PRG:267E A9 8D
sta ZpB9,x ; CPU:$E680 PRG:2680 95 B9
inx ; CPU:$E682 PRG:2682 E8
lda #$A4 ; CPU:$E683 PRG:2683 A9 A4
sta ZpB9,x ; CPU:$E685 PRG:2685 95 B9
jmp $E697 ; CPU:$E687 PRG:2687 4C 97 E6
; -----------------------------------------------------------------------------
; Routine: SubCE66D_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE66D_Block_1:
lda ZpAE ; CPU:$E68A PRG:268A A5 AE
asl a ; CPU:$E68C PRG:268C 0A
tax ; CPU:$E68D PRG:268D AA
lda #$8A ; CPU:$E68E PRG:268E A9 8A
sta ZpB9,x ; CPU:$E690 PRG:2690 95 B9
inx ; CPU:$E692 PRG:2692 E8
lda #$A7 ; CPU:$E693 PRG:2693 A9 A7
sta ZpB9,x ; CPU:$E695 PRG:2695 95 B9
; -----------------------------------------------------------------------------
; Routine: SubCE697
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE697:
lda #$03 ; CPU:$E697 PRG:2697 A9 03
ldx ZpAE ; CPU:$E699 PRG:2699 A6 AE
sta ZpAF,x ; CPU:$E69B PRG:269B 95 AF
rts ; CPU:$E69D PRG:269D 60
; -----------------------------------------------------------------------------
; Routine: SubCE69E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE69E:
lda #$00 ; CPU:$E69E PRG:269E A9 00
ldx ZpAE ; CPU:$E6A0 PRG:26A0 A6 AE
sta ZpAF,x ; CPU:$E6A2 PRG:26A2 95 AF
rts ; CPU:$E6A4 PRG:26A4 60
; -----------------------------------------------------------------------------
; Routine: SubCE6A5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6A5:
lda Zp01 ; CPU:$E6A5 PRG:26A5 A5 01
clc ; CPU:$E6A7 PRG:26A7 18
adc #$0B ; CPU:$E6A8 PRG:26A8 69 0B
jsr $E016 ; CPU:$E6AA PRG:26AA 20 16 E0
ldy Zp99 ; CPU:$E6AD PRG:26AD A4 99
ldx ZpAE ; CPU:$E6AF PRG:26AF A6 AE
sta ZpE0,x ; CPU:$E6B1 PRG:26B1 95 E0
lda Zp53 ; CPU:$E6B3 PRG:26B3 A5 53
cmp #$01 ; CPU:$E6B5 PRG:26B5 C9 01
bne SubCE6A5_Block ; CPU:$E6B7 PRG:26B7 D0 03
jmp $E6C6 ; CPU:$E6B9 PRG:26B9 4C C6 E6
; -----------------------------------------------------------------------------
; Routine: SubCE6A5_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6A5_Block:
cmp #$03 ; CPU:$E6BC PRG:26BC C9 03
bne SubCE6A5_Block_1 ; CPU:$E6BE PRG:26BE D0 03
jmp $E702 ; CPU:$E6C0 PRG:26C0 4C 02 E7
; -----------------------------------------------------------------------------
; Routine: SubCE6A5_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6A5_Block_1:
jmp $E73C ; CPU:$E6C3 PRG:26C3 4C 3C E7
; -----------------------------------------------------------------------------
; Routine: SubCE6C6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6C6:
lda Zp00 ; CPU:$E6C6 PRG:26C6 A5 00
jsr $E5E8 ; CPU:$E6C8 PRG:26C8 20 E8 E5
bne SubCE6DE_Block ; CPU:$E6CB PRG:26CB D0 16
ldx ZpAE ; CPU:$E6CD PRG:26CD A6 AE
lda ZpE0,x ; CPU:$E6CF PRG:26CF B5 E0
and #$01 ; CPU:$E6D1 PRG:26D1 29 01
beq SubCE6C6_Block ; CPU:$E6D3 PRG:26D3 F0 06
lda $C79A,y ; CPU:$E6D5 PRG:26D5 B9 9A C7
jmp $E6DE ; CPU:$E6D8 PRG:26D8 4C DE E6
; -----------------------------------------------------------------------------
; Routine: SubCE6C6_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6C6_Block:
lda $C79C,y ; CPU:$E6DB PRG:26DB B9 9C C7
; -----------------------------------------------------------------------------
; Routine: SubCE6DE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6DE:
clc ; CPU:$E6DE PRG:26DE 18
adc Zp01 ; CPU:$E6DF PRG:26DF 65 01
sta Zp01 ; CPU:$E6E1 PRG:26E1 85 01
; -----------------------------------------------------------------------------
; Routine: SubCE6DE_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6DE_Block:
ldx ZpAE ; CPU:$E6E3 PRG:26E3 A6 AE
lda ZpE0,x ; CPU:$E6E5 PRG:26E5 B5 E0
cmp #$01 ; CPU:$E6E7 PRG:26E7 C9 01
beq SubCE6DE_Block_1 ; CPU:$E6E9 PRG:26E9 F0 08
lda Zp00 ; CPU:$E6EB PRG:26EB A5 00
cmp $C3E6,y ; CPU:$E6ED PRG:26ED D9 E6 C3
beq SubCE6DE_Block_2 ; CPU:$E6F0 PRG:26F0 F0 09
rts ; CPU:$E6F2 PRG:26F2 60
; -----------------------------------------------------------------------------
; Routine: SubCE6DE_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6DE_Block_1:
lda Zp00 ; CPU:$E6F3 PRG:26F3 A5 00
cmp $C3E8,y ; CPU:$E6F5 PRG:26F5 D9 E8 C3
beq SubCE6DE_Block_2 ; CPU:$E6F8 PRG:26F8 F0 01
rts ; CPU:$E6FA PRG:26FA 60
; -----------------------------------------------------------------------------
; Routine: SubCE6DE_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6DE_Block_2:
lda #$00 ; CPU:$E6FB PRG:26FB A9 00
ldx ZpAE ; CPU:$E6FD PRG:26FD A6 AE
sta ZpAF,x ; CPU:$E6FF PRG:26FF 95 AF
rts ; CPU:$E701 PRG:2701 60
; -----------------------------------------------------------------------------
; Routine: SubCE702
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE702:
ldx ZpAE ; CPU:$E702 PRG:2702 A6 AE
lda ZpE0,x ; CPU:$E704 PRG:2704 B5 E0
cmp #$02 ; CPU:$E706 PRG:2706 C9 02
bne SubCE702_Block ; CPU:$E708 PRG:2708 D0 0F
lda Zp00 ; CPU:$E70A PRG:270A A5 00
cmp $C3EA,y ; CPU:$E70C PRG:270C D9 EA C3
beq SubCE702_Block_3 ; CPU:$E70F PRG:270F F0 24
cmp $C3EC,y ; CPU:$E711 PRG:2711 D9 EC C3
beq SubCE702_Block_3 ; CPU:$E714 PRG:2714 F0 1F
jmp $E72D ; CPU:$E716 PRG:2716 4C 2D E7
; -----------------------------------------------------------------------------
; Routine: SubCE702_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE702_Block:
cpy #$01 ; CPU:$E719 PRG:2719 C0 01
bne SubCE702_Block_1 ; CPU:$E71B PRG:271B D0 04
cmp #$04 ; CPU:$E71D PRG:271D C9 04
beq SubCE702_Block_2 ; CPU:$E71F PRG:271F F0 0D
; -----------------------------------------------------------------------------
; Routine: SubCE702_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE702_Block_1:
lda Zp00 ; CPU:$E721 PRG:2721 A5 00
cmp $C3EE,y ; CPU:$E723 PRG:2723 D9 EE C3
beq SubCE702_Block_3 ; CPU:$E726 PRG:2726 F0 0D
cmp $C3F0,y ; CPU:$E728 PRG:2728 D9 F0 C3
beq SubCE702_Block_3 ; CPU:$E72B PRG:272B F0 08
; -----------------------------------------------------------------------------
; Routine: SubCE72D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE72D:
rts ; CPU:$E72D PRG:272D 60
; -----------------------------------------------------------------------------
; Routine: SubCE702_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE702_Block_2:
lda Zp00 ; CPU:$E72E PRG:272E A5 00
cmp #$DB ; CPU:$E730 PRG:2730 C9 DB
beq SubCE702_Block_3 ; CPU:$E732 PRG:2732 F0 01
rts ; CPU:$E734 PRG:2734 60
; -----------------------------------------------------------------------------
; Routine: SubCE702_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE702_Block_3:
ldx ZpAE ; CPU:$E735 PRG:2735 A6 AE
lda #$00 ; CPU:$E737 PRG:2737 A9 00
sta ZpAF,x ; CPU:$E739 PRG:2739 95 AF
rts ; CPU:$E73B PRG:273B 60
; -----------------------------------------------------------------------------
; Routine: SubCE73C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE73C:
ldx ZpAE ; CPU:$E73C PRG:273C A6 AE
lda ZpE0,x ; CPU:$E73E PRG:273E B5 E0
tay ; CPU:$E740 PRG:2740 A8
dey ; CPU:$E741 PRG:2741 88
ldx Zp99 ; CPU:$E742 PRG:2742 A6 99
lda $C3F2,x ; CPU:$E744 PRG:2744 BD F2 C3
; -----------------------------------------------------------------------------
; Routine: SubCE747
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE747:
cpy #$00 ; CPU:$E747 PRG:2747 C0 00
beq SubCE747_Block_1 ; CPU:$E749 PRG:2749 F0 11
cpx #$00 ; CPU:$E74B PRG:274B E0 00
beq SubCE747_Block ; CPU:$E74D PRG:274D F0 06
clc ; CPU:$E74F PRG:274F 18
adc #$08 ; CPU:$E750 PRG:2750 69 08
jmp $E758 ; CPU:$E752 PRG:2752 4C 58 E7
; -----------------------------------------------------------------------------
; Routine: SubCE747_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE747_Block:
sec ; CPU:$E755 PRG:2755 38
sbc #$08 ; CPU:$E756 PRG:2756 E9 08
; -----------------------------------------------------------------------------
; Routine: SubCE758
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE758:
dey ; CPU:$E758 PRG:2758 88
jmp $E747 ; CPU:$E759 PRG:2759 4C 47 E7
; -----------------------------------------------------------------------------
; Routine: SubCE747_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE747_Block_1:
cmp Zp00 ; CPU:$E75C PRG:275C C5 00
beq SubCE747_Block_2 ; CPU:$E75E PRG:275E F0 09
lda Zp99 ; CPU:$E760 PRG:2760 A5 99
asl a ; CPU:$E762 PRG:2762 0A
jsr $E770 ; CPU:$E763 PRG:2763 20 70 E7
beq SubCE747_Block_2 ; CPU:$E766 PRG:2766 F0 01
rts ; CPU:$E768 PRG:2768 60
; -----------------------------------------------------------------------------
; Routine: SubCE747_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE747_Block_2:
ldx ZpAE ; CPU:$E769 PRG:2769 A6 AE
lda #$00 ; CPU:$E76B PRG:276B A9 00
sta ZpAF,x ; CPU:$E76D PRG:276D 95 AF
rts ; CPU:$E76F PRG:276F 60
; -----------------------------------------------------------------------------
; Routine: SubCE770
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE770:
sta Zp09 ; CPU:$E770 PRG:2770 85 09
jsr $EFDD ; CPU:$E772 PRG:2772 20 DD EF
lda $0203,x ; CPU:$E775 PRG:2775 BD 03 02
sta Zp0A ; CPU:$E778 PRG:2778 85 0A
ldx ZpAE ; CPU:$E77A PRG:277A A6 AE
lda ZpE0,x ; CPU:$E77C PRG:277C B5 E0
sec ; CPU:$E77E PRG:277E 38
sbc #$02 ; CPU:$E77F PRG:277F E9 02
asl a ; CPU:$E781 PRG:2781 0A
tax ; CPU:$E782 PRG:2782 AA
lda ZpC1,x ; CPU:$E783 PRG:2783 B5 C1
beq SubCE770_Block ; CPU:$E785 PRG:2785 F0 09
ldy Zp09 ; CPU:$E787 PRG:2787 A4 09
lda $C3DE,y ; CPU:$E789 PRG:2789 B9 DE C3
cmp Zp0A ; CPU:$E78C PRG:278C C5 0A
beq SubCE770_Block_1 ; CPU:$E78E PRG:278E F0 0D
; -----------------------------------------------------------------------------
; Routine: SubCE770_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE770_Block:
lda ZpC2,x ; CPU:$E790 PRG:2790 B5 C2
beq SubCE770_Block_2 ; CPU:$E792 PRG:2792 F0 0C
ldy Zp09 ; CPU:$E794 PRG:2794 A4 09
lda $C3DF,y ; CPU:$E796 PRG:2796 B9 DF C3
cmp Zp0A ; CPU:$E799 PRG:2799 C5 0A
bne SubCE770_Block_2 ; CPU:$E79B PRG:279B D0 03
; -----------------------------------------------------------------------------
; Routine: SubCE770_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE770_Block_1:
lda #$00 ; CPU:$E79D PRG:279D A9 00
rts ; CPU:$E79F PRG:279F 60
; -----------------------------------------------------------------------------
; Routine: SubCE770_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE770_Block_2:
lda #$01 ; CPU:$E7A0 PRG:27A0 A9 01
rts ; CPU:$E7A2 PRG:27A2 60
; -----------------------------------------------------------------------------
; Routine: SubCE7A3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7A3:
ldx ZpAE ; CPU:$E7A3 PRG:27A3 A6 AE
lda ZpDB,x ; CPU:$E7A5 PRG:27A5 B5 DB
beq SubCE7A3_Block ; CPU:$E7A7 PRG:27A7 F0 05
ldx ZpAE ; CPU:$E7A9 PRG:27A9 A6 AE
lda ZpAF,x ; CPU:$E7AB PRG:27AB B5 AF
rts ; CPU:$E7AD PRG:27AD 60
; -----------------------------------------------------------------------------
; Routine: SubCE7A3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7A3_Block:
lda Zp53 ; CPU:$E7AE PRG:27AE A5 53
sec ; CPU:$E7B0 PRG:27B0 38
sbc #$02 ; CPU:$E7B1 PRG:27B1 E9 02
asl a ; CPU:$E7B3 PRG:27B3 0A
tay ; CPU:$E7B4 PRG:27B4 A8
lda $C49B,y ; CPU:$E7B5 PRG:27B5 B9 9B C4
sta Zp07 ; CPU:$E7B8 PRG:27B8 85 07
lda $C49C,y ; CPU:$E7BA PRG:27BA B9 9C C4
sta Zp08 ; CPU:$E7BD PRG:27BD 85 08
ldx ZpAE ; CPU:$E7BF PRG:27BF A6 AE
ldy ZpE0,x ; CPU:$E7C1 PRG:27C1 B4 E0
beq SubCE7E2_Block ; CPU:$E7C3 PRG:27C3 F0 2D
dey ; CPU:$E7C5 PRG:27C5 88
lda (Zp07),y ; CPU:$E7C6 PRG:27C6 B1 07
sta Zp09 ; CPU:$E7C8 PRG:27C8 85 09
iny ; CPU:$E7CA PRG:27CA C8
lda (Zp07),y ; CPU:$E7CB PRG:27CB B1 07
sta Zp0A ; CPU:$E7CD PRG:27CD 85 0A
lda Zp53 ; CPU:$E7CF PRG:27CF A5 53
sec ; CPU:$E7D1 PRG:27D1 38
sbc #$02 ; CPU:$E7D2 PRG:27D2 E9 02
asl a ; CPU:$E7D4 PRG:27D4 0A
tay ; CPU:$E7D5 PRG:27D5 A8
lda $C4A1,y ; CPU:$E7D6 PRG:27D6 B9 A1 C4
sta Zp07 ; CPU:$E7D9 PRG:27D9 85 07
lda $C4A2,y ; CPU:$E7DB PRG:27DB B9 A2 C4
sta Zp08 ; CPU:$E7DE PRG:27DE 85 08
ldy Zp09 ; CPU:$E7E0 PRG:27E0 A4 09
; -----------------------------------------------------------------------------
; Routine: SubCE7E2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7E2:
cpy Zp0A ; CPU:$E7E2 PRG:27E2 C4 0A
beq SubCE7E2_Block ; CPU:$E7E4 PRG:27E4 F0 0C
lda (Zp07),y ; CPU:$E7E6 PRG:27E6 B1 07
cmp Zp00 ; CPU:$E7E8 PRG:27E8 C5 00
beq SubCE7E2_Block_1 ; CPU:$E7EA PRG:27EA F0 0D
iny ; CPU:$E7EC PRG:27EC C8
iny ; CPU:$E7ED PRG:27ED C8
iny ; CPU:$E7EE PRG:27EE C8
jmp $E7E2 ; CPU:$E7EF PRG:27EF 4C E2 E7
; -----------------------------------------------------------------------------
; Routine: SubCE7E2_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7E2_Block:
lda #$00 ; CPU:$E7F2 PRG:27F2 A9 00
ldx ZpAE ; CPU:$E7F4 PRG:27F4 A6 AE
sta ZpAF,x ; CPU:$E7F6 PRG:27F6 95 AF
rts ; CPU:$E7F8 PRG:27F8 60
; -----------------------------------------------------------------------------
; Routine: SubCE7E2_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7E2_Block_1:
iny ; CPU:$E7F9 PRG:27F9 C8
lda (Zp07),y ; CPU:$E7FA PRG:27FA B1 07
ldx ZpAE ; CPU:$E7FC PRG:27FC A6 AE
sta ZpDB,x ; CPU:$E7FE PRG:27FE 95 DB
iny ; CPU:$E800 PRG:2800 C8
lda (Zp07),y ; CPU:$E801 PRG:2801 B1 07
sta ZpAF,x ; CPU:$E803 PRG:2803 95 AF
rts ; CPU:$E805 PRG:2805 60
; -----------------------------------------------------------------------------
; Routine: AdvancePatternBit
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AdvancePatternBit:
ldx ZpAE ; CPU:$E806 PRG:2806 A6 AE
inc ZpE4,x ; CPU:$E808 PRG:2808 F6 E4
lda ZpE4,x ; CPU:$E80A PRG:280A B5 E4
bmi AdvancePatternBit_Block ; CPU:$E80C PRG:280C 30 07
cmp #$10 ; CPU:$E80E PRG:280E C9 10
bcs AdvancePatternBit_Block ; CPU:$E810 PRG:2810 B0 03
jmp $E819 ; CPU:$E812 PRG:2812 4C 19 E8
; -----------------------------------------------------------------------------
; Routine: AdvancePatternBit_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AdvancePatternBit_Block:
lda #$00 ; CPU:$E815 PRG:2815 A9 00
sta ZpE4,x ; CPU:$E817 PRG:2817 95 E4
; -----------------------------------------------------------------------------
; Routine: ReadPatternBit
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBit:
cmp #$08 ; CPU:$E819 PRG:2819 C9 08
bcs ReadPatternBit_Block ; CPU:$E81B PRG:281B B0 09
tax ; CPU:$E81D PRG:281D AA
lda $C1BC,x ; CPU:$E81E PRG:281E BD BC C1
and Zp0A ; CPU:$E821 PRG:2821 25 0A
jmp $E82F ; CPU:$E823 PRG:2823 4C 2F E8
; -----------------------------------------------------------------------------
; Routine: ReadPatternBit_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBit_Block:
sec ; CPU:$E826 PRG:2826 38
sbc #$08 ; CPU:$E827 PRG:2827 E9 08
tax ; CPU:$E829 PRG:2829 AA
lda $C1BC,x ; CPU:$E82A PRG:282A BD BC C1
and Zp0B ; CPU:$E82D PRG:282D 25 0B
; -----------------------------------------------------------------------------
; Routine: ReadPatternBit_Return
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBit_Return:
beq ReadPatternBit_Return_Block ; CPU:$E82F PRG:282F F0 02
lda #$01 ; CPU:$E831 PRG:2831 A9 01
; -----------------------------------------------------------------------------
; Routine: ReadPatternBit_Return_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBit_Return_Block:
rts ; CPU:$E833 PRG:2833 60
; -----------------------------------------------------------------------------
; Routine: SubCE834
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE834:
jsr $EAF7 ; CPU:$E834 PRG:2834 20 F7 EA
lda $C45C,x ; CPU:$E837 PRG:2837 BD 5C C4
sta Zp0A ; CPU:$E83A PRG:283A 85 0A
lda $C461,x ; CPU:$E83C PRG:283C BD 61 C4
sta Zp0B ; CPU:$E83F PRG:283F 85 0B
lda #$00 ; CPU:$E841 PRG:2841 A9 00
sta Zp5D ; CPU:$E843 PRG:2843 85 5D
jsr $DFE8 ; CPU:$E845 PRG:2845 20 E8 DF
bne SubCE834_Block ; CPU:$E848 PRG:2848 D0 01
rts ; CPU:$E84A PRG:284A 60
; -----------------------------------------------------------------------------
; Routine: SubCE834_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE834_Block:
lda #$00 ; CPU:$E84B PRG:284B A9 00
sta ZpD2 ; CPU:$E84D PRG:284D 85 D2
; -----------------------------------------------------------------------------
; Routine: SubCE84F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F:
lda ZpD2 ; CPU:$E84F PRG:284F A5 D2
cmp #$03 ; CPU:$E851 PRG:2851 C9 03
bcs SubCE84F_Block_2 ; CPU:$E853 PRG:2853 B0 54
tax ; CPU:$E855 PRG:2855 AA
bne SubCE84F_Block ; CPU:$E856 PRG:2856 D0 12
lda ZpDA ; CPU:$E858 PRG:2858 A5 DA
cmp #$01 ; CPU:$E85A PRG:285A C9 01
bne SubCE84F_Block ; CPU:$E85C PRG:285C D0 0C
dec $0200 ; CPU:$E85E PRG:285E CE 00 02
dec $0204 ; CPU:$E861 PRG:2861 CE 04 02
dec $0208 ; CPU:$E864 PRG:2864 CE 08 02
dec $020C ; CPU:$E867 PRG:2867 CE 0C 02
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block:
ldy $C2CC,x ; CPU:$E86A PRG:286A BC CC C2
lda $0200,y ; CPU:$E86D PRG:286D B9 00 02
cmp #$FF ; CPU:$E870 PRG:2870 C9 FF
beq SubCE890_Block_1 ; CPU:$E872 PRG:2872 F0 30
tya ; CPU:$E874 PRG:2874 98
tax ; CPU:$E875 PRG:2875 AA
dec $0200,x ; CPU:$E876 PRG:2876 DE 00 02
dec $0204,x ; CPU:$E879 PRG:2879 DE 04 02
lda $0200,x ; CPU:$E87C PRG:287C BD 00 02
cmp #$50 ; CPU:$E87F PRG:287F C9 50
bne SubCE84F_Block_1 ; CPU:$E881 PRG:2881 D0 06
jsr $E968 ; CPU:$E883 PRG:2883 20 68 E9
jmp $E890 ; CPU:$E886 PRG:2886 4C 90 E8
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block_1:
cmp #$C8 ; CPU:$E889 PRG:2889 C9 C8
bne SubCE890 ; CPU:$E88B PRG:288B D0 03
jsr $E971 ; CPU:$E88D PRG:288D 20 71 E9
; -----------------------------------------------------------------------------
; Routine: SubCE890
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE890:
lda $0200,y ; CPU:$E890 PRG:2890 B9 00 02
cmp #$70 ; CPU:$E893 PRG:2893 C9 70
bne SubCE890_Block ; CPU:$E895 PRG:2895 D0 04
lda #$01 ; CPU:$E897 PRG:2897 A9 01
sta ZpD8 ; CPU:$E899 PRG:2899 85 D8
; -----------------------------------------------------------------------------
; Routine: SubCE890_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE890_Block:
lda $0200,y ; CPU:$E89B PRG:289B B9 00 02
cmp #$48 ; CPU:$E89E PRG:289E C9 48
beq SubCE8EA_Block_2 ; CPU:$E8A0 PRG:28A0 F0 5F
bcc SubCE8EA_Block_2 ; CPU:$E8A2 PRG:28A2 90 5D
; -----------------------------------------------------------------------------
; Routine: SubCE890_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE890_Block_1:
inc ZpD2 ; CPU:$E8A4 PRG:28A4 E6 D2
jmp $E84F ; CPU:$E8A6 PRG:28A6 4C 4F E8
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block_2:
cmp #$06 ; CPU:$E8A9 PRG:28A9 C9 06
beq SubCE84F_Block_5 ; CPU:$E8AB PRG:28AB F0 61
tax ; CPU:$E8AD PRG:28AD AA
cmp #$03 ; CPU:$E8AE PRG:28AE C9 03
bne SubCE84F_Block_3 ; CPU:$E8B0 PRG:28B0 D0 12
lda ZpDA ; CPU:$E8B2 PRG:28B2 A5 DA
cmp #$02 ; CPU:$E8B4 PRG:28B4 C9 02
bne SubCE84F_Block_3 ; CPU:$E8B6 PRG:28B6 D0 0C
inc $0200 ; CPU:$E8B8 PRG:28B8 EE 00 02
inc $0204 ; CPU:$E8BB PRG:28BB EE 04 02
inc $0208 ; CPU:$E8BE PRG:28BE EE 08 02
inc $020C ; CPU:$E8C1 PRG:28C1 EE 0C 02
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block_3:
ldy $C2CC,x ; CPU:$E8C4 PRG:28C4 BC CC C2
lda $0200,y ; CPU:$E8C7 PRG:28C7 B9 00 02
cmp #$FF ; CPU:$E8CA PRG:28CA C9 FF
beq SubCE8EA_Block_1 ; CPU:$E8CC PRG:28CC F0 2E
tya ; CPU:$E8CE PRG:28CE 98
tax ; CPU:$E8CF PRG:28CF AA
inc $0200,x ; CPU:$E8D0 PRG:28D0 FE 00 02
inc $0204,x ; CPU:$E8D3 PRG:28D3 FE 04 02
lda $0200,x ; CPU:$E8D6 PRG:28D6 BD 00 02
cmp #$50 ; CPU:$E8D9 PRG:28D9 C9 50
bne SubCE84F_Block_4 ; CPU:$E8DB PRG:28DB D0 06
jsr $E971 ; CPU:$E8DD PRG:28DD 20 71 E9
jmp $E8EA ; CPU:$E8E0 PRG:28E0 4C EA E8
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block_4:
cmp #$C8 ; CPU:$E8E3 PRG:28E3 C9 C8
bne SubCE8EA ; CPU:$E8E5 PRG:28E5 D0 03
jsr $E968 ; CPU:$E8E7 PRG:28E7 20 68 E9
; -----------------------------------------------------------------------------
; Routine: SubCE8EA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE8EA:
lda $0200,y ; CPU:$E8EA PRG:28EA B9 00 02
cmp #$A8 ; CPU:$E8ED PRG:28ED C9 A8
bne SubCE8EA_Block ; CPU:$E8EF PRG:28EF D0 07
lda #$01 ; CPU:$E8F1 PRG:28F1 A9 01
sta ZpD9 ; CPU:$E8F3 PRG:28F3 85 D9
lda $0200,y ; CPU:$E8F5 PRG:28F5 B9 00 02
; -----------------------------------------------------------------------------
; Routine: SubCE8EA_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE8EA_Block:
cmp #$D0 ; CPU:$E8F8 PRG:28F8 C9 D0
bcs SubCE8EA_Block_2 ; CPU:$E8FA PRG:28FA B0 05
; -----------------------------------------------------------------------------
; Routine: SubCE8EA_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE8EA_Block_1:
inc ZpD2 ; CPU:$E8FC PRG:28FC E6 D2
jmp $E84F ; CPU:$E8FE PRG:28FE 4C 4F E8
; -----------------------------------------------------------------------------
; Routine: SubCE8EA_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE8EA_Block_2:
lda #$FF ; CPU:$E901 PRG:2901 A9 FF
sta $0200,y ; CPU:$E903 PRG:2903 99 00 02
sta $0204,y ; CPU:$E906 PRG:2906 99 04 02
inc ZpD2 ; CPU:$E909 PRG:2909 E6 D2
jmp $E84F ; CPU:$E90B PRG:290B 4C 4F E8
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block_5:
lda ZpD8 ; CPU:$E90E PRG:290E A5 D8
cmp #$01 ; CPU:$E910 PRG:2910 C9 01
bne SubCE84F_Block_6 ; CPU:$E912 PRG:2912 D0 27
lda #$00 ; CPU:$E914 PRG:2914 A9 00
sta ZpD2 ; CPU:$E916 PRG:2916 85 D2
; -----------------------------------------------------------------------------
; Routine: SubCE918
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE918:
lda ZpD2 ; CPU:$E918 PRG:2918 A5 D2
cmp #$03 ; CPU:$E91A PRG:291A C9 03
beq SubCE945_Block_1 ; CPU:$E91C PRG:291C F0 49
tax ; CPU:$E91E PRG:291E AA
ldy $C2CC,x ; CPU:$E91F PRG:291F BC CC C2
lda $0200,y ; CPU:$E922 PRG:2922 B9 00 02
cmp #$FF ; CPU:$E925 PRG:2925 C9 FF
beq SubCE918_Block ; CPU:$E927 PRG:2927 F0 05
inc ZpD2 ; CPU:$E929 PRG:2929 E6 D2
jmp $E918 ; CPU:$E92B PRG:292B 4C 18 E9
; -----------------------------------------------------------------------------
; Routine: SubCE918_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE918_Block:
lda #$D0 ; CPU:$E92E PRG:292E A9 D0
jsr $E97A ; CPU:$E930 PRG:2930 20 7A E9
jsr $E968 ; CPU:$E933 PRG:2933 20 68 E9
lda #$00 ; CPU:$E936 PRG:2936 A9 00
sta ZpD8 ; CPU:$E938 PRG:2938 85 D8
rts ; CPU:$E93A PRG:293A 60
; -----------------------------------------------------------------------------
; Routine: SubCE84F_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE84F_Block_6:
lda ZpD9 ; CPU:$E93B PRG:293B A5 D9
cmp #$01 ; CPU:$E93D PRG:293D C9 01
bne SubCE945_Block_1 ; CPU:$E93F PRG:293F D0 26
lda #$03 ; CPU:$E941 PRG:2941 A9 03
sta ZpD2 ; CPU:$E943 PRG:2943 85 D2
; -----------------------------------------------------------------------------
; Routine: SubCE945
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE945:
lda ZpD2 ; CPU:$E945 PRG:2945 A5 D2
cmp #$06 ; CPU:$E947 PRG:2947 C9 06
beq SubCE945_Block_1 ; CPU:$E949 PRG:2949 F0 1C
tax ; CPU:$E94B PRG:294B AA
ldy $C2CC,x ; CPU:$E94C PRG:294C BC CC C2
lda $0200,y ; CPU:$E94F PRG:294F B9 00 02
cmp #$FF ; CPU:$E952 PRG:2952 C9 FF
beq SubCE945_Block ; CPU:$E954 PRG:2954 F0 05
inc ZpD2 ; CPU:$E956 PRG:2956 E6 D2
jmp $E945 ; CPU:$E958 PRG:2958 4C 45 E9
; -----------------------------------------------------------------------------
; Routine: SubCE945_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE945_Block:
lda #$48 ; CPU:$E95B PRG:295B A9 48
jsr $E97A ; CPU:$E95D PRG:295D 20 7A E9
jsr $E968 ; CPU:$E960 PRG:2960 20 68 E9
lda #$00 ; CPU:$E963 PRG:2963 A9 00
sta ZpD9 ; CPU:$E965 PRG:2965 85 D9
; -----------------------------------------------------------------------------
; Routine: SubCE945_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE945_Block_1:
rts ; CPU:$E967 PRG:2967 60
; -----------------------------------------------------------------------------
; Routine: SubCE968
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE968:
lda #$23 ; CPU:$E968 PRG:2968 A9 23
sta $0202,y ; CPU:$E96A PRG:296A 99 02 02
sta $0206,y ; CPU:$E96D PRG:296D 99 06 02
rts ; CPU:$E970 PRG:2970 60
; -----------------------------------------------------------------------------
; Routine: SubCE971
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE971:
lda #$03 ; CPU:$E971 PRG:2971 A9 03
sta $0202,y ; CPU:$E973 PRG:2973 99 02 02
sta $0206,y ; CPU:$E976 PRG:2976 99 06 02
rts ; CPU:$E979 PRG:2979 60
; -----------------------------------------------------------------------------
; Routine: SetSpritePairY
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpritePairY:
sta $0200,y ; CPU:$E97A PRG:297A 99 00 02
sta $0204,y ; CPU:$E97D PRG:297D 99 04 02
rts ; CPU:$E980 PRG:2980 60
; -----------------------------------------------------------------------------
; Routine: SubCE981
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE981:
lda #$00 ; CPU:$E981 PRG:2981 A9 00
sta $0445 ; CPU:$E983 PRG:2983 8D 45 04
; -----------------------------------------------------------------------------
; Routine: SubCE986
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE986:
lda $0445 ; CPU:$E986 PRG:2986 AD 45 04
jsr $EFD7 ; CPU:$E989 PRG:2989 20 D7 EF
txa ; CPU:$E98C PRG:298C 8A
clc ; CPU:$E98D PRG:298D 18
adc #$30 ; CPU:$E98E PRG:298E 69 30
tax ; CPU:$E990 PRG:2990 AA
stx Zp04 ; CPU:$E991 PRG:2991 86 04
jsr $EAEC ; CPU:$E993 PRG:2993 20 EC EA
cmp #$FF ; CPU:$E996 PRG:2996 C9 FF
beq SubCE986_Block_2 ; CPU:$E998 PRG:2998 F0 56
ldx $0445 ; CPU:$E99A PRG:299A AE 45 04
lda $0446,x ; CPU:$E99D PRG:299D BD 46 04
clc ; CPU:$E9A0 PRG:29A0 18
adc #$B0 ; CPU:$E9A1 PRG:29A1 69 B0
cmp Zp00 ; CPU:$E9A3 PRG:29A3 C5 00
bcc SubCE986_Block ; CPU:$E9A5 PRG:29A5 90 0D
lda Zp01 ; CPU:$E9A7 PRG:29A7 A5 01
cmp #$26 ; CPU:$E9A9 PRG:29A9 C9 26
bcs SubCE986_Block_1 ; CPU:$E9AB PRG:29AB B0 11
lda #$C0 ; CPU:$E9AD PRG:29AD A9 C0
sta Zp02 ; CPU:$E9AF PRG:29AF 85 02
jmp $E9DA ; CPU:$E9B1 PRG:29B1 4C DA E9
; -----------------------------------------------------------------------------
; Routine: SubCE986_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE986_Block:
jsr $EA01 ; CPU:$E9B4 PRG:29B4 20 01 EA
cmp #$FF ; CPU:$E9B7 PRG:29B7 C9 FF
beq SubCE9F3 ; CPU:$E9B9 PRG:29B9 F0 38
jmp $E9EA ; CPU:$E9BB PRG:29BB 4C EA E9
; -----------------------------------------------------------------------------
; Routine: SubCE986_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE986_Block_1:
lda #$C4 ; CPU:$E9BE PRG:29BE A9 C4
sta Zp02 ; CPU:$E9C0 PRG:29C0 85 02
lda Zp01 ; CPU:$E9C2 PRG:29C2 A5 01
cmp #$2E ; CPU:$E9C4 PRG:29C4 C9 2E
bcc SubCE9DA ; CPU:$E9C6 PRG:29C6 90 12
lda #$02 ; CPU:$E9C8 PRG:29C8 A9 02
sta ZpFE ; CPU:$E9CA PRG:29CA 85 FE
lda #$2E ; CPU:$E9CC PRG:29CC A9 2E
sta Zp01 ; CPU:$E9CE PRG:29CE 85 01
lda $0445 ; CPU:$E9D0 PRG:29D0 AD 45 04
asl a ; CPU:$E9D3 PRG:29D3 0A
tax ; CPU:$E9D4 PRG:29D4 AA
lda #$00 ; CPU:$E9D5 PRG:29D5 A9 00
sta $042E,x ; CPU:$E9D7 PRG:29D7 9D 2E 04
; -----------------------------------------------------------------------------
; Routine: SubCE9DA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE9DA:
lda Zp00 ; CPU:$E9DA PRG:29DA A5 00
clc ; CPU:$E9DC PRG:29DC 18
adc #$02 ; CPU:$E9DD PRG:29DD 69 02
sta Zp00 ; CPU:$E9DF PRG:29DF 85 00
lda $0445 ; CPU:$E9E1 PRG:29E1 AD 45 04
clc ; CPU:$E9E4 PRG:29E4 18
adc #$01 ; CPU:$E9E5 PRG:29E5 69 01
jsr $EF72 ; CPU:$E9E7 PRG:29E7 20 72 EF
; -----------------------------------------------------------------------------
; Routine: SubCE9EA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE9EA:
jsr $EADB ; CPU:$E9EA PRG:29EA 20 DB EA
jmp $E9F3 ; CPU:$E9ED PRG:29ED 4C F3 E9
; -----------------------------------------------------------------------------
; Routine: SubCE986_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE986_Block_2:
jsr $EA34 ; CPU:$E9F0 PRG:29F0 20 34 EA
; -----------------------------------------------------------------------------
; Routine: SubCE9F3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE9F3:
inc $0445 ; CPU:$E9F3 PRG:29F3 EE 45 04
lda $0445 ; CPU:$E9F6 PRG:29F6 AD 45 04
cmp #$03 ; CPU:$E9F9 PRG:29F9 C9 03
beq SubCE9F3_Block ; CPU:$E9FB PRG:29FB F0 03
jmp $E986 ; CPU:$E9FD PRG:29FD 4C 86 E9
; -----------------------------------------------------------------------------
; Routine: SubCE9F3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE9F3_Block:
rts ; CPU:$EA00 PRG:2A00 60
; -----------------------------------------------------------------------------
; Routine: SubCEA01
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA01:
lda Zp01 ; CPU:$EA01 PRG:2A01 A5 01
inc Zp01 ; CPU:$EA03 PRG:2A03 E6 01
inc Zp01 ; CPU:$EA05 PRG:2A05 E6 01
inc Zp01 ; CPU:$EA07 PRG:2A07 E6 01
cmp #$26 ; CPU:$EA09 PRG:2A09 C9 26
bne SubCEA01_Block ; CPU:$EA0B PRG:2A0B D0 04
ldx #$01 ; CPU:$EA0D PRG:2A0D A2 01
stx ZpFE ; CPU:$EA0F PRG:2A0F 86 FE
; -----------------------------------------------------------------------------
; Routine: SubCEA01_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA01_Block:
cmp #$50 ; CPU:$EA11 PRG:2A11 C9 50
bcc SubCEA01_Block_1 ; CPU:$EA13 PRG:2A13 90 15
cmp #$90 ; CPU:$EA15 PRG:2A15 C9 90
bcc UpdateSoundChannels ; CPU:$EA17 PRG:2A17 90 16
cmp #$C0 ; CPU:$EA19 PRG:2A19 C9 C0
bcc SubCEA01_Block_1 ; CPU:$EA1B PRG:2A1B 90 0D
cmp #$D8 ; CPU:$EA1D PRG:2A1D C9 D8
bcc UpdateSoundChannels ; CPU:$EA1F PRG:2A1F 90 0E
jsr $EAD1 ; CPU:$EA21 PRG:2A21 20 D1 EA
jsr $F094 ; CPU:$EA24 PRG:2A24 20 94 F0
lda #$FF ; CPU:$EA27 PRG:2A27 A9 FF
rts ; CPU:$EA29 PRG:2A29 60
; -----------------------------------------------------------------------------
; Routine: SubCEA01_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA01_Block_1:
lda #$C4 ; CPU:$EA2A PRG:2A2A A9 C4
sta Zp02 ; CPU:$EA2C PRG:2A2C 85 02
rts ; CPU:$EA2E PRG:2A2E 60
; -----------------------------------------------------------------------------
; Routine: UpdateSoundChannels
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundChannels:
lda #$C0 ; CPU:$EA2F PRG:2A2F A9 C0
sta Zp02 ; CPU:$EA31 PRG:2A31 85 02
rts ; CPU:$EA33 PRG:2A33 60
; -----------------------------------------------------------------------------
; Routine: SubCEA34
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA34:
lda Zp36 ; CPU:$EA34 PRG:2A34 A5 36
bne SubCEA34_Block ; CPU:$EA36 PRG:2A36 D0 26
lda Zp19 ; CPU:$EA38 PRG:2A38 A5 19
and #$03 ; CPU:$EA3A PRG:2A3A 29 03
tax ; CPU:$EA3C PRG:2A3C AA
lda $C1FF,x ; CPU:$EA3D PRG:2A3D BD FF C1
clc ; CPU:$EA40 PRG:2A40 18
adc #$10 ; CPU:$EA41 PRG:2A41 69 10
ldx $0445 ; CPU:$EA43 PRG:2A43 AE 45 04
sta $0446,x ; CPU:$EA46 PRG:2A46 9D 46 04
sta Zp00 ; CPU:$EA49 PRG:2A49 85 00
lda #$30 ; CPU:$EA4B PRG:2A4B A9 30
sta Zp01 ; CPU:$EA4D PRG:2A4D 85 01
lda #$C4 ; CPU:$EA4F PRG:2A4F A9 C4
sta Zp02 ; CPU:$EA51 PRG:2A51 85 02
jsr $EADB ; CPU:$EA53 PRG:2A53 20 DB EA
jsr $EAF7 ; CPU:$EA56 PRG:2A56 20 F7 EA
lda $C457,x ; CPU:$EA59 PRG:2A59 BD 57 C4
sta Zp36 ; CPU:$EA5C PRG:2A5C 85 36
; -----------------------------------------------------------------------------
; Routine: SubCEA34_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA34_Block:
rts ; CPU:$EA5E PRG:2A5E 60
; -----------------------------------------------------------------------------
; Routine: SubCEA5F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA5F:
lda Zp39 ; CPU:$EA5F PRG:2A5F A5 39
beq SubCEA5F_Block ; CPU:$EA61 PRG:2A61 F0 01
rts ; CPU:$EA63 PRG:2A63 60
; -----------------------------------------------------------------------------
; Routine: SubCEA5F_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA5F_Block:
lda #$08 ; CPU:$EA64 PRG:2A64 A9 08
sta Zp0A ; CPU:$EA66 PRG:2A66 85 0A
lda #$00 ; CPU:$EA68 PRG:2A68 A9 00
sta Zp0B ; CPU:$EA6A PRG:2A6A 85 0B
jsr $EAA1 ; CPU:$EA6C PRG:2A6C 20 A1 EA
bne SubCEA5F_Block_1 ; CPU:$EA6F PRG:2A6F D0 01
rts ; CPU:$EA71 PRG:2A71 60
; -----------------------------------------------------------------------------
; Routine: SubCEA5F_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA5F_Block_1:
lda #$50 ; CPU:$EA72 PRG:2A72 A9 50
sta Zp00 ; CPU:$EA74 PRG:2A74 85 00
lda #$20 ; CPU:$EA76 PRG:2A76 A9 20
sta Zp01 ; CPU:$EA78 PRG:2A78 85 01
lda $02F1 ; CPU:$EA7A PRG:2A7A AD F1 02
cmp #$DB ; CPU:$EA7D PRG:2A7D C9 DB
beq SubCEA5F_Block_2 ; CPU:$EA7F PRG:2A7F F0 07
inc ZpB7 ; CPU:$EA81 PRG:2A81 E6 B7
lda #$DB ; CPU:$EA83 PRG:2A83 A9 DB
jmp $EA8A ; CPU:$EA85 PRG:2A85 4C 8A EA
; -----------------------------------------------------------------------------
; Routine: SubCEA5F_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA5F_Block_2:
lda #$D7 ; CPU:$EA88 PRG:2A88 A9 D7
; -----------------------------------------------------------------------------
; Routine: SubCEA8A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA8A:
jsr $EAD4 ; CPU:$EA8A PRG:2A8A 20 D4 EA
lda #$F0 ; CPU:$EA8D PRG:2A8D A9 F0
jsr $F080 ; CPU:$EA8F PRG:2A8F 20 80 F0
lda ZpB7 ; CPU:$EA92 PRG:2A92 A5 B7
cmp #$04 ; CPU:$EA94 PRG:2A94 C9 04
bne SubCEA8A_Block ; CPU:$EA96 PRG:2A96 D0 08
lda #$00 ; CPU:$EA98 PRG:2A98 A9 00
sta ZpB7 ; CPU:$EA9A PRG:2A9A 85 B7
lda #$BB ; CPU:$EA9C PRG:2A9C A9 BB
sta Zp39 ; CPU:$EA9E PRG:2A9E 85 39
; -----------------------------------------------------------------------------
; Routine: SubCEA8A_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA8A_Block:
rts ; CPU:$EAA0 PRG:2AA0 60
; -----------------------------------------------------------------------------
; Routine: AdvancePatternBitAlt
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AdvancePatternBitAlt:
inc ZpB8 ; CPU:$EAA1 PRG:2AA1 E6 B8
lda ZpB8 ; CPU:$EAA3 PRG:2AA3 A5 B8
bmi AdvancePatternBitAlt_Block ; CPU:$EAA5 PRG:2AA5 30 07
cmp #$10 ; CPU:$EAA7 PRG:2AA7 C9 10
bcs AdvancePatternBitAlt_Block ; CPU:$EAA9 PRG:2AA9 B0 03
jmp $EAB2 ; CPU:$EAAB PRG:2AAB 4C B2 EA
; -----------------------------------------------------------------------------
; Routine: AdvancePatternBitAlt_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AdvancePatternBitAlt_Block:
lda #$00 ; CPU:$EAAE PRG:2AAE A9 00
sta ZpB8 ; CPU:$EAB0 PRG:2AB0 85 B8
; -----------------------------------------------------------------------------
; Routine: ReadPatternBitAlt
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBitAlt:
cmp #$08 ; CPU:$EAB2 PRG:2AB2 C9 08
bcs ReadPatternBitAlt_Block ; CPU:$EAB4 PRG:2AB4 B0 09
tax ; CPU:$EAB6 PRG:2AB6 AA
lda $C1BC,x ; CPU:$EAB7 PRG:2AB7 BD BC C1
and Zp0A ; CPU:$EABA PRG:2ABA 25 0A
jmp $EAC8 ; CPU:$EABC PRG:2ABC 4C C8 EA
; -----------------------------------------------------------------------------
; Routine: ReadPatternBitAlt_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBitAlt_Block:
sec ; CPU:$EABF PRG:2ABF 38
sbc #$08 ; CPU:$EAC0 PRG:2AC0 E9 08
tax ; CPU:$EAC2 PRG:2AC2 AA
lda $C1BC,x ; CPU:$EAC3 PRG:2AC3 BD BC C1
and Zp0B ; CPU:$EAC6 PRG:2AC6 25 0B
; -----------------------------------------------------------------------------
; Routine: ReadPatternBitAlt_Return
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBitAlt_Return:
beq ReadPatternBitAlt_Return_Block ; CPU:$EAC8 PRG:2AC8 F0 02
lda #$01 ; CPU:$EACA PRG:2ACA A9 01
; -----------------------------------------------------------------------------
; Routine: ReadPatternBitAlt_Return_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPatternBitAlt_Return_Block:
rts ; CPU:$EACC PRG:2ACC 60
; -----------------------------------------------------------------------------
; Routine: ClearSpriteDestOffset
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ClearSpriteDestOffset:
lda #$00 ; CPU:$EACD PRG:2ACD A9 00
sta Zp04 ; CPU:$EACF PRG:2ACF 85 04
; -----------------------------------------------------------------------------
; Routine: UpdateSoundChannel4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundChannel4:
jmp $EAD6 ; CPU:$EAD1 PRG:2AD1 4C D6 EA
; -----------------------------------------------------------------------------
; Routine: SetSpriteTile
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteTile:
sta Zp02 ; CPU:$EAD4 PRG:2AD4 85 02
; -----------------------------------------------------------------------------
; Routine: SetSpriteSize
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteSize:
lda #$22 ; CPU:$EAD6 PRG:2AD6 A9 22
sta Zp03 ; CPU:$EAD8 PRG:2AD8 85 03
rts ; CPU:$EADA PRG:2ADA 60
; -----------------------------------------------------------------------------
; Routine: SetSpriteSizeAndDraw
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteSizeAndDraw:
jsr $EAD1 ; CPU:$EADB PRG:2ADB 20 D1 EA
jmp $F082 ; CPU:$EADE PRG:2ADE 4C 82 F0
; -----------------------------------------------------------------------------
; Routine: LoadSprite0Position
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadSprite0Position:
lda $0203 ; CPU:$EAE1 PRG:2AE1 AD 03 02
sta Zp00 ; CPU:$EAE4 PRG:2AE4 85 00
lda $0200 ; CPU:$EAE6 PRG:2AE6 AD 00 02
sta Zp01 ; CPU:$EAE9 PRG:2AE9 85 01
rts ; CPU:$EAEB PRG:2AEB 60
; -----------------------------------------------------------------------------
; Routine: LoadSpritePosition
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadSpritePosition:
lda $0203,x ; CPU:$EAEC PRG:2AEC BD 03 02
sta Zp00 ; CPU:$EAEF PRG:2AEF 85 00
lda $0200,x ; CPU:$EAF1 PRG:2AF1 BD 00 02
sta Zp01 ; CPU:$EAF4 PRG:2AF4 85 01
rts ; CPU:$EAF6 PRG:2AF6 60
; -----------------------------------------------------------------------------
; Routine: SubCEAF7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEAF7:
lda Zp50 ; CPU:$EAF7 PRG:2AF7 A5 50
and #$01 ; CPU:$EAF9 PRG:2AF9 29 01
clc ; CPU:$EAFB PRG:2AFB 18
adc Zp54 ; CPU:$EAFC PRG:2AFC 65 54
tax ; CPU:$EAFE PRG:2AFE AA
cpx #$04 ; CPU:$EAFF PRG:2AFF E0 04
bcc SubCEAF7_Block ; CPU:$EB01 PRG:2B01 90 02
ldx #$04 ; CPU:$EB03 PRG:2B03 A2 04
; -----------------------------------------------------------------------------
; Routine: SubCEAF7_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEAF7_Block:
rts ; CPU:$EB05 PRG:2B05 60
; -----------------------------------------------------------------------------
; Routine: SubCEB06
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06:
lda $0503 ; CPU:$EB06 PRG:2B06 AD 03 05
bne SubCEB06_Block ; CPU:$EB09 PRG:2B09 D0 01
rts ; CPU:$EB0B PRG:2B0B 60
; -----------------------------------------------------------------------------
; Routine: SubCEB06_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06_Block:
lda $0505 ; CPU:$EB0C PRG:2B0C AD 05 05
and #$0F ; CPU:$EB0F PRG:2B0F 29 0F
sta $0505 ; CPU:$EB11 PRG:2B11 8D 05 05
lda Zp53 ; CPU:$EB14 PRG:2B14 A5 53
tax ; CPU:$EB16 PRG:2B16 AA
tay ; CPU:$EB17 PRG:2B17 A8
dex ; CPU:$EB18 PRG:2B18 CA
lda $C608,x ; CPU:$EB19 PRG:2B19 BD 08 C6
sta Zp00 ; CPU:$EB1C PRG:2B1C 85 00
lda #$20 ; CPU:$EB1E PRG:2B1E A9 20
sta Zp01 ; CPU:$EB20 PRG:2B20 85 01
tya ; CPU:$EB22 PRG:2B22 98
cmp #$02 ; CPU:$EB23 PRG:2B23 C9 02
bmi SubCEB06_Block_2 ; CPU:$EB25 PRG:2B25 30 2D
lda Zp44 ; CPU:$EB27 PRG:2B27 A5 44
beq SubCEB06_Block_1 ; CPU:$EB29 PRG:2B29 F0 24
; -----------------------------------------------------------------------------
; Routine: SubCEB2B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB2B:
cmp #$13 ; CPU:$EB2B PRG:2B2B C9 13
bne SubCEB2B_Block ; CPU:$EB2D PRG:2B2D D0 03
jmp $EB85 ; CPU:$EB2F PRG:2B2F 4C 85 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB2B_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB2B_Block:
cmp #$0F ; CPU:$EB32 PRG:2B32 C9 0F
bne SubCEB2B_Block_1 ; CPU:$EB34 PRG:2B34 D0 03
jmp $EB8E ; CPU:$EB36 PRG:2B36 4C 8E EB
; -----------------------------------------------------------------------------
; Routine: SubCEB2B_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB2B_Block_1:
cmp #$0B ; CPU:$EB39 PRG:2B39 C9 0B
bne SubCEB2B_Block_2 ; CPU:$EB3B PRG:2B3B D0 03
jmp $EB85 ; CPU:$EB3D PRG:2B3D 4C 85 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB2B_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB2B_Block_2:
cmp #$08 ; CPU:$EB40 PRG:2B40 C9 08
bne SubCEB2B_Block_3 ; CPU:$EB42 PRG:2B42 D0 03
jmp $EB8E ; CPU:$EB44 PRG:2B44 4C 8E EB
; -----------------------------------------------------------------------------
; Routine: SubCEB2B_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB2B_Block_3:
cmp #$04 ; CPU:$EB47 PRG:2B47 C9 04
bne SubCEB2B_Block_4 ; CPU:$EB49 PRG:2B49 D0 03
jsr $EBA6 ; CPU:$EB4B PRG:2B4B 20 A6 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB2B_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB2B_Block_4:
rts ; CPU:$EB4E PRG:2B4E 60
; -----------------------------------------------------------------------------
; Routine: SubCEB06_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06_Block_1:
lda #$25 ; CPU:$EB4F PRG:2B4F A9 25
sta Zp44 ; CPU:$EB51 PRG:2B51 85 44
rts ; CPU:$EB53 PRG:2B53 60
; -----------------------------------------------------------------------------
; Routine: SubCEB06_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06_Block_2:
lda Zp36 ; CPU:$EB54 PRG:2B54 A5 36
cmp #$18 ; CPU:$EB56 PRG:2B56 C9 18
beq SubCEB06_Block_4 ; CPU:$EB58 PRG:2B58 F0 1A
cmp #$00 ; CPU:$EB5A PRG:2B5A C9 00
beq SubCEB06_Block_5 ; CPU:$EB5C PRG:2B5C F0 1D
lda $0515 ; CPU:$EB5E PRG:2B5E AD 15 05
beq SubCEB06_Block_3 ; CPU:$EB61 PRG:2B61 F0 0C
jsr $EBA1 ; CPU:$EB63 PRG:2B63 20 A1 EB
lda #$00 ; CPU:$EB66 PRG:2B66 A9 00
sta $0515 ; CPU:$EB68 PRG:2B68 8D 15 05
lda #$1A ; CPU:$EB6B PRG:2B6B A9 1A
sta Zp44 ; CPU:$EB6D PRG:2B6D 85 44
; -----------------------------------------------------------------------------
; Routine: SubCEB06_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06_Block_3:
lda Zp44 ; CPU:$EB6F PRG:2B6F A5 44
jmp $EB2B ; CPU:$EB71 PRG:2B71 4C 2B EB
; -----------------------------------------------------------------------------
; Routine: SubCEB06_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06_Block_4:
lda #$30 ; CPU:$EB74 PRG:2B74 A9 30
sta Zp44 ; CPU:$EB76 PRG:2B76 85 44
jmp $EB9C ; CPU:$EB78 PRG:2B78 4C 9C EB
; -----------------------------------------------------------------------------
; Routine: SubCEB06_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB06_Block_5:
lda #$1A ; CPU:$EB7B PRG:2B7B A9 1A
sta Zp44 ; CPU:$EB7D PRG:2B7D 85 44
jsr $EB97 ; CPU:$EB7F PRG:2B7F 20 97 EB
jmp $EB2B ; CPU:$EB82 PRG:2B82 4C 2B EB
; -----------------------------------------------------------------------------
; Routine: SubCEB85
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB85:
lda #$80 ; CPU:$EB85 PRG:2B85 A9 80
sta ZpFE ; CPU:$EB87 PRG:2B87 85 FE
; -----------------------------------------------------------------------------
; Routine: SubCEB89
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB89:
lda #$40 ; CPU:$EB89 PRG:2B89 A9 40
jmp $EBA8 ; CPU:$EB8B PRG:2B8B 4C A8 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB8E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB8E:
lda #$80 ; CPU:$EB8E PRG:2B8E A9 80
sta ZpFE ; CPU:$EB90 PRG:2B90 85 FE
; -----------------------------------------------------------------------------
; Routine: SubCEB92
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB92:
lda #$42 ; CPU:$EB92 PRG:2B92 A9 42
jmp $EBA8 ; CPU:$EB94 PRG:2B94 4C A8 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB97
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB97:
lda #$44 ; CPU:$EB97 PRG:2B97 A9 44
jmp $EBA8 ; CPU:$EB99 PRG:2B99 4C A8 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB9C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB9C:
lda #$3E ; CPU:$EB9C PRG:2B9C A9 3E
jmp $EBA8 ; CPU:$EB9E PRG:2B9E 4C A8 EB
; -----------------------------------------------------------------------------
; Routine: SubCEBA1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBA1:
lda #$00 ; CPU:$EBA1 PRG:2BA1 A9 00
jmp $EBA8 ; CPU:$EBA3 PRG:2BA3 4C A8 EB
; -----------------------------------------------------------------------------
; Routine: SubCEBA6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBA6:
lda #$02 ; CPU:$EBA6 PRG:2BA6 A9 02
; -----------------------------------------------------------------------------
; Routine: SubCEBA8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBA8:
jsr $C815 ; CPU:$EBA8 PRG:2BA8 20 15 C8
dec Zp44 ; CPU:$EBAB PRG:2BAB C6 44
lda $0505 ; CPU:$EBAD PRG:2BAD AD 05 05
ora #$10 ; CPU:$EBB0 PRG:2BB0 09 10
sta $0505 ; CPU:$EBB2 PRG:2BB2 8D 05 05
rts ; CPU:$EBB5 PRG:2BB5 60
; -----------------------------------------------------------------------------
; Routine: SubCEBB6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBB6:
lda Zp45 ; CPU:$EBB6 PRG:2BB6 A5 45
beq SubCEBB6_Block ; CPU:$EBB8 PRG:2BB8 F0 01
rts ; CPU:$EBBA PRG:2BBA 60
; -----------------------------------------------------------------------------
; Routine: SubCEBB6_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBB6_Block:
lda Zp2E ; CPU:$EBBB PRG:2BBB A5 2E
bne SubCEBB6_Block_1 ; CPU:$EBBD PRG:2BBD D0 05
lda #$FF ; CPU:$EBBF PRG:2BBF A9 FF
sta Zp96 ; CPU:$EBC1 PRG:2BC1 85 96
rts ; CPU:$EBC3 PRG:2BC3 60
; -----------------------------------------------------------------------------
; Routine: SubCEBB6_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBB6_Block_1:
lda #$0B ; CPU:$EBC4 PRG:2BC4 A9 0B
sta Zp45 ; CPU:$EBC6 PRG:2BC6 85 45
lda #$01 ; CPU:$EBC8 PRG:2BC8 A9 01
sta Zp00 ; CPU:$EBCA PRG:2BCA 85 00
lda #$0A ; CPU:$EBCC PRG:2BCC A9 0A
sta Zp01 ; CPU:$EBCE PRG:2BCE 85 01
jsr $F33E ; CPU:$EBD0 PRG:2BD0 20 3E F3
lda #$02 ; CPU:$EBD3 PRG:2BD3 A9 02
sta Zp00 ; CPU:$EBD5 PRG:2BD5 85 00
jmp $F23C ; CPU:$EBD7 PRG:2BD7 4C 3C F2
; -----------------------------------------------------------------------------
; Routine: SubCEBDA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBDA:
lda $050B ; CPU:$EBDA PRG:2BDA AD 0B 05
bne SubCEBDA_Block ; CPU:$EBDD PRG:2BDD D0 0E
lda #$01 ; CPU:$EBDF PRG:2BDF A9 01
sta $050B ; CPU:$EBE1 PRG:2BE1 8D 0B 05
lda #$00 ; CPU:$EBE4 PRG:2BE4 A9 00
sta $050E ; CPU:$EBE6 PRG:2BE6 8D 0E 05
sta $050C ; CPU:$EBE9 PRG:2BE9 8D 0C 05
rts ; CPU:$EBEC PRG:2BEC 60
; -----------------------------------------------------------------------------
; Routine: SubCEBDA_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBDA_Block:
lda $050C ; CPU:$EBED PRG:2BED AD 0C 05
beq SubCEBDA_Block_3 ; CPU:$EBF0 PRG:2BF0 F0 24
lda $050D ; CPU:$EBF2 PRG:2BF2 AD 0D 05
cmp #$05 ; CPU:$EBF5 PRG:2BF5 C9 05
bne SubCEBDA_Block_2 ; CPU:$EBF7 PRG:2BF7 D0 11
lda Zp96 ; CPU:$EBF9 PRG:2BF9 A5 96
cmp #$0A ; CPU:$EBFB PRG:2BFB C9 0A
bne SubCEBDA_Block_1 ; CPU:$EBFD PRG:2BFD D0 04
lda #$00 ; CPU:$EBFF PRG:2BFF A9 00
beq SubCEBDA_Block_2 ; CPU:$EC01 PRG:2C01 F0 07
; -----------------------------------------------------------------------------
; Routine: SubCEBDA_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBDA_Block_1:
lda #$04 ; CPU:$EC03 PRG:2C03 A9 04
sta Zp96 ; CPU:$EC05 PRG:2C05 85 96
jmp $EC12 ; CPU:$EC07 PRG:2C07 4C 12 EC
; -----------------------------------------------------------------------------
; Routine: SubCEBDA_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBDA_Block_2:
sta Zp56 ; CPU:$EC0A PRG:2C0A 85 56
and #$03 ; CPU:$EC0C PRG:2C0C 29 03
beq SubCEC12 ; CPU:$EC0E PRG:2C0E F0 02
sta Zp57 ; CPU:$EC10 PRG:2C10 85 57
; -----------------------------------------------------------------------------
; Routine: SubCEC12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC12:
dec $050C ; CPU:$EC12 PRG:2C12 CE 0C 05
rts ; CPU:$EC15 PRG:2C15 60
; -----------------------------------------------------------------------------
; Routine: SubCEBDA_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBDA_Block_3:
ldx $050E ; CPU:$EC16 PRG:2C16 AE 0E 05
lda $C028,x ; CPU:$EC19 PRG:2C19 BD 28 C0
sta $050C ; CPU:$EC1C PRG:2C1C 8D 0C 05
lda $C014,x ; CPU:$EC1F PRG:2C1F BD 14 C0
sta $050D ; CPU:$EC22 PRG:2C22 8D 0D 05
inc $050E ; CPU:$EC25 PRG:2C25 EE 0E 05
rts ; CPU:$EC28 PRG:2C28 60
; -----------------------------------------------------------------------------
; Routine: SubCEC29
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC29:
jsr $EAE1 ; CPU:$EC29 PRG:2C29 20 E1 EA
lda #$4C ; CPU:$EC2C PRG:2C2C A9 4C
jsr $EFE8 ; CPU:$EC2E PRG:2C2E 20 E8 EF
lda Zp53 ; CPU:$EC31 PRG:2C31 A5 53
cmp #$03 ; CPU:$EC33 PRG:2C33 C9 03
beq SubCEC29_Block ; CPU:$EC35 PRG:2C35 F0 04
cmp #$01 ; CPU:$EC37 PRG:2C37 C9 01
bne SubCEC29_Block_1 ; CPU:$EC39 PRG:2C39 D0 03
; -----------------------------------------------------------------------------
; Routine: SubCEC29_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC29_Block:
jsr $EC44 ; CPU:$EC3B PRG:2C3B 20 44 EC
; -----------------------------------------------------------------------------
; Routine: SubCEC29_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC29_Block_1:
jsr $ED8A ; CPU:$EC3E PRG:2C3E 20 8A ED
jmp $EDC5 ; CPU:$EC41 PRG:2C41 4C C5 ED
; -----------------------------------------------------------------------------
; Routine: SubCEC44
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC44:
lda #$00 ; CPU:$EC44 PRG:2C44 A9 00
sta Zp5D ; CPU:$EC46 PRG:2C46 85 5D
; -----------------------------------------------------------------------------
; Routine: SubCEC48
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC48:
lda #$3A ; CPU:$EC48 PRG:2C48 A9 3A
jsr $C847 ; CPU:$EC4A PRG:2C4A 20 47 C8
jsr $EFD5 ; CPU:$EC4D PRG:2C4D 20 D5 EF
lda Zp53 ; CPU:$EC50 PRG:2C50 A5 53
cmp #$01 ; CPU:$EC52 PRG:2C52 C9 01
beq SubCEC48_Block ; CPU:$EC54 PRG:2C54 F0 05
txa ; CPU:$EC56 PRG:2C56 8A
clc ; CPU:$EC57 PRG:2C57 18
adc #$30 ; CPU:$EC58 PRG:2C58 69 30
tax ; CPU:$EC5A PRG:2C5A AA
; -----------------------------------------------------------------------------
; Routine: SubCEC48_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC48_Block:
jsr $EAEC ; CPU:$EC5B PRG:2C5B 20 EC EA
jsr $EFEF ; CPU:$EC5E PRG:2C5E 20 EF EF
bne SubCEC48_Block_2 ; CPU:$EC61 PRG:2C61 D0 44
lda Zp96 ; CPU:$EC63 PRG:2C63 A5 96
cmp #$04 ; CPU:$EC65 PRG:2C65 C9 04
bne SubCEC97 ; CPU:$EC67 PRG:2C67 D0 2E
lda Zp56 ; CPU:$EC69 PRG:2C69 A5 56
and #$03 ; CPU:$EC6B PRG:2C6B 29 03
bne SubCEC48_Block_1 ; CPU:$EC6D PRG:2C6D D0 07
lda Zp9C ; CPU:$EC6F PRG:2C6F A5 9C
beq UpdateMusic2 ; CPU:$EC71 PRG:2C71 F0 0D
jmp $EC97 ; CPU:$EC73 PRG:2C73 4C 97 EC
; -----------------------------------------------------------------------------
; Routine: SubCEC48_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC48_Block_1:
lda Zp9C ; CPU:$EC76 PRG:2C76 A5 9C
cmp #$03 ; CPU:$EC78 PRG:2C78 C9 03
bcs SubCEC97 ; CPU:$EC7A PRG:2C7A B0 1B
lda Zp9E ; CPU:$EC7C PRG:2C7C A5 9E
bne SubCEC97 ; CPU:$EC7E PRG:2C7E D0 17
; -----------------------------------------------------------------------------
; Routine: UpdateMusic2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateMusic2:
lda Zp9D ; CPU:$EC80 PRG:2C80 A5 9D
cmp #$18 ; CPU:$EC82 PRG:2C82 C9 18
bcs SubCEC97 ; CPU:$EC84 PRG:2C84 B0 11
lda Zp00 ; CPU:$EC86 PRG:2C86 A5 00
sta Zp05 ; CPU:$EC88 PRG:2C88 85 05
lda Zp01 ; CPU:$EC8A PRG:2C8A A5 01
sta Zp06 ; CPU:$EC8C PRG:2C8C 85 06
ldx #$00 ; CPU:$EC8E PRG:2C8E A2 00
jsr $CFC6 ; CPU:$EC90 PRG:2C90 20 C6 CF
lda #$20 ; CPU:$EC93 PRG:2C93 A9 20
sta ZpFD ; CPU:$EC95 PRG:2C95 85 FD
; -----------------------------------------------------------------------------
; Routine: SubCEC97
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC97:
inc Zp5D ; CPU:$EC97 PRG:2C97 E6 5D
lda Zp53 ; CPU:$EC99 PRG:2C99 A5 53
lsr a ; CPU:$EC9B PRG:2C9B 4A
tax ; CPU:$EC9C PRG:2C9C AA
lda Zp5D ; CPU:$EC9D PRG:2C9D A5 5D
cmp $C1FD,x ; CPU:$EC9F PRG:2C9F DD FD C1
beq SubCEC97_Block ; CPU:$ECA2 PRG:2CA2 F0 0B
jmp $EC48 ; CPU:$ECA4 PRG:2CA4 4C 48 EC
; -----------------------------------------------------------------------------
; Routine: SubCEC48_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC48_Block_2:
jsr $EF51 ; CPU:$ECA7 PRG:2CA7 20 51 EF
lda #$FF ; CPU:$ECAA PRG:2CAA A9 FF
sta Zp96 ; CPU:$ECAC PRG:2CAC 85 96
rts ; CPU:$ECAE PRG:2CAE 60
; -----------------------------------------------------------------------------
; Routine: SubCEC97_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC97_Block:
lda Zp53 ; CPU:$ECAF PRG:2CAF A5 53
cmp #$03 ; CPU:$ECB1 PRG:2CB1 C9 03
beq SubCEC97_Block_1 ; CPU:$ECB3 PRG:2CB3 F0 09
lda Zp96 ; CPU:$ECB5 PRG:2CB5 A5 96
cmp #$0A ; CPU:$ECB7 PRG:2CB7 C9 0A
bne SubCEC97_Block_1 ; CPU:$ECB9 PRG:2CB9 D0 03
jmp $ECBF ; CPU:$ECBB PRG:2CBB 4C BF EC
; -----------------------------------------------------------------------------
; Routine: SubCEC97_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC97_Block_1:
rts ; CPU:$ECBE PRG:2CBE 60
; -----------------------------------------------------------------------------
; Routine: SubCECBF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECBF:
lda ZpA0 ; CPU:$ECBF PRG:2CBF A5 A0
bne SubCECBF_Block ; CPU:$ECC1 PRG:2CC1 D0 03
jmp $ED87 ; CPU:$ECC3 PRG:2CC3 4C 87 ED
; -----------------------------------------------------------------------------
; Routine: SubCECBF_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECBF_Block:
lda Zp9F ; CPU:$ECC6 PRG:2CC6 A5 9F
lsr a ; CPU:$ECC8 PRG:2CC8 4A
lsr a ; CPU:$ECC9 PRG:2CC9 4A
beq SubCECBF_Block_1 ; CPU:$ECCA PRG:2CCA F0 05
lda #$00 ; CPU:$ECCC PRG:2CCC A9 00
jmp $ECD3 ; CPU:$ECCE PRG:2CCE 4C D3 EC
; -----------------------------------------------------------------------------
; Routine: SubCECBF_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECBF_Block_1:
lda #$01 ; CPU:$ECD1 PRG:2CD1 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCECD3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECD3:
beq SubCECD3_Block ; CPU:$ECD3 PRG:2CD3 F0 13
lda #$04 ; CPU:$ECD5 PRG:2CD5 A9 04
clc ; CPU:$ECD7 PRG:2CD7 18
adc $0203 ; CPU:$ECD8 PRG:2CD8 6D 03 02
sta Zp00 ; CPU:$ECDB PRG:2CDB 85 00
lda $0200 ; CPU:$ECDD PRG:2CDD AD 00 02
sec ; CPU:$ECE0 PRG:2CE0 38
sbc #$10 ; CPU:$ECE1 PRG:2CE1 E9 10
sta Zp01 ; CPU:$ECE3 PRG:2CE3 85 01
jmp $ED07 ; CPU:$ECE5 PRG:2CE5 4C 07 ED
; -----------------------------------------------------------------------------
; Routine: SubCECD3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECD3_Block:
lda Zp57 ; CPU:$ECE8 PRG:2CE8 A5 57
cmp #$01 ; CPU:$ECEA PRG:2CEA C9 01
beq SubCECD3_Block_1 ; CPU:$ECEC PRG:2CEC F0 09
lda $0203 ; CPU:$ECEE PRG:2CEE AD 03 02
sec ; CPU:$ECF1 PRG:2CF1 38
sbc #$10 ; CPU:$ECF2 PRG:2CF2 E9 10
jmp $ECFD ; CPU:$ECF4 PRG:2CF4 4C FD EC
; -----------------------------------------------------------------------------
; Routine: SubCECD3_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECD3_Block_1:
lda $0203 ; CPU:$ECF7 PRG:2CF7 AD 03 02
clc ; CPU:$ECFA PRG:2CFA 18
adc #$10 ; CPU:$ECFB PRG:2CFB 69 10
; -----------------------------------------------------------------------------
; Routine: SubCECFD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECFD:
sta Zp00 ; CPU:$ECFD PRG:2CFD 85 00
lda $0200 ; CPU:$ECFF PRG:2CFF AD 00 02
clc ; CPU:$ED02 PRG:2D02 18
adc #$06 ; CPU:$ED03 PRG:2D03 69 06
sta Zp01 ; CPU:$ED05 PRG:2D05 85 01
; -----------------------------------------------------------------------------
; Routine: SubCED07
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED07:
lda #$3C ; CPU:$ED07 PRG:2D07 A9 3C
jsr $EFE8 ; CPU:$ED09 PRG:2D09 20 E8 EF
lda Zp53 ; CPU:$ED0C PRG:2D0C A5 53
cmp #$01 ; CPU:$ED0E PRG:2D0E C9 01
bne SubCED07_Block ; CPU:$ED10 PRG:2D10 D0 22
lda #$00 ; CPU:$ED12 PRG:2D12 A9 00
sta Zp5D ; CPU:$ED14 PRG:2D14 85 5D
; -----------------------------------------------------------------------------
; Routine: SubCED16
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED16:
jsr $EFD5 ; CPU:$ED16 PRG:2D16 20 D5 EF
jsr $EAEC ; CPU:$ED19 PRG:2D19 20 EC EA
lda #$3A ; CPU:$ED1C PRG:2D1C A9 3A
jsr $C847 ; CPU:$ED1E PRG:2D1E 20 47 C8
jsr $EFEF ; CPU:$ED21 PRG:2D21 20 EF EF
bne SubCED38_Block ; CPU:$ED24 PRG:2D24 D0 31
lda Zp5D ; CPU:$ED26 PRG:2D26 A5 5D
clc ; CPU:$ED28 PRG:2D28 18
adc #$01 ; CPU:$ED29 PRG:2D29 69 01
sta Zp5D ; CPU:$ED2B PRG:2D2B 85 5D
cmp #$09 ; CPU:$ED2D PRG:2D2D C9 09
beq SubCED38_Block_2 ; CPU:$ED2F PRG:2D2F F0 54
jmp $ED16 ; CPU:$ED31 PRG:2D31 4C 16 ED
; -----------------------------------------------------------------------------
; Routine: SubCED07_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED07_Block:
lda #$00 ; CPU:$ED34 PRG:2D34 A9 00
sta ZpAE ; CPU:$ED36 PRG:2D36 85 AE
; -----------------------------------------------------------------------------
; Routine: SubCED38
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED38:
jsr $EFDD ; CPU:$ED38 PRG:2D38 20 DD EF
jsr $EAEC ; CPU:$ED3B PRG:2D3B 20 EC EA
lda #$3A ; CPU:$ED3E PRG:2D3E A9 3A
jsr $C847 ; CPU:$ED40 PRG:2D40 20 47 C8
jsr $EFEF ; CPU:$ED43 PRG:2D43 20 EF EF
bne SubCED38_Block ; CPU:$ED46 PRG:2D46 D0 0F
inc ZpAE ; CPU:$ED48 PRG:2D48 E6 AE
lda ZpAE ; CPU:$ED4A PRG:2D4A A5 AE
ldx Zp53 ; CPU:$ED4C PRG:2D4C A6 53
dex ; CPU:$ED4E PRG:2D4E CA
cmp $C1F6,x ; CPU:$ED4F PRG:2D4F DD F6 C1
beq SubCED38_Block_2 ; CPU:$ED52 PRG:2D52 F0 31
jmp $ED38 ; CPU:$ED54 PRG:2D54 4C 38 ED
; -----------------------------------------------------------------------------
; Routine: SubCED38_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED38_Block:
lda #$02 ; CPU:$ED57 PRG:2D57 A9 02
sta ZpFF ; CPU:$ED59 PRG:2D59 85 FF
lda Zp00 ; CPU:$ED5B PRG:2D5B A5 00
sta Zp05 ; CPU:$ED5D PRG:2D5D 85 05
lda Zp01 ; CPU:$ED5F PRG:2D5F A5 01
sta Zp06 ; CPU:$ED61 PRG:2D61 85 06
lda Zp53 ; CPU:$ED63 PRG:2D63 A5 53
cmp #$01 ; CPU:$ED65 PRG:2D65 C9 01
bne SubCED38_Block_1 ; CPU:$ED67 PRG:2D67 D0 0B
lda #$00 ; CPU:$ED69 PRG:2D69 A9 00
ldx Zp5D ; CPU:$ED6B PRG:2D6B A6 5D
sta Zp68,x ; CPU:$ED6D PRG:2D6D 95 68
lda #$01 ; CPU:$ED6F PRG:2D6F A9 01
jmp $ED87 ; CPU:$ED71 PRG:2D71 4C 87 ED
; -----------------------------------------------------------------------------
; Routine: SubCED38_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED38_Block_1:
lda #$10 ; CPU:$ED74 PRG:2D74 A9 10
sta Zp40 ; CPU:$ED76 PRG:2D76 85 40
lda #$00 ; CPU:$ED78 PRG:2D78 A9 00
ldx ZpAE ; CPU:$ED7A PRG:2D7A A6 AE
sta ZpE0,x ; CPU:$ED7C PRG:2D7C 95 E0
sta ZpDB,x ; CPU:$ED7E PRG:2D7E 95 DB
lda #$01 ; CPU:$ED80 PRG:2D80 A9 01
jmp $ED87 ; CPU:$ED82 PRG:2D82 4C 87 ED
; -----------------------------------------------------------------------------
; Routine: SubCED38_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED38_Block_2:
lda #$00 ; CPU:$ED85 PRG:2D85 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCED87
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED87:
sta ZpBF ; CPU:$ED87 PRG:2D87 85 BF
rts ; CPU:$ED89 PRG:2D89 60
; -----------------------------------------------------------------------------
; Routine: SubCED8A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED8A:
lda #$00 ; CPU:$ED8A PRG:2D8A A9 00
sta ZpAE ; CPU:$ED8C PRG:2D8C 85 AE
lda #$3A ; CPU:$ED8E PRG:2D8E A9 3A
jsr $C847 ; CPU:$ED90 PRG:2D90 20 47 C8
; -----------------------------------------------------------------------------
; Routine: SubCED93
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED93:
jsr $EFDD ; CPU:$ED93 PRG:2D93 20 DD EF
jsr $EAEC ; CPU:$ED96 PRG:2D96 20 EC EA
jsr $EFEF ; CPU:$ED99 PRG:2D99 20 EF EF
bne SubCED93_Block ; CPU:$ED9C PRG:2D9C D0 0F
inc ZpAE ; CPU:$ED9E PRG:2D9E E6 AE
lda ZpAE ; CPU:$EDA0 PRG:2DA0 A5 AE
ldx Zp53 ; CPU:$EDA2 PRG:2DA2 A6 53
dex ; CPU:$EDA4 PRG:2DA4 CA
cmp $C1F6,x ; CPU:$EDA5 PRG:2DA5 DD F6 C1
beq SubCED93_Block_1 ; CPU:$EDA8 PRG:2DA8 F0 0B
jmp $ED93 ; CPU:$EDAA PRG:2DAA 4C 93 ED
; -----------------------------------------------------------------------------
; Routine: SubCED93_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED93_Block:
jsr $EF51 ; CPU:$EDAD PRG:2DAD 20 51 EF
lda #$FF ; CPU:$EDB0 PRG:2DB0 A9 FF
sta Zp96 ; CPU:$EDB2 PRG:2DB2 85 96
rts ; CPU:$EDB4 PRG:2DB4 60
; -----------------------------------------------------------------------------
; Routine: SubCED93_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED93_Block_1:
lda Zp96 ; CPU:$EDB5 PRG:2DB5 A5 96
cmp #$0A ; CPU:$EDB7 PRG:2DB7 C9 0A
bne SubCED93_Block_2 ; CPU:$EDB9 PRG:2DB9 D0 09
lda Zp53 ; CPU:$EDBB PRG:2DBB A5 53
cmp #$01 ; CPU:$EDBD PRG:2DBD C9 01
beq SubCED93_Block_2 ; CPU:$EDBF PRG:2DBF F0 03
jsr $ECBF ; CPU:$EDC1 PRG:2DC1 20 BF EC
; -----------------------------------------------------------------------------
; Routine: SubCED93_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED93_Block_2:
rts ; CPU:$EDC4 PRG:2DC4 60
; -----------------------------------------------------------------------------
; Routine: SubCEDC5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEDC5:
lda Zp53 ; CPU:$EDC5 PRG:2DC5 A5 53
cmp #$03 ; CPU:$EDC7 PRG:2DC7 C9 03
bne SubCEDC5_Block ; CPU:$EDC9 PRG:2DC9 D0 07
ldy Zp96 ; CPU:$EDCB PRG:2DCB A4 96
cpy #$01 ; CPU:$EDCD PRG:2DCD C0 01
beq SubCEDC5_Block ; CPU:$EDCF PRG:2DCF F0 01
rts ; CPU:$EDD1 PRG:2DD1 60
; -----------------------------------------------------------------------------
; Routine: SubCEDC5_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEDC5_Block:
sec ; CPU:$EDD2 PRG:2DD2 38
sbc #$01 ; CPU:$EDD3 PRG:2DD3 E9 01
asl a ; CPU:$EDD5 PRG:2DD5 0A
tax ; CPU:$EDD6 PRG:2DD6 AA
lda $C42B,x ; CPU:$EDD7 PRG:2DD7 BD 2B C4
sta Zp02 ; CPU:$EDDA PRG:2DDA 85 02
lda $C42C,x ; CPU:$EDDC PRG:2DDC BD 2C C4
sta Zp03 ; CPU:$EDDF PRG:2DDF 85 03
lda $C423,x ; CPU:$EDE1 PRG:2DE1 BD 23 C4
sta Zp00 ; CPU:$EDE4 PRG:2DE4 85 00
lda $C424,x ; CPU:$EDE6 PRG:2DE6 BD 24 C4
sta Zp01 ; CPU:$EDE9 PRG:2DE9 85 01
; -----------------------------------------------------------------------------
; Routine: SubCEDEB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEDEB:
jsr $EFEF ; CPU:$EDEB PRG:2DEB 20 EF EF
bne SubCEDEB_Block ; CPU:$EDEE PRG:2DEE D0 17
lda Zp53 ; CPU:$EDF0 PRG:2DF0 A5 53
cmp #$03 ; CPU:$EDF2 PRG:2DF2 C9 03
bne SubCEDEB_Block_1 ; CPU:$EDF4 PRG:2DF4 D0 15
lda Zp01 ; CPU:$EDF6 PRG:2DF6 A5 01
cmp #$C9 ; CPU:$EDF8 PRG:2DF8 C9 C9
beq SubCEDEB_Block_1 ; CPU:$EDFA PRG:2DFA F0 0F
lda #$70 ; CPU:$EDFC PRG:2DFC A9 70
sta Zp00 ; CPU:$EDFE PRG:2DFE 85 00
lda #$C9 ; CPU:$EE00 PRG:2E00 A9 C9
sta Zp01 ; CPU:$EE02 PRG:2E02 85 01
jmp $EDEB ; CPU:$EE04 PRG:2E04 4C EB ED
; -----------------------------------------------------------------------------
; Routine: SubCEDEB_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEDEB_Block:
lda #$FF ; CPU:$EE07 PRG:2E07 A9 FF
sta Zp96 ; CPU:$EE09 PRG:2E09 85 96
; -----------------------------------------------------------------------------
; Routine: SubCEDEB_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEDEB_Block_1:
rts ; CPU:$EE0B PRG:2E0B 60
; -----------------------------------------------------------------------------
; Routine: SubCEE0C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE0C:
lda #$80 ; CPU:$EE0C PRG:2E0C A9 80
sta Zp0A ; CPU:$EE0E PRG:2E0E 85 0A
lda #$80 ; CPU:$EE10 PRG:2E10 A9 80
sta Zp0B ; CPU:$EE12 PRG:2E12 85 0B
jsr $DFE4 ; CPU:$EE14 PRG:2E14 20 E4 DF
bne SubCEE0C_Block ; CPU:$EE17 PRG:2E17 D0 01
rts ; CPU:$EE19 PRG:2E19 60
; -----------------------------------------------------------------------------
; Routine: SubCEE0C_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE0C_Block:
lda Zp53 ; CPU:$EE1A PRG:2E1A A5 53
cmp #$01 ; CPU:$EE1C PRG:2E1C C9 01
bne SubCEE0C_Block_1 ; CPU:$EE1E PRG:2E1E D0 06
jsr $EFD5 ; CPU:$EE20 PRG:2E20 20 D5 EF
jmp $EE29 ; CPU:$EE23 PRG:2E23 4C 29 EE
; -----------------------------------------------------------------------------
; Routine: SubCEE0C_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE0C_Block_1:
jsr $EFDD ; CPU:$EE26 PRG:2E26 20 DD EF
; -----------------------------------------------------------------------------
; Routine: SubCEE29
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE29:
stx Zp04 ; CPU:$EE29 PRG:2E29 86 04
jsr $EAEC ; CPU:$EE2B PRG:2E2B 20 EC EA
lda ZpBF ; CPU:$EE2E PRG:2E2E A5 BF
cmp #$01 ; CPU:$EE30 PRG:2E30 C9 01
bne SubCEE29_Block ; CPU:$EE32 PRG:2E32 D0 04
ldy #$02 ; CPU:$EE34 PRG:2E34 A0 02
sty ZpFF ; CPU:$EE36 PRG:2E36 84 FF
; -----------------------------------------------------------------------------
; Routine: SubCEE29_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE29_Block:
cmp #$0B ; CPU:$EE38 PRG:2E38 C9 0B
beq SubCEE29_Block_1 ; CPU:$EE3A PRG:2E3A F0 15
ldx ZpBF ; CPU:$EE3C PRG:2E3C A6 BF
dex ; CPU:$EE3E PRG:2E3E CA
lda $C1EC,x ; CPU:$EE3F PRG:2E3F BD EC C1
sta Zp02 ; CPU:$EE42 PRG:2E42 85 02
jsr $EADB ; CPU:$EE44 PRG:2E44 20 DB EA
ldx Zp04 ; CPU:$EE47 PRG:2E47 A6 04
lda #$02 ; CPU:$EE49 PRG:2E49 A9 02
jsr $EE6C ; CPU:$EE4B PRG:2E4B 20 6C EE
inc ZpBF ; CPU:$EE4E PRG:2E4E E6 BF
rts ; CPU:$EE50 PRG:2E50 60
; -----------------------------------------------------------------------------
; Routine: SubCEE29_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE29_Block_1:
lda Zp53 ; CPU:$EE51 PRG:2E51 A5 53
cmp #$01 ; CPU:$EE53 PRG:2E53 C9 01
bne SubCEE29_Block_2 ; CPU:$EE55 PRG:2E55 D0 05
lda #$03 ; CPU:$EE57 PRG:2E57 A9 03
jsr $EE6C ; CPU:$EE59 PRG:2E59 20 6C EE
; -----------------------------------------------------------------------------
; Routine: SubCEE29_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE29_Block_2:
jsr $EAD1 ; CPU:$EE5C PRG:2E5C 20 D1 EA
jsr $F094 ; CPU:$EE5F PRG:2E5F 20 94 F0
ldx #$02 ; CPU:$EE62 PRG:2E62 A2 02
jsr $CFC6 ; CPU:$EE64 PRG:2E64 20 C6 CF
lda #$00 ; CPU:$EE67 PRG:2E67 A9 00
sta ZpBF ; CPU:$EE69 PRG:2E69 85 BF
rts ; CPU:$EE6B PRG:2E6B 60
; -----------------------------------------------------------------------------
; Routine: SetSpriteAttributes
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteAttributes:
sta $0202,x ; CPU:$EE6C PRG:2E6C 9D 02 02
sta $0206,x ; CPU:$EE6F PRG:2E6F 9D 06 02
sta $020A,x ; CPU:$EE72 PRG:2E72 9D 0A 02
sta $020E,x ; CPU:$EE75 PRG:2E75 9D 0E 02
rts ; CPU:$EE78 PRG:2E78 60
; -----------------------------------------------------------------------------
; Routine: CheckPlayerCollision
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckPlayerCollision:
ldy Zp53 ; CPU:$EE79 PRG:2E79 A4 53
cpy #$01 ; CPU:$EE7B PRG:2E7B C0 01
bne CheckPlayerCollision_Block ; CPU:$EE7D PRG:2E7D D0 01
rts ; CPU:$EE7F PRG:2E7F 60
; -----------------------------------------------------------------------------
; Routine: CheckPlayerCollision_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckPlayerCollision_Block:
lda ZpBE ; CPU:$EE80 PRG:2E80 A5 BE
beq SubCEE8D_Block ; CPU:$EE82 PRG:2E82 F0 54
cpy #$04 ; CPU:$EE84 PRG:2E84 C0 04
bne SubCEE8D_Block_4 ; CPU:$EE86 PRG:2E86 D0 68
ldy #$00 ; CPU:$EE88 PRG:2E88 A0 00
ldx $C5FF ; CPU:$EE8A PRG:2E8A AE FF C5
; -----------------------------------------------------------------------------
; Routine: SubCEE8D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE8D:
lda $C5C2,x ; CPU:$EE8D PRG:2E8D BD C2 C5
cmp $0203 ; CPU:$EE90 PRG:2E90 CD 03 02
bne SubCEE8D_Block_3 ; CPU:$EE93 PRG:2E93 D0 52
lda $C5AE,x ; CPU:$EE95 PRG:2E95 BD AE C5
cmp $0200 ; CPU:$EE98 PRG:2E98 CD 00 02
bcc SubCEE8D_Block_3 ; CPU:$EE9B PRG:2E9B 90 4A
sec ; CPU:$EE9D PRG:2E9D 38
sbc #$11 ; CPU:$EE9E PRG:2E9E E9 11
cmp $0200 ; CPU:$EEA0 PRG:2EA0 CD 00 02
bcs SubCEE8D_Block_3 ; CPU:$EEA3 PRG:2EA3 B0 42
lda a:ZpC1,y ; CPU:$EEA5 PRG:2EA5 B9 C1 00
cmp #$00 ; CPU:$EEA8 PRG:2EA8 C9 00
bne SubCEE8D_Block_1 ; CPU:$EEAA PRG:2EAA D0 2D
lda Zp96 ; CPU:$EEAC PRG:2EAC A5 96
cmp #$08 ; CPU:$EEAE PRG:2EAE C9 08
beq SubCEE8D_Block ; CPU:$EEB0 PRG:2EB0 F0 26
cmp #$FF ; CPU:$EEB2 PRG:2EB2 C9 FF
beq SubCEE8D_Block ; CPU:$EEB4 PRG:2EB4 F0 22
lda #$11 ; CPU:$EEB6 PRG:2EB6 A9 11
sta ZpCC ; CPU:$EEB8 PRG:2EB8 85 CC
lda #$01 ; CPU:$EEBA PRG:2EBA A9 01
sta a:ZpC1,y ; CPU:$EEBC PRG:2EBC 99 C1 00
jsr $EF38 ; CPU:$EEBF PRG:2EBF 20 38 EF
lda $0200 ; CPU:$EEC2 PRG:2EC2 AD 00 02
clc ; CPU:$EEC5 PRG:2EC5 18
adc #$10 ; CPU:$EEC6 PRG:2EC6 69 10
sta Zp06 ; CPU:$EEC8 PRG:2EC8 85 06
lda $0203 ; CPU:$EECA PRG:2ECA AD 03 02
sta Zp05 ; CPU:$EECD PRG:2ECD 85 05
ldx #$00 ; CPU:$EECF PRG:2ECF A2 00
jsr $CFC6 ; CPU:$EED1 PRG:2ED1 20 C6 CF
lda #$20 ; CPU:$EED4 PRG:2ED4 A9 20
sta ZpFD ; CPU:$EED6 PRG:2ED6 85 FD
; -----------------------------------------------------------------------------
; Routine: SubCEE8D_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE8D_Block:
rts ; CPU:$EED8 PRG:2ED8 60
; -----------------------------------------------------------------------------
; Routine: SubCEE8D_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE8D_Block_1:
lda Zp96 ; CPU:$EED9 PRG:2ED9 A5 96
cmp #$04 ; CPU:$EEDB PRG:2EDB C9 04
beq SubCEE8D_Block_2 ; CPU:$EEDD PRG:2EDD F0 07
jsr $EF51 ; CPU:$EEDF PRG:2EDF 20 51 EF
lda #$08 ; CPU:$EEE2 PRG:2EE2 A9 08
sta Zp96 ; CPU:$EEE4 PRG:2EE4 85 96
; -----------------------------------------------------------------------------
; Routine: SubCEE8D_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE8D_Block_2:
rts ; CPU:$EEE6 PRG:2EE6 60
; -----------------------------------------------------------------------------
; Routine: SubCEE8D_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE8D_Block_3:
cpy #$07 ; CPU:$EEE7 PRG:2EE7 C0 07
beq SubCEE8D_Block_4 ; CPU:$EEE9 PRG:2EE9 F0 05
inx ; CPU:$EEEB PRG:2EEB E8
iny ; CPU:$EEEC PRG:2EEC C8
jmp $EE8D ; CPU:$EEED PRG:2EED 4C 8D EE
; -----------------------------------------------------------------------------
; Routine: SubCEE8D_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE8D_Block_4:
ldy Zp53 ; CPU:$EEF0 PRG:2EF0 A4 53
ldx $C5FA,y ; CPU:$EEF2 PRG:2EF2 BE FA C5
ldy #$00 ; CPU:$EEF5 PRG:2EF5 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCEEF7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEEF7:
lda $C5AE,x ; CPU:$EEF7 PRG:2EF7 BD AE C5
cmp $0200 ; CPU:$EEFA PRG:2EFA CD 00 02
bne SubCEEF7_Block_1 ; CPU:$EEFD PRG:2EFD D0 30
lda $C5C2,x ; CPU:$EEFF PRG:2EFF BD C2 C5
cmp $0203 ; CPU:$EF02 PRG:2F02 CD 03 02
bne SubCEEF7_Block_1 ; CPU:$EF05 PRG:2F05 D0 28
lda a:$00C9,y ; CPU:$EF07 PRG:2F07 B9 C9 00
bne SubCEEF7_Block_1 ; CPU:$EF0A PRG:2F0A D0 23
lda #$22 ; CPU:$EF0C PRG:2F0C A9 22
sta ZpCC ; CPU:$EF0E PRG:2F0E 85 CC
lda #$01 ; CPU:$EF10 PRG:2F10 A9 01
sta a:$00C9,y ; CPU:$EF12 PRG:2F12 99 C9 00
jsr $EF38 ; CPU:$EF15 PRG:2F15 20 38 EF
lda $0200 ; CPU:$EF18 PRG:2F18 AD 00 02
sec ; CPU:$EF1B PRG:2F1B 38
sbc #$08 ; CPU:$EF1C PRG:2F1C E9 08
sta Zp06 ; CPU:$EF1E PRG:2F1E 85 06
lda $0203 ; CPU:$EF20 PRG:2F20 AD 03 02
sta Zp05 ; CPU:$EF23 PRG:2F23 85 05
ldx #$03 ; CPU:$EF25 PRG:2F25 A2 03
jsr $CFC6 ; CPU:$EF27 PRG:2F27 20 C6 CF
lda #$20 ; CPU:$EF2A PRG:2F2A A9 20
sta ZpFD ; CPU:$EF2C PRG:2F2C 85 FD
; -----------------------------------------------------------------------------
; Routine: SubCEEF7_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEEF7_Block:
rts ; CPU:$EF2E PRG:2F2E 60
; -----------------------------------------------------------------------------
; Routine: SubCEEF7_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEEF7_Block_1:
cpy #$02 ; CPU:$EF2F PRG:2F2F C0 02
beq SubCEEF7_Block ; CPU:$EF31 PRG:2F31 F0 FB
inx ; CPU:$EF33 PRG:2F33 E8
iny ; CPU:$EF34 PRG:2F34 C8
jmp $EEF7 ; CPU:$EF35 PRG:2F35 4C F7 EE
; -----------------------------------------------------------------------------
; Routine: SubCEF38
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF38:
lda #$24 ; CPU:$EF38 PRG:2F38 A9 24
sta ZpCD ; CPU:$EF3A PRG:2F3A 85 CD
sta ZpCE ; CPU:$EF3C PRG:2F3C 85 CE
sta ZpCF ; CPU:$EF3E PRG:2F3E 85 CF
sta ZpD0 ; CPU:$EF40 PRG:2F40 85 D0
lda $C5D6,x ; CPU:$EF42 PRG:2F42 BD D6 C5
sta Zp01 ; CPU:$EF45 PRG:2F45 85 01
lda $C5E9,x ; CPU:$EF47 PRG:2F47 BD E9 C5
sta Zp00 ; CPU:$EF4A PRG:2F4A 85 00
lda #$48 ; CPU:$EF4C PRG:2F4C A9 48
jmp $C815 ; CPU:$EF4E PRG:2F4E 4C 15 C8
; -----------------------------------------------------------------------------
; Routine: SubCEF51
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF51:
lda Zp96 ; CPU:$EF51 PRG:2F51 A5 96
cmp #$0A ; CPU:$EF53 PRG:2F53 C9 0A
bne SubCEF51_Block ; CPU:$EF55 PRG:2F55 D0 1A
lda ZpA0 ; CPU:$EF57 PRG:2F57 A5 A0
beq SubCEF51_Block ; CPU:$EF59 PRG:2F59 F0 16
sec ; CPU:$EF5B PRG:2F5B 38
sbc #$01 ; CPU:$EF5C PRG:2F5C E9 01
tax ; CPU:$EF5E PRG:2F5E AA
lda #$00 ; CPU:$EF5F PRG:2F5F A9 00
sta $0451,x ; CPU:$EF61 PRG:2F61 9D 51 04
txa ; CPU:$EF64 PRG:2F64 8A
asl a ; CPU:$EF65 PRG:2F65 0A
asl a ; CPU:$EF66 PRG:2F66 0A
asl a ; CPU:$EF67 PRG:2F67 0A
tax ; CPU:$EF68 PRG:2F68 AA
lda #$FF ; CPU:$EF69 PRG:2F69 A9 FF
sta $02D0,x ; CPU:$EF6B PRG:2F6B 9D D0 02
sta $02D4,x ; CPU:$EF6E PRG:2F6E 9D D4 02
; -----------------------------------------------------------------------------
; Routine: SubCEF51_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF51_Block:
rts ; CPU:$EF71 PRG:2F71 60
; -----------------------------------------------------------------------------
; Routine: SubCEF72
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF72:
stx Zp0F ; CPU:$EF72 PRG:2F72 86 0F
asl a ; CPU:$EF74 PRG:2F74 0A
tax ; CPU:$EF75 PRG:2F75 AA
lda $042C,x ; CPU:$EF76 PRG:2F76 BD 2C 04
bne SubCEF72_Block_1 ; CPU:$EF79 PRG:2F79 D0 19
sta $0436,x ; CPU:$EF7B PRG:2F7B 9D 36 04
cpx #$00 ; CPU:$EF7E PRG:2F7E E0 00
bne SubCEF72_Block ; CPU:$EF80 PRG:2F80 D0 05
lda #$08 ; CPU:$EF82 PRG:2F82 A9 08
jmp $EF89 ; CPU:$EF84 PRG:2F84 4C 89 EF
; -----------------------------------------------------------------------------
; Routine: SubCEF72_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF72_Block:
lda #$80 ; CPU:$EF87 PRG:2F87 A9 80
; -----------------------------------------------------------------------------
; Routine: SubCEF89
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF89:
sta $0435,x ; CPU:$EF89 PRG:2F89 9D 35 04
lda #$F0 ; CPU:$EF8C PRG:2F8C A9 F0
sta $042D,x ; CPU:$EF8E PRG:2F8E 9D 2D 04
jmp $EFAD ; CPU:$EF91 PRG:2F91 4C AD EF
; -----------------------------------------------------------------------------
; Routine: SubCEF72_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF72_Block_1:
lda $0435,x ; CPU:$EF94 PRG:2F94 BD 35 04
cpx #$00 ; CPU:$EF97 PRG:2F97 E0 00
bne SubCEF72_Block_2 ; CPU:$EF99 PRG:2F99 D0 05
adc #$10 ; CPU:$EF9B PRG:2F9B 69 10
jmp $EFA2 ; CPU:$EF9D PRG:2F9D 4C A2 EF
; -----------------------------------------------------------------------------
; Routine: SubCEF72_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF72_Block_2:
adc #$30 ; CPU:$EFA0 PRG:2FA0 69 30
; -----------------------------------------------------------------------------
; Routine: SubCEFA2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFA2:
sta $0435,x ; CPU:$EFA2 PRG:2FA2 9D 35 04
lda $0436,x ; CPU:$EFA5 PRG:2FA5 BD 36 04
adc #$00 ; CPU:$EFA8 PRG:2FA8 69 00
sta $0436,x ; CPU:$EFAA PRG:2FAA 9D 36 04
; -----------------------------------------------------------------------------
; Routine: SubCEFAD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFAD:
lda $042D,x ; CPU:$EFAD PRG:2FAD BD 2D 04
sec ; CPU:$EFB0 PRG:2FB0 38
sbc $043D,x ; CPU:$EFB1 PRG:2FB1 FD 3D 04
sta $042D,x ; CPU:$EFB4 PRG:2FB4 9D 2D 04
lda Zp01 ; CPU:$EFB7 PRG:2FB7 A5 01
sbc $043E,x ; CPU:$EFB9 PRG:2FB9 FD 3E 04
sta Zp01 ; CPU:$EFBC PRG:2FBC 85 01
clc ; CPU:$EFBE PRG:2FBE 18
lda $042D,x ; CPU:$EFBF PRG:2FBF BD 2D 04
adc $0435,x ; CPU:$EFC2 PRG:2FC2 7D 35 04
sta $042D,x ; CPU:$EFC5 PRG:2FC5 9D 2D 04
lda Zp01 ; CPU:$EFC8 PRG:2FC8 A5 01
adc $0436,x ; CPU:$EFCA PRG:2FCA 7D 36 04
sta Zp01 ; CPU:$EFCD PRG:2FCD 85 01
inc $042C,x ; CPU:$EFCF PRG:2FCF FE 2C 04
ldx Zp0F ; CPU:$EFD2 PRG:2FD2 A6 0F
rts ; CPU:$EFD4 PRG:2FD4 60
; -----------------------------------------------------------------------------
; Routine: ComputeOamOffsetFromZp5D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ComputeOamOffsetFromZp5D:
lda Zp5D ; CPU:$EFD5 PRG:2FD5 A5 5D
; -----------------------------------------------------------------------------
; Routine: SubCEFD7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFD7:
clc ; CPU:$EFD7 PRG:2FD7 18
adc #$03 ; CPU:$EFD8 PRG:2FD8 69 03
jmp $EFE2 ; CPU:$EFDA PRG:2FDA 4C E2 EF
; -----------------------------------------------------------------------------
; Routine: ComputeOamOffsetFromZpAE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ComputeOamOffsetFromZpAE:
lda ZpAE ; CPU:$EFDD PRG:2FDD A5 AE
clc ; CPU:$EFDF PRG:2FDF 18
adc #$01 ; CPU:$EFE0 PRG:2FE0 69 01
; -----------------------------------------------------------------------------
; Routine: ComputeOamOffset
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ComputeOamOffset:
asl a ; CPU:$EFE2 PRG:2FE2 0A
asl a ; CPU:$EFE3 PRG:2FE3 0A
asl a ; CPU:$EFE4 PRG:2FE4 0A
asl a ; CPU:$EFE5 PRG:2FE5 0A
tax ; CPU:$EFE6 PRG:2FE6 AA
rts ; CPU:$EFE7 PRG:2FE7 60
; -----------------------------------------------------------------------------
; Routine: LoadObjectRect
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LoadObjectRect:
jsr $C847 ; CPU:$EFE8 PRG:2FE8 20 47 C8
; -----------------------------------------------------------------------------
; Routine: SubCEFEB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFEB:
lda #$00 ; CPU:$EFEB PRG:2FEB A9 00
beq SubCEFF3_Block ; CPU:$EFED PRG:2FED F0 06
; -----------------------------------------------------------------------------
; Routine: CheckObjectOverlap
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckObjectOverlap:
lda #$01 ; CPU:$EFEF PRG:2FEF A9 01
bne SubCEFF3_Block ; CPU:$EFF1 PRG:2FF1 D0 02
; -----------------------------------------------------------------------------
; Routine: SubCEFF3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFF3:
lda #$02 ; CPU:$EFF3 PRG:2FF3 A9 02
; -----------------------------------------------------------------------------
; Routine: SubCEFF3_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFF3_Block:
sta Zp0C ; CPU:$EFF5 PRG:2FF5 85 0C
txa ; CPU:$EFF7 PRG:2FF7 8A
pha ; CPU:$EFF8 PRG:2FF8 48
tya ; CPU:$EFF9 PRG:2FF9 98
pha ; CPU:$EFFA PRG:2FFA 48
ldy #$00 ; CPU:$EFFB PRG:2FFB A0 00
lda Zp0C ; CPU:$EFFD PRG:2FFD A5 0C
bne SubCEFF3_Block_1 ; CPU:$EFFF PRG:2FFF D0 17
jsr $F063 ; CPU:$F001 PRG:3001 20 63 F0
sta Zp46 ; CPU:$F004 PRG:3004 85 46
jsr $F069 ; CPU:$F006 PRG:3006 20 69 F0
sta Zp47 ; CPU:$F009 PRG:3009 85 47
jsr $F062 ; CPU:$F00B PRG:300B 20 62 F0
sta Zp48 ; CPU:$F00E PRG:300E 85 48
jsr $F069 ; CPU:$F010 PRG:3010 20 69 F0
sta Zp49 ; CPU:$F013 PRG:3013 85 49
jmp $F059 ; CPU:$F015 PRG:3015 4C 59 F0
; -----------------------------------------------------------------------------
; Routine: SubCEFF3_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFF3_Block_1:
jsr $F063 ; CPU:$F018 PRG:3018 20 63 F0
sta Zp4A ; CPU:$F01B PRG:301B 85 4A
jsr $F069 ; CPU:$F01D PRG:301D 20 69 F0
sta Zp4B ; CPU:$F020 PRG:3020 85 4B
jsr $F062 ; CPU:$F022 PRG:3022 20 62 F0
sta Zp4C ; CPU:$F025 PRG:3025 85 4C
jsr $F069 ; CPU:$F027 PRG:3027 20 69 F0
sta Zp4D ; CPU:$F02A PRG:302A 85 4D
lda Zp4A ; CPU:$F02C PRG:302C A5 4A
sec ; CPU:$F02E PRG:302E 38
sbc Zp46 ; CPU:$F02F PRG:302F E5 46
sta Zp9C ; CPU:$F031 PRG:3031 85 9C
lda Zp4B ; CPU:$F033 PRG:3033 A5 4B
sec ; CPU:$F035 PRG:3035 38
sbc Zp47 ; CPU:$F036 PRG:3036 E5 47
sta Zp9D ; CPU:$F038 PRG:3038 85 9D
lda Zp49 ; CPU:$F03A PRG:303A A5 49
cmp Zp4B ; CPU:$F03C PRG:303C C5 4B
bcc SubCEFF3_Block_2 ; CPU:$F03E PRG:303E 90 17
lda Zp4D ; CPU:$F040 PRG:3040 A5 4D
cmp Zp47 ; CPU:$F042 PRG:3042 C5 47
bcc SubCEFF3_Block_2 ; CPU:$F044 PRG:3044 90 11
lda Zp4C ; CPU:$F046 PRG:3046 A5 4C
cmp Zp46 ; CPU:$F048 PRG:3048 C5 46
bcc SubCEFF3_Block_2 ; CPU:$F04A PRG:304A 90 0B
lda Zp48 ; CPU:$F04C PRG:304C A5 48
cmp Zp4A ; CPU:$F04E PRG:304E C5 4A
bcc SubCEFF3_Block_2 ; CPU:$F050 PRG:3050 90 05
lda #$01 ; CPU:$F052 PRG:3052 A9 01
jmp $F059 ; CPU:$F054 PRG:3054 4C 59 F0
; -----------------------------------------------------------------------------
; Routine: SubCEFF3_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFF3_Block_2:
lda #$00 ; CPU:$F057 PRG:3057 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCF059
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF059:
sta Zp0C ; CPU:$F059 PRG:3059 85 0C
pla ; CPU:$F05B PRG:305B 68
tay ; CPU:$F05C PRG:305C A8
pla ; CPU:$F05D PRG:305D 68
tax ; CPU:$F05E PRG:305E AA
lda Zp0C ; CPU:$F05F PRG:305F A5 0C
rts ; CPU:$F061 PRG:3061 60
; -----------------------------------------------------------------------------
; Routine: SubCF062
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF062:
iny ; CPU:$F062 PRG:3062 C8
; -----------------------------------------------------------------------------
; Routine: ReadPtrBytePlusZp00
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPtrBytePlusZp00:
lda (Zp02),y ; CPU:$F063 PRG:3063 B1 02
clc ; CPU:$F065 PRG:3065 18
adc Zp00 ; CPU:$F066 PRG:3066 65 00
rts ; CPU:$F068 PRG:3068 60
; -----------------------------------------------------------------------------
; Routine: ReadPtrBytePlusZp01
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadPtrBytePlusZp01:
iny ; CPU:$F069 PRG:3069 C8
lda (Zp02),y ; CPU:$F06A PRG:306A B1 02
clc ; CPU:$F06C PRG:306C 18
adc Zp01 ; CPU:$F06D PRG:306D 65 01
rts ; CPU:$F06F PRG:306F 60
; -----------------------------------------------------------------------------
; Routine: SubCF070
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF070:
sta Zp02 ; CPU:$F070 PRG:3070 85 02
jsr $EAE1 ; CPU:$F072 PRG:3072 20 E1 EA
; -----------------------------------------------------------------------------
; Routine: SubCF075
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF075:
jsr $EACD ; CPU:$F075 PRG:3075 20 CD EA
; -----------------------------------------------------------------------------
; Routine: DrawSpriteByMode
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteByMode:
lda Zp57 ; CPU:$F078 PRG:3078 A5 57
and #$03 ; CPU:$F07A PRG:307A 29 03
lsr a ; CPU:$F07C PRG:307C 4A
jmp $F096 ; CPU:$F07D PRG:307D 4C 96 F0
; -----------------------------------------------------------------------------
; Routine: SetSpriteDrawOffset
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteDrawOffset:
sta Zp04 ; CPU:$F080 PRG:3080 85 04
; -----------------------------------------------------------------------------
; Routine: DrawSpritePatternMode0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePatternMode0:
lda #$00 ; CPU:$F082 PRG:3082 A9 00
beq DrawSpritePattern ; CPU:$F084 PRG:3084 F0 10
; -----------------------------------------------------------------------------
; Routine: SetSpriteDrawOffsetMode1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteDrawOffsetMode1:
sta Zp04 ; CPU:$F086 PRG:3086 85 04
; -----------------------------------------------------------------------------
; Routine: DrawSpritePatternMode1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePatternMode1:
lda #$01 ; CPU:$F088 PRG:3088 A9 01
bne DrawSpritePattern ; CPU:$F08A PRG:308A D0 0A
; -----------------------------------------------------------------------------
; Routine: SetSpriteDrawOffsetMode4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpriteDrawOffsetMode4:
sta Zp04 ; CPU:$F08C PRG:308C 85 04
; -----------------------------------------------------------------------------
; Routine: DrawSpritePatternMode4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePatternMode4:
lda #$04 ; CPU:$F08E PRG:308E A9 04
bne DrawSpritePattern ; CPU:$F090 PRG:3090 D0 04
; -----------------------------------------------------------------------------
; Routine: SetSpritePatternParams
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SetSpritePatternParams:
sta Zp03 ; CPU:$F092 PRG:3092 85 03
; -----------------------------------------------------------------------------
; Routine: DrawSpritePatternMode15
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePatternMode15:
lda #$0F ; CPU:$F094 PRG:3094 A9 0F
; -----------------------------------------------------------------------------
; Routine: DrawSpritePattern
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePattern:
pha ; CPU:$F096 PRG:3096 48
sta Zp0F ; CPU:$F097 PRG:3097 85 0F
txa ; CPU:$F099 PRG:3099 8A
pha ; CPU:$F09A PRG:309A 48
tya ; CPU:$F09B PRG:309B 98
pha ; CPU:$F09C PRG:309C 48
lda Zp00 ; CPU:$F09D PRG:309D A5 00
pha ; CPU:$F09F PRG:309F 48
lda Zp05 ; CPU:$F0A0 PRG:30A0 A5 05
pha ; CPU:$F0A2 PRG:30A2 48
lda Zp06 ; CPU:$F0A3 PRG:30A3 A5 06
pha ; CPU:$F0A5 PRG:30A5 48
lda Zp07 ; CPU:$F0A6 PRG:30A6 A5 07
pha ; CPU:$F0A8 PRG:30A8 48
lda Zp08 ; CPU:$F0A9 PRG:30A9 A5 08
pha ; CPU:$F0AB PRG:30AB 48
lda Zp09 ; CPU:$F0AC PRG:30AC A5 09
pha ; CPU:$F0AE PRG:30AE 48
lda #$02 ; CPU:$F0AF PRG:30AF A9 02
sta Zp05 ; CPU:$F0B1 PRG:30B1 85 05
lda Zp0F ; CPU:$F0B3 PRG:30B3 A5 0F
cmp #$04 ; CPU:$F0B5 PRG:30B5 C9 04
beq DrawSpritePattern_Block_3 ; CPU:$F0B7 PRG:30B7 F0 36
lda #$0F ; CPU:$F0B9 PRG:30B9 A9 0F
and Zp03 ; CPU:$F0BB PRG:30BB 25 03
sta Zp07 ; CPU:$F0BD PRG:30BD 85 07
lda Zp03 ; CPU:$F0BF PRG:30BF A5 03
lsr a ; CPU:$F0C1 PRG:30C1 4A
lsr a ; CPU:$F0C2 PRG:30C2 4A
lsr a ; CPU:$F0C3 PRG:30C3 4A
lsr a ; CPU:$F0C4 PRG:30C4 4A
sta Zp06 ; CPU:$F0C5 PRG:30C5 85 06
tax ; CPU:$F0C7 PRG:30C7 AA
lda #$00 ; CPU:$F0C8 PRG:30C8 A9 00
clc ; CPU:$F0CA PRG:30CA 18
; -----------------------------------------------------------------------------
; Routine: DrawSpritePattern_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePattern_Block:
adc Zp07 ; CPU:$F0CB PRG:30CB 65 07
dex ; CPU:$F0CD PRG:30CD CA
bne DrawSpritePattern_Block ; CPU:$F0CE PRG:30CE D0 FB
sta Zp08 ; CPU:$F0D0 PRG:30D0 85 08
lda Zp0F ; CPU:$F0D2 PRG:30D2 A5 0F
bne DrawSpritePattern_Block_1 ; CPU:$F0D4 PRG:30D4 D0 06
jsr $F11E ; CPU:$F0D6 PRG:30D6 20 1E F1
jmp $F0E9 ; CPU:$F0D9 PRG:30D9 4C E9 F0
; -----------------------------------------------------------------------------
; Routine: DrawSpritePattern_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePattern_Block_1:
cmp #$01 ; CPU:$F0DC PRG:30DC C9 01
beq DrawSpritePattern_Block_2 ; CPU:$F0DE PRG:30DE F0 06
jsr $F195 ; CPU:$F0E0 PRG:30E0 20 95 F1
jmp $F0F2 ; CPU:$F0E3 PRG:30E3 4C F2 F0
; -----------------------------------------------------------------------------
; Routine: DrawSpritePattern_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePattern_Block_2:
jsr $F161 ; CPU:$F0E6 PRG:30E6 20 61 F1
; -----------------------------------------------------------------------------
; Routine: SubCF0E9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF0E9:
jsr $F139 ; CPU:$F0E9 PRG:30E9 20 39 F1
jmp $F0F2 ; CPU:$F0EC PRG:30EC 4C F2 F0
; -----------------------------------------------------------------------------
; Routine: DrawSpritePattern_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePattern_Block_3:
jsr $F10A ; CPU:$F0EF PRG:30EF 20 0A F1
; -----------------------------------------------------------------------------
; Routine: DrawSpritePatternReturn
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpritePatternReturn:
pla ; CPU:$F0F2 PRG:30F2 68
sta Zp09 ; CPU:$F0F3 PRG:30F3 85 09
pla ; CPU:$F0F5 PRG:30F5 68
sta Zp08 ; CPU:$F0F6 PRG:30F6 85 08
pla ; CPU:$F0F8 PRG:30F8 68
sta Zp07 ; CPU:$F0F9 PRG:30F9 85 07
pla ; CPU:$F0FB PRG:30FB 68
sta Zp06 ; CPU:$F0FC PRG:30FC 85 06
pla ; CPU:$F0FE PRG:30FE 68
sta Zp05 ; CPU:$F0FF PRG:30FF 85 05
pla ; CPU:$F101 PRG:3101 68
sta Zp00 ; CPU:$F102 PRG:3102 85 00
pla ; CPU:$F104 PRG:3104 68
tay ; CPU:$F105 PRG:3105 A8
pla ; CPU:$F106 PRG:3106 68
tax ; CPU:$F107 PRG:3107 AA
pla ; CPU:$F108 PRG:3108 68
rts ; CPU:$F109 PRG:3109 60
; -----------------------------------------------------------------------------
; Routine: HideSpriteRange
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HideSpriteRange:
ldx Zp03 ; CPU:$F10A PRG:310A A6 03
ldy #$00 ; CPU:$F10C PRG:310C A0 00
; -----------------------------------------------------------------------------
; Routine: HideSpriteRange_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HideSpriteRange_Block:
lda #$FF ; CPU:$F10E PRG:310E A9 FF
sta (Zp04),y ; CPU:$F110 PRG:3110 91 04
iny ; CPU:$F112 PRG:3112 C8
iny ; CPU:$F113 PRG:3113 C8
lda Zp02 ; CPU:$F114 PRG:3114 A5 02
sta (Zp04),y ; CPU:$F116 PRG:3116 91 04
iny ; CPU:$F118 PRG:3118 C8
iny ; CPU:$F119 PRG:3119 C8
dex ; CPU:$F11A PRG:311A CA
bne HideSpriteRange_Block ; CPU:$F11B PRG:311B D0 F1
rts ; CPU:$F11D PRG:311D 60
; -----------------------------------------------------------------------------
; Routine: DrawSpriteTileRun
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteTileRun:
lda Zp02 ; CPU:$F11E PRG:311E A5 02
ldx Zp08 ; CPU:$F120 PRG:3120 A6 08
ldy #$01 ; CPU:$F122 PRG:3122 A0 01
; -----------------------------------------------------------------------------
; Routine: DrawSpriteTileRun_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteTileRun_Block:
sta (Zp04),y ; CPU:$F124 PRG:3124 91 04
clc ; CPU:$F126 PRG:3126 18
adc #$01 ; CPU:$F127 PRG:3127 69 01
iny ; CPU:$F129 PRG:3129 C8
pha ; CPU:$F12A PRG:312A 48
lda (Zp04),y ; CPU:$F12B PRG:312B B1 04
and #$3F ; CPU:$F12D PRG:312D 29 3F
sta (Zp04),y ; CPU:$F12F PRG:312F 91 04
pla ; CPU:$F131 PRG:3131 68
iny ; CPU:$F132 PRG:3132 C8
iny ; CPU:$F133 PRG:3133 C8
iny ; CPU:$F134 PRG:3134 C8
dex ; CPU:$F135 PRG:3135 CA
bne DrawSpriteTileRun_Block ; CPU:$F136 PRG:3136 D0 EC
rts ; CPU:$F138 PRG:3138 60
; -----------------------------------------------------------------------------
; Routine: DrawSpriteGrid
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteGrid:
ldy #$00 ; CPU:$F139 PRG:3139 A0 00
; -----------------------------------------------------------------------------
; Routine: DrawSpriteGrid_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteGrid_Block:
ldx Zp06 ; CPU:$F13B PRG:313B A6 06
lda Zp01 ; CPU:$F13D PRG:313D A5 01
sta Zp09 ; CPU:$F13F PRG:313F 85 09
; -----------------------------------------------------------------------------
; Routine: DrawSpriteGrid_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteGrid_Block_1:
lda Zp09 ; CPU:$F141 PRG:3141 A5 09
sta (Zp04),y ; CPU:$F143 PRG:3143 91 04
clc ; CPU:$F145 PRG:3145 18
adc #$08 ; CPU:$F146 PRG:3146 69 08
sta Zp09 ; CPU:$F148 PRG:3148 85 09
iny ; CPU:$F14A PRG:314A C8
iny ; CPU:$F14B PRG:314B C8
iny ; CPU:$F14C PRG:314C C8
lda Zp00 ; CPU:$F14D PRG:314D A5 00
sta (Zp04),y ; CPU:$F14F PRG:314F 91 04
iny ; CPU:$F151 PRG:3151 C8
dex ; CPU:$F152 PRG:3152 CA
bne DrawSpriteGrid_Block_1 ; CPU:$F153 PRG:3153 D0 EC
lda Zp00 ; CPU:$F155 PRG:3155 A5 00
clc ; CPU:$F157 PRG:3157 18
adc #$08 ; CPU:$F158 PRG:3158 69 08
sta Zp00 ; CPU:$F15A PRG:315A 85 00
dec Zp07 ; CPU:$F15C PRG:315C C6 07
bne DrawSpriteGrid_Block ; CPU:$F15E PRG:315E D0 DB
rts ; CPU:$F160 PRG:3160 60
; -----------------------------------------------------------------------------
; Routine: DrawSpriteMaskedGrid
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteMaskedGrid:
ldy #$01 ; CPU:$F161 PRG:3161 A0 01
sty Zp0A ; CPU:$F163 PRG:3163 84 0A
lda Zp08 ; CPU:$F165 PRG:3165 A5 08
sec ; CPU:$F167 PRG:3167 38
sbc Zp06 ; CPU:$F168 PRG:3168 E5 06
; -----------------------------------------------------------------------------
; Routine: DrawSpriteMaskedGrid_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteMaskedGrid_Block:
tay ; CPU:$F16A PRG:316A A8
sta Zp0B ; CPU:$F16B PRG:316B 85 0B
ldx Zp06 ; CPU:$F16D PRG:316D A6 06
; -----------------------------------------------------------------------------
; Routine: DrawSpriteMaskedGrid_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawSpriteMaskedGrid_Block_1:
tya ; CPU:$F16F PRG:316F 98
pha ; CPU:$F170 PRG:3170 48
clc ; CPU:$F171 PRG:3171 18
tya ; CPU:$F172 PRG:3172 98
adc Zp02 ; CPU:$F173 PRG:3173 65 02
ldy Zp0A ; CPU:$F175 PRG:3175 A4 0A
sta (Zp04),y ; CPU:$F177 PRG:3177 91 04
iny ; CPU:$F179 PRG:3179 C8
lda (Zp04),y ; CPU:$F17A PRG:317A B1 04
and #$3F ; CPU:$F17C PRG:317C 29 3F
eor #$40 ; CPU:$F17E PRG:317E 49 40
sta (Zp04),y ; CPU:$F180 PRG:3180 91 04
iny ; CPU:$F182 PRG:3182 C8
iny ; CPU:$F183 PRG:3183 C8
iny ; CPU:$F184 PRG:3184 C8
sty Zp0A ; CPU:$F185 PRG:3185 84 0A
pla ; CPU:$F187 PRG:3187 68
tay ; CPU:$F188 PRG:3188 A8
iny ; CPU:$F189 PRG:3189 C8
dex ; CPU:$F18A PRG:318A CA
bne DrawSpriteMaskedGrid_Block_1 ; CPU:$F18B PRG:318B D0 E2
lda Zp0B ; CPU:$F18D PRG:318D A5 0B
sec ; CPU:$F18F PRG:318F 38
sbc Zp06 ; CPU:$F190 PRG:3190 E5 06
bpl DrawSpriteMaskedGrid_Block ; CPU:$F192 PRG:3192 10 D6
rts ; CPU:$F194 PRG:3194 60
; -----------------------------------------------------------------------------
; Routine: HideSpriteGrid
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HideSpriteGrid:
ldy #$00 ; CPU:$F195 PRG:3195 A0 00
; -----------------------------------------------------------------------------
; Routine: HideSpriteGrid_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HideSpriteGrid_Block:
ldx Zp06 ; CPU:$F197 PRG:3197 A6 06
lda Zp01 ; CPU:$F199 PRG:3199 A5 01
sta Zp09 ; CPU:$F19B PRG:319B 85 09
lda #$FF ; CPU:$F19D PRG:319D A9 FF
; -----------------------------------------------------------------------------
; Routine: HideSpriteGrid_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
HideSpriteGrid_Block_1:
sta (Zp04),y ; CPU:$F19F PRG:319F 91 04
iny ; CPU:$F1A1 PRG:31A1 C8
iny ; CPU:$F1A2 PRG:31A2 C8
iny ; CPU:$F1A3 PRG:31A3 C8
iny ; CPU:$F1A4 PRG:31A4 C8
dex ; CPU:$F1A5 PRG:31A5 CA
bne HideSpriteGrid_Block_1 ; CPU:$F1A6 PRG:31A6 D0 F7
lda Zp00 ; CPU:$F1A8 PRG:31A8 A5 00
clc ; CPU:$F1AA PRG:31AA 18
adc #$08 ; CPU:$F1AB PRG:31AB 69 08
sta Zp00 ; CPU:$F1AD PRG:31AD 85 00
dec Zp07 ; CPU:$F1AF PRG:31AF C6 07
bne HideSpriteGrid_Block ; CPU:$F1B1 PRG:31B1 D0 E4
rts ; CPU:$F1B3 PRG:31B3 60
; -----------------------------------------------------------------------------
; Routine: ClearNametable
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ClearNametable:
lda PPUSTATUS ; CPU:$F1B4 PRG:31B4 AD 02 20
lda Zp10 ; CPU:$F1B7 PRG:31B7 A5 10
and #$FB ; CPU:$F1B9 PRG:31B9 29 FB
sta PPUCTRL ; CPU:$F1BB PRG:31BB 8D 00 20
lda #$20 ; CPU:$F1BE PRG:31BE A9 20
sta PPUADDR ; CPU:$F1C0 PRG:31C0 8D 06 20
lda #$00 ; CPU:$F1C3 PRG:31C3 A9 00
sta PPUADDR ; CPU:$F1C5 PRG:31C5 8D 06 20
ldx #$04 ; CPU:$F1C8 PRG:31C8 A2 04
ldy #$00 ; CPU:$F1CA PRG:31CA A0 00
lda #$24 ; CPU:$F1CC PRG:31CC A9 24
; -----------------------------------------------------------------------------
; Routine: ClearNametable_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ClearNametable_Block:
sta PPUDATA ; CPU:$F1CE PRG:31CE 8D 07 20
dey ; CPU:$F1D1 PRG:31D1 88
bne ClearNametable_Block ; CPU:$F1D2 PRG:31D2 D0 FA
dex ; CPU:$F1D4 PRG:31D4 CA
bne ClearNametable_Block ; CPU:$F1D5 PRG:31D5 D0 F7
lda #$23 ; CPU:$F1D7 PRG:31D7 A9 23
sta PPUADDR ; CPU:$F1D9 PRG:31D9 8D 06 20
lda #$C0 ; CPU:$F1DC PRG:31DC A9 C0
sta PPUADDR ; CPU:$F1DE PRG:31DE 8D 06 20
ldy #$40 ; CPU:$F1E1 PRG:31E1 A0 40
lda #$00 ; CPU:$F1E3 PRG:31E3 A9 00
; -----------------------------------------------------------------------------
; Routine: ClearNametable_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ClearNametable_Block_1:
sta PPUDATA ; CPU:$F1E5 PRG:31E5 8D 07 20
dey ; CPU:$F1E8 PRG:31E8 88
bne ClearNametable_Block_1 ; CPU:$F1E9 PRG:31E9 D0 FA
rts ; CPU:$F1EB PRG:31EB 60
; -----------------------------------------------------------------------------
; Routine: FlushPpuBuffer_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FlushPpuBuffer_Block:
sta PPUADDR ; CPU:$F1EC PRG:31EC 8D 06 20
iny ; CPU:$F1EF PRG:31EF C8
lda (Zp00),y ; CPU:$F1F0 PRG:31F0 B1 00
sta PPUADDR ; CPU:$F1F2 PRG:31F2 8D 06 20
iny ; CPU:$F1F5 PRG:31F5 C8
lda (Zp00),y ; CPU:$F1F6 PRG:31F6 B1 00
asl a ; CPU:$F1F8 PRG:31F8 0A
pha ; CPU:$F1F9 PRG:31F9 48
lda Zp10 ; CPU:$F1FA PRG:31FA A5 10
ora #$04 ; CPU:$F1FC PRG:31FC 09 04
bcs FlushPpuBuffer_Block_1 ; CPU:$F1FE PRG:31FE B0 02
and #$FB ; CPU:$F200 PRG:3200 29 FB
; -----------------------------------------------------------------------------
; Routine: FlushPpuBuffer_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FlushPpuBuffer_Block_1:
sta PPUCTRL ; CPU:$F202 PRG:3202 8D 00 20
sta Zp10 ; CPU:$F205 PRG:3205 85 10
pla ; CPU:$F207 PRG:3207 68
asl a ; CPU:$F208 PRG:3208 0A
bcc FlushPpuBuffer_Block_2 ; CPU:$F209 PRG:3209 90 03
ora #$02 ; CPU:$F20B PRG:320B 09 02
iny ; CPU:$F20D PRG:320D C8
; -----------------------------------------------------------------------------
; Routine: FlushPpuBuffer_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FlushPpuBuffer_Block_2:
lsr a ; CPU:$F20E PRG:320E 4A
lsr a ; CPU:$F20F PRG:320F 4A
tax ; CPU:$F210 PRG:3210 AA
; -----------------------------------------------------------------------------
; Routine: FlushPpuBuffer_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FlushPpuBuffer_Block_3:
bcs FlushPpuBuffer_Block_4 ; CPU:$F211 PRG:3211 B0 01
iny ; CPU:$F213 PRG:3213 C8
; -----------------------------------------------------------------------------
; Routine: FlushPpuBuffer_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FlushPpuBuffer_Block_4:
lda (Zp00),y ; CPU:$F214 PRG:3214 B1 00
sta PPUDATA ; CPU:$F216 PRG:3216 8D 07 20
dex ; CPU:$F219 PRG:3219 CA
bne FlushPpuBuffer_Block_3 ; CPU:$F21A PRG:321A D0 F5
sec ; CPU:$F21C PRG:321C 38
tya ; CPU:$F21D PRG:321D 98
adc Zp00 ; CPU:$F21E PRG:321E 65 00
sta Zp00 ; CPU:$F220 PRG:3220 85 00
lda #$00 ; CPU:$F222 PRG:3222 A9 00
adc Zp01 ; CPU:$F224 PRG:3224 65 01
sta Zp01 ; CPU:$F226 PRG:3226 85 01
; -----------------------------------------------------------------------------
; Routine: FlushPpuBuffer
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FlushPpuBuffer:
ldx PPUSTATUS ; CPU:$F228 PRG:3228 AE 02 20
ldy #$00 ; CPU:$F22B PRG:322B A0 00
lda (Zp00),y ; CPU:$F22D PRG:322D B1 00
bne FlushPpuBuffer_Block ; CPU:$F22F PRG:322F D0 BB
lda Zp12 ; CPU:$F231 PRG:3231 A5 12
sta PPUSCROLL ; CPU:$F233 PRG:3233 8D 05 20
lda Zp13 ; CPU:$F236 PRG:3236 A5 13
sta PPUSCROLL ; CPU:$F238 PRG:3238 8D 05 20
rts ; CPU:$F23B PRG:323B 60
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlocks
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlocks:
cld ; CPU:$F23C PRG:323C D8
lda #$04 ; CPU:$F23D PRG:323D A9 04
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlocks_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlocks_Block:
lsr Zp00 ; CPU:$F23F PRG:323F 46 00
bcc DrawLevelBlocks_Block_1 ; CPU:$F241 PRG:3241 90 05
pha ; CPU:$F243 PRG:3243 48
jsr $F24E ; CPU:$F244 PRG:3244 20 4E F2
pla ; CPU:$F247 PRG:3247 68
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlocks_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlocks_Block_1:
clc ; CPU:$F248 PRG:3248 18
sbc #$00 ; CPU:$F249 PRG:3249 E9 00
bpl DrawLevelBlocks_Block ; CPU:$F24B PRG:324B 10 F2
rts ; CPU:$F24D PRG:324D 60
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock:
asl a ; CPU:$F24E PRG:324E 0A
asl a ; CPU:$F24F PRG:324F 0A
tay ; CPU:$F250 PRG:3250 A8
sta Zp01 ; CPU:$F251 PRG:3251 85 01
ldx $0330 ; CPU:$F253 PRG:3253 AE 30 03
lda $C000,y ; CPU:$F256 PRG:3256 B9 00 C0
sta $0331,x ; CPU:$F259 PRG:3259 9D 31 03
jsr $F32D ; CPU:$F25C PRG:325C 20 2D F3
iny ; CPU:$F25F PRG:325F C8
lda $C000,y ; CPU:$F260 PRG:3260 B9 00 C0
sta $0331,x ; CPU:$F263 PRG:3263 9D 31 03
jsr $F32D ; CPU:$F266 PRG:3266 20 2D F3
iny ; CPU:$F269 PRG:3269 C8
lda $C000,y ; CPU:$F26A PRG:326A B9 00 C0
and #$87 ; CPU:$F26D PRG:326D 29 87
sta $0331,x ; CPU:$F26F PRG:326F 9D 31 03
and #$07 ; CPU:$F272 PRG:3272 29 07
sta Zp02 ; CPU:$F274 PRG:3274 85 02
txa ; CPU:$F276 PRG:3276 8A
sec ; CPU:$F277 PRG:3277 38
adc Zp02 ; CPU:$F278 PRG:3278 65 02
jsr $F32F ; CPU:$F27A PRG:327A 20 2F F3
tax ; CPU:$F27D PRG:327D AA
stx $0330 ; CPU:$F27E PRG:327E 8E 30 03
lda #$00 ; CPU:$F281 PRG:3281 A9 00
sta $0331,x ; CPU:$F283 PRG:3283 9D 31 03
iny ; CPU:$F286 PRG:3286 C8
lda $C000,y ; CPU:$F287 PRG:3287 B9 00 C0
sta Zp03 ; CPU:$F28A PRG:328A 85 03
dex ; CPU:$F28C PRG:328C CA
clc ; CPU:$F28D PRG:328D 18
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block:
lda a:Zp20,y ; CPU:$F28E PRG:328E B9 20 00
and #$0F ; CPU:$F291 PRG:3291 29 0F
beq DrawLevelBlock_Block_1 ; CPU:$F293 PRG:3293 F0 01
clc ; CPU:$F295 PRG:3295 18
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_1:
bcc DrawLevelBlock_Block_2 ; CPU:$F296 PRG:3296 90 02
lda #$24 ; CPU:$F298 PRG:3298 A9 24
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_2:
sta $0331,x ; CPU:$F29A PRG:329A 9D 31 03
dex ; CPU:$F29D PRG:329D CA
dec Zp02 ; CPU:$F29E PRG:329E C6 02
beq DrawLevelBlock_Block_6 ; CPU:$F2A0 PRG:32A0 F0 22
lda a:Zp20,y ; CPU:$F2A2 PRG:32A2 B9 20 00
and #$F0 ; CPU:$F2A5 PRG:32A5 29 F0
php ; CPU:$F2A7 PRG:32A7 08
lsr a ; CPU:$F2A8 PRG:32A8 4A
lsr a ; CPU:$F2A9 PRG:32A9 4A
lsr a ; CPU:$F2AA PRG:32AA 4A
lsr a ; CPU:$F2AB PRG:32AB 4A
plp ; CPU:$F2AC PRG:32AC 28
beq DrawLevelBlock_Block_3 ; CPU:$F2AD PRG:32AD F0 01
clc ; CPU:$F2AF PRG:32AF 18
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_3:
bcc DrawLevelBlock_Block_4 ; CPU:$F2B0 PRG:32B0 90 02
lda #$24 ; CPU:$F2B2 PRG:32B2 A9 24
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_4:
sta $0331,x ; CPU:$F2B4 PRG:32B4 9D 31 03
lda Zp03 ; CPU:$F2B7 PRG:32B7 A5 03
and #$01 ; CPU:$F2B9 PRG:32B9 29 01
beq DrawLevelBlock_Block_5 ; CPU:$F2BB PRG:32BB F0 01
sec ; CPU:$F2BD PRG:32BD 38
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_5:
dey ; CPU:$F2BE PRG:32BE 88
dex ; CPU:$F2BF PRG:32BF CA
dec Zp02 ; CPU:$F2C0 PRG:32C0 C6 02
bne DrawLevelBlock_Block ; CPU:$F2C2 PRG:32C2 D0 CA
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_6:
lda Zp03 ; CPU:$F2C4 PRG:32C4 A5 03
and #$10 ; CPU:$F2C6 PRG:32C6 29 10
beq DrawLevelBlock_Block_7 ; CPU:$F2C8 PRG:32C8 F0 0C
inx ; CPU:$F2CA PRG:32CA E8
ldy Zp01 ; CPU:$F2CB PRG:32CB A4 01
clc ; CPU:$F2CD PRG:32CD 18
lda a:Zp20,y ; CPU:$F2CE PRG:32CE B9 20 00
adc #$37 ; CPU:$F2D1 PRG:32D1 69 37
sta $0331,x ; CPU:$F2D3 PRG:32D3 9D 31 03
; -----------------------------------------------------------------------------
; Routine: DrawLevelBlock_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawLevelBlock_Block_7:
rts ; CPU:$F2D6 PRG:32D6 60
; -----------------------------------------------------------------------------
; Routine: DrawVramBlock
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawVramBlock:
ldy #$00 ; CPU:$F2D7 PRG:32D7 A0 00
lda (Zp02),y ; CPU:$F2D9 PRG:32D9 B1 02
and #$0F ; CPU:$F2DB PRG:32DB 29 0F
sta Zp05 ; CPU:$F2DD PRG:32DD 85 05
lda (Zp02),y ; CPU:$F2DF PRG:32DF B1 02
lsr a ; CPU:$F2E1 PRG:32E1 4A
lsr a ; CPU:$F2E2 PRG:32E2 4A
lsr a ; CPU:$F2E3 PRG:32E3 4A
lsr a ; CPU:$F2E4 PRG:32E4 4A
sta Zp04 ; CPU:$F2E5 PRG:32E5 85 04
ldx $0330 ; CPU:$F2E7 PRG:32E7 AE 30 03
; -----------------------------------------------------------------------------
; Routine: DrawVramBlock_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawVramBlock_Block:
lda Zp01 ; CPU:$F2EA PRG:32EA A5 01
sta $0331,x ; CPU:$F2EC PRG:32EC 9D 31 03
jsr $F32D ; CPU:$F2EF PRG:32EF 20 2D F3
lda Zp00 ; CPU:$F2F2 PRG:32F2 A5 00
sta $0331,x ; CPU:$F2F4 PRG:32F4 9D 31 03
jsr $F32D ; CPU:$F2F7 PRG:32F7 20 2D F3
lda Zp04 ; CPU:$F2FA PRG:32FA A5 04
sta Zp06 ; CPU:$F2FC PRG:32FC 85 06
ora #$80 ; CPU:$F2FE PRG:32FE 09 80
sta $0331,x ; CPU:$F300 PRG:3300 9D 31 03
; -----------------------------------------------------------------------------
; Routine: DrawVramBlock_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DrawVramBlock_Block_1:
jsr $F32D ; CPU:$F303 PRG:3303 20 2D F3
iny ; CPU:$F306 PRG:3306 C8
lda (Zp02),y ; CPU:$F307 PRG:3307 B1 02
sta $0331,x ; CPU:$F309 PRG:3309 9D 31 03
dec Zp06 ; CPU:$F30C PRG:330C C6 06
bne DrawVramBlock_Block_1 ; CPU:$F30E PRG:330E D0 F3
jsr $F32D ; CPU:$F310 PRG:3310 20 2D F3
clc ; CPU:$F313 PRG:3313 18
lda #$01 ; CPU:$F314 PRG:3314 A9 01
adc Zp00 ; CPU:$F316 PRG:3316 65 00
sta Zp00 ; CPU:$F318 PRG:3318 85 00
lda #$00 ; CPU:$F31A PRG:331A A9 00
adc Zp01 ; CPU:$F31C PRG:331C 65 01
sta Zp01 ; CPU:$F31E PRG:331E 85 01
stx $0330 ; CPU:$F320 PRG:3320 8E 30 03
dec Zp05 ; CPU:$F323 PRG:3323 C6 05
bne DrawVramBlock_Block ; CPU:$F325 PRG:3325 D0 C3
lda #$00 ; CPU:$F327 PRG:3327 A9 00
sta $0331,x ; CPU:$F329 PRG:3329 9D 31 03
rts ; CPU:$F32C PRG:332C 60
; -----------------------------------------------------------------------------
; Routine: AdvancePpuBufferWrite
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AdvancePpuBufferWrite:
inx ; CPU:$F32D PRG:332D E8
txa ; CPU:$F32E PRG:332E 8A
; -----------------------------------------------------------------------------
; Routine: CheckPpuBufferOverflow
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckPpuBufferOverflow:
cmp #$3F ; CPU:$F32F PRG:332F C9 3F
bcc CheckPpuBufferOverflow_Block ; CPU:$F331 PRG:3331 90 0A
ldx $0330 ; CPU:$F333 PRG:3333 AE 30 03
lda #$00 ; CPU:$F336 PRG:3336 A9 00
sta $0331,x ; CPU:$F338 PRG:3338 9D 31 03
pla ; CPU:$F33B PRG:333B 68
pla ; CPU:$F33C PRG:333C 68
; -----------------------------------------------------------------------------
; Routine: CheckPpuBufferOverflow_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckPpuBufferOverflow_Block:
rts ; CPU:$F33D PRG:333D 60
; -----------------------------------------------------------------------------
; Routine: SubtractBcdValue
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubtractBcdValue:
ldx #$FF ; CPU:$F33E PRG:333E A2 FF
bne AddBcdValue_Block ; CPU:$F340 PRG:3340 D0 02
; -----------------------------------------------------------------------------
; Routine: AddBcdValue
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdValue:
ldx #$00 ; CPU:$F342 PRG:3342 A2 00
; -----------------------------------------------------------------------------
; Routine: AddBcdValue_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdValue_Block:
stx Zp04 ; CPU:$F344 PRG:3344 86 04
ldx #$00 ; CPU:$F346 PRG:3346 A2 00
stx Zp05 ; CPU:$F348 PRG:3348 86 05
stx Zp06 ; CPU:$F34A PRG:334A 86 06
stx Zp07 ; CPU:$F34C PRG:334C 86 07
lda Zp01 ; CPU:$F34E PRG:334E A5 01
and #$08 ; CPU:$F350 PRG:3350 29 08
bne AddBcdValue_Block_1 ; CPU:$F352 PRG:3352 D0 01
inx ; CPU:$F354 PRG:3354 E8
; -----------------------------------------------------------------------------
; Routine: AddBcdValue_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdValue_Block_1:
lda Zp00 ; CPU:$F355 PRG:3355 A5 00
sta Zp06,x ; CPU:$F357 PRG:3357 95 06
lda Zp01 ; CPU:$F359 PRG:3359 A5 01
jmp $F35E ; CPU:$F35B PRG:335B 4C 5E F3
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub:
and #$07 ; CPU:$F35E PRG:335E 29 07
asl a ; CPU:$F360 PRG:3360 0A
asl a ; CPU:$F361 PRG:3361 0A
tax ; CPU:$F362 PRG:3362 AA
lda Zp04 ; CPU:$F363 PRG:3363 A5 04
beq ApplyBcdAddSub_Block_1 ; CPU:$F365 PRG:3365 F0 27
lda Zp24,x ; CPU:$F367 PRG:3367 B5 24
beq ApplyBcdAddSub_Block_2 ; CPU:$F369 PRG:3369 F0 27
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub_Block:
clc ; CPU:$F36B PRG:336B 18
lda Zp27,x ; CPU:$F36C PRG:336C B5 27
sta Zp03 ; CPU:$F36E PRG:336E 85 03
lda Zp07 ; CPU:$F370 PRG:3370 A5 07
jsr $F3E3 ; CPU:$F372 PRG:3372 20 E3 F3
sta Zp27,x ; CPU:$F375 PRG:3375 95 27
lda Zp26,x ; CPU:$F377 PRG:3377 B5 26
sta Zp03 ; CPU:$F379 PRG:3379 85 03
lda Zp06 ; CPU:$F37B PRG:337B A5 06
jsr $F3E3 ; CPU:$F37D PRG:337D 20 E3 F3
sta Zp26,x ; CPU:$F380 PRG:3380 95 26
lda Zp25,x ; CPU:$F382 PRG:3382 B5 25
sta Zp03 ; CPU:$F384 PRG:3384 85 03
lda Zp05 ; CPU:$F386 PRG:3386 A5 05
jsr $F3E3 ; CPU:$F388 PRG:3388 20 E3 F3
sta Zp25,x ; CPU:$F38B PRG:338B 95 25
rts ; CPU:$F38D PRG:338D 60
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub_Block_1:
lda Zp24,x ; CPU:$F38E PRG:338E B5 24
beq ApplyBcdAddSub_Block ; CPU:$F390 PRG:3390 F0 D9
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub_Block_2:
sec ; CPU:$F392 PRG:3392 38
lda Zp27,x ; CPU:$F393 PRG:3393 B5 27
sta Zp03 ; CPU:$F395 PRG:3395 85 03
lda Zp07 ; CPU:$F397 PRG:3397 A5 07
jsr $F404 ; CPU:$F399 PRG:3399 20 04 F4
sta Zp27,x ; CPU:$F39C PRG:339C 95 27
lda Zp26,x ; CPU:$F39E PRG:339E B5 26
sta Zp03 ; CPU:$F3A0 PRG:33A0 85 03
lda Zp06 ; CPU:$F3A2 PRG:33A2 A5 06
jsr $F404 ; CPU:$F3A4 PRG:33A4 20 04 F4
sta Zp26,x ; CPU:$F3A7 PRG:33A7 95 26
lda Zp25,x ; CPU:$F3A9 PRG:33A9 B5 25
sta Zp03 ; CPU:$F3AB PRG:33AB 85 03
lda Zp05 ; CPU:$F3AD PRG:33AD A5 05
jsr $F404 ; CPU:$F3AF PRG:33AF 20 04 F4
sta Zp25,x ; CPU:$F3B2 PRG:33B2 95 25
lda Zp25,x ; CPU:$F3B4 PRG:33B4 B5 25
bne ApplyBcdAddSub_Block_3 ; CPU:$F3B6 PRG:33B6 D0 08
lda Zp26,x ; CPU:$F3B8 PRG:33B8 B5 26
bne ApplyBcdAddSub_Block_3 ; CPU:$F3BA PRG:33BA D0 04
lda Zp27,x ; CPU:$F3BC PRG:33BC B5 27
beq ApplyBcdAddSub_Block_4 ; CPU:$F3BE PRG:33BE F0 06
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub_Block_3:
bcs ApplyBcdAddSub_Block_5 ; CPU:$F3C0 PRG:33C0 B0 20
lda Zp24,x ; CPU:$F3C2 PRG:33C2 B5 24
eor #$FF ; CPU:$F3C4 PRG:33C4 49 FF
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub_Block_4:
sta Zp24,x ; CPU:$F3C6 PRG:33C6 95 24
sec ; CPU:$F3C8 PRG:33C8 38
lda #$00 ; CPU:$F3C9 PRG:33C9 A9 00
sta Zp03 ; CPU:$F3CB PRG:33CB 85 03
lda Zp27,x ; CPU:$F3CD PRG:33CD B5 27
jsr $F404 ; CPU:$F3CF PRG:33CF 20 04 F4
sta Zp27,x ; CPU:$F3D2 PRG:33D2 95 27
lda Zp26,x ; CPU:$F3D4 PRG:33D4 B5 26
jsr $F404 ; CPU:$F3D6 PRG:33D6 20 04 F4
sta Zp26,x ; CPU:$F3D9 PRG:33D9 95 26
lda Zp25,x ; CPU:$F3DB PRG:33DB B5 25
jsr $F404 ; CPU:$F3DD PRG:33DD 20 04 F4
sta Zp25,x ; CPU:$F3E0 PRG:33E0 95 25
; -----------------------------------------------------------------------------
; Routine: ApplyBcdAddSub_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ApplyBcdAddSub_Block_5:
rts ; CPU:$F3E2 PRG:33E2 60
; -----------------------------------------------------------------------------
; Routine: AddBcdNibble
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdNibble:
jsr $F426 ; CPU:$F3E3 PRG:33E3 20 26 F4
adc Zp01 ; CPU:$F3E6 PRG:33E6 65 01
cmp #$0A ; CPU:$F3E8 PRG:33E8 C9 0A
bcc AddBcdNibble_Block ; CPU:$F3EA PRG:33EA 90 02
adc #$05 ; CPU:$F3EC PRG:33EC 69 05
; -----------------------------------------------------------------------------
; Routine: AddBcdNibble_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdNibble_Block:
clc ; CPU:$F3EE PRG:33EE 18
adc Zp02 ; CPU:$F3EF PRG:33EF 65 02
sta Zp02 ; CPU:$F3F1 PRG:33F1 85 02
lda Zp03 ; CPU:$F3F3 PRG:33F3 A5 03
and #$F0 ; CPU:$F3F5 PRG:33F5 29 F0
adc Zp02 ; CPU:$F3F7 PRG:33F7 65 02
bcc AddBcdNibble_Block_2 ; CPU:$F3F9 PRG:33F9 90 04
; -----------------------------------------------------------------------------
; Routine: AddBcdNibble_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdNibble_Block_1:
adc #$5F ; CPU:$F3FB PRG:33FB 69 5F
sec ; CPU:$F3FD PRG:33FD 38
rts ; CPU:$F3FE PRG:33FE 60
; -----------------------------------------------------------------------------
; Routine: AddBcdNibble_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
AddBcdNibble_Block_2:
cmp #$A0 ; CPU:$F3FF PRG:33FF C9 A0
bcs AddBcdNibble_Block_1 ; CPU:$F401 PRG:3401 B0 F8
rts ; CPU:$F403 PRG:3403 60
; -----------------------------------------------------------------------------
; Routine: SubtractBcdNibble
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubtractBcdNibble:
jsr $F426 ; CPU:$F404 PRG:3404 20 26 F4
sbc Zp01 ; CPU:$F407 PRG:3407 E5 01
sta Zp01 ; CPU:$F409 PRG:3409 85 01
bcs SubtractBcdNibble_Block ; CPU:$F40B PRG:340B B0 0A
adc #$0A ; CPU:$F40D PRG:340D 69 0A
sta Zp01 ; CPU:$F40F PRG:340F 85 01
lda Zp02 ; CPU:$F411 PRG:3411 A5 02
adc #$0F ; CPU:$F413 PRG:3413 69 0F
sta Zp02 ; CPU:$F415 PRG:3415 85 02
; -----------------------------------------------------------------------------
; Routine: SubtractBcdNibble_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubtractBcdNibble_Block:
lda Zp03 ; CPU:$F417 PRG:3417 A5 03
and #$F0 ; CPU:$F419 PRG:3419 29 F0
sec ; CPU:$F41B PRG:341B 38
sbc Zp02 ; CPU:$F41C PRG:341C E5 02
bcs SubtractBcdNibble_Block_1 ; CPU:$F41E PRG:341E B0 03
adc #$A0 ; CPU:$F420 PRG:3420 69 A0
clc ; CPU:$F422 PRG:3422 18
; -----------------------------------------------------------------------------
; Routine: SubtractBcdNibble_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubtractBcdNibble_Block_1:
ora Zp01 ; CPU:$F423 PRG:3423 05 01
rts ; CPU:$F425 PRG:3425 60
; -----------------------------------------------------------------------------
; Routine: SplitBcdByte
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SplitBcdByte:
pha ; CPU:$F426 PRG:3426 48
and #$0F ; CPU:$F427 PRG:3427 29 0F
sta Zp01 ; CPU:$F429 PRG:3429 85 01
pla ; CPU:$F42B PRG:342B 68
and #$F0 ; CPU:$F42C PRG:342C 29 F0
sta Zp02 ; CPU:$F42E PRG:342E 85 02
lda Zp03 ; CPU:$F430 PRG:3430 A5 03
and #$0F ; CPU:$F432 PRG:3432 29 0F
rts ; CPU:$F434 PRG:3434 60
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues:
lda #$00 ; CPU:$F435 PRG:3435 A9 00
sta Zp04 ; CPU:$F437 PRG:3437 85 04
clc ; CPU:$F439 PRG:3439 18
lda Zp00 ; CPU:$F43A PRG:343A A5 00
adc #$10 ; CPU:$F43C PRG:343C 69 10
and #$F0 ; CPU:$F43E PRG:343E 29 F0
lsr a ; CPU:$F440 PRG:3440 4A
lsr a ; CPU:$F441 PRG:3441 4A
tay ; CPU:$F442 PRG:3442 A8
lda Zp00 ; CPU:$F443 PRG:3443 A5 00
and #$07 ; CPU:$F445 PRG:3445 29 07
asl a ; CPU:$F447 PRG:3447 0A
asl a ; CPU:$F448 PRG:3448 0A
tax ; CPU:$F449 PRG:3449 AA
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block:
lda a:Zp20,y ; CPU:$F44A PRG:344A B9 20 00
beq CompareBcdValues_Block_6 ; CPU:$F44D PRG:344D F0 51
lda Zp24,x ; CPU:$F44F PRG:344F B5 24
beq CompareBcdValues_Block_2 ; CPU:$F451 PRG:3451 F0 26
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_1:
sec ; CPU:$F453 PRG:3453 38
lda a:Zp23,y ; CPU:$F454 PRG:3454 B9 23 00
sta Zp03 ; CPU:$F457 PRG:3457 85 03
lda Zp27,x ; CPU:$F459 PRG:3459 B5 27
jsr $F404 ; CPU:$F45B PRG:345B 20 04 F4
lda a:Zp22,y ; CPU:$F45E PRG:345E B9 22 00
sta Zp03 ; CPU:$F461 PRG:3461 85 03
lda Zp26,x ; CPU:$F463 PRG:3463 B5 26
jsr $F404 ; CPU:$F465 PRG:3465 20 04 F4
lda a:Zp21,y ; CPU:$F468 PRG:3468 B9 21 00
sta Zp03 ; CPU:$F46B PRG:346B 85 03
lda Zp25,x ; CPU:$F46D PRG:346D B5 25
jsr $F404 ; CPU:$F46F PRG:346F 20 04 F4
bcs CompareBcdValues_Block_7 ; CPU:$F472 PRG:3472 B0 30
lda a:Zp20,y ; CPU:$F474 PRG:3474 B9 20 00
bne CompareBcdValues_Block_8 ; CPU:$F477 PRG:3477 D0 30
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_2:
lda #$FF ; CPU:$F479 PRG:3479 A9 FF
sta Zp04 ; CPU:$F47B PRG:347B 85 04
sec ; CPU:$F47D PRG:347D 38
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_3:
tya ; CPU:$F47E PRG:347E 98
bne CompareBcdValues_Block_5 ; CPU:$F47F PRG:347F D0 1E
bcc CompareBcdValues_Block_4 ; CPU:$F481 PRG:3481 90 10
lda Zp24,x ; CPU:$F483 PRG:3483 B5 24
sta Zp20 ; CPU:$F485 PRG:3485 85 20
lda Zp25,x ; CPU:$F487 PRG:3487 B5 25
sta Zp21 ; CPU:$F489 PRG:3489 85 21
lda Zp26,x ; CPU:$F48B PRG:348B B5 26
sta Zp22 ; CPU:$F48D PRG:348D 85 22
lda Zp27,x ; CPU:$F48F PRG:348F B5 27
sta Zp23 ; CPU:$F491 PRG:3491 85 23
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_4:
lda Zp00 ; CPU:$F493 PRG:3493 A5 00
and #$08 ; CPU:$F495 PRG:3495 29 08
beq CompareBcdValues_Block_5 ; CPU:$F497 PRG:3497 F0 06
dex ; CPU:$F499 PRG:3499 CA
dex ; CPU:$F49A PRG:349A CA
dex ; CPU:$F49B PRG:349B CA
dex ; CPU:$F49C PRG:349C CA
bpl CompareBcdValues_Block ; CPU:$F49D PRG:349D 10 AB
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_5:
rts ; CPU:$F49F PRG:349F 60
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_6:
lda Zp24,x ; CPU:$F4A0 PRG:34A0 B5 24
beq CompareBcdValues_Block_1 ; CPU:$F4A2 PRG:34A2 F0 AF
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_7:
lda a:Zp20,y ; CPU:$F4A4 PRG:34A4 B9 20 00
bne CompareBcdValues_Block_2 ; CPU:$F4A7 PRG:34A7 D0 D0
; -----------------------------------------------------------------------------
; Routine: CompareBcdValues_Block_8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CompareBcdValues_Block_8:
clc ; CPU:$F4A9 PRG:34A9 18
bcc CompareBcdValues_Block_3 ; CPU:$F4AA PRG:34AA 90 D2
; -----------------------------------------------------------------------------
; Routine: UpdateTimers
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateTimers:
ldx #$09 ; CPU:$F4AC PRG:34AC A2 09
dec Zp34 ; CPU:$F4AE PRG:34AE C6 34
bpl UpdateTimers_Block ; CPU:$F4B0 PRG:34B0 10 06
lda #$0A ; CPU:$F4B2 PRG:34B2 A9 0A
sta Zp34 ; CPU:$F4B4 PRG:34B4 85 34
ldx #$10 ; CPU:$F4B6 PRG:34B6 A2 10
; -----------------------------------------------------------------------------
; Routine: UpdateTimers_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateTimers_Block:
lda Zp35,x ; CPU:$F4B8 PRG:34B8 B5 35
beq UpdateTimers_Block_1 ; CPU:$F4BA PRG:34BA F0 02
dec Zp35,x ; CPU:$F4BC PRG:34BC D6 35
; -----------------------------------------------------------------------------
; Routine: UpdateTimers_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateTimers_Block_1:
dex ; CPU:$F4BE PRG:34BE CA
bpl UpdateTimers_Block ; CPU:$F4BF PRG:34BF 10 F7
rts ; CPU:$F4C1 PRG:34C1 60
; -----------------------------------------------------------------------------
; Routine: QueuePpuByteWrite
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
QueuePpuByteWrite:
ldx $0330 ; CPU:$F4C2 PRG:34C2 AE 30 03
lda Zp01 ; CPU:$F4C5 PRG:34C5 A5 01
sta $0331,x ; CPU:$F4C7 PRG:34C7 9D 31 03
jsr $F32D ; CPU:$F4CA PRG:34CA 20 2D F3
lda Zp00 ; CPU:$F4CD PRG:34CD A5 00
sta $0331,x ; CPU:$F4CF PRG:34CF 9D 31 03
jsr $F32D ; CPU:$F4D2 PRG:34D2 20 2D F3
lda #$01 ; CPU:$F4D5 PRG:34D5 A9 01
sta $0331,x ; CPU:$F4D7 PRG:34D7 9D 31 03
jsr $F32D ; CPU:$F4DA PRG:34DA 20 2D F3
tya ; CPU:$F4DD PRG:34DD 98
sta $0331,x ; CPU:$F4DE PRG:34DE 9D 31 03
jsr $F32D ; CPU:$F4E1 PRG:34E1 20 2D F3
lda #$00 ; CPU:$F4E4 PRG:34E4 A9 00
sta $0331,x ; CPU:$F4E6 PRG:34E6 9D 31 03
stx $0330 ; CPU:$F4E9 PRG:34E9 8E 30 03
rts ; CPU:$F4EC PRG:34EC 60
; -----------------------------------------------------------------------------
; Routine: UpdateRandomSeed
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateRandomSeed:
lda Zp18 ; CPU:$F4ED PRG:34ED A5 18
and #$02 ; CPU:$F4EF PRG:34EF 29 02
sta Zp00 ; CPU:$F4F1 PRG:34F1 85 00
lda Zp19 ; CPU:$F4F3 PRG:34F3 A5 19
and #$02 ; CPU:$F4F5 PRG:34F5 29 02
eor Zp00 ; CPU:$F4F7 PRG:34F7 45 00
clc ; CPU:$F4F9 PRG:34F9 18
beq UpdateRandomSeed_Block ; CPU:$F4FA PRG:34FA F0 01
sec ; CPU:$F4FC PRG:34FC 38
; -----------------------------------------------------------------------------
; Routine: UpdateRandomSeed_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateRandomSeed_Block:
ror Zp18 ; CPU:$F4FD PRG:34FD 66 18
ror Zp19 ; CPU:$F4FF PRG:34FF 66 19
ror Zp1A ; CPU:$F501 PRG:3501 66 1A
ror Zp1B ; CPU:$F503 PRG:3503 66 1B
ror Zp1C ; CPU:$F505 PRG:3505 66 1C
ror Zp1D ; CPU:$F507 PRG:3507 66 1D
ror Zp1E ; CPU:$F509 PRG:3509 66 1E
ror Zp1F ; CPU:$F50B PRG:350B 66 1F
rts ; CPU:$F50D PRG:350D 60
; -----------------------------------------------------------------------------
; Routine: ReadControllers
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadControllers:
lda #$01 ; CPU:$F50E PRG:350E A9 01
sta JOY1 ; CPU:$F510 PRG:3510 8D 16 40
ldx #$00 ; CPU:$F513 PRG:3513 A2 00
lda #$00 ; CPU:$F515 PRG:3515 A9 00
sta JOY1 ; CPU:$F517 PRG:3517 8D 16 40
jsr $F522 ; CPU:$F51A PRG:351A 20 22 F5
inx ; CPU:$F51D PRG:351D E8
jsr $F522 ; CPU:$F51E PRG:351E 20 22 F5
rts ; CPU:$F521 PRG:3521 60
; -----------------------------------------------------------------------------
; Routine: ReadControllerShift
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadControllerShift:
ldy #$08 ; CPU:$F522 PRG:3522 A0 08
; -----------------------------------------------------------------------------
; Routine: ReadControllerShift_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadControllerShift_Block:
pha ; CPU:$F524 PRG:3524 48
lda JOY1,x ; CPU:$F525 PRG:3525 BD 16 40
sta Zp00 ; CPU:$F528 PRG:3528 85 00
lsr a ; CPU:$F52A PRG:352A 4A
ora Zp00 ; CPU:$F52B PRG:352B 05 00
lsr a ; CPU:$F52D PRG:352D 4A
pla ; CPU:$F52E PRG:352E 68
rol a ; CPU:$F52F PRG:352F 2A
dey ; CPU:$F530 PRG:3530 88
bne ReadControllerShift_Block ; CPU:$F531 PRG:3531 D0 F1
stx Zp00 ; CPU:$F533 PRG:3533 86 00
asl Zp00 ; CPU:$F535 PRG:3535 06 00
ldx Zp00 ; CPU:$F537 PRG:3537 A6 00
ldy Zp14,x ; CPU:$F539 PRG:3539 B4 14
sty Zp00 ; CPU:$F53B PRG:353B 84 00
sta Zp14,x ; CPU:$F53D PRG:353D 95 14
and #$FF ; CPU:$F53F PRG:353F 29 FF
bpl ReadControllerShift_Block_1 ; CPU:$F541 PRG:3541 10 06
bit Zp00 ; CPU:$F543 PRG:3543 24 00
bpl ReadControllerShift_Block_1 ; CPU:$F545 PRG:3545 10 02
and #$7F ; CPU:$F547 PRG:3547 29 7F
; -----------------------------------------------------------------------------
; Routine: ReadControllerShift_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadControllerShift_Block_1:
ldy Zp15,x ; CPU:$F549 PRG:3549 B4 15
sta Zp15,x ; CPU:$F54B PRG:354B 95 15
tya ; CPU:$F54D PRG:354D 98
and #$0F ; CPU:$F54E PRG:354E 29 0F
and Zp15,x ; CPU:$F550 PRG:3550 35 15
beq ReadControllerShift_Block_2 ; CPU:$F552 PRG:3552 F0 06
ora #$F0 ; CPU:$F554 PRG:3554 09 F0
and Zp15,x ; CPU:$F556 PRG:3556 35 15
sta Zp15,x ; CPU:$F558 PRG:3558 95 15
; -----------------------------------------------------------------------------
; Routine: ReadControllerShift_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ReadControllerShift_Block_2:
rts ; CPU:$F55A PRG:355A 60
; ---- data $F55B-$FA47 (1261 bytes) ----
; Music/sound data tables: note frequencies, envelope data, sequence pointers
MusicDataTable: .byte $3F, $00, $20, $0F, $15, $2C, $12, $0F, $27, $02, $17, $0F, $30, $36, $06, $0F ; CPU:$F55B PRG:355B 3F 00 20 0F 15 2C 12 0F 27 02 17 0F 30 36 06 0F
.byte $30, $2C, $24, $0F, $02, $36, $16, $0F, $30, $27, $24, $0F, $16, $30, $37, $0F ; CPU:$F56B PRG:356B 30 2C 24 0F 02 36 16 0F 30 27 24 0F 16 30 37 0F
.byte $06, $27, $02, $23, $C0, $48, $FF, $23, $C8, $03, $55, $AA, $22, $23, $CD, $43 ; CPU:$F57B PRG:357B 06 27 02 23 C0 48 FF 23 C8 03 55 AA 22 23 CD 43
.byte $0F, $20, $2C, $C7, $3F, $20, $81, $84, $50, $51, $52, $53, $20, $82, $84, $54 ; CPU:$F58B PRG:358B 0F 20 2C C7 3F 20 81 84 50 51 52 53 20 82 84 54
.byte $55, $56, $57, $20, $83, $84, $58, $59, $5A, $5B, $20, $2A, $C7, $3F, $20, $AD ; CPU:$F59B PRG:359B 55 56 57 20 83 84 58 59 5A 5B 20 2A C7 3F 20 AD
.byte $46, $30, $20, $CA, $43, $30, $20, $D2, $C2, $3F, $21, $02, $4E, $30, $21, $10 ; CPU:$F5AB PRG:35AB 46 30 20 CA 43 30 20 D2 C2 3F 21 02 4E 30 21 10
.byte $0C, $3E, $3E, $45, $3D, $3D, $3D, $3C, $3C, $3C, $3B, $3B, $3B, $21, $2D, $0F ; CPU:$F5BB PRG:35BB 0C 3E 3E 45 3D 3D 3D 3C 3C 3C 3B 3B 3B 21 2D 0F
.byte $3F, $24, $24, $37, $37, $37, $36, $36, $36, $35, $35, $35, $49, $34, $34, $21 ; CPU:$F5CB PRG:35CB 3F 24 24 37 37 37 36 36 36 35 35 35 49 34 34 21
.byte $59, $01, $3F, $21, $6D, $11, $40, $38, $38, $39, $39, $39, $3A, $3A, $3A, $3B ; CPU:$F5DB PRG:35DB 59 01 3F 21 6D 11 40 38 38 39 39 39 3A 3A 3A 3B
.byte $3B, $3B, $43, $3C, $3C, $3D, $3D, $21, $84, $1A, $3D, $3D, $3D, $3E, $3E, $3E ; CPU:$F5EB PRG:35EB 3B 3B 43 3C 3C 3D 3D 21 84 1A 3D 3D 3D 3E 3E 3E
.byte $30, $30, $30, $31, $31, $31, $32, $32, $32, $33, $33, $33, $34, $49, $34, $35 ; CPU:$F5FB PRG:35FB 30 30 30 31 31 31 32 32 32 33 33 33 34 49 34 35
.byte $35, $35, $36, $36, $21, $A4, $06, $36, $36, $4B, $37, $37, $37, $21, $C6, $01 ; CPU:$F60B PRG:360B 35 35 36 36 21 A4 06 36 36 4B 37 37 37 21 C6 01
.byte $3F, $21, $E2, $17, $30, $30, $3E, $3E, $45, $3D, $3D, $3D, $3C, $43, $3C, $3B ; CPU:$F61B PRG:361B 3F 21 E2 17 30 30 3E 3E 45 3D 3D 3D 3C 43 3C 3B
.byte $3B, $3B, $3A, $3A, $3A, $39, $39, $39, $38, $40, $38, $21, $AB, $C2, $3F, $22 ; CPU:$F62B PRG:362B 3B 3B 3A 3A 3A 39 39 39 38 40 38 21 AB C2 3F 22
.byte $04, $18, $37, $37, $37, $36, $36, $36, $4A, $35, $35, $34, $34, $34, $48, $33 ; CPU:$F63B PRG:363B 04 18 37 37 37 36 36 36 4A 35 35 34 34 34 48 33
.byte $33, $32, $32, $32, $31, $31, $31, $30, $30, $30, $22, $30, $C2, $3F, $22, $39 ; CPU:$F64B PRG:364B 33 32 32 32 31 31 31 30 30 30 22 30 C2 3F 22 39
.byte $01, $3F, $22, $4A, $01, $3F, $22, $59, $05, $40, $38, $38, $39, $39, $22, $64 ; CPU:$F65B PRG:365B 01 3F 22 4A 01 3F 22 59 05 40 38 38 39 39 22 64
.byte $1A, $39, $39, $39, $3A, $3A, $3A, $42, $3B, $3B, $3C, $3C, $3C, $44, $3D, $3D ; CPU:$F66B PRG:366B 1A 39 39 39 3A 3A 3A 42 3B 3B 3C 3C 3C 44 3D 3D
.byte $3E, $3E, $3E, $30, $30, $30, $31, $31, $31, $32, $32, $22, $84, $12, $32, $32 ; CPU:$F67B PRG:367B 3E 3E 3E 30 30 30 31 31 31 32 32 22 84 12 32 32
.byte $47, $33, $33, $33, $34, $34, $34, $35, $4A, $35, $36, $36, $36, $37, $37, $37 ; CPU:$F68B PRG:368B 47 33 33 33 34 34 34 35 4A 35 36 36 36 37 37 37
.byte $22, $A6, $01, $3F, $22, $AE, $C2, $3F, $22, $C2, $0B, $3B, $3B, $3A, $3A, $41 ; CPU:$F69B PRG:369B 22 A6 01 3F 22 AE C2 3F 22 C2 0B 3B 3B 3A 3A 41
.byte $39, $39, $39, $38, $38, $38, $22, $E2, $1A, $34, $34, $33, $33, $33, $32, $32 ; CPU:$F6AB PRG:36AB 39 39 39 38 38 38 22 E2 1A 34 34 33 33 33 32 32
.byte $32, $31, $31, $46, $30, $30, $30, $3E, $3E, $3E, $3D, $3D, $3D, $3C, $3C, $3C ; CPU:$F6BB PRG:36BB 32 31 31 46 30 30 30 3E 3E 3E 3D 3D 3D 3C 3C 3C
.byte $3B, $3B, $3B, $23, $0C, $10, $3F, $24, $24, $24, $37, $37, $37, $36, $36, $36 ; CPU:$F6CB PRG:36CB 3B 3B 3B 23 0C 10 3F 24 24 24 37 37 37 36 36 36
.byte $35, $35, $35, $49, $34, $34, $23, $39, $01, $3F, $23, $4C, $13, $3F, $24, $24 ; CPU:$F6DB PRG:36DB 35 35 35 49 34 34 23 39 01 3F 23 4C 13 3F 24 24
.byte $24, $38, $38, $38, $39, $39, $39, $3A, $3A, $3A, $42, $3B, $3B, $3C, $3C, $3C ; CPU:$F6EB PRG:36EB 24 38 38 38 39 39 39 3A 3A 3A 42 3B 3B 3C 3C 3C
.byte $23, $61, $4F, $30, $23, $70, $0F, $31, $31, $31, $32, $32, $32, $33, $33, $33 ; CPU:$F6FB PRG:36FB 23 61 4F 30 23 70 0F 31 31 31 32 32 32 33 33 33
.byte $34, $34, $34, $35, $35, $35, $23, $24, $82, $4C, $4D, $23, $25, $82, $4E, $4F ; CPU:$F70B PRG:370B 34 34 34 35 35 35 23 24 82 4C 4D 23 25 82 4E 4F
.byte $00, $3F, $00, $08, $0F, $2C, $27, $02, $0F, $30, $12, $24, $3F, $1D, $03, $06 ; CPU:$F71B PRG:371B 00 3F 00 08 0F 2C 27 02 0F 30 12 24 3F 1D 03 06
.byte $30, $12, $23, $C0, $48, $FF, $23, $C9, $07, $55, $00, $AA, $AA, $0F, $0F, $0F ; CPU:$F72B PRG:372B 30 12 23 C0 48 FF 23 C9 07 55 00 AA AA 0F 0F 0F
.byte $23, $E2, $05, $04, $00, $00, $00, $01, $20, $C5, $02, $70, $72, $20, $E5, $02 ; CPU:$F73B PRG:373B 23 E2 05 04 00 00 00 01 20 C5 02 70 72 20 E5 02
.byte $71, $73, $20, $CA, $42, $62, $21, $05, $56, $62, $21, $A4, $58, $62, $22, $43 ; CPU:$F74B PRG:374B 71 73 20 CA 42 62 21 05 56 62 21 A4 58 62 22 43
.byte $5A, $62, $22, $E2, $5C, $62, $23, $61, $5E, $62, $21, $08, $01, $63, $21, $17 ; CPU:$F75B PRG:375B 5A 62 22 E2 5C 62 23 61 5E 62 21 08 01 63 21 17
.byte $01, $63, $21, $A8, $01, $63, $21, $B7, $01, $63, $22, $48, $01, $63, $22, $57 ; CPU:$F76B PRG:376B 01 63 21 A8 01 63 21 B7 01 63 22 48 01 63 22 57
.byte $01, $63, $22, $E8, $01, $63, $22, $F7, $01, $63, $21, $25, $C4, $3F, $21, $29 ; CPU:$F77B PRG:377B 01 63 22 E8 01 63 22 F7 01 63 21 25 C4 3F 21 29
.byte $C4, $3F, $21, $36, $C4, $3F, $21, $3A, $C4, $3F, $21, $C4, $C4, $3F, $21, $D0 ; CPU:$F78B PRG:378B C4 3F 21 36 C4 3F 21 3A C4 3F 21 C4 C4 3F 21 D0
.byte $C4, $3F, $21, $DB, $C4, $3F, $22, $63, $C4, $3F, $22, $6C, $C4, $3F, $22, $73 ; CPU:$F79B PRG:379B C4 3F 21 DB C4 3F 22 63 C4 3F 22 6C C4 3F 22 73
.byte $C4, $3F, $22, $7C, $C4, $3F, $23, $02, $C3, $3F, $23, $0F, $C3, $3F, $23, $1D ; CPU:$F7AB PRG:37AB C4 3F 22 7C C4 3F 23 02 C3 3F 23 0F C3 3F 23 1D
.byte $C3, $3F, $22, $0A, $82, $6E, $6F, $22, $18, $82, $70, $71, $22, $19, $82, $72 ; CPU:$F7BB PRG:37BB C3 3F 22 0A 82 6E 6F 22 18 82 70 71 22 19 82 72
.byte $73, $00, $3F, $00, $08, $0F, $15, $2C, $06, $0F, $30, $27, $16, $3F, $1D, $03 ; CPU:$F7CB PRG:37CB 73 00 3F 00 08 0F 15 2C 06 0F 30 27 16 3F 1D 03
.byte $12, $37, $15, $23, $C0, $48, $FF, $23, $C9, $02, $AA, $22, $23, $CD, $43, $0F ; CPU:$F7DB PRG:37DB 12 37 15 23 C0 48 FF 23 C9 02 AA 22 23 CD 43 0F
.byte $23, $D1, $82, $84, $48, $23, $D7, $05, $03, $0C, $88, $00, $88, $23, $E1, $03 ; CPU:$F7EB PRG:37EB 23 D1 82 84 48 23 D7 05 03 0C 88 00 88 23 E1 03
.byte $88, $00, $88, $23, $E9, $03, $88, $00, $88, $23, $D3, $82, $84, $48, $20, $2C ; CPU:$F7FB PRG:37FB 88 00 88 23 E9 03 88 00 88 23 D3 82 84 48 20 2C
.byte $C7, $3F, $20, $2A, $C7, $3F, $20, $CA, $43, $30, $20, $AD, $46, $30, $20, $D2 ; CPU:$F80B PRG:380B C7 3F 20 2A C7 3F 20 CA 43 30 20 AD 46 30 20 D2
.byte $C2, $3F, $21, $02, $55, $30, $21, $06, $02, $5E, $5F, $21, $26, $02, $5C, $5D ; CPU:$F81B PRG:381B C2 3F 21 02 55 30 21 06 02 5E 5F 21 26 02 5C 5D
.byte $21, $0E, $02, $5E, $5F, $21, $2E, $02, $5C, $5D, $23, $61, $5E, $30, $23, $46 ; CPU:$F82B PRG:382B 21 0E 02 5E 5F 21 2E 02 5C 5D 23 61 5E 30 23 46
.byte $02, $5C, $5D, $23, $66, $02, $60, $61, $23, $4E, $02, $5C, $5D, $23, $6E, $02 ; CPU:$F83B PRG:383B 02 5C 5D 23 66 02 60 61 23 4E 02 5C 5D 23 6E 02
.byte $60, $61, $21, $46, $D0, $74, $21, $47, $D0, $75, $21, $5C, $42, $30, $21, $79 ; CPU:$F84B PRG:384B 60 61 21 46 D0 74 21 47 D0 75 21 5C 42 30 21 79
.byte $42, $30, $21, $96, $42, $30, $21, $B2, $43, $30, $21, $C2, $43, $30, $21, $C9 ; CPU:$F85B PRG:385B 42 30 21 96 42 30 21 B2 43 30 21 C2 43 30 21 C9
.byte $44, $30, $21, $F9, $45, $30, $22, $33, $42, $30, $22, $56, $42, $30, $22, $79 ; CPU:$F86B PRG:386B 44 30 21 F9 45 30 22 33 42 30 22 56 42 30 22 79
.byte $42, $30, $22, $9C, $42, $30, $22, $82, $43, $30, $22, $CA, $43, $30, $22, $DB ; CPU:$F87B PRG:387B 42 30 22 9C 42 30 22 82 43 30 22 CA 43 30 22 DB
.byte $43, $30, $22, $F8, $42, $30, $23, $15, $42, $30, $23, $22, $43, $30, $23, $31 ; CPU:$F88B PRG:388B 43 30 22 F8 42 30 23 15 42 30 23 22 43 30 23 31
.byte $43, $30, $21, $36, $C3, $3F, $21, $7C, $C4, $3F, $21, $D3, $C3, $3F, $21, $E4 ; CPU:$F89B PRG:389B 43 30 21 36 C3 3F 21 7C C4 3F 21 D3 C3 3F 21 E4
.byte $C5, $3F, $21, $EA, $C7, $3F, $21, $EC, $C7, $3F, $22, $19, $C3, $3F, $22, $A3 ; CPU:$F8AB PRG:38AB C5 3F 21 EA C7 3F 21 EC C7 3F 22 19 C3 3F 22 A3
.byte $C4, $3F, $22, $BC, $01, $3F, $21, $82, $82, $70, $71, $21, $83, $82, $72, $73 ; CPU:$F8BB PRG:38BB C4 3F 22 BC 01 3F 21 82 82 70 71 21 83 82 72 73
.byte $21, $1D, $82, $6E, $6F, $21, $4E, $D0, $74, $21, $4F, $D0, $75, $00, $3F, $00 ; CPU:$F8CB PRG:38CB 21 1D 82 6E 6F 21 4E D0 74 21 4F D0 75 00 3F 00
.byte $0D, $0F, $2C, $38, $12, $0F, $27, $27, $27, $0F, $30, $30, $30, $0F, $3F, $11 ; CPU:$F8DB PRG:38DB 0D 0F 2C 38 12 0F 27 27 27 0F 30 30 30 0F 3F 11
.byte $01, $25, $23, $E0, $50, $55, $23, $F0, $48, $AA, $20, $83, $C5, $62, $20, $84 ; CPU:$F8EB PRG:38EB 01 25 23 E0 50 55 23 F0 48 AA 20 83 C5 62 20 84
.byte $C5, $62, $20, $85, $01, $62, $21, $05, $01, $62, $20, $A6, $C3, $62, $20, $88 ; CPU:$F8FB PRG:38FB C5 62 20 85 01 62 21 05 01 62 20 A6 C3 62 20 88
.byte $C5, $62, $20, $89, $01, $62, $21, $09, $01, $62, $20, $8A, $C5, $62, $20, $8C ; CPU:$F90B PRG:390B C5 62 20 89 01 62 21 09 01 62 20 8A C5 62 20 8C
.byte $C5, $62, $20, $AD, $C2, $62, $20, $CE, $C2, $62, $20, $8F, $C5, $62, $20, $91 ; CPU:$F91B PRG:391B C5 62 20 AD C2 62 20 CE C2 62 20 8F C5 62 20 91
.byte $C5, $62, $20, $B2, $C2, $62, $20, $B3, $01, $62, $20, $94, $01, $62, $20, $F3 ; CPU:$F92B PRG:392B C5 62 20 B2 C2 62 20 B3 01 62 20 94 01 62 20 F3
.byte $01, $62, $21, $14, $01, $62, $20, $96, $C5, $62, $20, $97, $42, $62, $20, $D7 ; CPU:$F93B PRG:393B 01 62 21 14 01 62 20 96 C5 62 20 97 42 62 20 D7
.byte $42, $62, $21, $17, $42, $62, $20, $9A, $C3, $62, $20, $DB, $C3, $62, $20, $9C ; CPU:$F94B PRG:394B 42 62 21 17 42 62 20 9A C3 62 20 DB C3 62 20 9C
.byte $C3, $62, $21, $47, $C5, $62, $21, $68, $C2, $62, $21, $69, $01, $62, $21, $4A ; CPU:$F95B PRG:395B C3 62 21 47 C5 62 21 68 C2 62 21 69 01 62 21 4A
.byte $01, $62, $21, $A9, $01, $62, $21, $CA, $01, $62, $21, $4C, $C5, $62, $21, $4D ; CPU:$F96B PRG:396B 01 62 21 A9 01 62 21 CA 01 62 21 4C C5 62 21 4D
.byte $01, $62, $21, $CD, $01, $62, $21, $4E, $C5, $62, $21, $50, $C5, $62, $21, $71 ; CPU:$F97B PRG:397B 01 62 21 CD 01 62 21 4E C5 62 21 50 C5 62 21 71
.byte $C2, $62, $21, $92, $C2, $62, $21, $53, $C5, $62, $21, $55, $C5, $62, $21, $56 ; CPU:$F98B PRG:398B C2 62 21 92 C2 62 21 53 C5 62 21 55 C5 62 21 56
.byte $43, $62, $21, $D6, $43, $62, $21, $98, $C2, $62, $21, $97, $01, $62, $22, $09 ; CPU:$F99B PRG:399B 43 62 21 D6 43 62 21 98 C2 62 21 97 01 62 22 09
.byte $0F, $01, $24, $19, $15, $0A, $22, $0E, $1B, $24, $10, $0A, $16, $0E, $24, $0A ; CPU:$F9AB PRG:39AB 0F 01 24 19 15 0A 22 0E 1B 24 10 0A 16 0E 24 0A
.byte $22, $49, $0F, $01, $24, $19, $15, $0A, $22, $0E, $1B, $24, $10, $0A, $16, $0E ; CPU:$F9BB PRG:39BB 22 49 0F 01 24 19 15 0A 22 0E 1B 24 10 0A 16 0E
.byte $24, $0B, $22, $89, $0F, $02, $24, $19, $15, $0A, $22, $0E, $1B, $24, $10, $0A ; CPU:$F9CB PRG:39CB 24 0B 22 89 0F 02 24 19 15 0A 22 0E 1B 24 10 0A
.byte $16, $0E, $24, $0A, $22, $C9, $0F, $02, $24, $19, $15, $0A, $22, $0E, $1B, $24 ; CPU:$F9DB PRG:39DB 16 0E 24 0A 22 C9 0F 02 24 19 15 0A 22 0E 1B 24
.byte $10, $0A, $16, $0E, $24, $0B, $23, $05, $16, $D3, $01, $09, $08, $01, $24, $17 ; CPU:$F9EB PRG:39EB 10 0A 16 0E 24 0B 23 05 16 D3 01 09 08 01 24 17
.byte $12, $17, $1D, $0E, $17, $0D, $18, $24, $0C, $18, $65, $15, $1D, $0D, $64, $23 ; CPU:$F9FB PRG:39FB 12 17 1D 0E 17 0D 18 24 0C 18 65 15 1D 0D 64 23
.byte $4B, $0D, $16, $0A, $0D, $0E, $24, $12, $17, $24, $13, $0A, $19, $0A, $17, $00 ; CPU:$FA0B PRG:3A0B 4B 0D 16 0A 0D 0E 24 12 17 24 13 0A 19 0A 17 00
.byte $20, $63, $01, $FF, $20, $6D, $03, $D0, $D1, $D2, $20, $76, $02, $FE, $FF, $20 ; CPU:$FA1B PRG:3A1B 20 63 01 FF 20 6D 03 D0 D1 D2 20 76 02 FE FF 20
.byte $94, $0A, $25, $16, $2A, $26, $27, $28, $29, $2A, $15, $2D, $20, $B4, $0A, $2B ; CPU:$FA2B PRG:3A2B 94 0A 25 16 2A 26 27 28 29 2A 15 2D 20 B4 0A 2B
.byte $24, $2C, $24, $24, $24, $24, $2C, $24, $2F, $00, $FF, $FF, $FF ; CPU:$FA3B PRG:3A3B 24 2C 24 24 24 24 2C 24 2F 00 FF FF FF
; -----------------------------------------------------------------------------
; Routine: UpdateSoundEngine
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundEngine:
lda #$C0 ; CPU:$FA48 PRG:3A48 A9 C0
sta JOY2 ; CPU:$FA4A PRG:3A4A 8D 17 40
jsr $FBF2 ; CPU:$FA4D PRG:3A4D 20 F2 FB
ldx #$00 ; CPU:$FA50 PRG:3A50 A2 00
stx ZpFF ; CPU:$FA52 PRG:3A52 86 FF
stx ZpFE ; CPU:$FA54 PRG:3A54 86 FE
stx ZpFD ; CPU:$FA56 PRG:3A56 86 FD
lda $06F0 ; CPU:$FA58 PRG:3A58 AD F0 06
cmp #$90 ; CPU:$FA5B PRG:3A5B C9 90
bcs UpdateSoundEngine_Block ; CPU:$FA5D PRG:3A5D B0 05
ldx #$00 ; CPU:$FA5F PRG:3A5F A2 00
stx $06F1 ; CPU:$FA61 PRG:3A61 8E F1 06
; -----------------------------------------------------------------------------
; Routine: UpdateSoundEngine_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundEngine_Block:
cmp #$D8 ; CPU:$FA64 PRG:3A64 C9 D8
bcc UpdateSoundEngine_Block_1 ; CPU:$FA66 PRG:3A66 90 03
inc $06F1 ; CPU:$FA68 PRG:3A68 EE F1 06
; -----------------------------------------------------------------------------
; Routine: UpdateSoundEngine_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundEngine_Block_1:
tay ; CPU:$FA6B PRG:3A6B A8
lsr a ; CPU:$FA6C PRG:3A6C 4A
lsr a ; CPU:$FA6D PRG:3A6D 4A
lsr a ; CPU:$FA6E PRG:3A6E 4A
lsr a ; CPU:$FA6F PRG:3A6F 4A
lsr a ; CPU:$FA70 PRG:3A70 4A
lsr a ; CPU:$FA71 PRG:3A71 4A
sta Zp00 ; CPU:$FA72 PRG:3A72 85 00
tya ; CPU:$FA74 PRG:3A74 98
ldx $06F1 ; CPU:$FA75 PRG:3A75 AE F1 06
bne UpdateSoundEngine_Block_2 ; CPU:$FA78 PRG:3A78 D0 05
sec ; CPU:$FA7A PRG:3A7A 38
adc Zp00 ; CPU:$FA7B PRG:3A7B 65 00
bne UpdateSoundEngine_Block_3 ; CPU:$FA7D PRG:3A7D D0 03
; -----------------------------------------------------------------------------
; Routine: UpdateSoundEngine_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundEngine_Block_2:
clc ; CPU:$FA7F PRG:3A7F 18
sbc Zp00 ; CPU:$FA80 PRG:3A80 E5 00
; -----------------------------------------------------------------------------
; Routine: UpdateSoundEngine_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundEngine_Block_3:
sta $06F0 ; CPU:$FA82 PRG:3A82 8D F0 06
rts ; CPU:$FA85 PRG:3A85 60
; -----------------------------------------------------------------------------
; Routine: FindHighestSetBit
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FindHighestSetBit:
ldy #$07 ; CPU:$FA86 PRG:3A86 A0 07
; -----------------------------------------------------------------------------
; Routine: FindHighestSetBit_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FindHighestSetBit_Block:
asl a ; CPU:$FA88 PRG:3A88 0A
bcs FindHighestSetBit_Block_1 ; CPU:$FA89 PRG:3A89 B0 03
dey ; CPU:$FA8B PRG:3A8B 88
bne FindHighestSetBit_Block ; CPU:$FA8C PRG:3A8C D0 FA
; -----------------------------------------------------------------------------
; Routine: FindHighestSetBit_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
FindHighestSetBit_Block_1:
rts ; CPU:$FA8E PRG:3A8E 60
; -----------------------------------------------------------------------------
; Routine: SubCFA8F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFA8F:
sta ZpF1 ; CPU:$FA8F PRG:3A8F 85 F1
sty ZpF2 ; CPU:$FA91 PRG:3A91 84 F2
; -----------------------------------------------------------------------------
; Routine: WritePulse1ControlDefault
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WritePulse1ControlDefault:
ldy #$7F ; CPU:$FA93 PRG:3A93 A0 7F
; -----------------------------------------------------------------------------
; Routine: WritePulse1Control
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WritePulse1Control:
stx APUPULSE1CTRL ; CPU:$FA95 PRG:3A95 8E 00 40
sty APUPULSE1SWEEP ; CPU:$FA98 PRG:3A98 8C 01 40
rts ; CPU:$FA9B PRG:3A9B 60
; ---- data $FA9C-$FA9E (3 bytes) ----
.byte $20, $95, $FA ; CPU:$FA9C PRG:3A9C 20 95 FA
; -----------------------------------------------------------------------------
; Routine: WriteNoteFrequency
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WriteNoteFrequency:
ldx #$00 ; CPU:$FA9F PRG:3A9F A2 00
; -----------------------------------------------------------------------------
; Routine: WriteTriangleNote_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WriteTriangleNote_Block:
tay ; CPU:$FAA1 PRG:3AA1 A8
lda $FB01,y ; CPU:$FAA2 PRG:3AA2 B9 01 FB
beq WriteTriangleNote_Block_1 ; CPU:$FAA5 PRG:3AA5 F0 0B
sta APUPULSE1TIMERLO,x ; CPU:$FAA7 PRG:3AA7 9D 02 40
lda $FB00,y ; CPU:$FAAA PRG:3AAA B9 00 FB
ora #$08 ; CPU:$FAAD PRG:3AAD 09 08
sta APUPULSE1TIMERHI,x ; CPU:$FAAF PRG:3AAF 9D 03 40
; -----------------------------------------------------------------------------
; Routine: WriteTriangleNote_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WriteTriangleNote_Block_1:
rts ; CPU:$FAB2 PRG:3AB2 60
; -----------------------------------------------------------------------------
; Routine: WritePulse2Note
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WritePulse2Note:
sty APUPULSE2SWEEP ; CPU:$FAB3 PRG:3AB3 8C 05 40
ldx #$04 ; CPU:$FAB6 PRG:3AB6 A2 04
bne WriteTriangleNote_Block ; CPU:$FAB8 PRG:3AB8 D0 E7
; -----------------------------------------------------------------------------
; Routine: WriteTriangleNote
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
WriteTriangleNote:
sta APUTRIANGLECTRL ; CPU:$FABA PRG:3ABA 8D 08 40
txa ; CPU:$FABD PRG:3ABD 8A
and #$3E ; CPU:$FABE PRG:3ABE 29 3E
ldx #$08 ; CPU:$FAC0 PRG:3AC0 A2 08
bne WriteTriangleNote_Block ; CPU:$FAC2 PRG:3AC2 D0 DD
; -----------------------------------------------------------------------------
; Routine: DecodeNotePeriod
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
DecodeNotePeriod:
tax ; CPU:$FAC4 PRG:3AC4 AA
ror a ; CPU:$FAC5 PRG:3AC5 6A
txa ; CPU:$FAC6 PRG:3AC6 8A
rol a ; CPU:$FAC7 PRG:3AC7 2A
rol a ; CPU:$FAC8 PRG:3AC8 2A
rol a ; CPU:$FAC9 PRG:3AC9 2A
; -----------------------------------------------------------------------------
; Routine: LookupNotePeriod
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
LookupNotePeriod:
and #$07 ; CPU:$FACA PRG:3ACA 29 07
clc ; CPU:$FACC PRG:3ACC 18
adc $068D ; CPU:$FACD PRG:3ACD 6D 8D 06
tay ; CPU:$FAD0 PRG:3AD0 A8
lda $FB4C,y ; CPU:$FAD1 PRG:3AD1 B9 4C FB
rts ; CPU:$FAD4 PRG:3AD4 60
; -----------------------------------------------------------------------------
; Routine: SubCFAD5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAD5:
tya ; CPU:$FAD5 PRG:3AD5 98
lsr a ; CPU:$FAD6 PRG:3AD6 4A
; -----------------------------------------------------------------------------
; Routine: SubCFAD7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAD7:
lsr a ; CPU:$FAD7 PRG:3AD7 4A
lsr a ; CPU:$FAD8 PRG:3AD8 4A
sta Zp00 ; CPU:$FAD9 PRG:3AD9 85 00
tya ; CPU:$FADB PRG:3ADB 98
sec ; CPU:$FADC PRG:3ADC 38
sbc Zp00 ; CPU:$FADD PRG:3ADD E5 00
rts ; CPU:$FADF PRG:3ADF 60
; -----------------------------------------------------------------------------
; Routine: SilencePulse1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SilencePulse1:
lda #$90 ; CPU:$FAE0 PRG:3AE0 A9 90
sta APUPULSE1CTRL ; CPU:$FAE2 PRG:3AE2 8D 00 40
rts ; CPU:$FAE5 PRG:3AE5 60
; ---- data $FAE6-$FB74 (143 bytes) ----
; referenced by `lda $FB01,y` at $FAA2 (operand $FB01 falls inside this region)
; referenced by `lda $FB00,y` at $FAAA (operand $FB00 falls inside this region)
; referenced by `lda $FB4C,y` at $FAD1 (operand $FB4C falls inside this region)
; referenced by `ldy $FB67,x` at $FB8B (operand $FB67 falls inside this region)
; referenced by `adc $FB67,x` at $FB9A (operand $FB67 falls inside this region)
; referenced by `ldy $FAF5,x` at $FC32 (operand $FAF5 falls inside this region)
; ... and 1 further references from decoded code
; APU register tables: pulse/noise channel data, frequency LUTs
APUDataTable: .byte $8D, $8D, $8C, $8C, $8B, $8C, $83, $83, $8F, $8F, $8F, $8F, $8D, $85, $84, $85 ; CPU:$FAE6 PRG:3AE6 8D 8D 8C 8C 8B 8C 83 83 8F 8F 8F 8F 8D 85 84 85
.byte $7F, $85, $85, $85, $7F, $8D, $8D, $8D, $8D, $8D, $07, $F0, $00, $00, $00, $69 ; CPU:$FAF6 PRG:3AF6 7F 85 85 85 7F 8D 8D 8D 8D 8D 07 F0 00 00 00 69
.byte $00, $53, $00, $46, $00, $D4, $00, $BD, $00, $A8, $00, $9F, $00, $8D, $00, $7E ; CPU:$FB06 PRG:3B06 00 53 00 46 00 D4 00 BD 00 A8 00 9F 00 8D 00 7E
.byte $01, $AB, $01, $7C, $01, $52, $01, $3F, $01, $1C, $00, $FD, $00, $EE, $00, $E1 ; CPU:$FB16 PRG:3B16 01 AB 01 7C 01 52 01 3F 01 1C 00 FD 00 EE 00 E1
.byte $03, $57, $02, $F9, $02, $CF, $02, $A6, $02, $80, $02, $3A, $02, $1A, $01, $FC ; CPU:$FB26 PRG:3B26 03 57 02 F9 02 CF 02 A6 02 80 02 3A 02 1A 01 FC
.byte $01, $DF, $01, $C4, $06, $AE, $05, $9E, $05, $4D, $05, $01, $04, $75, $04, $35 ; CPU:$FB36 PRG:3B36 01 DF 01 C4 06 AE 05 9E 05 4D 05 01 04 75 04 35
.byte $03, $F8, $03, $BF, $03, $89, $05, $0A, $14, $28, $50, $1E, $3C, $0B, $06, $0C ; CPU:$FB46 PRG:3B46 03 F8 03 BF 03 89 05 0A 14 28 50 1E 3C 0B 06 0C
.byte $18, $30, $60, $24, $48, $07, $0D, $1A, $34, $78, $27, $4E, $0A, $08, $05, $0A ; CPU:$FB56 PRG:3B56 18 30 60 24 48 07 0D 1A 34 78 27 4E 0A 08 05 0A
.byte $09, $50, $40, $46, $4A, $50, $56, $5C, $64, $6C, $74, $7C, $88, $90, $9A ; CPU:$FB66 PRG:3B66 09 50 40 46 4A 50 56 5C 64 6C 74 7C 88 90 9A
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block:
sta ZpF0 ; CPU:$FB75 PRG:3B75 85 F0
sta ZpFB ; CPU:$FB77 PRG:3B77 85 FB
ldy #$08 ; CPU:$FB79 PRG:3B79 A0 08
jmp $FD67 ; CPU:$FB7B PRG:3B7B 4C 67 FD
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_1:
sty ZpF0 ; CPU:$FB7E PRG:3B7E 84 F0
lda #$71 ; CPU:$FB80 PRG:3B80 A9 71
ldy #$00 ; CPU:$FB82 PRG:3B82 A0 00
ldx #$9F ; CPU:$FB84 PRG:3B84 A2 9F
jsr $FA8F ; CPU:$FB86 PRG:3B86 20 8F FA
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_2:
ldx ZpF2 ; CPU:$FB89 PRG:3B89 A6 F2
ldy $FB67,x ; CPU:$FB8B PRG:3B8B BC 67 FB
dec ZpF1 ; CPU:$FB8E PRG:3B8E C6 F1
lda ZpF1 ; CPU:$FB90 PRG:3B90 A5 F1
beq ProcessSoundCommands_Block ; CPU:$FB92 PRG:3B92 F0 E1
and #$07 ; CPU:$FB94 PRG:3B94 29 07
bne ProcessSoundCommands_Block_3 ; CPU:$FB96 PRG:3B96 D0 08
tya ; CPU:$FB98 PRG:3B98 98
lsr a ; CPU:$FB99 PRG:3B99 4A
adc $FB67,x ; CPU:$FB9A PRG:3B9A 7D 67 FB
tay ; CPU:$FB9D PRG:3B9D A8
bne ProcessSoundCommands_Block_4 ; CPU:$FB9E PRG:3B9E D0 07
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_3:
and #$03 ; CPU:$FBA0 PRG:3BA0 29 03
bne ProcessSoundCommands_Block_6 ; CPU:$FBA2 PRG:3BA2 D0 0E
inc ZpF2 ; CPU:$FBA4 PRG:3BA4 E6 F2
clc ; CPU:$FBA6 PRG:3BA6 18
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_4:
sty APUPULSE1TIMERLO ; CPU:$FBA7 PRG:3BA7 8C 02 40
ldy #$28 ; CPU:$FBAA PRG:3BAA A0 28
bcc ProcessSoundCommands_Block_5 ; CPU:$FBAC PRG:3BAC 90 01
iny ; CPU:$FBAE PRG:3BAE C8
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_5:
sty APUPULSE1TIMERHI ; CPU:$FBAF PRG:3BAF 8C 03 40
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_6:
lda #$00 ; CPU:$FBB2 PRG:3BB2 A9 00
jmp $FE00 ; CPU:$FBB4 PRG:3BB4 4C 00 FE
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_7:
sty ZpF0 ; CPU:$FBB7 PRG:3BB7 84 F0
lda #$54 ; CPU:$FBB9 PRG:3BB9 A9 54
ldy #$6A ; CPU:$FBBB PRG:3BBB A0 6A
ldx #$9C ; CPU:$FBBD PRG:3BBD A2 9C
jsr $FA8F ; CPU:$FBBF PRG:3BBF 20 8F FA
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_8:
ldy ZpF2 ; CPU:$FBC2 PRG:3BC2 A4 F2
lda ZpF1 ; CPU:$FBC4 PRG:3BC4 A5 F1
and #$03 ; CPU:$FBC6 PRG:3BC6 29 03
beq ProcessSoundCommands_Block_9 ; CPU:$FBC8 PRG:3BC8 F0 0A
cmp #$03 ; CPU:$FBCA PRG:3BCA C9 03
bne ProcessSoundCommands_Block_10 ; CPU:$FBCC PRG:3BCC D0 0B
jsr $FAD5 ; CPU:$FBCE PRG:3BCE 20 D5 FA
sta ZpF2 ; CPU:$FBD1 PRG:3BD1 85 F2
tay ; CPU:$FBD3 PRG:3BD3 A8
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_9:
tya ; CPU:$FBD4 PRG:3BD4 98
lsr a ; CPU:$FBD5 PRG:3BD5 4A
adc ZpF2 ; CPU:$FBD6 PRG:3BD6 65 F2
tay ; CPU:$FBD8 PRG:3BD8 A8
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_10:
tya ; CPU:$FBD9 PRG:3BD9 98
rol a ; CPU:$FBDA PRG:3BDA 2A
rol a ; CPU:$FBDB PRG:3BDB 2A
rol a ; CPU:$FBDC PRG:3BDC 2A
sta APUPULSE1TIMERLO ; CPU:$FBDD PRG:3BDD 8D 02 40
rol a ; CPU:$FBE0 PRG:3BE0 2A
sta APUPULSE1TIMERHI ; CPU:$FBE1 PRG:3BE1 8D 03 40
lda ZpF1 ; CPU:$FBE4 PRG:3BE4 A5 F1
cmp #$18 ; CPU:$FBE6 PRG:3BE6 C9 18
bcs ProcessSoundCommands_Block_16 ; CPU:$FBE8 PRG:3BE8 B0 5A
lsr a ; CPU:$FBEA PRG:3BEA 4A
ora #$90 ; CPU:$FBEB PRG:3BEB 09 90
sta APUPULSE1CTRL ; CPU:$FBED PRG:3BED 8D 00 40
bne ProcessSoundCommands_Block_16 ; CPU:$FBF0 PRG:3BF0 D0 52
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands:
ldy ZpFF ; CPU:$FBF2 PRG:3BF2 A4 FF
lda ZpF0 ; CPU:$FBF4 PRG:3BF4 A5 F0
lsr a ; CPU:$FBF6 PRG:3BF6 4A
bcs ProcessSoundCommands_Block_2 ; CPU:$FBF7 PRG:3BF7 B0 90
lsr ZpFF ; CPU:$FBF9 PRG:3BF9 46 FF
bcs ProcessSoundCommands_Block_1 ; CPU:$FBFB PRG:3BFB B0 81
ldx ZpFA ; CPU:$FBFD PRG:3BFD A6 FA
bne ProcessSoundCommands_Block_17 ; CPU:$FBFF PRG:3BFF D0 4A
lsr a ; CPU:$FC01 PRG:3C01 4A
bcs ProcessSoundCommands_Block_8 ; CPU:$FC02 PRG:3C02 B0 BE
lsr ZpFF ; CPU:$FC04 PRG:3C04 46 FF
bcs ProcessSoundCommands_Block_7 ; CPU:$FC06 PRG:3C06 B0 AF
lsr a ; CPU:$FC08 PRG:3C08 4A
bcs ProcessSoundCommands_Block_13 ; CPU:$FC09 PRG:3C09 B0 1D
lsr ZpFF ; CPU:$FC0B PRG:3C0B 46 FF
bcs ProcessSoundCommands_Block_12 ; CPU:$FC0D PRG:3C0D B0 0A
lsr a ; CPU:$FC0F PRG:3C0F 4A
bcs ProcessSoundCommands_Block_19 ; CPU:$FC10 PRG:3C10 B0 50
lsr ZpFF ; CPU:$FC12 PRG:3C12 46 FF
bcs ProcessSoundCommands_Block_18 ; CPU:$FC14 PRG:3C14 B0 3B
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_11
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_11:
jmp $FC90 ; CPU:$FC16 PRG:3C16 4C 90 FC
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_12:
sty ZpF0 ; CPU:$FC19 PRG:3C19 84 F0
lda #$22 ; CPU:$FC1B PRG:3C1B A9 22
sta ZpF1 ; CPU:$FC1D PRG:3C1D 85 F1
ldy #$0B ; CPU:$FC1F PRG:3C1F A0 0B
sty ZpF2 ; CPU:$FC21 PRG:3C21 84 F2
lda #$20 ; CPU:$FC23 PRG:3C23 A9 20
jsr $FA9F ; CPU:$FC25 PRG:3C25 20 9F FA
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_13
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_13:
dec ZpF2 ; CPU:$FC28 PRG:3C28 C6 F2
bne ProcessSoundCommands_Block_14 ; CPU:$FC2A PRG:3C2A D0 04
lda #$07 ; CPU:$FC2C PRG:3C2C A9 07
sta ZpF2 ; CPU:$FC2E PRG:3C2E 85 F2
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_14
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_14:
ldx ZpF2 ; CPU:$FC30 PRG:3C30 A6 F2
ldy $FAF5,x ; CPU:$FC32 PRG:3C32 BC F5 FA
ldx #$5A ; CPU:$FC35 PRG:3C35 A2 5A
lda ZpF1 ; CPU:$FC37 PRG:3C37 A5 F1
cmp #$14 ; CPU:$FC39 PRG:3C39 C9 14
bcs ProcessSoundCommands_Block_15 ; CPU:$FC3B PRG:3C3B B0 04
lsr a ; CPU:$FC3D PRG:3C3D 4A
ora #$50 ; CPU:$FC3E PRG:3C3E 09 50
tax ; CPU:$FC40 PRG:3C40 AA
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_15
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_15:
jsr $FA95 ; CPU:$FC41 PRG:3C41 20 95 FA
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_16
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_16:
dec ZpF1 ; CPU:$FC44 PRG:3C44 C6 F1
bne ProcessSoundCommands_Block_11 ; CPU:$FC46 PRG:3C46 D0 CE
jsr $FAE0 ; CPU:$FC48 PRG:3C48 20 E0 FA
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_17
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_17:
lda #$00 ; CPU:$FC4B PRG:3C4B A9 00
sta ZpF0 ; CPU:$FC4D PRG:3C4D 85 F0
beq ProcessSoundCommands_Block_11 ; CPU:$FC4F PRG:3C4F F0 C5
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_18
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_18:
sty ZpF0 ; CPU:$FC51 PRG:3C51 84 F0
lda #$0A ; CPU:$FC53 PRG:3C53 A9 0A
sta ZpF1 ; CPU:$FC55 PRG:3C55 85 F1
ldy $06F0 ; CPU:$FC57 PRG:3C57 AC F0 06
sty APUPULSE1TIMERLO ; CPU:$FC5A PRG:3C5A 8C 02 40
lda #$88 ; CPU:$FC5D PRG:3C5D A9 88
sta APUPULSE1TIMERHI ; CPU:$FC5F PRG:3C5F 8D 03 40
; -----------------------------------------------------------------------------
; Routine: ProcessSoundCommands_Block_19
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ProcessSoundCommands_Block_19:
lda Zp18 ; CPU:$FC62 PRG:3C62 A5 18
and #$08 ; CPU:$FC64 PRG:3C64 29 08
clc ; CPU:$FC66 PRG:3C66 18
adc ZpF1 ; CPU:$FC67 PRG:3C67 65 F1
adc #$FE ; CPU:$FC69 PRG:3C69 69 FE
tax ; CPU:$FC6B PRG:3C6B AA
ldy $FAE5,x ; CPU:$FC6C PRG:3C6C BC E5 FA
ldx #$41 ; CPU:$FC6F PRG:3C6F A2 41
bne ProcessSoundCommands_Block_15 ; CPU:$FC71 PRG:3C71 D0 CE
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block:
lda #$0E ; CPU:$FC73 PRG:3C73 A9 0E
sta $06A5 ; CPU:$FC75 PRG:3C75 8D A5 06
ldy #$85 ; CPU:$FC78 PRG:3C78 A0 85
lda #$46 ; CPU:$FC7A PRG:3C7A A9 46
jsr $FAB3 ; CPU:$FC7C PRG:3C7C 20 B3 FA
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_1:
dec $06A5 ; CPU:$FC7F PRG:3C7F CE A5 06
beq SubCFC90_Block_2 ; CPU:$FC82 PRG:3C82 F0 19
lda $06A5 ; CPU:$FC84 PRG:3C84 AD A5 06
ora #$90 ; CPU:$FC87 PRG:3C87 09 90
tay ; CPU:$FC89 PRG:3C89 A8
dey ; CPU:$FC8A PRG:3C8A 88
sty APUPULSE2CTRL ; CPU:$FC8B PRG:3C8B 8C 04 40
bne SubCFC90_Block_2 ; CPU:$FC8E PRG:3C8E D0 0D
; -----------------------------------------------------------------------------
; Routine: SubCFC90
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90:
lda ZpF3 ; CPU:$FC90 PRG:3C90 A5 F3
bne SubCFC90_Block_2 ; CPU:$FC92 PRG:3C92 D0 09
lda $06A5 ; CPU:$FC94 PRG:3C94 AD A5 06
bne SubCFC90_Block_1 ; CPU:$FC97 PRG:3C97 D0 E6
ldy ZpFE ; CPU:$FC99 PRG:3C99 A4 FE
bmi SubCFC90_Block ; CPU:$FC9B PRG:3C9B 30 D6
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_2:
lda ZpFC ; CPU:$FC9D PRG:3C9D A5 FC
bne SubCFC90_Block_11 ; CPU:$FC9F PRG:3C9F D0 6A
lda ZpF9 ; CPU:$FCA1 PRG:3CA1 A5 F9
bne SubCFC90_Block_11 ; CPU:$FCA3 PRG:3CA3 D0 66
ldy ZpFE ; CPU:$FCA5 PRG:3CA5 A4 FE
lda $06A1 ; CPU:$FCA7 PRG:3CA7 AD A1 06
lsr ZpFE ; CPU:$FCAA PRG:3CAA 46 FE
bcs SubCFC90_Block_3 ; CPU:$FCAC PRG:3CAC B0 0C
lsr a ; CPU:$FCAE PRG:3CAE 4A
bcs SubCFC90_Block_4 ; CPU:$FCAF PRG:3CAF B0 0D
lsr a ; CPU:$FCB1 PRG:3CB1 4A
bcs SubCFC90_Block_9 ; CPU:$FCB2 PRG:3CB2 B0 3C
lsr ZpFE ; CPU:$FCB4 PRG:3CB4 46 FE
bcs SubCFC90_Block_7 ; CPU:$FCB6 PRG:3CB6 B0 23
bcc SubCFC90_Block_11 ; CPU:$FCB8 PRG:3CB8 90 51
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_3:
lda #$28 ; CPU:$FCBA PRG:3CBA A9 28
bne SubCFC90_Block_8 ; CPU:$FCBC PRG:3CBC D0 1F
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_4:
lda ZpF5 ; CPU:$FCBE PRG:3CBE A5 F5
bne SubCFC90_Block_5 ; CPU:$FCC0 PRG:3CC0 D0 04
lsr ZpFE ; CPU:$FCC2 PRG:3CC2 46 FE
bcs SubCFC90_Block_7 ; CPU:$FCC4 PRG:3CC4 B0 15
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_5:
lda ZpF6 ; CPU:$FCC6 PRG:3CC6 A5 F6
lsr a ; CPU:$FCC8 PRG:3CC8 4A
lsr a ; CPU:$FCC9 PRG:3CC9 4A
lsr a ; CPU:$FCCA PRG:3CCA 4A
lsr a ; CPU:$FCCB PRG:3CCB 4A
lsr a ; CPU:$FCCC PRG:3CCC 4A
adc ZpF6 ; CPU:$FCCD PRG:3CCD 65 F6
bcc SubCFC90_Block_10 ; CPU:$FCCF PRG:3CCF 90 2F
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_6:
lda #$00 ; CPU:$FCD1 PRG:3CD1 A9 00
sta $06A1 ; CPU:$FCD3 PRG:3CD3 8D A1 06
sta APUTRIANGLECTRL ; CPU:$FCD6 PRG:3CD6 8D 08 40
beq SubCFC90_Block_11 ; CPU:$FCD9 PRG:3CD9 F0 30
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_7:
lda #$FE ; CPU:$FCDB PRG:3CDB A9 FE
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_8:
sty $06A1 ; CPU:$FCDD PRG:3CDD 8C A1 06
ldx #$0E ; CPU:$FCE0 PRG:3CE0 A2 0E
stx ZpF5 ; CPU:$FCE2 PRG:3CE2 86 F5
ldy #$FF ; CPU:$FCE4 PRG:3CE4 A0 FF
sty APUTRIANGLECTRL ; CPU:$FCE6 PRG:3CE6 8C 08 40
ldy #$08 ; CPU:$FCE9 PRG:3CE9 A0 08
sty APUTRIANGLETIMERHI ; CPU:$FCEB PRG:3CEB 8C 0B 40
bne SubCFC90_Block_10 ; CPU:$FCEE PRG:3CEE D0 10
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_9:
lda #$FE ; CPU:$FCF0 PRG:3CF0 A9 FE
ldy ZpF5 ; CPU:$FCF2 PRG:3CF2 A4 F5
beq SubCFC90_Block_6 ; CPU:$FCF4 PRG:3CF4 F0 DB
cpy #$07 ; CPU:$FCF6 PRG:3CF6 C0 07
beq SubCFC90_Block_10 ; CPU:$FCF8 PRG:3CF8 F0 06
lda ZpF6 ; CPU:$FCFA PRG:3CFA A5 F6
tay ; CPU:$FCFC PRG:3CFC A8
jsr $FAD7 ; CPU:$FCFD PRG:3CFD 20 D7 FA
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_10:
sta ZpF6 ; CPU:$FD00 PRG:3D00 85 F6
sta APUTRIANGLETIMERLO ; CPU:$FD02 PRG:3D02 8D 0A 40
lda ZpF5 ; CPU:$FD05 PRG:3D05 A5 F5
beq SubCFC90_Block_11 ; CPU:$FD07 PRG:3D07 F0 02
dec ZpF5 ; CPU:$FD09 PRG:3D09 C6 F5
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_11
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_11:
ldx ZpFA ; CPU:$FD0B PRG:3D0B A6 FA
bne SubCFC90_Block_16 ; CPU:$FD0D PRG:3D0D D0 49
lda ZpFC ; CPU:$FD0F PRG:3D0F A5 FC
bne SubCFC90_Block_12 ; CPU:$FD11 PRG:3D11 D0 05
sta $06A3 ; CPU:$FD13 PRG:3D13 8D A3 06
beq SubCFC90_Block_16 ; CPU:$FD16 PRG:3D16 F0 40
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_12:
eor $06A3 ; CPU:$FD18 PRG:3D18 4D A3 06
beq SubCFC90_Block_14 ; CPU:$FD1B PRG:3D1B F0 18
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_13
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_13:
lda ZpFC ; CPU:$FD1D PRG:3D1D A5 FC
sta $06A3 ; CPU:$FD1F PRG:3D1F 8D A3 06
jsr $FA86 ; CPU:$FD22 PRG:3D22 20 86 FA
lda $FFCD,y ; CPU:$FD25 PRG:3D25 B9 CD FF
sta $0680 ; CPU:$FD28 PRG:3D28 8D 80 06
lda #$D4 ; CPU:$FD2B PRG:3D2B A9 D4
sta ZpF5 ; CPU:$FD2D PRG:3D2D 85 F5
lda #$FF ; CPU:$FD2F PRG:3D2F A9 FF
sta ZpF6 ; CPU:$FD31 PRG:3D31 85 F6
bne SubCFC90_Block_15 ; CPU:$FD33 PRG:3D33 D0 05
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_14
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_14:
dec $0698 ; CPU:$FD35 PRG:3D35 CE 98 06
bne SubCFC90_Block_16 ; CPU:$FD38 PRG:3D38 D0 1E
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_15
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_15:
ldy $0680 ; CPU:$FD3A PRG:3D3A AC 80 06
inc $0680 ; CPU:$FD3D PRG:3D3D EE 80 06
lda (ZpF5),y ; CPU:$FD40 PRG:3D40 B1 F5
beq SubCFC90_Block_13 ; CPU:$FD42 PRG:3D42 F0 D9
tax ; CPU:$FD44 PRG:3D44 AA
ror a ; CPU:$FD45 PRG:3D45 6A
txa ; CPU:$FD46 PRG:3D46 8A
rol a ; CPU:$FD47 PRG:3D47 2A
rol a ; CPU:$FD48 PRG:3D48 2A
rol a ; CPU:$FD49 PRG:3D49 2A
and #$07 ; CPU:$FD4A PRG:3D4A 29 07
tay ; CPU:$FD4C PRG:3D4C A8
lda $FB62,y ; CPU:$FD4D PRG:3D4D B9 62 FB
sta $0698 ; CPU:$FD50 PRG:3D50 8D 98 06
lda #$10 ; CPU:$FD53 PRG:3D53 A9 10
jsr $FABA ; CPU:$FD55 PRG:3D55 20 BA FA
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_16
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_16:
lda ZpFD ; CPU:$FD58 PRG:3D58 A5 FD
bne SubCFC90_Block_17 ; CPU:$FD5A PRG:3D5A D0 06
lda $0102 ; CPU:$FD5C PRG:3D5C AD 02 01
bne InitSoundEffect_Block ; CPU:$FD5F PRG:3D5F D0 3A
rts ; CPU:$FD61 PRG:3D61 60
; -----------------------------------------------------------------------------
; Routine: SubCFC90_Block_17
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC90_Block_17:
jsr $FA86 ; CPU:$FD62 PRG:3D62 20 86 FA
sty ZpFB ; CPU:$FD65 PRG:3D65 84 FB
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect:
lda $FE59,y ; CPU:$FD67 PRG:3D67 B9 59 FE
tay ; CPU:$FD6A PRG:3D6A A8
lda $FE59,y ; CPU:$FD6B PRG:3D6B B9 59 FE
sta $068D ; CPU:$FD6E PRG:3D6E 8D 8D 06
lda $FE5A,y ; CPU:$FD71 PRG:3D71 B9 5A FE
sta ZpF7 ; CPU:$FD74 PRG:3D74 85 F7
lda $FE5B,y ; CPU:$FD76 PRG:3D76 B9 5B FE
sta ZpF8 ; CPU:$FD79 PRG:3D79 85 F8
lda $FE5C,y ; CPU:$FD7B PRG:3D7B B9 5C FE
sta ZpF9 ; CPU:$FD7E PRG:3D7E 85 F9
lda $FE5D,y ; CPU:$FD80 PRG:3D80 B9 5D FE
sta ZpFA ; CPU:$FD83 PRG:3D83 85 FA
lda #$01 ; CPU:$FD85 PRG:3D85 A9 01
sta $0695 ; CPU:$FD87 PRG:3D87 8D 95 06
sta $0696 ; CPU:$FD8A PRG:3D8A 8D 96 06
sta $0698 ; CPU:$FD8D PRG:3D8D 8D 98 06
sta $0102 ; CPU:$FD90 PRG:3D90 8D 02 01
ldy #$00 ; CPU:$FD93 PRG:3D93 A0 00
sty ZpF3 ; CPU:$FD95 PRG:3D95 84 F3
lda ZpFB ; CPU:$FD97 PRG:3D97 A5 FB
beq InitSoundEffect_Block_1 ; CPU:$FD99 PRG:3D99 F0 09
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block:
ldy ZpFA ; CPU:$FD9B PRG:3D9B A4 FA
beq InitSoundEffect_Block_5 ; CPU:$FD9D PRG:3D9D F0 39
dec $0696 ; CPU:$FD9F PRG:3D9F CE 96 06
bne InitSoundEffect_Block_5 ; CPU:$FDA2 PRG:3DA2 D0 34
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_1:
inc ZpFA ; CPU:$FDA4 PRG:3DA4 E6 FA
lda (ZpF7),y ; CPU:$FDA6 PRG:3DA6 B1 F7
beq InitSoundEffect_Block_6 ; CPU:$FDA8 PRG:3DA8 F0 3F
bpl InitSoundEffect_Block_2 ; CPU:$FDAA PRG:3DAA 10 0C
jsr $FACA ; CPU:$FDAC PRG:3DAC 20 CA FA
sta $0691 ; CPU:$FDAF PRG:3DAF 8D 91 06
ldy ZpFA ; CPU:$FDB2 PRG:3DB2 A4 FA
inc ZpFA ; CPU:$FDB4 PRG:3DB4 E6 FA
lda (ZpF7),y ; CPU:$FDB6 PRG:3DB6 B1 F7
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_2:
jsr $FA9F ; CPU:$FDB8 PRG:3DB8 20 9F FA
bne InitSoundEffect_Block_3 ; CPU:$FDBB PRG:3DBB D0 04
ldy #$10 ; CPU:$FDBD PRG:3DBD A0 10
bne InitSoundEffect_Block_4 ; CPU:$FDBF PRG:3DBF D0 0E
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_3:
ldx #$9F ; CPU:$FDC1 PRG:3DC1 A2 9F
lda ZpFB ; CPU:$FDC3 PRG:3DC3 A5 FB
beq InitSoundEffect_Block_4 ; CPU:$FDC5 PRG:3DC5 F0 08
ldx #$06 ; CPU:$FDC7 PRG:3DC7 A2 06
lda ZpF9 ; CPU:$FDC9 PRG:3DC9 A5 F9
bne InitSoundEffect_Block_4 ; CPU:$FDCB PRG:3DCB D0 02
ldx #$86 ; CPU:$FDCD PRG:3DCD A2 86
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_4:
jsr $FA93 ; CPU:$FDCF PRG:3DCF 20 93 FA
lda $0691 ; CPU:$FDD2 PRG:3DD2 AD 91 06
sta $0696 ; CPU:$FDD5 PRG:3DD5 8D 96 06
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_5:
lda ZpFB ; CPU:$FDD8 PRG:3DD8 A5 FB
beq InitSoundEffect_Block_10 ; CPU:$FDDA PRG:3DDA F0 55
dec $0695 ; CPU:$FDDC PRG:3DDC CE 95 06
bne InitSoundEffect_Block_10 ; CPU:$FDDF PRG:3DDF D0 50
ldy ZpF3 ; CPU:$FDE1 PRG:3DE1 A4 F3
inc ZpF3 ; CPU:$FDE3 PRG:3DE3 E6 F3
lda (ZpF7),y ; CPU:$FDE5 PRG:3DE5 B1 F7
bne InitSoundEffect_Block_7 ; CPU:$FDE7 PRG:3DE7 D0 20
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_6:
jsr $FAE0 ; CPU:$FDE9 PRG:3DE9 20 E0 FA
lda #$00 ; CPU:$FDEC PRG:3DEC A9 00
sta ZpFA ; CPU:$FDEE PRG:3DEE 85 FA
sta ZpF3 ; CPU:$FDF0 PRG:3DF0 85 F3
sta ZpF9 ; CPU:$FDF2 PRG:3DF2 85 F9
sta $0102 ; CPU:$FDF4 PRG:3DF4 8D 02 01
ldy ZpFB ; CPU:$FDF7 PRG:3DF7 A4 FB
beq SilenceTriangleAndNoise ; CPU:$FDF9 PRG:3DF9 F0 05
ldy $06A1 ; CPU:$FDFB PRG:3DFB AC A1 06
bne SilenceTriangleAndNoise_Block ; CPU:$FDFE PRG:3DFE D0 03
; -----------------------------------------------------------------------------
; Routine: SilenceTriangleAndNoise
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SilenceTriangleAndNoise:
sta APUTRIANGLECTRL ; CPU:$FE00 PRG:3E00 8D 08 40
; -----------------------------------------------------------------------------
; Routine: SilenceTriangleAndNoise_Block
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SilenceTriangleAndNoise_Block:
lda #$10 ; CPU:$FE03 PRG:3E03 A9 10
sta APUPULSE2CTRL ; CPU:$FE05 PRG:3E05 8D 04 40
rts ; CPU:$FE08 PRG:3E08 60
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_7:
jsr $FAC4 ; CPU:$FE09 PRG:3E09 20 C4 FA
sta $0695 ; CPU:$FE0C PRG:3E0C 8D 95 06
txa ; CPU:$FE0F PRG:3E0F 8A
and #$3E ; CPU:$FE10 PRG:3E10 29 3E
ldy #$7F ; CPU:$FE12 PRG:3E12 A0 7F
jsr $FAB3 ; CPU:$FE14 PRG:3E14 20 B3 FA
bne InitSoundEffect_Block_8 ; CPU:$FE17 PRG:3E17 D0 04
ldx #$10 ; CPU:$FE19 PRG:3E19 A2 10
bne InitSoundEffect_Block_9 ; CPU:$FE1B PRG:3E1B D0 11
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_8:
ldx #$89 ; CPU:$FE1D PRG:3E1D A2 89
lda $0695 ; CPU:$FE1F PRG:3E1F AD 95 06
cmp #$18 ; CPU:$FE22 PRG:3E22 C9 18
bcs InitSoundEffect_Block_9 ; CPU:$FE24 PRG:3E24 B0 08
ldx #$86 ; CPU:$FE26 PRG:3E26 A2 86
cmp #$10 ; CPU:$FE28 PRG:3E28 C9 10
bcs InitSoundEffect_Block_9 ; CPU:$FE2A PRG:3E2A B0 02
ldx #$84 ; CPU:$FE2C PRG:3E2C A2 84
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_9:
stx APUPULSE2CTRL ; CPU:$FE2E PRG:3E2E 8E 04 40
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_10:
ldy ZpF9 ; CPU:$FE31 PRG:3E31 A4 F9
beq InitSoundEffect_Block_13 ; CPU:$FE33 PRG:3E33 F0 23
dec $0698 ; CPU:$FE35 PRG:3E35 CE 98 06
bne InitSoundEffect_Block_13 ; CPU:$FE38 PRG:3E38 D0 1E
inc ZpF9 ; CPU:$FE3A PRG:3E3A E6 F9
lda (ZpF7),y ; CPU:$FE3C PRG:3E3C B1 F7
jsr $FAC4 ; CPU:$FE3E PRG:3E3E 20 C4 FA
sta $0698 ; CPU:$FE41 PRG:3E41 8D 98 06
clc ; CPU:$FE44 PRG:3E44 18
adc #$FE ; CPU:$FE45 PRG:3E45 69 FE
asl a ; CPU:$FE47 PRG:3E47 0A
asl a ; CPU:$FE48 PRG:3E48 0A
cmp #$38 ; CPU:$FE49 PRG:3E49 C9 38
bcc InitSoundEffect_Block_11 ; CPU:$FE4B PRG:3E4B 90 02
lda #$38 ; CPU:$FE4D PRG:3E4D A9 38
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_11
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_11:
ldy ZpFB ; CPU:$FE4F PRG:3E4F A4 FB
bne InitSoundEffect_Block_12 ; CPU:$FE51 PRG:3E51 D0 02
lda #$FF ; CPU:$FE53 PRG:3E53 A9 FF
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_12:
jsr $FABA ; CPU:$FE55 PRG:3E55 20 BA FA
; -----------------------------------------------------------------------------
; Routine: InitSoundEffect_Block_13
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSoundEffect_Block_13:
rts ; CPU:$FE58 PRG:3E58 60
; ---- data $FE59-$FFEF (407 bytes) ----
; referenced by `lda $FFCD,y` at $FD25 (operand $FFCD falls inside this region)
; referenced by `lda $FE59,y` at $FD67 (operand $FE59 falls inside this region)
; referenced by `lda $FE59,y` at $FD6B (operand $FE59 falls inside this region)
; referenced by `lda $FE5A,y` at $FD71 (operand $FE5A falls inside this region)
; referenced by `lda $FE5B,y` at $FD76 (operand $FE5B falls inside this region)
; referenced by `lda $FE5C,y` at $FD7B (operand $FE5C falls inside this region)
; ... and 1 further references from decoded code
; Sound effect data: frequency sweeps, envelope shapes, channel configs
SfxDataTable: .byte $09, $0E, $13, $18, $1D, $22, $27, $2C, $31, $00, $8F, $FE, $1B, $00, $08, $B0 ; CPU:$FE59 PRG:3E59 09 0E 13 18 1D 22 27 2C 31 00 8F FE 1B 00 08 B0
.byte $FE, $00, $0C, $00, $CF, $FE, $00, $1A, $08, $05, $FF, $00, $0B, $00, $AD, $FF ; CPU:$FE69 PRG:3E69 FE 00 0C 00 CF FE 00 1A 08 05 FF 00 0B 00 AD FF
.byte $00, $03, $00, $BE, $FF, $00, $00, $00, $C4, $FF, $00, $00, $0F, $20, $FF, $21 ; CPU:$FE79 PRG:3E79 00 03 00 BE FF 00 00 00 C4 FF 00 00 0F 20 FF 21
.byte $3E, $00, $A1, $FF, $08, $00, $86, $46, $82, $4A, $83, $26, $46, $80, $34, $32 ; CPU:$FE89 PRG:3E89 3E 00 A1 FF 08 00 86 46 82 4A 83 26 46 80 34 32
.byte $34, $32, $34, $32, $34, $32, $34, $32, $34, $32, $34, $32, $34, $32, $84, $34 ; CPU:$FE99 PRG:3E99 34 32 34 32 34 32 34 32 34 32 34 32 34 32 84 34
.byte $00, $A9, $AC, $EE, $E8, $33, $35, $16, $16, $57, $1E, $20, $64, $9E, $1E, $20 ; CPU:$FEA9 PRG:3EA9 00 A9 AC EE E8 33 35 16 16 57 1E 20 64 9E 1E 20
.byte $64, $9E, $00, $80, $30, $30, $85, $30, $80, $1A, $1C, $81, $1E, $82, $1A, $80 ; CPU:$FEB9 PRG:3EB9 64 9E 00 80 30 30 85 30 80 1A 1C 81 1E 82 1A 80
.byte $1A, $1C, $81, $1E, $82, $1A, $5E, $5E, $5C, $5C, $5A, $5A, $58, $58, $57, $16 ; CPU:$FEC9 PRG:3EC9 1A 1C 81 1E 82 1A 5E 5E 5C 5C 5A 5A 58 58 57 16
.byte $18, $9A, $96, $59, $18, $1A, $9C, $98, $5F, $5E, $60, $5E, $5C, $5A, $1F, $00 ; CPU:$FED9 PRG:3ED9 18 9A 96 59 18 1A 9C 98 5F 5E 60 5E 5C 5A 1F 00
.byte $81, $1A, $1A, $18, $18, $16, $16, $38, $38, $82, $26, $42, $26, $42, $28, $46 ; CPU:$FEE9 PRG:3EE9 81 1A 1A 18 18 16 16 38 38 82 26 42 26 42 28 46
.byte $28, $46, $30, $28, $30, $28, $81, $3A, $85, $3C, $84, $3A, $5E, $02, $20, $42 ; CPU:$FEF9 PRG:3EF9 28 46 30 28 30 28 81 3A 85 3C 84 3A 5E 02 20 42
.byte $4A, $42, $60, $5E, $60, $1D, $00, $82, $26, $42, $26, $42, $81, $40, $80, $42 ; CPU:$FF09 PRG:3F09 4A 42 60 5E 60 1D 00 82 26 42 26 42 81 40 80 42
.byte $44, $48, $26, $28, $2C, $83, $2E, $56, $56, $E0, $42, $5A, $5E, $5C, $99, $58 ; CPU:$FF19 PRG:3F19 44 48 26 28 2C 83 2E 56 56 E0 42 5A 5E 5C 99 58
.byte $58, $E2, $42, $5E, $60, $5E, $9B, $5A, $5A, $CA, $42, $60, $62, $4A, $8D, $5C ; CPU:$FF29 PRG:3F29 58 E2 42 5E 60 5E 9B 5A 5A CA 42 60 62 4A 8D 5C
.byte $5E, $E0, $42, $5A, $5C, $5E, $1D, $00, $82, $6F, $6E, $EE, $71, $70, $F0, $77 ; CPU:$FF39 PRG:3F39 5E E0 42 5A 5C 5E 1D 00 82 6F 6E EE 71 70 F0 77
.byte $76, $F6, $57, $56, $D6, $A0, $9A, $96, $B4, $A2, $9C, $98, $B6, $5C, $9C, $96 ; CPU:$FF49 PRG:3F49 76 F6 57 56 D6 A0 9A 96 B4 A2 9C 98 B6 5C 9C 96
.byte $57, $5C, $96, $74, $2F, $85, $02, $81, $2E, $34, $2E, $83, $34, $81, $48, $28 ; CPU:$FF59 PRG:3F59 57 5C 96 74 2F 85 02 81 2E 34 2E 83 34 81 48 28
.byte $30, $28, $30, $28, $85, $30, $81, $30, $36, $30, $83, $36, $81, $26, $2C, $30 ; CPU:$FF69 PRG:3F69 30 28 30 28 85 30 81 30 36 30 83 36 81 26 2C 30
.byte $2C, $30, $2C, $16, $16, $1A, $16, $34, $16, $1A, $16, $34, $16, $1C, $18, $36 ; CPU:$FF79 PRG:3F79 2C 30 2C 16 16 1A 16 34 16 1A 16 34 16 1C 18 36
.byte $18, $1C, $18, $36, $18, $16, $2E, $80, $16, $36, $34, $36, $83, $16, $81, $02 ; CPU:$FF89 PRG:3F89 18 1C 18 36 18 16 2E 80 16 36 34 36 83 16 81 02
.byte $2E, $80, $16, $36, $34, $30, $86, $2E, $81, $1A, $82, $1E, $30, $83, $16, $00 ; CPU:$FF99 PRG:3F99 2E 80 16 36 34 30 86 2E 81 1A 82 1E 30 83 16 00
.byte $42, $96, $B0, $E6, $03, $83, $00, $87, $42, $3E, $42, $3E, $42, $3E, $42, $3E ; CPU:$FFA9 PRG:3FA9 42 96 B0 E6 03 83 00 87 42 3E 42 3E 42 3E 42 3E
.byte $42, $3E, $42, $82, $3E, $0A, $0C, $0E, $54, $90, $00, $04, $12, $04, $12, $04 ; CPU:$FFB9 PRG:3FB9 42 3E 42 82 3E 0A 0C 0E 54 90 00 04 12 04 12 04
.byte $12, $04, $92, $00, $00, $00, $00, $00, $09, $0E, $12, $16, $02, $02, $1A, $02 ; CPU:$FFC9 PRG:3FC9 12 04 92 00 00 00 00 00 09 0E 12 16 02 02 1A 02
.byte $1E, $20, $1E, $00, $5A, $42, $56, $56, $00, $09, $07, $05, $00, $CA, $8A, $8A ; CPU:$FFD9 PRG:3FD9 1E 20 1E 00 5A 42 56 56 00 09 07 05 00 CA 8A 8A
.byte $CA, $CA, $CE, $CA, $CE, $CA, $CE ; CPU:$FFE9 PRG:3FE9 CA CA CE CA CE CA CE
; -----------------------------------------------------------------------------
; Routine: IrqHandler
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
IrqHandler:
stx $CE8E ; CPU:$FFF0 PRG:3FF0 8E 8E CE
dec $CED2 ; CPU:$FFF3 PRG:3FF3 CE D2 CE
; ---- data $FFF6-$FFFF (10 bytes) ----
; Vector table at end of PRG ROM ($FFFA-$FFFF in CPU space)
; $FFF6-$FFF9: padding/alignment; $FFFA-$FFFF: NMI/RESET/IRQ vectors
VectorTable: .byte $D2, $CE, $00, $FF, $5F, $C8, $9E, $C7, $F0, $FF ; CPU:$FFF6 PRG:3FF6 D2 CE 00 FF 5F C8 9E C7 F0 FF