Files
disasm/NROM/Donkey Kong Jr. Math (U)/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

17199 lines
1.1 MiB
Plaintext

; Donkey Kong Jr. Math (U) 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=$C4A9 RESET=$C41E 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:
; $C41E, $C4A9, $FFF0
; indirect dispatch through zero page (not followed statically):
; jmp ($0002) at $F176
;
.setcpu "6502"
.include "symbols.inc"
.include "locals.inc"
.segment "PRG"
; ---- data $C000-$C41D (1054 bytes) ----
; referenced by `lda $C293,y` at $C712 (operand $C293 falls inside this region)
; referenced by `lda $C294,y` at $C717 (operand $C294 falls inside this region)
; referenced by `lda $C179,x` at $C7F3 (operand $C179 falls inside this region)
; referenced by `lda $C17A,x` at $C7FC (operand $C17A falls inside this region)
; referenced by `lda $C17B,x` at $C801 (operand $C17B falls inside this region)
; referenced by `lda $C173,y` at $C814 (operand $C173 falls inside this region)
; ... and 89 further references from decoded code
LevelDataPtrTable: ; Level data pointer table
.byte $22, $F3, $1E, $F3, $16, $F4, $2C, $F2, $97, $F1, $20, $8C, $04, $00, $20, $A4 ; CPU:$C000 PRG:0000 22 F3 1E F3 16 F4 2C F2 97 F1 20 8C 04 00 20 A4
.byte $04, $00, $20, $77, $07, $01, $20, $B7, $07, $01, $20, $AF, $02, $00, $00, $0C ; CPU:$C010 PRG:0010 04 00 20 77 07 01 20 B7 07 01 20 AF 02 00 00 0C
.byte $12, $12, $15, $09, $17, $1A, $30, $16, $00, $02, $03, $03, $04, $01, $05, $05 ; CPU:$C020 PRG:0020 12 12 15 09 17 1A 30 16 00 02 03 03 04 01 05 05
SpriteTileTable: ; Sprite tile/attribute data
.byte $09, $04, $00, $22, $33, $44, $44, $11, $66, $66, $23, $03, $00, $02, $03, $04 ; CPU:$C030 PRG:0030 09 04 00 22 33 44 44 11 66 66 23 03 00 02 03 04
.byte $04, $01, $06, $06, $00, $85, $86, $85, $86, $87, $85, $86, $00, $20, $20, $21 ; CPU:$C040 PRG:0040 04 01 06 06 00 85 86 85 86 87 85 86 00 20 20 21
.byte $21, $20, $21, $21, $21, $00, $20, $21, $21, $21, $00, $20, $21, $21, $00, $20 ; CPU:$C050 PRG:0050 21 20 21 21 21 00 20 21 21 21 00 20 21 21 00 20
.byte $20, $21, $20, $21, $21, $00, $20, $21, $21, $00, $20, $20, $21, $21, $20, $21 ; CPU:$C060 PRG:0060 20 21 20 21 21 00 20 21 21 00 20 20 21 21 20 21
.byte $21, $00, $00, $78, $D8, $18, $1A, $7A, $38, $3A, $7A, $00, $DA, $38, $3A, $7A ; CPU:$C070 PRG:0070 21 00 00 78 D8 18 1A 7A 38 3A 7A 00 DA 38 3A 7A
.byte $00, $D8, $38, $7A, $00, $78, $D8, $1A, $7A, $3A, $7A, $00, $DA, $3A, $7A, $00 ; CPU:$C080 PRG:0080 00 D8 38 7A 00 78 D8 1A 7A 3A 7A 00 DA 3A 7A 00
.byte $78, $D8, $18, $1A, $7A, $3A, $7A, $00, $00, $02, $12, $1A, $19, $01, $22, $21 ; CPU:$C090 PRG:0090 78 D8 18 1A 7A 3A 7A 00 00 02 12 1A 19 01 22 21
.byte $29, $00, $01, $22, $21, $29, $00, $02, $12, $19, $00, $02, $12, $19, $01, $21 ; CPU:$C0A0 PRG:00A0 29 00 01 22 21 29 00 02 12 19 00 02 12 19 01 21
.byte $29, $00, $01, $21, $29, $00, $02, $12, $1A, $19, $01, $21, $29, $00, $00, $01 ; CPU:$C0B0 PRG:00B0 29 00 01 21 29 00 02 12 1A 19 01 21 29 00 00 01
MathProblemTable: ; Math problem definitions
.byte $0A, $0F, $13, $1A, $1E, $97, $F7, $F7, $97, $F7, $97, $08, $04, $03, $06, $03 ; CPU:$C0C0 PRG:00C0 0A 0F 13 1A 1E 97 F7 F7 97 F7 97 08 04 03 06 03
.byte $07, $00, $01, $02, $01, $02, $03, $01, $02, $03, $09, $0A, $0A, $09, $0A, $09 ; CPU:$C0D0 PRG:00D0 07 00 01 02 01 02 03 01 02 03 09 0A 0A 09 0A 09
.byte $00, $02, $00, $03, $03, $05, $04, $02, $07, $06, $05, $01, $F6, $F4, $F2, $F2 ; CPU:$C0E0 PRG:00E0 00 02 00 03 03 05 04 02 07 06 05 01 F6 F4 F2 F2
.byte $F8, $EE, $EE, $05, $07, $09, $09, $03, $0D, $0D, $21, $55, $47, $C5, $00, $21 ; CPU:$C0F0 PRG:00F0 F8 EE EE 05 07 09 09 03 0D 0D 21 55 47 C5 00 21
.byte $53, $49, $C5, $00, $21, $51, $4B, $C5, $00, $21, $51, $4B, $C5, $00, $21, $57 ; CPU:$C100 PRG:0100 53 49 C5 00 21 51 4B C5 00 21 51 4B C5 00 21 57
.byte $45, $C5, $00, $21, $4D, $4F, $C5, $00, $21, $4D, $4F, $C5, $00, $20, $76, $05 ; CPU:$C110 PRG:0110 45 C5 00 21 4D 4F C5 00 21 4D 4F C5 00 20 76 05
.byte $C4, $24, $C4, $24, $C4, $20, $B4, $07, $87, $24, $24, $24, $C4, $24, $C4, $20 ; CPU:$C120 PRG:0120 C4 24 C4 24 C4 20 B4 07 87 24 24 24 C4 24 C4 20
.byte $D3, $49, $C5, $21, $51, $4B, $C5, $00, $20, $97, $82, $C3, $C2, $20, $98, $44 ; CPU:$C130 PRG:0130 D3 49 C5 21 51 4B C5 00 20 97 82 C3 C2 20 98 44
.byte $C5, $20, $F7, $45, $C5, $21, $57, $45, $C5, $00, $20, $F7, $82, $C3, $C2, $20 ; CPU:$C140 PRG:0140 C5 20 F7 45 C5 21 57 45 C5 00 20 F7 82 C3 C2 20
.byte $F8, $44, $C5, $21, $57, $45, $C5, $00, $20, $76, $A9, $24, $00, $20, $B6, $05 ; CPU:$C150 PRG:0150 F8 44 C5 21 57 45 C5 00 20 76 A9 24 00 20 B6 05
.byte $C4, $24, $C4, $24, $C4, $00, $00, $00, $05, $0A, $0F, $14, $19, $1E, $23, $3E ; CPU:$C160 PRG:0160 C4 24 C4 24 C4 00 00 00 05 0A 0F 14 19 1E 23 3E
LevelLayoutData: ; Level layout/screen data
.byte $50, $5E, $63, $06, $BF, $B0, $C7, $1F, $C7, $01, $08, $10, $00, $08, $30, $03 ; CPU:$C170 PRG:0170 50 5E 63 06 BF B0 C7 1F C7 01 08 10 00 08 30 03
.byte $0A, $50, $FF, $00, $08, $10, $FF, $02, $04, $E0, $01, $04, $F0, $FF, $08, $08 ; CPU:$C180 PRG:0180 0A 50 FF 00 08 10 FF 02 04 E0 01 04 F0 FF 08 08
.byte $0F, $0A, $02, $02, $05, $05, $B2, $C1, $B2, $C1, $A6, $C1, $AA, $C1, $B2, $C1 ; CPU:$C190 PRG:0190 0F 0A 02 02 05 05 B2 C1 B2 C1 A6 C1 AA C1 B2 C1
.byte $B2, $C1, $AE, $C1, $AE, $C1, $03, $00, $11, $10, $0E, $00, $1B, $10, $03, $00 ; CPU:$C1A0 PRG:01A0 B2 C1 AE C1 AE C1 03 00 11 10 0E 00 1B 10 03 00
.byte $1D, $10, $09, $00, $17, $10, $00, $05, $01, $00, $01, $05, $02, $00, $00, $05 ; CPU:$C1B0 PRG:01B0 1D 10 09 00 17 10 00 05 01 00 01 05 02 00 00 05
.byte $21, $82, $21, $86, $21, $8A, $21, $95, $21, $99, $21, $9D, $22, $02, $22, $06 ; CPU:$C1C0 PRG:01C0 21 82 21 86 21 8A 21 95 21 99 21 9D 22 02 22 06
.byte $22, $0A, $22, $15, $22, $19, $22, $1D, $22, $82, $22, $86, $22, $8A, $22, $95 ; CPU:$C1D0 PRG:01D0 22 0A 22 15 22 19 22 1D 22 82 22 86 22 8A 22 95
.byte $22, $99, $22, $9D, $23, $28, $2D, $32, $37, $3C, $F0, $C1, $09, $C2, $22, $C2 ; CPU:$C1E0 PRG:01E0 22 99 22 9D 23 28 2D 32 37 3C F0 C1 09 C2 22 C2
.byte $46, $24, $24, $24, $2D, $24, $2E, $2F, $30, $31, $32, $33, $34, $35, $36, $37 ; CPU:$C1F0 PRG:01F0 46 24 24 24 2D 24 2E 2F 30 31 32 33 34 35 36 37
.byte $38, $39, $3A, $3B, $3C, $24, $24, $24, $3D, $46, $24, $24, $24, $3E, $40, $41 ; CPU:$C200 PRG:0200 38 39 3A 3B 3C 24 24 24 3D 46 24 24 24 3E 40 41
.byte $42, $43, $44, $45, $46, $47, $48, $49, $4A, $4B, $4C, $4D, $4E, $4F, $24, $24 ; CPU:$C210 PRG:0210 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 24 24
.byte $24, $3F, $84, $95, $24, $91, $92, $93, $94, $42, $43, $9A, $24, $96, $97, $98 ; CPU:$C220 PRG:0220 24 3F 84 95 24 91 92 93 94 42 43 9A 24 96 97 98
.byte $99, $46, $47, $9F, $24, $9B, $9C, $9D, $9E, $4A, $4B, $90, $24, $F8, $A0, $A1 ; CPU:$C230 PRG:0230 99 46 47 9F 24 9B 9C 9D 9E 4A 4B 90 24 F8 A0 A1
.byte $A2, $4E, $4F, $20, $22, $21, $20, $22, $20, $CD, $82, $03, $4E, $03, $82, $89 ; CPU:$C240 PRG:0240 A2 4E 4F 20 22 21 20 22 20 CD 82 03 4E 03 82 89
.byte $9A, $83, $94, $8B, $9C, $10, $60, $30, $60, $50, $60, $A8, $60, $C8, $60, $E8 ; CPU:$C250 PRG:0250 9A 83 94 8B 9C 10 60 30 60 50 60 A8 60 C8 60 E8
.byte $60, $10, $80, $30, $80, $50, $80, $A8, $80, $C8, $80, $E8, $80, $10, $A0, $30 ; CPU:$C260 PRG:0260 60 10 80 30 80 50 80 A8 80 C8 80 E8 80 10 A0 30
.byte $A0, $50, $A0, $A8, $A0, $C8, $A0, $E8, $A0, $62, $73, $00, $01, $25, $01, $49 ; CPU:$C270 PRG:0270 A0 50 A0 A8 A0 C8 A0 E8 A0 62 73 00 01 25 01 49
.byte $2B, $0A, $01, $28, $20, $01, $26, $2A, $01, $29, $40, $01, $27, $41, $49, $2C ; CPU:$C280 PRG:0280 2B 0A 01 28 20 01 26 2A 01 29 40 01 27 41 49 2C
SpriteAnimTable: ; Sprite animation frame data
.byte $4A, $01, $2A, $40, $F7, $C5, $F8, $A0, $F9, $B7, $AF, $A7, $9F, $97, $8F, $87 ; CPU:$C290 PRG:0290 4A 01 2A 40 F7 C5 F8 A0 F9 B7 AF A7 9F 97 8F 87
.byte $7F, $77, $6F, $CC, $BC, $AC, $9C, $8C, $7C, $6C, $BC, $AC, $9C, $8C, $BC, $CC ; CPU:$C2A0 PRG:02A0 7F 77 6F CC BC AC 9C 8C 7C 6C BC AC 9C 8C BC CC
.byte $37, $47, $57, $BC, $BC, $BC, $CC, $CC, $BC, $CC, $CC, $FF, $CC, $BC, $CC, $CC ; CPU:$C2B0 PRG:02B0 37 47 57 BC BC BC CC CC BC CC CC FF CC BC CC CC
.byte $FF, $BC, $BC, $CC, $FF, $BC, $BC, $CC, $CC, $CC, $CC, $FF, $CC, $CC, $CC, $FF ; CPU:$C2C0 PRG:02C0 FF BC BC CC FF BC BC CC CC CC CC FF CC CC CC FF
.byte $BC, $BC, $BC, $CC, $CC, $CC, $CC, $FF, $17, $2F, $3F, $3F, $17, $47, $47, $57 ; CPU:$C2D0 PRG:02D0 BC BC BC CC CC CC CC FF 17 2F 3F 3F 17 47 47 57
.byte $FF, $2F, $47, $47, $57, $FF, $2F, $47, $57, $FF, $17, $2F, $3F, $17, $47, $57 ; CPU:$C2E0 PRG:02E0 FF 2F 47 47 57 FF 2F 47 57 FF 17 2F 3F 17 47 57
.byte $FF, $2F, $47, $57, $FF, $17, $2F, $3F, $3F, $17, $47, $57, $FF, $12, $21, $12 ; CPU:$C2F0 PRG:02F0 FF 2F 47 57 FF 17 2F 3F 3F 17 47 57 FF 12 21 12
.byte $12, $2A, $17, $12, $24, $24, $19, $24, $24, $24, $24, $24, $24, $24, $24, $24 ; CPU:$C300 PRG:0300 12 2A 17 12 24 24 19 24 24 24 24 24 24 24 24 24
.byte $01, $02, $03, $04, $05, $06, $07, $08, $09, $01, $02, $03, $04, $05, $06, $07 ; CPU:$C310 PRG:0310 01 02 03 04 05 06 07 08 09 01 02 03 04 05 06 07
CollisionTable: ; Collision detection data
.byte $2C, $C3, $30, $C3, $34, $C3, $38, $C3, $3C, $C3, $40, $C3, $00, $C0, $28, $D0 ; CPU:$C320 PRG:0320 2C C3 30 C3 34 C3 38 C3 3C C3 40 C3 00 C0 28 D0
.byte $3C, $C4, $4C, $D0, $64, $C4, $74, $D0, $8C, $C4, $9C, $D0, $B4, $C4, $C4, $D0 ; CPU:$C330 PRG:0330 3C C4 4C D0 64 C4 74 D0 8C C4 9C D0 B4 C4 C4 D0
.byte $D8, $C0, $FF, $D0, $56, $C3, $77, $C3, $7C, $C3, $81, $C3, $B2, $C3, $B7, $C3 ; CPU:$C340 PRG:0340 D8 C0 FF D0 56 C3 77 C3 7C C3 81 C3 B2 C3 B7 C3
.byte $D8, $C3, $01, $C4, $0E, $C4, $00, $D0, $24, $D0, $3D, $D0, $4B, $D0, $64, $D0 ; CPU:$C350 PRG:0350 D8 C3 01 C4 0E C4 00 D0 24 D0 3D D0 4B D0 64 D0
.byte $74, $D0, $8C, $D0, $9C, $D0, $B5, $D0, $C3, $D0, $DC, $D0, $FF, $D0, $70, $80 ; CPU:$C360 PRG:0360 74 D0 8C D0 9C D0 B5 D0 C3 D0 DC D0 FF D0 70 80
.byte $8D, $80, $70, $A0, $8D, $A0, $FF, $40, $D8, $F0, $D8, $FF, $10, $D8, $F8, $D8 ; CPU:$C370 PRG:0370 8D 80 70 A0 8D A0 FF 40 D8 F0 D8 FF 10 D8 F8 D8
PaletteTable: ; Color palette data
.byte $FF, $14, $48, $14, $B0, $24, $48, $24, $BB, $34, $48, $34, $B0, $44, $48, $44 ; CPU:$C380 PRG:0380 FF 14 48 14 B0 24 48 24 BB 34 48 34 B0 44 48 44
.byte $B9, $54, $50, $54, $B0, $64, $58, $64, $B8, $9C, $58, $9C, $B8, $AC, $50, $AC ; CPU:$C390 PRG:0390 B9 54 50 54 B0 64 58 64 B8 9C 58 9C B8 AC 50 AC
.byte $B0, $BC, $48, $BC, $B9, $CC, $48, $CC, $B0, $DC, $48, $DC, $BB, $EC, $48, $EC ; CPU:$C3A0 PRG:03A0 B0 BC 48 BC B9 CC 48 CC B0 DC 48 DC BB EC 48 EC
.byte $B0, $FF, $54, $38, $54, $C0, $FF, $4C, $70, $4C, $C0, $74, $70, $74, $C0, $84 ; CPU:$C3B0 PRG:03B0 B0 FF 54 38 54 C0 FF 4C 70 4C C0 74 70 74 C0 84
.byte $70, $84, $C0, $94, $70, $94, $C0, $A4, $70, $A4, $C0, $B4, $70, $B4, $C0, $C4 ; CPU:$C3C0 PRG:03C0 70 84 C0 94 70 94 C0 A4 70 A4 C0 B4 70 B4 C0 C4
.byte $70, $C4, $C0, $D4, $70, $D4, $C0, $FF, $08, $40, $08, $D8, $F8, $40, $F8, $D8 ; CPU:$C3D0 PRG:03D0 70 C4 C0 D4 70 D4 C0 FF 08 40 08 D8 F8 40 F8 D8
SpritePosInitTable: ; Initial sprite positions
.byte $00, $48, $58, $48, $50, $50, $60, $50, $60, $56, $65, $56, $9B, $56, $A0, $56 ; CPU:$C3E0 PRG:03E0 00 48 58 48 50 50 60 50 60 56 65 56 9B 56 A0 56
.byte $A0, $50, $B0, $50, $A8, $48, $FF, $48, $77, $81, $87, $82, $77, $A1, $87, $A0 ; CPU:$C3F0 PRG:03F0 A0 50 B0 50 A8 48 FF 48 77 81 87 82 77 A1 87 A0
.byte $FF, $40, $38, $40, $D8, $F0, $38, $F0, $D8, $40, $38, $F0, $38, $FF, $08, $70 ; CPU:$C400 PRG:0400 FF 40 38 40 D8 F0 38 F0 D8 40 38 F0 38 FF 08 70
.byte $08, $D8, $10, $70, $F8, $70, $F8, $70, $F8, $D8, $FF, $01, $3C, $C4 ; CPU:$C410 PRG:0410 08 D8 10 70 F8 70 F8 70 F8 D8 FF 01 3C C4
; -----------------------------------------------------------------------------
; 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:$C41E PRG:041E 78
cld ; CPU:$C41F PRG:041F D8
lda #$10 ; CPU:$C420 PRG:0420 A9 10
sta PPUCTRL ; CPU:$C422 PRG:0422 8D 00 20
ldx #$FF ; CPU:$C425 PRG:0425 A2 FF
txs ; CPU:$C427 PRG:0427 9A
; -----------------------------------------------------------------------------
; 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:
lda PPUSTATUS ; CPU:$C428 PRG:0428 AD 02 20
and #$80 ; CPU:$C42B PRG:042B 29 80
beq WaitVBlank_1 ; CPU:$C42D PRG:042D F0 F9
ldy #$07 ; CPU:$C42F PRG:042F A0 07
sty PtrHi ; CPU:$C431 PRG:0431 84 01
ldy #$00 ; CPU:$C433 PRG:0433 A0 00
sty PtrLo ; CPU:$C435 PRG:0435 84 00
lda #$00 ; CPU:$C437 PRG:0437 A9 00
; -----------------------------------------------------------------------------
; Routine: ClearZeropage_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.
; -----------------------------------------------------------------------------
ClearZeropage_1:
sta (PtrLo),y ; CPU:$C439 PRG:0439 91 00
dey ; CPU:$C43B PRG:043B 88
bne ClearZeropage_1 ; CPU:$C43C PRG:043C D0 FB
dec PtrHi ; CPU:$C43E PRG:043E C6 01
bpl ClearZeropage_1 ; CPU:$C440 PRG:0440 10 F7
jsr $C47B ; CPU:$C442 PRG:0442 20 7B C4
lda #$97 ; CPU:$C445 PRG:0445 A9 97
sta ZpED ; CPU:$C447 PRG:0447 85 ED
lda #$01 ; CPU:$C449 PRG:0449 A9 01
sta Zp49 ; CPU:$C44B PRG:044B 85 49
lda #$00 ; CPU:$C44D PRG:044D A9 00
sta Zp48 ; CPU:$C44F PRG:044F 85 48
lda #$0B ; CPU:$C451 PRG:0451 A9 0B
sta PPUADDR ; CPU:$C453 PRG:0453 8D 06 20
lda #$00 ; CPU:$C456 PRG:0456 A9 00
sta PPUADDR ; CPU:$C458 PRG:0458 8D 06 20
lda PPUDATA ; CPU:$C45B PRG:045B AD 07 20
ldy #$00 ; CPU:$C45E PRG:045E A0 00
; -----------------------------------------------------------------------------
; 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 PPUDATA ; CPU:$C460 PRG:0460 AD 07 20
sta $0700,y ; CPU:$C463 PRG:0463 99 00 07
iny ; CPU:$C466 PRG:0466 C8
cpy #$80 ; CPU:$C467 PRG:0467 C0 80
bne Reset_Block ; CPU:$C469 PRG:0469 D0 F5
lda PPUSTATUS ; CPU:$C46B PRG:046B AD 02 20
lda VBlankTimer ; CPU:$C46E PRG:046E A5 10
eor #$80 ; CPU:$C470 PRG:0470 49 80
jsr InitPPU_3 ; CPU:$C472 PRG:0472 20 53 C5
; -----------------------------------------------------------------------------
; Routine: MainGameLoop
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
MainGameLoop:
jsr $F4D2 ; CPU:$C475 PRG:0475 20 D2 F4
jmp $C475 ; CPU:$C478 PRG:0478 4C 75 C4
; -----------------------------------------------------------------------------
; Routine: InitPPU_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.
; -----------------------------------------------------------------------------
InitPPU_1:
lda #$10 ; CPU:$C47B PRG:047B A9 10
jsr InitPPU_3 ; CPU:$C47D PRG:047D 20 53 C5
lda #$06 ; CPU:$C480 PRG:0480 A9 06
jsr $C723 ; CPU:$C482 PRG:0482 20 23 C7
jsr $F221 ; CPU:$C485 PRG:0485 20 21 F2
lda #$FF ; CPU:$C488 PRG:0488 A9 FF
ldy #$00 ; CPU:$C48A PRG:048A A0 00
; -----------------------------------------------------------------------------
; Routine: InitSprites_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.
; -----------------------------------------------------------------------------
InitSprites_1:
sta $0200,y ; CPU:$C48C PRG:048C 99 00 02
dey ; CPU:$C48F PRG:048F 88
beq ClearSpriteRAM ; CPU:$C490 PRG:0490 F0 03
jmp $C48C ; CPU:$C492 PRG:0492 4C 8C C4
; -----------------------------------------------------------------------------
; Routine: ClearSpriteRAM
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
ClearSpriteRAM:
lda #$00 ; CPU:$C495 PRG:0495 A9 00
sta APUDMCDIRECT ; CPU:$C497 PRG:0497 8D 11 40
jsr $C6F9 ; CPU:$C49A PRG:049A 20 F9 C6
lda #$24 ; CPU:$C49D PRG:049D A9 24
sta PtrLo ; CPU:$C49F PRG:049F 85 00
lda #$02 ; CPU:$C4A1 PRG:04A1 A9 02
sta PtrHi ; CPU:$C4A3 PRG:04A3 85 01
jsr $F197 ; CPU:$C4A5 PRG:04A5 20 97 F1
rts ; CPU:$C4A8 PRG:04A8 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:$C4A9 PRG:04A9 48
lda PtrLo ; CPU:$C4AA PRG:04AA A5 00
pha ; CPU:$C4AC PRG:04AC 48
lda VBlankTimer ; CPU:$C4AD PRG:04AD A5 10
and #$7F ; CPU:$C4AF PRG:04AF 29 7F
jsr InitPPU_3 ; CPU:$C4B1 PRG:04B1 20 53 C5
lda #$00 ; CPU:$C4B4 PRG:04B4 A9 00
sta OAMADDR ; CPU:$C4B6 PRG:04B6 8D 03 20
lda #$02 ; CPU:$C4B9 PRG:04B9 A9 02
sta OAMDMA ; CPU:$C4BB PRG:04BB 8D 14 40
lda #$31 ; CPU:$C4BE PRG:04BE A9 31
sta PtrLo ; CPU:$C4C0 PRG:04C0 85 00
lda #$03 ; CPU:$C4C2 PRG:04C2 A9 03
sta PtrHi ; CPU:$C4C4 PRG:04C4 85 01
jsr SubCF218 ; CPU:$C4C6 PRG:04C6 20 18 F2
lda #$00 ; CPU:$C4C9 PRG:04C9 A9 00
sta $0330 ; CPU:$C4CB PRG:04CB 8D 30 03
sta $0331 ; CPU:$C4CE PRG:04CE 8D 31 03
inc $040E ; CPU:$C4D1 PRG:04D1 EE 0E 04
lda $05B0 ; CPU:$C4D4 PRG:04D4 AD B0 05
bne NmiHandler_Block ; CPU:$C4D7 PRG:04D7 D0 05
lda #$05 ; CPU:$C4D9 PRG:04D9 A9 05
sta $05B0 ; CPU:$C4DB PRG:04DB 8D B0 05
; -----------------------------------------------------------------------------
; 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:
dec $05B0 ; CPU:$C4DE PRG:04DE CE B0 05
lda Zp11 ; CPU:$C4E1 PRG:04E1 A5 11
eor #$18 ; CPU:$C4E3 PRG:04E3 49 18
sta PPUMASK ; CPU:$C4E5 PRG:04E5 8D 01 20
jsr $FA5C ; CPU:$C4E8 PRG:04E8 20 5C FA
jsr $F4F3 ; CPU:$C4EB PRG:04EB 20 F3 F4
lda Zp49 ; CPU:$C4EE PRG:04EE A5 49
bne NmiHandler_Block_2 ; CPU:$C4F0 PRG:04F0 D0 43
lda Zp48 ; CPU:$C4F2 PRG:04F2 A5 48
beq NmiHandler_Block_3 ; CPU:$C4F4 PRG:04F4 F0 48
lda Zp4B ; CPU:$C4F6 PRG:04F6 A5 4B
bne NmiHandler_Block_4 ; CPU:$C4F8 PRG:04F8 D0 35
ldx #$00 ; CPU:$C4FA PRG:04FA A2 00
lda $041F ; CPU:$C4FC PRG:04FC AD 1F 04
beq NmiHandler_Block_5 ; CPU:$C4FF PRG:04FF F0 06
jsr $C911 ; CPU:$C501 PRG:0501 20 11 C9
jmp $C541 ; CPU:$C504 PRG:0504 4C 41 C5
; -----------------------------------------------------------------------------
; Routine: NmiHandler_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.
; -----------------------------------------------------------------------------
NmiHandler_Block_5:
lda $0210 ; CPU:$C507 PRG:0507 AD 10 02
sta $0101 ; CPU:$C50A PRG:050A 8D 01 01
lda $0213 ; CPU:$C50D PRG:050D AD 13 02
sta $0100 ; CPU:$C510 PRG:0510 8D 00 01
ldx #$00 ; CPU:$C513 PRG:0513 A2 00
jsr $C866 ; CPU:$C515 PRG:0515 20 66 C8
lda $0230 ; CPU:$C518 PRG:0518 AD 30 02
sta $0101 ; CPU:$C51B PRG:051B 8D 01 01
lda $0233 ; CPU:$C51E PRG:051E AD 33 02
sta $0100 ; CPU:$C521 PRG:0521 8D 00 01
ldx #$01 ; CPU:$C524 PRG:0524 A2 01
jsr $C866 ; CPU:$C526 PRG:0526 20 66 C8
jsr $DD9D ; CPU:$C529 PRG:0529 20 9D DD
jmp $C541 ; CPU:$C52C PRG:052C 4C 41 C5
; -----------------------------------------------------------------------------
; Routine: NmiHandler_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.
; -----------------------------------------------------------------------------
NmiHandler_Block_4:
jsr $CB94 ; CPU:$C52F PRG:052F 20 94 CB
jmp $C541 ; CPU:$C532 PRG:0532 4C 41 C5
; -----------------------------------------------------------------------------
; Routine: NmiHandler_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.
; -----------------------------------------------------------------------------
NmiHandler_Block_2:
jsr $C559 ; CPU:$C535 PRG:0535 20 59 C5
jsr $F48D ; CPU:$C538 PRG:0538 20 8D F4
jmp $C541 ; CPU:$C53B PRG:053B 4C 41 C5
; -----------------------------------------------------------------------------
; Routine: NmiHandler_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.
; -----------------------------------------------------------------------------
NmiHandler_Block_3:
jsr $C656 ; CPU:$C53E PRG:053E 20 56 C6
; -----------------------------------------------------------------------------
; 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:
jsr $F135 ; CPU:$C541 PRG:0541 20 35 F1
lda PPUSTATUS ; CPU:$C544 PRG:0544 AD 02 20
lda VBlankTimer ; CPU:$C547 PRG:0547 A5 10
eor #$80 ; CPU:$C549 PRG:0549 49 80
jsr InitPPU_3 ; CPU:$C54B PRG:054B 20 53 C5
pla ; CPU:$C54E PRG:054E 68
sta PtrLo ; CPU:$C54F PRG:054F 85 00
pla ; CPU:$C551 PRG:0551 68
rti ; CPU:$C552 PRG:0552 40
; -----------------------------------------------------------------------------
; Routine: InitPPU_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.
; -----------------------------------------------------------------------------
InitPPU_3:
sta PPUCTRL ; CPU:$C553 PRG:0553 8D 00 20
sta VBlankTimer ; CPU:$C556 PRG:0556 85 10
rts ; CPU:$C558 PRG:0558 60
; -----------------------------------------------------------------------------
; Routine: SubCC559
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCC559:
lda $06A2 ; CPU:$C559 PRG:0559 AD A2 06
bne SubCC559_Block ; CPU:$C55C PRG:055C D0 03
sta APUSTATUS ; CPU:$C55E PRG:055E 8D 15 40
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block:
lda $05B4 ; CPU:$C561 PRG:0561 AD B4 05
bne SubCC559_Block_2 ; CPU:$C564 PRG:0564 D0 0E
lda #$80 ; CPU:$C566 PRG:0566 A9 80
sta ZpFD ; CPU:$C568 PRG:0568 85 FD
lda #$04 ; CPU:$C56A PRG:056A A9 04
sta $05B4 ; CPU:$C56C PRG:056C 8D B4 05
lda #$0F ; CPU:$C56F PRG:056F A9 0F
sta APUSTATUS ; CPU:$C571 PRG:0571 8D 15 40
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block_2:
lda ZpAE ; CPU:$C574 PRG:0574 A5 AE
bne SubCC559_Block_3 ; CPU:$C576 PRG:0576 D0 2B
jsr UpdateSprites2_4 ; CPU:$C578 PRG:0578 20 1F C7
lda #$44 ; CPU:$C57B PRG:057B A9 44
sta PtrLo ; CPU:$C57D PRG:057D 85 00
lda #$F5 ; CPU:$C57F PRG:057F A9 F5
sta PtrHi ; CPU:$C581 PRG:0581 85 01
jsr SubCF218 ; CPU:$C583 PRG:0583 20 18 F2
lda ZpED ; CPU:$C586 PRG:0586 A5 ED
sta $0200 ; CPU:$C588 PRG:0588 8D 00 02
lda #$5C ; CPU:$C58B PRG:058B A9 5C
sta $0201 ; CPU:$C58D PRG:058D 8D 01 02
lda #$00 ; CPU:$C590 PRG:0590 A9 00
sta $0202 ; CPU:$C592 PRG:0592 8D 02 02
sta Zp4C ; CPU:$C595 PRG:0595 85 4C
lda #$48 ; CPU:$C597 PRG:0597 A9 48
sta $0203 ; CPU:$C599 PRG:0599 8D 03 02
sta ZpAE ; CPU:$C59C PRG:059C 85 AE
lda #$20 ; CPU:$C59E PRG:059E A9 20
sta Zp3C ; CPU:$C5A0 PRG:05A0 85 3C
rts ; CPU:$C5A2 PRG:05A2 60
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block_3:
lda Zp15 ; CPU:$C5A3 PRG:05A3 A5 15
and #$20 ; CPU:$C5A5 PRG:05A5 29 20
bne SubCC559_Block_4 ; CPU:$C5A7 PRG:05A7 D0 1A
lda Zp15 ; CPU:$C5A9 PRG:05A9 A5 15
and #$10 ; CPU:$C5AB PRG:05AB 29 10
bne UpdateSprites ; CPU:$C5AD PRG:05AD D0 35
lda #$00 ; CPU:$C5AF PRG:05AF A9 00
sta Zp94 ; CPU:$C5B1 PRG:05B1 85 94
lda Zp3C ; CPU:$C5B3 PRG:05B3 A5 3C
bne SubCC559_Block_5 ; CPU:$C5B5 PRG:05B5 D0 0B
lda #$01 ; CPU:$C5B7 PRG:05B7 A9 01
sta Zp4C ; CPU:$C5B9 PRG:05B9 85 4C
lda #$00 ; CPU:$C5BB PRG:05BB A9 00
sta ZpEF ; CPU:$C5BD PRG:05BD 85 EF
jmp $C609 ; CPU:$C5BF PRG:05BF 4C 09 C6
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block_5:
rts ; CPU:$C5C2 PRG:05C2 60
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block_4:
lda #$20 ; CPU:$C5C3 PRG:05C3 A9 20
sta Zp3C ; CPU:$C5C5 PRG:05C5 85 3C
lda Zp94 ; CPU:$C5C7 PRG:05C7 A5 94
bne SubCC559_Block_6 ; CPU:$C5C9 PRG:05C9 D0 18
lda $0200 ; CPU:$C5CB PRG:05CB AD 00 02
clc ; CPU:$C5CE PRG:05CE 18
adc #$10 ; CPU:$C5CF PRG:05CF 69 10
cmp #$C7 ; CPU:$C5D1 PRG:05D1 C9 C7
bne SubCC559_Block_7 ; CPU:$C5D3 PRG:05D3 D0 02
lda #$97 ; CPU:$C5D5 PRG:05D5 A9 97
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block_7:
sta $0200 ; CPU:$C5D7 PRG:05D7 8D 00 02
sta ZpED ; CPU:$C5DA PRG:05DA 85 ED
inc Zp94 ; CPU:$C5DC PRG:05DC E6 94
lda #$01 ; CPU:$C5DE PRG:05DE A9 01
sta Zp97 ; CPU:$C5E0 PRG:05E0 85 97
rts ; CPU:$C5E2 PRG:05E2 60
; -----------------------------------------------------------------------------
; Routine: SubCC559_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.
; -----------------------------------------------------------------------------
SubCC559_Block_6:
rts ; CPU:$C5E3 PRG:05E3 60
; -----------------------------------------------------------------------------
; 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:
sta $0418 ; CPU:$C5E4 PRG:05E4 8D 18 04
ldx #$0F ; CPU:$C5E7 PRG:05E7 A2 0F
lda #$00 ; CPU:$C5E9 PRG:05E9 A9 00
; -----------------------------------------------------------------------------
; 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 Zp24,x ; CPU:$C5EB PRG:05EB 95 24
dex ; CPU:$C5ED PRG:05ED CA
bne UpdateSprites_Block ; CPU:$C5EE PRG:05EE D0 FB
lda ZpED ; CPU:$C5F0 PRG:05F0 A5 ED
lsr a ; CPU:$C5F2 PRG:05F2 4A
lsr a ; CPU:$C5F3 PRG:05F3 4A
lsr a ; CPU:$C5F4 PRG:05F4 4A
lsr a ; CPU:$C5F5 PRG:05F5 4A
sec ; CPU:$C5F6 PRG:05F6 38
sbc #$09 ; CPU:$C5F7 PRG:05F7 E9 09
sta ZpEF ; CPU:$C5F9 PRG:05F9 85 EF
cmp #$02 ; CPU:$C5FB PRG:05FB C9 02
bne UpdateSprites2_1 ; CPU:$C5FD PRG:05FD D0 0A
lda #$01 ; CPU:$C5FF PRG:05FF A9 01
sta $041F ; CPU:$C601 PRG:0601 8D 1F 04
lda #$02 ; CPU:$C604 PRG:0604 A9 02
sta $0403 ; CPU:$C606 PRG:0606 8D 03 04
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2_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.
; -----------------------------------------------------------------------------
UpdateSprites2_1:
jsr $E2CC ; CPU:$C609 PRG:0609 20 CC E2
lda #$0F ; CPU:$C60C PRG:060C A9 0F
sta Zp18 ; CPU:$C60E PRG:060E 85 18
lda #$13 ; CPU:$C610 PRG:0610 A9 13
sta Zp19 ; CPU:$C612 PRG:0612 85 19
lda #$00 ; CPU:$C614 PRG:0614 A9 00
sta Zp49 ; CPU:$C616 PRG:0616 85 49
sta $05C7 ; CPU:$C618 PRG:0618 8D C7 05
sta $05C8 ; CPU:$C61B PRG:061B 8D C8 05
sta Zp48 ; CPU:$C61E PRG:061E 85 48
sta ZpAE ; CPU:$C620 PRG:0620 85 AE
sta ZpE8 ; CPU:$C622 PRG:0622 85 E8
sta Zp94 ; CPU:$C624 PRG:0624 85 94
sta $04FC ; CPU:$C626 PRG:0626 8D FC 04
lda $041F ; CPU:$C629 PRG:0629 AD 1F 04
beq UpdateSprites2_1_Block ; CPU:$C62C PRG:062C F0 04
lda #$02 ; CPU:$C62E PRG:062E A9 02
bne UpdateSprites2_1_Block_2 ; CPU:$C630 PRG:0630 D0 02
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2_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.
; -----------------------------------------------------------------------------
UpdateSprites2_1_Block:
lda #$01 ; CPU:$C632 PRG:0632 A9 01
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2_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.
; -----------------------------------------------------------------------------
UpdateSprites2_1_Block_2:
sta SprIndex ; CPU:$C634 PRG:0634 85 4A
lda #$00 ; CPU:$C636 PRG:0636 A9 00
sta ZpFC ; CPU:$C638 PRG:0638 85 FC
lda Zp4C ; CPU:$C63A PRG:063A A5 4C
bne UpdateSprites2_1_Block_3 ; CPU:$C63C PRG:063C D0 0E
lda #$75 ; CPU:$C63E PRG:063E A9 75
sta SprCount ; CPU:$C640 PRG:0640 85 39
lda #$01 ; CPU:$C642 PRG:0642 A9 01
sta ZpFD ; CPU:$C644 PRG:0644 85 FD
lda #$0F ; CPU:$C646 PRG:0646 A9 0F
sta APUSTATUS ; CPU:$C648 PRG:0648 8D 15 40
rts ; CPU:$C64B PRG:064B 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2_1_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.
; -----------------------------------------------------------------------------
UpdateSprites2_1_Block_3:
dec $05B4 ; CPU:$C64C PRG:064C CE B4 05
lda #$6F ; CPU:$C64F PRG:064F A9 6F
sta SprCount ; CPU:$C651 PRG:0651 85 39
jmp $C6EC ; CPU:$C653 PRG:0653 4C EC C6
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1:
jsr $F48D ; CPU:$C656 PRG:0656 20 8D F4
lda SprCount ; CPU:$C659 PRG:0659 A5 39
cmp #$84 ; CPU:$C65B PRG:065B C9 84
beq UpdateSprites3_1_Block ; CPU:$C65D PRG:065D F0 20
cmp #$6D ; CPU:$C65F PRG:065F C9 6D
bcs UpdateSprites3_1_Block_2 ; CPU:$C661 PRG:0661 B0 26
ldx $0412 ; CPU:$C663 PRG:0663 AE 12 04
beq UpdateSprites3_1_Block_3 ; CPU:$C666 PRG:0666 F0 03
jmp $DCCB ; CPU:$C668 PRG:0668 4C CB DC
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_3:
lda SprCount ; CPU:$C66B PRG:066B A5 39
cmp #$68 ; CPU:$C66D PRG:066D C9 68
bne UpdateSprites3_1_Block_4 ; CPU:$C66F PRG:066F D0 0D
jsr $C729 ; CPU:$C671 PRG:0671 20 29 C7
lda #$01 ; CPU:$C674 PRG:0674 A9 01
sta Zp48 ; CPU:$C676 PRG:0676 85 48
sta ZpC0 ; CPU:$C678 PRG:0678 85 C0
lda #$00 ; CPU:$C67A PRG:067A A9 00
sta SprCount ; CPU:$C67C PRG:067C 85 39
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_4:
rts ; CPU:$C67E PRG:067E 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block:
lda #$00 ; CPU:$C67F PRG:067F A9 00
sta SprCount ; CPU:$C681 PRG:0681 85 39
jmp $C8E2 ; CPU:$C683 PRG:0683 4C E2 C8
; ---- data $C686-$C688 (3 bytes) ----
SpriteTempData: ; Temporary sprite data
.byte $C6, $39, $60 ; CPU:$C686 PRG:0686 C6 39 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_2:
cmp #$AF ; CPU:$C689 PRG:0689 C9 AF
beq UpdateSprites3_1_Block_5 ; CPU:$C68B PRG:068B F0 1E
cmp #$74 ; CPU:$C68D PRG:068D C9 74
beq UpdateSprites3_1_Block_6 ; CPU:$C68F PRG:068F F0 27
cmp #$6F ; CPU:$C691 PRG:0691 C9 6F
beq UpdateSprites3_1_Block_7 ; CPU:$C693 PRG:0693 F0 34
cmp #$6E ; CPU:$C695 PRG:0695 C9 6E
beq UpdateSprites3_1_Block_8 ; CPU:$C697 PRG:0697 F0 35
cmp #$6D ; CPU:$C699 PRG:0699 C9 6D
bne UpdateSprites3_1_Block_9 ; CPU:$C69B PRG:069B D0 0D
lda SprIndex ; CPU:$C69D PRG:069D A5 4A
cmp #$02 ; CPU:$C69F PRG:069F C9 02
bpl UpdateSprites3_1_Block_10 ; CPU:$C6A1 PRG:06A1 10 05
lda #$01 ; CPU:$C6A3 PRG:06A3 A9 01
sta $0412 ; CPU:$C6A5 PRG:06A5 8D 12 04
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_10:
dec SprCount ; CPU:$C6A8 PRG:06A8 C6 39
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_9:
rts ; CPU:$C6AA PRG:06AA 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_5:
lda SprIndex ; CPU:$C6AB PRG:06AB A5 4A
cmp #$01 ; CPU:$C6AD PRG:06AD C9 01
bne UpdateSprites3_1_Block_11 ; CPU:$C6AF PRG:06AF D0 06
lda #$10 ; CPU:$C6B1 PRG:06B1 A9 10
sta ZpFD ; CPU:$C6B3 PRG:06B3 85 FD
dec SprCount ; CPU:$C6B5 PRG:06B5 C6 39
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_11:
rts ; CPU:$C6B7 PRG:06B7 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_6:
dec SprCount ; CPU:$C6B8 PRG:06B8 C6 39
lda $05C7 ; CPU:$C6BA PRG:06BA AD C7 05
ora $05C8 ; CPU:$C6BD PRG:06BD 0D C8 05
bne UpdateSprites3_1_Block_12 ; CPU:$C6C0 PRG:06C0 D0 06
jsr $C6EC ; CPU:$C6C2 PRG:06C2 20 EC C6
jsr $C6F9 ; CPU:$C6C5 PRG:06C5 20 F9 C6
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_12:
rts ; CPU:$C6C8 PRG:06C8 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_7:
dec SprCount ; CPU:$C6C9 PRG:06C9 C6 39
jmp $C6F9 ; CPU:$C6CB PRG:06CB 4C F9 C6
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_8:
jsr $C707 ; CPU:$C6CE PRG:06CE 20 07 C7
lda SprIndex ; CPU:$C6D1 PRG:06D1 A5 4A
cmp #$02 ; CPU:$C6D3 PRG:06D3 C9 02
bpl UpdateSprites3_1_Block_13 ; CPU:$C6D5 PRG:06D5 10 0B
; -----------------------------------------------------------------------------
; Routine: UpdateSprites4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSprites4:
dec SprCount ; CPU:$C6D7 PRG:06D7 C6 39
lda Zp4C ; CPU:$C6D9 PRG:06D9 A5 4C
beq UpdateSprites4_Block ; CPU:$C6DB PRG:06DB F0 04
; -----------------------------------------------------------------------------
; Routine: UpdateSprites4_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.
; -----------------------------------------------------------------------------
UpdateSprites4_Block_2:
lda #$6D ; CPU:$C6DD PRG:06DD A9 6D
sta SprCount ; CPU:$C6DF PRG:06DF 85 39
; -----------------------------------------------------------------------------
; Routine: UpdateSprites4_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.
; -----------------------------------------------------------------------------
UpdateSprites4_Block:
rts ; CPU:$C6E1 PRG:06E1 60
; -----------------------------------------------------------------------------
; Routine: UpdateSprites3_1_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.
; -----------------------------------------------------------------------------
UpdateSprites3_1_Block_13:
cmp #$02 ; CPU:$C6E2 PRG:06E2 C9 02
beq UpdateSprites4_Block_2 ; CPU:$C6E4 PRG:06E4 F0 F7
jsr $E259 ; CPU:$C6E6 PRG:06E6 20 59 E2
jmp $C6D7 ; CPU:$C6E9 PRG:06E9 4C D7 C6
; -----------------------------------------------------------------------------
; Routine: ClearZeropage_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.
; -----------------------------------------------------------------------------
ClearZeropage_3:
lda #$00 ; CPU:$C6EC PRG:06EC A9 00
sta Zp04 ; CPU:$C6EE PRG:06EE 85 04
lda #$FF ; CPU:$C6F0 PRG:06F0 A9 FF
sta Zp03 ; CPU:$C6F2 PRG:06F2 85 03
lda #$0F ; CPU:$C6F4 PRG:06F4 A9 0F
jmp $D6D2 ; CPU:$C6F6 PRG:06F6 4C D2 D6
; -----------------------------------------------------------------------------
; Routine: InitSpriteData
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitSpriteData:
lda #$24 ; CPU:$C6F9 PRG:06F9 A9 24
sta PtrLo ; CPU:$C6FB PRG:06FB 85 00
lda #$01 ; CPU:$C6FD PRG:06FD A9 01
sta PtrHi ; CPU:$C6FF PRG:06FF 85 01
jsr UpdateSprites2_4 ; CPU:$C701 PRG:0701 20 1F C7
jmp $F197 ; CPU:$C704 PRG:0704 4C 97 F1
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2_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.
; -----------------------------------------------------------------------------
UpdateSprites2_3:
jsr UpdateSprites2_4 ; CPU:$C707 PRG:0707 20 1F C7
ldy SprIndex ; CPU:$C70A PRG:070A A4 4A
dey ; CPU:$C70C PRG:070C 88
tya ; CPU:$C70D PRG:070D 98
asl a ; CPU:$C70E PRG:070E 0A
sta Zp08 ; CPU:$C70F PRG:070F 85 08
tay ; CPU:$C711 PRG:0711 A8
lda $C293,y ; CPU:$C712 PRG:0712 B9 93 C2
sta PtrLo ; CPU:$C715 PRG:0715 85 00
lda $C294,y ; CPU:$C717 PRG:0717 B9 94 C2
sta PtrHi ; CPU:$C71A PRG:071A 85 01
jmp SubCF218 ; CPU:$C71C PRG:071C 4C 18 F2
; -----------------------------------------------------------------------------
; Routine: UpdateSprites2_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.
; -----------------------------------------------------------------------------
UpdateSprites2_4:
lda Zp11 ; CPU:$C71F PRG:071F A5 11
and #$E7 ; CPU:$C721 PRG:0721 29 E7
; -----------------------------------------------------------------------------
; Routine: UpdatePPUMask
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdatePPUMask:
sta PPUMASK ; CPU:$C723 PRG:0723 8D 01 20
sta Zp11 ; CPU:$C726 PRG:0726 85 11
rts ; CPU:$C728 PRG:0728 60
; -----------------------------------------------------------------------------
; Routine: InitSprites_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.
; -----------------------------------------------------------------------------
InitSprites_3:
lda #$00 ; CPU:$C729 PRG:0729 A9 00
ldy #$53 ; CPU:$C72B PRG:072B A0 53
; -----------------------------------------------------------------------------
; Routine: InitSprites_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.
; -----------------------------------------------------------------------------
InitSprites_3_Block:
sta a:Zp00,y ; CPU:$C72D PRG:072D 99 00 00
iny ; CPU:$C730 PRG:0730 C8
cpy #$E9 ; CPU:$C731 PRG:0731 C0 E9
bne InitSprites_3_Block ; CPU:$C733 PRG:0733 D0 F8
lda #$01 ; CPU:$C735 PRG:0735 A9 01
sta ObjIndex ; CPU:$C737 PRG:0737 85 5F
sta Zp60 ; CPU:$C739 PRG:0739 85 60
sta Zp85 ; CPU:$C73B PRG:073B 85 85
sta Zp87 ; CPU:$C73D PRG:073D 85 87
lda #$01 ; CPU:$C73F PRG:073F A9 01
sta Zp63 ; CPU:$C741 PRG:0741 85 63
lda #$00 ; CPU:$C743 PRG:0743 A9 00
sta Zp64 ; CPU:$C745 PRG:0745 85 64
lda #$02 ; CPU:$C747 PRG:0747 A9 02
sta Zp78 ; CPU:$C749 PRG:0749 85 78
lda #$30 ; CPU:$C74B PRG:074B A9 30
sta Zp84 ; CPU:$C74D PRG:074D 85 84
sta Zp86 ; CPU:$C74F PRG:074F 85 86
lda #$A0 ; CPU:$C751 PRG:0751 A9 A0
sta Zp7A ; CPU:$C753 PRG:0753 85 7A
sta Zp7B ; CPU:$C755 PRG:0755 85 7B
lda #$32 ; CPU:$C757 PRG:0757 A9 32
sta Zp79 ; CPU:$C759 PRG:0759 85 79
lda #$32 ; CPU:$C75B PRG:075B A9 32
sta Zp57 ; CPU:$C75D PRG:075D 85 57
sta Zp58 ; CPU:$C75F PRG:075F 85 58
lda #$24 ; CPU:$C761 PRG:0761 A9 24
sta Zp59 ; CPU:$C763 PRG:0763 85 59
sta Zp5A ; CPU:$C765 PRG:0765 85 5A
ldy SprIndex ; CPU:$C767 PRG:0767 A4 4A
jsr $C7F1 ; CPU:$C769 PRG:0769 20 F1 C7
ldy Zp08 ; CPU:$C76C PRG:076C A4 08
ldx #$00 ; CPU:$C76E PRG:076E A2 00
jsr $C814 ; CPU:$C770 PRG:0770 20 14 C8
lda SprIndex ; CPU:$C773 PRG:0773 A5 4A
cmp #$01 ; CPU:$C775 PRG:0775 C9 01
bne InitSprites_3_Block_2 ; CPU:$C777 PRG:0777 D0 1B
jsr $C83F ; CPU:$C779 PRG:0779 20 3F C8
jsr $C79B ; CPU:$C77C PRG:077C 20 9B C7
jsr $DC0D ; CPU:$C77F PRG:077F 20 0D DC
jsr $E170 ; CPU:$C782 PRG:0782 20 70 E1
lda #$00 ; CPU:$C785 PRG:0785 A9 00
sta $0513 ; CPU:$C787 PRG:0787 8D 13 05
sta $0518 ; CPU:$C78A PRG:078A 8D 18 05
sta $05D3 ; CPU:$C78D PRG:078D 8D D3 05
sta $05D4 ; CPU:$C790 PRG:0790 8D D4 05
rts ; CPU:$C793 PRG:0793 60
; -----------------------------------------------------------------------------
; Routine: InitSprites_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.
; -----------------------------------------------------------------------------
InitSprites_3_Block_2:
jmp $C797 ; CPU:$C794 PRG:0794 4C 97 C7
; -----------------------------------------------------------------------------
; 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 #$FF ; CPU:$C797 PRG:0797 A9 FF
sta Zp79 ; CPU:$C799 PRG:0799 85 79
; -----------------------------------------------------------------------------
; Routine: InitLevel2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
InitLevel2:
lda #$08 ; CPU:$C79B PRG:079B A9 08
sta Zp3C ; CPU:$C79D PRG:079D 85 3C
jsr $E72C ; CPU:$C79F PRG:079F 20 2C E7
jsr SubCE6C9 ; CPU:$C7A2 PRG:07A2 20 C9 E6
jsr $E387 ; CPU:$C7A5 PRG:07A5 20 87 E3
lda SprIndex ; CPU:$C7A8 PRG:07A8 A5 4A
cmp #$03 ; CPU:$C7AA PRG:07AA C9 03
bmi InitLevel2_Block ; CPU:$C7AC PRG:07AC 30 07
lda #$05 ; CPU:$C7AE PRG:07AE A9 05
sta GameState ; CPU:$C7B0 PRG:07B0 85 EC
jsr $E825 ; CPU:$C7B2 PRG:07B2 20 25 E8
; -----------------------------------------------------------------------------
; Routine: InitLevel2_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.
; -----------------------------------------------------------------------------
InitLevel2_Block:
lda #$02 ; CPU:$C7B5 PRG:07B5 A9 02
sta ZpFC ; CPU:$C7B7 PRG:07B7 85 FC
lda SprIndex ; CPU:$C7B9 PRG:07B9 A5 4A
cmp #$01 ; CPU:$C7BB PRG:07BB C9 01
bne UpdateGameState ; CPU:$C7BD PRG:07BD D0 04
lda #$10 ; CPU:$C7BF PRG:07BF A9 10
sta ZpFC ; CPU:$C7C1 PRG:07C1 85 FC
; -----------------------------------------------------------------------------
; 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 $0416 ; CPU:$C7C3 PRG:07C3 AD 16 04
bne UpdateGameState_Block ; CPU:$C7C6 PRG:07C6 D0 07
lda $0402 ; CPU:$C7C8 PRG:07C8 AD 02 04
cmp #$0A ; CPU:$C7CB PRG:07CB C9 0A
bne UpdateGameState_Block_2 ; CPU:$C7CD PRG:07CD D0 0D
; -----------------------------------------------------------------------------
; 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:
lda #$00 ; CPU:$C7CF PRG:07CF A9 00
sta $0416 ; CPU:$C7D1 PRG:07D1 8D 16 04
sta GameState ; CPU:$C7D4 PRG:07D4 85 EC
sta $0402 ; CPU:$C7D6 PRG:07D6 8D 02 04
jmp $C8E2 ; CPU:$C7D9 PRG:07D9 4C E2 C8
; -----------------------------------------------------------------------------
; Routine: UpdateGameState_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.
; -----------------------------------------------------------------------------
UpdateGameState_Block_2:
lda #$22 ; CPU:$C7DC PRG:07DC A9 22
sta ZpB7 ; CPU:$C7DE PRG:07DE 85 B7
lda #$C8 ; CPU:$C7E0 PRG:07E0 A9 C8
sta ZpB6 ; CPU:$C7E2 PRG:07E2 85 B6
lda #$B0 ; CPU:$C7E4 PRG:07E4 A9 B0
sta ZpC3 ; CPU:$C7E6 PRG:07E6 85 C3
lda #$40 ; CPU:$C7E8 PRG:07E8 A9 40
sta ZpC2 ; CPU:$C7EA PRG:07EA 85 C2
lda #$24 ; CPU:$C7EC PRG:07EC A9 24
sta ZpDA ; CPU:$C7EE PRG:07EE 85 DA
rts ; CPU:$C7F0 PRG:07F0 60
; -----------------------------------------------------------------------------
; Routine: CheckLevelComplete
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckLevelComplete:
ldx #$00 ; CPU:$C7F1 PRG:07F1 A2 00
; -----------------------------------------------------------------------------
; Routine: CheckLevelComplete2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckLevelComplete2:
lda $C179,x ; CPU:$C7F3 PRG:07F3 BD 79 C1
cmp #$FF ; CPU:$C7F6 PRG:07F6 C9 FF
beq CheckLevelComplete2_Block ; CPU:$C7F8 PRG:07F8 F0 15
sta Ptr2Lo ; CPU:$C7FA PRG:07FA 85 02
lda $C17A,x ; CPU:$C7FC PRG:07FC BD 7A C1
sta Zp03 ; CPU:$C7FF PRG:07FF 85 03
lda $C17B,x ; CPU:$C801 PRG:0801 BD 7B C1
sta Zp04 ; CPU:$C804 PRG:0804 85 04
jsr $D6D0 ; CPU:$C806 PRG:0806 20 D0 D6
inx ; CPU:$C809 PRG:0809 E8
inx ; CPU:$C80A PRG:080A E8
inx ; CPU:$C80B PRG:080B E8
jmp $C7F3 ; CPU:$C80C PRG:080C 4C F3 C7
; -----------------------------------------------------------------------------
; Routine: CheckLevelComplete2_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.
; -----------------------------------------------------------------------------
CheckLevelComplete2_Block:
inx ; CPU:$C80F PRG:080F E8
dey ; CPU:$C810 PRG:0810 88
bne CheckLevelComplete2 ; CPU:$C811 PRG:0811 D0 E0
rts ; CPU:$C813 PRG:0813 60
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_1:
lda $C173,y ; CPU:$C814 PRG:0814 B9 73 C1
sta PtrLo ; CPU:$C817 PRG:0817 85 00
lda $C174,y ; CPU:$C819 PRG:0819 B9 74 C1
sta PtrHi ; CPU:$C81C PRG:081C 85 01
lda #$50 ; CPU:$C81E PRG:081E A9 50
sta Ptr2Lo ; CPU:$C820 PRG:0820 85 02
lda ObjIndex,x ; CPU:$C822 PRG:0822 B5 5F
cmp #$01 ; CPU:$C824 PRG:0824 C9 01
beq UpdatePlayerPosition_1_Block_2 ; CPU:$C826 PRG:0826 F0 0B
lda $0233 ; CPU:$C828 PRG:0828 AD 33 02
cmp #$80 ; CPU:$C82B PRG:082B C9 80
bcs UpdatePlayerPosition_1_Block_2 ; CPU:$C82D PRG:082D B0 04
lda #$D8 ; CPU:$C82F PRG:082F A9 D8
sta PtrLo ; CPU:$C831 PRG:0831 85 00
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_1_Block_2:
jsr $D69F ; CPU:$C833 PRG:0833 20 9F D6
lda SprIndex ; CPU:$C836 PRG:0836 A5 4A
cmp #$02 ; CPU:$C838 PRG:0838 C9 02
bpl UpdatePlayerPosition_1_Block_4 ; CPU:$C83A PRG:083A 10 25
txa ; CPU:$C83C PRG:083C 8A
beq UpdatePlayerPosition_1_Block_4 ; CPU:$C83D PRG:083D F0 22
; -----------------------------------------------------------------------------
; 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:
lda #$D8 ; CPU:$C83F PRG:083F A9 D8
sta PtrLo ; CPU:$C841 PRG:0841 85 00
lda #$BF ; CPU:$C843 PRG:0843 A9 BF
sta PtrHi ; CPU:$C845 PRG:0845 85 01
lda #$50 ; CPU:$C847 PRG:0847 A9 50
sta Ptr2Lo ; CPU:$C849 PRG:0849 85 02
lda ObjIndex,x ; CPU:$C84B PRG:084B B5 5F
cmp #$01 ; CPU:$C84D PRG:084D C9 01
beq UpdateSpritePosition_Block_2 ; CPU:$C84F PRG:084F F0 0B
lda $0213 ; CPU:$C851 PRG:0851 AD 13 02
cmp #$80 ; CPU:$C854 PRG:0854 C9 80
bcc UpdateSpritePosition_Block_2 ; CPU:$C856 PRG:0856 90 04
lda #$06 ; CPU:$C858 PRG:0858 A9 06
sta PtrLo ; CPU:$C85A PRG:085A 85 00
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition_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.
; -----------------------------------------------------------------------------
UpdateSpritePosition_Block_2:
ldx #$01 ; CPU:$C85C PRG:085C A2 01
jsr $D69F ; CPU:$C85E PRG:085E 20 9F D6
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_1_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_1_Block_4:
lda #$FF ; CPU:$C861 PRG:0861 A9 FF
sta ZpDD,x ; CPU:$C863 PRG:0863 95 DD
rts ; CPU:$C865 PRG:0865 60
; -----------------------------------------------------------------------------
; Routine: CheckController
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckController:
lda Zp4C ; CPU:$C866 PRG:0866 A5 4C
beq CheckController_Block_2 ; CPU:$C868 PRG:0868 F0 08
lda $06A2 ; CPU:$C86A PRG:086A AD A2 06
bne CheckController_Block_2 ; CPU:$C86D PRG:086D D0 03
sta APUSTATUS ; CPU:$C86F PRG:086F 8D 15 40
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_2:
lda Zp15 ; CPU:$C872 PRG:0872 A5 15
and #$20 ; CPU:$C874 PRG:0874 29 20
beq CheckController_Block_3 ; CPU:$C876 PRG:0876 F0 03
jmp $C8E2 ; CPU:$C878 PRG:0878 4C E2 C8
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_3:
lda ZpEB ; CPU:$C87B PRG:087B A5 EB
bne UpdateGameState3_1 ; CPU:$C87D PRG:087D D0 5C
lda ZpEE ; CPU:$C87F PRG:087F A5 EE
beq CheckController_Block_4 ; CPU:$C881 PRG:0881 F0 06
txa ; CPU:$C883 PRG:0883 8A
bne CheckController_Block_5 ; CPU:$C884 PRG:0884 D0 02
dec ZpEE ; CPU:$C886 PRG:0886 C6 EE
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_5:
rts ; CPU:$C888 PRG:0888 60
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_4:
lda ObjIndex,x ; CPU:$C889 PRG:0889 B5 5F
cmp #$05 ; CPU:$C88B PRG:088B C9 05
beq CheckController_Block_6 ; CPU:$C88D PRG:088D F0 49
cmp #$04 ; CPU:$C88F PRG:088F C9 04
beq CheckController_Block_8 ; CPU:$C891 PRG:0891 F0 25
lda ObjIndex,x ; CPU:$C893 PRG:0893 B5 5F
cmp #$03 ; CPU:$C895 PRG:0895 C9 03
beq CheckController_Block_8 ; CPU:$C897 PRG:0897 F0 1F
lda Zp4C ; CPU:$C899 PRG:0899 A5 4C
beq CheckController_Block_9 ; CPU:$C89B PRG:089B F0 06
jsr $E26B ; CPU:$C89D PRG:089D 20 6B E2
jmp $C8BB ; CPU:$C8A0 PRG:08A0 4C BB C8
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_9:
lda ZpC0 ; CPU:$C8A3 PRG:08A3 A5 C0
bne CheckController_Block_10 ; CPU:$C8A5 PRG:08A5 D0 20
lda ZpE5 ; CPU:$C8A7 PRG:08A7 A5 E5
ora ZpE6 ; CPU:$C8A9 PRG:08A9 05 E6
beq CheckController_Block_11 ; CPU:$C8AB PRG:08AB F0 08
lda #$00 ; CPU:$C8AD PRG:08AD A9 00
sta BtnState ; CPU:$C8AF PRG:08AF 85 51
sta Zp52 ; CPU:$C8B1 PRG:08B1 85 52
beq UpdateGameState2_1 ; CPU:$C8B3 PRG:08B3 F0 06
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_11:
jsr $CA37 ; CPU:$C8B5 PRG:08B5 20 37 CA
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_8:
jsr $E1D7 ; CPU:$C8B8 PRG:08B8 20 D7 E1
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2_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_1:
jsr $CA86 ; CPU:$C8BB PRG:08BB 20 86 CA
jsr $CBD7 ; CPU:$C8BE PRG:08BE 20 D7 CB
jsr $CC9E ; CPU:$C8C1 PRG:08C1 20 9E CC
jsr $D82F ; CPU:$C8C4 PRG:08C4 20 2F D8
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_10:
txa ; CPU:$C8C7 PRG:08C7 8A
pha ; CPU:$C8C8 PRG:08C8 48
jsr $CA99 ; CPU:$C8C9 PRG:08C9 20 99 CA
jsr $F48D ; CPU:$C8CC PRG:08CC 20 8D F4
pla ; CPU:$C8CF PRG:08CF 68
tax ; CPU:$C8D0 PRG:08D0 AA
lda BtnState,x ; CPU:$C8D1 PRG:08D1 B5 51
sta Zp53,x ; CPU:$C8D3 PRG:08D3 95 53
jmp $C8DB ; CPU:$C8D5 PRG:08D5 4C DB C8
; -----------------------------------------------------------------------------
; Routine: CheckController_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.
; -----------------------------------------------------------------------------
CheckController_Block_6:
jsr $CAF7 ; CPU:$C8D8 PRG:08D8 20 F7 CA
; -----------------------------------------------------------------------------
; Routine: UpdateGameState3_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_1:
txa ; CPU:$C8DB PRG:08DB 8A
bne CheckGameState2_Block ; CPU:$C8DC PRG:08DC D0 03
jsr $C995 ; CPU:$C8DE PRG:08DE 20 95 C9
; -----------------------------------------------------------------------------
; Routine: CheckGameState2_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.
; -----------------------------------------------------------------------------
CheckGameState2_Block:
rts ; CPU:$C8E1 PRG:08E1 60
; -----------------------------------------------------------------------------
; Routine: CheckGameState2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckGameState2:
lda Zp49 ; CPU:$C8E2 PRG:08E2 A5 49
bne CheckGameState2_Block ; CPU:$C8E4 PRG:08E4 D0 FB
lda VBlankTimer ; CPU:$C8E6 PRG:08E6 A5 10
and #$FE ; CPU:$C8E8 PRG:08E8 29 FE
sta PPUCTRL ; CPU:$C8EA PRG:08EA 8D 00 20
sta VBlankTimer ; CPU:$C8ED PRG:08ED 85 10
lda #$01 ; CPU:$C8EF PRG:08EF A9 01
sta Zp49 ; CPU:$C8F1 PRG:08F1 85 49
sta Zp94 ; CPU:$C8F3 PRG:08F3 85 94
lda #$40 ; CPU:$C8F5 PRG:08F5 A9 40
sta Zp32 ; CPU:$C8F7 PRG:08F7 85 32
lda #$00 ; CPU:$C8F9 PRG:08F9 A9 00
sta Zp4C ; CPU:$C8FB PRG:08FB 85 4C
sta Zp4E ; CPU:$C8FD PRG:08FD 85 4E
sta ZpAE ; CPU:$C8FF PRG:08FF 85 AE
sta ZpEB ; CPU:$C901 PRG:0901 85 EB
sta ZpEE ; CPU:$C903 PRG:0903 85 EE
sta $041F ; CPU:$C905 PRG:0905 8D 1F 04
sta $0402 ; CPU:$C908 PRG:0908 8D 02 04
jsr $C6F9 ; CPU:$C90B PRG:090B 20 F9 C6
jmp $C6EC ; CPU:$C90E PRG:090E 4C EC C6
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckButtonPress:
lda Zp15 ; CPU:$C911 PRG:0911 A5 15
and #$20 ; CPU:$C913 PRG:0913 29 20
beq CheckButtonPress_Block ; CPU:$C915 PRG:0915 F0 0F
lda #$00 ; CPU:$C917 PRG:0917 A9 00
sta GameState ; CPU:$C919 PRG:0919 85 EC
sta ZpFC ; CPU:$C91B PRG:091B 85 FC
jsr SubCE6C9 ; CPU:$C91D PRG:091D 20 C9 E6
jsr $E2B4 ; CPU:$C920 PRG:0920 20 B4 E2
jmp $C8E2 ; CPU:$C923 PRG:0923 4C E2 C8
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress_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.
; -----------------------------------------------------------------------------
CheckButtonPress_Block:
lda ZpEB ; CPU:$C926 PRG:0926 A5 EB
bne CheckButtonPress_Block_2 ; CPU:$C928 PRG:0928 D0 65
lda ZpEE ; CPU:$C92A PRG:092A A5 EE
beq CheckButtonPress_Block_3 ; CPU:$C92C PRG:092C F0 03
dec ZpEE ; CPU:$C92E PRG:092E C6 EE
rts ; CPU:$C930 PRG:0930 60
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress_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.
; -----------------------------------------------------------------------------
CheckButtonPress_Block_3:
ldx #$00 ; CPU:$C931 PRG:0931 A2 00
lda GameState ; CPU:$C933 PRG:0933 A5 EC
cmp #$03 ; CPU:$C935 PRG:0935 C9 03
beq SubCC98C ; CPU:$C937 PRG:0937 F0 53
cmp #$30 ; CPU:$C939 PRG:0939 C9 30
beq CheckButtonPress_Block_4 ; CPU:$C93B PRG:093B F0 55
cmp #$20 ; CPU:$C93D PRG:093D C9 20
beq SubCC963_Block ; CPU:$C93F PRG:093F F0 3E
lda ObjIndex ; CPU:$C941 PRG:0941 A5 5F
cmp #$05 ; CPU:$C943 PRG:0943 C9 05
beq CheckButtonPress_Block_6 ; CPU:$C945 PRG:0945 F0 2F
cmp #$04 ; CPU:$C947 PRG:0947 C9 04
beq SubCC963 ; CPU:$C949 PRG:0949 F0 18
cmp #$03 ; CPU:$C94B PRG:094B C9 03
beq SubCC963 ; CPU:$C94D PRG:094D F0 14
lda ZpAF ; CPU:$C94F PRG:094F A5 AF
beq CheckButtonPress_Block_7 ; CPU:$C951 PRG:0951 F0 07
lda #$00 ; CPU:$C953 PRG:0953 A9 00
sta BtnState ; CPU:$C955 PRG:0955 85 51
jmp $C963 ; CPU:$C957 PRG:0957 4C 63 C9
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress_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.
; -----------------------------------------------------------------------------
CheckButtonPress_Block_7:
lda GameState ; CPU:$C95A PRG:095A A5 EC
cmp #$03 ; CPU:$C95C PRG:095C C9 03
beq SubCC963 ; CPU:$C95E PRG:095E F0 03
jsr $CA37 ; CPU:$C960 PRG:0960 20 37 CA
; -----------------------------------------------------------------------------
; Routine: SubCC963
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCC963:
jsr $CA86 ; CPU:$C963 PRG:0963 20 86 CA
jsr $CBD7 ; CPU:$C966 PRG:0966 20 D7 CB
jsr $CC9E ; CPU:$C969 PRG:0969 20 9E CC
jsr $CA99 ; CPU:$C96C PRG:096C 20 99 CA
lda BtnState ; CPU:$C96F PRG:096F A5 51
sta Zp53 ; CPU:$C971 PRG:0971 85 53
jmp $C98C ; CPU:$C973 PRG:0973 4C 8C C9
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress_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.
; -----------------------------------------------------------------------------
CheckButtonPress_Block_6:
lda GameState ; CPU:$C976 PRG:0976 A5 EC
cmp #$20 ; CPU:$C978 PRG:0978 C9 20
beq SubCC963_Block ; CPU:$C97A PRG:097A F0 03
jsr $CAF7 ; CPU:$C97C PRG:097C 20 F7 CA
; -----------------------------------------------------------------------------
; Routine: SubCC963_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.
; -----------------------------------------------------------------------------
SubCC963_Block:
txa ; CPU:$C97F PRG:097F 8A
pha ; CPU:$C980 PRG:0980 48
jsr $E928 ; CPU:$C981 PRG:0981 20 28 E9
jsr $E876 ; CPU:$C984 PRG:0984 20 76 E8
jsr $E984 ; CPU:$C987 PRG:0987 20 84 E9
pla ; CPU:$C98A PRG:098A 68
tax ; CPU:$C98B PRG:098B AA
; -----------------------------------------------------------------------------
; Routine: SubCC98C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCC98C:
jsr $F48D ; CPU:$C98C PRG:098C 20 8D F4
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress_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.
; -----------------------------------------------------------------------------
CheckButtonPress_Block_2:
jmp $C995 ; CPU:$C98F PRG:098F 4C 95 C9
; -----------------------------------------------------------------------------
; Routine: CheckButtonPress_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.
; -----------------------------------------------------------------------------
CheckButtonPress_Block_4:
jmp $E9C0 ; CPU:$C992 PRG:0992 4C C0 E9
; -----------------------------------------------------------------------------
; Routine: SubCC995
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCC995:
lda Zp15 ; CPU:$C995 PRG:0995 A5 15
and #$10 ; CPU:$C997 PRG:0997 29 10
beq SubCC995_Block ; CPU:$C999 PRG:0999 F0 66
lda Zp4C ; CPU:$C99B PRG:099B A5 4C
beq SubCC995_Block_2 ; CPU:$C99D PRG:099D F0 09
lda #$00 ; CPU:$C99F PRG:099F A9 00
sta Zp4E ; CPU:$C9A1 PRG:09A1 85 4E
sta Zp4C ; CPU:$C9A3 PRG:09A3 85 4C
jmp $C5E4 ; CPU:$C9A5 PRG:09A5 4C E4 C5
; -----------------------------------------------------------------------------
; Routine: SubCC995_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.
; -----------------------------------------------------------------------------
SubCC995_Block_2:
lda Zp15 ; CPU:$C9A8 PRG:09A8 A5 15
cmp $0418 ; CPU:$C9AA PRG:09AA CD 18 04
beq SubCC995_Block_3 ; CPU:$C9AD PRG:09AD F0 55
sta $0418 ; CPU:$C9AF PRG:09AF 8D 18 04
lda ZpEB ; CPU:$C9B2 PRG:09B2 A5 EB
beq SubCC995_Block_4 ; CPU:$C9B4 PRG:09B4 F0 36
lda ZpEE ; CPU:$C9B6 PRG:09B6 A5 EE
bne SubCC995_Block_5 ; CPU:$C9B8 PRG:09B8 D0 31
lda #$00 ; CPU:$C9BA PRG:09BA A9 00
sta ZpEB ; CPU:$C9BC PRG:09BC 85 EB
lda Zp0E ; CPU:$C9BE PRG:09BE A5 0E
sta ZpFC ; CPU:$C9C0 PRG:09C0 85 FC
lda SprIndex ; CPU:$C9C2 PRG:09C2 A5 4A
cmp #$01 ; CPU:$C9C4 PRG:09C4 C9 01
bne SubCC995_Block_6 ; CPU:$C9C6 PRG:09C6 D0 11
lda #$01 ; CPU:$C9C8 PRG:09C8 A9 01
sta PtrLo ; CPU:$C9CA PRG:09CA 85 00
lda #$3F ; CPU:$C9CC PRG:09CC A9 3F
sta PtrHi ; CPU:$C9CE PRG:09CE 85 01
lda #$00 ; CPU:$C9D0 PRG:09D0 A9 00
sta Ptr2Lo ; CPU:$C9D2 PRG:09D2 85 02
lda #$C3 ; CPU:$C9D4 PRG:09D4 A9 C3
jsr $F2AA ; CPU:$C9D6 PRG:09D6 20 AA F2
; -----------------------------------------------------------------------------
; Routine: SubCC995_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.
; -----------------------------------------------------------------------------
SubCC995_Block_6:
lda VBlankTimer ; CPU:$C9D9 PRG:09D9 A5 10
and #$FE ; CPU:$C9DB PRG:09DB 29 FE
sta VBlankTimer ; CPU:$C9DD PRG:09DD 85 10
sta PPUCTRL ; CPU:$C9DF PRG:09DF 8D 00 20
lda Zp11 ; CPU:$C9E2 PRG:09E2 A5 11
and #$EF ; CPU:$C9E4 PRG:09E4 29 EF
sta Zp11 ; CPU:$C9E6 PRG:09E6 85 11
jmp $C9F8 ; CPU:$C9E8 PRG:09E8 4C F8 C9
; -----------------------------------------------------------------------------
; Routine: SubCC995_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.
; -----------------------------------------------------------------------------
SubCC995_Block_5:
rts ; CPU:$C9EB PRG:09EB 60
; -----------------------------------------------------------------------------
; Routine: SubCC995_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.
; -----------------------------------------------------------------------------
SubCC995_Block_4:
lda #$01 ; CPU:$C9EC PRG:09EC A9 01
sta ZpEB ; CPU:$C9EE PRG:09EE 85 EB
lda ZpFC ; CPU:$C9F0 PRG:09F0 A5 FC
sta Zp0E ; CPU:$C9F2 PRG:09F2 85 0E
lda #$00 ; CPU:$C9F4 PRG:09F4 A9 00
sta ZpFC ; CPU:$C9F6 PRG:09F6 85 FC
; -----------------------------------------------------------------------------
; Routine: SubCC9F8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCC9F8:
lda #$40 ; CPU:$C9F8 PRG:09F8 A9 40
sta ZpEE ; CPU:$C9FA PRG:09FA 85 EE
lda #$40 ; CPU:$C9FC PRG:09FC A9 40
sta ZpFD ; CPU:$C9FE PRG:09FE 85 FD
rts ; CPU:$CA00 PRG:0A00 60
; -----------------------------------------------------------------------------
; Routine: SubCC995_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.
; -----------------------------------------------------------------------------
SubCC995_Block:
sta $0418 ; CPU:$CA01 PRG:0A01 8D 18 04
; -----------------------------------------------------------------------------
; Routine: SubCC995_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.
; -----------------------------------------------------------------------------
SubCC995_Block_3:
lda ZpEE ; CPU:$CA04 PRG:0A04 A5 EE
beq SubCC9F8_Block ; CPU:$CA06 PRG:0A06 F0 03
dec ZpEE ; CPU:$CA08 PRG:0A08 C6 EE
rts ; CPU:$CA0A PRG:0A0A 60
; -----------------------------------------------------------------------------
; Routine: SubCC9F8_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.
; -----------------------------------------------------------------------------
SubCC9F8_Block:
lda ZpEB ; CPU:$CA0B PRG:0A0B A5 EB
bne SubCC9F8_Block_2 ; CPU:$CA0D PRG:0A0D D0 01
rts ; CPU:$CA0F PRG:0A0F 60
; -----------------------------------------------------------------------------
; Routine: SubCC9F8_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.
; -----------------------------------------------------------------------------
SubCC9F8_Block_2:
lda VBlankTimer ; CPU:$CA10 PRG:0A10 A5 10
ora #$01 ; CPU:$CA12 PRG:0A12 09 01
sta VBlankTimer ; CPU:$CA14 PRG:0A14 85 10
sta PPUCTRL ; CPU:$CA16 PRG:0A16 8D 00 20
lda Zp11 ; CPU:$CA19 PRG:0A19 A5 11
ora #$10 ; CPU:$CA1B PRG:0A1B 09 10
sta Zp11 ; CPU:$CA1D PRG:0A1D 85 11
lda SprIndex ; CPU:$CA1F PRG:0A1F A5 4A
cmp #$01 ; CPU:$CA21 PRG:0A21 C9 01
bne SubCC9F8_Block_3 ; CPU:$CA23 PRG:0A23 D0 11
lda #$01 ; CPU:$CA25 PRG:0A25 A9 01
sta PtrLo ; CPU:$CA27 PRG:0A27 85 00
lda #$3F ; CPU:$CA29 PRG:0A29 A9 3F
sta PtrHi ; CPU:$CA2B PRG:0A2B 85 01
lda #$FD ; CPU:$CA2D PRG:0A2D A9 FD
sta Ptr2Lo ; CPU:$CA2F PRG:0A2F 85 02
lda #$C2 ; CPU:$CA31 PRG:0A31 A9 C2
jsr $F2AA ; CPU:$CA33 PRG:0A33 20 AA F2
; -----------------------------------------------------------------------------
; Routine: SubCC9F8_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.
; -----------------------------------------------------------------------------
SubCC9F8_Block_3:
rts ; CPU:$CA36 PRG:0A36 60
; -----------------------------------------------------------------------------
; Routine: CheckAnswer
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckAnswer:
ldy #$00 ; CPU:$CA37 PRG:0A37 A0 00
txa ; CPU:$CA39 PRG:0A39 8A
bne CheckAnswer_Block ; CPU:$CA3A PRG:0A3A D0 05
lda Zp15 ; CPU:$CA3C PRG:0A3C A5 15
jmp $CA43 ; CPU:$CA3E PRG:0A3E 4C 43 CA
; -----------------------------------------------------------------------------
; Routine: CheckAnswer_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.
; -----------------------------------------------------------------------------
CheckAnswer_Block:
lda Zp17 ; CPU:$CA41 PRG:0A41 A5 17
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckAnswer2:
and #$0F ; CPU:$CA43 PRG:0A43 29 0F
beq CheckAnswer2_Block_5 ; CPU:$CA45 PRG:0A45 F0 14
cmp #$08 ; CPU:$CA47 PRG:0A47 C9 08
beq CheckAnswer2_Block_2 ; CPU:$CA49 PRG:0A49 F0 0F
cmp #$04 ; CPU:$CA4B PRG:0A4B C9 04
beq CheckAnswer2_Block_3 ; CPU:$CA4D PRG:0A4D F0 0A
cmp #$02 ; CPU:$CA4F PRG:0A4F C9 02
beq CheckAnswer2_Block_4 ; CPU:$CA51 PRG:0A51 F0 05
cmp #$01 ; CPU:$CA53 PRG:0A53 C9 01
bne CheckAnswer2_Block_5 ; CPU:$CA55 PRG:0A55 D0 04
iny ; CPU:$CA57 PRG:0A57 C8
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2_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.
; -----------------------------------------------------------------------------
CheckAnswer2_Block_4:
iny ; CPU:$CA58 PRG:0A58 C8
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2_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.
; -----------------------------------------------------------------------------
CheckAnswer2_Block_3:
iny ; CPU:$CA59 PRG:0A59 C8
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2_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.
; -----------------------------------------------------------------------------
CheckAnswer2_Block_2:
iny ; CPU:$CA5A PRG:0A5A C8
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2_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.
; -----------------------------------------------------------------------------
CheckAnswer2_Block_5:
sty BtnState,x ; CPU:$CA5B PRG:0A5B 94 51
lda $05CE,x ; CPU:$CA5D PRG:0A5D BD CE 05
bne CheckAnswer2_Block_7 ; CPU:$CA60 PRG:0A60 D0 0B
lda BtnState,x ; CPU:$CA62 PRG:0A62 B5 51
cmp Zp53,x ; CPU:$CA64 PRG:0A64 D5 53
beq CheckAnswer2_Block_7 ; CPU:$CA66 PRG:0A66 F0 05
lda #$01 ; CPU:$CA68 PRG:0A68 A9 01
sta $05CE,x ; CPU:$CA6A PRG:0A6A 9D CE 05
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2_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.
; -----------------------------------------------------------------------------
CheckAnswer2_Block_7:
lda ObjIndex,x ; CPU:$CA6D PRG:0A6D B5 5F
cmp #$02 ; CPU:$CA6F PRG:0A6F C9 02
beq CheckAnswer3_1_Block ; CPU:$CA71 PRG:0A71 F0 12
txa ; CPU:$CA73 PRG:0A73 8A
bne CheckAnswer2_Block_9 ; CPU:$CA74 PRG:0A74 D0 05
lda Zp15 ; CPU:$CA76 PRG:0A76 A5 15
jmp $CA7D ; CPU:$CA78 PRG:0A78 4C 7D CA
; -----------------------------------------------------------------------------
; Routine: CheckAnswer2_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.
; -----------------------------------------------------------------------------
CheckAnswer2_Block_9:
lda Zp17 ; CPU:$CA7B PRG:0A7B A5 17
; -----------------------------------------------------------------------------
; Routine: CheckAnswer3_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.
; -----------------------------------------------------------------------------
CheckAnswer3_1:
and #$80 ; CPU:$CA7D PRG:0A7D 29 80
beq CheckAnswer3_1_Block ; CPU:$CA7F PRG:0A7F F0 04
lda #$03 ; CPU:$CA81 PRG:0A81 A9 03
sta ObjIndex,x ; CPU:$CA83 PRG:0A83 95 5F
; -----------------------------------------------------------------------------
; Routine: CheckAnswer3_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.
; -----------------------------------------------------------------------------
CheckAnswer3_1_Block:
rts ; CPU:$CA85 PRG:0A85 60
; -----------------------------------------------------------------------------
; Routine: UpdateScore_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.
; -----------------------------------------------------------------------------
UpdateScore_3:
lda Zp5B,x ; CPU:$CA86 PRG:0A86 B5 5B
beq UpdateScore_3_Block ; CPU:$CA88 PRG:0A88 F0 0E
jsr $D6BA ; CPU:$CA8A PRG:0A8A 20 BA D6
lda #$08 ; CPU:$CA8D PRG:0A8D A9 08
sta Ptr2Lo ; CPU:$CA8F PRG:0A8F 85 02
jsr $D6A3 ; CPU:$CA91 PRG:0A91 20 A3 D6
lda #$00 ; CPU:$CA94 PRG:0A94 A9 00
sta Zp5B,x ; CPU:$CA96 PRG:0A96 95 5B
; -----------------------------------------------------------------------------
; Routine: UpdateScore_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.
; -----------------------------------------------------------------------------
UpdateScore_3_Block:
rts ; CPU:$CA98 PRG:0A98 60
; -----------------------------------------------------------------------------
; Routine: UpdateScore2_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.
; -----------------------------------------------------------------------------
UpdateScore2_1:
lda SprIndex ; CPU:$CA99 PRG:0A99 A5 4A
cmp #$03 ; CPU:$CA9B PRG:0A9B C9 03
beq UpdateScore2_1_Block ; CPU:$CA9D PRG:0A9D F0 28
lda ZpC0 ; CPU:$CA9F PRG:0A9F A5 C0
beq UpdateScore2_1_Block_4 ; CPU:$CAA1 PRG:0AA1 F0 17
lda $0402 ; CPU:$CAA3 PRG:0AA3 AD 02 04
cmp #$0A ; CPU:$CAA6 PRG:0AA6 C9 0A
beq UpdateScore2_1_Block_6 ; CPU:$CAA8 PRG:0AA8 F0 1C
jsr $DECB ; CPU:$CAAA PRG:0AAA 20 CB DE
beq UpdateScore2_1_Block_4 ; CPU:$CAAD PRG:0AAD F0 0B
lda #$00 ; CPU:$CAAF PRG:0AAF A9 00
sta ZpC0 ; CPU:$CAB1 PRG:0AB1 85 C0
lda SprIndex ; CPU:$CAB3 PRG:0AB3 A5 4A
cmp #$01 ; CPU:$CAB5 PRG:0AB5 C9 01
bne UpdateScore2_1_Block_6 ; CPU:$CAB7 PRG:0AB7 D0 0D
rts ; CPU:$CAB9 PRG:0AB9 60
; -----------------------------------------------------------------------------
; Routine: UpdateScore2_1_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.
; -----------------------------------------------------------------------------
UpdateScore2_1_Block_4:
lda SprIndex ; CPU:$CABA PRG:0ABA A5 4A
cmp #$02 ; CPU:$CABC PRG:0ABC C9 02
beq UpdateScore2_1_Block_6 ; CPU:$CABE PRG:0ABE F0 06
jsr $D4F4 ; CPU:$CAC0 PRG:0AC0 20 F4 D4
jsr $DFEE ; CPU:$CAC3 PRG:0AC3 20 EE DF
; -----------------------------------------------------------------------------
; Routine: UpdateScore2_1_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.
; -----------------------------------------------------------------------------
UpdateScore2_1_Block_6:
rts ; CPU:$CAC6 PRG:0AC6 60
; -----------------------------------------------------------------------------
; Routine: UpdateScore2_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.
; -----------------------------------------------------------------------------
UpdateScore2_1_Block:
txa ; CPU:$CAC7 PRG:0AC7 8A
pha ; CPU:$CAC8 PRG:0AC8 48
jsr $E7FC ; CPU:$CAC9 PRG:0AC9 20 FC E7
lda ZpAF ; CPU:$CACC PRG:0ACC A5 AF
bne UpdateScore2_1_Block_7 ; CPU:$CACE PRG:0ACE D0 03
jsr $F006 ; CPU:$CAD0 PRG:0AD0 20 06 F0
; -----------------------------------------------------------------------------
; Routine: UpdateScore2_1_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.
; -----------------------------------------------------------------------------
UpdateScore2_1_Block_7:
jsr $E353 ; CPU:$CAD3 PRG:0AD3 20 53 E3
jsr $E674 ; CPU:$CAD6 PRG:0AD6 20 74 E6
jsr $E3A5 ; CPU:$CAD9 PRG:0AD9 20 A5 E3
jsr $E928 ; CPU:$CADC PRG:0ADC 20 28 E9
jsr $EA39 ; CPU:$CADF PRG:0ADF 20 39 EA
jsr $E2DE ; CPU:$CAE2 PRG:0AE2 20 DE E2
lda GameState ; CPU:$CAE5 PRG:0AE5 A5 EC
cmp #$08 ; CPU:$CAE7 PRG:0AE7 C9 08
beq UpdateScore2_1_Block_8 ; CPU:$CAE9 PRG:0AE9 F0 03
jsr $EFF7 ; CPU:$CAEB PRG:0AEB 20 F7 EF
; -----------------------------------------------------------------------------
; Routine: UpdateScore2_1_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.
; -----------------------------------------------------------------------------
UpdateScore2_1_Block_8:
jsr $E715 ; CPU:$CAEE PRG:0AEE 20 15 E7
jsr $D34F ; CPU:$CAF1 PRG:0AF1 20 4F D3
pla ; CPU:$CAF4 PRG:0AF4 68
tax ; CPU:$CAF5 PRG:0AF5 AA
rts ; CPU:$CAF6 PRG:0AF6 60
; -----------------------------------------------------------------------------
; Routine: UpdateScore3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateScore3:
lda #$00 ; CPU:$CAF7 PRG:0AF7 A9 00
sta ZpFC ; CPU:$CAF9 PRG:0AF9 85 FC
lda Zp57,x ; CPU:$CAFB PRG:0AFB B5 57
bne UpdateScore3_Block ; CPU:$CAFD PRG:0AFD D0 15
lda Zp59,x ; CPU:$CAFF PRG:0AFF B5 59
beq UpdateScore3_Block_2 ; CPU:$CB01 PRG:0B01 F0 06
jsr $D2BC ; CPU:$CB03 PRG:0B03 20 BC D2
jmp $CB17 ; CPU:$CB06 PRG:0B06 4C 17 CB
; -----------------------------------------------------------------------------
; Routine: UpdateScore3_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.
; -----------------------------------------------------------------------------
UpdateScore3_Block_2:
jsr $D562 ; CPU:$CB09 PRG:0B09 20 62 D5
beq UpdateScore3_Block_3 ; CPU:$CB0C PRG:0B0C F0 03
jmp $CB26 ; CPU:$CB0E PRG:0B0E 4C 26 CB
; -----------------------------------------------------------------------------
; Routine: UpdateScore3_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.
; -----------------------------------------------------------------------------
UpdateScore3_Block_3:
jmp $D292 ; CPU:$CB11 PRG:0B11 4C 92 D2
; -----------------------------------------------------------------------------
; Routine: UpdateScore3_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.
; -----------------------------------------------------------------------------
UpdateScore3_Block:
dec Zp57,x ; CPU:$CB14 PRG:0B14 D6 57
rts ; CPU:$CB16 PRG:0B16 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2_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.
; -----------------------------------------------------------------------------
UpdateGameState2_3:
lda #$03 ; CPU:$CB17 PRG:0B17 A9 03
ldy GameState ; CPU:$CB19 PRG:0B19 A4 EC
cpy #$08 ; CPU:$CB1B PRG:0B1B C0 08
bne UpdateGameState2_3_Block ; CPU:$CB1D PRG:0B1D D0 02
lda #$01 ; CPU:$CB1F PRG:0B1F A9 01
; -----------------------------------------------------------------------------
; Routine: UpdateGameState2_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.
; -----------------------------------------------------------------------------
UpdateGameState2_3_Block:
sta Zp57,x ; CPU:$CB21 PRG:0B21 95 57
dec Zp59,x ; CPU:$CB23 PRG:0B23 D6 59
rts ; CPU:$CB25 PRG:0B25 60
; -----------------------------------------------------------------------------
; Routine: CheckAnswer3_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.
; -----------------------------------------------------------------------------
CheckAnswer3_3:
lda SprIndex ; CPU:$CB26 PRG:0B26 A5 4A
cmp #$01 ; CPU:$CB28 PRG:0B28 C9 01
bne CheckAnswer3_3_Block ; CPU:$CB2A PRG:0B2A D0 12
lda #$32 ; CPU:$CB2C PRG:0B2C A9 32
sta Zp79 ; CPU:$CB2E PRG:0B2E 85 79
ldy #$00 ; CPU:$CB30 PRG:0B30 A0 00
jsr $C814 ; CPU:$CB32 PRG:0B32 20 14 C8
lda #$01 ; CPU:$CB35 PRG:0B35 A9 01
sta ObjIndex,x ; CPU:$CB37 PRG:0B37 95 5F
ldy #$10 ; CPU:$CB39 PRG:0B39 A0 10
jmp $CB89 ; CPU:$CB3B PRG:0B3B 4C 89 CB
; -----------------------------------------------------------------------------
; Routine: CheckAnswer3_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.
; -----------------------------------------------------------------------------
CheckAnswer3_3_Block:
lda GameState ; CPU:$CB3E PRG:0B3E A5 EC
cmp #$08 ; CPU:$CB40 PRG:0B40 C9 08
bne CheckAnswer3_3_Block_2 ; CPU:$CB42 PRG:0B42 D0 29
; -----------------------------------------------------------------------------
; Routine: UpdateGameState3_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.
; -----------------------------------------------------------------------------
UpdateGameState3_3:
jsr $E387 ; CPU:$CB44 PRG:0B44 20 87 E3
lda $0402 ; CPU:$CB47 PRG:0B47 AD 02 04
cmp #$0A ; CPU:$CB4A PRG:0B4A C9 0A
bmi UpdateGameState3_3_Block ; CPU:$CB4C PRG:0B4C 30 12
jsr $E2B4 ; CPU:$CB4E PRG:0B4E 20 B4 E2
lda #$10 ; CPU:$CB51 PRG:0B51 A9 10
sta ZpFD ; CPU:$CB53 PRG:0B53 85 FD
lda #$D0 ; CPU:$CB55 PRG:0B55 A9 D0
sta SprCount ; CPU:$CB57 PRG:0B57 85 39
lda #$00 ; CPU:$CB59 PRG:0B59 A9 00
sta Zp48 ; CPU:$CB5B PRG:0B5B 85 48
sta GameState ; CPU:$CB5D PRG:0B5D 85 EC
rts ; CPU:$CB5F PRG:0B5F 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState3_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.
; -----------------------------------------------------------------------------
UpdateGameState3_3_Block:
lda #$05 ; CPU:$CB60 PRG:0B60 A9 05
sta GameState ; CPU:$CB62 PRG:0B62 85 EC
jsr $C707 ; CPU:$CB64 PRG:0B64 20 07 C7
jsr $C7C3 ; CPU:$CB67 PRG:0B67 20 C3 C7
jmp $CB73 ; CPU:$CB6A PRG:0B6A 4C 73 CB
; -----------------------------------------------------------------------------
; Routine: CheckAnswer3_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.
; -----------------------------------------------------------------------------
CheckAnswer3_3_Block_2:
lda #$16 ; CPU:$CB6D PRG:0B6D A9 16
sta GameState ; CPU:$CB6F PRG:0B6F 85 EC
sta ZpDB ; CPU:$CB71 PRG:0B71 85 DB
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerScore
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdatePlayerScore:
ldy #$04 ; CPU:$CB73 PRG:0B73 A0 04
ldx #$00 ; CPU:$CB75 PRG:0B75 A2 00
jsr $C814 ; CPU:$CB77 PRG:0B77 20 14 C8
jsr $E825 ; CPU:$CB7A PRG:0B7A 20 25 E8
ldx #$00 ; CPU:$CB7D PRG:0B7D A2 00
lda #$FF ; CPU:$CB7F PRG:0B7F A9 FF
sta Zp79 ; CPU:$CB81 PRG:0B81 85 79
lda #$01 ; CPU:$CB83 PRG:0B83 A9 01
sta ObjIndex ; CPU:$CB85 PRG:0B85 85 5F
ldy #$02 ; CPU:$CB87 PRG:0B87 A0 02
; -----------------------------------------------------------------------------
; Routine: CheckAnswer4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
CheckAnswer4:
sty ZpFC ; CPU:$CB89 PRG:0B89 84 FC
lda #$32 ; CPU:$CB8B PRG:0B8B A9 32
sta Zp57,x ; CPU:$CB8D PRG:0B8D 95 57
lda #$24 ; CPU:$CB8F PRG:0B8F A9 24
sta Zp59,x ; CPU:$CB91 PRG:0B91 95 59
rts ; CPU:$CB93 PRG:0B93 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState4_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.
; -----------------------------------------------------------------------------
UpdateGameState4_3:
lda SprIndex ; CPU:$CB94 PRG:0B94 A5 4A
cmp #$01 ; CPU:$CB96 PRG:0B96 C9 01
beq UpdateGameState4_3_Block ; CPU:$CB98 PRG:0B98 F0 05
cmp #$02 ; CPU:$CB9A PRG:0B9A C9 02
bpl UpdateGameState4_3_Block_2 ; CPU:$CB9C PRG:0B9C 10 25
rts ; CPU:$CB9E PRG:0B9E 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState4_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.
; -----------------------------------------------------------------------------
UpdateGameState4_3_Block:
ldx #$00 ; CPU:$CB9F PRG:0B9F A2 00
jsr $E1C1 ; CPU:$CBA1 PRG:0BA1 20 C1 E1
lda #$00 ; CPU:$CBA4 PRG:0BA4 A9 00
sta $03F2 ; CPU:$CBA6 PRG:0BA6 8D F2 03
sta $03F3 ; CPU:$CBA9 PRG:0BA9 8D F3 03
sta ZpDF ; CPU:$CBAC PRG:0BAC 85 DF
sta ZpE0 ; CPU:$CBAE PRG:0BAE 85 E0
sta $040C ; CPU:$CBB0 PRG:0BB0 8D 0C 04
sta $040D ; CPU:$CBB3 PRG:0BB3 8D 0D 04
ldx #$01 ; CPU:$CBB6 PRG:0BB6 A2 01
jsr $E1C1 ; CPU:$CBB8 PRG:0BB8 20 C1 E1
lda Zp4C ; CPU:$CBBB PRG:0BBB A5 4C
beq UpdateGameState5 ; CPU:$CBBD PRG:0BBD F0 0D
lda #$90 ; CPU:$CBBF PRG:0BBF A9 90
bne UpdateGameState4_3_Block_3 ; CPU:$CBC1 PRG:0BC1 D0 0B
; -----------------------------------------------------------------------------
; Routine: UpdateGameState4_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.
; -----------------------------------------------------------------------------
UpdateGameState4_3_Block_2:
beq UpdateGameState4_3_Block_4 ; CPU:$CBC3 PRG:0BC3 F0 05
dec SprIndex ; CPU:$CBC5 PRG:0BC5 C6 4A
jmp $CBCC ; CPU:$CBC7 PRG:0BC7 4C CC CB
; -----------------------------------------------------------------------------
; Routine: UpdateGameState4_3_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.
; -----------------------------------------------------------------------------
UpdateGameState4_3_Block_4:
inc SprIndex ; CPU:$CBCA PRG:0BCA E6 4A
; -----------------------------------------------------------------------------
; Routine: UpdateGameState5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState5:
lda #$7A ; CPU:$CBCC PRG:0BCC A9 7A
; -----------------------------------------------------------------------------
; Routine: UpdateGameState4_3_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.
; -----------------------------------------------------------------------------
UpdateGameState4_3_Block_3:
sta SprCount ; CPU:$CBCE PRG:0BCE 85 39
lda #$00 ; CPU:$CBD0 PRG:0BD0 A9 00
sta Zp48 ; CPU:$CBD2 PRG:0BD2 85 48
sta Zp4B ; CPU:$CBD4 PRG:0BD4 85 4B
rts ; CPU:$CBD6 PRG:0BD6 60
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3:
lda ObjIndex,x ; CPU:$CBD7 PRG:0BD7 B5 5F
cmp Zp61,x ; CPU:$CBD9 PRG:0BD9 D5 61
bne UpdatePlayerPosition_3_Block ; CPU:$CBDB PRG:0BDB D0 01
rts ; CPU:$CBDD PRG:0BDD 60
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3_Block:
lda #$00 ; CPU:$CBDE PRG:0BDE A9 00
sta Zp55,x ; CPU:$CBE0 PRG:0BE0 95 55
sta Zp75 ; CPU:$CBE2 PRG:0BE2 85 75
lda ObjIndex,x ; CPU:$CBE4 PRG:0BE4 B5 5F
cmp #$01 ; CPU:$CBE6 PRG:0BE6 C9 01
beq UpdatePlayerPosition_3_Block_2 ; CPU:$CBE8 PRG:0BE8 F0 18
cmp #$02 ; CPU:$CBEA PRG:0BEA C9 02
beq UpdatePlayerPosition_3_Block_3 ; CPU:$CBEC PRG:0BEC F0 22
cmp #$03 ; CPU:$CBEE PRG:0BEE C9 03
beq UpdatePlayerPosition_3_Block_4 ; CPU:$CBF0 PRG:0BF0 F0 34
cmp #$04 ; CPU:$CBF2 PRG:0BF2 C9 04
beq UpdatePlayerPosition_3_Block_5 ; CPU:$CBF4 PRG:0BF4 F0 36
lda Zp61,x ; CPU:$CBF6 PRG:0BF6 B5 61
cmp #$04 ; CPU:$CBF8 PRG:0BF8 C9 04
bne UpdateGameState7 ; CPU:$CBFA PRG:0BFA D0 46
jsr $D242 ; CPU:$CBFC PRG:0BFC 20 42 D2
jmp $CC3E ; CPU:$CBFF PRG:0BFF 4C 3E CC
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3_Block_2:
lda #$00 ; CPU:$CC02 PRG:0C02 A9 00
sta Zp6F,x ; CPU:$CC04 PRG:0C04 95 6F
sta Ptr2Lo ; CPU:$CC06 PRG:0C06 85 02
sta Zp69,x ; CPU:$CC08 PRG:0C08 95 69
sta Zp67,x ; CPU:$CC0A PRG:0C0A 95 67
sta SprCount,x ; CPU:$CC0C PRG:0C0C 95 39
beq UpdateGameState7 ; CPU:$CC0E PRG:0C0E F0 32
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_3_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3_Block_3:
lda #$01 ; CPU:$CC10 PRG:0C10 A9 01
sta Zp6B,x ; CPU:$CC12 PRG:0C12 95 6B
sta Zp76,x ; CPU:$CC14 PRG:0C14 95 76
jsr $E74A ; CPU:$CC16 PRG:0C16 20 4A E7
lda SprIndex ; CPU:$CC19 PRG:0C19 A5 4A
cmp #$03 ; CPU:$CC1B PRG:0C1B C9 03
bne UpdatePlayerPosition_3_Block_6 ; CPU:$CC1D PRG:0C1D D0 04
lda #$00 ; CPU:$CC1F PRG:0C1F A9 00
sta Zp63,x ; CPU:$CC21 PRG:0C21 95 63
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_3_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3_Block_6:
jmp $CC42 ; CPU:$CC23 PRG:0C23 4C 42 CC
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_3_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3_Block_4:
jsr $CC47 ; CPU:$CC26 PRG:0C26 20 47 CC
jmp $CC42 ; CPU:$CC29 PRG:0C29 4C 42 CC
; -----------------------------------------------------------------------------
; Routine: UpdatePlayerPosition_3_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.
; -----------------------------------------------------------------------------
UpdatePlayerPosition_3_Block_5:
jsr SubCDA5E ; CPU:$CC2C PRG:0C2C 20 5E DA
lda $0210,y ; CPU:$CC2F PRG:0C2F B9 10 02
sta Zp71,x ; CPU:$CC32 PRG:0C32 95 71
lda #$01 ; CPU:$CC34 PRG:0C34 A9 01
sta Zp09 ; CPU:$CC36 PRG:0C36 85 09
lda #$00 ; CPU:$CC38 PRG:0C38 A9 00
sta Zp6B,x ; CPU:$CC3A PRG:0C3A 95 6B
beq UpdateGameState7 ; CPU:$CC3C PRG:0C3C F0 04
; -----------------------------------------------------------------------------
; Routine: UpdateGameState6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState6:
lda #$01 ; CPU:$CC3E PRG:0C3E A9 01
sta FrameCounter ; CPU:$CC40 PRG:0C40 85 FF
; -----------------------------------------------------------------------------
; Routine: UpdateGameState7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState7:
lda ObjIndex,x ; CPU:$CC42 PRG:0C42 B5 5F
sta Zp61,x ; CPU:$CC44 PRG:0C44 95 61
rts ; CPU:$CC46 PRG:0C46 60
; -----------------------------------------------------------------------------
; Routine: InitGame_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.
; -----------------------------------------------------------------------------
InitGame_3:
txa ; CPU:$CC47 PRG:0C47 8A
asl a ; CPU:$CC48 PRG:0C48 0A
tay ; CPU:$CC49 PRG:0C49 A8
lda #$00 ; CPU:$CC4A PRG:0C4A A9 00
sta a:Zp7C,y ; CPU:$CC4C PRG:0C4C 99 7C 00
lda #$40 ; CPU:$CC4F PRG:0C4F A9 40
sta FrameCounter ; CPU:$CC51 PRG:0C51 85 FF
jsr SubCDA5E ; CPU:$CC53 PRG:0C53 20 5E DA
lda $0210,y ; CPU:$CC56 PRG:0C56 B9 10 02
sta Zp71,x ; CPU:$CC59 PRG:0C59 95 71
rts ; CPU:$CC5B PRG:0C5B 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState8:
tya ; CPU:$CC5C PRG:0C5C 98
pha ; CPU:$CC5D PRG:0C5D 48
jsr $CC75 ; CPU:$CC5E PRG:0C5E 20 75 CC
jsr $D9A7 ; CPU:$CC61 PRG:0C61 20 A7 D9
txa ; CPU:$CC64 PRG:0C64 8A
pha ; CPU:$CC65 PRG:0C65 48
ldx #$03 ; CPU:$CC66 PRG:0C66 A2 03
; -----------------------------------------------------------------------------
; Routine: UpdateGameState8_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.
; -----------------------------------------------------------------------------
UpdateGameState8_Block:
lda Zp88,x ; CPU:$CC68 PRG:0C68 B5 88
sta $05FC,x ; CPU:$CC6A PRG:0C6A 9D FC 05
dex ; CPU:$CC6D PRG:0C6D CA
bpl UpdateGameState8_Block ; CPU:$CC6E PRG:0C6E 10 F8
pla ; CPU:$CC70 PRG:0C70 68
tax ; CPU:$CC71 PRG:0C71 AA
pla ; CPU:$CC72 PRG:0C72 68
tay ; CPU:$CC73 PRG:0C73 A8
rts ; CPU:$CC74 PRG:0C74 60
; -----------------------------------------------------------------------------
; Routine: SubCCC75
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCC75:
jsr $D6BA ; CPU:$CC75 PRG:0C75 20 BA D6
lda ObjIndex,x ; CPU:$CC78 PRG:0C78 B5 5F
cmp #$04 ; CPU:$CC7A PRG:0C7A C9 04
bmi SubCCC75_Block ; CPU:$CC7C PRG:0C7C 30 02
lda #$01 ; CPU:$CC7E PRG:0C7E A9 01
; -----------------------------------------------------------------------------
; Routine: SubCCC75_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.
; -----------------------------------------------------------------------------
SubCCC75_Block:
sec ; CPU:$CC80 PRG:0C80 38
sbc #$01 ; CPU:$CC81 PRG:0C81 E9 01
asl a ; CPU:$CC83 PRG:0C83 0A
asl a ; CPU:$CC84 PRG:0C84 0A
clc ; CPU:$CC85 PRG:0C85 18
ldy Zp63,x ; CPU:$CC86 PRG:0C86 B4 63
bne SubCCC75_Block_2 ; CPU:$CC88 PRG:0C88 D0 02
adc #$02 ; CPU:$CC8A PRG:0C8A 69 02
; -----------------------------------------------------------------------------
; Routine: SubCCC75_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.
; -----------------------------------------------------------------------------
SubCCC75_Block_2:
ldy Zp6B,x ; CPU:$CC8C PRG:0C8C B4 6B
cpy #$02 ; CPU:$CC8E PRG:0C8E C0 02
bne SubCCC75_Block_3 ; CPU:$CC90 PRG:0C90 D0 02
adc #$07 ; CPU:$CC92 PRG:0C92 69 07
; -----------------------------------------------------------------------------
; Routine: SubCCC75_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.
; -----------------------------------------------------------------------------
SubCCC75_Block_3:
tay ; CPU:$CC94 PRG:0C94 A8
lda $C196,y ; CPU:$CC95 PRG:0C95 B9 96 C1
sta Ptr2Lo ; CPU:$CC98 PRG:0C98 85 02
lda $C197,y ; CPU:$CC9A PRG:0C9A B9 97 C1
rts ; CPU:$CC9D PRG:0C9D 60
; -----------------------------------------------------------------------------
; Routine: SubCCC9E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCC9E:
lda #$FF ; CPU:$CC9E PRG:0C9E A9 FF
sta $0414,x ; CPU:$CCA0 PRG:0CA0 9D 14 04
jsr $CC5C ; CPU:$CCA3 PRG:0CA3 20 5C CC
lda ObjIndex,x ; CPU:$CCA6 PRG:0CA6 B5 5F
cmp #$01 ; CPU:$CCA8 PRG:0CA8 C9 01
beq UpdateGameState10 ; CPU:$CCAA PRG:0CAA F0 0B
cmp #$02 ; CPU:$CCAC PRG:0CAC C9 02
beq SubCCC9E_Block ; CPU:$CCAE PRG:0CAE F0 0D
cmp #$03 ; CPU:$CCB0 PRG:0CB0 C9 03
beq SubCCC9E_Block_2 ; CPU:$CCB2 PRG:0CB2 F0 0F
jmp $CE3D ; CPU:$CCB4 PRG:0CB4 4C 3D CE
; -----------------------------------------------------------------------------
; Routine: UpdateGameState10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState10:
jsr $CCC7 ; CPU:$CCB7 PRG:0CB7 20 C7 CC
jmp $CCC6 ; CPU:$CCBA PRG:0CBA 4C C6 CC
; -----------------------------------------------------------------------------
; Routine: SubCCC9E_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.
; -----------------------------------------------------------------------------
SubCCC9E_Block:
jsr $CCE2 ; CPU:$CCBD PRG:0CBD 20 E2 CC
jmp $CCC6 ; CPU:$CCC0 PRG:0CC0 4C C6 CC
; -----------------------------------------------------------------------------
; Routine: SubCCC9E_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.
; -----------------------------------------------------------------------------
SubCCC9E_Block_2:
jsr $CDC6 ; CPU:$CCC3 PRG:0CC3 20 C6 CD
; -----------------------------------------------------------------------------
; Routine: SubCCCC6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCC6:
rts ; CPU:$CCC6 PRG:0CC6 60
; -----------------------------------------------------------------------------
; Routine: SubCCCC7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCC7:
jsr SubCD556 ; CPU:$CCC7 PRG:0CC7 20 56 D5
bne UpdateGameState12 ; CPU:$CCCA PRG:0CCA D0 0A
jsr $D562 ; CPU:$CCCC PRG:0CCC 20 62 D5
bne SubCCCC7_Block ; CPU:$CCCF PRG:0CCF D0 08
lda #$04 ; CPU:$CCD1 PRG:0CD1 A9 04
sta ObjIndex,x ; CPU:$CCD3 PRG:0CD3 95 5F
rts ; CPU:$CCD5 PRG:0CD5 60
; -----------------------------------------------------------------------------
; Routine: UpdateGameState12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateGameState12:
jmp $CE1E ; CPU:$CCD6 PRG:0CD6 4C 1E CE
; -----------------------------------------------------------------------------
; Routine: SubCCCC7_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.
; -----------------------------------------------------------------------------
SubCCCC7_Block:
jsr $DC1F ; CPU:$CCD9 PRG:0CD9 20 1F DC
jsr $D10B ; CPU:$CCDC PRG:0CDC 20 0B D1
jmp $CE85 ; CPU:$CCDF PRG:0CDF 4C 85 CE
; -----------------------------------------------------------------------------
; Routine: SubCCCE2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCE2:
jsr $D55E ; CPU:$CCE2 PRG:0CE2 20 5E D5
beq SubCCCE2_Block ; CPU:$CCE5 PRG:0CE5 F0 12
jsr SubCDA5E ; CPU:$CCE7 PRG:0CE7 20 5E DA
lda Zp8D ; CPU:$CCEA PRG:0CEA A5 8D
sec ; CPU:$CCEC PRG:0CEC 38
sbc $0210,y ; CPU:$CCED PRG:0CED F9 10 02
clc ; CPU:$CCF0 PRG:0CF0 18
adc #$01 ; CPU:$CCF1 PRG:0CF1 69 01
adc $0210,y ; CPU:$CCF3 PRG:0CF3 79 10 02
sta $0210,y ; CPU:$CCF6 PRG:0CF6 99 10 02
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block:
lda Zp76,x ; CPU:$CCF9 PRG:0CF9 B5 76
beq SubCCCE2_Block_2 ; CPU:$CCFB PRG:0CFB F0 0C
lda Zp73,x ; CPU:$CCFD PRG:0CFD B5 73
sta PtrLo ; CPU:$CCFF PRG:0CFF 85 00
jsr $D158 ; CPU:$CD01 PRG:0D01 20 58 D1
lda #$00 ; CPU:$CD04 PRG:0D04 A9 00
sta Zp76,x ; CPU:$CD06 PRG:0D06 95 76
rts ; CPU:$CD08 PRG:0D08 60
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_2:
jsr $D10B ; CPU:$CD09 PRG:0D09 20 0B D1
jsr $D562 ; CPU:$CD0C PRG:0D0C 20 62 D5
beq SubCCCE2_Block_4 ; CPU:$CD0F PRG:0D0F F0 0A
lda BtnState,x ; CPU:$CD11 PRG:0D11 B5 51
cmp #$02 ; CPU:$CD13 PRG:0D13 C9 02
bne SubCCCE2_Block_4 ; CPU:$CD15 PRG:0D15 D0 04
eor #$02 ; CPU:$CD17 PRG:0D17 49 02
sta BtnState,x ; CPU:$CD19 PRG:0D19 95 51
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_4:
inc Zp99 ; CPU:$CD1B PRG:0D1B E6 99
jsr SubCD556 ; CPU:$CD1D PRG:0D1D 20 56 D5
bne SubCCCE2_Block_5 ; CPU:$CD20 PRG:0D20 D0 03
jmp $CDC1 ; CPU:$CD22 PRG:0D22 4C C1 CD
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_5:
lda SprIndex ; CPU:$CD25 PRG:0D25 A5 4A
cmp #$03 ; CPU:$CD27 PRG:0D27 C9 03
beq SubCCCE2_Block_6 ; CPU:$CD29 PRG:0D29 F0 06
cmp #$01 ; CPU:$CD2B PRG:0D2B C9 01
beq SubCCCE2_Block_12 ; CPU:$CD2D PRG:0D2D F0 17
bne SubCCCE2_Block_16 ; CPU:$CD2F PRG:0D2F D0 32
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_6:
lda GameState ; CPU:$CD31 PRG:0D31 A5 EC
cmp #$06 ; CPU:$CD33 PRG:0D33 C9 06
beq SubCCCE2_Block_12 ; CPU:$CD35 PRG:0D35 F0 0F
lda ZpBE ; CPU:$CD37 PRG:0D37 A5 BE
bne SubCCCE2_Block_12 ; CPU:$CD39 PRG:0D39 D0 0B
lda Zp93 ; CPU:$CD3B PRG:0D3B A5 93
bne SubCCCE2_Block_12 ; CPU:$CD3D PRG:0D3D D0 07
lda BtnState,x ; CPU:$CD3F PRG:0D3F B5 51
cmp #$03 ; CPU:$CD41 PRG:0D41 C9 03
bmi SubCCCE2_Block_12 ; CPU:$CD43 PRG:0D43 30 01
rts ; CPU:$CD45 PRG:0D45 60
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_12:
lda $0419 ; CPU:$CD46 PRG:0D46 AD 19 04
cmp #$07 ; CPU:$CD49 PRG:0D49 C9 07
bmi SubCCCE2_Block_13 ; CPU:$CD4B PRG:0D4B 30 02
eor #$01 ; CPU:$CD4D PRG:0D4D 49 01
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_13:
and #$01 ; CPU:$CD4F PRG:0D4F 29 01
beq SubCCCE2_Block_14 ; CPU:$CD51 PRG:0D51 F0 03
jsr $D44A ; CPU:$CD53 PRG:0D53 20 4A D4
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_14:
lda Zp4C ; CPU:$CD56 PRG:0D56 A5 4C
bne SubCCCE2_Block_16 ; CPU:$CD58 PRG:0D58 D0 09
jsr $CFE2 ; CPU:$CD5A PRG:0D5A 20 E2 CF
lda $05CE,x ; CPU:$CD5D PRG:0D5D BD CE 05
bne SubCCCE2_Block_16 ; CPU:$CD60 PRG:0D60 D0 01
rts ; CPU:$CD62 PRG:0D62 60
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_16:
lda Zp6B,x ; CPU:$CD63 PRG:0D63 B5 6B
cmp #$01 ; CPU:$CD65 PRG:0D65 C9 01
beq SubCCCE2_Block_17 ; CPU:$CD67 PRG:0D67 F0 55
jsr $D55A ; CPU:$CD69 PRG:0D69 20 5A D5
sta ZpDC ; CPU:$CD6C PRG:0D6C 85 DC
cmp #$11 ; CPU:$CD6E PRG:0D6E C9 11
bne SubCCCE2_Block_18 ; CPU:$CD70 PRG:0D70 D0 03
jmp $D0AF ; CPU:$CD72 PRG:0D72 4C AF D0
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_18:
lda BtnState,x ; CPU:$CD75 PRG:0D75 B5 51
cmp #$02 ; CPU:$CD77 PRG:0D77 C9 02
bmi SubCCCE2_Block_20 ; CPU:$CD79 PRG:0D79 30 42
lda #$0F ; CPU:$CD7B PRG:0D7B A9 0F
jsr $D63C ; CPU:$CD7D PRG:0D7D 20 3C D6
beq SubCCCE2_Block_20 ; CPU:$CD80 PRG:0D80 F0 3B
lda BtnState,x ; CPU:$CD82 PRG:0D82 B5 51
cmp #$02 ; CPU:$CD84 PRG:0D84 C9 02
beq SubCCCE2_Block_21 ; CPU:$CD86 PRG:0D86 F0 11
cmp #$03 ; CPU:$CD88 PRG:0D88 C9 03
beq SubCCCE2_Block_22 ; CPU:$CD8A PRG:0D8A F0 1E
lda #$01 ; CPU:$CD8C PRG:0D8C A9 01
sta Zp63,x ; CPU:$CD8E PRG:0D8E 95 63
lda ZpDC ; CPU:$CD90 PRG:0D90 A5 DC
cmp #$01 ; CPU:$CD92 PRG:0D92 C9 01
beq SubCCDBA ; CPU:$CD94 PRG:0D94 F0 24
jmp $CDB7 ; CPU:$CD96 PRG:0D96 4C B7 CD
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_Block_21
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCE2_Block_21:
lda ZpDC ; CPU:$CD99 PRG:0D99 A5 DC
cmp #$01 ; CPU:$CD9B PRG:0D9B C9 01
beq SubCCCE2_Block_23 ; CPU:$CD9D PRG:0D9D F0 04
lda #$00 ; CPU:$CD9F PRG:0D9F A9 00
beq SubCCCE2_Block_24 ; CPU:$CDA1 PRG:0DA1 F0 02
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_Block_23
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCE2_Block_23:
lda #$01 ; CPU:$CDA3 PRG:0DA3 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_Block_24
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCE2_Block_24:
sta Zp63,x ; CPU:$CDA5 PRG:0DA5 95 63
jmp $D13F ; CPU:$CDA7 PRG:0DA7 4C 3F D1
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_Block_22
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCE2_Block_22:
lda #$00 ; CPU:$CDAA PRG:0DAA A9 00
sta Zp63,x ; CPU:$CDAC PRG:0DAC 95 63
lda ZpDC ; CPU:$CDAE PRG:0DAE A5 DC
cmp #$01 ; CPU:$CDB0 PRG:0DB0 C9 01
beq SubCCDB7 ; CPU:$CDB2 PRG:0DB2 F0 03
jmp $CDBA ; CPU:$CDB4 PRG:0DB4 4C BA CD
; -----------------------------------------------------------------------------
; Routine: SubCCDB7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCDB7:
jmp $D273 ; CPU:$CDB7 PRG:0DB7 4C 73 D2
; -----------------------------------------------------------------------------
; Routine: SubCCDBA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCDBA:
jmp $D13F ; CPU:$CDBA PRG:0DBA 4C 3F D1
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_Block_20
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCCE2_Block_20:
rts ; CPU:$CDBD PRG:0DBD 60
; -----------------------------------------------------------------------------
; Routine: SubCCCE2_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.
; -----------------------------------------------------------------------------
SubCCCE2_Block_17:
jmp $CF21 ; CPU:$CDBE PRG:0DBE 4C 21 CF
; -----------------------------------------------------------------------------
; Routine: SubCCDC1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCDC1:
lda #$04 ; CPU:$CDC1 PRG:0DC1 A9 04
sta ObjIndex,x ; CPU:$CDC3 PRG:0DC3 95 5F
rts ; CPU:$CDC5 PRG:0DC5 60
; -----------------------------------------------------------------------------
; Routine: SubCCDC6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCDC6:
jsr $D995 ; CPU:$CDC6 PRG:0DC6 20 95 D9
bne SubCCDC6_Block ; CPU:$CDC9 PRG:0DC9 D0 05
jsr SubCD556 ; CPU:$CDCB PRG:0DCB 20 56 D5
bne SubCCDC6_Block_2 ; CPU:$CDCE PRG:0DCE D0 29
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block:
lda $05C1,x ; CPU:$CDD0 PRG:0DD0 BD C1 05
beq SubCCDC6_Block_3 ; CPU:$CDD3 PRG:0DD3 F0 03
dec $05C1,x ; CPU:$CDD5 PRG:0DD5 DE C1 05
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_3:
txa ; CPU:$CDD8 PRG:0DD8 8A
asl a ; CPU:$CDD9 PRG:0DD9 0A
tay ; CPU:$CDDA PRG:0DDA A8
lda a:Zp7C,y ; CPU:$CDDB PRG:0DDB B9 7C 00
cmp #$03 ; CPU:$CDDE PRG:0DDE C9 03
bcc SubCCDC6_Block_4 ; CPU:$CDE0 PRG:0DE0 90 05
jsr $D562 ; CPU:$CDE2 PRG:0DE2 20 62 D5
bne SubCCDC6_Block_5 ; CPU:$CDE5 PRG:0DE5 D0 2A
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_4:
jsr $D55E ; CPU:$CDE7 PRG:0DE7 20 5E D5
bne SubCCDC6_Block_6 ; CPU:$CDEA PRG:0DEA D0 28
jsr SubCDA5E ; CPU:$CDEC PRG:0DEC 20 5E DA
lda $0210,y ; CPU:$CDEF PRG:0DEF B9 10 02
cmp #$D8 ; CPU:$CDF2 PRG:0DF2 C9 D8
bcs SubCCDC6_Block_7 ; CPU:$CDF4 PRG:0DF4 B0 23
jmp $D0CA ; CPU:$CDF6 PRG:0DF6 4C CA D0
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_2:
jsr $CE1E ; CPU:$CDF9 PRG:0DF9 20 1E CE
lda SprIndex ; CPU:$CDFC PRG:0DFC A5 4A
cmp #$01 ; CPU:$CDFE PRG:0DFE C9 01
bne SubCCDC6_Block_9 ; CPU:$CE00 PRG:0E00 D0 0E
jsr $CC5C ; CPU:$CE02 PRG:0E02 20 5C CC
jsr $D995 ; CPU:$CE05 PRG:0E05 20 95 D9
beq SubCCDC6_Block_9 ; CPU:$CE08 PRG:0E08 F0 06
lda Zp63,x ; CPU:$CE0A PRG:0E0A B5 63
eor #$01 ; CPU:$CE0C PRG:0E0C 49 01
sta Zp63,x ; CPU:$CE0E PRG:0E0E 95 63
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_9:
rts ; CPU:$CE10 PRG:0E10 60
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_5:
jmp $D117 ; CPU:$CE11 PRG:0E11 4C 17 D1
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_6:
lda #$04 ; CPU:$CE14 PRG:0E14 A9 04
sta ObjIndex,x ; CPU:$CE16 PRG:0E16 95 5F
rts ; CPU:$CE18 PRG:0E18 60
; -----------------------------------------------------------------------------
; Routine: SubCCDC6_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.
; -----------------------------------------------------------------------------
SubCCDC6_Block_7:
lda #$05 ; CPU:$CE19 PRG:0E19 A9 05
sta ObjIndex,x ; CPU:$CE1B PRG:0E1B 95 5F
rts ; CPU:$CE1D PRG:0E1D 60
; -----------------------------------------------------------------------------
; Routine: SubCCE1E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCE1E:
lda Zp8C ; CPU:$CE1E PRG:0E1E A5 8C
sec ; CPU:$CE20 PRG:0E20 38
sbc #$10 ; CPU:$CE21 PRG:0E21 E9 10
sta Zp73,x ; CPU:$CE23 PRG:0E23 95 73
lda #$02 ; CPU:$CE25 PRG:0E25 A9 02
sta ObjIndex,x ; CPU:$CE27 PRG:0E27 95 5F
lda Zp8C ; CPU:$CE29 PRG:0E29 A5 8C
cmp #$14 ; CPU:$CE2B PRG:0E2B C9 14
beq SubCCE1E_Block ; CPU:$CE2D PRG:0E2D F0 09
cmp #$EC ; CPU:$CE2F PRG:0E2F C9 EC
bne SubCCE1E_Block_2 ; CPU:$CE31 PRG:0E31 D0 09
lda #$01 ; CPU:$CE33 PRG:0E33 A9 01
sta Zp63,x ; CPU:$CE35 PRG:0E35 95 63
rts ; CPU:$CE37 PRG:0E37 60
; -----------------------------------------------------------------------------
; Routine: SubCCE1E_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.
; -----------------------------------------------------------------------------
SubCCE1E_Block:
lda #$00 ; CPU:$CE38 PRG:0E38 A9 00
sta Zp63,x ; CPU:$CE3A PRG:0E3A 95 63
; -----------------------------------------------------------------------------
; Routine: SubCCE1E_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.
; -----------------------------------------------------------------------------
SubCCE1E_Block_2:
rts ; CPU:$CE3C PRG:0E3C 60
; -----------------------------------------------------------------------------
; Routine: SubCCE3D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCE3D:
jsr $D562 ; CPU:$CE3D PRG:0E3D 20 62 D5
beq SubCCE3D_Block ; CPU:$CE40 PRG:0E40 F0 08
jsr $D117 ; CPU:$CE42 PRG:0E42 20 17 D1
lda #$10 ; CPU:$CE45 PRG:0E45 A9 10
sta FrameCounter ; CPU:$CE47 PRG:0E47 85 FF
rts ; CPU:$CE49 PRG:0E49 60
; -----------------------------------------------------------------------------
; Routine: SubCCE3D_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.
; -----------------------------------------------------------------------------
SubCCE3D_Block:
jsr SubCDA5E ; CPU:$CE4A PRG:0E4A 20 5E DA
lda $0210,y ; CPU:$CE4D PRG:0E4D B9 10 02
cmp #$D8 ; CPU:$CE50 PRG:0E50 C9 D8
bcc SubCCE3D_Block_2 ; CPU:$CE52 PRG:0E52 90 09
lda #$10 ; CPU:$CE54 PRG:0E54 A9 10
sta FrameCounter ; CPU:$CE56 PRG:0E56 85 FF
lda #$05 ; CPU:$CE58 PRG:0E58 A9 05
sta ObjIndex,x ; CPU:$CE5A PRG:0E5A 95 5F
rts ; CPU:$CE5C PRG:0E5C 60
; -----------------------------------------------------------------------------
; Routine: SubCCE3D_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.
; -----------------------------------------------------------------------------
SubCCE3D_Block_2:
jsr SubCDA5E ; CPU:$CE5D PRG:0E5D 20 5E DA
lda $0213,y ; CPU:$CE60 PRG:0E60 B9 13 02
sta PtrLo ; CPU:$CE63 PRG:0E63 85 00
lda $0210,y ; CPU:$CE65 PRG:0E65 B9 10 02
clc ; CPU:$CE68 PRG:0E68 18
adc Zp78 ; CPU:$CE69 PRG:0E69 65 78
sta PtrHi ; CPU:$CE6B PRG:0E6B 85 01
lda $0211,y ; CPU:$CE6D PRG:0E6D B9 11 02
pha ; CPU:$CE70 PRG:0E70 48
lda $0212,y ; CPU:$CE71 PRG:0E71 B9 12 02
cmp #$40 ; CPU:$CE74 PRG:0E74 C9 40
bmi SubCCE3D_Block_3 ; CPU:$CE76 PRG:0E76 30 07
pla ; CPU:$CE78 PRG:0E78 68
sec ; CPU:$CE79 PRG:0E79 38
sbc #$06 ; CPU:$CE7A PRG:0E7A E9 06
jmp $CE80 ; CPU:$CE7C PRG:0E7C 4C 80 CE
; -----------------------------------------------------------------------------
; Routine: SubCCE3D_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.
; -----------------------------------------------------------------------------
SubCCE3D_Block_3:
pla ; CPU:$CE7F PRG:0E7F 68
; -----------------------------------------------------------------------------
; Routine: SubCCE80
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCE80:
sta Ptr2Lo ; CPU:$CE80 PRG:0E80 85 02
jmp $D6A3 ; CPU:$CE82 PRG:0E82 4C A3 D6
; -----------------------------------------------------------------------------
; Routine: SubCCE85
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCE85:
jsr SubCDA5E ; CPU:$CE85 PRG:0E85 20 5E DA
lda $0210,y ; CPU:$CE88 PRG:0E88 B9 10 02
sta PtrHi ; CPU:$CE8B PRG:0E8B 85 01
lda BtnState,x ; CPU:$CE8D PRG:0E8D B5 51
cmp #$03 ; CPU:$CE8F PRG:0E8F C9 03
beq SubCCE85_Block ; CPU:$CE91 PRG:0E91 F0 0A
cmp #$04 ; CPU:$CE93 PRG:0E93 C9 04
bne SubCCE85_Block_2 ; CPU:$CE95 PRG:0E95 D0 24
jsr $CEBC ; CPU:$CE97 PRG:0E97 20 BC CE
jmp $CEA0 ; CPU:$CE9A PRG:0E9A 4C A0 CE
; -----------------------------------------------------------------------------
; Routine: SubCCE85_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.
; -----------------------------------------------------------------------------
SubCCE85_Block:
jsr $CEDA ; CPU:$CE9D PRG:0E9D 20 DA CE
; -----------------------------------------------------------------------------
; Routine: SubCCEA0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCEA0:
sta PtrLo ; CPU:$CEA0 PRG:0EA0 85 00
and #$02 ; CPU:$CEA2 PRG:0EA2 29 02
pha ; CPU:$CEA4 PRG:0EA4 48
cmp Zp67,x ; CPU:$CEA5 PRG:0EA5 D5 67
beq SubCCEA0_Block ; CPU:$CEA7 PRG:0EA7 F0 03
jsr $CEF8 ; CPU:$CEA9 PRG:0EA9 20 F8 CE
; -----------------------------------------------------------------------------
; Routine: SubCCEA0_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.
; -----------------------------------------------------------------------------
SubCCEA0_Block:
pla ; CPU:$CEAC PRG:0EAC 68
sta Zp67,x ; CPU:$CEAD PRG:0EAD 95 67
lda Zp6F,x ; CPU:$CEAF PRG:0EAF B5 6F
sta Ptr2Lo ; CPU:$CEB1 PRG:0EB1 85 02
lda $0210,y ; CPU:$CEB3 PRG:0EB3 B9 10 02
sta PtrHi ; CPU:$CEB6 PRG:0EB6 85 01
jsr $D6A3 ; CPU:$CEB8 PRG:0EB8 20 A3 D6
; -----------------------------------------------------------------------------
; Routine: SubCCE85_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.
; -----------------------------------------------------------------------------
SubCCE85_Block_2:
rts ; CPU:$CEBB PRG:0EBB 60
; -----------------------------------------------------------------------------
; Routine: SubCCEBC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCEBC:
lda #$01 ; CPU:$CEBC PRG:0EBC A9 01
sta Zp63,x ; CPU:$CEBE PRG:0EBE 95 63
lda Zp75 ; CPU:$CEC0 PRG:0EC0 A5 75
cmp #$04 ; CPU:$CEC2 PRG:0EC2 C9 04
beq SubCCEBC_Block ; CPU:$CEC4 PRG:0EC4 F0 0D
lda Zp55,x ; CPU:$CEC6 PRG:0EC6 B5 55
clc ; CPU:$CEC8 PRG:0EC8 18
adc #$A0 ; CPU:$CEC9 PRG:0EC9 69 A0
sta Zp55,x ; CPU:$CECB PRG:0ECB 95 55
lda $0213,y ; CPU:$CECD PRG:0ECD B9 13 02
adc #$00 ; CPU:$CED0 PRG:0ED0 69 00
rts ; CPU:$CED2 PRG:0ED2 60
; -----------------------------------------------------------------------------
; Routine: SubCCEBC_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.
; -----------------------------------------------------------------------------
SubCCEBC_Block:
lda $0213,y ; CPU:$CED3 PRG:0ED3 B9 13 02
sec ; CPU:$CED6 PRG:0ED6 38
sbc #$02 ; CPU:$CED7 PRG:0ED7 E9 02
rts ; CPU:$CED9 PRG:0ED9 60
; -----------------------------------------------------------------------------
; Routine: SubCCEDA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCEDA:
lda #$00 ; CPU:$CEDA PRG:0EDA A9 00
sta Zp63,x ; CPU:$CEDC PRG:0EDC 95 63
lda Zp75 ; CPU:$CEDE PRG:0EDE A5 75
cmp #$03 ; CPU:$CEE0 PRG:0EE0 C9 03
beq SubCCEDA_Block ; CPU:$CEE2 PRG:0EE2 F0 0D
lda Zp55,x ; CPU:$CEE4 PRG:0EE4 B5 55
sec ; CPU:$CEE6 PRG:0EE6 38
sbc #$A0 ; CPU:$CEE7 PRG:0EE7 E9 A0
sta Zp55,x ; CPU:$CEE9 PRG:0EE9 95 55
lda $0213,y ; CPU:$CEEB PRG:0EEB B9 13 02
sbc #$00 ; CPU:$CEEE PRG:0EEE E9 00
rts ; CPU:$CEF0 PRG:0EF0 60
; -----------------------------------------------------------------------------
; Routine: SubCCEDA_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.
; -----------------------------------------------------------------------------
SubCCEDA_Block:
lda $0213,y ; CPU:$CEF1 PRG:0EF1 B9 13 02
clc ; CPU:$CEF4 PRG:0EF4 18
adc #$02 ; CPU:$CEF5 PRG:0EF5 69 02
rts ; CPU:$CEF7 PRG:0EF7 60
; -----------------------------------------------------------------------------
; Routine: SubCCEF8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCEF8:
tya ; CPU:$CEF8 PRG:0EF8 98
pha ; CPU:$CEF9 PRG:0EF9 48
lda Zp6F,x ; CPU:$CEFA PRG:0EFA B5 6F
beq SubCCEF8_Block_3 ; CPU:$CEFC PRG:0EFC F0 0F
cmp #$10 ; CPU:$CEFE PRG:0EFE C9 10
bpl SubCCEF8_Block_2 ; CPU:$CF00 PRG:0F00 10 04
ldy Zp69,x ; CPU:$CF02 PRG:0F02 B4 69
beq SubCCEF8_Block_3 ; CPU:$CF04 PRG:0F04 F0 07
; -----------------------------------------------------------------------------
; Routine: SubCCEF8_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.
; -----------------------------------------------------------------------------
SubCCEF8_Block_2:
sec ; CPU:$CF06 PRG:0F06 38
sbc #$08 ; CPU:$CF07 PRG:0F07 E9 08
ldy #$01 ; CPU:$CF09 PRG:0F09 A0 01
bne SubCCEF8_Block_4 ; CPU:$CF0B PRG:0F0B D0 05
; -----------------------------------------------------------------------------
; Routine: SubCCEF8_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.
; -----------------------------------------------------------------------------
SubCCEF8_Block_3:
clc ; CPU:$CF0D PRG:0F0D 18
adc #$08 ; CPU:$CF0E PRG:0F0E 69 08
ldy #$00 ; CPU:$CF10 PRG:0F10 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCCEF8_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.
; -----------------------------------------------------------------------------
SubCCEF8_Block_4:
sty Zp69,x ; CPU:$CF12 PRG:0F12 94 69
sta Zp6F,x ; CPU:$CF14 PRG:0F14 95 6F
lda Zp63,x ; CPU:$CF16 PRG:0F16 B5 63
sta Zp65,x ; CPU:$CF18 PRG:0F18 95 65
lda #$80 ; CPU:$CF1A PRG:0F1A A9 80
sta FrameCounter ; CPU:$CF1C PRG:0F1C 85 FF
pla ; CPU:$CF1E PRG:0F1E 68
tay ; CPU:$CF1F PRG:0F1F A8
rts ; CPU:$CF20 PRG:0F20 60
; -----------------------------------------------------------------------------
; Routine: SubCCF21
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCF21:
txa ; CPU:$CF21 PRG:0F21 8A
pha ; CPU:$CF22 PRG:0F22 48
jsr SubCDA5E ; CPU:$CF23 PRG:0F23 20 5E DA
lda BtnState,x ; CPU:$CF26 PRG:0F26 B5 51
beq SubCCF37 ; CPU:$CF28 PRG:0F28 F0 0D
cmp #$03 ; CPU:$CF2A PRG:0F2A C9 03
bmi SubCCF21_Block ; CPU:$CF2C PRG:0F2C 30 06
jsr $CFB5 ; CPU:$CF2E PRG:0F2E 20 B5 CF
jmp $CF37 ; CPU:$CF31 PRG:0F31 4C 37 CF
; -----------------------------------------------------------------------------
; Routine: SubCCF21_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.
; -----------------------------------------------------------------------------
SubCCF21_Block:
jsr $CF3A ; CPU:$CF34 PRG:0F34 20 3A CF
; -----------------------------------------------------------------------------
; Routine: SubCCF37
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCF37:
pla ; CPU:$CF37 PRG:0F37 68
tax ; CPU:$CF38 PRG:0F38 AA
rts ; CPU:$CF39 PRG:0F39 60
; -----------------------------------------------------------------------------
; Routine: SubCCF3A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCF3A:
lda BtnState,x ; CPU:$CF3A PRG:0F3A B5 51
cmp #$01 ; CPU:$CF3C PRG:0F3C C9 01
bne SubCCF3A_Block ; CPU:$CF3E PRG:0F3E D0 06
jsr $CF80 ; CPU:$CF40 PRG:0F40 20 80 CF
jmp $CF65 ; CPU:$CF43 PRG:0F43 4C 65 CF
; -----------------------------------------------------------------------------
; Routine: SubCCF3A_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.
; -----------------------------------------------------------------------------
SubCCF3A_Block:
lda SprIndex ; CPU:$CF46 PRG:0F46 A5 4A
cmp #$01 ; CPU:$CF48 PRG:0F48 C9 01
bne SubCCF3A_Block_4 ; CPU:$CF4A PRG:0F4A D0 16
lda $0210,y ; CPU:$CF4C PRG:0F4C B9 10 02
cmp #$AF ; CPU:$CF4F PRG:0F4F C9 AF
bcc SubCCF3A_Block_4 ; CPU:$CF51 PRG:0F51 90 0F
jsr $D7F0 ; CPU:$CF53 PRG:0F53 20 F0 D7
cmp #$02 ; CPU:$CF56 PRG:0F56 C9 02
bne SubCCF3A_Block_4 ; CPU:$CF58 PRG:0F58 D0 08
lda Zp8D ; CPU:$CF5A PRG:0F5A A5 8D
sec ; CPU:$CF5C PRG:0F5C 38
sbc #$11 ; CPU:$CF5D PRG:0F5D E9 11
jmp $CF65 ; CPU:$CF5F PRG:0F5F 4C 65 CF
; -----------------------------------------------------------------------------
; Routine: SubCCF3A_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.
; -----------------------------------------------------------------------------
SubCCF3A_Block_4:
jsr $CF97 ; CPU:$CF62 PRG:0F62 20 97 CF
; -----------------------------------------------------------------------------
; Routine: SubCCF65
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCF65:
sta PtrHi ; CPU:$CF65 PRG:0F65 85 01
and #$01 ; CPU:$CF67 PRG:0F67 29 01
beq SubCCF65_Block ; CPU:$CF69 PRG:0F69 F0 04
lda #$28 ; CPU:$CF6B PRG:0F6B A9 28
bne SubCCF65_Block_2 ; CPU:$CF6D PRG:0F6D D0 02
; -----------------------------------------------------------------------------
; Routine: SubCCF65_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.
; -----------------------------------------------------------------------------
SubCCF65_Block:
lda #$30 ; CPU:$CF6F PRG:0F6F A9 30
; -----------------------------------------------------------------------------
; Routine: SubCCF65_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.
; -----------------------------------------------------------------------------
SubCCF65_Block_2:
sta Ptr2Lo ; CPU:$CF71 PRG:0F71 85 02
lda $0213,y ; CPU:$CF73 PRG:0F73 B9 13 02
sta PtrLo ; CPU:$CF76 PRG:0F76 85 00
jsr $D6A3 ; CPU:$CF78 PRG:0F78 20 A3 D6
lda #$01 ; CPU:$CF7B PRG:0F7B A9 01
sta Zp6B,x ; CPU:$CF7D PRG:0F7D 95 6B
rts ; CPU:$CF7F PRG:0F7F 60
; -----------------------------------------------------------------------------
; Routine: SubCCF80
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCF80:
lda Zp99 ; CPU:$CF80 PRG:0F80 A5 99
and #$0A ; CPU:$CF82 PRG:0F82 29 0A
bne SubCCF80_Block ; CPU:$CF84 PRG:0F84 D0 04
lda #$20 ; CPU:$CF86 PRG:0F86 A9 20
sta FrameCounter ; CPU:$CF88 PRG:0F88 85 FF
; -----------------------------------------------------------------------------
; Routine: SubCCF80_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.
; -----------------------------------------------------------------------------
SubCCF80_Block:
lda Zp55,x ; CPU:$CF8A PRG:0F8A B5 55
sec ; CPU:$CF8C PRG:0F8C 38
sbc #$A0 ; CPU:$CF8D PRG:0F8D E9 A0
sta Zp55,x ; CPU:$CF8F PRG:0F8F 95 55
lda $0210,y ; CPU:$CF91 PRG:0F91 B9 10 02
sbc #$00 ; CPU:$CF94 PRG:0F94 E9 00
rts ; CPU:$CF96 PRG:0F96 60
; -----------------------------------------------------------------------------
; Routine: SubCCF97
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCF97:
lda Zp75 ; CPU:$CF97 PRG:0F97 A5 75
cmp #$02 ; CPU:$CF99 PRG:0F99 C9 02
bne SubCCF97_Block ; CPU:$CF9B PRG:0F9B D0 07
sec ; CPU:$CF9D PRG:0F9D 38
lda $0210,y ; CPU:$CF9E PRG:0F9E B9 10 02
sbc #$01 ; CPU:$CFA1 PRG:0FA1 E9 01
rts ; CPU:$CFA3 PRG:0FA3 60
; -----------------------------------------------------------------------------
; Routine: SubCCF97_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.
; -----------------------------------------------------------------------------
SubCCF97_Block:
clc ; CPU:$CFA4 PRG:0FA4 18
lda Zp55,x ; CPU:$CFA5 PRG:0FA5 B5 55
adc #$50 ; CPU:$CFA7 PRG:0FA7 69 50
sta Zp55,x ; CPU:$CFA9 PRG:0FA9 95 55
lda #$20 ; CPU:$CFAB PRG:0FAB A9 20
sta FrameCounter ; CPU:$CFAD PRG:0FAD 85 FF
lda $0210,y ; CPU:$CFAF PRG:0FAF B9 10 02
adc #$01 ; CPU:$CFB2 PRG:0FB2 69 01
rts ; CPU:$CFB4 PRG:0FB4 60
; -----------------------------------------------------------------------------
; Routine: SubCCFB5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCFB5:
jsr $D03D ; CPU:$CFB5 PRG:0FB5 20 3D D0
beq SubCCFB5_Block ; CPU:$CFB8 PRG:0FB8 F0 01
rts ; CPU:$CFBA PRG:0FBA 60
; -----------------------------------------------------------------------------
; Routine: SubCCFB5_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.
; -----------------------------------------------------------------------------
SubCCFB5_Block:
lda #$0B ; CPU:$CFBB PRG:0FBB A9 0B
jsr $D63C ; CPU:$CFBD PRG:0FBD 20 3C D6
bne SubCCFB5_Block_2 ; CPU:$CFC0 PRG:0FC0 D0 01
rts ; CPU:$CFC2 PRG:0FC2 60
; -----------------------------------------------------------------------------
; Routine: SubCCFB5_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.
; -----------------------------------------------------------------------------
SubCCFB5_Block_2:
lda BtnState,x ; CPU:$CFC3 PRG:0FC3 B5 51
cmp #$04 ; CPU:$CFC5 PRG:0FC5 C9 04
bne SubCCFB5_Block_3 ; CPU:$CFC7 PRG:0FC7 D0 08
lda Zp63,x ; CPU:$CFC9 PRG:0FC9 B5 63
beq SubCCFB5_Block_4 ; CPU:$CFCB PRG:0FCB F0 08
lda #$00 ; CPU:$CFCD PRG:0FCD A9 00
beq SubCCFB5_Block_5 ; CPU:$CFCF PRG:0FCF F0 09
; -----------------------------------------------------------------------------
; Routine: SubCCFB5_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.
; -----------------------------------------------------------------------------
SubCCFB5_Block_3:
lda Zp63,x ; CPU:$CFD1 PRG:0FD1 B5 63
beq SubCCFB5_Block_6 ; CPU:$CFD3 PRG:0FD3 F0 03
; -----------------------------------------------------------------------------
; Routine: SubCCFB5_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.
; -----------------------------------------------------------------------------
SubCCFB5_Block_4:
jmp $D164 ; CPU:$CFD5 PRG:0FD5 4C 64 D1
; -----------------------------------------------------------------------------
; Routine: SubCCFB5_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.
; -----------------------------------------------------------------------------
SubCCFB5_Block_6:
lda #$01 ; CPU:$CFD8 PRG:0FD8 A9 01
; -----------------------------------------------------------------------------
; Routine: SubCCFB5_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.
; -----------------------------------------------------------------------------
SubCCFB5_Block_5:
sta Zp63,x ; CPU:$CFDA PRG:0FDA 95 63
jsr $D13F ; CPU:$CFDC PRG:0FDC 20 3F D1
jmp $D0C5 ; CPU:$CFDF PRG:0FDF 4C C5 D0
; -----------------------------------------------------------------------------
; Routine: SubCCFE2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCCFE2:
lda $05CE,x ; CPU:$CFE2 PRG:0FE2 BD CE 05
beq SubCCFE2_Block_3 ; CPU:$CFE5 PRG:0FE5 F0 55
lda SprCount,x ; CPU:$CFE7 PRG:0FE7 B5 39
bne SubCCFE2_Block_2 ; CPU:$CFE9 PRG:0FE9 D0 20
lda BtnState,x ; CPU:$CFEB PRG:0FEB B5 51
cmp #$03 ; CPU:$CFED PRG:0FED C9 03
bmi SubCCFE2_Block_3 ; CPU:$CFEF PRG:0FEF 30 4B
lda Zp63,x ; CPU:$CFF1 PRG:0FF1 B5 63
sta $05CA,x ; CPU:$CFF3 PRG:0FF3 9D CA 05
beq SubCCFE2_Block_4 ; CPU:$CFF6 PRG:0FF6 F0 04
lda #$28 ; CPU:$CFF8 PRG:0FF8 A9 28
bne SubCCFE2_Block_5 ; CPU:$CFFA PRG:0FFA D0 02
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_4:
lda #$2E ; CPU:$CFFC PRG:0FFC A9 2E
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_5:
sta $05CC,x ; CPU:$CFFE PRG:0FFE 9D CC 05
lda BtnState,x ; CPU:$D001 PRG:1001 B5 51
sta $05CE,x ; CPU:$D003 PRG:1003 9D CE 05
lda #$30 ; CPU:$D006 PRG:1006 A9 30
sta SprCount,x ; CPU:$D008 PRG:1008 95 39
rts ; CPU:$D00A PRG:100A 60
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_2:
lda Zp6B,x ; CPU:$D00B PRG:100B B5 6B
cmp #$01 ; CPU:$D00D PRG:100D C9 01
bne SubCCFE2_Block_6 ; CPU:$D00F PRG:100F D0 0A
lda $05CE,x ; CPU:$D011 PRG:1011 BD CE 05
sta BtnState,x ; CPU:$D014 PRG:1014 95 51
jsr $D03D ; CPU:$D016 PRG:1016 20 3D D0
bne SubCCFE2_Block_7 ; CPU:$D019 PRG:1019 D0 12
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_6:
lda Zp63,x ; CPU:$D01B PRG:101B B5 63
cmp $05CA,x ; CPU:$D01D PRG:101D DD CA 05
bne SubCCFE2_Block_9 ; CPU:$D020 PRG:1020 D0 15
jsr SubCDA5E ; CPU:$D022 PRG:1022 20 5E DA
lda $0211,y ; CPU:$D025 PRG:1025 B9 11 02
cmp $05CC,x ; CPU:$D028 PRG:1028 DD CC 05
bne SubCCFE2_Block_9 ; CPU:$D02B PRG:102B D0 0A
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_7:
lda #$00 ; CPU:$D02D PRG:102D A9 00
sta $05CE,x ; CPU:$D02F PRG:102F 9D CE 05
sta SprCount,x ; CPU:$D032 PRG:1032 95 39
jmp $E74A ; CPU:$D034 PRG:1034 4C 4A E7
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_9:
lda $05CE,x ; CPU:$D037 PRG:1037 BD CE 05
sta BtnState,x ; CPU:$D03A PRG:103A 95 51
; -----------------------------------------------------------------------------
; Routine: SubCCFE2_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.
; -----------------------------------------------------------------------------
SubCCFE2_Block_3:
rts ; CPU:$D03C PRG:103C 60
; -----------------------------------------------------------------------------
; Routine: SubCD03D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD03D:
txa ; CPU:$D03D PRG:103D 8A
pha ; CPU:$D03E PRG:103E 48
lda Zp88 ; CPU:$D03F PRG:103F A5 88
pha ; CPU:$D041 PRG:1041 48
lda Zp8A ; CPU:$D042 PRG:1042 A5 8A
pha ; CPU:$D044 PRG:1044 48
stx Zp0A ; CPU:$D045 PRG:1045 86 0A
lda BtnState,x ; CPU:$D047 PRG:1047 B5 51
cmp #$03 ; CPU:$D049 PRG:1049 C9 03
beq SubCD03D_Block ; CPU:$D04B PRG:104B F0 06
jsr $D07B ; CPU:$D04D PRG:104D 20 7B D0
jmp $D056 ; CPU:$D050 PRG:1050 4C 56 D0
; -----------------------------------------------------------------------------
; Routine: SubCD03D_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.
; -----------------------------------------------------------------------------
SubCD03D_Block:
jsr $D093 ; CPU:$D053 PRG:1053 20 93 D0
; -----------------------------------------------------------------------------
; Routine: SubCD056
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD056:
bne SubCD056_Block_2 ; CPU:$D056 PRG:1056 D0 14
jsr $D55E ; CPU:$D058 PRG:1058 20 5E D5
bne SubCD056_Block_2 ; CPU:$D05B PRG:105B D0 0F
dec Zp8B ; CPU:$D05D PRG:105D C6 8B
lda Zp0A ; CPU:$D05F PRG:105F A5 0A
eor #$01 ; CPU:$D061 PRG:1061 49 01
tax ; CPU:$D063 PRG:1063 AA
jsr $CC75 ; CPU:$D064 PRG:1064 20 75 CC
jsr $D9AF ; CPU:$D067 PRG:1067 20 AF D9
inc Zp8B ; CPU:$D06A PRG:106A E6 8B
; -----------------------------------------------------------------------------
; Routine: SubCD056_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.
; -----------------------------------------------------------------------------
SubCD056_Block_2:
dec Zp8B ; CPU:$D06C PRG:106C C6 8B
sta Zp0F ; CPU:$D06E PRG:106E 85 0F
pla ; CPU:$D070 PRG:1070 68
sta Zp8A ; CPU:$D071 PRG:1071 85 8A
pla ; CPU:$D073 PRG:1073 68
sta Zp88 ; CPU:$D074 PRG:1074 85 88
pla ; CPU:$D076 PRG:1076 68
tax ; CPU:$D077 PRG:1077 AA
lda Zp0F ; CPU:$D078 PRG:1078 A5 0F
rts ; CPU:$D07A PRG:107A 60
; -----------------------------------------------------------------------------
; Routine: SubCD07B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD07B:
lda Zp8A ; CPU:$D07B PRG:107B A5 8A
sec ; CPU:$D07D PRG:107D 38
sbc Zp88 ; CPU:$D07E PRG:107E E5 88
clc ; CPU:$D080 PRG:1080 18
adc Zp8A ; CPU:$D081 PRG:1081 65 8A
bcs SubCD07B_Block ; CPU:$D083 PRG:1083 B0 0B
ldx Zp8A ; CPU:$D085 PRG:1085 A6 8A
sta Zp8A ; CPU:$D087 PRG:1087 85 8A
stx Zp88 ; CPU:$D089 PRG:1089 86 88
inc Zp8B ; CPU:$D08B PRG:108B E6 8B
lda #$00 ; CPU:$D08D PRG:108D A9 00
rts ; CPU:$D08F PRG:108F 60
; -----------------------------------------------------------------------------
; Routine: SubCD07B_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.
; -----------------------------------------------------------------------------
SubCD07B_Block:
lda #$01 ; CPU:$D090 PRG:1090 A9 01
rts ; CPU:$D092 PRG:1092 60
; -----------------------------------------------------------------------------
; Routine: SubCD093
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD093:
lda Zp8A ; CPU:$D093 PRG:1093 A5 8A
sec ; CPU:$D095 PRG:1095 38
sbc Zp88 ; CPU:$D096 PRG:1096 E5 88
sta Zp8A ; CPU:$D098 PRG:1098 85 8A
lda Zp88 ; CPU:$D09A PRG:109A A5 88
sec ; CPU:$D09C PRG:109C 38
sbc Zp8A ; CPU:$D09D PRG:109D E5 8A
bcc SubCD093_Block ; CPU:$D09F PRG:109F 90 0B
ldx Zp88 ; CPU:$D0A1 PRG:10A1 A6 88
sta Zp88 ; CPU:$D0A3 PRG:10A3 85 88
stx Zp8A ; CPU:$D0A5 PRG:10A5 86 8A
inc Zp8B ; CPU:$D0A7 PRG:10A7 E6 8B
lda #$00 ; CPU:$D0A9 PRG:10A9 A9 00
rts ; CPU:$D0AB PRG:10AB 60
; -----------------------------------------------------------------------------
; Routine: SubCD093_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.
; -----------------------------------------------------------------------------
SubCD093_Block:
lda #$01 ; CPU:$D0AC PRG:10AC A9 01
rts ; CPU:$D0AE PRG:10AE 60
; -----------------------------------------------------------------------------
; Routine: SubCD0AF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD0AF:
lda BtnState,x ; CPU:$D0AF PRG:10AF B5 51
bne SubCD0AF_Block ; CPU:$D0B1 PRG:10B1 D0 01
rts ; CPU:$D0B3 PRG:10B3 60
; -----------------------------------------------------------------------------
; Routine: SubCD0AF_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.
; -----------------------------------------------------------------------------
SubCD0AF_Block:
lda #$0B ; CPU:$D0B4 PRG:10B4 A9 0B
jsr $D63C ; CPU:$D0B6 PRG:10B6 20 3C D6
beq SubCD0AF_Block_2 ; CPU:$D0B9 PRG:10B9 F0 0E
lda BtnState,x ; CPU:$D0BB PRG:10BB B5 51
sec ; CPU:$D0BD PRG:10BD 38
sbc #$03 ; CPU:$D0BE PRG:10BE E9 03
sta Zp63,x ; CPU:$D0C0 PRG:10C0 95 63
jsr $D13F ; CPU:$D0C2 PRG:10C2 20 3F D1
; -----------------------------------------------------------------------------
; Routine: SubCD0C5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD0C5:
lda #$20 ; CPU:$D0C5 PRG:10C5 A9 20
sta FrameCounter ; CPU:$D0C7 PRG:10C7 85 FF
; -----------------------------------------------------------------------------
; Routine: SubCD0AF_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.
; -----------------------------------------------------------------------------
SubCD0AF_Block_2:
rts ; CPU:$D0C9 PRG:10C9 60
; -----------------------------------------------------------------------------
; Routine: SubCD0CA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD0CA:
jsr SubCDA5E ; CPU:$D0CA PRG:10CA 20 5E DA
lda $0210,y ; CPU:$D0CD PRG:10CD B9 10 02
sta PtrHi ; CPU:$D0D0 PRG:10D0 85 01
jsr $D65F ; CPU:$D0D2 PRG:10D2 20 5F D6
lda BtnState,x ; CPU:$D0D5 PRG:10D5 B5 51
cmp #$03 ; CPU:$D0D7 PRG:10D7 C9 03
bpl SubCD0CA_Block ; CPU:$D0D9 PRG:10D9 10 06
lda $0213,y ; CPU:$D0DB PRG:10DB B9 13 02
jmp $D102 ; CPU:$D0DE PRG:10DE 4C 02 D1
; -----------------------------------------------------------------------------
; Routine: SubCD0CA_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.
; -----------------------------------------------------------------------------
SubCD0CA_Block:
clc ; CPU:$D0E1 PRG:10E1 18
lda Zp55,x ; CPU:$D0E2 PRG:10E2 B5 55
adc Zp7A,x ; CPU:$D0E4 PRG:10E4 75 7A
sta Zp55,x ; CPU:$D0E6 PRG:10E6 95 55
lda #$00 ; CPU:$D0E8 PRG:10E8 A9 00
rol a ; CPU:$D0EA PRG:10EA 2A
sta PtrLo ; CPU:$D0EB PRG:10EB 85 00
lda BtnState,x ; CPU:$D0ED PRG:10ED B5 51
cmp #$03 ; CPU:$D0EF PRG:10EF C9 03
beq SubCD0CA_Block_2 ; CPU:$D0F1 PRG:10F1 F0 09
lda $0213,y ; CPU:$D0F3 PRG:10F3 B9 13 02
clc ; CPU:$D0F6 PRG:10F6 18
adc PtrLo ; CPU:$D0F7 PRG:10F7 65 00
jmp $D102 ; CPU:$D0F9 PRG:10F9 4C 02 D1
; -----------------------------------------------------------------------------
; Routine: SubCD0CA_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.
; -----------------------------------------------------------------------------
SubCD0CA_Block_2:
lda $0213,y ; CPU:$D0FC PRG:10FC B9 13 02
sec ; CPU:$D0FF PRG:10FF 38
sbc PtrLo ; CPU:$D100 PRG:1100 E5 00
; -----------------------------------------------------------------------------
; Routine: SubCD102
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD102:
sta PtrLo ; CPU:$D102 PRG:1102 85 00
lda #$18 ; CPU:$D104 PRG:1104 A9 18
sta Ptr2Lo ; CPU:$D106 PRG:1106 85 02
jmp $D6A3 ; CPU:$D108 PRG:1108 4C A3 D6
; -----------------------------------------------------------------------------
; Routine: SubCD10B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD10B:
jsr $D55E ; CPU:$D10B PRG:110B 20 5E D5
beq SubCD10B_Block ; CPU:$D10E PRG:110E F0 04
lda Zp53,x ; CPU:$D110 PRG:1110 B5 53
sta BtnState,x ; CPU:$D112 PRG:1112 95 51
; -----------------------------------------------------------------------------
; Routine: SubCD10B_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.
; -----------------------------------------------------------------------------
SubCD10B_Block:
sta Zp75 ; CPU:$D114 PRG:1114 85 75
rts ; CPU:$D116 PRG:1116 60
; -----------------------------------------------------------------------------
; Routine: SubCD117
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD117:
jsr $D128 ; CPU:$D117 PRG:1117 20 28 D1
bne SubCD117_Block ; CPU:$D11A PRG:111A D0 07
jsr $D242 ; CPU:$D11C PRG:111C 20 42 D2
lda #$01 ; CPU:$D11F PRG:111F A9 01
bne SubCD117_Block_2 ; CPU:$D121 PRG:1121 D0 02
; -----------------------------------------------------------------------------
; Routine: SubCD117_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.
; -----------------------------------------------------------------------------
SubCD117_Block:
lda #$05 ; CPU:$D123 PRG:1123 A9 05
; -----------------------------------------------------------------------------
; Routine: SubCD117_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.
; -----------------------------------------------------------------------------
SubCD117_Block_2:
sta ObjIndex,x ; CPU:$D125 PRG:1125 95 5F
rts ; CPU:$D127 PRG:1127 60
; -----------------------------------------------------------------------------
; Routine: SubCD128
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD128:
jsr SubCDA5E ; CPU:$D128 PRG:1128 20 5E DA
lda $0210,y ; CPU:$D12B PRG:112B B9 10 02
cmp Zp71,x ; CPU:$D12E PRG:112E D5 71
bcc SubCD128_Block ; CPU:$D130 PRG:1130 90 07
sec ; CPU:$D132 PRG:1132 38
sbc Zp71,x ; CPU:$D133 PRG:1133 F5 71
cmp Zp79 ; CPU:$D135 PRG:1135 C5 79
bcs SubCD128_Block_2 ; CPU:$D137 PRG:1137 B0 03
; -----------------------------------------------------------------------------
; Routine: SubCD128_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.
; -----------------------------------------------------------------------------
SubCD128_Block:
lda #$00 ; CPU:$D139 PRG:1139 A9 00
rts ; CPU:$D13B PRG:113B 60
; -----------------------------------------------------------------------------
; Routine: SubCD128_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.
; -----------------------------------------------------------------------------
SubCD128_Block_2:
lda #$01 ; CPU:$D13C PRG:113C A9 01
rts ; CPU:$D13E PRG:113E 60
; -----------------------------------------------------------------------------
; Routine: SubCD13F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD13F:
jsr $D6BA ; CPU:$D13F PRG:113F 20 BA D6
ldy Zp6B,x ; CPU:$D142 PRG:1142 B4 6B
cpy #$02 ; CPU:$D144 PRG:1144 C0 02
bne SubCD156 ; CPU:$D146 PRG:1146 D0 0E
ldy Zp63,x ; CPU:$D148 PRG:1148 B4 63
beq SubCD13F_Block ; CPU:$D14A PRG:114A F0 05
lda Zp6D ; CPU:$D14C PRG:114C A5 6D
jmp $D153 ; CPU:$D14E PRG:114E 4C 53 D1
; -----------------------------------------------------------------------------
; Routine: SubCD13F_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.
; -----------------------------------------------------------------------------
SubCD13F_Block:
lda Zp6E ; CPU:$D151 PRG:1151 A5 6E
; -----------------------------------------------------------------------------
; Routine: SubCD153
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD153:
sec ; CPU:$D153 PRG:1153 38
sbc #$10 ; CPU:$D154 PRG:1154 E9 10
; -----------------------------------------------------------------------------
; Routine: SubCD156
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD156:
sta PtrLo ; CPU:$D156 PRG:1156 85 00
; -----------------------------------------------------------------------------
; Routine: SubCD158
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD158:
lda #$28 ; CPU:$D158 PRG:1158 A9 28
sta Ptr2Lo ; CPU:$D15A PRG:115A 85 02
jsr $D6A3 ; CPU:$D15C PRG:115C 20 A3 D6
lda #$01 ; CPU:$D15F PRG:115F A9 01
sta Zp6B,x ; CPU:$D161 PRG:1161 95 6B
rts ; CPU:$D163 PRG:1163 60
; -----------------------------------------------------------------------------
; Routine: SubCD164
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD164:
txa ; CPU:$D164 PRG:1164 8A
pha ; CPU:$D165 PRG:1165 48
jsr $D6BA ; CPU:$D166 PRG:1166 20 BA D6
ldy Zp63,x ; CPU:$D169 PRG:1169 B4 63
beq UpdateSpritePosition26 ; CPU:$D16B PRG:116B F0 08
sec ; CPU:$D16D PRG:116D 38
sbc #$0C ; CPU:$D16E PRG:116E E9 0C
sta PtrLo ; CPU:$D170 PRG:1170 85 00
jmp $D17A ; CPU:$D172 PRG:1172 4C 7A D1
; -----------------------------------------------------------------------------
; 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:
clc ; CPU:$D175 PRG:1175 18
adc #$0C ; CPU:$D176 PRG:1176 69 0C
sta PtrLo ; CPU:$D178 PRG:1178 85 00
; -----------------------------------------------------------------------------
; Routine: SubCD17A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD17A:
lda SprIndex ; CPU:$D17A PRG:117A A5 4A
cmp #$02 ; CPU:$D17C PRG:117C C9 02
bne SubCD17A_Block_3 ; CPU:$D17E PRG:117E D0 38
lda BtnState ; CPU:$D180 PRG:1180 A5 51
cmp #$03 ; CPU:$D182 PRG:1182 C9 03
bne SubCD17A_Block_2 ; CPU:$D184 PRG:1184 D0 03
jmp $D23F ; CPU:$D186 PRG:1186 4C 3F D2
; -----------------------------------------------------------------------------
; Routine: SubCD17A_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.
; -----------------------------------------------------------------------------
SubCD17A_Block_2:
lda #$01 ; CPU:$D189 PRG:1189 A9 01
sta Zp63 ; CPU:$D18B PRG:118B 85 63
lda $0210 ; CPU:$D18D PRG:118D AD 10 02
cmp #$20 ; CPU:$D190 PRG:1190 C9 20
bcc SubCD17A_Block_3 ; CPU:$D192 PRG:1192 90 24
lda $0210 ; CPU:$D194 PRG:1194 AD 10 02
and #$0F ; CPU:$D197 PRG:1197 29 0F
cmp #$08 ; CPU:$D199 PRG:1199 C9 08
bpl SubCD17A_Block_4 ; CPU:$D19B PRG:119B 10 0B
lda $0210 ; CPU:$D19D PRG:119D AD 10 02
and #$F0 ; CPU:$D1A0 PRG:11A0 29 F0
sec ; CPU:$D1A2 PRG:11A2 38
sbc #$04 ; CPU:$D1A3 PRG:11A3 E9 04
jmp $D1AB ; CPU:$D1A5 PRG:11A5 4C AB D1
; -----------------------------------------------------------------------------
; Routine: SubCD17A_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.
; -----------------------------------------------------------------------------
SubCD17A_Block_4:
lda $0210 ; CPU:$D1A8 PRG:11A8 AD 10 02
; -----------------------------------------------------------------------------
; Routine: SubCD1AB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD1AB:
sta PtrHi ; CPU:$D1AB PRG:11AB 85 01
lda #$02 ; CPU:$D1AD PRG:11AD A9 02
sta ZpFE ; CPU:$D1AF PRG:11AF 85 FE
lda #$94 ; CPU:$D1B1 PRG:11B1 A9 94
sta Zp4B ; CPU:$D1B3 PRG:11B3 85 4B
jmp $D231 ; CPU:$D1B5 PRG:11B5 4C 31 D2
; -----------------------------------------------------------------------------
; Routine: SubCD17A_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.
; -----------------------------------------------------------------------------
SubCD17A_Block_3:
cmp #$03 ; CPU:$D1B8 PRG:11B8 C9 03
bne SubCD1AB_Block_3 ; CPU:$D1BA PRG:11BA D0 73
lda $0213 ; CPU:$D1BC PRG:11BC AD 13 02
cmp $05F3 ; CPU:$D1BF PRG:11BF CD F3 05
bne SubCD1AB_Block_3 ; CPU:$D1C2 PRG:11C2 D0 6B
jsr $E5F8 ; CPU:$D1C4 PRG:11C4 20 F8 E5
ldx #$00 ; CPU:$D1C7 PRG:11C7 A2 00
ldy #$00 ; CPU:$D1C9 PRG:11C9 A0 00
sty ZpBF ; CPU:$D1CB PRG:11CB 84 BF
lda #$F8 ; CPU:$D1CD PRG:11CD A9 F8
sta $02D0 ; CPU:$D1CF PRG:11CF 8D D0 02
sta $05F5 ; CPU:$D1D2 PRG:11D2 8D F5 05
lda ZpBE ; CPU:$D1D5 PRG:11D5 A5 BE
beq SubCD1AB_Block_3 ; CPU:$D1D7 PRG:11D7 F0 56
ldy #$08 ; CPU:$D1D9 PRG:11D9 A0 08
lda ZpA3 ; CPU:$D1DB PRG:11DB A5 A3
sta ZpA7 ; CPU:$D1DD PRG:11DD 85 A7
lda ZpA4 ; CPU:$D1DF PRG:11DF A5 A4
sta ZpA8 ; CPU:$D1E1 PRG:11E1 85 A8
lda ZpA5 ; CPU:$D1E3 PRG:11E3 A5 A5
sta ZpA9 ; CPU:$D1E5 PRG:11E5 85 A9
lda ZpB4 ; CPU:$D1E7 PRG:11E7 A5 B4
beq SubCD1AB_Block_4 ; CPU:$D1E9 PRG:11E9 F0 16
lda ZpB4 ; CPU:$D1EB PRG:11EB A5 B4
clc ; CPU:$D1ED PRG:11ED 18
adc $04FB ; CPU:$D1EE PRG:11EE 6D FB 04
bcs SubCD1AB_Block_5 ; CPU:$D1F1 PRG:11F1 B0 03
sta $04FB ; CPU:$D1F3 PRG:11F3 8D FB 04
; -----------------------------------------------------------------------------
; Routine: SubCD1AB_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.
; -----------------------------------------------------------------------------
SubCD1AB_Block_5:
lda #$01 ; CPU:$D1F6 PRG:11F6 A9 01
sta Zp50 ; CPU:$D1F8 PRG:11F8 85 50
sta ZpB0 ; CPU:$D1FA PRG:11FA 85 B0
ldy #$18 ; CPU:$D1FC PRG:11FC A0 18
jsr $E6D3 ; CPU:$D1FE PRG:11FE 20 D3 E6
; -----------------------------------------------------------------------------
; Routine: SubCD1AB_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.
; -----------------------------------------------------------------------------
SubCD1AB_Block_4:
jsr $E6DE ; CPU:$D201 PRG:1201 20 DE E6
sty GameState ; CPU:$D204 PRG:1204 84 EC
cpy #$08 ; CPU:$D206 PRG:1206 C0 08
beq SubCD20E ; CPU:$D208 PRG:1208 F0 04
cpy #$18 ; CPU:$D20A PRG:120A C0 18
bne SubCD1AB_Block_6 ; CPU:$D20C PRG:120C D0 1E
; -----------------------------------------------------------------------------
; Routine: SubCD20E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD20E:
lda #$00 ; CPU:$D20E PRG:120E A9 00
ldx #$00 ; CPU:$D210 PRG:1210 A2 00
sta Zp33 ; CPU:$D212 PRG:1212 85 33
lda #$04 ; CPU:$D214 PRG:1214 A9 04
sta Zp79 ; CPU:$D216 PRG:1216 85 79
sta ObjIndex ; CPU:$D218 PRG:1218 85 5F
jsr $D6BA ; CPU:$D21A PRG:121A 20 BA D6
lda #$18 ; CPU:$D21D PRG:121D A9 18
sta Ptr2Lo ; CPU:$D21F PRG:121F 85 02
lda Zp63 ; CPU:$D221 PRG:1221 A5 63
eor #$01 ; CPU:$D223 PRG:1223 49 01
jsr $D6A7 ; CPU:$D225 PRG:1225 20 A7 D6
lda #$00 ; CPU:$D228 PRG:1228 A9 00
sta Zp57 ; CPU:$D22A PRG:122A 85 57
; -----------------------------------------------------------------------------
; Routine: SubCD1AB_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.
; -----------------------------------------------------------------------------
SubCD1AB_Block_6:
pla ; CPU:$D22C PRG:122C 68
tax ; CPU:$D22D PRG:122D AA
rts ; CPU:$D22E PRG:122E 60
; -----------------------------------------------------------------------------
; Routine: SubCD1AB_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.
; -----------------------------------------------------------------------------
SubCD1AB_Block_3:
lda #$38 ; CPU:$D22F PRG:122F A9 38
; -----------------------------------------------------------------------------
; Routine: SubCD231
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD231:
sta Ptr2Lo ; CPU:$D231 PRG:1231 85 02
jsr $D6A3 ; CPU:$D233 PRG:1233 20 A3 D6
jsr $E32D ; CPU:$D236 PRG:1236 20 2D E3
lda #$02 ; CPU:$D239 PRG:1239 A9 02
sta Zp6B,x ; CPU:$D23B PRG:123B 95 6B
sta ObjIndex,x ; CPU:$D23D PRG:123D 95 5F
; -----------------------------------------------------------------------------
; Routine: SubCD23F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD23F:
pla ; CPU:$D23F PRG:123F 68
tax ; CPU:$D240 PRG:1240 AA
rts ; CPU:$D241 PRG:1241 60
; -----------------------------------------------------------------------------
; Routine: SubCD242
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD242:
lda Zp8D ; CPU:$D242 PRG:1242 A5 8D
sec ; CPU:$D244 PRG:1244 38
sbc #$11 ; CPU:$D245 PRG:1245 E9 11
sta PtrHi ; CPU:$D247 PRG:1247 85 01
jsr SubCDA5E ; CPU:$D249 PRG:1249 20 5E DA
lda $0213,y ; CPU:$D24C PRG:124C B9 13 02
sta PtrLo ; CPU:$D24F PRG:124F 85 00
lda #$20 ; CPU:$D251 PRG:1251 A9 20
sta Ptr2Lo ; CPU:$D253 PRG:1253 85 02
sta Zp5B,x ; CPU:$D255 PRG:1255 95 5B
jsr $D6A3 ; CPU:$D257 PRG:1257 20 A3 D6
lda #$02 ; CPU:$D25A PRG:125A A9 02
sta Zp78 ; CPU:$D25C PRG:125C 85 78
lda #$FF ; CPU:$D25E PRG:125E A9 FF
ldy SprIndex ; CPU:$D260 PRG:1260 A4 4A
cpy #$01 ; CPU:$D262 PRG:1262 C0 01
bne SubCD242_Block ; CPU:$D264 PRG:1264 D0 02
lda #$32 ; CPU:$D266 PRG:1266 A9 32
; -----------------------------------------------------------------------------
; Routine: SubCD242_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.
; -----------------------------------------------------------------------------
SubCD242_Block:
sta Zp79 ; CPU:$D268 PRG:1268 85 79
lda #$A0 ; CPU:$D26A PRG:126A A9 A0
sta Zp7A,x ; CPU:$D26C PRG:126C 95 7A
lda #$10 ; CPU:$D26E PRG:126E A9 10
sta FrameCounter ; CPU:$D270 PRG:1270 85 FF
rts ; CPU:$D272 PRG:1272 60
; -----------------------------------------------------------------------------
; Routine: SubCD273
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD273:
jsr SubCDA5E ; CPU:$D273 PRG:1273 20 5E DA
lda $0210,y ; CPU:$D276 PRG:1276 B9 10 02
sta PtrHi ; CPU:$D279 PRG:1279 85 01
sta Zp71,x ; CPU:$D27B PRG:127B 95 71
lda $0213,y ; CPU:$D27D PRG:127D B9 13 02
sta PtrLo ; CPU:$D280 PRG:1280 85 00
lda #$18 ; CPU:$D282 PRG:1282 A9 18
sta Ptr2Lo ; CPU:$D284 PRG:1284 85 02
jsr $D6A3 ; CPU:$D286 PRG:1286 20 A3 D6
lda #$00 ; CPU:$D289 PRG:1289 A9 00
sta Zp6B,x ; CPU:$D28B PRG:128B 95 6B
lda #$04 ; CPU:$D28D PRG:128D A9 04
sta ObjIndex,x ; CPU:$D28F PRG:128F 95 5F
rts ; CPU:$D291 PRG:1291 60
; -----------------------------------------------------------------------------
; Routine: SubCD292
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD292:
jsr SubCDA5E ; CPU:$D292 PRG:1292 20 5E DA
lda $0210,y ; CPU:$D295 PRG:1295 B9 10 02
cmp #$D8 ; CPU:$D298 PRG:1298 C9 D8
bcs SubCD292_Block ; CPU:$D29A PRG:129A B0 19
clc ; CPU:$D29C PRG:129C 18
adc #$02 ; CPU:$D29D PRG:129D 69 02
sta PtrHi ; CPU:$D29F PRG:129F 85 01
lda Zp09 ; CPU:$D2A1 PRG:12A1 A5 09
sta FrameCounter ; CPU:$D2A3 PRG:12A3 85 FF
lda $0213,y ; CPU:$D2A5 PRG:12A5 B9 13 02
sta PtrLo ; CPU:$D2A8 PRG:12A8 85 00
lda #$40 ; CPU:$D2AA PRG:12AA A9 40
sta Ptr2Lo ; CPU:$D2AC PRG:12AC 85 02
lda #$00 ; CPU:$D2AE PRG:12AE A9 00
sta Zp09 ; CPU:$D2B0 PRG:12B0 85 09
jmp $D6A7 ; CPU:$D2B2 PRG:12B2 4C A7 D6
; -----------------------------------------------------------------------------
; Routine: SubCD292_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.
; -----------------------------------------------------------------------------
SubCD292_Block:
lda Zp08 ; CPU:$D2B5 PRG:12B5 A5 08
sta FrameCounter ; CPU:$D2B7 PRG:12B7 85 FF
jmp $CB26 ; CPU:$D2B9 PRG:12B9 4C 26 CB
; -----------------------------------------------------------------------------
; Routine: SubCD2BC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD2BC:
lda SprIndex ; CPU:$D2BC PRG:12BC A5 4A
cmp #$03 ; CPU:$D2BE PRG:12BE C9 03
bne SubCD2BC_Block_2 ; CPU:$D2C0 PRG:12C0 D0 50
lda #$F8 ; CPU:$D2C2 PRG:12C2 A9 F8
sta $02D8 ; CPU:$D2C4 PRG:12C4 8D D8 02
sta $02DC ; CPU:$D2C7 PRG:12C7 8D DC 02
lda GameState ; CPU:$D2CA PRG:12CA A5 EC
cmp #$08 ; CPU:$D2CC PRG:12CC C9 08
bne SubCD2BC_Block_2 ; CPU:$D2CE PRG:12CE D0 42
lda $0211 ; CPU:$D2D0 PRG:12D0 AD 11 02
cmp #$F8 ; CPU:$D2D3 PRG:12D3 C9 F8
beq SubCD2BC_Block_3 ; CPU:$D2D5 PRG:12D5 F0 20
lda #$C7 ; CPU:$D2D7 PRG:12D7 A9 C7
sta PtrHi ; CPU:$D2D9 PRG:12D9 85 01
lda $0213 ; CPU:$D2DB PRG:12DB AD 13 02
sta PtrLo ; CPU:$D2DE PRG:12DE 85 00
lda #$F8 ; CPU:$D2E0 PRG:12E0 A9 F8
sta Ptr2Lo ; CPU:$D2E2 PRG:12E2 85 02
jsr $D69F ; CPU:$D2E4 PRG:12E4 20 9F D6
ldy #$C0 ; CPU:$D2E7 PRG:12E7 A0 C0
lda ZpAF ; CPU:$D2E9 PRG:12E9 A5 AF
bne SubCD2BC_Block_4 ; CPU:$D2EB PRG:12EB D0 02
ldy #$70 ; CPU:$D2ED PRG:12ED A0 70
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_4:
sty Zp59 ; CPU:$D2EF PRG:12EF 84 59
sty $0420 ; CPU:$D2F1 PRG:12F1 8C 20 04
jsr $E912 ; CPU:$D2F4 PRG:12F4 20 12 E9
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_3:
lda Zp59 ; CPU:$D2F7 PRG:12F7 A5 59
cmp #$01 ; CPU:$D2F9 PRG:12F9 C9 01
bne SubCD2BC_Block_6 ; CPU:$D2FB PRG:12FB D0 14
lda $0402 ; CPU:$D2FD PRG:12FD AD 02 04
cmp #$0A ; CPU:$D300 PRG:1300 C9 0A
beq SubCD2BC_Block_6 ; CPU:$D302 PRG:1302 F0 0D
jsr $C6F9 ; CPU:$D304 PRG:1304 20 F9 C6
jsr $E387 ; CPU:$D307 PRG:1307 20 87 E3
lda #$18 ; CPU:$D30A PRG:130A A9 18
jsr $F22A ; CPU:$D30C PRG:130C 20 2A F2
ldx #$00 ; CPU:$D30F PRG:130F A2 00
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_6:
rts ; CPU:$D311 PRG:1311 60
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_2:
lda Zp59,x ; CPU:$D312 PRG:1312 B5 59
cmp #$24 ; CPU:$D314 PRG:1314 C9 24
bne SubCD2BC_Block_7 ; CPU:$D316 PRG:1316 D0 04
lda #$02 ; CPU:$D318 PRG:1318 A9 02
sta FrameCounter ; CPU:$D31A PRG:131A 85 FF
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_7:
jsr SubCDA5E ; CPU:$D31C PRG:131C 20 5E DA
lda $0210,y ; CPU:$D31F PRG:131F B9 10 02
sta PtrHi ; CPU:$D322 PRG:1322 85 01
lda $0213,y ; CPU:$D324 PRG:1324 B9 13 02
sta PtrLo ; CPU:$D327 PRG:1327 85 00
ldy #$40 ; CPU:$D329 PRG:1329 A0 40
lda Zp59,x ; CPU:$D32B PRG:132B B5 59
and #$02 ; CPU:$D32D PRG:132D 29 02
bne SubCD2BC_Block_8 ; CPU:$D32F PRG:132F D0 02
ldy #$48 ; CPU:$D331 PRG:1331 A0 48
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_8:
sty Ptr2Lo ; CPU:$D333 PRG:1333 84 02
jsr $D69F ; CPU:$D335 PRG:1335 20 9F D6
lda #$20 ; CPU:$D338 PRG:1338 A9 20
sta SprCount,x ; CPU:$D33A PRG:133A 95 39
jsr SubCDA5E ; CPU:$D33C PRG:133C 20 5E DA
lda $0210,y ; CPU:$D33F PRG:133F B9 10 02
cmp #$D8 ; CPU:$D342 PRG:1342 C9 D8
bcs SubCD2BC_Block_9 ; CPU:$D344 PRG:1344 B0 04
lda #$10 ; CPU:$D346 PRG:1346 A9 10
bne SubCD2BC_Block_10 ; CPU:$D348 PRG:1348 D0 02
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_9:
lda #$00 ; CPU:$D34A PRG:134A A9 00
; -----------------------------------------------------------------------------
; Routine: SubCD2BC_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.
; -----------------------------------------------------------------------------
SubCD2BC_Block_10:
sta Zp08 ; CPU:$D34C PRG:134C 85 08
rts ; CPU:$D34E PRG:134E 60
; -----------------------------------------------------------------------------
; Routine: SubCD34F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD34F:
lda ObjIndex ; CPU:$D34F PRG:134F A5 5F
cmp #$02 ; CPU:$D351 PRG:1351 C9 02
beq SubCD34F_Block ; CPU:$D353 PRG:1353 F0 01
rts ; CPU:$D355 PRG:1355 60
; -----------------------------------------------------------------------------
; Routine: SubCD34F_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.
; -----------------------------------------------------------------------------
SubCD34F_Block:
txa ; CPU:$D356 PRG:1356 8A
pha ; CPU:$D357 PRG:1357 48
ldx #$00 ; CPU:$D358 PRG:1358 A2 00
sta ZpE7 ; CPU:$D35A PRG:135A 85 E7
ldy #$02 ; CPU:$D35C PRG:135C A0 02
; -----------------------------------------------------------------------------
; Routine: SubCD35E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD35E:
tya ; CPU:$D35E PRG:135E 98
pha ; CPU:$D35F PRG:135F 48
txa ; CPU:$D360 PRG:1360 8A
pha ; CPU:$D361 PRG:1361 48
lda ZpC2,x ; CPU:$D362 PRG:1362 B5 C2
sta PtrLo ; CPU:$D364 PRG:1364 85 00
lda ZpC3,x ; CPU:$D366 PRG:1366 B5 C3
cmp #$40 ; CPU:$D368 PRG:1368 C9 40
beq SubCD35E_Block_5 ; CPU:$D36A PRG:136A F0 21
sta PtrHi ; CPU:$D36C PRG:136C 85 01
lda #$8E ; CPU:$D36E PRG:136E A9 8E
sta Ptr2Lo ; CPU:$D370 PRG:1370 85 02
lda #$C1 ; CPU:$D372 PRG:1372 A9 C1
sta Zp03 ; CPU:$D374 PRG:1374 85 03
jsr $D9AF ; CPU:$D376 PRG:1376 20 AF D9
beq SubCD35E_Block_5 ; CPU:$D379 PRG:1379 F0 12
lda Zp53 ; CPU:$D37B PRG:137B A5 53
beq SubCD35E_Block_5 ; CPU:$D37D PRG:137D F0 0E
cmp BtnState ; CPU:$D37F PRG:137F C5 51
bne SubCD35E_Block_5 ; CPU:$D381 PRG:1381 D0 0A
cmp #$01 ; CPU:$D383 PRG:1383 C9 01
bne SubCD35E_Block_5 ; CPU:$D385 PRG:1385 D0 06
jsr $D3A2 ; CPU:$D387 PRG:1387 20 A2 D3
jsr $D3C1 ; CPU:$D38A PRG:138A 20 C1 D3
; -----------------------------------------------------------------------------
; Routine: SubCD35E_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.
; -----------------------------------------------------------------------------
SubCD35E_Block_5:
pla ; CPU:$D38D PRG:138D 68
tax ; CPU:$D38E PRG:138E AA
pla ; CPU:$D38F PRG:138F 68
tay ; CPU:$D390 PRG:1390 A8
dey ; CPU:$D391 PRG:1391 88
beq SubCD35E_Block_7 ; CPU:$D392 PRG:1392 F0 0B
lda Zp0D ; CPU:$D394 PRG:1394 A5 0D
cmp #$02 ; CPU:$D396 PRG:1396 C9 02
beq SubCD35E_Block_7 ; CPU:$D398 PRG:1398 F0 05
inx ; CPU:$D39A PRG:139A E8
inx ; CPU:$D39B PRG:139B E8
jmp $D35E ; CPU:$D39C PRG:139C 4C 5E D3
; -----------------------------------------------------------------------------
; Routine: SubCD35E_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.
; -----------------------------------------------------------------------------
SubCD35E_Block_7:
pla ; CPU:$D39F PRG:139F 68
tax ; CPU:$D3A0 PRG:13A0 AA
rts ; CPU:$D3A1 PRG:13A1 60
; -----------------------------------------------------------------------------
; Routine: SubCD3A2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD3A2:
pha ; CPU:$D3A2 PRG:13A2 48
txa ; CPU:$D3A3 PRG:13A3 8A
pha ; CPU:$D3A4 PRG:13A4 48
tya ; CPU:$D3A5 PRG:13A5 98
pha ; CPU:$D3A6 PRG:13A6 48
lda #$6D ; CPU:$D3A7 PRG:13A7 A9 6D
ldx #$01 ; CPU:$D3A9 PRG:13A9 A2 01
clc ; CPU:$D3AB PRG:13AB 18
; -----------------------------------------------------------------------------
; Routine: SubCD3A2_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.
; -----------------------------------------------------------------------------
SubCD3A2_Block_2:
ldy #$02 ; CPU:$D3AC PRG:13AC A0 02
; -----------------------------------------------------------------------------
; Routine: SubCD3A2_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.
; -----------------------------------------------------------------------------
SubCD3A2_Block:
sta ZpD1,x ; CPU:$D3AE PRG:13AE 95 D1
adc #$01 ; CPU:$D3B0 PRG:13B0 69 01
inx ; CPU:$D3B2 PRG:13B2 E8
dey ; CPU:$D3B3 PRG:13B3 88
bne SubCD3A2_Block ; CPU:$D3B4 PRG:13B4 D0 F8
inx ; CPU:$D3B6 PRG:13B6 E8
cpx #$0A ; CPU:$D3B7 PRG:13B7 E0 0A
bne SubCD3A2_Block_2 ; CPU:$D3B9 PRG:13B9 D0 F1
pla ; CPU:$D3BB PRG:13BB 68
tay ; CPU:$D3BC PRG:13BC A8
pla ; CPU:$D3BD PRG:13BD 68
tax ; CPU:$D3BE PRG:13BE AA
pla ; CPU:$D3BF PRG:13BF 68
rts ; CPU:$D3C0 PRG:13C0 60
; -----------------------------------------------------------------------------
; Routine: SubCD3C1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD3C1:
lda #$33 ; CPU:$D3C1 PRG:13C1 A9 33
sta ZpD1 ; CPU:$D3C3 PRG:13C3 85 D1
lda #$24 ; CPU:$D3C5 PRG:13C5 A9 24
sta ZpD4 ; CPU:$D3C7 PRG:13C7 85 D4
lda #$65 ; CPU:$D3C9 PRG:13C9 A9 65
sta ZpD7 ; CPU:$D3CB PRG:13CB 85 D7
lda ZpB6,x ; CPU:$D3CD PRG:13CD B5 B6
sec ; CPU:$D3CF PRG:13CF 38
sbc #$20 ; CPU:$D3D0 PRG:13D0 E9 20
sta ZpB6,x ; CPU:$D3D2 PRG:13D2 95 B6
sta PtrLo ; CPU:$D3D4 PRG:13D4 85 00
lda ZpB7,x ; CPU:$D3D6 PRG:13D6 B5 B7
sbc #$00 ; CPU:$D3D8 PRG:13D8 E9 00
sta ZpB7,x ; CPU:$D3DA PRG:13DA 95 B7
sta PtrHi ; CPU:$D3DC PRG:13DC 85 01
lda ZpC3,x ; CPU:$D3DE PRG:13DE B5 C3
sec ; CPU:$D3E0 PRG:13E0 38
sbc #$08 ; CPU:$D3E1 PRG:13E1 E9 08
sta ZpC3,x ; CPU:$D3E3 PRG:13E3 95 C3
cmp #$60 ; CPU:$D3E5 PRG:13E5 C9 60
beq SubCD3C1_Block ; CPU:$D3E7 PRG:13E7 F0 10
cmp #$68 ; CPU:$D3E9 PRG:13E9 C9 68
beq SubCD3C1_Block_2 ; CPU:$D3EB PRG:13EB F0 33
cmp #$B0 ; CPU:$D3ED PRG:13ED C9 B0
bne SubCD3C1_Block_6 ; CPU:$D3EF PRG:13EF D0 39
beq SubCD3C1_Block_4 ; CPU:$D3F1 PRG:13F1 F0 00
; -----------------------------------------------------------------------------
; Routine: SubCD3C1_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.
; -----------------------------------------------------------------------------
SubCD3C1_Block_4:
lda #$66 ; CPU:$D3F3 PRG:13F3 A9 66
sta ZpD7 ; CPU:$D3F5 PRG:13F5 85 D7
bne SubCD3C1_Block_6 ; CPU:$D3F7 PRG:13F7 D0 31
; -----------------------------------------------------------------------------
; Routine: SubCD3C1_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.
; -----------------------------------------------------------------------------
SubCD3C1_Block:
sta ZpAF ; CPU:$D3F9 PRG:13F9 85 AF
lda #$1F ; CPU:$D3FB PRG:13FB A9 1F
sta Zp32 ; CPU:$D3FD PRG:13FD 85 32
jsr $E72C ; CPU:$D3FF PRG:13FF 20 2C E7
lda #$69 ; CPU:$D402 PRG:1402 A9 69
sta ZpD2 ; CPU:$D404 PRG:1404 85 D2
sta ZpD8 ; CPU:$D406 PRG:1406 85 D8
lda #$6A ; CPU:$D408 PRG:1408 A9 6A
sta ZpD3 ; CPU:$D40A PRG:140A 85 D3
sta ZpD9 ; CPU:$D40C PRG:140C 85 D9
lda #$8A ; CPU:$D40E PRG:140E A9 8A
sta ZpD5 ; CPU:$D410 PRG:1410 85 D5
lda #$FF ; CPU:$D412 PRG:1412 A9 FF
sta ZpD6 ; CPU:$D414 PRG:1414 85 D6
inc ZpE7 ; CPU:$D416 PRG:1416 E6 E7
inc Zp95 ; CPU:$D418 PRG:1418 E6 95
lda #$04 ; CPU:$D41A PRG:141A A9 04
sta ZpFE ; CPU:$D41C PRG:141C 85 FE
bne SubCD3C1_Block_6 ; CPU:$D41E PRG:141E D0 0A
; -----------------------------------------------------------------------------
; Routine: SubCD3C1_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.
; -----------------------------------------------------------------------------
SubCD3C1_Block_2:
lda #$6A ; CPU:$D420 PRG:1420 A9 6A
sta ZpD2 ; CPU:$D422 PRG:1422 85 D2
sta ZpD8 ; CPU:$D424 PRG:1424 85 D8
lda #$6F ; CPU:$D426 PRG:1426 A9 6F
sta ZpD5 ; CPU:$D428 PRG:1428 85 D5
; -----------------------------------------------------------------------------
; Routine: SubCD3C1_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.
; -----------------------------------------------------------------------------
SubCD3C1_Block_6:
lda ZpC3 ; CPU:$D42A PRG:142A A5 C3
cmp #$60 ; CPU:$D42C PRG:142C C9 60
beq SubCD3C1_Block_7 ; CPU:$D42E PRG:142E F0 08
lda #$F7 ; CPU:$D430 PRG:1430 A9 F7
sta ZpD5 ; CPU:$D432 PRG:1432 85 D5
lda #$89 ; CPU:$D434 PRG:1434 A9 89
bne SubCD3C1_Block_8 ; CPU:$D436 PRG:1436 D0 06
; -----------------------------------------------------------------------------
; Routine: SubCD3C1_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.
; -----------------------------------------------------------------------------
SubCD3C1_Block_7:
lda #$81 ; CPU:$D438 PRG:1438 A9 81
sta ZpD5 ; CPU:$D43A PRG:143A 85 D5
lda #$82 ; CPU:$D43C PRG:143C A9 82
; -----------------------------------------------------------------------------
; Routine: SubCD3C1_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.
; -----------------------------------------------------------------------------
SubCD3C1_Block_8:
sta ZpD6 ; CPU:$D43E PRG:143E 85 D6
lda #$D1 ; CPU:$D440 PRG:1440 A9 D1
sta Ptr2Lo ; CPU:$D442 PRG:1442 85 02
lda #$00 ; CPU:$D444 PRG:1444 A9 00
jsr $F2AA ; CPU:$D446 PRG:1446 20 AA F2
rts ; CPU:$D449 PRG:1449 60
; -----------------------------------------------------------------------------
; Routine: SubCD44A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD44A:
lda SprIndex ; CPU:$D44A PRG:144A A5 4A
cmp #$01 ; CPU:$D44C PRG:144C C9 01
bne SubCD44A_Block ; CPU:$D44E PRG:144E D0 09
lda ZpDF,x ; CPU:$D450 PRG:1450 B5 DF
bne SubCD44A_Block_3 ; CPU:$D452 PRG:1452 D0 06
lda $03F2,x ; CPU:$D454 PRG:1454 BD F2 03
beq SubCD44A_Block_3 ; CPU:$D457 PRG:1457 F0 01
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block:
rts ; CPU:$D459 PRG:1459 60
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block_3:
txa ; CPU:$D45A PRG:145A 8A
pha ; CPU:$D45B PRG:145B 48
lda $0419 ; CPU:$D45C PRG:145C AD 19 04
sec ; CPU:$D45F PRG:145F 38
sbc #$01 ; CPU:$D460 PRG:1460 E9 01
lsr a ; CPU:$D462 PRG:1462 4A
tay ; CPU:$D463 PRG:1463 A8
ldx #$03 ; CPU:$D464 PRG:1464 A2 03
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block_6:
lda $03E0,y ; CPU:$D466 PRG:1466 B9 E0 03
cmp #$FF ; CPU:$D469 PRG:1469 C9 FF
beq SubCD44A_Block_4 ; CPU:$D46B PRG:146B F0 1D
tya ; CPU:$D46D PRG:146D 98
asl a ; CPU:$D46E PRG:146E 0A
tay ; CPU:$D46F PRG:146F A8
lda $C255,y ; CPU:$D470 PRG:1470 B9 55 C2
sta PtrLo ; CPU:$D473 PRG:1473 85 00
lda $C256,y ; CPU:$D475 PRG:1475 B9 56 C2
sta PtrHi ; CPU:$D478 PRG:1478 85 01
lda #$92 ; CPU:$D47A PRG:147A A9 92
sta Ptr2Lo ; CPU:$D47C PRG:147C 85 02
lda #$C1 ; CPU:$D47E PRG:147E A9 C1
sta Zp03 ; CPU:$D480 PRG:1480 85 03
jsr $D9AF ; CPU:$D482 PRG:1482 20 AF D9
bne SubCD44A_Block_5 ; CPU:$D485 PRG:1485 D0 0F
tya ; CPU:$D487 PRG:1487 98
lsr a ; CPU:$D488 PRG:1488 4A
tay ; CPU:$D489 PRG:1489 A8
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block_4:
iny ; CPU:$D48A PRG:148A C8
iny ; CPU:$D48B PRG:148B C8
iny ; CPU:$D48C PRG:148C C8
iny ; CPU:$D48D PRG:148D C8
iny ; CPU:$D48E PRG:148E C8
iny ; CPU:$D48F PRG:148F C8
dex ; CPU:$D490 PRG:1490 CA
bne SubCD44A_Block_6 ; CPU:$D491 PRG:1491 D0 D3
pla ; CPU:$D493 PRG:1493 68
tax ; CPU:$D494 PRG:1494 AA
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block_7:
rts ; CPU:$D495 PRG:1495 60
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block_5:
pla ; CPU:$D496 PRG:1496 68
tax ; CPU:$D497 PRG:1497 AA
lda $0330 ; CPU:$D498 PRG:1498 AD 30 03
bne SubCD44A_Block_7 ; CPU:$D49B PRG:149B D0 F8
lda $C1C0,y ; CPU:$D49D PRG:149D B9 C0 C1
sta ScorePtrHi ; CPU:$D4A0 PRG:14A0 85 A1
sta $05D3,x ; CPU:$D4A2 PRG:14A2 9D D3 05
lda $C1C1,y ; CPU:$D4A5 PRG:14A5 B9 C1 C1
sta ScorePtrLo ; CPU:$D4A8 PRG:14A8 85 A0
lda #$24 ; CPU:$D4AA PRG:14AA A9 24
jsr $EE5E ; CPU:$D4AC PRG:14AC 20 5E EE
tya ; CPU:$D4AF PRG:14AF 98
lsr a ; CPU:$D4B0 PRG:14B0 4A
tay ; CPU:$D4B1 PRG:14B1 A8
lda #$FF ; CPU:$D4B2 PRG:14B2 A9 FF
sta $03E0,y ; CPU:$D4B4 PRG:14B4 99 E0 03
lda #$20 ; CPU:$D4B7 PRG:14B7 A9 20
sta ScorePtrHi ; CPU:$D4B9 PRG:14B9 85 A1
lda $C253,x ; CPU:$D4BB PRG:14BB BD 53 C2
sta ScorePtrLo ; CPU:$D4BE PRG:14BE 85 A0
lda $03F2,x ; CPU:$D4C0 PRG:14C0 BD F2 03
bne SubCD44A_Block_8 ; CPU:$D4C3 PRG:14C3 D0 1B
lda ScorePtrLo ; CPU:$D4C5 PRG:14C5 A5 A0
sec ; CPU:$D4C7 PRG:14C7 38
sbc #$07 ; CPU:$D4C8 PRG:14C8 E9 07
sta ScorePtrLo ; CPU:$D4CA PRG:14CA 85 A0
lda #$85 ; CPU:$D4CC PRG:14CC A9 85
sta $03F2,x ; CPU:$D4CE PRG:14CE 9D F2 03
txa ; CPU:$D4D1 PRG:14D1 8A
pha ; CPU:$D4D2 PRG:14D2 48
asl a ; CPU:$D4D3 PRG:14D3 0A
asl a ; CPU:$D4D4 PRG:14D4 0A
tax ; CPU:$D4D5 PRG:14D5 AA
lda $0500,y ; CPU:$D4D6 PRG:14D6 B9 00 05
sta $03F7,x ; CPU:$D4D9 PRG:14D9 9D F7 03
pla ; CPU:$D4DC PRG:14DC 68
tax ; CPU:$D4DD PRG:14DD AA
lda #$00 ; CPU:$D4DE PRG:14DE A9 00
; -----------------------------------------------------------------------------
; Routine: SubCD44A_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.
; -----------------------------------------------------------------------------
SubCD44A_Block_8:
sta $040C,x ; CPU:$D4E0 PRG:14E0 9D 0C 04
lda #$05 ; CPU:$D4E3 PRG:14E3 A9 05
sta Zp3D,x ; CPU:$D4E5 PRG:14E5 95 3D
lda #$00 ; CPU:$D4E7 PRG:14E7 A9 00
sta ZpDF,x ; CPU:$D4E9 PRG:14E9 95 DF
lda $0500,y ; CPU:$D4EB PRG:14EB B9 00 05
sta $03FC,x ; CPU:$D4EE PRG:14EE 9D FC 03
jmp $EE5E ; CPU:$D4F1 PRG:14F1 4C 5E EE
; -----------------------------------------------------------------------------
; Routine: SubCD4F4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD4F4:
lda $040C,x ; CPU:$D4F4 PRG:14F4 BD 0C 04
bne SubCD4F4_Block ; CPU:$D4F7 PRG:14F7 D0 01
; -----------------------------------------------------------------------------
; Routine: SubCD4F4_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.
; -----------------------------------------------------------------------------
SubCD4F4_Block_3:
rts ; CPU:$D4F9 PRG:14F9 60
; -----------------------------------------------------------------------------
; Routine: SubCD4F4_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.
; -----------------------------------------------------------------------------
SubCD4F4_Block:
lda Zp3D,x ; CPU:$D4FA PRG:14FA B5 3D
bne SubCD4F4_Block_3 ; CPU:$D4FC PRG:14FC D0 FB
lda $0330 ; CPU:$D4FE PRG:14FE AD 30 03
bne SubCD4F4_Block_3 ; CPU:$D501 PRG:1501 D0 F6
lda ZpE3,x ; CPU:$D503 PRG:1503 B5 E3
cmp #$87 ; CPU:$D505 PRG:1505 C9 87
bcc SubCD4F4_Block_4 ; CPU:$D507 PRG:1507 90 08
beq SubCD4F4_Block_5 ; CPU:$D509 PRG:1509 F0 0C
jsr $DB2D ; CPU:$D50B PRG:150B 20 2D DB
jmp $D51A ; CPU:$D50E PRG:150E 4C 1A D5
; -----------------------------------------------------------------------------
; Routine: SubCD4F4_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.
; -----------------------------------------------------------------------------
SubCD4F4_Block_4:
jsr $DADF ; CPU:$D511 PRG:1511 20 DF DA
jmp $D51A ; CPU:$D514 PRG:1514 4C 1A D5
; -----------------------------------------------------------------------------
; Routine: SubCD4F4_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.
; -----------------------------------------------------------------------------
SubCD4F4_Block_5:
jsr $DB6B ; CPU:$D517 PRG:1517 20 6B DB
; -----------------------------------------------------------------------------
; Routine: SubCD51A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD51A:
jsr $DBBF ; CPU:$D51A PRG:151A 20 BF DB
txa ; CPU:$D51D PRG:151D 8A
pha ; CPU:$D51E PRG:151E 48
sta Zp05 ; CPU:$D51F PRG:151F 85 05
asl a ; CPU:$D521 PRG:1521 0A
asl a ; CPU:$D522 PRG:1522 0A
tay ; CPU:$D523 PRG:1523 A8
ldx #$00 ; CPU:$D524 PRG:1524 A2 00
lda $03F4,y ; CPU:$D526 PRG:1526 B9 F4 03
bne SubCD51A_Block_4 ; CPU:$D529 PRG:1529 D0 23
iny ; CPU:$D52B PRG:152B C8
; -----------------------------------------------------------------------------
; Routine: SubCD51A_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.
; -----------------------------------------------------------------------------
SubCD51A_Block_3:
lda $051E,x ; CPU:$D52C PRG:152C BD 1E 05
cmp $03F4,y ; CPU:$D52F PRG:152F D9 F4 03
bne SubCD51A_Block_4 ; CPU:$D532 PRG:1532 D0 1A
iny ; CPU:$D534 PRG:1534 C8
inx ; CPU:$D535 PRG:1535 E8
cpx #$03 ; CPU:$D536 PRG:1536 E0 03
bne SubCD51A_Block_3 ; CPU:$D538 PRG:1538 D0 F2
ldx Zp05 ; CPU:$D53A PRG:153A A6 05
lda $03F2,x ; CPU:$D53C PRG:153C BD F2 03
cmp $0521 ; CPU:$D53F PRG:153F CD 21 05
bne SubCD51A_Block_4 ; CPU:$D542 PRG:1542 D0 0A
sta ZpE5,x ; CPU:$D544 PRG:1544 95 E5
txa ; CPU:$D546 PRG:1546 8A
eor #$01 ; CPU:$D547 PRG:1547 49 01
tax ; CPU:$D549 PRG:1549 AA
lda #$05 ; CPU:$D54A PRG:154A A9 05
sta ObjIndex,x ; CPU:$D54C PRG:154C 95 5F
; -----------------------------------------------------------------------------
; Routine: SubCD51A_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.
; -----------------------------------------------------------------------------
SubCD51A_Block_4:
pla ; CPU:$D54E PRG:154E 68
tax ; CPU:$D54F PRG:154F AA
lda #$00 ; CPU:$D550 PRG:1550 A9 00
sta $040C,x ; CPU:$D552 PRG:1552 9D 0C 04
rts ; CPU:$D555 PRG:1555 60
; -----------------------------------------------------------------------------
; Routine: SubCD556
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD556:
lda #$00 ; CPU:$D556 PRG:1556 A9 00
beq SubCD55E_Block ; CPU:$D558 PRG:1558 F0 0A
; -----------------------------------------------------------------------------
; Routine: SubCD55A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD55A:
lda #$01 ; CPU:$D55A PRG:155A A9 01
bne SubCD55E_Block ; CPU:$D55C PRG:155C D0 06
; -----------------------------------------------------------------------------
; Routine: SubCD55E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD55E:
lda #$02 ; CPU:$D55E PRG:155E A9 02
bne SubCD55E_Block ; CPU:$D560 PRG:1560 D0 02
; -----------------------------------------------------------------------------
; Routine: SubCD562
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD562:
lda #$03 ; CPU:$D562 PRG:1562 A9 03
; -----------------------------------------------------------------------------
; Routine: SubCD55E_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.
; -----------------------------------------------------------------------------
SubCD55E_Block:
sta Zp0F ; CPU:$D564 PRG:1564 85 0F
txa ; CPU:$D566 PRG:1566 8A
pha ; CPU:$D567 PRG:1567 48
tya ; CPU:$D568 PRG:1568 98
pha ; CPU:$D569 PRG:1569 48
lda PtrLo ; CPU:$D56A PRG:156A A5 00
pha ; CPU:$D56C PRG:156C 48
lda PtrHi ; CPU:$D56D PRG:156D A5 01
pha ; CPU:$D56F PRG:156F 48
lda Ptr2Lo ; CPU:$D570 PRG:1570 A5 02
pha ; CPU:$D572 PRG:1572 48
lda Zp03 ; CPU:$D573 PRG:1573 A5 03
pha ; CPU:$D575 PRG:1575 48
lda Zp0F ; CPU:$D576 PRG:1576 A5 0F
cmp #$01 ; CPU:$D578 PRG:1578 C9 01
beq SubCD562_Block ; CPU:$D57A PRG:157A F0 30
cmp #$02 ; CPU:$D57C PRG:157C C9 02
beq SubCD562_Block_2 ; CPU:$D57E PRG:157E F0 63
cmp #$03 ; CPU:$D580 PRG:1580 C9 03
bne SubCD562_Block_3 ; CPU:$D582 PRG:1582 D0 03
jmp $D5F8 ; CPU:$D584 PRG:1584 4C F8 D5
; -----------------------------------------------------------------------------
; Routine: SubCD562_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.
; -----------------------------------------------------------------------------
SubCD562_Block_3:
cmp #$04 ; CPU:$D587 PRG:1587 C9 04
bne SubCD562_Block_4 ; CPU:$D589 PRG:1589 D0 03
jmp $D615 ; CPU:$D58B PRG:158B 4C 15 D6
; -----------------------------------------------------------------------------
; Routine: SubCD562_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.
; -----------------------------------------------------------------------------
SubCD562_Block_4:
jsr SubCD59A ; CPU:$D58E PRG:158E 20 9A D5
ldx Zp8C ; CPU:$D591 PRG:1591 A6 8C
stx Zp6D ; CPU:$D593 PRG:1593 86 6D
stx Zp6E ; CPU:$D595 PRG:1595 86 6E
jmp $D615 ; CPU:$D597 PRG:1597 4C 15 D6
; -----------------------------------------------------------------------------
; Routine: SubCD59A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD59A:
lda SprIndex ; CPU:$D59A PRG:159A A5 4A
sec ; CPU:$D59C PRG:159C 38
sbc #$01 ; CPU:$D59D PRG:159D E9 01
asl a ; CPU:$D59F PRG:159F 0A
tay ; CPU:$D5A0 PRG:15A0 A8
lda $C34A,y ; CPU:$D5A1 PRG:15A1 B9 4A C3
sta Ptr2Lo ; CPU:$D5A4 PRG:15A4 85 02
lda $C34B,y ; CPU:$D5A6 PRG:15A6 B9 4B C3
jmp SubCD9B3 ; CPU:$D5A9 PRG:15A9 4C B3 D9
; -----------------------------------------------------------------------------
; Routine: SubCD562_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.
; -----------------------------------------------------------------------------
SubCD562_Block:
lda Zp88 ; CPU:$D5AC PRG:15AC A5 88
pha ; CPU:$D5AE PRG:15AE 48
clc ; CPU:$D5AF PRG:15AF 18
adc #$10 ; CPU:$D5B0 PRG:15B0 69 10
sta Zp88 ; CPU:$D5B2 PRG:15B2 85 88
jsr SubCD59A ; CPU:$D5B4 PRG:15B4 20 9A D5
ldx Zp8C ; CPU:$D5B7 PRG:15B7 A6 8C
stx Zp6D ; CPU:$D5B9 PRG:15B9 86 6D
sta Zp0D ; CPU:$D5BB PRG:15BB 85 0D
pla ; CPU:$D5BD PRG:15BD 68
sta Zp88 ; CPU:$D5BE PRG:15BE 85 88
lda Zp8A ; CPU:$D5C0 PRG:15C0 A5 8A
pha ; CPU:$D5C2 PRG:15C2 48
sec ; CPU:$D5C3 PRG:15C3 38
sbc #$10 ; CPU:$D5C4 PRG:15C4 E9 10
sta Zp8A ; CPU:$D5C6 PRG:15C6 85 8A
jsr SubCD59A ; CPU:$D5C8 PRG:15C8 20 9A D5
ldx Zp8C ; CPU:$D5CB PRG:15CB A6 8C
stx Zp6E ; CPU:$D5CD PRG:15CD 86 6E
cmp #$00 ; CPU:$D5CF PRG:15CF C9 00
beq SubCD59A_Block ; CPU:$D5D1 PRG:15D1 F0 06
lda Zp0D ; CPU:$D5D3 PRG:15D3 A5 0D
ora #$10 ; CPU:$D5D5 PRG:15D5 09 10
sta Zp0D ; CPU:$D5D7 PRG:15D7 85 0D
; -----------------------------------------------------------------------------
; Routine: SubCD59A_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.
; -----------------------------------------------------------------------------
SubCD59A_Block:
pla ; CPU:$D5D9 PRG:15D9 68
sta Zp8A ; CPU:$D5DA PRG:15DA 85 8A
lda Zp0D ; CPU:$D5DC PRG:15DC A5 0D
sta Zp0F ; CPU:$D5DE PRG:15DE 85 0F
jmp $D615 ; CPU:$D5E0 PRG:15E0 4C 15 D6
; -----------------------------------------------------------------------------
; Routine: SubCD562_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.
; -----------------------------------------------------------------------------
SubCD562_Block_2:
lda SprIndex ; CPU:$D5E3 PRG:15E3 A5 4A
sec ; CPU:$D5E5 PRG:15E5 38
sbc #$01 ; CPU:$D5E6 PRG:15E6 E9 01
asl a ; CPU:$D5E8 PRG:15E8 0A
tay ; CPU:$D5E9 PRG:15E9 A8
lda $C350,y ; CPU:$D5EA PRG:15EA B9 50 C3
sta Ptr2Lo ; CPU:$D5ED PRG:15ED 85 02
lda $C351,y ; CPU:$D5EF PRG:15EF B9 51 C3
jsr SubCD9B3 ; CPU:$D5F2 PRG:15F2 20 B3 D9
jmp $D615 ; CPU:$D5F5 PRG:15F5 4C 15 D6
; -----------------------------------------------------------------------------
; Routine: SubCD5F8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD5F8:
jsr $D62A ; CPU:$D5F8 PRG:15F8 20 2A D6
lda Zp89 ; CPU:$D5FB PRG:15FB A5 89
pha ; CPU:$D5FD PRG:15FD 48
lda Zp8B ; CPU:$D5FE PRG:15FE A5 8B
pha ; CPU:$D600 PRG:1600 48
clc ; CPU:$D601 PRG:1601 18
adc #$01 ; CPU:$D602 PRG:1602 69 01
sta Zp89 ; CPU:$D604 PRG:1604 85 89
adc #$01 ; CPU:$D606 PRG:1606 69 01
sta Zp8B ; CPU:$D608 PRG:1608 85 8B
jsr $D9B5 ; CPU:$D60A PRG:160A 20 B5 D9
pla ; CPU:$D60D PRG:160D 68
sta Zp8B ; CPU:$D60E PRG:160E 85 8B
pla ; CPU:$D610 PRG:1610 68
sta Zp89 ; CPU:$D611 PRG:1611 85 89
lda Zp0F ; CPU:$D613 PRG:1613 A5 0F
; -----------------------------------------------------------------------------
; Routine: SubCD615
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD615:
sta Zp0F ; CPU:$D615 PRG:1615 85 0F
pla ; CPU:$D617 PRG:1617 68
sta Zp03 ; CPU:$D618 PRG:1618 85 03
pla ; CPU:$D61A PRG:161A 68
sta Ptr2Lo ; CPU:$D61B PRG:161B 85 02
pla ; CPU:$D61D PRG:161D 68
sta PtrHi ; CPU:$D61E PRG:161E 85 01
pla ; CPU:$D620 PRG:1620 68
sta PtrLo ; CPU:$D621 PRG:1621 85 00
pla ; CPU:$D623 PRG:1623 68
tay ; CPU:$D624 PRG:1624 A8
pla ; CPU:$D625 PRG:1625 68
tax ; CPU:$D626 PRG:1626 AA
lda Zp0F ; CPU:$D627 PRG:1627 A5 0F
rts ; CPU:$D629 PRG:1629 60
; -----------------------------------------------------------------------------
; Routine: SubCD62A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD62A:
lda SprIndex ; CPU:$D62A PRG:162A A5 4A
sec ; CPU:$D62C PRG:162C 38
sbc #$01 ; CPU:$D62D PRG:162D E9 01
asl a ; CPU:$D62F PRG:162F 0A
tay ; CPU:$D630 PRG:1630 A8
lda $C344,y ; CPU:$D631 PRG:1631 B9 44 C3
sta Ptr2Lo ; CPU:$D634 PRG:1634 85 02
lda $C345,y ; CPU:$D636 PRG:1636 B9 45 C3
sta Zp03 ; CPU:$D639 PRG:1639 85 03
rts ; CPU:$D63B PRG:163B 60
; -----------------------------------------------------------------------------
; Routine: SubCD63C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD63C:
sta $0530 ; CPU:$D63C PRG:163C 8D 30 05
lda Zp53,x ; CPU:$D63F PRG:163F B5 53
cmp BtnState,x ; CPU:$D641 PRG:1641 D5 51
bne SubCD63C_Block_2 ; CPU:$D643 PRG:1643 D0 0E
dec $0531,x ; CPU:$D645 PRG:1645 DE 31 05
lda $0531,x ; CPU:$D648 PRG:1648 BD 31 05
cmp #$FF ; CPU:$D64B PRG:164B C9 FF
beq SubCD63C_Block_2 ; CPU:$D64D PRG:164D F0 04
cmp #$00 ; CPU:$D64F PRG:164F C9 00
bne SubCD63C_Block_3 ; CPU:$D651 PRG:1651 D0 09
; -----------------------------------------------------------------------------
; Routine: SubCD63C_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.
; -----------------------------------------------------------------------------
SubCD63C_Block_2:
lda $0530 ; CPU:$D653 PRG:1653 AD 30 05
sta $0531,x ; CPU:$D656 PRG:1656 9D 31 05
lda #$01 ; CPU:$D659 PRG:1659 A9 01
rts ; CPU:$D65B PRG:165B 60
; -----------------------------------------------------------------------------
; Routine: SubCD63C_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.
; -----------------------------------------------------------------------------
SubCD63C_Block_3:
lda #$00 ; CPU:$D65C PRG:165C A9 00
rts ; CPU:$D65E PRG:165E 60
; -----------------------------------------------------------------------------
; Routine: SubCD65F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD65F:
stx Zp0F ; CPU:$D65F PRG:165F 86 0F
txa ; CPU:$D661 PRG:1661 8A
asl a ; CPU:$D662 PRG:1662 0A
tax ; CPU:$D663 PRG:1663 AA
lda Zp7C,x ; CPU:$D664 PRG:1664 B5 7C
bne SubCD65F_Block ; CPU:$D666 PRG:1666 D0 0C
sta Zp81,x ; CPU:$D668 PRG:1668 95 81
lda #$08 ; CPU:$D66A PRG:166A A9 08
sta Zp80,x ; CPU:$D66C PRG:166C 95 80
lda #$F0 ; CPU:$D66E PRG:166E A9 F0
sta Zp7D,x ; CPU:$D670 PRG:1670 95 7D
bne SubCD65F_Block_2 ; CPU:$D672 PRG:1672 D0 0C
; -----------------------------------------------------------------------------
; Routine: SubCD65F_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.
; -----------------------------------------------------------------------------
SubCD65F_Block:
lda Zp80,x ; CPU:$D674 PRG:1674 B5 80
adc #$10 ; CPU:$D676 PRG:1676 69 10
sta Zp80,x ; CPU:$D678 PRG:1678 95 80
lda Zp81,x ; CPU:$D67A PRG:167A B5 81
adc #$00 ; CPU:$D67C PRG:167C 69 00
sta Zp81,x ; CPU:$D67E PRG:167E 95 81
; -----------------------------------------------------------------------------
; Routine: SubCD65F_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.
; -----------------------------------------------------------------------------
SubCD65F_Block_2:
lda Zp7D,x ; CPU:$D680 PRG:1680 B5 7D
sec ; CPU:$D682 PRG:1682 38
sbc Zp84,x ; CPU:$D683 PRG:1683 F5 84
sta Zp7D,x ; CPU:$D685 PRG:1685 95 7D
lda PtrHi ; CPU:$D687 PRG:1687 A5 01
sbc Zp85,x ; CPU:$D689 PRG:1689 F5 85
sta PtrHi ; CPU:$D68B PRG:168B 85 01
clc ; CPU:$D68D PRG:168D 18
lda Zp7D,x ; CPU:$D68E PRG:168E B5 7D
adc Zp80,x ; CPU:$D690 PRG:1690 75 80
sta Zp7D,x ; CPU:$D692 PRG:1692 95 7D
lda PtrHi ; CPU:$D694 PRG:1694 A5 01
adc Zp81,x ; CPU:$D696 PRG:1696 75 81
sta PtrHi ; CPU:$D698 PRG:1698 85 01
inc Zp7C,x ; CPU:$D69A PRG:169A F6 7C
ldx Zp0F ; CPU:$D69C PRG:169C A6 0F
rts ; CPU:$D69E PRG:169E 60
; -----------------------------------------------------------------------------
; Routine: SubCD69F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD69F:
lda #$00 ; CPU:$D69F PRG:169F A9 00
beq SubCD6A7 ; CPU:$D6A1 PRG:16A1 F0 04
; -----------------------------------------------------------------------------
; Routine: SubCD6A3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6A3:
lda Zp63,x ; CPU:$D6A3 PRG:16A3 B5 63
eor #$01 ; CPU:$D6A5 PRG:16A5 49 01
; -----------------------------------------------------------------------------
; Routine: SubCD6A7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6A7:
pha ; CPU:$D6A7 PRG:16A7 48
lda #$24 ; CPU:$D6A8 PRG:16A8 A9 24
sta Zp03 ; CPU:$D6AA PRG:16AA 85 03
lda #$10 ; CPU:$D6AC PRG:16AC A9 10
cpx #$00 ; CPU:$D6AE PRG:16AE E0 00
beq SubCD6A7_Block ; CPU:$D6B0 PRG:16B0 F0 02
lda #$30 ; CPU:$D6B2 PRG:16B2 A9 30
; -----------------------------------------------------------------------------
; Routine: SubCD6A7_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.
; -----------------------------------------------------------------------------
SubCD6A7_Block:
sta Zp04 ; CPU:$D6B4 PRG:16B4 85 04
pla ; CPU:$D6B6 PRG:16B6 68
jmp $D6D2 ; CPU:$D6B7 PRG:16B7 4C D2 D6
; -----------------------------------------------------------------------------
; Routine: SubCD6BA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6BA:
jsr SubCDA5E ; CPU:$D6BA PRG:16BA 20 5E DA
lda $0210,y ; CPU:$D6BD PRG:16BD B9 10 02
sta PtrHi ; CPU:$D6C0 PRG:16C0 85 01
lda $0213,y ; CPU:$D6C2 PRG:16C2 B9 13 02
sta PtrLo ; CPU:$D6C5 PRG:16C5 85 00
rts ; CPU:$D6C7 PRG:16C7 60
; ---- data $D6C8-$D6CB (4 bytes) ----
SoundTempData: ; Sound engine temp data
.byte $A9, $00, $F0, $06 ; CPU:$D6C8 PRG:16C8 A9 00 F0 06
; -----------------------------------------------------------------------------
; Routine: SubCD6CC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6CC:
lda #$01 ; CPU:$D6CC PRG:16CC A9 01
bne SubCD6D2 ; CPU:$D6CE PRG:16CE D0 02
; -----------------------------------------------------------------------------
; Routine: SubCD6D0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6D0:
lda #$04 ; CPU:$D6D0 PRG:16D0 A9 04
; -----------------------------------------------------------------------------
; Routine: SubCD6D2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD6D2:
pha ; CPU:$D6D2 PRG:16D2 48
sta Zp0F ; CPU:$D6D3 PRG:16D3 85 0F
txa ; CPU:$D6D5 PRG:16D5 8A
pha ; CPU:$D6D6 PRG:16D6 48
tya ; CPU:$D6D7 PRG:16D7 98
pha ; CPU:$D6D8 PRG:16D8 48
lda PtrLo ; CPU:$D6D9 PRG:16D9 A5 00
pha ; CPU:$D6DB PRG:16DB 48
lda PtrHi ; CPU:$D6DC PRG:16DC A5 01
pha ; CPU:$D6DE PRG:16DE 48
lda Zp05 ; CPU:$D6DF PRG:16DF A5 05
pha ; CPU:$D6E1 PRG:16E1 48
lda Zp06 ; CPU:$D6E2 PRG:16E2 A5 06
pha ; CPU:$D6E4 PRG:16E4 48
lda Zp07 ; CPU:$D6E5 PRG:16E5 A5 07
pha ; CPU:$D6E7 PRG:16E7 48
lda Zp08 ; CPU:$D6E8 PRG:16E8 A5 08
pha ; CPU:$D6EA PRG:16EA 48
lda Zp09 ; CPU:$D6EB PRG:16EB A5 09
pha ; CPU:$D6ED PRG:16ED 48
lda #$02 ; CPU:$D6EE PRG:16EE A9 02
sta Zp05 ; CPU:$D6F0 PRG:16F0 85 05
lda Zp0F ; CPU:$D6F2 PRG:16F2 A5 0F
cmp #$04 ; CPU:$D6F4 PRG:16F4 C9 04
beq SubCD6D2_Block ; CPU:$D6F6 PRG:16F6 F0 36
lda #$0F ; CPU:$D6F8 PRG:16F8 A9 0F
and Zp03 ; CPU:$D6FA PRG:16FA 25 03
sta Zp07 ; CPU:$D6FC PRG:16FC 85 07
lda Zp03 ; CPU:$D6FE PRG:16FE A5 03
lsr a ; CPU:$D700 PRG:1700 4A
lsr a ; CPU:$D701 PRG:1701 4A
lsr a ; CPU:$D702 PRG:1702 4A
lsr a ; CPU:$D703 PRG:1703 4A
sta Zp06 ; CPU:$D704 PRG:1704 85 06
tax ; CPU:$D706 PRG:1706 AA
lda #$00 ; CPU:$D707 PRG:1707 A9 00
clc ; CPU:$D709 PRG:1709 18
; -----------------------------------------------------------------------------
; Routine: SubCD6D2_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.
; -----------------------------------------------------------------------------
SubCD6D2_Block_2:
adc Zp07 ; CPU:$D70A PRG:170A 65 07
dex ; CPU:$D70C PRG:170C CA
bne SubCD6D2_Block_2 ; CPU:$D70D PRG:170D D0 FB
sta Zp08 ; CPU:$D70F PRG:170F 85 08
lda Zp0F ; CPU:$D711 PRG:1711 A5 0F
bne SubCD6D2_Block_3 ; CPU:$D713 PRG:1713 D0 06
jsr $D75C ; CPU:$D715 PRG:1715 20 5C D7
jmp $D728 ; CPU:$D718 PRG:1718 4C 28 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6D2_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.
; -----------------------------------------------------------------------------
SubCD6D2_Block_3:
cmp #$01 ; CPU:$D71B PRG:171B C9 01
beq SubCD6D2_Block_4 ; CPU:$D71D PRG:171D F0 06
jsr $D7D1 ; CPU:$D71F PRG:171F 20 D1 D7
jmp $D731 ; CPU:$D722 PRG:1722 4C 31 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6D2_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.
; -----------------------------------------------------------------------------
SubCD6D2_Block_4:
jsr $D79D ; CPU:$D725 PRG:1725 20 9D D7
; -----------------------------------------------------------------------------
; Routine: SubCD728
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD728:
jsr $D777 ; CPU:$D728 PRG:1728 20 77 D7
jmp $D731 ; CPU:$D72B PRG:172B 4C 31 D7
; -----------------------------------------------------------------------------
; Routine: SubCD6D2_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.
; -----------------------------------------------------------------------------
SubCD6D2_Block:
jsr $D74C ; CPU:$D72E PRG:172E 20 4C D7
; -----------------------------------------------------------------------------
; Routine: SubCD731
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD731:
pla ; CPU:$D731 PRG:1731 68
sta Zp09 ; CPU:$D732 PRG:1732 85 09
pla ; CPU:$D734 PRG:1734 68
sta Zp08 ; CPU:$D735 PRG:1735 85 08
pla ; CPU:$D737 PRG:1737 68
sta Zp07 ; CPU:$D738 PRG:1738 85 07
pla ; CPU:$D73A PRG:173A 68
sta Zp06 ; CPU:$D73B PRG:173B 85 06
pla ; CPU:$D73D PRG:173D 68
sta Zp05 ; CPU:$D73E PRG:173E 85 05
pla ; CPU:$D740 PRG:1740 68
sta PtrHi ; CPU:$D741 PRG:1741 85 01
pla ; CPU:$D743 PRG:1743 68
sta PtrLo ; CPU:$D744 PRG:1744 85 00
pla ; CPU:$D746 PRG:1746 68
tay ; CPU:$D747 PRG:1747 A8
pla ; CPU:$D748 PRG:1748 68
tax ; CPU:$D749 PRG:1749 AA
pla ; CPU:$D74A PRG:174A 68
rts ; CPU:$D74B PRG:174B 60
; -----------------------------------------------------------------------------
; Routine: SubCD74C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD74C:
lda Ptr2Lo ; CPU:$D74C PRG:174C A5 02
ldx Zp03 ; CPU:$D74E PRG:174E A6 03
ldy #$02 ; CPU:$D750 PRG:1750 A0 02
; -----------------------------------------------------------------------------
; Routine: SubCD74C_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.
; -----------------------------------------------------------------------------
SubCD74C_Block:
sta (Zp04),y ; CPU:$D752 PRG:1752 91 04
iny ; CPU:$D754 PRG:1754 C8
iny ; CPU:$D755 PRG:1755 C8
iny ; CPU:$D756 PRG:1756 C8
iny ; CPU:$D757 PRG:1757 C8
dex ; CPU:$D758 PRG:1758 CA
bne SubCD74C_Block ; CPU:$D759 PRG:1759 D0 F7
rts ; CPU:$D75B PRG:175B 60
; -----------------------------------------------------------------------------
; Routine: SubCD75C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD75C:
lda Ptr2Lo ; CPU:$D75C PRG:175C A5 02
ldx Zp08 ; CPU:$D75E PRG:175E A6 08
ldy #$01 ; CPU:$D760 PRG:1760 A0 01
; -----------------------------------------------------------------------------
; Routine: SubCD75C_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.
; -----------------------------------------------------------------------------
SubCD75C_Block:
sta (Zp04),y ; CPU:$D762 PRG:1762 91 04
clc ; CPU:$D764 PRG:1764 18
adc #$01 ; CPU:$D765 PRG:1765 69 01
iny ; CPU:$D767 PRG:1767 C8
pha ; CPU:$D768 PRG:1768 48
lda (Zp04),y ; CPU:$D769 PRG:1769 B1 04
and #$3F ; CPU:$D76B PRG:176B 29 3F
sta (Zp04),y ; CPU:$D76D PRG:176D 91 04
pla ; CPU:$D76F PRG:176F 68
iny ; CPU:$D770 PRG:1770 C8
iny ; CPU:$D771 PRG:1771 C8
iny ; CPU:$D772 PRG:1772 C8
dex ; CPU:$D773 PRG:1773 CA
bne SubCD75C_Block ; CPU:$D774 PRG:1774 D0 EC
rts ; CPU:$D776 PRG:1776 60
; -----------------------------------------------------------------------------
; Routine: SubCD777
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD777:
ldy #$00 ; CPU:$D777 PRG:1777 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCD777_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.
; -----------------------------------------------------------------------------
SubCD777_Block_2:
ldx Zp06 ; CPU:$D779 PRG:1779 A6 06
lda PtrHi ; CPU:$D77B PRG:177B A5 01
sta Zp09 ; CPU:$D77D PRG:177D 85 09
; -----------------------------------------------------------------------------
; Routine: SubCD777_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.
; -----------------------------------------------------------------------------
SubCD777_Block:
lda Zp09 ; CPU:$D77F PRG:177F A5 09
sta (Zp04),y ; CPU:$D781 PRG:1781 91 04
clc ; CPU:$D783 PRG:1783 18
adc #$08 ; CPU:$D784 PRG:1784 69 08
sta Zp09 ; CPU:$D786 PRG:1786 85 09
iny ; CPU:$D788 PRG:1788 C8
iny ; CPU:$D789 PRG:1789 C8
iny ; CPU:$D78A PRG:178A C8
lda PtrLo ; CPU:$D78B PRG:178B A5 00
sta (Zp04),y ; CPU:$D78D PRG:178D 91 04
iny ; CPU:$D78F PRG:178F C8
dex ; CPU:$D790 PRG:1790 CA
bne SubCD777_Block ; CPU:$D791 PRG:1791 D0 EC
clc ; CPU:$D793 PRG:1793 18
adc #$08 ; CPU:$D794 PRG:1794 69 08
sta PtrLo ; CPU:$D796 PRG:1796 85 00
dec Zp07 ; CPU:$D798 PRG:1798 C6 07
bne SubCD777_Block_2 ; CPU:$D79A PRG:179A D0 DD
rts ; CPU:$D79C PRG:179C 60
; -----------------------------------------------------------------------------
; Routine: SubCD79D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD79D:
ldy #$01 ; CPU:$D79D PRG:179D A0 01
sty Zp0A ; CPU:$D79F PRG:179F 84 0A
lda Zp08 ; CPU:$D7A1 PRG:17A1 A5 08
sec ; CPU:$D7A3 PRG:17A3 38
sbc Zp06 ; CPU:$D7A4 PRG:17A4 E5 06
; -----------------------------------------------------------------------------
; Routine: SubCD79D_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.
; -----------------------------------------------------------------------------
SubCD79D_Block_2:
tay ; CPU:$D7A6 PRG:17A6 A8
sta Zp0B ; CPU:$D7A7 PRG:17A7 85 0B
ldx Zp06 ; CPU:$D7A9 PRG:17A9 A6 06
; -----------------------------------------------------------------------------
; Routine: SubCD79D_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.
; -----------------------------------------------------------------------------
SubCD79D_Block:
tya ; CPU:$D7AB PRG:17AB 98
pha ; CPU:$D7AC PRG:17AC 48
clc ; CPU:$D7AD PRG:17AD 18
tya ; CPU:$D7AE PRG:17AE 98
adc Ptr2Lo ; CPU:$D7AF PRG:17AF 65 02
ldy Zp0A ; CPU:$D7B1 PRG:17B1 A4 0A
sta (Zp04),y ; CPU:$D7B3 PRG:17B3 91 04
iny ; CPU:$D7B5 PRG:17B5 C8
lda (Zp04),y ; CPU:$D7B6 PRG:17B6 B1 04
and #$3F ; CPU:$D7B8 PRG:17B8 29 3F
eor #$40 ; CPU:$D7BA PRG:17BA 49 40
sta (Zp04),y ; CPU:$D7BC PRG:17BC 91 04
iny ; CPU:$D7BE PRG:17BE C8
iny ; CPU:$D7BF PRG:17BF C8
iny ; CPU:$D7C0 PRG:17C0 C8
sty Zp0A ; CPU:$D7C1 PRG:17C1 84 0A
pla ; CPU:$D7C3 PRG:17C3 68
tay ; CPU:$D7C4 PRG:17C4 A8
iny ; CPU:$D7C5 PRG:17C5 C8
dex ; CPU:$D7C6 PRG:17C6 CA
bne SubCD79D_Block ; CPU:$D7C7 PRG:17C7 D0 E2
lda Zp0B ; CPU:$D7C9 PRG:17C9 A5 0B
sec ; CPU:$D7CB PRG:17CB 38
sbc Zp06 ; CPU:$D7CC PRG:17CC E5 06
bpl SubCD79D_Block_2 ; CPU:$D7CE PRG:17CE 10 D6
rts ; CPU:$D7D0 PRG:17D0 60
; -----------------------------------------------------------------------------
; Routine: SubCD7D1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7D1:
ldy #$00 ; CPU:$D7D1 PRG:17D1 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCD7D1_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.
; -----------------------------------------------------------------------------
SubCD7D1_Block_2:
ldx Zp06 ; CPU:$D7D3 PRG:17D3 A6 06
lda PtrHi ; CPU:$D7D5 PRG:17D5 A5 01
sta Zp09 ; CPU:$D7D7 PRG:17D7 85 09
lda #$FF ; CPU:$D7D9 PRG:17D9 A9 FF
; -----------------------------------------------------------------------------
; Routine: SubCD7D1_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.
; -----------------------------------------------------------------------------
SubCD7D1_Block:
sta (Zp04),y ; CPU:$D7DB PRG:17DB 91 04
iny ; CPU:$D7DD PRG:17DD C8
iny ; CPU:$D7DE PRG:17DE C8
iny ; CPU:$D7DF PRG:17DF C8
iny ; CPU:$D7E0 PRG:17E0 C8
dex ; CPU:$D7E1 PRG:17E1 CA
bne SubCD7D1_Block ; CPU:$D7E2 PRG:17E2 D0 F7
lda PtrLo ; CPU:$D7E4 PRG:17E4 A5 00
clc ; CPU:$D7E6 PRG:17E6 18
adc #$08 ; CPU:$D7E7 PRG:17E7 69 08
sta PtrLo ; CPU:$D7E9 PRG:17E9 85 00
dec Zp07 ; CPU:$D7EB PRG:17EB C6 07
bne SubCD7D1_Block_2 ; CPU:$D7ED PRG:17ED D0 E4
rts ; CPU:$D7EF PRG:17EF 60
; -----------------------------------------------------------------------------
; Routine: SubCD7F0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD7F0:
tya ; CPU:$D7F0 PRG:17F0 98
pha ; CPU:$D7F1 PRG:17F1 48
ldy #$00 ; CPU:$D7F2 PRG:17F2 A0 00
stx Zp0C ; CPU:$D7F4 PRG:17F4 86 0C
; -----------------------------------------------------------------------------
; Routine: SubCD7F0_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.
; -----------------------------------------------------------------------------
SubCD7F0_Block_4:
lda #$00 ; CPU:$D7F6 PRG:17F6 A9 00
sta Zp0D ; CPU:$D7F8 PRG:17F8 85 0D
; -----------------------------------------------------------------------------
; Routine: SubCD7F0_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.
; -----------------------------------------------------------------------------
SubCD7F0_Block_3:
jsr $CC5C ; CPU:$D7FA PRG:17FA 20 5C CC
lda #$00 ; CPU:$D7FD PRG:17FD A9 00
sta PtrLo ; CPU:$D7FF PRG:17FF 85 00
sta PtrHi ; CPU:$D801 PRG:1801 85 01
lda $C320,y ; CPU:$D803 PRG:1803 B9 20 C3
sta Ptr2Lo ; CPU:$D806 PRG:1806 85 02
lda $C321,y ; CPU:$D808 PRG:1808 B9 21 C3
sta Zp03 ; CPU:$D80B PRG:180B 85 03
jsr $D9AF ; CPU:$D80D PRG:180D 20 AF D9
beq SubCD7F0_Block ; CPU:$D810 PRG:1810 F0 02
inc Zp0D ; CPU:$D812 PRG:1812 E6 0D
; -----------------------------------------------------------------------------
; Routine: SubCD7F0_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.
; -----------------------------------------------------------------------------
SubCD7F0_Block:
lda Zp0D ; CPU:$D814 PRG:1814 A5 0D
cmp #$02 ; CPU:$D816 PRG:1816 C9 02
beq SubCD7F0_Block_2 ; CPU:$D818 PRG:1818 F0 0E
txa ; CPU:$D81A PRG:181A 8A
eor #$01 ; CPU:$D81B PRG:181B 49 01
tax ; CPU:$D81D PRG:181D AA
cpx Zp0C ; CPU:$D81E PRG:181E E4 0C
bne SubCD7F0_Block_3 ; CPU:$D820 PRG:1820 D0 D8
iny ; CPU:$D822 PRG:1822 C8
iny ; CPU:$D823 PRG:1823 C8
cpy #$0C ; CPU:$D824 PRG:1824 C0 0C
bne SubCD7F0_Block_4 ; CPU:$D826 PRG:1826 D0 CE
; -----------------------------------------------------------------------------
; Routine: SubCD7F0_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.
; -----------------------------------------------------------------------------
SubCD7F0_Block_2:
ldx Zp0C ; CPU:$D828 PRG:1828 A6 0C
pla ; CPU:$D82A PRG:182A 68
tay ; CPU:$D82B PRG:182B A8
lda Zp0D ; CPU:$D82C PRG:182C A5 0D
rts ; CPU:$D82E PRG:182E 60
; -----------------------------------------------------------------------------
; Routine: SubCD82F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD82F:
jsr $CC5C ; CPU:$D82F PRG:182F 20 5C CC
lda ObjIndex ; CPU:$D832 PRG:1832 A5 5F
cmp #$05 ; CPU:$D834 PRG:1834 C9 05
beq SubCD82F_Block_2 ; CPU:$D836 PRG:1836 F0 14
lda Zp60 ; CPU:$D838 PRG:1838 A5 60
cmp #$05 ; CPU:$D83A PRG:183A C9 05
beq SubCD82F_Block_2 ; CPU:$D83C PRG:183C F0 0E
stx Zp0A ; CPU:$D83E PRG:183E 86 0A
jsr $D995 ; CPU:$D840 PRG:1840 20 95 D9
bne SubCD82F_Block_3 ; CPU:$D843 PRG:1843 D0 08
lda #$00 ; CPU:$D845 PRG:1845 A9 00
sta $05C0 ; CPU:$D847 PRG:1847 8D C0 05
ldx Zp0A ; CPU:$D84A PRG:184A A6 0A
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_2:
rts ; CPU:$D84C PRG:184C 60
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_3:
ldx Zp0A ; CPU:$D84D PRG:184D A6 0A
jsr SubCDA5E ; CPU:$D84F PRG:184F 20 5E DA
lda ObjIndex,x ; CPU:$D852 PRG:1852 B5 5F
cmp #$01 ; CPU:$D854 PRG:1854 C9 01
beq SubCD82F_Block_4 ; CPU:$D856 PRG:1856 F0 4C
cmp #$02 ; CPU:$D858 PRG:1858 C9 02
beq SubCD82F_Block_5 ; CPU:$D85A PRG:185A F0 1E
cmp #$03 ; CPU:$D85C PRG:185C C9 03
beq SubCD8C5 ; CPU:$D85E PRG:185E F0 65
lda $0211,y ; CPU:$D860 PRG:1860 B9 11 02
cmp #$2E ; CPU:$D863 PRG:1863 C9 2E
beq SubCD82F_Block_7 ; CPU:$D865 PRG:1865 F0 12
cmp #$28 ; CPU:$D867 PRG:1867 C9 28
beq SubCD82F_Block_7 ; CPU:$D869 PRG:1869 F0 0E
lda #$03 ; CPU:$D86B PRG:186B A9 03
sta ObjIndex,x ; CPU:$D86D PRG:186D 95 5F
ldy Zp63,x ; CPU:$D86F PRG:186F B4 63
iny ; CPU:$D871 PRG:1871 C8
iny ; CPU:$D872 PRG:1872 C8
iny ; CPU:$D873 PRG:1873 C8
sty BtnState,x ; CPU:$D874 PRG:1874 94 51
jsr $D908 ; CPU:$D876 PRG:1876 20 08 D9
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_7:
rts ; CPU:$D879 PRG:1879 60
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_5:
lda Zp6B,x ; CPU:$D87A PRG:187A B5 6B
beq SubCD82F_Block_9 ; CPU:$D87C PRG:187C F0 25
cmp #$02 ; CPU:$D87E PRG:187E C9 02
beq SubCD82F_Block_9 ; CPU:$D880 PRG:1880 F0 21
lda $0213,y ; CPU:$D882 PRG:1882 B9 13 02
sta PtrLo ; CPU:$D885 PRG:1885 85 00
lda $0101 ; CPU:$D887 PRG:1887 AD 01 01
sta PtrHi ; CPU:$D88A PRG:188A 85 01
txa ; CPU:$D88C PRG:188C 8A
eor #$01 ; CPU:$D88D PRG:188D 49 01
tax ; CPU:$D88F PRG:188F AA
lda ObjIndex,x ; CPU:$D890 PRG:1890 B5 5F
cmp #$01 ; CPU:$D892 PRG:1892 C9 01
bne SubCD82F_Block_11 ; CPU:$D894 PRG:1894 D0 08
lda Zp89 ; CPU:$D896 PRG:1896 A5 89
cmp Zp8F ; CPU:$D898 PRG:1898 C5 8F
bne SubCD82F_Block_11 ; CPU:$D89A PRG:189A D0 02
inc PtrHi ; CPU:$D89C PRG:189C E6 01
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_11:
ldx Zp0A ; CPU:$D89E PRG:189E A6 0A
jsr $D158 ; CPU:$D8A0 PRG:18A0 20 58 D1
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_9:
rts ; CPU:$D8A3 PRG:18A3 60
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_4:
lda $0211,y ; CPU:$D8A4 PRG:18A4 B9 11 02
cmp #$50 ; CPU:$D8A7 PRG:18A7 C9 50
beq SubCD82F_Block_12 ; CPU:$D8A9 PRG:18A9 F0 19
lda $0100 ; CPU:$D8AB PRG:18AB AD 00 01
sta PtrLo ; CPU:$D8AE PRG:18AE 85 00
lda $0210,y ; CPU:$D8B0 PRG:18B0 B9 10 02
sta PtrHi ; CPU:$D8B3 PRG:18B3 85 01
lda $0211,y ; CPU:$D8B5 PRG:18B5 B9 11 02
ldy Zp63,x ; CPU:$D8B8 PRG:18B8 B4 63
bne SubCD82F_Block_13 ; CPU:$D8BA PRG:18BA D0 03
sec ; CPU:$D8BC PRG:18BC 38
sbc #$06 ; CPU:$D8BD PRG:18BD E9 06
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_13:
sta Ptr2Lo ; CPU:$D8BF PRG:18BF 85 02
jsr $D6A3 ; CPU:$D8C1 PRG:18C1 20 A3 D6
; -----------------------------------------------------------------------------
; Routine: SubCD82F_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.
; -----------------------------------------------------------------------------
SubCD82F_Block_12:
rts ; CPU:$D8C4 PRG:18C4 60
; -----------------------------------------------------------------------------
; Routine: SubCD8C5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD8C5:
lda $05C0 ; CPU:$D8C5 PRG:18C5 AD C0 05
bne SubCD8C5_Block ; CPU:$D8C8 PRG:18C8 D0 58
lda $05C1,x ; CPU:$D8CA PRG:18CA BD C1 05
bne SubCD908_Block ; CPU:$D8CD PRG:18CD D0 46
lda #$03 ; CPU:$D8CF PRG:18CF A9 03
sta $05C1,x ; CPU:$D8D1 PRG:18D1 9D C1 05
txa ; CPU:$D8D4 PRG:18D4 8A
eor #$01 ; CPU:$D8D5 PRG:18D5 49 01
tax ; CPU:$D8D7 PRG:18D7 AA
lda ObjIndex,x ; CPU:$D8D8 PRG:18D8 B5 5F
cmp #$03 ; CPU:$D8DA PRG:18DA C9 03
beq SubCD8C5_Block_3 ; CPU:$D8DC PRG:18DC F0 38
cmp #$02 ; CPU:$D8DE PRG:18DE C9 02
bne SubCD908_Block_2 ; CPU:$D8E0 PRG:18E0 D0 0C
lda Zp6B,x ; CPU:$D8E2 PRG:18E2 B5 6B
cmp #$02 ; CPU:$D8E4 PRG:18E4 C9 02
beq SubCD908_Block_2 ; CPU:$D8E6 PRG:18E6 F0 06
jsr $D95B ; CPU:$D8E8 PRG:18E8 20 5B D9
jmp $D8C5 ; CPU:$D8EB PRG:18EB 4C C5 D8
; -----------------------------------------------------------------------------
; Routine: SubCD908_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.
; -----------------------------------------------------------------------------
SubCD908_Block_2:
ldx Zp0A ; CPU:$D8EE PRG:18EE A6 0A
jsr SubCDA5E ; CPU:$D8F0 PRG:18F0 20 5E DA
lda $021B,y ; CPU:$D8F3 PRG:18F3 B9 1B 02
sta PtrLo ; CPU:$D8F6 PRG:18F6 85 00
tya ; CPU:$D8F8 PRG:18F8 98
eor #$20 ; CPU:$D8F9 PRG:18F9 49 20
tay ; CPU:$D8FB PRG:18FB A8
lda $021B,y ; CPU:$D8FC PRG:18FC B9 1B 02
ldy #$03 ; CPU:$D8FF PRG:18FF A0 03
cmp PtrLo ; CPU:$D901 PRG:1901 C5 00
bcs SubCD8C5_Block_6 ; CPU:$D903 PRG:1903 B0 01
iny ; CPU:$D905 PRG:1905 C8
; -----------------------------------------------------------------------------
; Routine: SubCD8C5_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.
; -----------------------------------------------------------------------------
SubCD8C5_Block_6:
sty BtnState,x ; CPU:$D906 PRG:1906 94 51
; -----------------------------------------------------------------------------
; Routine: SubCD908
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD908:
txa ; CPU:$D908 PRG:1908 8A
asl a ; CPU:$D909 PRG:1909 0A
tay ; CPU:$D90A PRG:190A A8
lda a:Zp7C,y ; CPU:$D90B PRG:190B B9 7C 00
cmp #$1A ; CPU:$D90E PRG:190E C9 1A
bmi SubCD908_Block ; CPU:$D910 PRG:1910 30 03
jsr $CC47 ; CPU:$D912 PRG:1912 20 47 CC
; -----------------------------------------------------------------------------
; Routine: SubCD908_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.
; -----------------------------------------------------------------------------
SubCD908_Block:
rts ; CPU:$D915 PRG:1915 60
; -----------------------------------------------------------------------------
; Routine: SubCD8C5_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.
; -----------------------------------------------------------------------------
SubCD8C5_Block_3:
jsr $D980 ; CPU:$D916 PRG:1916 20 80 D9
beq SubCD908_Block_2 ; CPU:$D919 PRG:1919 F0 D3
; -----------------------------------------------------------------------------
; Routine: SubCD908_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.
; -----------------------------------------------------------------------------
SubCD908_Block_4:
ldx Zp0A ; CPU:$D91B PRG:191B A6 0A
lda #$04 ; CPU:$D91D PRG:191D A9 04
sta ObjIndex,x ; CPU:$D91F PRG:191F 95 5F
rts ; CPU:$D921 PRG:1921 60
; -----------------------------------------------------------------------------
; Routine: SubCD8C5_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.
; -----------------------------------------------------------------------------
SubCD8C5_Block:
lda Zp0A ; CPU:$D922 PRG:1922 A5 0A
eor #$01 ; CPU:$D924 PRG:1924 49 01
tax ; CPU:$D926 PRG:1926 AA
jsr SubCDA5E ; CPU:$D927 PRG:1927 20 5E DA
lda Zp6B,x ; CPU:$D92A PRG:192A B5 6B
cmp #$02 ; CPU:$D92C PRG:192C C9 02
beq SubCD908_Block_4 ; CPU:$D92E PRG:192E F0 EB
lda ObjIndex,x ; CPU:$D930 PRG:1930 B5 5F
cmp #$04 ; CPU:$D932 PRG:1932 C9 04
beq SubCD908_Block_4 ; CPU:$D934 PRG:1934 F0 E5
lda $05C0 ; CPU:$D936 PRG:1936 AD C0 05
cmp #$02 ; CPU:$D939 PRG:1939 C9 02
bpl SubCD908_Block_5 ; CPU:$D93B PRG:193B 10 0F
lda $0210,y ; CPU:$D93D PRG:193D B9 10 02
sec ; CPU:$D940 PRG:1940 38
sbc #$04 ; CPU:$D941 PRG:1941 E9 04
cmp #$59 ; CPU:$D943 PRG:1943 C9 59
bcs SubCD952 ; CPU:$D945 PRG:1945 B0 0B
lda #$59 ; CPU:$D947 PRG:1947 A9 59
jmp $D952 ; CPU:$D949 PRG:1949 4C 52 D9
; -----------------------------------------------------------------------------
; Routine: SubCD908_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.
; -----------------------------------------------------------------------------
SubCD908_Block_5:
lda $0210,y ; CPU:$D94C PRG:194C B9 10 02
clc ; CPU:$D94F PRG:194F 18
adc #$04 ; CPU:$D950 PRG:1950 69 04
; -----------------------------------------------------------------------------
; Routine: SubCD952
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD952:
sta PtrHi ; CPU:$D952 PRG:1952 85 01
lda $0213,y ; CPU:$D954 PRG:1954 B9 13 02
jsr $D156 ; CPU:$D957 PRG:1957 20 56 D1
rts ; CPU:$D95A PRG:195A 60
; -----------------------------------------------------------------------------
; Routine: SubCD95B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD95B:
ldx #$01 ; CPU:$D95B PRG:195B A2 01
lda Zp89 ; CPU:$D95D PRG:195D A5 89
cmp Zp8D ; CPU:$D95F PRG:195F C5 8D
bcs SubCD95B_Block ; CPU:$D961 PRG:1961 B0 09
inx ; CPU:$D963 PRG:1963 E8
lda Zp8B ; CPU:$D964 PRG:1964 A5 8B
sec ; CPU:$D966 PRG:1966 38
sbc Zp8D ; CPU:$D967 PRG:1967 E5 8D
jmp $D971 ; CPU:$D969 PRG:1969 4C 71 D9
; -----------------------------------------------------------------------------
; Routine: SubCD95B_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.
; -----------------------------------------------------------------------------
SubCD95B_Block:
lda Zp8F ; CPU:$D96C PRG:196C A5 8F
sec ; CPU:$D96E PRG:196E 38
sbc Zp89 ; CPU:$D96F PRG:196F E5 89
; -----------------------------------------------------------------------------
; Routine: SubCD971
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD971:
cmp #$20 ; CPU:$D971 PRG:1971 C9 20
bmi SubCD971_Block_2 ; CPU:$D973 PRG:1973 30 04
beq SubCD971_Block_2 ; CPU:$D975 PRG:1975 F0 02
ldx #$00 ; CPU:$D977 PRG:1977 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCD971_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.
; -----------------------------------------------------------------------------
SubCD971_Block_2:
stx $05C0 ; CPU:$D979 PRG:1979 8E C0 05
txa ; CPU:$D97C PRG:197C 8A
ldx Zp0A ; CPU:$D97D PRG:197D A6 0A
rts ; CPU:$D97F PRG:197F 60
; -----------------------------------------------------------------------------
; Routine: SubCD980
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD980:
lda Zp89 ; CPU:$D980 PRG:1980 A5 89
cmp Zp8D ; CPU:$D982 PRG:1982 C5 8D
bcc SubCD980_Block_3 ; CPU:$D984 PRG:1984 90 0C
sec ; CPU:$D986 PRG:1986 38
sbc Zp8F ; CPU:$D987 PRG:1987 E5 8F
beq SubCD980_Block_2 ; CPU:$D989 PRG:1989 F0 04
cmp #$FD ; CPU:$D98B PRG:198B C9 FD
bmi SubCD980_Block_3 ; CPU:$D98D PRG:198D 30 03
; -----------------------------------------------------------------------------
; Routine: SubCD980_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.
; -----------------------------------------------------------------------------
SubCD980_Block_2:
lda #$01 ; CPU:$D98F PRG:198F A9 01
rts ; CPU:$D991 PRG:1991 60
; -----------------------------------------------------------------------------
; Routine: SubCD980_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.
; -----------------------------------------------------------------------------
SubCD980_Block_3:
lda #$00 ; CPU:$D992 PRG:1992 A9 00
rts ; CPU:$D994 PRG:1994 60
; -----------------------------------------------------------------------------
; Routine: SubCD995
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD995:
txa ; CPU:$D995 PRG:1995 8A
pha ; CPU:$D996 PRG:1996 48
eor #$01 ; CPU:$D997 PRG:1997 49 01
tax ; CPU:$D999 PRG:1999 AA
jsr $CC75 ; CPU:$D99A PRG:199A 20 75 CC
sta Zp03 ; CPU:$D99D PRG:199D 85 03
jsr $D9AF ; CPU:$D99F PRG:199F 20 AF D9
pla ; CPU:$D9A2 PRG:19A2 68
tax ; CPU:$D9A3 PRG:19A3 AA
lda Zp0F ; CPU:$D9A4 PRG:19A4 A5 0F
rts ; CPU:$D9A6 PRG:19A6 60
; -----------------------------------------------------------------------------
; Routine: SubCD9A7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9A7:
sta Zp03 ; CPU:$D9A7 PRG:19A7 85 03
lda #$00 ; CPU:$D9A9 PRG:19A9 A9 00
beq SubCD9AF_Block ; CPU:$D9AB PRG:19AB F0 0A
sta PtrLo ; CPU:$D9AD PRG:19AD 85 00
; -----------------------------------------------------------------------------
; Routine: SubCD9AF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9AF:
lda #$01 ; CPU:$D9AF PRG:19AF A9 01
bne SubCD9AF_Block ; CPU:$D9B1 PRG:19B1 D0 04
; -----------------------------------------------------------------------------
; Routine: SubCD9B3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9B3:
sta Zp03 ; CPU:$D9B3 PRG:19B3 85 03
; -----------------------------------------------------------------------------
; Routine: SubCD9B5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCD9B5:
lda #$02 ; CPU:$D9B5 PRG:19B5 A9 02
; -----------------------------------------------------------------------------
; Routine: SubCD9AF_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.
; -----------------------------------------------------------------------------
SubCD9AF_Block:
sta Zp0F ; CPU:$D9B7 PRG:19B7 85 0F
txa ; CPU:$D9B9 PRG:19B9 8A
pha ; CPU:$D9BA PRG:19BA 48
tya ; CPU:$D9BB PRG:19BB 98
pha ; CPU:$D9BC PRG:19BC 48
ldy #$00 ; CPU:$D9BD PRG:19BD A0 00
sty $0419 ; CPU:$D9BF PRG:19BF 8C 19 04
lda Zp0F ; CPU:$D9C2 PRG:19C2 A5 0F
cmp #$02 ; CPU:$D9C4 PRG:19C4 C9 02
beq SubCD9B5_Block_4 ; CPU:$D9C6 PRG:19C6 F0 13
cmp #$01 ; CPU:$D9C8 PRG:19C8 C9 01
beq SubCD9B5_Block_2 ; CPU:$D9CA PRG:19CA F0 06
jsr $DA0C ; CPU:$D9CC PRG:19CC 20 0C DA
jmp $DA05 ; CPU:$D9CF PRG:19CF 4C 05 DA
; -----------------------------------------------------------------------------
; Routine: SubCD9B5_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.
; -----------------------------------------------------------------------------
SubCD9B5_Block_2:
jsr $DA0C ; CPU:$D9D2 PRG:19D2 20 0C DA
jsr $DA2A ; CPU:$D9D5 PRG:19D5 20 2A DA
jmp $DA03 ; CPU:$D9D8 PRG:19D8 4C 03 DA
; -----------------------------------------------------------------------------
; Routine: SubCD9B5_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.
; -----------------------------------------------------------------------------
SubCD9B5_Block_4:
lda (Ptr2Lo),y ; CPU:$D9DB PRG:19DB B1 02
cmp #$FF ; CPU:$D9DD PRG:19DD C9 FF
beq SubCD9B5_Block_3 ; CPU:$D9DF PRG:19DF F0 1D
sta Zp8C ; CPU:$D9E1 PRG:19E1 85 8C
iny ; CPU:$D9E3 PRG:19E3 C8
lda (Ptr2Lo),y ; CPU:$D9E4 PRG:19E4 B1 02
sta Zp8D ; CPU:$D9E6 PRG:19E6 85 8D
iny ; CPU:$D9E8 PRG:19E8 C8
lda (Ptr2Lo),y ; CPU:$D9E9 PRG:19E9 B1 02
sta Zp8E ; CPU:$D9EB PRG:19EB 85 8E
iny ; CPU:$D9ED PRG:19ED C8
lda (Ptr2Lo),y ; CPU:$D9EE PRG:19EE B1 02
sta Zp8F ; CPU:$D9F0 PRG:19F0 85 8F
iny ; CPU:$D9F2 PRG:19F2 C8
inc $0419 ; CPU:$D9F3 PRG:19F3 EE 19 04
jsr $DA2A ; CPU:$D9F6 PRG:19F6 20 2A DA
beq SubCD9B5_Block_4 ; CPU:$D9F9 PRG:19F9 F0 E0
jmp $DA03 ; CPU:$D9FB PRG:19FB 4C 03 DA
; -----------------------------------------------------------------------------
; Routine: SubCD9B5_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.
; -----------------------------------------------------------------------------
SubCD9B5_Block_3:
lda #$00 ; CPU:$D9FE PRG:19FE A9 00
sta $0419 ; CPU:$DA00 PRG:1A00 8D 19 04
; -----------------------------------------------------------------------------
; Routine: SubCDA03
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA03:
sta Zp0F ; CPU:$DA03 PRG:1A03 85 0F
; -----------------------------------------------------------------------------
; Routine: SubCDA05
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA05:
pla ; CPU:$DA05 PRG:1A05 68
tay ; CPU:$DA06 PRG:1A06 A8
pla ; CPU:$DA07 PRG:1A07 68
tax ; CPU:$DA08 PRG:1A08 AA
lda Zp0F ; CPU:$DA09 PRG:1A09 A5 0F
rts ; CPU:$DA0B PRG:1A0B 60
; -----------------------------------------------------------------------------
; Routine: SubCDA0C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA0C:
ldx #$00 ; CPU:$DA0C PRG:1A0C A2 00
lda Zp0F ; CPU:$DA0E PRG:1A0E A5 0F
beq SubCDA0C_Block ; CPU:$DA10 PRG:1A10 F0 02
ldx #$04 ; CPU:$DA12 PRG:1A12 A2 04
; -----------------------------------------------------------------------------
; Routine: SubCDA0C_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.
; -----------------------------------------------------------------------------
SubCDA0C_Block:
jsr $DA17 ; CPU:$DA14 PRG:1A14 20 17 DA
; -----------------------------------------------------------------------------
; Routine: SubCDA17
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA17:
lda (Ptr2Lo),y ; CPU:$DA17 PRG:1A17 B1 02
clc ; CPU:$DA19 PRG:1A19 18
adc PtrLo ; CPU:$DA1A PRG:1A1A 65 00
sta Zp88,x ; CPU:$DA1C PRG:1A1C 95 88
inx ; CPU:$DA1E PRG:1A1E E8
iny ; CPU:$DA1F PRG:1A1F C8
lda (Ptr2Lo),y ; CPU:$DA20 PRG:1A20 B1 02
clc ; CPU:$DA22 PRG:1A22 18
adc PtrHi ; CPU:$DA23 PRG:1A23 65 01
sta Zp88,x ; CPU:$DA25 PRG:1A25 95 88
inx ; CPU:$DA27 PRG:1A27 E8
iny ; CPU:$DA28 PRG:1A28 C8
rts ; CPU:$DA29 PRG:1A29 60
; -----------------------------------------------------------------------------
; Routine: SubCDA2A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA2A:
lda Zp88 ; CPU:$DA2A PRG:1A2A A5 88
cmp Zp8C ; CPU:$DA2C PRG:1A2C C5 8C
bcc SubCDA2A_Block ; CPU:$DA2E PRG:1A2E 90 0B
beq SubCDA2A_Block_4 ; CPU:$DA30 PRG:1A30 F0 0F
cmp Zp8E ; CPU:$DA32 PRG:1A32 C5 8E
bcc SubCDA2A_Block_4 ; CPU:$DA34 PRG:1A34 90 0B
beq SubCDA2A_Block_4 ; CPU:$DA36 PRG:1A36 F0 09
lda #$00 ; CPU:$DA38 PRG:1A38 A9 00
rts ; CPU:$DA3A PRG:1A3A 60
; -----------------------------------------------------------------------------
; Routine: SubCDA2A_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.
; -----------------------------------------------------------------------------
SubCDA2A_Block:
lda Zp8A ; CPU:$DA3B PRG:1A3B A5 8A
cmp Zp8C ; CPU:$DA3D PRG:1A3D C5 8C
bcc SubCDA2A_Block_10 ; CPU:$DA3F PRG:1A3F 90 1A
; -----------------------------------------------------------------------------
; Routine: SubCDA2A_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.
; -----------------------------------------------------------------------------
SubCDA2A_Block_4:
lda Zp89 ; CPU:$DA41 PRG:1A41 A5 89
cmp Zp8D ; CPU:$DA43 PRG:1A43 C5 8D
bcc SubCDA2A_Block_6 ; CPU:$DA45 PRG:1A45 90 0B
beq SubCDA2A_Block_9 ; CPU:$DA47 PRG:1A47 F0 0F
cmp Zp8F ; CPU:$DA49 PRG:1A49 C5 8F
bcc SubCDA2A_Block_9 ; CPU:$DA4B PRG:1A4B 90 0B
beq SubCDA2A_Block_9 ; CPU:$DA4D PRG:1A4D F0 09
lda #$00 ; CPU:$DA4F PRG:1A4F A9 00
rts ; CPU:$DA51 PRG:1A51 60
; -----------------------------------------------------------------------------
; Routine: SubCDA2A_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.
; -----------------------------------------------------------------------------
SubCDA2A_Block_6:
lda Zp8B ; CPU:$DA52 PRG:1A52 A5 8B
cmp Zp8D ; CPU:$DA54 PRG:1A54 C5 8D
bcc SubCDA2A_Block_10 ; CPU:$DA56 PRG:1A56 90 03
; -----------------------------------------------------------------------------
; Routine: SubCDA2A_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.
; -----------------------------------------------------------------------------
SubCDA2A_Block_9:
lda #$01 ; CPU:$DA58 PRG:1A58 A9 01
rts ; CPU:$DA5A PRG:1A5A 60
; -----------------------------------------------------------------------------
; Routine: SubCDA2A_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.
; -----------------------------------------------------------------------------
SubCDA2A_Block_10:
lda #$00 ; CPU:$DA5B PRG:1A5B A9 00
rts ; CPU:$DA5D PRG:1A5D 60
; -----------------------------------------------------------------------------
; Routine: SubCDA5E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA5E:
ldy #$00 ; CPU:$DA5E PRG:1A5E A0 00
txa ; CPU:$DA60 PRG:1A60 8A
beq SubCDA5E_Block ; CPU:$DA61 PRG:1A61 F0 02
ldy #$20 ; CPU:$DA63 PRG:1A63 A0 20
; -----------------------------------------------------------------------------
; Routine: SubCDA5E_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.
; -----------------------------------------------------------------------------
SubCDA5E_Block:
rts ; CPU:$DA65 PRG:1A65 60
; -----------------------------------------------------------------------------
; Routine: SubCDA66
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA66:
txa ; CPU:$DA66 PRG:1A66 8A
pha ; CPU:$DA67 PRG:1A67 48
asl a ; CPU:$DA68 PRG:1A68 0A
asl a ; CPU:$DA69 PRG:1A69 0A
tax ; CPU:$DA6A PRG:1A6A AA
tay ; CPU:$DA6B PRG:1A6B A8
; -----------------------------------------------------------------------------
; Routine: SubCDA66_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.
; -----------------------------------------------------------------------------
SubCDA66_Block_3:
lda a:Zp2A,y ; CPU:$DA6C PRG:1A6C B9 2A 00
and #$F0 ; CPU:$DA6F PRG:1A6F 29 F0
lsr a ; CPU:$DA71 PRG:1A71 4A
lsr a ; CPU:$DA72 PRG:1A72 4A
lsr a ; CPU:$DA73 PRG:1A73 4A
lsr a ; CPU:$DA74 PRG:1A74 4A
sta $03F4,x ; CPU:$DA75 PRG:1A75 9D F4 03
lda a:Zp2A,y ; CPU:$DA78 PRG:1A78 B9 2A 00
and #$0F ; CPU:$DA7B PRG:1A7B 29 0F
inx ; CPU:$DA7D PRG:1A7D E8
sta $03F4,x ; CPU:$DA7E PRG:1A7E 9D F4 03
inx ; CPU:$DA81 PRG:1A81 E8
iny ; CPU:$DA82 PRG:1A82 C8
cpy #$02 ; CPU:$DA83 PRG:1A83 C0 02
bmi SubCDA66_Block_3 ; CPU:$DA85 PRG:1A85 30 E5
beq SubCDA66_Block_2 ; CPU:$DA87 PRG:1A87 F0 04
cpy #$06 ; CPU:$DA89 PRG:1A89 C0 06
bmi SubCDA66_Block_3 ; CPU:$DA8B PRG:1A8B 30 DF
; -----------------------------------------------------------------------------
; Routine: SubCDA66_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.
; -----------------------------------------------------------------------------
SubCDA66_Block_2:
pla ; CPU:$DA8D PRG:1A8D 68
tax ; CPU:$DA8E PRG:1A8E AA
rts ; CPU:$DA8F PRG:1A8F 60
; -----------------------------------------------------------------------------
; Routine: SubCDA90
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDA90:
txa ; CPU:$DA90 PRG:1A90 8A
pha ; CPU:$DA91 PRG:1A91 48
asl a ; CPU:$DA92 PRG:1A92 0A
asl a ; CPU:$DA93 PRG:1A93 0A
tax ; CPU:$DA94 PRG:1A94 AA
tay ; CPU:$DA95 PRG:1A95 A8
lda #$00 ; CPU:$DA96 PRG:1A96 A9 00
sta Zp28 ; CPU:$DA98 PRG:1A98 85 28
sta Zp29 ; CPU:$DA9A PRG:1A9A 85 29
sta Zp2C ; CPU:$DA9C PRG:1A9C 85 2C
sta Zp2D ; CPU:$DA9E PRG:1A9E 85 2D
; -----------------------------------------------------------------------------
; Routine: SubCDA90_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.
; -----------------------------------------------------------------------------
SubCDA90_Block_3:
lda $03F4,y ; CPU:$DAA0 PRG:1AA0 B9 F4 03
asl a ; CPU:$DAA3 PRG:1AA3 0A
asl a ; CPU:$DAA4 PRG:1AA4 0A
asl a ; CPU:$DAA5 PRG:1AA5 0A
asl a ; CPU:$DAA6 PRG:1AA6 0A
sta Zp05 ; CPU:$DAA7 PRG:1AA7 85 05
lda $03F5,y ; CPU:$DAA9 PRG:1AA9 B9 F5 03
and #$0F ; CPU:$DAAC PRG:1AAC 29 0F
ora Zp05 ; CPU:$DAAE PRG:1AAE 05 05
sta Zp2A,x ; CPU:$DAB0 PRG:1AB0 95 2A
iny ; CPU:$DAB2 PRG:1AB2 C8
iny ; CPU:$DAB3 PRG:1AB3 C8
inx ; CPU:$DAB4 PRG:1AB4 E8
cpx #$02 ; CPU:$DAB5 PRG:1AB5 E0 02
bmi SubCDA90_Block_3 ; CPU:$DAB7 PRG:1AB7 30 E7
beq SubCDA90_Block_2 ; CPU:$DAB9 PRG:1AB9 F0 04
cpx #$06 ; CPU:$DABB PRG:1ABB E0 06
bmi SubCDA90_Block_3 ; CPU:$DABD PRG:1ABD 30 E1
; -----------------------------------------------------------------------------
; Routine: SubCDA90_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.
; -----------------------------------------------------------------------------
SubCDA90_Block_2:
pla ; CPU:$DABF PRG:1ABF 68
tax ; CPU:$DAC0 PRG:1AC0 AA
rts ; CPU:$DAC1 PRG:1AC1 60
; -----------------------------------------------------------------------------
; Routine: SubCDAC2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDAC2:
txa ; CPU:$DAC2 PRG:1AC2 8A
asl a ; CPU:$DAC3 PRG:1AC3 0A
asl a ; CPU:$DAC4 PRG:1AC4 0A
tay ; CPU:$DAC5 PRG:1AC5 A8
iny ; CPU:$DAC6 PRG:1AC6 C8
iny ; CPU:$DAC7 PRG:1AC7 C8
iny ; CPU:$DAC8 PRG:1AC8 C8
; -----------------------------------------------------------------------------
; Routine: SubCDAC2_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.
; -----------------------------------------------------------------------------
SubCDAC2_Block_2:
clc ; CPU:$DAC9 PRG:1AC9 18
lda #$01 ; CPU:$DACA PRG:1ACA A9 01
adc $03F4,y ; CPU:$DACC PRG:1ACC 79 F4 03
sta $03F4,y ; CPU:$DACF PRG:1ACF 99 F4 03
cmp #$0A ; CPU:$DAD2 PRG:1AD2 C9 0A
bmi SubCDAC2_Block ; CPU:$DAD4 PRG:1AD4 30 08
lda #$00 ; CPU:$DAD6 PRG:1AD6 A9 00
sta $03F4,y ; CPU:$DAD8 PRG:1AD8 99 F4 03
dey ; CPU:$DADB PRG:1ADB 88
bpl SubCDAC2_Block_2 ; CPU:$DADC PRG:1ADC 10 EB
; -----------------------------------------------------------------------------
; Routine: SubCDAC2_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.
; -----------------------------------------------------------------------------
SubCDAC2_Block:
rts ; CPU:$DADE PRG:1ADE 60
; -----------------------------------------------------------------------------
; Routine: SubCDADF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDADF:
txa ; CPU:$DADF PRG:1ADF 8A
pha ; CPU:$DAE0 PRG:1AE0 48
jsr SubCDA90 ; CPU:$DAE1 PRG:1AE1 20 90 DA
lda #$00 ; CPU:$DAE4 PRG:1AE4 A9 00
sta Zp05 ; CPU:$DAE6 PRG:1AE6 85 05
ldy $03F2,x ; CPU:$DAE8 PRG:1AE8 BC F2 03
cpy #$85 ; CPU:$DAEB PRG:1AEB C0 85
beq SubCDADF_Block ; CPU:$DAED PRG:1AED F0 04
lda #$FF ; CPU:$DAEF PRG:1AEF A9 FF
sta Zp05 ; CPU:$DAF1 PRG:1AF1 85 05
; -----------------------------------------------------------------------------
; Routine: SubCDADF_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.
; -----------------------------------------------------------------------------
SubCDADF_Block:
txa ; CPU:$DAF3 PRG:1AF3 8A
asl a ; CPU:$DAF4 PRG:1AF4 0A
asl a ; CPU:$DAF5 PRG:1AF5 0A
tay ; CPU:$DAF6 PRG:1AF6 A8
lda Zp05 ; CPU:$DAF7 PRG:1AF7 A5 05
sta a:Zp28,y ; CPU:$DAF9 PRG:1AF9 99 28 00
lda $03FC,x ; CPU:$DAFC PRG:1AFC BD FC 03
sta PtrLo ; CPU:$DAFF PRG:1AFF 85 00
txa ; CPU:$DB01 PRG:1B01 8A
tay ; CPU:$DB02 PRG:1B02 A8
iny ; CPU:$DB03 PRG:1B03 C8
sty PtrHi ; CPU:$DB04 PRG:1B04 84 01
lda ZpE3,x ; CPU:$DB06 PRG:1B06 B5 E3
cmp #$85 ; CPU:$DB08 PRG:1B08 C9 85
bne SubCDADF_Block_2 ; CPU:$DB0A PRG:1B0A D0 06
jsr $F322 ; CPU:$DB0C PRG:1B0C 20 22 F3
jmp $DB15 ; CPU:$DB0F PRG:1B0F 4C 15 DB
; -----------------------------------------------------------------------------
; Routine: SubCDADF_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.
; -----------------------------------------------------------------------------
SubCDADF_Block_2:
jsr $F31E ; CPU:$DB12 PRG:1B12 20 1E F3
; -----------------------------------------------------------------------------
; Routine: SubCDB15
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB15:
pla ; CPU:$DB15 PRG:1B15 68
tax ; CPU:$DB16 PRG:1B16 AA
jsr $DA66 ; CPU:$DB17 PRG:1B17 20 66 DA
txa ; CPU:$DB1A PRG:1B1A 8A
asl a ; CPU:$DB1B PRG:1B1B 0A
asl a ; CPU:$DB1C PRG:1B1C 0A
tay ; CPU:$DB1D PRG:1B1D A8
lda a:Zp28,y ; CPU:$DB1E PRG:1B1E B9 28 00
bne SubCDB15_Block ; CPU:$DB21 PRG:1B21 D0 04
lda #$85 ; CPU:$DB23 PRG:1B23 A9 85
bne SubCDB15_Block_2 ; CPU:$DB25 PRG:1B25 D0 02
; -----------------------------------------------------------------------------
; Routine: SubCDB15_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.
; -----------------------------------------------------------------------------
SubCDB15_Block:
lda #$86 ; CPU:$DB27 PRG:1B27 A9 86
; -----------------------------------------------------------------------------
; Routine: SubCDB15_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.
; -----------------------------------------------------------------------------
SubCDB15_Block_2:
sta $03F2,x ; CPU:$DB29 PRG:1B29 9D F2 03
rts ; CPU:$DB2C PRG:1B2C 60
; -----------------------------------------------------------------------------
; Routine: SubCDB2D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB2D:
jsr SubCDA90 ; CPU:$DB2D PRG:1B2D 20 90 DA
txa ; CPU:$DB30 PRG:1B30 8A
asl a ; CPU:$DB31 PRG:1B31 0A
asl a ; CPU:$DB32 PRG:1B32 0A
tay ; CPU:$DB33 PRG:1B33 A8
; -----------------------------------------------------------------------------
; Routine: SubCDB2D_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.
; -----------------------------------------------------------------------------
SubCDB2D_Block:
lda #$00 ; CPU:$DB34 PRG:1B34 A9 00
sta $03F4,y ; CPU:$DB36 PRG:1B36 99 F4 03
iny ; CPU:$DB39 PRG:1B39 C8
cpy #$04 ; CPU:$DB3A PRG:1B3A C0 04
beq SubCDB42 ; CPU:$DB3C PRG:1B3C F0 04
cpy #$08 ; CPU:$DB3E PRG:1B3E C0 08
bne SubCDB2D_Block ; CPU:$DB40 PRG:1B40 D0 F2
; -----------------------------------------------------------------------------
; Routine: SubCDB42
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB42:
lda $03FC,x ; CPU:$DB42 PRG:1B42 BD FC 03
sta PtrLo ; CPU:$DB45 PRG:1B45 85 00
txa ; CPU:$DB47 PRG:1B47 8A
tay ; CPU:$DB48 PRG:1B48 A8
iny ; CPU:$DB49 PRG:1B49 C8
sty PtrHi ; CPU:$DB4A PRG:1B4A 84 01
txa ; CPU:$DB4C PRG:1B4C 8A
asl a ; CPU:$DB4D PRG:1B4D 0A
asl a ; CPU:$DB4E PRG:1B4E 0A
tay ; CPU:$DB4F PRG:1B4F A8
lda a:Zp2A,y ; CPU:$DB50 PRG:1B50 B9 2A 00
bne SubCDB42_Block ; CPU:$DB53 PRG:1B53 D0 08
lda a:$002B,y ; CPU:$DB55 PRG:1B55 B9 2B 00
cmp $03FC,x ; CPU:$DB58 PRG:1B58 DD FC 03
bcc SubCDB42_Block_2 ; CPU:$DB5B PRG:1B5B 90 0D
; -----------------------------------------------------------------------------
; Routine: SubCDB42_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.
; -----------------------------------------------------------------------------
SubCDB42_Block:
txa ; CPU:$DB5D PRG:1B5D 8A
pha ; CPU:$DB5E PRG:1B5E 48
jsr $F31E ; CPU:$DB5F PRG:1B5F 20 1E F3
pla ; CPU:$DB62 PRG:1B62 68
tax ; CPU:$DB63 PRG:1B63 AA
jsr $DAC2 ; CPU:$DB64 PRG:1B64 20 C2 DA
jmp $DB42 ; CPU:$DB67 PRG:1B67 4C 42 DB
; -----------------------------------------------------------------------------
; Routine: SubCDB42_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.
; -----------------------------------------------------------------------------
SubCDB42_Block_2:
rts ; CPU:$DB6A PRG:1B6A 60
; -----------------------------------------------------------------------------
; Routine: SubCDB6B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB6B:
txa ; CPU:$DB6B PRG:1B6B 8A
stx Zp09 ; CPU:$DB6C PRG:1B6C 86 09
asl a ; CPU:$DB6E PRG:1B6E 0A
asl a ; CPU:$DB6F PRG:1B6F 0A
tay ; CPU:$DB70 PRG:1B70 A8
lda $03F4,y ; CPU:$DB71 PRG:1B71 B9 F4 03
sta Zp05 ; CPU:$DB74 PRG:1B74 85 05
lda $03F5,y ; CPU:$DB76 PRG:1B76 B9 F5 03
sta Zp06 ; CPU:$DB79 PRG:1B79 85 06
lda $03F6,y ; CPU:$DB7B PRG:1B7B B9 F6 03
sta Zp07 ; CPU:$DB7E PRG:1B7E 85 07
lda $03F7,y ; CPU:$DB80 PRG:1B80 B9 F7 03
sta Zp08 ; CPU:$DB83 PRG:1B83 85 08
; -----------------------------------------------------------------------------
; Routine: SubCDB85
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDB85:
ldx Zp09 ; CPU:$DB85 PRG:1B85 A6 09
dec $03FC,x ; CPU:$DB87 PRG:1B87 DE FC 03
beq SubCDB85_Block ; CPU:$DB8A PRG:1B8A F0 26
txa ; CPU:$DB8C PRG:1B8C 8A
asl a ; CPU:$DB8D PRG:1B8D 0A
asl a ; CPU:$DB8E PRG:1B8E 0A
tay ; CPU:$DB8F PRG:1B8F A8
iny ; CPU:$DB90 PRG:1B90 C8
iny ; CPU:$DB91 PRG:1B91 C8
iny ; CPU:$DB92 PRG:1B92 C8
clc ; CPU:$DB93 PRG:1B93 18
ldx #$03 ; CPU:$DB94 PRG:1B94 A2 03
; -----------------------------------------------------------------------------
; Routine: SubCDB85_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.
; -----------------------------------------------------------------------------
SubCDB85_Block_4:
lda $03F4,y ; CPU:$DB96 PRG:1B96 B9 F4 03
adc Zp05,x ; CPU:$DB99 PRG:1B99 75 05
sta $03F4,y ; CPU:$DB9B PRG:1B9B 99 F4 03
lda #$F6 ; CPU:$DB9E PRG:1B9E A9 F6
adc $03F4,y ; CPU:$DBA0 PRG:1BA0 79 F4 03
bcc SubCDB85_Block_2 ; CPU:$DBA3 PRG:1BA3 90 07
sta $03F4,y ; CPU:$DBA5 PRG:1BA5 99 F4 03
cpx #$00 ; CPU:$DBA8 PRG:1BA8 E0 00
beq SubCDB85_Block_3 ; CPU:$DBAA PRG:1BAA F0 09
; -----------------------------------------------------------------------------
; Routine: SubCDB85_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.
; -----------------------------------------------------------------------------
SubCDB85_Block_2:
dey ; CPU:$DBAC PRG:1BAC 88
dex ; CPU:$DBAD PRG:1BAD CA
bpl SubCDB85_Block_4 ; CPU:$DBAE PRG:1BAE 10 E6
bmi SubCDB85 ; CPU:$DBB0 PRG:1BB0 30 D3
; -----------------------------------------------------------------------------
; Routine: SubCDB85_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.
; -----------------------------------------------------------------------------
SubCDB85_Block:
ldx Zp09 ; CPU:$DBB2 PRG:1BB2 A6 09
rts ; CPU:$DBB4 PRG:1BB4 60
; -----------------------------------------------------------------------------
; Routine: SubCDB85_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.
; -----------------------------------------------------------------------------
SubCDB85_Block_3:
ldx Zp09 ; CPU:$DBB5 PRG:1BB5 A6 09
lda #$FF ; CPU:$DBB7 PRG:1BB7 A9 FF
sta $05D1,x ; CPU:$DBB9 PRG:1BB9 9D D1 05
jmp $DB85 ; CPU:$DBBC PRG:1BBC 4C 85 DB
; -----------------------------------------------------------------------------
; Routine: SubCDBBF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDBBF:
jsr $DC0D ; CPU:$DBBF PRG:1BBF 20 0D DC
; -----------------------------------------------------------------------------
; Routine: SubCDBC2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDBC2:
lda $C251,x ; CPU:$DBC2 PRG:1BC2 BD 51 C2
sta ScorePtrLo ; CPU:$DBC5 PRG:1BC5 85 A0
lda #$20 ; CPU:$DBC7 PRG:1BC7 A9 20
sta ScorePtrHi ; CPU:$DBC9 PRG:1BC9 85 A1
txa ; CPU:$DBCB PRG:1BCB 8A
asl a ; CPU:$DBCC PRG:1BCC 0A
asl a ; CPU:$DBCD PRG:1BCD 0A
tay ; CPU:$DBCE PRG:1BCE A8
lda $03F2,x ; CPU:$DBCF PRG:1BCF BD F2 03
jsr $EE5E ; CPU:$DBD2 PRG:1BD2 20 5E EE
lda #$00 ; CPU:$DBD5 PRG:1BD5 A9 00
sta $040A,x ; CPU:$DBD7 PRG:1BD7 9D 0A 04
; -----------------------------------------------------------------------------
; Routine: SubCDBC2_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.
; -----------------------------------------------------------------------------
SubCDBC2_Block_7:
lda $03F4,y ; CPU:$DBDA PRG:1BDA B9 F4 03
sta Zp05 ; CPU:$DBDD PRG:1BDD 85 05
bne SubCDBC2_Block_2 ; CPU:$DBDF PRG:1BDF D0 14
lda $040A,x ; CPU:$DBE1 PRG:1BE1 BD 0A 04
bne SubCDBC2_Block_2 ; CPU:$DBE4 PRG:1BE4 D0 0F
iny ; CPU:$DBE6 PRG:1BE6 C8
cpy #$04 ; CPU:$DBE7 PRG:1BE7 C0 04
beq SubCDBC2_Block_3 ; CPU:$DBE9 PRG:1BE9 F0 04
cpy #$08 ; CPU:$DBEB PRG:1BEB C0 08
bne SubCDBC2_Block_7 ; CPU:$DBED PRG:1BED D0 EB
; -----------------------------------------------------------------------------
; Routine: SubCDBC2_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.
; -----------------------------------------------------------------------------
SubCDBC2_Block_3:
dey ; CPU:$DBEF PRG:1BEF 88
lda #$24 ; CPU:$DBF0 PRG:1BF0 A9 24
jsr $EE5E ; CPU:$DBF2 PRG:1BF2 20 5E EE
; -----------------------------------------------------------------------------
; Routine: SubCDBC2_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.
; -----------------------------------------------------------------------------
SubCDBC2_Block_2:
lda Zp05 ; CPU:$DBF5 PRG:1BF5 A5 05
inc ScorePtrLo ; CPU:$DBF7 PRG:1BF7 E6 A0
jsr $EE5E ; CPU:$DBF9 PRG:1BF9 20 5E EE
lda #$01 ; CPU:$DBFC PRG:1BFC A9 01
sta $040A,x ; CPU:$DBFE PRG:1BFE 9D 0A 04
iny ; CPU:$DC01 PRG:1C01 C8
cpy #$04 ; CPU:$DC02 PRG:1C02 C0 04
bmi SubCDBC2_Block_7 ; CPU:$DC04 PRG:1C04 30 D4
beq SubCDBC2_Block_6 ; CPU:$DC06 PRG:1C06 F0 04
cpy #$08 ; CPU:$DC08 PRG:1C08 C0 08
bmi SubCDBC2_Block_7 ; CPU:$DC0A PRG:1C0A 30 CE
; -----------------------------------------------------------------------------
; Routine: SubCDBC2_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.
; -----------------------------------------------------------------------------
SubCDBC2_Block_6:
rts ; CPU:$DC0C PRG:1C0C 60
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition61
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition61:
lda $C251,x ; CPU:$DC0D PRG:1C0D BD 51 C2
sta PtrLo ; CPU:$DC10 PRG:1C10 85 00
lda #$20 ; CPU:$DC12 PRG:1C12 A9 20
sta PtrHi ; CPU:$DC14 PRG:1C14 85 01
lda #$06 ; CPU:$DC16 PRG:1C16 A9 06
sta Ptr2Lo ; CPU:$DC18 PRG:1C18 85 02
lda #$C3 ; CPU:$DC1A PRG:1C1A A9 C3
jmp $F2AA ; CPU:$DC1C PRG:1C1C 4C AA F2
; -----------------------------------------------------------------------------
; Routine: SubCDC1F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDC1F:
lda $0330 ; CPU:$DC1F PRG:1C1F AD 30 03
beq SubCDC1F_Block ; CPU:$DC22 PRG:1C22 F0 01
rts ; CPU:$DC24 PRG:1C24 60
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block:
ldy #$00 ; CPU:$DC25 PRG:1C25 A0 00
lda Zp8C ; CPU:$DC27 PRG:1C27 A5 8C
beq SubCDC1F_Block_7 ; CPU:$DC29 PRG:1C29 F0 1F
iny ; CPU:$DC2B PRG:1C2B C8
cmp #$3D ; CPU:$DC2C PRG:1C2C C9 3D
beq SubCDC1F_Block_7 ; CPU:$DC2E PRG:1C2E F0 1A
iny ; CPU:$DC30 PRG:1C30 C8
cmp #$64 ; CPU:$DC31 PRG:1C31 C9 64
beq SubCDC1F_Block_7 ; CPU:$DC33 PRG:1C33 F0 15
iny ; CPU:$DC35 PRG:1C35 C8
cmp #$8C ; CPU:$DC36 PRG:1C36 C9 8C
beq SubCDC1F_Block_7 ; CPU:$DC38 PRG:1C38 F0 10
iny ; CPU:$DC3A PRG:1C3A C8
cmp #$B5 ; CPU:$DC3B PRG:1C3B C9 B5
beq SubCDC1F_Block_7 ; CPU:$DC3D PRG:1C3D F0 0B
iny ; CPU:$DC3F PRG:1C3F C8
cmp #$DC ; CPU:$DC40 PRG:1C40 C9 DC
beq SubCDC1F_Block_7 ; CPU:$DC42 PRG:1C42 F0 06
lda #$FF ; CPU:$DC44 PRG:1C44 A9 FF
sta $0414,x ; CPU:$DC46 PRG:1C46 9D 14 04
rts ; CPU:$DC49 PRG:1C49 60
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block_7:
tya ; CPU:$DC4A PRG:1C4A 98
sta $0414,x ; CPU:$DC4B PRG:1C4B 9D 14 04
lda #$20 ; CPU:$DC4E PRG:1C4E A9 20
sta ScorePtrHi ; CPU:$DC50 PRG:1C50 85 A1
lda $C24F,x ; CPU:$DC52 PRG:1C52 BD 4F C2
sta ScorePtrLo ; CPU:$DC55 PRG:1C55 85 A0
lda $0513,y ; CPU:$DC57 PRG:1C57 B9 13 05
sta Zp0C ; CPU:$DC5A PRG:1C5A 85 0C
beq SubCDC1F_Block_8 ; CPU:$DC5C PRG:1C5C F0 68
lda ZpDF,x ; CPU:$DC5E PRG:1C5E B5 DF
bne SubCDC1F_Block_12 ; CPU:$DC60 PRG:1C60 D0 1A
lda $03F2,x ; CPU:$DC62 PRG:1C62 BD F2 03
beq SubCDC1F_Block_12 ; CPU:$DC65 PRG:1C65 F0 15
lda $040C,x ; CPU:$DC67 PRG:1C67 BD 0C 04
bne SubCDC1F_Block_12 ; CPU:$DC6A PRG:1C6A D0 10
lda ZpDD,x ; CPU:$DC6C PRG:1C6C B5 DD
bne SubCDC1F_Block_12 ; CPU:$DC6E PRG:1C6E D0 0C
lda Zp0C ; CPU:$DC70 PRG:1C70 A5 0C
sta ZpE3,x ; CPU:$DC72 PRG:1C72 95 E3
sta ZpDF,x ; CPU:$DC74 PRG:1C74 95 DF
sta $05D3,x ; CPU:$DC76 PRG:1C76 9D D3 05
jsr $EE5E ; CPU:$DC79 PRG:1C79 20 5E EE
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block_12:
txa ; CPU:$DC7C PRG:1C7C 8A
pha ; CPU:$DC7D PRG:1C7D 48
lda $0513,y ; CPU:$DC7E PRG:1C7E B9 13 05
sta Zp0A ; CPU:$DC81 PRG:1C81 85 0A
lda #$23 ; CPU:$DC83 PRG:1C83 A9 23
sta ScorePtrHi ; CPU:$DC85 PRG:1C85 85 A1
lda $C1E4,y ; CPU:$DC87 PRG:1C87 B9 E4 C1
sta ScorePtrLo ; CPU:$DC8A PRG:1C8A 85 A0
lda #$24 ; CPU:$DC8C PRG:1C8C A9 24
jsr $EE5E ; CPU:$DC8E PRG:1C8E 20 5E EE
sty Zp0B ; CPU:$DC91 PRG:1C91 84 0B
ldy #$00 ; CPU:$DC93 PRG:1C93 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block_16:
lda $0513,y ; CPU:$DC95 PRG:1C95 B9 13 05
beq SubCDC1F_Block_13 ; CPU:$DC98 PRG:1C98 F0 05
iny ; CPU:$DC9A PRG:1C9A C8
cpy #$06 ; CPU:$DC9B PRG:1C9B C0 06
bne SubCDC1F_Block_16 ; CPU:$DC9D PRG:1C9D D0 F6
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block_13:
txa ; CPU:$DC9F PRG:1C9F 8A
eor #$01 ; CPU:$DCA0 PRG:1CA0 49 01
tax ; CPU:$DCA2 PRG:1CA2 AA
tya ; CPU:$DCA3 PRG:1CA3 98
cmp $0414,x ; CPU:$DCA4 PRG:1CA4 DD 14 04
bne SubCDC1F_Block_15 ; CPU:$DCA7 PRG:1CA7 D0 03
iny ; CPU:$DCA9 PRG:1CA9 C8
bne SubCDC1F_Block_16 ; CPU:$DCAA PRG:1CAA D0 E9
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block_15:
lda #$23 ; CPU:$DCAC PRG:1CAC A9 23
sta ScorePtrHi ; CPU:$DCAE PRG:1CAE 85 A1
lda $C1E4,y ; CPU:$DCB0 PRG:1CB0 B9 E4 C1
sta ScorePtrLo ; CPU:$DCB3 PRG:1CB3 85 A0
lda Zp0A ; CPU:$DCB5 PRG:1CB5 A5 0A
sta $0513,y ; CPU:$DCB7 PRG:1CB7 99 13 05
jsr $EE5E ; CPU:$DCBA PRG:1CBA 20 5E EE
lda #$00 ; CPU:$DCBD PRG:1CBD A9 00
ldy Zp0B ; CPU:$DCBF PRG:1CBF A4 0B
sta $0513,y ; CPU:$DCC1 PRG:1CC1 99 13 05
pla ; CPU:$DCC4 PRG:1CC4 68
tax ; CPU:$DCC5 PRG:1CC5 AA
; -----------------------------------------------------------------------------
; Routine: SubCDC1F_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.
; -----------------------------------------------------------------------------
SubCDC1F_Block_8:
lda #$00 ; CPU:$DCC6 PRG:1CC6 A9 00
sta ZpDD,x ; CPU:$DCC8 PRG:1CC8 95 DD
rts ; CPU:$DCCA PRG:1CCA 60
; -----------------------------------------------------------------------------
; Routine: SubCDCCB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDCCB:
lda $0412 ; CPU:$DCCB PRG:1CCB AD 12 04
bne SubCDCCB_Block ; CPU:$DCCE PRG:1CCE D0 01
rts ; CPU:$DCD0 PRG:1CD0 60
; -----------------------------------------------------------------------------
; Routine: SubCDCCB_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.
; -----------------------------------------------------------------------------
SubCDCCB_Block:
cmp #$01 ; CPU:$DCD1 PRG:1CD1 C9 01
beq SubCDCCB_Block_2 ; CPU:$DCD3 PRG:1CD3 F0 0F
cmp #$02 ; CPU:$DCD5 PRG:1CD5 C9 02
beq SubCDCCB_Block_3 ; CPU:$DCD7 PRG:1CD7 F0 25
jsr $DD4E ; CPU:$DCD9 PRG:1CD9 20 4E DD
beq UpdateSpritePosition66 ; CPU:$DCDC PRG:1CDC F0 05
lda #$00 ; CPU:$DCDE PRG:1CDE A9 00
sta $0412 ; CPU:$DCE0 PRG:1CE0 8D 12 04
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition66
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition66:
rts ; CPU:$DCE3 PRG:1CE3 60
; -----------------------------------------------------------------------------
; Routine: SubCDCCB_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.
; -----------------------------------------------------------------------------
SubCDCCB_Block_2:
jsr $DE3D ; CPU:$DCE4 PRG:1CE4 20 3D DE
lda #$00 ; CPU:$DCE7 PRG:1CE7 A9 00
tax ; CPU:$DCE9 PRG:1CE9 AA
; -----------------------------------------------------------------------------
; Routine: SubCDCCB_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.
; -----------------------------------------------------------------------------
SubCDCCB_Block_4:
sta $0500,x ; CPU:$DCEA PRG:1CEA 9D 00 05
inx ; CPU:$DCED PRG:1CED E8
cpx #$12 ; CPU:$DCEE PRG:1CEE E0 12
bmi SubCDCCB_Block_4 ; CPU:$DCF0 PRG:1CF0 30 F8
sta $0413 ; CPU:$DCF2 PRG:1CF2 8D 13 04
lda #$01 ; CPU:$DCF5 PRG:1CF5 A9 01
sta $0512 ; CPU:$DCF7 PRG:1CF7 8D 12 05
asl $0412 ; CPU:$DCFA PRG:1CFA 0E 12 04
rts ; CPU:$DCFD PRG:1CFD 60
; -----------------------------------------------------------------------------
; Routine: SubCDCCB_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.
; -----------------------------------------------------------------------------
SubCDCCB_Block_3:
jsr $DD0A ; CPU:$DCFE PRG:1CFE 20 0A DD
lda $0512 ; CPU:$DD01 PRG:1D01 AD 12 05
bne SubCDCCB_Block_5 ; CPU:$DD04 PRG:1D04 D0 03
asl $0412 ; CPU:$DD06 PRG:1D06 0E 12 04
; -----------------------------------------------------------------------------
; Routine: SubCDCCB_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.
; -----------------------------------------------------------------------------
SubCDCCB_Block_5:
rts ; CPU:$DD09 PRG:1D09 60
; -----------------------------------------------------------------------------
; Routine: SubCDD0A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD0A:
ldx #$00 ; CPU:$DD0A PRG:1D0A A2 00
; -----------------------------------------------------------------------------
; Routine: SubCDD16_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.
; -----------------------------------------------------------------------------
SubCDD16_Block_2:
lda Zp18,x ; CPU:$DD0C PRG:1D0C B5 18
and #$1F ; CPU:$DD0E PRG:1D0E 29 1F
cmp #$12 ; CPU:$DD10 PRG:1D10 C9 12
bmi SubCDD0A_Block ; CPU:$DD12 PRG:1D12 30 01
lsr a ; CPU:$DD14 PRG:1D14 4A
; -----------------------------------------------------------------------------
; Routine: SubCDD0A_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.
; -----------------------------------------------------------------------------
SubCDD0A_Block:
tay ; CPU:$DD15 PRG:1D15 A8
; -----------------------------------------------------------------------------
; Routine: SubCDD16
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD16:
lda $0500,y ; CPU:$DD16 PRG:1D16 B9 00 05
beq SubCDD16_Block ; CPU:$DD19 PRG:1D19 F0 0A
iny ; CPU:$DD1B PRG:1D1B C8
cpy #$12 ; CPU:$DD1C PRG:1D1C C0 12
bmi SubCDD16 ; CPU:$DD1E PRG:1D1E 30 F6
ldy #$00 ; CPU:$DD20 PRG:1D20 A0 00
jmp $DD16 ; CPU:$DD22 PRG:1D22 4C 16 DD
; -----------------------------------------------------------------------------
; Routine: SubCDD16_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.
; -----------------------------------------------------------------------------
SubCDD16_Block:
lda $0512 ; CPU:$DD25 PRG:1D25 AD 12 05
sta $0500,y ; CPU:$DD28 PRG:1D28 99 00 05
inx ; CPU:$DD2B PRG:1D2B E8
cpx #$02 ; CPU:$DD2C PRG:1D2C E0 02
bmi SubCDD16_Block_2 ; CPU:$DD2E PRG:1D2E 30 DC
inc $0512 ; CPU:$DD30 PRG:1D30 EE 12 05
lda $0512 ; CPU:$DD33 PRG:1D33 AD 12 05
cmp #$0A ; CPU:$DD36 PRG:1D36 C9 0A
bmi SubCDD16_Block_3 ; CPU:$DD38 PRG:1D38 30 13
lda Zp4C ; CPU:$DD3A PRG:1D3A A5 4C
beq SubCDD16_Block_4 ; CPU:$DD3C PRG:1D3C F0 0A
lda #$03 ; CPU:$DD3E PRG:1D3E A9 03
sta $0500 ; CPU:$DD40 PRG:1D40 8D 00 05
lda #$06 ; CPU:$DD43 PRG:1D43 A9 06
sta $0508 ; CPU:$DD45 PRG:1D45 8D 08 05
; -----------------------------------------------------------------------------
; Routine: SubCDD16_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.
; -----------------------------------------------------------------------------
SubCDD16_Block_4:
lda #$00 ; CPU:$DD48 PRG:1D48 A9 00
sta $0512 ; CPU:$DD4A PRG:1D4A 8D 12 05
; -----------------------------------------------------------------------------
; Routine: SubCDD16_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.
; -----------------------------------------------------------------------------
SubCDD16_Block_3:
rts ; CPU:$DD4D PRG:1D4D 60
; -----------------------------------------------------------------------------
; Routine: SubCDD4E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD4E:
lda $0413 ; CPU:$DD4E PRG:1D4E AD 13 04
clc ; CPU:$DD51 PRG:1D51 18
adc #$06 ; CPU:$DD52 PRG:1D52 69 06
sta PtrLo ; CPU:$DD54 PRG:1D54 85 00
ldx $0413 ; CPU:$DD56 PRG:1D56 AE 13 04
ldy #$00 ; CPU:$DD59 PRG:1D59 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCDD4E_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.
; -----------------------------------------------------------------------------
SubCDD4E_Block:
txa ; CPU:$DD5B PRG:1D5B 8A
asl a ; CPU:$DD5C PRG:1D5C 0A
tax ; CPU:$DD5D PRG:1D5D AA
lda $C1C0,x ; CPU:$DD5E PRG:1D5E BD C0 C1
sta $0331,y ; CPU:$DD61 PRG:1D61 99 31 03
lda $C1C1,x ; CPU:$DD64 PRG:1D64 BD C1 C1
sta $0332,y ; CPU:$DD67 PRG:1D67 99 32 03
txa ; CPU:$DD6A PRG:1D6A 8A
lsr a ; CPU:$DD6B PRG:1D6B 4A
tax ; CPU:$DD6C PRG:1D6C AA
lda #$01 ; CPU:$DD6D PRG:1D6D A9 01
sta $0333,y ; CPU:$DD6F PRG:1D6F 99 33 03
lda $0500,x ; CPU:$DD72 PRG:1D72 BD 00 05
sta $0334,y ; CPU:$DD75 PRG:1D75 99 34 03
iny ; CPU:$DD78 PRG:1D78 C8
iny ; CPU:$DD79 PRG:1D79 C8
iny ; CPU:$DD7A PRG:1D7A C8
iny ; CPU:$DD7B PRG:1D7B C8
inx ; CPU:$DD7C PRG:1D7C E8
cpx PtrLo ; CPU:$DD7D PRG:1D7D E4 00
bmi SubCDD4E_Block ; CPU:$DD7F PRG:1D7F 30 DA
lda #$00 ; CPU:$DD81 PRG:1D81 A9 00
sta $0349 ; CPU:$DD83 PRG:1D83 8D 49 03
lda PtrLo ; CPU:$DD86 PRG:1D86 A5 00
sta $0413 ; CPU:$DD88 PRG:1D88 8D 13 04
lda #$25 ; CPU:$DD8B PRG:1D8B A9 25
sta $0330 ; CPU:$DD8D PRG:1D8D 8D 30 03
lda $0413 ; CPU:$DD90 PRG:1D90 AD 13 04
cmp #$12 ; CPU:$DD93 PRG:1D93 C9 12
bmi SubCDD4E_Block_2 ; CPU:$DD95 PRG:1D95 30 03
lda #$01 ; CPU:$DD97 PRG:1D97 A9 01
rts ; CPU:$DD99 PRG:1D99 60
; -----------------------------------------------------------------------------
; Routine: SubCDD4E_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.
; -----------------------------------------------------------------------------
SubCDD4E_Block_2:
lda #$00 ; CPU:$DD9A PRG:1D9A A9 00
rts ; CPU:$DD9C PRG:1D9C 60
; -----------------------------------------------------------------------------
; Routine: SubCDD9D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDD9D:
txa ; CPU:$DD9D PRG:1D9D 8A
pha ; CPU:$DD9E PRG:1D9E 48
ldx #$00 ; CPU:$DD9F PRG:1D9F A2 00
ldy #$00 ; CPU:$DDA1 PRG:1DA1 A0 00
stx Zp0A ; CPU:$DDA3 PRG:1DA3 86 0A
stx Zp0B ; CPU:$DDA5 PRG:1DA5 86 0B
; -----------------------------------------------------------------------------
; Routine: SubCDDA7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDA7:
lda $03E0,y ; CPU:$DDA7 PRG:1DA7 B9 E0 03
beq SubCDE10 ; CPU:$DDAA PRG:1DAA F0 64
lda Zp41,x ; CPU:$DDAC PRG:1DAC B5 41
bne SubCDDA7_Block ; CPU:$DDAE PRG:1DAE D0 16
txa ; CPU:$DDB0 PRG:1DB0 8A
pha ; CPU:$DDB1 PRG:1DB1 48
lda Zp18 ; CPU:$DDB2 PRG:1DB2 A5 18
and #$0F ; CPU:$DDB4 PRG:1DB4 29 0F
tax ; CPU:$DDB6 PRG:1DB6 AA
lda $C310,x ; CPU:$DDB7 PRG:1DB7 BD 10 C3
sta $0500,y ; CPU:$DDBA PRG:1DBA 99 00 05
lda #$01 ; CPU:$DDBD PRG:1DBD A9 01
sta Zp0B ; CPU:$DDBF PRG:1DBF 85 0B
pla ; CPU:$DDC1 PRG:1DC1 68
tax ; CPU:$DDC2 PRG:1DC2 AA
jmp $DE10 ; CPU:$DDC3 PRG:1DC3 4C 10 DE
; -----------------------------------------------------------------------------
; Routine: SubCDDA7_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.
; -----------------------------------------------------------------------------
SubCDDA7_Block:
cmp #$01 ; CPU:$DDC6 PRG:1DC6 C9 01
bne SubCDDA7_Block_2 ; CPU:$DDC8 PRG:1DC8 D0 0C
lda #$00 ; CPU:$DDCA PRG:1DCA A9 00
sta $03E0,y ; CPU:$DDCC PRG:1DCC 99 E0 03
lda #$02 ; CPU:$DDCF PRG:1DCF A9 02
sta Zp0B ; CPU:$DDD1 PRG:1DD1 85 0B
jmp $DE10 ; CPU:$DDD3 PRG:1DD3 4C 10 DE
; -----------------------------------------------------------------------------
; Routine: SubCDDA7_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.
; -----------------------------------------------------------------------------
SubCDDA7_Block_2:
cmp #$11 ; CPU:$DDD6 PRG:1DD6 C9 11
bcs SubCDE10 ; CPU:$DDD8 PRG:1DD8 B0 36
lda $05B0 ; CPU:$DDDA PRG:1DDA AD B0 05
cmp #$02 ; CPU:$DDDD PRG:1DDD C9 02
bne SubCDE10 ; CPU:$DDDF PRG:1DDF D0 2F
lda Zp41,x ; CPU:$DDE1 PRG:1DE1 B5 41
and #$01 ; CPU:$DDE3 PRG:1DE3 29 01
bne SubCDDA7_Block_3 ; CPU:$DDE5 PRG:1DE5 D0 06
lda $0500,y ; CPU:$DDE7 PRG:1DE7 B9 00 05
jmp $DDEF ; CPU:$DDEA PRG:1DEA 4C EF DD
; -----------------------------------------------------------------------------
; Routine: SubCDDA7_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.
; -----------------------------------------------------------------------------
SubCDDA7_Block_3:
lda #$24 ; CPU:$DDED PRG:1DED A9 24
; -----------------------------------------------------------------------------
; Routine: SubCDDEF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDDEF:
sta $0539 ; CPU:$DDEF PRG:1DEF 8D 39 05
lda #$11 ; CPU:$DDF2 PRG:1DF2 A9 11
sta $0538 ; CPU:$DDF4 PRG:1DF4 8D 38 05
tya ; CPU:$DDF7 PRG:1DF7 98
pha ; CPU:$DDF8 PRG:1DF8 48
asl a ; CPU:$DDF9 PRG:1DF9 0A
tay ; CPU:$DDFA PRG:1DFA A8
lda $C1C0,y ; CPU:$DDFB PRG:1DFB B9 C0 C1
sta PtrHi ; CPU:$DDFE PRG:1DFE 85 01
lda $C1C1,y ; CPU:$DE00 PRG:1E00 B9 C1 C1
sta PtrLo ; CPU:$DE03 PRG:1E03 85 00
lda #$38 ; CPU:$DE05 PRG:1E05 A9 38
sta Ptr2Lo ; CPU:$DE07 PRG:1E07 85 02
lda #$05 ; CPU:$DE09 PRG:1E09 A9 05
jsr $F2AA ; CPU:$DE0B PRG:1E0B 20 AA F2
pla ; CPU:$DE0E PRG:1E0E 68
tay ; CPU:$DE0F PRG:1E0F A8
; -----------------------------------------------------------------------------
; Routine: SubCDE10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE10:
iny ; CPU:$DE10 PRG:1E10 C8
inc Zp0A ; CPU:$DE11 PRG:1E11 E6 0A
lda Zp0A ; CPU:$DE13 PRG:1E13 A5 0A
cmp #$03 ; CPU:$DE15 PRG:1E15 C9 03
bne SubCDE10_Block ; CPU:$DE17 PRG:1E17 D0 1A
lda Zp0B ; CPU:$DE19 PRG:1E19 A5 0B
cmp #$01 ; CPU:$DE1B PRG:1E1B C9 01
bne SubCDE10_Block_2 ; CPU:$DE1D PRG:1E1D D0 05
lda #$80 ; CPU:$DE1F PRG:1E1F A9 80
jmp $DE2A ; CPU:$DE21 PRG:1E21 4C 2A DE
; -----------------------------------------------------------------------------
; Routine: SubCDE10_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.
; -----------------------------------------------------------------------------
SubCDE10_Block_2:
cmp #$02 ; CPU:$DE24 PRG:1E24 C9 02
bne SubCDE10_Block_3 ; CPU:$DE26 PRG:1E26 D0 04
lda #$00 ; CPU:$DE28 PRG:1E28 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCDE2A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE2A:
sta Zp41,x ; CPU:$DE2A PRG:1E2A 95 41
; -----------------------------------------------------------------------------
; Routine: SubCDE10_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.
; -----------------------------------------------------------------------------
SubCDE10_Block_3:
lda #$00 ; CPU:$DE2C PRG:1E2C A9 00
sta Zp0A ; CPU:$DE2E PRG:1E2E 85 0A
sta Zp0B ; CPU:$DE30 PRG:1E30 85 0B
inx ; CPU:$DE32 PRG:1E32 E8
; -----------------------------------------------------------------------------
; Routine: SubCDE10_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.
; -----------------------------------------------------------------------------
SubCDE10_Block:
cpy #$12 ; CPU:$DE33 PRG:1E33 C0 12
bpl SubCDE2A_Block ; CPU:$DE35 PRG:1E35 10 03
jmp $DDA7 ; CPU:$DE37 PRG:1E37 4C A7 DD
; -----------------------------------------------------------------------------
; Routine: SubCDE2A_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.
; -----------------------------------------------------------------------------
SubCDE2A_Block:
pla ; CPU:$DE3A PRG:1E3A 68
tax ; CPU:$DE3B PRG:1E3B AA
rts ; CPU:$DE3C PRG:1E3C 60
; -----------------------------------------------------------------------------
; Routine: SubCDE3D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE3D:
txa ; CPU:$DE3D PRG:1E3D 8A
pha ; CPU:$DE3E PRG:1E3E 48
lda Zp18 ; CPU:$DE3F PRG:1E3F A5 18
sta PtrLo ; CPU:$DE41 PRG:1E41 85 00
lda Zp19 ; CPU:$DE43 PRG:1E43 A5 19
sta PtrHi ; CPU:$DE45 PRG:1E45 85 01
lda Zp1A ; CPU:$DE47 PRG:1E47 A5 1A
sta Ptr2Lo ; CPU:$DE49 PRG:1E49 85 02
eor Zp18 ; CPU:$DE4B PRG:1E4B 45 18
sta Zp03 ; CPU:$DE4D PRG:1E4D 85 03
ldx #$00 ; CPU:$DE4F PRG:1E4F A2 00
stx $0513 ; CPU:$DE51 PRG:1E51 8E 13 05
stx $0514 ; CPU:$DE54 PRG:1E54 8E 14 05
stx $0515 ; CPU:$DE57 PRG:1E57 8E 15 05
stx $0516 ; CPU:$DE5A PRG:1E5A 8E 16 05
stx $0517 ; CPU:$DE5D PRG:1E5D 8E 17 05
stx $0518 ; CPU:$DE60 PRG:1E60 8E 18 05
; -----------------------------------------------------------------------------
; Routine: UpdateSpritePosition82
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSpritePosition82:
lda PtrLo,x ; CPU:$DE63 PRG:1E63 B5 00
and #$03 ; CPU:$DE65 PRG:1E65 29 03
tay ; CPU:$DE67 PRG:1E67 A8
; -----------------------------------------------------------------------------
; Routine: SubCDE68
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDE68:
lda $0514,y ; CPU:$DE68 PRG:1E68 B9 14 05
beq SubCDE68_Block ; CPU:$DE6B PRG:1E6B F0 0A
iny ; CPU:$DE6D PRG:1E6D C8
cpy #$04 ; CPU:$DE6E PRG:1E6E C0 04
bmi SubCDE68 ; CPU:$DE70 PRG:1E70 30 F6
ldy #$00 ; CPU:$DE72 PRG:1E72 A0 00
jmp $DE68 ; CPU:$DE74 PRG:1E74 4C 68 DE
; -----------------------------------------------------------------------------
; Routine: SubCDE68_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.
; -----------------------------------------------------------------------------
SubCDE68_Block:
txa ; CPU:$DE77 PRG:1E77 8A
clc ; CPU:$DE78 PRG:1E78 18
adc #$85 ; CPU:$DE79 PRG:1E79 69 85
sta $0514,y ; CPU:$DE7B PRG:1E7B 99 14 05
inx ; CPU:$DE7E PRG:1E7E E8
cpx #$04 ; CPU:$DE7F PRG:1E7F E0 04
bmi UpdateSpritePosition82 ; CPU:$DE81 PRG:1E81 30 E0
lda Zp4C ; CPU:$DE83 PRG:1E83 A5 4C
beq SubCDE68_Block_2 ; CPU:$DE85 PRG:1E85 F0 14
lda #$87 ; CPU:$DE87 PRG:1E87 A9 87
sta $0514 ; CPU:$DE89 PRG:1E89 8D 14 05
lda #$86 ; CPU:$DE8C PRG:1E8C A9 86
sta $0515 ; CPU:$DE8E PRG:1E8E 8D 15 05
lda #$88 ; CPU:$DE91 PRG:1E91 A9 88
sta $0516 ; CPU:$DE93 PRG:1E93 8D 16 05
lda #$85 ; CPU:$DE96 PRG:1E96 A9 85
sta $0517 ; CPU:$DE98 PRG:1E98 8D 17 05
; -----------------------------------------------------------------------------
; Routine: SubCDE68_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.
; -----------------------------------------------------------------------------
SubCDE68_Block_2:
ldx #$00 ; CPU:$DE9B PRG:1E9B A2 00
ldy #$00 ; CPU:$DE9D PRG:1E9D A0 00
; -----------------------------------------------------------------------------
; Routine: SubCDE68_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.
; -----------------------------------------------------------------------------
SubCDE68_Block_3:
lda #$23 ; CPU:$DE9F PRG:1E9F A9 23
sta $0331,y ; CPU:$DEA1 PRG:1EA1 99 31 03
lda $C1E5,x ; CPU:$DEA4 PRG:1EA4 BD E5 C1
sta $0332,y ; CPU:$DEA7 PRG:1EA7 99 32 03
lda #$01 ; CPU:$DEAA PRG:1EAA A9 01
sta $0333,y ; CPU:$DEAC PRG:1EAC 99 33 03
lda $0514,x ; CPU:$DEAF PRG:1EAF BD 14 05
sta $0334,y ; CPU:$DEB2 PRG:1EB2 99 34 03
iny ; CPU:$DEB5 PRG:1EB5 C8
iny ; CPU:$DEB6 PRG:1EB6 C8
iny ; CPU:$DEB7 PRG:1EB7 C8
iny ; CPU:$DEB8 PRG:1EB8 C8
inx ; CPU:$DEB9 PRG:1EB9 E8
cpx #$04 ; CPU:$DEBA PRG:1EBA E0 04
bmi SubCDE68_Block_3 ; CPU:$DEBC PRG:1EBC 30 E1
lda #$00 ; CPU:$DEBE PRG:1EBE A9 00
sta $0341 ; CPU:$DEC0 PRG:1EC0 8D 41 03
lda #$11 ; CPU:$DEC3 PRG:1EC3 A9 11
sta $0330 ; CPU:$DEC5 PRG:1EC5 8D 30 03
pla ; CPU:$DEC8 PRG:1EC8 68
tax ; CPU:$DEC9 PRG:1EC9 AA
rts ; CPU:$DECA PRG:1ECA 60
; -----------------------------------------------------------------------------
; Routine: SubCDECB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDECB:
ldx SprIndex ; CPU:$DECB PRG:1ECB A6 4A
lda Zp37 ; CPU:$DECD PRG:1ECD A5 37
bne SubCDECB_Block ; CPU:$DECF PRG:1ECF D0 0A
lda #$A0 ; CPU:$DED1 PRG:1ED1 A9 A0
sta Zp37 ; CPU:$DED3 PRG:1ED3 85 37
sta $0522 ; CPU:$DED5 PRG:1ED5 8D 22 05
lda #$00 ; CPU:$DED8 PRG:1ED8 A9 00
rts ; CPU:$DEDA PRG:1EDA 60
; -----------------------------------------------------------------------------
; Routine: SubCDECB_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.
; -----------------------------------------------------------------------------
SubCDECB_Block:
cmp #$0B ; CPU:$DEDB PRG:1EDB C9 0B
beq SubCDECB_Block_2 ; CPU:$DEDD PRG:1EDD F0 0E
cmp #$0E ; CPU:$DEDF PRG:1EDF C9 0E
bne SubCDECB_Block_3 ; CPU:$DEE1 PRG:1EE1 D0 29
cpx #$03 ; CPU:$DEE3 PRG:1EE3 E0 03
beq SubCDECB_Block_6 ; CPU:$DEE5 PRG:1EE5 F0 1E
jsr $DF47 ; CPU:$DEE7 PRG:1EE7 20 47 DF
lda #$00 ; CPU:$DEEA PRG:1EEA A9 00
rts ; CPU:$DEEC PRG:1EEC 60
; -----------------------------------------------------------------------------
; Routine: SubCDECB_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.
; -----------------------------------------------------------------------------
SubCDECB_Block_2:
lda SprIndex ; CPU:$DEED PRG:1EED A5 4A
cmp #$01 ; CPU:$DEEF PRG:1EEF C9 01
bne SubCDECB_Block_6 ; CPU:$DEF1 PRG:1EF1 D0 12
lda ZpEF ; CPU:$DEF3 PRG:1EF3 A5 EF
beq SubCDECB_Block_6 ; CPU:$DEF5 PRG:1EF5 F0 0E
txa ; CPU:$DEF7 PRG:1EF7 8A
pha ; CPU:$DEF8 PRG:1EF8 48
ldx #$00 ; CPU:$DEF9 PRG:1EF9 A2 00
jsr $E17B ; CPU:$DEFB PRG:1EFB 20 7B E1
ldx #$01 ; CPU:$DEFE PRG:1EFE A2 01
jsr $DBC2 ; CPU:$DF00 PRG:1F00 20 C2 DB
pla ; CPU:$DF03 PRG:1F03 68
tax ; CPU:$DF04 PRG:1F04 AA
; -----------------------------------------------------------------------------
; Routine: SubCDECB_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.
; -----------------------------------------------------------------------------
SubCDECB_Block_6:
lda #$00 ; CPU:$DF05 PRG:1F05 A9 00
sta Zp37 ; CPU:$DF07 PRG:1F07 85 37
lda #$01 ; CPU:$DF09 PRG:1F09 A9 01
rts ; CPU:$DF0B PRG:1F0B 60
; -----------------------------------------------------------------------------
; Routine: SubCDECB_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.
; -----------------------------------------------------------------------------
SubCDECB_Block_3:
dex ; CPU:$DF0C PRG:1F0C CA
lda $C249,x ; CPU:$DF0D PRG:1F0D BD 49 C2
sta PtrLo ; CPU:$DF10 PRG:1F10 85 00
lda $C243,x ; CPU:$DF12 PRG:1F12 BD 43 C2
sta PtrHi ; CPU:$DF15 PRG:1F15 85 01
ldy #$00 ; CPU:$DF17 PRG:1F17 A0 00
lda Zp37 ; CPU:$DF19 PRG:1F19 A5 37
cmp #$20 ; CPU:$DF1B PRG:1F1B C9 20
bpl SubCDECB_Block_8 ; CPU:$DF1D PRG:1F1D 10 12
iny ; CPU:$DF1F PRG:1F1F C8
iny ; CPU:$DF20 PRG:1F20 C8
cmp #$10 ; CPU:$DF21 PRG:1F21 C9 10
bpl SubCDECB_Block_8 ; CPU:$DF23 PRG:1F23 10 0C
iny ; CPU:$DF25 PRG:1F25 C8
iny ; CPU:$DF26 PRG:1F26 C8
lda $C24C,x ; CPU:$DF27 PRG:1F27 BD 4C C2
sta PtrLo ; CPU:$DF2A PRG:1F2A 85 00
lda $C246,x ; CPU:$DF2C PRG:1F2C BD 46 C2
sta PtrHi ; CPU:$DF2F PRG:1F2F 85 01
; -----------------------------------------------------------------------------
; Routine: SubCDECB_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.
; -----------------------------------------------------------------------------
SubCDECB_Block_8:
cpy $0522 ; CPU:$DF31 PRG:1F31 CC 22 05
beq SubCDECB_Block_9 ; CPU:$DF34 PRG:1F34 F0 0E
sty $0522 ; CPU:$DF36 PRG:1F36 8C 22 05
lda $C1EA,y ; CPU:$DF39 PRG:1F39 B9 EA C1
sta Ptr2Lo ; CPU:$DF3C PRG:1F3C 85 02
lda $C1EB,y ; CPU:$DF3E PRG:1F3E B9 EB C1
jsr $F2AA ; CPU:$DF41 PRG:1F41 20 AA F2
; -----------------------------------------------------------------------------
; Routine: SubCDECB_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.
; -----------------------------------------------------------------------------
SubCDECB_Block_9:
lda #$00 ; CPU:$DF44 PRG:1F44 A9 00
rts ; CPU:$DF46 PRG:1F46 60
; -----------------------------------------------------------------------------
; Routine: SubCDF47
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF47:
cpx #$02 ; CPU:$DF47 PRG:1F47 E0 02
bne SubCDF47_Block ; CPU:$DF49 PRG:1F49 D0 1F
lda #$54 ; CPU:$DF4B PRG:1F4B A9 54
sta $051A ; CPU:$DF4D PRG:1F4D 8D 1A 05
lda #$55 ; CPU:$DF50 PRG:1F50 A9 55
sta $051B ; CPU:$DF52 PRG:1F52 8D 1B 05
lda #$56 ; CPU:$DF55 PRG:1F55 A9 56
sta $051C ; CPU:$DF57 PRG:1F57 8D 1C 05
lda #$57 ; CPU:$DF5A PRG:1F5A A9 57
sta $051D ; CPU:$DF5C PRG:1F5C 8D 1D 05
lda #$23 ; CPU:$DF5F PRG:1F5F A9 23
sta PtrLo ; CPU:$DF61 PRG:1F61 85 00
lda #$22 ; CPU:$DF63 PRG:1F63 A9 22
sta PtrHi ; CPU:$DF65 PRG:1F65 85 01
jmp $DFE0 ; CPU:$DF67 PRG:1F67 4C E0 DF
; -----------------------------------------------------------------------------
; Routine: SubCDF47_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.
; -----------------------------------------------------------------------------
SubCDF47_Block:
ldx #$00 ; CPU:$DF6A PRG:1F6A A2 00
stx Zp0F ; CPU:$DF6C PRG:1F6C 86 0F
; -----------------------------------------------------------------------------
; Routine: SubCDF6E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF6E:
lda ZpEF ; CPU:$DF6E PRG:1F6E A5 EF
bne SubCDF6E_Block ; CPU:$DF70 PRG:1F70 D0 04
cpx #$00 ; CPU:$DF72 PRG:1F72 E0 00
beq SubCDF6E_Block_3 ; CPU:$DF74 PRG:1F74 F0 0E
; -----------------------------------------------------------------------------
; Routine: SubCDF6E_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.
; -----------------------------------------------------------------------------
SubCDF6E_Block:
lda Zp18,x ; CPU:$DF76 PRG:1F76 B5 18
and #$0F ; CPU:$DF78 PRG:1F78 29 0F
cmp #$0A ; CPU:$DF7A PRG:1F7A C9 0A
bmi SubCDF6E_Block_3 ; CPU:$DF7C PRG:1F7C 30 06
; -----------------------------------------------------------------------------
; Routine: SubCDF7E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDF7E:
jsr $F4D2 ; CPU:$DF7E PRG:1F7E 20 D2 F4
jmp $DF6E ; CPU:$DF81 PRG:1F81 4C 6E DF
; -----------------------------------------------------------------------------
; Routine: SubCDF6E_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.
; -----------------------------------------------------------------------------
SubCDF6E_Block_3:
sta $051E,x ; CPU:$DF84 PRG:1F84 9D 1E 05
lda $051E,x ; CPU:$DF87 PRG:1F87 BD 1E 05
bne SubCDF7E_Block_4 ; CPU:$DF8A PRG:1F8A D0 13
cpx #$00 ; CPU:$DF8C PRG:1F8C E0 00
beq SubCDF7E_Block_2 ; CPU:$DF8E PRG:1F8E F0 0B
cpx #$01 ; CPU:$DF90 PRG:1F90 E0 01
bne SubCDF7E_Block_4 ; CPU:$DF92 PRG:1F92 D0 0B
lda Zp0F ; CPU:$DF94 PRG:1F94 A5 0F
beq SubCDF7E_Block_4 ; CPU:$DF96 PRG:1F96 F0 07
jmp $DF7E ; CPU:$DF98 PRG:1F98 4C 7E DF
; -----------------------------------------------------------------------------
; Routine: SubCDF7E_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.
; -----------------------------------------------------------------------------
SubCDF7E_Block_2:
lda #$24 ; CPU:$DF9B PRG:1F9B A9 24
sta Zp0F ; CPU:$DF9D PRG:1F9D 85 0F
; -----------------------------------------------------------------------------
; Routine: SubCDF7E_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.
; -----------------------------------------------------------------------------
SubCDF7E_Block_4:
sta $051B,x ; CPU:$DF9F PRG:1F9F 9D 1B 05
inx ; CPU:$DFA2 PRG:1FA2 E8
cpx #$03 ; CPU:$DFA3 PRG:1FA3 E0 03
bpl SubCDF7E_Block_5 ; CPU:$DFA5 PRG:1FA5 10 03
jmp $DF6E ; CPU:$DFA7 PRG:1FA7 4C 6E DF
; -----------------------------------------------------------------------------
; Routine: SubCDF7E_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.
; -----------------------------------------------------------------------------
SubCDF7E_Block_5:
lda #$85 ; CPU:$DFAA PRG:1FAA A9 85
sta $051A ; CPU:$DFAC PRG:1FAC 8D 1A 05
sta $0521 ; CPU:$DFAF PRG:1FAF 8D 21 05
lda ZpEF ; CPU:$DFB2 PRG:1FB2 A5 EF
beq SubCDF7E_Block_7 ; CPU:$DFB4 PRG:1FB4 F0 0E
lda Zp18 ; CPU:$DFB6 PRG:1FB6 A5 18
and #$80 ; CPU:$DFB8 PRG:1FB8 29 80
beq SubCDF7E_Block_7 ; CPU:$DFBA PRG:1FBA F0 08
lda #$86 ; CPU:$DFBC PRG:1FBC A9 86
sta $0521 ; CPU:$DFBE PRG:1FBE 8D 21 05
inc $051A ; CPU:$DFC1 PRG:1FC1 EE 1A 05
; -----------------------------------------------------------------------------
; Routine: SubCDF7E_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.
; -----------------------------------------------------------------------------
SubCDF7E_Block_7:
lda Zp4C ; CPU:$DFC4 PRG:1FC4 A5 4C
beq SubCDF7E_Block_8 ; CPU:$DFC6 PRG:1FC6 F0 10
lda #$01 ; CPU:$DFC8 PRG:1FC8 A9 01
sta $051C ; CPU:$DFCA PRG:1FCA 8D 1C 05
sta $051F ; CPU:$DFCD PRG:1FCD 8D 1F 05
lda #$08 ; CPU:$DFD0 PRG:1FD0 A9 08
sta $051D ; CPU:$DFD2 PRG:1FD2 8D 1D 05
sta $0520 ; CPU:$DFD5 PRG:1FD5 8D 20 05
; -----------------------------------------------------------------------------
; Routine: SubCDF7E_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.
; -----------------------------------------------------------------------------
SubCDF7E_Block_8:
lda #$6E ; CPU:$DFD8 PRG:1FD8 A9 6E
sta PtrLo ; CPU:$DFDA PRG:1FDA 85 00
lda #$20 ; CPU:$DFDC PRG:1FDC A9 20
sta PtrHi ; CPU:$DFDE PRG:1FDE 85 01
; -----------------------------------------------------------------------------
; Routine: SubCDFE0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFE0:
lda #$14 ; CPU:$DFE0 PRG:1FE0 A9 14
sta $0519 ; CPU:$DFE2 PRG:1FE2 8D 19 05
lda #$19 ; CPU:$DFE5 PRG:1FE5 A9 19
sta Ptr2Lo ; CPU:$DFE7 PRG:1FE7 85 02
lda #$05 ; CPU:$DFE9 PRG:1FE9 A9 05
jmp $F2AA ; CPU:$DFEB PRG:1FEB 4C AA F2
; -----------------------------------------------------------------------------
; Routine: SubCDFEE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCDFEE:
lda ZpE5,x ; CPU:$DFEE PRG:1FEE B5 E5
bne SubCDFEE_Block ; CPU:$DFF0 PRG:1FF0 D0 01
rts ; CPU:$DFF2 PRG:1FF2 60
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block:
lda Zp37 ; CPU:$DFF3 PRG:1FF3 A5 37
bne SubCDFEE_Block_2 ; CPU:$DFF5 PRG:1FF5 D0 0C
lda #$FF ; CPU:$DFF7 PRG:1FF7 A9 FF
sta Zp37 ; CPU:$DFF9 PRG:1FF9 85 37
lda #$10 ; CPU:$DFFB PRG:1FFB A9 10
sta $0523 ; CPU:$DFFD PRG:1FFD 8D 23 05
lda #$00 ; CPU:$E000 PRG:2000 A9 00
rts ; CPU:$E002 PRG:2002 60
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_2:
cmp #$50 ; CPU:$E003 PRG:2003 C9 50
bne SubCDFEE_Block_3 ; CPU:$E005 PRG:2005 D0 03
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_4:
jmp $E0E4 ; CPU:$E007 PRG:2007 4C E4 E0
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_3:
cmp #$49 ; CPU:$E00A PRG:200A C9 49
beq SubCDFEE_Block_4 ; CPU:$E00C PRG:200C F0 F9
and #$0F ; CPU:$E00E PRG:200E 29 0F
beq SubCDFEE_Block_5 ; CPU:$E010 PRG:2010 F0 03
lda #$00 ; CPU:$E012 PRG:2012 A9 00
rts ; CPU:$E014 PRG:2014 60
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_5:
lda $0523 ; CPU:$E015 PRG:2015 AD 23 05
cmp #$01 ; CPU:$E018 PRG:2018 C9 01
beq SubCDFEE_Block_6 ; CPU:$E01A PRG:201A F0 03
jmp $E09E ; CPU:$E01C PRG:201C 4C 9E E0
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_6:
txa ; CPU:$E01F PRG:201F 8A
pha ; CPU:$E020 PRG:2020 48
lda $C279,x ; CPU:$E021 PRG:2021 BD 79 C2
sta PtrLo ; CPU:$E024 PRG:2024 85 00
ldx #$00 ; CPU:$E026 PRG:2026 A2 00
ldy #$00 ; CPU:$E028 PRG:2028 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_7:
lda #$20 ; CPU:$E02A PRG:202A A9 20
sta $0331,y ; CPU:$E02C PRG:202C 99 31 03
lda $C27B,x ; CPU:$E02F PRG:202F BD 7B C2
clc ; CPU:$E032 PRG:2032 18
adc PtrLo ; CPU:$E033 PRG:2033 65 00
sta $0332,y ; CPU:$E035 PRG:2035 99 32 03
lda $C27C,x ; CPU:$E038 PRG:2038 BD 7C C2
sta $0333,y ; CPU:$E03B PRG:203B 99 33 03
lda $C27D,x ; CPU:$E03E PRG:203E BD 7D C2
sta $0334,y ; CPU:$E041 PRG:2041 99 34 03
iny ; CPU:$E044 PRG:2044 C8
iny ; CPU:$E045 PRG:2045 C8
iny ; CPU:$E046 PRG:2046 C8
iny ; CPU:$E047 PRG:2047 C8
inx ; CPU:$E048 PRG:2048 E8
inx ; CPU:$E049 PRG:2049 E8
inx ; CPU:$E04A PRG:204A E8
cpx #$18 ; CPU:$E04B PRG:204B E0 18
bmi SubCDFEE_Block_7 ; CPU:$E04D PRG:204D 30 DB
ldx #$85 ; CPU:$E04F PRG:204F A2 85
cpx $0521 ; CPU:$E051 PRG:2051 EC 21 05
beq SubCDFEE_Block_8 ; CPU:$E054 PRG:2054 F0 01
inx ; CPU:$E056 PRG:2056 E8
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_8:
stx $0354 ; CPU:$E057 PRG:2057 8E 54 03
lda #$20 ; CPU:$E05A PRG:205A A9 20
sta $0351 ; CPU:$E05C PRG:205C 8D 51 03
pla ; CPU:$E05F PRG:205F 68
tax ; CPU:$E060 PRG:2060 AA
lda $C251,x ; CPU:$E061 PRG:2061 BD 51 C2
sta $0352 ; CPU:$E064 PRG:2064 8D 52 03
txa ; CPU:$E067 PRG:2067 8A
pha ; CPU:$E068 PRG:2068 48
lda #$04 ; CPU:$E069 PRG:2069 A9 04
sta $0353 ; CPU:$E06B PRG:206B 8D 53 03
ldx #$00 ; CPU:$E06E PRG:206E A2 00
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_9:
lda $051E,x ; CPU:$E070 PRG:2070 BD 1E 05
sta $0355,x ; CPU:$E073 PRG:2073 9D 55 03
inx ; CPU:$E076 PRG:2076 E8
cpx #$03 ; CPU:$E077 PRG:2077 E0 03
bmi SubCDFEE_Block_9 ; CPU:$E079 PRG:2079 30 F5
ldx $0356 ; CPU:$E07B PRG:207B AE 56 03
ldy $0357 ; CPU:$E07E PRG:207E AC 57 03
lda $0355 ; CPU:$E081 PRG:2081 AD 55 03
bne SubCDFEE_Block_10 ; CPU:$E084 PRG:2084 D0 0B
stx $0355 ; CPU:$E086 PRG:2086 8E 55 03
sty $0356 ; CPU:$E089 PRG:2089 8C 56 03
lda #$24 ; CPU:$E08C PRG:208C A9 24
sta $0357 ; CPU:$E08E PRG:208E 8D 57 03
; -----------------------------------------------------------------------------
; Routine: SubCDFEE_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.
; -----------------------------------------------------------------------------
SubCDFEE_Block_10:
lda #$00 ; CPU:$E091 PRG:2091 A9 00
sta $0358 ; CPU:$E093 PRG:2093 8D 58 03
lda #$27 ; CPU:$E096 PRG:2096 A9 27
sta $0330 ; CPU:$E098 PRG:2098 8D 30 03
jmp $E0D7 ; CPU:$E09B PRG:209B 4C D7 E0
; -----------------------------------------------------------------------------
; Routine: SubCE09E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE09E:
txa ; CPU:$E09E PRG:209E 8A
pha ; CPU:$E09F PRG:209F 48
lda $C279,x ; CPU:$E0A0 PRG:20A0 BD 79 C2
sta PtrLo ; CPU:$E0A3 PRG:20A3 85 00
ldx #$00 ; CPU:$E0A5 PRG:20A5 A2 00
ldy #$00 ; CPU:$E0A7 PRG:20A7 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCE09E_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.
; -----------------------------------------------------------------------------
SubCE09E_Block:
lda #$20 ; CPU:$E0A9 PRG:20A9 A9 20
sta $0331,y ; CPU:$E0AB PRG:20AB 99 31 03
lda PtrLo ; CPU:$E0AE PRG:20AE A5 00
sta $0332,y ; CPU:$E0B0 PRG:20B0 99 32 03
lda #$4B ; CPU:$E0B3 PRG:20B3 A9 4B
sta $0333,y ; CPU:$E0B5 PRG:20B5 99 33 03
lda #$24 ; CPU:$E0B8 PRG:20B8 A9 24
sta $0334,y ; CPU:$E0BA PRG:20BA 99 34 03
lda PtrLo ; CPU:$E0BD PRG:20BD A5 00
clc ; CPU:$E0BF PRG:20BF 18
adc #$20 ; CPU:$E0C0 PRG:20C0 69 20
sta PtrLo ; CPU:$E0C2 PRG:20C2 85 00
iny ; CPU:$E0C4 PRG:20C4 C8
iny ; CPU:$E0C5 PRG:20C5 C8
iny ; CPU:$E0C6 PRG:20C6 C8
iny ; CPU:$E0C7 PRG:20C7 C8
inx ; CPU:$E0C8 PRG:20C8 E8
cpx #$03 ; CPU:$E0C9 PRG:20C9 E0 03
bmi SubCE09E_Block ; CPU:$E0CB PRG:20CB 30 DC
lda #$00 ; CPU:$E0CD PRG:20CD A9 00
sta $033D ; CPU:$E0CF PRG:20CF 8D 3D 03
lda #$0C ; CPU:$E0D2 PRG:20D2 A9 0C
sta $0330 ; CPU:$E0D4 PRG:20D4 8D 30 03
; -----------------------------------------------------------------------------
; Routine: SubCE0D7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0D7:
pla ; CPU:$E0D7 PRG:20D7 68
tax ; CPU:$E0D8 PRG:20D8 AA
lda $0523 ; CPU:$E0D9 PRG:20D9 AD 23 05
eor #$11 ; CPU:$E0DC PRG:20DC 49 11
sta $0523 ; CPU:$E0DE PRG:20DE 8D 23 05
lda #$00 ; CPU:$E0E1 PRG:20E1 A9 00
rts ; CPU:$E0E3 PRG:20E3 60
; -----------------------------------------------------------------------------
; Routine: SubCE0E4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE0E4:
lda #$00 ; CPU:$E0E4 PRG:20E4 A9 00
sta Zp0D ; CPU:$E0E6 PRG:20E6 85 0D
ldy #$30 ; CPU:$E0E8 PRG:20E8 A0 30
txa ; CPU:$E0EA PRG:20EA 8A
pha ; CPU:$E0EB PRG:20EB 48
beq SubCE0E4_Block ; CPU:$E0EC PRG:20EC F0 06
lda #$14 ; CPU:$E0EE PRG:20EE A9 14
sta Zp0D ; CPU:$E0F0 PRG:20F0 85 0D
ldy #$B8 ; CPU:$E0F2 PRG:20F2 A0 B8
; -----------------------------------------------------------------------------
; Routine: SubCE0E4_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.
; -----------------------------------------------------------------------------
SubCE0E4_Block:
sty Zp09 ; CPU:$E0F4 PRG:20F4 84 09
lda $05C7,x ; CPU:$E0F6 PRG:20F6 BD C7 05
tay ; CPU:$E0F9 PRG:20F9 A8
asl a ; CPU:$E0FA PRG:20FA 0A
asl a ; CPU:$E0FB PRG:20FB 0A
tax ; CPU:$E0FC PRG:20FC AA
; -----------------------------------------------------------------------------
; Routine: InitGame_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.
; -----------------------------------------------------------------------------
InitGame_4:
lda Zp09 ; CPU:$E0FD PRG:20FD A5 09
clc ; CPU:$E0FF PRG:20FF 18
adc #$08 ; CPU:$E100 PRG:2100 69 08
sta Zp09 ; CPU:$E102 PRG:2102 85 09
dey ; CPU:$E104 PRG:2104 88
bpl InitGame_4 ; CPU:$E105 PRG:2105 10 F6
txa ; CPU:$E107 PRG:2107 8A
clc ; CPU:$E108 PRG:2108 18
adc Zp0D ; CPU:$E109 PRG:2109 65 0D
tax ; CPU:$E10B PRG:210B AA
lda Zp09 ; CPU:$E10C PRG:210C A5 09
sta $0253,x ; CPU:$E10E PRG:210E 9D 53 02
lda #$AE ; CPU:$E111 PRG:2111 A9 AE
sta $0251,x ; CPU:$E113 PRG:2113 9D 51 02
lda #$30 ; CPU:$E116 PRG:2116 A9 30
sta $0250,x ; CPU:$E118 PRG:2118 9D 50 02
pla ; CPU:$E11B PRG:211B 68
tax ; CPU:$E11C PRG:211C AA
inc $05C7,x ; CPU:$E11D PRG:211D FE C7 05
lda #$00 ; CPU:$E120 PRG:2120 A9 00
sta Zp37 ; CPU:$E122 PRG:2122 85 37
sta ZpE5 ; CPU:$E124 PRG:2124 85 E5
sta ZpE6 ; CPU:$E126 PRG:2126 85 E6
lda $05C7,x ; CPU:$E128 PRG:2128 BD C7 05
cmp #$05 ; CPU:$E12B PRG:212B C9 05
bpl SubCE0E4_Block_2 ; CPU:$E12D PRG:212D 10 08
lda #$01 ; CPU:$E12F PRG:212F A9 01
sta $0411 ; CPU:$E131 PRG:2131 8D 11 04
sta Zp4B ; CPU:$E134 PRG:2134 85 4B
rts ; CPU:$E136 PRG:2136 60
; -----------------------------------------------------------------------------
; Routine: SubCE0E4_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.
; -----------------------------------------------------------------------------
SubCE0E4_Block_2:
lda #$B4 ; CPU:$E137 PRG:2137 A9 B4
sta SprCount ; CPU:$E139 PRG:2139 85 39
lda #$00 ; CPU:$E13B PRG:213B A9 00
sta Zp37 ; CPU:$E13D PRG:213D 85 37
sta Zp48 ; CPU:$E13F PRG:213F 85 48
sta $05C7 ; CPU:$E141 PRG:2141 8D C7 05
sta $05C8 ; CPU:$E144 PRG:2144 8D C8 05
lda $C41C,x ; CPU:$E147 PRG:2147 BD 1C C4
sta PtrLo ; CPU:$E14A PRG:214A 85 00
lda #$2F ; CPU:$E14C PRG:214C A9 2F
sta PtrHi ; CPU:$E14E PRG:214E 85 01
lda #$F8 ; CPU:$E150 PRG:2150 A9 F8
sta Ptr2Lo ; CPU:$E152 PRG:2152 85 02
jsr $D69F ; CPU:$E154 PRG:2154 20 9F D6
ldy #$00 ; CPU:$E157 PRG:2157 A0 00
txa ; CPU:$E159 PRG:2159 8A
pha ; CPU:$E15A PRG:215A 48
beq SubCE0E4_Block_3 ; CPU:$E15B PRG:215B F0 02
ldy #$14 ; CPU:$E15D PRG:215D A0 14
; -----------------------------------------------------------------------------
; Routine: SubCE0E4_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.
; -----------------------------------------------------------------------------
SubCE0E4_Block_3:
ldx #$05 ; CPU:$E15F PRG:215F A2 05
lda #$F7 ; CPU:$E161 PRG:2161 A9 F7
; -----------------------------------------------------------------------------
; Routine: SubCE0E4_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.
; -----------------------------------------------------------------------------
SubCE0E4_Block_4:
sta $0250,y ; CPU:$E163 PRG:2163 99 50 02
iny ; CPU:$E166 PRG:2166 C8
iny ; CPU:$E167 PRG:2167 C8
iny ; CPU:$E168 PRG:2168 C8
iny ; CPU:$E169 PRG:2169 C8
dex ; CPU:$E16A PRG:216A CA
bne SubCE0E4_Block_4 ; CPU:$E16B PRG:216B D0 F6
pla ; CPU:$E16D PRG:216D 68
tax ; CPU:$E16E PRG:216E AA
rts ; CPU:$E16F PRG:216F 60
; -----------------------------------------------------------------------------
; Routine: SubCE170
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE170:
ldy #$36 ; CPU:$E170 PRG:2170 A0 36
lda #$00 ; CPU:$E172 PRG:2172 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCE170_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.
; -----------------------------------------------------------------------------
SubCE170_Block:
sta $03E0,y ; CPU:$E174 PRG:2174 99 E0 03
dey ; CPU:$E177 PRG:2177 88
bpl SubCE170_Block ; CPU:$E178 PRG:2178 10 FA
rts ; CPU:$E17A PRG:217A 60
; -----------------------------------------------------------------------------
; Routine: SubCE17B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE17B:
lda SprIndex ; CPU:$E17B PRG:217B A5 4A
cmp #$01 ; CPU:$E17D PRG:217D C9 01
beq SubCE17B_Block ; CPU:$E17F PRG:217F F0 01
rts ; CPU:$E181 PRG:2181 60
; -----------------------------------------------------------------------------
; Routine: SubCE17B_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.
; -----------------------------------------------------------------------------
SubCE17B_Block:
txa ; CPU:$E182 PRG:2182 8A
pha ; CPU:$E183 PRG:2183 48
jsr $E1C1 ; CPU:$E184 PRG:2184 20 C1 E1
lda $0521 ; CPU:$E187 PRG:2187 AD 21 05
sta $03F2 ; CPU:$E18A PRG:218A 8D F2 03
sta $03F3 ; CPU:$E18D PRG:218D 8D F3 03
lda Zp1B ; CPU:$E190 PRG:2190 A5 1B
and #$03 ; CPU:$E192 PRG:2192 29 03
asl a ; CPU:$E194 PRG:2194 0A
tax ; CPU:$E195 PRG:2195 AA
inx ; CPU:$E196 PRG:2196 E8
stx Zp0A ; CPU:$E197 PRG:2197 86 0A
; -----------------------------------------------------------------------------
; Routine: SubCE199
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE199:
ldy #$01 ; CPU:$E199 PRG:2199 A0 01
; -----------------------------------------------------------------------------
; Routine: SubCE199_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.
; -----------------------------------------------------------------------------
SubCE199_Block:
lda $C1B6,x ; CPU:$E19B PRG:219B BD B6 C1
sta $0526,y ; CPU:$E19E PRG:219E 99 26 05
sta $03F5,y ; CPU:$E1A1 PRG:21A1 99 F5 03
sta $03F9,y ; CPU:$E1A4 PRG:21A4 99 F9 03
dex ; CPU:$E1A7 PRG:21A7 CA
dey ; CPU:$E1A8 PRG:21A8 88
bpl SubCE199_Block ; CPU:$E1A9 PRG:21A9 10 F0
lda $0527 ; CPU:$E1AB PRG:21AB AD 27 05
cmp $051F ; CPU:$E1AE PRG:21AE CD 1F 05
bne SubCE199_Block_2 ; CPU:$E1B1 PRG:21B1 D0 09
inc Zp0A ; CPU:$E1B3 PRG:21B3 E6 0A
inc Zp0A ; CPU:$E1B5 PRG:21B5 E6 0A
ldx Zp0A ; CPU:$E1B7 PRG:21B7 A6 0A
jmp $E199 ; CPU:$E1B9 PRG:21B9 4C 99 E1
; -----------------------------------------------------------------------------
; Routine: SubCE199_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.
; -----------------------------------------------------------------------------
SubCE199_Block_2:
pla ; CPU:$E1BC PRG:21BC 68
tax ; CPU:$E1BD PRG:21BD AA
jmp $DBC2 ; CPU:$E1BE PRG:21BE 4C C2 DB
; -----------------------------------------------------------------------------
; Routine: SubCE1C1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE1C1:
txa ; CPU:$E1C1 PRG:21C1 8A
asl a ; CPU:$E1C2 PRG:21C2 0A
asl a ; CPU:$E1C3 PRG:21C3 0A
tay ; CPU:$E1C4 PRG:21C4 A8
; -----------------------------------------------------------------------------
; Routine: SubCE1C1_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.
; -----------------------------------------------------------------------------
SubCE1C1_Block_2:
lda #$00 ; CPU:$E1C5 PRG:21C5 A9 00
sta $03F4,y ; CPU:$E1C7 PRG:21C7 99 F4 03
iny ; CPU:$E1CA PRG:21CA C8
cpy #$04 ; CPU:$E1CB PRG:21CB C0 04
beq SubCE1C1_Block ; CPU:$E1CD PRG:21CD F0 04
cpy #$08 ; CPU:$E1CF PRG:21CF C0 08
bne SubCE1C1_Block_2 ; CPU:$E1D1 PRG:21D1 D0 F2
; -----------------------------------------------------------------------------
; Routine: SubCE1C1_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.
; -----------------------------------------------------------------------------
SubCE1C1_Block:
sta $03F2,x ; CPU:$E1D3 PRG:21D3 9D F2 03
rts ; CPU:$E1D6 PRG:21D6 60
; -----------------------------------------------------------------------------
; 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:
lda Zp4C ; CPU:$E1D7 PRG:21D7 A5 4C
beq SubCE1D7_Block ; CPU:$E1D9 PRG:21D9 F0 01
rts ; CPU:$E1DB PRG:21DB 60
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block:
lda $05D3,x ; CPU:$E1DC PRG:21DC BD D3 05
bne SubCE1D7_Block_2 ; CPU:$E1DF PRG:21DF D0 01
rts ; CPU:$E1E1 PRG:21E1 60
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block_2:
lda $040C ; CPU:$E1E2 PRG:21E2 AD 0C 04
ora $040D ; CPU:$E1E5 PRG:21E5 0D 0D 04
beq SubCE1D7_Block_3 ; CPU:$E1E8 PRG:21E8 F0 01
rts ; CPU:$E1EA PRG:21EA 60
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block_3:
txa ; CPU:$E1EB PRG:21EB 8A
asl a ; CPU:$E1EC PRG:21EC 0A
tay ; CPU:$E1ED PRG:21ED A8
lda a:Zp15,y ; CPU:$E1EE PRG:21EE B9 15 00
cmp #$40 ; CPU:$E1F1 PRG:21F1 C9 40
beq SubCE1D7_Block_4 ; CPU:$E1F3 PRG:21F3 F0 04
sta $0528,x ; CPU:$E1F5 PRG:21F5 9D 28 05
rts ; CPU:$E1F8 PRG:21F8 60
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block_4:
cmp $0528,x ; CPU:$E1F9 PRG:21F9 DD 28 05
bne SubCE1D7_Block_5 ; CPU:$E1FC PRG:21FC D0 01
rts ; CPU:$E1FE PRG:21FE 60
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block_5:
sta $0528,x ; CPU:$E1FF PRG:21FF 9D 28 05
lda $0330 ; CPU:$E202 PRG:2202 AD 30 03
beq SubCE1D7_Block_6 ; CPU:$E205 PRG:2205 F0 06
lda #$00 ; CPU:$E207 PRG:2207 A9 00
sta $0528,x ; CPU:$E209 PRG:2209 9D 28 05
rts ; CPU:$E20C PRG:220C 60
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block_6:
jsr $E1C1 ; CPU:$E20D PRG:220D 20 C1 E1
lda #$40 ; CPU:$E210 PRG:2210 A9 40
sta ZpFD ; CPU:$E212 PRG:2212 85 FD
lda #$00 ; CPU:$E214 PRG:2214 A9 00
sta $05D3,x ; CPU:$E216 PRG:2216 9D D3 05
lda ZpEF ; CPU:$E219 PRG:2219 A5 EF
beq SubCE1D7_Block_7 ; CPU:$E21B PRG:221B F0 1D
txa ; CPU:$E21D PRG:221D 8A
asl a ; CPU:$E21E PRG:221E 0A
asl a ; CPU:$E21F PRG:221F 0A
tay ; CPU:$E220 PRG:2220 A8
lda $0526 ; CPU:$E221 PRG:2221 AD 26 05
sta $03F5,y ; CPU:$E224 PRG:2224 99 F5 03
lda $0527 ; CPU:$E227 PRG:2227 AD 27 05
sta $03F6,y ; CPU:$E22A PRG:222A 99 F6 03
lda $0521 ; CPU:$E22D PRG:222D AD 21 05
sta $03F2,x ; CPU:$E230 PRG:2230 9D F2 03
lda #$00 ; CPU:$E233 PRG:2233 A9 00
sta ZpDF,x ; CPU:$E235 PRG:2235 95 DF
jmp $DBBF ; CPU:$E237 PRG:2237 4C BF DB
; -----------------------------------------------------------------------------
; Routine: SubCE1D7_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.
; -----------------------------------------------------------------------------
SubCE1D7_Block_7:
lda #$00 ; CPU:$E23A PRG:223A A9 00
sta $03F2,x ; CPU:$E23C PRG:223C 9D F2 03
jmp $DC0D ; CPU:$E23F PRG:223F 4C 0D DC
; -----------------------------------------------------------------------------
; Routine: SubCE242
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE242:
txa ; CPU:$E242 PRG:2242 8A
pha ; CPU:$E243 PRG:2243 48
tya ; CPU:$E244 PRG:2244 98
pha ; CPU:$E245 PRG:2245 48
lda Zp4C ; CPU:$E246 PRG:2246 A5 4C
bne SubCE242_Block ; CPU:$E248 PRG:2248 D0 0A
lda #$10 ; CPU:$E24A PRG:224A A9 10
sta PtrHi ; CPU:$E24C PRG:224C 85 01
lda $C41B,x ; CPU:$E24E PRG:224E BD 1B C4
jsr $F17A ; CPU:$E251 PRG:2251 20 7A F1
; -----------------------------------------------------------------------------
; Routine: SubCE242_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.
; -----------------------------------------------------------------------------
SubCE242_Block:
pla ; CPU:$E254 PRG:2254 68
tay ; CPU:$E255 PRG:2255 A8
pla ; CPU:$E256 PRG:2256 68
tax ; CPU:$E257 PRG:2257 AA
rts ; CPU:$E258 PRG:2258 60
; -----------------------------------------------------------------------------
; Routine: SubCE259
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE259:
lda #$30 ; CPU:$E259 PRG:2259 A9 30
sta PtrHi ; CPU:$E25B PRG:225B 85 01
lda #$F9 ; CPU:$E25D PRG:225D A9 F9
jsr $F17A ; CPU:$E25F PRG:225F 20 7A F1
lda #$40 ; CPU:$E262 PRG:2262 A9 40
sta PtrHi ; CPU:$E264 PRG:2264 85 01
lda #$18 ; CPU:$E266 PRG:2266 A9 18
jmp $F17A ; CPU:$E268 PRG:2268 4C 7A F1
; -----------------------------------------------------------------------------
; Routine: SubCE26B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE26B:
lda ZpE8 ; CPU:$E26B PRG:226B A5 E8
bne SubCE26B_Block ; CPU:$E26D PRG:226D D0 0F
lda #$01 ; CPU:$E26F PRG:226F A9 01
sta ZpE8 ; CPU:$E271 PRG:2271 85 E8
lda #$00 ; CPU:$E273 PRG:2273 A9 00
sta Zp4E ; CPU:$E275 PRG:2275 85 4E
sta Zp4F ; CPU:$E277 PRG:2277 85 4F
sta Zp91 ; CPU:$E279 PRG:2279 85 91
sta Zp92 ; CPU:$E27B PRG:227B 85 92
rts ; CPU:$E27D PRG:227D 60
; -----------------------------------------------------------------------------
; Routine: SubCE26B_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.
; -----------------------------------------------------------------------------
SubCE26B_Block:
lda Zp91,x ; CPU:$E27E PRG:227E B5 91
beq SubCE26B_Block_2 ; CPU:$E280 PRG:2280 F0 14
lda ZpBA,x ; CPU:$E282 PRG:2282 B5 BA
cmp #$05 ; CPU:$E284 PRG:2284 C9 05
bne SubCE26B_Block_3 ; CPU:$E286 PRG:2286 D0 07
lda #$03 ; CPU:$E288 PRG:2288 A9 03
sta ObjIndex,x ; CPU:$E28A PRG:228A 95 5F
jmp $E291 ; CPU:$E28C PRG:228C 4C 91 E2
; -----------------------------------------------------------------------------
; Routine: SubCE26B_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.
; -----------------------------------------------------------------------------
SubCE26B_Block_3:
sta BtnState,x ; CPU:$E28F PRG:228F 95 51
; -----------------------------------------------------------------------------
; Routine: SubCE291
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE291:
dec Zp91,x ; CPU:$E291 PRG:2291 D6 91
jmp $E2B3 ; CPU:$E293 PRG:2293 4C B3 E2
; -----------------------------------------------------------------------------
; Routine: SubCE26B_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.
; -----------------------------------------------------------------------------
SubCE26B_Block_2:
lda Zp4E,x ; CPU:$E296 PRG:2296 B5 4E
tay ; CPU:$E298 PRG:2298 A8
lda $0740,y ; CPU:$E299 PRG:2299 B9 40 07
cpx #$00 ; CPU:$E29C PRG:229C E0 00
beq SubCE291_Block ; CPU:$E29E PRG:229E F0 03
lda $0760,y ; CPU:$E2A0 PRG:22A0 B9 60 07
; -----------------------------------------------------------------------------
; Routine: SubCE291_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.
; -----------------------------------------------------------------------------
SubCE291_Block:
sta Zp91,x ; CPU:$E2A3 PRG:22A3 95 91
lda $0700,y ; CPU:$E2A5 PRG:22A5 B9 00 07
cpx #$00 ; CPU:$E2A8 PRG:22A8 E0 00
beq SubCE291_Block_2 ; CPU:$E2AA PRG:22AA F0 03
lda $0720,y ; CPU:$E2AC PRG:22AC B9 20 07
; -----------------------------------------------------------------------------
; Routine: SubCE291_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.
; -----------------------------------------------------------------------------
SubCE291_Block_2:
sta ZpBA,x ; CPU:$E2AF PRG:22AF 95 BA
inc Zp4E,x ; CPU:$E2B1 PRG:22B1 F6 4E
; -----------------------------------------------------------------------------
; Routine: SubCE2B3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2B3:
rts ; CPU:$E2B3 PRG:22B3 60
; -----------------------------------------------------------------------------
; Routine: SubCE2B4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2B4:
lda SndChannel ; CPU:$E2B4 PRG:22B4 A5 EA
cmp #$0A ; CPU:$E2B6 PRG:22B6 C9 0A
bmi SubCE2B4_Block ; CPU:$E2B8 PRG:22B8 30 02
lda #$09 ; CPU:$E2BA PRG:22BA A9 09
; -----------------------------------------------------------------------------
; Routine: SubCE2B4_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.
; -----------------------------------------------------------------------------
SubCE2B4_Block:
sec ; CPU:$E2BC PRG:22BC 38
sbc #$01 ; CPU:$E2BD PRG:22BD E9 01
asl a ; CPU:$E2BF PRG:22BF 0A
tax ; CPU:$E2C0 PRG:22C0 AA
lda Zp22 ; CPU:$E2C1 PRG:22C1 A5 22
sta $04D7,x ; CPU:$E2C3 PRG:22C3 9D D7 04
lda Zp23 ; CPU:$E2C6 PRG:22C6 A5 23
sta $04D8,x ; CPU:$E2C8 PRG:22C8 9D D8 04
rts ; CPU:$E2CB PRG:22CB 60
; -----------------------------------------------------------------------------
; Routine: SubCE2CC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2CC:
lda SndChannel ; CPU:$E2CC PRG:22CC A5 EA
sec ; CPU:$E2CE PRG:22CE 38
sbc #$01 ; CPU:$E2CF PRG:22CF E9 01
asl a ; CPU:$E2D1 PRG:22D1 0A
tax ; CPU:$E2D2 PRG:22D2 AA
lda $04D7,x ; CPU:$E2D3 PRG:22D3 BD D7 04
sta Zp22 ; CPU:$E2D6 PRG:22D6 85 22
lda $04D8,x ; CPU:$E2D8 PRG:22D8 BD D8 04
sta Zp23 ; CPU:$E2DB PRG:22DB 85 23
rts ; CPU:$E2DD PRG:22DD 60
; -----------------------------------------------------------------------------
; Routine: SubCE2DE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2DE:
lda ZpBF ; CPU:$E2DE PRG:22DE A5 BF
bne SubCE2DE_Block ; CPU:$E2E0 PRG:22E0 D0 01
; -----------------------------------------------------------------------------
; Routine: SubCE2DE_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.
; -----------------------------------------------------------------------------
SubCE2DE_Block_2:
rts ; CPU:$E2E2 PRG:22E2 60
; -----------------------------------------------------------------------------
; Routine: SubCE2DE_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.
; -----------------------------------------------------------------------------
SubCE2DE_Block:
jsr $E314 ; CPU:$E2E3 PRG:22E3 20 14 E3
lda $0213 ; CPU:$E2E6 PRG:22E6 AD 13 02
cmp $05F3 ; CPU:$E2E9 PRG:22E9 CD F3 05
bne SubCE2DE_Block_2 ; CPU:$E2EC PRG:22EC D0 F4
lda #$00 ; CPU:$E2EE PRG:22EE A9 00
sta $0400 ; CPU:$E2F0 PRG:22F0 8D 00 04
lda #$B8 ; CPU:$E2F3 PRG:22F3 A9 B8
; -----------------------------------------------------------------------------
; Routine: SubCE2F5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE2F5:
sta $0401 ; CPU:$E2F5 PRG:22F5 8D 01 04
lda $0210 ; CPU:$E2F8 PRG:22F8 AD 10 02
cmp $0401 ; CPU:$E2FB PRG:22FB CD 01 04
bcc SubCE2F5_Block ; CPU:$E2FE PRG:22FE 90 08
lda $0400 ; CPU:$E300 PRG:2300 AD 00 04
sta ZpBC ; CPU:$E303 PRG:2303 85 BC
jmp SubCEA7C ; CPU:$E305 PRG:2305 4C 7C EA
; -----------------------------------------------------------------------------
; Routine: SubCE2F5_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.
; -----------------------------------------------------------------------------
SubCE2F5_Block:
inc $0400 ; CPU:$E308 PRG:2308 EE 00 04
lda $0401 ; CPU:$E30B PRG:230B AD 01 04
sec ; CPU:$E30E PRG:230E 38
sbc #$08 ; CPU:$E30F PRG:230F E9 08
jmp $E2F5 ; CPU:$E311 PRG:2311 4C F5 E2
; -----------------------------------------------------------------------------
; Routine: SubCE314
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE314:
lda Zp33 ; CPU:$E314 PRG:2314 A5 33
beq SubCE314_Block ; CPU:$E316 PRG:2316 F0 10
cmp #$2E ; CPU:$E318 PRG:2318 C9 2E
bmi SubCE314_Block_2 ; CPU:$E31A PRG:231A 30 06
lda $05F5 ; CPU:$E31C PRG:231C AD F5 05
jmp $E324 ; CPU:$E31F PRG:231F 4C 24 E3
; -----------------------------------------------------------------------------
; Routine: SubCE314_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.
; -----------------------------------------------------------------------------
SubCE314_Block_2:
lda #$F8 ; CPU:$E322 PRG:2322 A9 F8
; -----------------------------------------------------------------------------
; Routine: SubCE324
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE324:
sta $02D0 ; CPU:$E324 PRG:2324 8D D0 02
rts ; CPU:$E327 PRG:2327 60
; -----------------------------------------------------------------------------
; Routine: SubCE314_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.
; -----------------------------------------------------------------------------
SubCE314_Block:
lda #$3E ; CPU:$E328 PRG:2328 A9 3E
sta Zp33 ; CPU:$E32A PRG:232A 85 33
rts ; CPU:$E32C PRG:232C 60
; -----------------------------------------------------------------------------
; Routine: SubCE32D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE32D:
lda $0211 ; CPU:$E32D PRG:232D AD 11 02
cmp #$94 ; CPU:$E330 PRG:2330 C9 94
bne SubCE32D_Block ; CPU:$E332 PRG:2332 D0 1E
ldy #$01 ; CPU:$E334 PRG:2334 A0 01
lda #$4B ; CPU:$E336 PRG:2336 A9 4B
; -----------------------------------------------------------------------------
; Routine: SubCE338
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE338:
cmp $0214 ; CPU:$E338 PRG:2338 CD 14 02
bcs SubCE338_Block ; CPU:$E33B PRG:233B B0 07
iny ; CPU:$E33D PRG:233D C8
clc ; CPU:$E33E PRG:233E 18
adc #$10 ; CPU:$E33F PRG:233F 69 10
jmp $E338 ; CPU:$E341 PRG:2341 4C 38 E3
; -----------------------------------------------------------------------------
; Routine: SubCE338_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.
; -----------------------------------------------------------------------------
SubCE338_Block:
sty SndChannel ; CPU:$E344 PRG:2344 84 EA
jsr SubCE6C9 ; CPU:$E346 PRG:2346 20 C9 E6
lda #$00 ; CPU:$E349 PRG:2349 A9 00
sta Zp26 ; CPU:$E34B PRG:234B 85 26
sta Zp27 ; CPU:$E34D PRG:234D 85 27
jsr $E2CC ; CPU:$E34F PRG:234F 20 CC E2
; -----------------------------------------------------------------------------
; Routine: SubCE32D_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.
; -----------------------------------------------------------------------------
SubCE32D_Block:
rts ; CPU:$E352 PRG:2352 60
; -----------------------------------------------------------------------------
; Routine: SubCE353
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE353:
lda $0402 ; CPU:$E353 PRG:2353 AD 02 04
bne SubCE353_Block ; CPU:$E356 PRG:2356 D0 01
rts ; CPU:$E358 PRG:2358 60
; -----------------------------------------------------------------------------
; Routine: SubCE353_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.
; -----------------------------------------------------------------------------
SubCE353_Block:
lda Zp35 ; CPU:$E359 PRG:2359 A5 35
bne SubCE353_Block_2 ; CPU:$E35B PRG:235B D0 29
lda #$10 ; CPU:$E35D PRG:235D A9 10
sta Zp35 ; CPU:$E35F PRG:235F 85 35
lda $0405 ; CPU:$E361 PRG:2361 AD 05 04
bne SubCE353_Block_3 ; CPU:$E364 PRG:2364 D0 09
jsr $E387 ; CPU:$E366 PRG:2366 20 87 E3
lda #$01 ; CPU:$E369 PRG:2369 A9 01
sta $0405 ; CPU:$E36B PRG:236B 8D 05 04
rts ; CPU:$E36E PRG:236E 60
; -----------------------------------------------------------------------------
; Routine: SubCE353_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.
; -----------------------------------------------------------------------------
SubCE353_Block_3:
ldy $0402 ; CPU:$E36F PRG:236F AC 02 04
dey ; CPU:$E372 PRG:2372 88
lda $C299,y ; CPU:$E373 PRG:2373 B9 99 C2
sta $02D8 ; CPU:$E376 PRG:2376 8D D8 02
sta $02DC ; CPU:$E379 PRG:2379 8D DC 02
lda #$18 ; CPU:$E37C PRG:237C A9 18
sta $02DF ; CPU:$E37E PRG:237E 8D DF 02
lda #$00 ; CPU:$E381 PRG:2381 A9 00
sta $0405 ; CPU:$E383 PRG:2383 8D 05 04
; -----------------------------------------------------------------------------
; Routine: SubCE353_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.
; -----------------------------------------------------------------------------
SubCE353_Block_2:
rts ; CPU:$E386 PRG:2386 60
; -----------------------------------------------------------------------------
; 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 #$FF ; CPU:$E387 PRG:2387 A9 FF
sta $02D8 ; CPU:$E389 PRG:2389 8D D8 02
sta $02DC ; CPU:$E38C PRG:238C 8D DC 02
lda #$5E ; CPU:$E38F PRG:238F A9 5E
sta $02D9 ; CPU:$E391 PRG:2391 8D D9 02
sta $02DD ; CPU:$E394 PRG:2394 8D DD 02
lda #$03 ; CPU:$E397 PRG:2397 A9 03
sta $02DA ; CPU:$E399 PRG:2399 8D DA 02
sta $02DE ; CPU:$E39C PRG:239C 8D DE 02
lda #$1F ; CPU:$E39F PRG:239F A9 1F
sta $02DB ; CPU:$E3A1 PRG:23A1 8D DB 02
rts ; CPU:$E3A4 PRG:23A4 60
; -----------------------------------------------------------------------------
; Routine: SubCE3A5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3A5:
lda $02E0 ; CPU:$E3A5 PRG:23A5 AD E0 02
sta PtrHi ; CPU:$E3A8 PRG:23A8 85 01
lda #$22 ; CPU:$E3AA PRG:23AA A9 22
sta Zp03 ; CPU:$E3AC PRG:23AC 85 03
lda #$E0 ; CPU:$E3AE PRG:23AE A9 E0
sta Zp04 ; CPU:$E3B0 PRG:23B0 85 04
lda ZpAF ; CPU:$E3B2 PRG:23B2 A5 AF
bne SubCE3A5_Block_5 ; CPU:$E3B4 PRG:23B4 D0 1B
lda GameState ; CPU:$E3B6 PRG:23B6 A5 EC
cmp #$05 ; CPU:$E3B8 PRG:23B8 C9 05
beq SubCE3FE_Block_17 ; CPU:$E3BA PRG:23BA F0 49
cmp #$16 ; CPU:$E3BC PRG:23BC C9 16
beq SubCE3A5_Block_3 ; CPU:$E3BE PRG:23BE F0 0C
and #$08 ; CPU:$E3C0 PRG:23C0 29 08
cmp #$08 ; CPU:$E3C2 PRG:23C2 C9 08
beq SubCE3A5_Block_5 ; CPU:$E3C4 PRG:23C4 F0 0B
lda ZpBE ; CPU:$E3C6 PRG:23C6 A5 BE
bne SubCE3A5_Block_5 ; CPU:$E3C8 PRG:23C8 D0 07
beq SubCE3F0 ; CPU:$E3CA PRG:23CA F0 24
; -----------------------------------------------------------------------------
; Routine: SubCE3A5_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.
; -----------------------------------------------------------------------------
SubCE3A5_Block_3:
jsr $E4C5 ; CPU:$E3CC PRG:23CC 20 C5 E4
bne SubCE3A5_Block_6 ; CPU:$E3CF PRG:23CF D0 3A
; -----------------------------------------------------------------------------
; Routine: SubCE3A5_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.
; -----------------------------------------------------------------------------
SubCE3A5_Block_5:
lda $040E ; CPU:$E3D1 PRG:23D1 AD 0E 04
and #$01 ; CPU:$E3D4 PRG:23D4 29 01
beq SubCE3F0 ; CPU:$E3D6 PRG:23D6 F0 18
lda ZpB1 ; CPU:$E3D8 PRG:23D8 A5 B1
beq SubCE3A5_Block_7 ; CPU:$E3DA PRG:23DA F0 03
jmp $E481 ; CPU:$E3DC PRG:23DC 4C 81 E4
; -----------------------------------------------------------------------------
; Routine: SubCE3A5_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.
; -----------------------------------------------------------------------------
SubCE3A5_Block_7:
lda $02E3 ; CPU:$E3DF PRG:23DF AD E3 02
clc ; CPU:$E3E2 PRG:23E2 18
adc #$02 ; CPU:$E3E3 PRG:23E3 69 02
sta $02E3 ; CPU:$E3E5 PRG:23E5 8D E3 02
cmp #$D0 ; CPU:$E3E8 PRG:23E8 C9 D0
bcc SubCE3F0 ; CPU:$E3EA PRG:23EA 90 04
lda #$01 ; CPU:$E3EC PRG:23EC A9 01
sta ZpB1 ; CPU:$E3EE PRG:23EE 85 B1
; -----------------------------------------------------------------------------
; Routine: SubCE3F0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3F0:
lda $02E3 ; CPU:$E3F0 PRG:23F0 AD E3 02
sta PtrLo ; CPU:$E3F3 PRG:23F3 85 00
lda $040E ; CPU:$E3F5 PRG:23F5 AD 0E 04
and #$10 ; CPU:$E3F8 PRG:23F8 29 10
beq SubCE3F0_Block ; CPU:$E3FA PRG:23FA F0 0A
lda #$6C ; CPU:$E3FC PRG:23FC A9 6C
; -----------------------------------------------------------------------------
; Routine: SubCE3FE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE3FE:
sta Ptr2Lo ; CPU:$E3FE PRG:23FE 85 02
lda ZpB1 ; CPU:$E400 PRG:2400 A5 B1
jsr $D6D2 ; CPU:$E402 PRG:2402 20 D2 D6
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_17:
rts ; CPU:$E405 PRG:2405 60
; -----------------------------------------------------------------------------
; Routine: SubCE3F0_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.
; -----------------------------------------------------------------------------
SubCE3F0_Block:
lda #$68 ; CPU:$E406 PRG:2406 A9 68
jmp $E3FE ; CPU:$E408 PRG:2408 4C FE E3
; -----------------------------------------------------------------------------
; Routine: SubCE3A5_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.
; -----------------------------------------------------------------------------
SubCE3A5_Block_6:
ldx ZpBD ; CPU:$E40B PRG:240B A6 BD
ldy Zp4D ; CPU:$E40D PRG:240D A4 4D
cmp #$09 ; CPU:$E40F PRG:240F C9 09
bne SubCE3FE_Block ; CPU:$E411 PRG:2411 D0 05
lda $C2D8,y ; CPU:$E413 PRG:2413 B9 D8 C2
bne SubCE3FE_Block_10 ; CPU:$E416 PRG:2416 D0 2B
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block:
cmp #$0A ; CPU:$E418 PRG:2418 C9 0A
bne SubCE3FE_Block_3 ; CPU:$E41A PRG:241A D0 05
lda $C2E1,y ; CPU:$E41C PRG:241C B9 E1 C2
bne SubCE3FE_Block_10 ; CPU:$E41F PRG:241F D0 22
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_3:
cmp #$0B ; CPU:$E421 PRG:2421 C9 0B
bne SubCE3FE_Block_5 ; CPU:$E423 PRG:2423 D0 05
lda $C2E6,y ; CPU:$E425 PRG:2425 B9 E6 C2
bne SubCE3FE_Block_10 ; CPU:$E428 PRG:2428 D0 19
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_5:
cmp #$0C ; CPU:$E42A PRG:242A C9 0C
bne SubCE3FE_Block_7 ; CPU:$E42C PRG:242C D0 05
lda $C2EA,y ; CPU:$E42E PRG:242E B9 EA C2
bne SubCE3FE_Block_10 ; CPU:$E431 PRG:2431 D0 10
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_7:
cmp #$0D ; CPU:$E433 PRG:2433 C9 0D
bne SubCE3FE_Block_9 ; CPU:$E435 PRG:2435 D0 05
lda $C2F1,y ; CPU:$E437 PRG:2437 B9 F1 C2
bne SubCE3FE_Block_10 ; CPU:$E43A PRG:243A D0 07
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_9:
cmp #$0E ; CPU:$E43C PRG:243C C9 0E
bne SubCE3FE_Block_11 ; CPU:$E43E PRG:243E D0 0E
lda $C2F5,y ; CPU:$E440 PRG:2440 B9 F5 C2
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_10:
pha ; CPU:$E443 PRG:2443 48
lda ZpB0 ; CPU:$E444 PRG:2444 A5 B0
beq SubCE3FE_Block_12 ; CPU:$E446 PRG:2446 F0 03
pla ; CPU:$E448 PRG:2448 68
bne SubCE3FE_Block_15 ; CPU:$E449 PRG:2449 D0 14
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_12:
pla ; CPU:$E44B PRG:244B 68
bne UpdateDisplay2 ; CPU:$E44C PRG:244C D0 0B
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_11:
tay ; CPU:$E44E PRG:244E A8
dey ; CPU:$E44F PRG:244F 88
lda ZpB0 ; CPU:$E450 PRG:2450 A5 B0
beq SubCE3FE_Block_14 ; CPU:$E452 PRG:2452 F0 02
bne SubCE3FE_Block_15 ; CPU:$E454 PRG:2454 D0 09
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_14:
lda $C2B0,y ; CPU:$E456 PRG:2456 B9 B0 C2
; -----------------------------------------------------------------------------
; Routine: UpdateDisplay2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateDisplay2:
sta $0470,x ; CPU:$E459 PRG:2459 9D 70 04
sta $02D4 ; CPU:$E45C PRG:245C 8D D4 02
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_15:
lda #$03 ; CPU:$E45F PRG:245F A9 03
sta $02D6 ; CPU:$E461 PRG:2461 8D D6 02
lda $02E3 ; CPU:$E464 PRG:2464 AD E3 02
clc ; CPU:$E467 PRG:2467 18
adc #$04 ; CPU:$E468 PRG:2468 69 04
sta $02D7 ; CPU:$E46A PRG:246A 8D D7 02
ldy ZpB0 ; CPU:$E46D PRG:246D A4 B0
bne SubCE3FE_Block_16 ; CPU:$E46F PRG:246F D0 05
sta $0460,x ; CPU:$E471 PRG:2471 9D 60 04
inc ZpBD ; CPU:$E474 PRG:2474 E6 BD
; -----------------------------------------------------------------------------
; Routine: SubCE3FE_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.
; -----------------------------------------------------------------------------
SubCE3FE_Block_16:
lda #$9C ; CPU:$E476 PRG:2476 A9 9C
sta $02D5 ; CPU:$E478 PRG:2478 8D D5 02
lda #$06 ; CPU:$E47B PRG:247B A9 06
sta GameState ; CPU:$E47D PRG:247D 85 EC
bne SubCE3FE_Block_17 ; CPU:$E47F PRG:247F D0 84
; -----------------------------------------------------------------------------
; Routine: SubCE481
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE481:
lda $02E3 ; CPU:$E481 PRG:2481 AD E3 02
sec ; CPU:$E484 PRG:2484 38
sbc #$02 ; CPU:$E485 PRG:2485 E9 02
sta $02E3 ; CPU:$E487 PRG:2487 8D E3 02
lda SndChannel ; CPU:$E48A PRG:248A A5 EA
cmp #$09 ; CPU:$E48C PRG:248C C9 09
bpl SubCE481_Block_2 ; CPU:$E48E PRG:248E 10 12
cmp #$05 ; CPU:$E490 PRG:2490 C9 05
beq SubCE481_Block_2 ; CPU:$E492 PRG:2492 F0 0E
lda #$68 ; CPU:$E494 PRG:2494 A9 68
; -----------------------------------------------------------------------------
; Routine: SubCE481_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.
; -----------------------------------------------------------------------------
SubCE481_Block_4:
cmp $02E3 ; CPU:$E496 PRG:2496 CD E3 02
bcc SubCE481_Block_3 ; CPU:$E499 PRG:2499 90 04
lda #$00 ; CPU:$E49B PRG:249B A9 00
sta ZpB1 ; CPU:$E49D PRG:249D 85 B1
; -----------------------------------------------------------------------------
; Routine: SubCE481_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.
; -----------------------------------------------------------------------------
SubCE481_Block_3:
jmp $E3F0 ; CPU:$E49F PRG:249F 4C F0 E3
; -----------------------------------------------------------------------------
; Routine: SubCE481_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.
; -----------------------------------------------------------------------------
SubCE481_Block_2:
lda #$B8 ; CPU:$E4A2 PRG:24A2 A9 B8
bne SubCE481_Block_4 ; CPU:$E4A4 PRG:24A4 D0 F0
; -----------------------------------------------------------------------------
; Routine: SubCE4A6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE4A6:
cmp #$FF ; CPU:$E4A6 PRG:24A6 C9 FF
beq SubCE4A6_Block ; CPU:$E4A8 PRG:24A8 F0 0A
cmp $02E3 ; CPU:$E4AA PRG:24AA CD E3 02
bne SubCE4A6_Block_2 ; CPU:$E4AD PRG:24AD D0 0D
inc ZpAD ; CPU:$E4AF PRG:24AF E6 AD
; -----------------------------------------------------------------------------
; Routine: SubCE4B1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE4B1:
lda SndChannel ; CPU:$E4B1 PRG:24B1 A5 EA
rts ; CPU:$E4B3 PRG:24B3 60
; -----------------------------------------------------------------------------
; Routine: SubCE4A6_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.
; -----------------------------------------------------------------------------
SubCE4A6_Block:
lda #$01 ; CPU:$E4B4 PRG:24B4 A9 01
sta ZpBE ; CPU:$E4B6 PRG:24B6 85 BE
lda #$00 ; CPU:$E4B8 PRG:24B8 A9 00
sta ZpAD ; CPU:$E4BA PRG:24BA 85 AD
; -----------------------------------------------------------------------------
; Routine: SubCE4A6_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.
; -----------------------------------------------------------------------------
SubCE4A6_Block_2:
lda #$00 ; CPU:$E4BC PRG:24BC A9 00
rts ; CPU:$E4BE PRG:24BE 60
; -----------------------------------------------------------------------------
; Routine: SubCE4BF
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE4BF:
lda #$F8 ; CPU:$E4BF PRG:24BF A9 F8
sta $0470,y ; CPU:$E4C1 PRG:24C1 99 70 04
rts ; CPU:$E4C4 PRG:24C4 60
; -----------------------------------------------------------------------------
; Routine: SubCE4C5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE4C5:
lda ZpB0 ; CPU:$E4C5 PRG:24C5 A5 B0
bne SubCE502 ; CPU:$E4C7 PRG:24C7 D0 39
ldy ZpAD ; CPU:$E4C9 PRG:24C9 A4 AD
lda SndChannel ; CPU:$E4CB PRG:24CB A5 EA
cmp #$09 ; CPU:$E4CD PRG:24CD C9 09
bcs SubCE4C5_Block ; CPU:$E4CF PRG:24CF B0 20
lda ZpAA ; CPU:$E4D1 PRG:24D1 A5 AA
beq SubCE4C5_Block_2 ; CPU:$E4D3 PRG:24D3 F0 03
jmp $E56B ; CPU:$E4D5 PRG:24D5 4C 6B E5
; -----------------------------------------------------------------------------
; Routine: SubCE4C5_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.
; -----------------------------------------------------------------------------
SubCE4C5_Block_2:
lda ZpAB ; CPU:$E4D8 PRG:24D8 A5 AB
beq SubCE4C5_Block_3 ; CPU:$E4DA PRG:24DA F0 03
jmp $E585 ; CPU:$E4DC PRG:24DC 4C 85 E5
; -----------------------------------------------------------------------------
; Routine: SubCE4C5_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.
; -----------------------------------------------------------------------------
SubCE4C5_Block_3:
lda ZpAC ; CPU:$E4DF PRG:24DF A5 AC
beq SubCE4C5_Block_4 ; CPU:$E4E1 PRG:24E1 F0 03
jmp $E596 ; CPU:$E4E3 PRG:24E3 4C 96 E5
; -----------------------------------------------------------------------------
; Routine: SubCE4C5_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.
; -----------------------------------------------------------------------------
SubCE4C5_Block_4:
lda #$01 ; CPU:$E4E6 PRG:24E6 A9 01
sta Zp93 ; CPU:$E4E8 PRG:24E8 85 93
lda #$00 ; CPU:$E4EA PRG:24EA A9 00
sta ZpAD ; CPU:$E4EC PRG:24EC 85 AD
lda #$00 ; CPU:$E4EE PRG:24EE A9 00
rts ; CPU:$E4F0 PRG:24F0 60
; -----------------------------------------------------------------------------
; Routine: SubCE4C5_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.
; -----------------------------------------------------------------------------
SubCE4C5_Block:
jmp $E5C0 ; CPU:$E4F1 PRG:24F1 4C C0 E5
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block:
sec ; CPU:$E4F4 PRG:24F4 38
sbc #$09 ; CPU:$E4F5 PRG:24F5 E9 09
tax ; CPU:$E4F7 PRG:24F7 AA
lda $C0CB,x ; CPU:$E4F8 PRG:24F8 BD CB C0
cmp ZpBD ; CPU:$E4FB PRG:24FB C5 BD
bne SubCE502_Block_2 ; CPU:$E4FD PRG:24FD D0 10
jmp $E5B9 ; CPU:$E4FF PRG:24FF 4C B9 E5
; -----------------------------------------------------------------------------
; Routine: SubCE502
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE502:
lda SndChannel ; CPU:$E502 PRG:2502 A5 EA
cmp #$09 ; CPU:$E504 PRG:2504 C9 09
bpl SubCE502_Block ; CPU:$E506 PRG:2506 10 EC
lda ZpA9 ; CPU:$E508 PRG:2508 A5 A9
bne SubCE502_Block_2 ; CPU:$E50A PRG:250A D0 03
jmp $E5B9 ; CPU:$E50C PRG:250C 4C B9 E5
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_2:
ldx ZpBD ; CPU:$E50F PRG:250F A6 BD
lda $0470,x ; CPU:$E511 PRG:2511 BD 70 04
cmp #$F8 ; CPU:$E514 PRG:2514 C9 F8
bne SubCE502_Block_3 ; CPU:$E516 PRG:2516 D0 2A
inc ZpBD ; CPU:$E518 PRG:2518 E6 BD
lda ZpA7 ; CPU:$E51A PRG:251A A5 A7
beq SubCE502_Block_4 ; CPU:$E51C PRG:251C F0 05
dec ZpA7 ; CPU:$E51E PRG:251E C6 A7
jmp $E502 ; CPU:$E520 PRG:2520 4C 02 E5
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_4:
lda ZpA8 ; CPU:$E523 PRG:2523 A5 A8
bne SubCE502_Block_5 ; CPU:$E525 PRG:2525 D0 05
beq SubCE502_Block_6 ; CPU:$E527 PRG:2527 F0 08
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_7:
jmp $E5BD ; CPU:$E529 PRG:2529 4C BD E5
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_5:
dec ZpA8 ; CPU:$E52C PRG:252C C6 A8
jmp $E502 ; CPU:$E52E PRG:252E 4C 02 E5
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_6:
lda ZpA9 ; CPU:$E531 PRG:2531 A5 A9
beq SubCE502_Block_7 ; CPU:$E533 PRG:2533 F0 F4
dec ZpA9 ; CPU:$E535 PRG:2535 C6 A9
lda ZpA9 ; CPU:$E537 PRG:2537 A5 A9
cmp #$01 ; CPU:$E539 PRG:2539 C9 01
bne SubCE502_Block_8 ; CPU:$E53B PRG:253B D0 02
sta Zp93 ; CPU:$E53D PRG:253D 85 93
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_8:
jmp $E502 ; CPU:$E53F PRG:253F 4C 02 E5
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_3:
lda ZpA9 ; CPU:$E542 PRG:2542 A5 A9
cmp #$01 ; CPU:$E544 PRG:2544 C9 01
bne PlayMusic ; CPU:$E546 PRG:2546 D0 02
sta Zp93 ; CPU:$E548 PRG:2548 85 93
; -----------------------------------------------------------------------------
; Routine: PlayMusic
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
PlayMusic:
lda $02E3 ; CPU:$E54A PRG:254A AD E3 02
clc ; CPU:$E54D PRG:254D 18
adc #$04 ; CPU:$E54E PRG:254E 69 04
cmp $0460,x ; CPU:$E550 PRG:2550 DD 60 04
bne SubCE5BD ; CPU:$E553 PRG:2553 D0 68
txa ; CPU:$E555 PRG:2555 8A
asl a ; CPU:$E556 PRG:2556 0A
asl a ; CPU:$E557 PRG:2557 0A
tax ; CPU:$E558 PRG:2558 AA
lda ZpDB ; CPU:$E559 PRG:2559 A5 DB
bne SubCE502_Block_9 ; CPU:$E55B PRG:255B D0 0B
lda $0290,x ; CPU:$E55D PRG:255D BD 90 02
sta $02D4 ; CPU:$E560 PRG:2560 8D D4 02
lda #$F8 ; CPU:$E563 PRG:2563 A9 F8
sta $0290,x ; CPU:$E565 PRG:2565 9D 90 02
; -----------------------------------------------------------------------------
; Routine: SubCE502_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.
; -----------------------------------------------------------------------------
SubCE502_Block_9:
jmp $E4B1 ; CPU:$E568 PRG:2568 4C B1 E4
; -----------------------------------------------------------------------------
; Routine: SubCE56B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE56B:
lda $02E3 ; CPU:$E56B PRG:256B AD E3 02
cmp $C2A3,y ; CPU:$E56E PRG:256E D9 A3 C2
bne SubCE5BD ; CPU:$E571 PRG:2571 D0 4A
lda #$01 ; CPU:$E573 PRG:2573 A9 01
pha ; CPU:$E575 PRG:2575 48
dec ZpAA ; CPU:$E576 PRG:2576 C6 AA
beq SubCE5AB_Block ; CPU:$E578 PRG:2578 F0 04
; -----------------------------------------------------------------------------
; Routine: SubCE5AB_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.
; -----------------------------------------------------------------------------
SubCE5AB_Block_2:
inc ZpAD ; CPU:$E57A PRG:257A E6 AD
; -----------------------------------------------------------------------------
; Routine: SubCE57C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE57C:
pla ; CPU:$E57C PRG:257C 68
rts ; CPU:$E57D PRG:257D 60
; -----------------------------------------------------------------------------
; Routine: SubCE5AB_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.
; -----------------------------------------------------------------------------
SubCE5AB_Block:
lda #$00 ; CPU:$E57E PRG:257E A9 00
sta ZpAD ; CPU:$E580 PRG:2580 85 AD
jmp $E57C ; CPU:$E582 PRG:2582 4C 7C E5
; -----------------------------------------------------------------------------
; Routine: SubCE585
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE585:
lda $02E3 ; CPU:$E585 PRG:2585 AD E3 02
cmp $C2AA,y ; CPU:$E588 PRG:2588 D9 AA C2
bne SubCE5BD ; CPU:$E58B PRG:258B D0 30
lda #$02 ; CPU:$E58D PRG:258D A9 02
pha ; CPU:$E58F PRG:258F 48
dec ZpAB ; CPU:$E590 PRG:2590 C6 AB
beq SubCE5AB_Block ; CPU:$E592 PRG:2592 F0 EA
bne SubCE5AB_Block_2 ; CPU:$E594 PRG:2594 D0 E4
; -----------------------------------------------------------------------------
; Routine: SubCE596
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE596:
lda SndChannel ; CPU:$E596 PRG:2596 A5 EA
cmp #$05 ; CPU:$E598 PRG:2598 C9 05
bne SubCE596_Block_2 ; CPU:$E59A PRG:259A D0 0C
lda ZpA5 ; CPU:$E59C PRG:259C A5 A5
cmp #$01 ; CPU:$E59E PRG:259E C9 01
beq SubCE596_Block_2 ; CPU:$E5A0 PRG:25A0 F0 06
lda $C2AE,y ; CPU:$E5A2 PRG:25A2 B9 AE C2
jmp $E5AB ; CPU:$E5A5 PRG:25A5 4C AB E5
; -----------------------------------------------------------------------------
; Routine: SubCE596_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.
; -----------------------------------------------------------------------------
SubCE596_Block_2:
lda $C2A3,y ; CPU:$E5A8 PRG:25A8 B9 A3 C2
; -----------------------------------------------------------------------------
; Routine: SubCE5AB
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5AB:
cmp $02E3 ; CPU:$E5AB PRG:25AB CD E3 02
bne SubCE5BD ; CPU:$E5AE PRG:25AE D0 0D
lda #$03 ; CPU:$E5B0 PRG:25B0 A9 03
pha ; CPU:$E5B2 PRG:25B2 48
dec ZpAC ; CPU:$E5B3 PRG:25B3 C6 AC
beq SubCE5AB_Block ; CPU:$E5B5 PRG:25B5 F0 C7
bne SubCE5AB_Block_2 ; CPU:$E5B7 PRG:25B7 D0 C1
; -----------------------------------------------------------------------------
; Routine: SubCE5B9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5B9:
lda #$01 ; CPU:$E5B9 PRG:25B9 A9 01
sta ZpBE ; CPU:$E5BB PRG:25BB 85 BE
; -----------------------------------------------------------------------------
; Routine: SubCE5BD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5BD:
lda #$00 ; CPU:$E5BD PRG:25BD A9 00
rts ; CPU:$E5BF PRG:25BF 60
; -----------------------------------------------------------------------------
; Routine: SubCE5C0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5C0:
cmp #$09 ; CPU:$E5C0 PRG:25C0 C9 09
bne SubCE5C0_Block ; CPU:$E5C2 PRG:25C2 D0 06
lda $C2B3,y ; CPU:$E5C4 PRG:25C4 B9 B3 C2
jmp $E4A6 ; CPU:$E5C7 PRG:25C7 4C A6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE5C0_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.
; -----------------------------------------------------------------------------
SubCE5C0_Block:
cmp #$0A ; CPU:$E5CA PRG:25CA C9 0A
bne SubCE5C0_Block_2 ; CPU:$E5CC PRG:25CC D0 06
lda $C2BC,y ; CPU:$E5CE PRG:25CE B9 BC C2
jmp $E4A6 ; CPU:$E5D1 PRG:25D1 4C A6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE5C0_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.
; -----------------------------------------------------------------------------
SubCE5C0_Block_2:
cmp #$0B ; CPU:$E5D4 PRG:25D4 C9 0B
bne SubCE5C0_Block_3 ; CPU:$E5D6 PRG:25D6 D0 06
lda $C2C1,y ; CPU:$E5D8 PRG:25D8 B9 C1 C2
jmp $E4A6 ; CPU:$E5DB PRG:25DB 4C A6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE5C0_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.
; -----------------------------------------------------------------------------
SubCE5C0_Block_3:
cmp #$0C ; CPU:$E5DE PRG:25DE C9 0C
bne SubCE5C0_Block_4 ; CPU:$E5E0 PRG:25E0 D0 06
lda $C2C5,y ; CPU:$E5E2 PRG:25E2 B9 C5 C2
jmp $E4A6 ; CPU:$E5E5 PRG:25E5 4C A6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE5C0_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.
; -----------------------------------------------------------------------------
SubCE5C0_Block_4:
cmp #$0D ; CPU:$E5E8 PRG:25E8 C9 0D
bne SubCE5C0_Block_5 ; CPU:$E5EA PRG:25EA D0 06
lda $C2CC,y ; CPU:$E5EC PRG:25EC B9 CC C2
jmp $E4A6 ; CPU:$E5EF PRG:25EF 4C A6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE5C0_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.
; -----------------------------------------------------------------------------
SubCE5C0_Block_5:
lda $C2D0,y ; CPU:$E5F2 PRG:25F2 B9 D0 C2
jmp $E4A6 ; CPU:$E5F5 PRG:25F5 4C A6 E4
; -----------------------------------------------------------------------------
; Routine: SubCE5F8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE5F8:
lda ZpBF ; CPU:$E5F8 PRG:25F8 A5 BF
bne SubCE5F8_Block ; CPU:$E5FA PRG:25FA D0 01
rts ; CPU:$E5FC PRG:25FC 60
; -----------------------------------------------------------------------------
; Routine: SubCE5F8_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.
; -----------------------------------------------------------------------------
SubCE5F8_Block:
lda #$04 ; CPU:$E5FD PRG:25FD A9 04
sta FrameCounter ; CPU:$E5FF PRG:25FF 85 FF
sta $05F2 ; CPU:$E601 PRG:2601 8D F2 05
ldy Zp4D ; CPU:$E604 PRG:2604 A4 4D
dey ; CPU:$E606 PRG:2606 88
lda SndChannel ; CPU:$E607 PRG:2607 A5 EA
cmp #$09 ; CPU:$E609 PRG:2609 C9 09
bcc SubCE5F8_Block_2 ; CPU:$E60B PRG:260B 90 06
jmp $E63D ; CPU:$E60D PRG:260D 4C 3D E6
; -----------------------------------------------------------------------------
; Routine: SubCE63D_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.
; -----------------------------------------------------------------------------
SubCE63D_Block_3:
inc ZpB4 ; CPU:$E610 PRG:2610 E6 B4
rts ; CPU:$E612 PRG:2612 60
; -----------------------------------------------------------------------------
; Routine: SubCE5F8_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.
; -----------------------------------------------------------------------------
SubCE5F8_Block_2:
lda ZpA7 ; CPU:$E613 PRG:2613 A5 A7
beq SubCE5F8_Block_3 ; CPU:$E615 PRG:2615 F0 07
dec ZpA7 ; CPU:$E617 PRG:2617 C6 A7
lda ZpA7 ; CPU:$E619 PRG:2619 A5 A7
jmp $E63D ; CPU:$E61B PRG:261B 4C 3D E6
; -----------------------------------------------------------------------------
; Routine: SubCE5F8_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.
; -----------------------------------------------------------------------------
SubCE5F8_Block_3:
lda ZpA8 ; CPU:$E61E PRG:261E A5 A8
beq SubCE5F8_Block_4 ; CPU:$E620 PRG:2620 F0 05
dec ZpA8 ; CPU:$E622 PRG:2622 C6 A8
jmp $E63D ; CPU:$E624 PRG:2624 4C 3D E6
; -----------------------------------------------------------------------------
; Routine: SubCE5F8_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.
; -----------------------------------------------------------------------------
SubCE5F8_Block_4:
lda ZpA9 ; CPU:$E627 PRG:2627 A5 A9
beq SubCE5F8_Block_6 ; CPU:$E629 PRG:2629 F0 0E
dec ZpA9 ; CPU:$E62B PRG:262B C6 A9
beq SubCE5F8_Block_6 ; CPU:$E62D PRG:262D F0 0A
lda ZpA9 ; CPU:$E62F PRG:262F A5 A9
cmp #$01 ; CPU:$E631 PRG:2631 C9 01
bne SubCE63D ; CPU:$E633 PRG:2633 D0 08
sta Zp93 ; CPU:$E635 PRG:2635 85 93
beq SubCE63D ; CPU:$E637 PRG:2637 F0 04
; -----------------------------------------------------------------------------
; Routine: SubCE5F8_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.
; -----------------------------------------------------------------------------
SubCE5F8_Block_6:
lda #$FF ; CPU:$E639 PRG:2639 A9 FF
sta ZpBE ; CPU:$E63B PRG:263B 85 BE
; -----------------------------------------------------------------------------
; Routine: SubCE63D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE63D:
jsr $E65E ; CPU:$E63D PRG:263D 20 5E E6
lda SndChannel ; CPU:$E640 PRG:2640 A5 EA
cmp #$09 ; CPU:$E642 PRG:2642 C9 09
bmi SubCE63D_Block_2 ; CPU:$E644 PRG:2644 30 0E
sec ; CPU:$E646 PRG:2646 38
sbc #$09 ; CPU:$E647 PRG:2647 E9 09
tax ; CPU:$E649 PRG:2649 AA
lda $C0CB,x ; CPU:$E64A PRG:264A BD CB C0
cmp $0410 ; CPU:$E64D PRG:264D CD 10 04
bne SubCE63D_Block_2 ; CPU:$E650 PRG:2650 D0 02
sta ZpBE ; CPU:$E652 PRG:2652 85 BE
; -----------------------------------------------------------------------------
; Routine: SubCE63D_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.
; -----------------------------------------------------------------------------
SubCE63D_Block_2:
lda $05E0,y ; CPU:$E654 PRG:2654 B9 E0 05
cmp ZpBC ; CPU:$E657 PRG:2657 C5 BC
bne SubCE63D_Block_3 ; CPU:$E659 PRG:2659 D0 B5
jmp $E4BF ; CPU:$E65B PRG:265B 4C BF E4
; -----------------------------------------------------------------------------
; Routine: SubCE65E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE65E:
pha ; CPU:$E65E PRG:265E 48
lda ZpB0 ; CPU:$E65F PRG:265F A5 B0
bne SubCE65E_Block_2 ; CPU:$E661 PRG:2661 D0 02
pla ; CPU:$E663 PRG:2663 68
rts ; CPU:$E664 PRG:2664 60
; -----------------------------------------------------------------------------
; Routine: SubCE65E_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.
; -----------------------------------------------------------------------------
SubCE65E_Block_2:
ldy $0410 ; CPU:$E665 PRG:2665 AC 10 04
inc $0410 ; CPU:$E668 PRG:2668 EE 10 04
lda $0470,y ; CPU:$E66B PRG:266B B9 70 04
cmp #$F8 ; CPU:$E66E PRG:266E C9 F8
beq SubCE65E_Block_2 ; CPU:$E670 PRG:2670 F0 F3
pla ; CPU:$E672 PRG:2672 68
rts ; CPU:$E673 PRG:2673 60
; -----------------------------------------------------------------------------
; Routine: SubCE674
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE674:
lda Zp15 ; CPU:$E674 PRG:2674 A5 15
cmp #$40 ; CPU:$E676 PRG:2676 C9 40
beq SubCE674_Block ; CPU:$E678 PRG:2678 F0 04
sta $0417 ; CPU:$E67A PRG:267A 8D 17 04
rts ; CPU:$E67D PRG:267D 60
; -----------------------------------------------------------------------------
; Routine: SubCE674_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.
; -----------------------------------------------------------------------------
SubCE674_Block:
cmp $0417 ; CPU:$E67E PRG:267E CD 17 04
bne SubCE674_Block_2 ; CPU:$E681 PRG:2681 D0 01
rts ; CPU:$E683 PRG:2683 60
; -----------------------------------------------------------------------------
; Routine: SubCE674_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.
; -----------------------------------------------------------------------------
SubCE674_Block_2:
sta $0417 ; CPU:$E684 PRG:2684 8D 17 04
lda ZpB0 ; CPU:$E687 PRG:2687 A5 B0
bne SubCE674_Block_5 ; CPU:$E689 PRG:2689 D0 0A
lda ZpBF ; CPU:$E68B PRG:268B A5 BF
bne SubCE674_Block_5 ; CPU:$E68D PRG:268D D0 06
lda $05F2 ; CPU:$E68F PRG:268F AD F2 05
bne SubCE674_Block_5 ; CPU:$E692 PRG:2692 D0 01
rts ; CPU:$E694 PRG:2694 60
; -----------------------------------------------------------------------------
; Routine: SubCE674_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.
; -----------------------------------------------------------------------------
SubCE674_Block_5:
lda ObjIndex ; CPU:$E695 PRG:2695 A5 5F
cmp #$04 ; CPU:$E697 PRG:2697 C9 04
bne SubCE674_Block_6 ; CPU:$E699 PRG:2699 D0 01
rts ; CPU:$E69B PRG:269B 60
; -----------------------------------------------------------------------------
; Routine: SubCE674_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.
; -----------------------------------------------------------------------------
SubCE674_Block_6:
lda ZpAF ; CPU:$E69C PRG:269C A5 AF
beq SubCE674_Block_7 ; CPU:$E69E PRG:269E F0 01
rts ; CPU:$E6A0 PRG:26A0 60
; -----------------------------------------------------------------------------
; Routine: SubCE674_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.
; -----------------------------------------------------------------------------
SubCE674_Block_7:
lda #$40 ; CPU:$E6A1 PRG:26A1 A9 40
sta ZpFD ; CPU:$E6A3 PRG:26A3 85 FD
jsr $E6BA ; CPU:$E6A5 PRG:26A5 20 BA E6
lda #$16 ; CPU:$E6A8 PRG:26A8 A9 16
sta GameState ; CPU:$E6AA PRG:26AA 85 EC
lda #$01 ; CPU:$E6AC PRG:26AC A9 01
sta ObjIndex ; CPU:$E6AE PRG:26AE 85 5F
ldy #$04 ; CPU:$E6B0 PRG:26B0 A0 04
ldx #$00 ; CPU:$E6B2 PRG:26B2 A2 00
jsr $C814 ; CPU:$E6B4 PRG:26B4 20 14 C8
jmp $E825 ; CPU:$E6B7 PRG:26B7 4C 25 E8
; -----------------------------------------------------------------------------
; Routine: SubCE6BA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6BA:
jsr UpdateSprites2_4 ; CPU:$E6BA PRG:26BA 20 1F C7
jsr $EE97 ; CPU:$E6BD PRG:26BD 20 97 EE
jsr $EDD7 ; CPU:$E6C0 PRG:26C0 20 D7 ED
jsr $E72C ; CPU:$E6C3 PRG:26C3 20 2C E7
jmp SubCE6C9 ; CPU:$E6C6 PRG:26C6 4C C9 E6
; -----------------------------------------------------------------------------
; Routine: SubCE6C9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6C9:
lda #$00 ; CPU:$E6C9 PRG:26C9 A9 00
sta ZpAD ; CPU:$E6CB PRG:26CB 85 AD
sta ZpBF ; CPU:$E6CD PRG:26CD 85 BF
sta ZpB0 ; CPU:$E6CF PRG:26CF 85 B0
sta ZpDB ; CPU:$E6D1 PRG:26D1 85 DB
; -----------------------------------------------------------------------------
; Routine: SubCE6D3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6D3:
lda #$00 ; CPU:$E6D3 PRG:26D3 A9 00
sta ZpB4 ; CPU:$E6D5 PRG:26D5 85 B4
sta Zp98 ; CPU:$E6D7 PRG:26D7 85 98
sta ZpCF ; CPU:$E6D9 PRG:26D9 85 CF
sta $04D4 ; CPU:$E6DB PRG:26DB 8D D4 04
; -----------------------------------------------------------------------------
; 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:
lda #$00 ; CPU:$E6DE PRG:26DE A9 00
sta ZpB5 ; CPU:$E6E0 PRG:26E0 85 B5
sta $0410 ; CPU:$E6E2 PRG:26E2 8D 10 04
sta ZpBD ; CPU:$E6E5 PRG:26E5 85 BD
sta Zp4D ; CPU:$E6E7 PRG:26E7 85 4D
sta ZpBE ; CPU:$E6E9 PRG:26E9 85 BE
sta Zp93 ; CPU:$E6EB PRG:26EB 85 93
sta $05F2 ; CPU:$E6ED PRG:26ED 8D F2 05
rts ; CPU:$E6F0 PRG:26F0 60
; -----------------------------------------------------------------------------
; Routine: SubCE6F1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE6F1:
ldx #$00 ; CPU:$E6F1 PRG:26F1 A2 00
ldy #$00 ; CPU:$E6F3 PRG:26F3 A0 00
; -----------------------------------------------------------------------------
; Routine: SubCE6F1_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.
; -----------------------------------------------------------------------------
SubCE6F1_Block:
lda $0470,x ; CPU:$E6F5 PRG:26F5 BD 70 04
sta $0290,y ; CPU:$E6F8 PRG:26F8 99 90 02
lda $0460,x ; CPU:$E6FB PRG:26FB BD 60 04
sta $0293,y ; CPU:$E6FE PRG:26FE 99 93 02
lda #$9C ; CPU:$E701 PRG:2701 A9 9C
sta $0291,y ; CPU:$E703 PRG:2703 99 91 02
lda #$03 ; CPU:$E706 PRG:2706 A9 03
sta $0292,y ; CPU:$E708 PRG:2708 99 92 02
inx ; CPU:$E70B PRG:270B E8
iny ; CPU:$E70C PRG:270C C8
iny ; CPU:$E70D PRG:270D C8
iny ; CPU:$E70E PRG:270E C8
iny ; CPU:$E70F PRG:270F C8
cpx #$0D ; CPU:$E710 PRG:2710 E0 0D
bmi SubCE6F1_Block ; CPU:$E712 PRG:2712 30 E1
rts ; CPU:$E714 PRG:2714 60
; -----------------------------------------------------------------------------
; Routine: SubCE715
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE715:
lda ZpDB ; CPU:$E715 PRG:2715 A5 DB
bne SubCE715_Block ; CPU:$E717 PRG:2717 D0 01
rts ; CPU:$E719 PRG:2719 60
; -----------------------------------------------------------------------------
; Routine: SubCE715_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.
; -----------------------------------------------------------------------------
SubCE715_Block:
lda Zp33 ; CPU:$E71A PRG:271A A5 33
bne SubCE715_Block_2 ; CPU:$E71C PRG:271C D0 04
lda #$3E ; CPU:$E71E PRG:271E A9 3E
sta Zp33 ; CPU:$E720 PRG:2720 85 33
; -----------------------------------------------------------------------------
; Routine: SubCE715_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.
; -----------------------------------------------------------------------------
SubCE715_Block_2:
cmp #$1F ; CPU:$E722 PRG:2722 C9 1F
bpl SubCE715_Block_3 ; CPU:$E724 PRG:2724 10 03
jmp $E6F1 ; CPU:$E726 PRG:2726 4C F1 E6
; -----------------------------------------------------------------------------
; Routine: SubCE715_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.
; -----------------------------------------------------------------------------
SubCE715_Block_3:
jmp $E73F ; CPU:$E729 PRG:2729 4C 3F E7
; -----------------------------------------------------------------------------
; Routine: SubCE72C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE72C:
ldx #$1E ; CPU:$E72C PRG:272C A2 1E
; -----------------------------------------------------------------------------
; Routine: SubCE72C_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.
; -----------------------------------------------------------------------------
SubCE72C_Block:
lda #$F7 ; CPU:$E72E PRG:272E A9 F7
sta $05F5 ; CPU:$E730 PRG:2730 8D F5 05
sta $02D0 ; CPU:$E733 PRG:2733 8D D0 02
sta $02D4 ; CPU:$E736 PRG:2736 8D D4 02
sta $0460,x ; CPU:$E739 PRG:2739 9D 60 04
dex ; CPU:$E73C PRG:273C CA
bpl SubCE72C_Block ; CPU:$E73D PRG:273D 10 EF
; -----------------------------------------------------------------------------
; Routine: SubCE73F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE73F:
ldx #$34 ; CPU:$E73F PRG:273F A2 34
; -----------------------------------------------------------------------------
; Routine: SubCE73F_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.
; -----------------------------------------------------------------------------
SubCE73F_Block:
lda #$F8 ; CPU:$E741 PRG:2741 A9 F8
sta $028F,x ; CPU:$E743 PRG:2743 9D 8F 02
dex ; CPU:$E746 PRG:2746 CA
bne SubCE73F_Block ; CPU:$E747 PRG:2747 D0 F8
rts ; CPU:$E749 PRG:2749 60
; -----------------------------------------------------------------------------
; Routine: SubCE74A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE74A:
lda ZpBF ; CPU:$E74A PRG:274A A5 BF
bne SubCE74A_Block_5 ; CPU:$E74C PRG:274C D0 06
lda GameState ; CPU:$E74E PRG:274E A5 EC
cmp #$06 ; CPU:$E750 PRG:2750 C9 06
beq SubCE74A_Block_2 ; CPU:$E752 PRG:2752 F0 01
; -----------------------------------------------------------------------------
; Routine: SubCE74A_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.
; -----------------------------------------------------------------------------
SubCE74A_Block_5:
rts ; CPU:$E754 PRG:2754 60
; -----------------------------------------------------------------------------
; Routine: SubCE74A_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.
; -----------------------------------------------------------------------------
SubCE74A_Block_2:
jsr SubCD556 ; CPU:$E755 PRG:2755 20 56 D5
bne SubCE74A_Block_3 ; CPU:$E758 PRG:2758 D0 01
rts ; CPU:$E75A PRG:275A 60
; -----------------------------------------------------------------------------
; Routine: SubCE74A_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.
; -----------------------------------------------------------------------------
SubCE74A_Block_3:
lda Zp8C ; CPU:$E75B PRG:275B A5 8C
sec ; CPU:$E75D PRG:275D 38
sbc #$10 ; CPU:$E75E PRG:275E E9 10
sta $05F3 ; CPU:$E760 PRG:2760 8D F3 05
lda $02E3 ; CPU:$E763 PRG:2763 AD E3 02
cmp Zp8C ; CPU:$E766 PRG:2766 C5 8C
bcs SubCE74A_Block_5 ; CPU:$E768 PRG:2768 B0 EA
lda $02EB ; CPU:$E76A PRG:276A AD EB 02
clc ; CPU:$E76D PRG:276D 18
adc #$08 ; CPU:$E76E PRG:276E 69 08
cmp Zp8C ; CPU:$E770 PRG:2770 C5 8C
bcc SubCE74A_Block_5 ; CPU:$E772 PRG:2772 90 E0
txa ; CPU:$E774 PRG:2774 8A
pha ; CPU:$E775 PRG:2775 48
lda ZpB0 ; CPU:$E776 PRG:2776 A5 B0
beq SubCE74A_Block_6 ; CPU:$E778 PRG:2778 F0 22
lda ZpDB ; CPU:$E77A PRG:277A A5 DB
beq SubCE74A_Block_7 ; CPU:$E77C PRG:277C F0 17
jsr $E6F1 ; CPU:$E77E PRG:277E 20 F1 E6
lda #$00 ; CPU:$E781 PRG:2781 A9 00
sta ZpDB ; CPU:$E783 PRG:2783 85 DB
lda ZpBD ; CPU:$E785 PRG:2785 A5 BD
asl a ; CPU:$E787 PRG:2787 0A
asl a ; CPU:$E788 PRG:2788 0A
tax ; CPU:$E789 PRG:2789 AA
lda $0290,x ; CPU:$E78A PRG:278A BD 90 02
sta $02D4 ; CPU:$E78D PRG:278D 8D D4 02
lda #$F7 ; CPU:$E790 PRG:2790 A9 F7
sta $0290,x ; CPU:$E792 PRG:2792 9D 90 02
; -----------------------------------------------------------------------------
; Routine: SubCE74A_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.
; -----------------------------------------------------------------------------
SubCE74A_Block_7:
inc ZpBD ; CPU:$E795 PRG:2795 E6 BD
ldx ZpBD ; CPU:$E797 PRG:2797 A6 BD
jmp $E7A0 ; CPU:$E799 PRG:2799 4C A0 E7
; -----------------------------------------------------------------------------
; Routine: SubCE74A_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.
; -----------------------------------------------------------------------------
SubCE74A_Block_6:
inc Zp4D ; CPU:$E79C PRG:279C E6 4D
ldx Zp4D ; CPU:$E79E PRG:279E A6 4D
; -----------------------------------------------------------------------------
; Routine: SubCE7A0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7A0:
lda SndChannel ; CPU:$E7A0 PRG:27A0 A5 EA
cmp #$08 ; CPU:$E7A2 PRG:27A2 C9 08
bne SubCE7A0_Block_6 ; CPU:$E7A4 PRG:27A4 D0 1D
cpx #$04 ; CPU:$E7A6 PRG:27A6 E0 04
bmi SubCE7A0_Block_6 ; CPU:$E7A8 PRG:27A8 30 19
lda ZpA3 ; CPU:$E7AA PRG:27AA A5 A3
cmp #$03 ; CPU:$E7AC PRG:27AC C9 03
bne SubCE7A0_Block_3 ; CPU:$E7AE PRG:27AE D0 01
inx ; CPU:$E7B0 PRG:27B0 E8
; -----------------------------------------------------------------------------
; Routine: SubCE7A0_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.
; -----------------------------------------------------------------------------
SubCE7A0_Block_3:
cpx #$04 ; CPU:$E7B1 PRG:27B1 E0 04
bne SubCE7A0_Block_4 ; CPU:$E7B3 PRG:27B3 D0 03
jsr $E7F5 ; CPU:$E7B5 PRG:27B5 20 F5 E7
; -----------------------------------------------------------------------------
; Routine: SubCE7A0_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.
; -----------------------------------------------------------------------------
SubCE7A0_Block_4:
cpx #$08 ; CPU:$E7B8 PRG:27B8 E0 08
bmi SubCE7A0_Block_6 ; CPU:$E7BA PRG:27BA 30 07
lda ZpA4 ; CPU:$E7BC PRG:27BC A5 A4
cmp #$03 ; CPU:$E7BE PRG:27BE C9 03
bne SubCE7A0_Block_6 ; CPU:$E7C0 PRG:27C0 D0 01
inx ; CPU:$E7C2 PRG:27C2 E8
; -----------------------------------------------------------------------------
; Routine: SubCE7A0_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.
; -----------------------------------------------------------------------------
SubCE7A0_Block_6:
cpx #$08 ; CPU:$E7C3 PRG:27C3 E0 08
bne SubCE7A0_Block_7 ; CPU:$E7C5 PRG:27C5 D0 03
jsr $E7F5 ; CPU:$E7C7 PRG:27C7 20 F5 E7
; -----------------------------------------------------------------------------
; Routine: SubCE7A0_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.
; -----------------------------------------------------------------------------
SubCE7A0_Block_7:
stx Zp98 ; CPU:$E7CA PRG:27CA 86 98
lda $02D4 ; CPU:$E7CC PRG:27CC AD D4 02
sta $05F5 ; CPU:$E7CF PRG:27CF 8D F5 05
lda $02D7 ; CPU:$E7D2 PRG:27D2 AD D7 02
sta $02D3 ; CPU:$E7D5 PRG:27D5 8D D3 02
lda #$5E ; CPU:$E7D8 PRG:27D8 A9 5E
sta $02D1 ; CPU:$E7DA PRG:27DA 8D D1 02
lda #$03 ; CPU:$E7DD PRG:27DD A9 03
sta $02D2 ; CPU:$E7DF PRG:27DF 8D D2 02
lda #$F7 ; CPU:$E7E2 PRG:27E2 A9 F7
sta $02D4 ; CPU:$E7E4 PRG:27E4 8D D4 02
lda #$16 ; CPU:$E7E7 PRG:27E7 A9 16
sta ZpBF ; CPU:$E7E9 PRG:27E9 85 BF
sta GameState ; CPU:$E7EB PRG:27EB 85 EC
lda #$00 ; CPU:$E7ED PRG:27ED A9 00
sta $05F2 ; CPU:$E7EF PRG:27EF 8D F2 05
pla ; CPU:$E7F2 PRG:27F2 68
tax ; CPU:$E7F3 PRG:27F3 AA
rts ; CPU:$E7F4 PRG:27F4 60
; -----------------------------------------------------------------------------
; Routine: SubCE7F5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7F5:
lda #$01 ; CPU:$E7F5 PRG:27F5 A9 01
eor ZpB1 ; CPU:$E7F7 PRG:27F7 45 B1
sta ZpB1 ; CPU:$E7F9 PRG:27F9 85 B1
rts ; CPU:$E7FB PRG:27FB 60
; -----------------------------------------------------------------------------
; Routine: SubCE7FC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE7FC:
lda GameState ; CPU:$E7FC PRG:27FC A5 EC
cmp #$05 ; CPU:$E7FE PRG:27FE C9 05
beq SubCE7FC_Block ; CPU:$E800 PRG:2800 F0 01
rts ; CPU:$E802 PRG:2802 60
; -----------------------------------------------------------------------------
; Routine: SubCE7FC_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.
; -----------------------------------------------------------------------------
SubCE7FC_Block:
lda #$09 ; CPU:$E803 PRG:2803 A9 09
cmp SndChannel ; CPU:$E805 PRG:2805 C5 EA
bpl SubCE7FC_Block_2 ; CPU:$E807 PRG:2807 10 02
sta SndChannel ; CPU:$E809 PRG:2809 85 EA
; -----------------------------------------------------------------------------
; Routine: SubCE7FC_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.
; -----------------------------------------------------------------------------
SubCE7FC_Block_2:
inc $0402 ; CPU:$E80B PRG:280B EE 02 04
jsr $EC0F ; CPU:$E80E PRG:280E 20 0F EC
jsr $EB15 ; CPU:$E811 PRG:2811 20 15 EB
jsr $EC1B ; CPU:$E814 PRG:2814 20 1B EC
jsr $E6BA ; CPU:$E817 PRG:2817 20 BA E6
lda #$01 ; CPU:$E81A PRG:281A A9 01
sta GameState ; CPU:$E81C PRG:281C 85 EC
lda #$00 ; CPU:$E81E PRG:281E A9 00
sta $04FB ; CPU:$E820 PRG:2820 8D FB 04
sta Zp50 ; CPU:$E823 PRG:2823 85 50
; -----------------------------------------------------------------------------
; Routine: SubCE825
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE825:
lda #$03 ; CPU:$E825 PRG:2825 A9 03
sta $02D6 ; CPU:$E827 PRG:2827 8D D6 02
lda #$5F ; CPU:$E82A PRG:282A A9 5F
sta PtrHi ; CPU:$E82C PRG:282C 85 01
lda #$22 ; CPU:$E82E PRG:282E A9 22
sta Zp03 ; CPU:$E830 PRG:2830 85 03
lda #$E0 ; CPU:$E832 PRG:2832 A9 E0
sta PtrLo ; CPU:$E834 PRG:2834 85 00
lda #$68 ; CPU:$E836 PRG:2836 A9 68
sta Ptr2Lo ; CPU:$E838 PRG:2838 85 02
lda #$E0 ; CPU:$E83A PRG:283A A9 E0
sta Zp04 ; CPU:$E83C PRG:283C 85 04
ldx #$D0 ; CPU:$E83E PRG:283E A2 D0
ldy #$01 ; CPU:$E840 PRG:2840 A0 01
lda SndChannel ; CPU:$E842 PRG:2842 A5 EA
cmp #$05 ; CPU:$E844 PRG:2844 C9 05
bne SubCE825_Block ; CPU:$E846 PRG:2846 D0 28
; -----------------------------------------------------------------------------
; Routine: SubCE825_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.
; -----------------------------------------------------------------------------
SubCE825_Block_2:
ldx #$BA ; CPU:$E848 PRG:2848 A2 BA
ldy #$00 ; CPU:$E84A PRG:284A A0 00
; -----------------------------------------------------------------------------
; Routine: SubCE825_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.
; -----------------------------------------------------------------------------
SubCE825_Block_3:
stx PtrLo ; CPU:$E84C PRG:284C 86 00
sty ZpB1 ; CPU:$E84E PRG:284E 84 B1
jsr $D6CC ; CPU:$E850 PRG:2850 20 CC D6
lda #$10 ; CPU:$E853 PRG:2853 A9 10
sta PtrLo ; CPU:$E855 PRG:2855 85 00
lda #$5F ; CPU:$E857 PRG:2857 A9 5F
sta PtrHi ; CPU:$E859 PRG:2859 85 01
lda #$84 ; CPU:$E85B PRG:285B A9 84
sta Ptr2Lo ; CPU:$E85D PRG:285D 85 02
lda #$F0 ; CPU:$E85F PRG:285F A9 F0
sta Zp04 ; CPU:$E861 PRG:2861 85 04
lda #$22 ; CPU:$E863 PRG:2863 A9 22
sta Zp03 ; CPU:$E865 PRG:2865 85 03
jsr $D6CC ; CPU:$E867 PRG:2867 20 CC D6
lda #$00 ; CPU:$E86A PRG:286A A9 00
sta $040F ; CPU:$E86C PRG:286C 8D 0F 04
rts ; CPU:$E86F PRG:286F 60
; -----------------------------------------------------------------------------
; Routine: SubCE825_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.
; -----------------------------------------------------------------------------
SubCE825_Block:
cmp #$09 ; CPU:$E870 PRG:2870 C9 09
bpl SubCE825_Block_2 ; CPU:$E872 PRG:2872 10 D4
bne SubCE825_Block_3 ; CPU:$E874 PRG:2874 D0 D6
; -----------------------------------------------------------------------------
; Routine: SubCE876
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE876:
lda $0420 ; CPU:$E876 PRG:2876 AD 20 04
bne SubCE876_Block ; CPU:$E879 PRG:2879 D0 01
rts ; CPU:$E87B PRG:287B 60
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block:
jsr $E72C ; CPU:$E87C PRG:287C 20 2C E7
lda Zp50 ; CPU:$E87F PRG:287F A5 50
beq SubCE876_Block_2 ; CPU:$E881 PRG:2881 F0 08
lda #$00 ; CPU:$E883 PRG:2883 A9 00
sta Zp50 ; CPU:$E885 PRG:2885 85 50
lda ZpAF ; CPU:$E887 PRG:2887 A5 AF
beq SubCE876_Block_3 ; CPU:$E889 PRG:2889 F0 72
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block_2:
lda ZpAF ; CPU:$E88B PRG:288B A5 AF
beq SubCE876_Block_4 ; CPU:$E88D PRG:288D F0 0B
lda #$00 ; CPU:$E88F PRG:288F A9 00
sta $0420 ; CPU:$E891 PRG:2891 8D 20 04
sta $0404 ; CPU:$E894 PRG:2894 8D 04 04
sta ZpAF ; CPU:$E897 PRG:2897 85 AF
rts ; CPU:$E899 PRG:2899 60
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block_4:
lda $0404 ; CPU:$E89A PRG:289A AD 04 04
bne SubCE876_Block_5 ; CPU:$E89D PRG:289D D0 2A
lda #$40 ; CPU:$E89F PRG:289F A9 40
bit $02F2 ; CPU:$E8A1 PRG:28A1 2C F2 02
bne SubCE876_Block_6 ; CPU:$E8A4 PRG:28A4 D0 08
lda $02F3 ; CPU:$E8A6 PRG:28A6 AD F3 02
cmp #$28 ; CPU:$E8A9 PRG:28A9 C9 28
beq SubCE876_Block_7 ; CPU:$E8AB PRG:28AB F0 08
; -----------------------------------------------------------------------------
; Routine: SubCE8AD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE8AD:
rts ; CPU:$E8AD PRG:28AD 60
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block_6:
lda $02F3 ; CPU:$E8AE PRG:28AE AD F3 02
cmp #$20 ; CPU:$E8B1 PRG:28B1 C9 20
bne SubCE8AD ; CPU:$E8B3 PRG:28B3 D0 F8
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block_7:
lda #$68 ; CPU:$E8B5 PRG:28B5 A9 68
sta $0240 ; CPU:$E8B7 PRG:28B7 8D 40 02
lda #$F0 ; CPU:$E8BA PRG:28BA A9 F0
sta $0241 ; CPU:$E8BC PRG:28BC 8D 41 02
lda #$03 ; CPU:$E8BF PRG:28BF A9 03
sta $0242 ; CPU:$E8C1 PRG:28C1 8D 42 02
lda #$28 ; CPU:$E8C4 PRG:28C4 A9 28
sta $0243 ; CPU:$E8C6 PRG:28C6 8D 43 02
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block_5:
inc $0240 ; CPU:$E8C9 PRG:28C9 EE 40 02
lda $0240 ; CPU:$E8CC PRG:28CC AD 40 02
ldy $0402 ; CPU:$E8CF PRG:28CF AC 02 04
dey ; CPU:$E8D2 PRG:28D2 88
cmp $C299,y ; CPU:$E8D3 PRG:28D3 D9 99 C2
beq SubCE8AD_Block ; CPU:$E8D6 PRG:28D6 F0 06
inc $0404 ; CPU:$E8D8 PRG:28D8 EE 04 04
jmp $E8AD ; CPU:$E8DB PRG:28DB 4C AD E8
; -----------------------------------------------------------------------------
; Routine: SubCE8AD_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.
; -----------------------------------------------------------------------------
SubCE8AD_Block:
ldx #$04 ; CPU:$E8DE PRG:28DE A2 04
; -----------------------------------------------------------------------------
; Routine: SubCE8E0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE8E0:
cpy #$00 ; CPU:$E8E0 PRG:28E0 C0 00
beq SubCE8E0_Block_2 ; CPU:$E8E2 PRG:28E2 F0 08
inx ; CPU:$E8E4 PRG:28E4 E8
inx ; CPU:$E8E5 PRG:28E5 E8
inx ; CPU:$E8E6 PRG:28E6 E8
inx ; CPU:$E8E7 PRG:28E7 E8
dey ; CPU:$E8E8 PRG:28E8 88
jmp $E8E0 ; CPU:$E8E9 PRG:28E9 4C E0 E8
; -----------------------------------------------------------------------------
; Routine: SubCE8E0_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.
; -----------------------------------------------------------------------------
SubCE8E0_Block_2:
lda $0240,y ; CPU:$E8EC PRG:28EC B9 40 02
sta $0240,x ; CPU:$E8EF PRG:28EF 9D 40 02
iny ; CPU:$E8F2 PRG:28F2 C8
inx ; CPU:$E8F3 PRG:28F3 E8
cpy #$04 ; CPU:$E8F4 PRG:28F4 C0 04
bne SubCE8E0_Block_2 ; CPU:$E8F6 PRG:28F6 D0 F4
lda #$F7 ; CPU:$E8F8 PRG:28F8 A9 F7
sta $0240 ; CPU:$E8FA PRG:28FA 8D 40 02
; -----------------------------------------------------------------------------
; Routine: SubCE876_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.
; -----------------------------------------------------------------------------
SubCE876_Block_3:
lda #$00 ; CPU:$E8FD PRG:28FD A9 00
sta $0420 ; CPU:$E8FF PRG:28FF 8D 20 04
sta $0404 ; CPU:$E902 PRG:2902 8D 04 04
jsr $E9E7 ; CPU:$E905 PRG:2905 20 E7 E9
lda #$20 ; CPU:$E908 PRG:2908 A9 20
sta GameState ; CPU:$E90A PRG:290A 85 EC
lda #$00 ; CPU:$E90C PRG:290C A9 00
sta $04FC ; CPU:$E90E PRG:290E 8D FC 04
rts ; CPU:$E911 PRG:2911 60
; -----------------------------------------------------------------------------
; Routine: SubCE912
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE912:
lda Zp50 ; CPU:$E912 PRG:2912 A5 50
beq SubCE912_Block ; CPU:$E914 PRG:2914 F0 04
lda ZpAF ; CPU:$E916 PRG:2916 A5 AF
beq SubCE912_Block_3 ; CPU:$E918 PRG:2918 F0 09
; -----------------------------------------------------------------------------
; Routine: SubCE912_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.
; -----------------------------------------------------------------------------
SubCE912_Block:
lda ZpAF ; CPU:$E91A PRG:291A A5 AF
beq SubCE912_Block_3 ; CPU:$E91C PRG:291C F0 05
lda #$02 ; CPU:$E91E PRG:291E A9 02
sta ZpFD ; CPU:$E920 PRG:2920 85 FD
rts ; CPU:$E922 PRG:2922 60
; -----------------------------------------------------------------------------
; Routine: SubCE912_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.
; -----------------------------------------------------------------------------
SubCE912_Block_3:
lda #$20 ; CPU:$E923 PRG:2923 A9 20
sta ZpFD ; CPU:$E925 PRG:2925 85 FD
rts ; CPU:$E927 PRG:2927 60
; -----------------------------------------------------------------------------
; Routine: SubCE928
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE928:
lda GameState ; CPU:$E928 PRG:2928 A5 EC
cmp #$05 ; CPU:$E92A PRG:292A C9 05
bcc SubCE928_Block ; CPU:$E92C PRG:292C 90 40
lda $040E ; CPU:$E92E PRG:292E AD 0E 04
and #$01 ; CPU:$E931 PRG:2931 29 01
beq SubCE949 ; CPU:$E933 PRG:2933 F0 14
lda $040F ; CPU:$E935 PRG:2935 AD 0F 04
bne SubCE928_Block_2 ; CPU:$E938 PRG:2938 D0 35
inc $02F3 ; CPU:$E93A PRG:293A EE F3 02
lda $02F3 ; CPU:$E93D PRG:293D AD F3 02
cmp #$30 ; CPU:$E940 PRG:2940 C9 30
bcc SubCE949 ; CPU:$E942 PRG:2942 90 05
lda #$01 ; CPU:$E944 PRG:2944 A9 01
sta $040F ; CPU:$E946 PRG:2946 8D 0F 04
; -----------------------------------------------------------------------------
; Routine: SubCE949
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE949:
lda $02F3 ; CPU:$E949 PRG:2949 AD F3 02
sta PtrLo ; CPU:$E94C PRG:294C 85 00
lda $02F0 ; CPU:$E94E PRG:294E AD F0 02
sta PtrHi ; CPU:$E951 PRG:2951 85 01
lda #$22 ; CPU:$E953 PRG:2953 A9 22
sta Zp03 ; CPU:$E955 PRG:2955 85 03
lda #$F0 ; CPU:$E957 PRG:2957 A9 F0
sta Zp04 ; CPU:$E959 PRG:2959 85 04
ldy #$84 ; CPU:$E95B PRG:295B A0 84
lda $040E ; CPU:$E95D PRG:295D AD 0E 04
and #$10 ; CPU:$E960 PRG:2960 29 10
beq SubCE949_Block ; CPU:$E962 PRG:2962 F0 02
ldy #$88 ; CPU:$E964 PRG:2964 A0 88
; -----------------------------------------------------------------------------
; Routine: SubCE949_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.
; -----------------------------------------------------------------------------
SubCE949_Block:
sty Ptr2Lo ; CPU:$E966 PRG:2966 84 02
lda $040F ; CPU:$E968 PRG:2968 AD 0F 04
jsr $D6D2 ; CPU:$E96B PRG:296B 20 D2 D6
; -----------------------------------------------------------------------------
; Routine: SubCE928_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.
; -----------------------------------------------------------------------------
SubCE928_Block:
rts ; CPU:$E96E PRG:296E 60
; -----------------------------------------------------------------------------
; Routine: SubCE928_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.
; -----------------------------------------------------------------------------
SubCE928_Block_2:
lda $02F3 ; CPU:$E96F PRG:296F AD F3 02
sec ; CPU:$E972 PRG:2972 38
sbc #$01 ; CPU:$E973 PRG:2973 E9 01
sta $02F3 ; CPU:$E975 PRG:2975 8D F3 02
cmp #$10 ; CPU:$E978 PRG:2978 C9 10
bcs SubCE949_Block_2 ; CPU:$E97A PRG:297A B0 05
lda #$00 ; CPU:$E97C PRG:297C A9 00
sta $040F ; CPU:$E97E PRG:297E 8D 0F 04
; -----------------------------------------------------------------------------
; Routine: SubCE949_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.
; -----------------------------------------------------------------------------
SubCE949_Block_2:
jmp $E949 ; CPU:$E981 PRG:2981 4C 49 E9
; -----------------------------------------------------------------------------
; Routine: SubCE984
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE984:
lda GameState ; CPU:$E984 PRG:2984 A5 EC
cmp #$20 ; CPU:$E986 PRG:2986 C9 20
beq SubCE984_Block ; CPU:$E988 PRG:2988 F0 01
rts ; CPU:$E98A PRG:298A 60
; -----------------------------------------------------------------------------
; Routine: SubCE984_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.
; -----------------------------------------------------------------------------
SubCE984_Block:
lda $04D5 ; CPU:$E98B PRG:298B AD D5 04
beq SubCE984_Block_2 ; CPU:$E98E PRG:298E F0 21
lda Zp31 ; CPU:$E990 PRG:2990 A5 31
bne SubCE984_Block_3 ; CPU:$E992 PRG:2992 D0 1C
lda #$02 ; CPU:$E994 PRG:2994 A9 02
sta Zp31 ; CPU:$E996 PRG:2996 85 31
ldx #$00 ; CPU:$E998 PRG:2998 A2 00
lda $040E ; CPU:$E99A PRG:299A AD 0E 04
and #$02 ; CPU:$E99D PRG:299D 29 02
cmp #$02 ; CPU:$E99F PRG:299F C9 02
bne SubCE984_Block_4 ; CPU:$E9A1 PRG:29A1 D0 04
lda #$08 ; CPU:$E9A3 PRG:29A3 A9 08
sta FrameCounter ; CPU:$E9A5 PRG:29A5 85 FF
; -----------------------------------------------------------------------------
; Routine: SubCE984_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.
; -----------------------------------------------------------------------------
SubCE984_Block_4:
jsr $E242 ; CPU:$E9A7 PRG:29A7 20 42 E2
jsr $E259 ; CPU:$E9AA PRG:29AA 20 59 E2
dec $04D5 ; CPU:$E9AD PRG:29AD CE D5 04
; -----------------------------------------------------------------------------
; Routine: SubCE984_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.
; -----------------------------------------------------------------------------
SubCE984_Block_3:
rts ; CPU:$E9B0 PRG:29B0 60
; -----------------------------------------------------------------------------
; Routine: SubCE984_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.
; -----------------------------------------------------------------------------
SubCE984_Block_2:
lda #$00 ; CPU:$E9B1 PRG:29B1 A9 00
sta $04FB ; CPU:$E9B3 PRG:29B3 8D FB 04
lda #$30 ; CPU:$E9B6 PRG:29B6 A9 30
sta GameState ; CPU:$E9B8 PRG:29B8 85 EC
lda #$01 ; CPU:$E9BA PRG:29BA A9 01
sta $04FA ; CPU:$E9BC PRG:29BC 8D FA 04
rts ; CPU:$E9BF PRG:29BF 60
; -----------------------------------------------------------------------------
; Routine: SubCE9C0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE9C0:
lda GameState ; CPU:$E9C0 PRG:29C0 A5 EC
cmp #$30 ; CPU:$E9C2 PRG:29C2 C9 30
beq SubCE9C0_Block ; CPU:$E9C4 PRG:29C4 F0 01
rts ; CPU:$E9C6 PRG:29C6 60
; -----------------------------------------------------------------------------
; Routine: SubCE9C0_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.
; -----------------------------------------------------------------------------
SubCE9C0_Block:
lda $04FA ; CPU:$E9C7 PRG:29C7 AD FA 04
beq SubCE9C0_Block_2 ; CPU:$E9CA PRG:29CA F0 12
cmp #$01 ; CPU:$E9CC PRG:29CC C9 01
bne SubCE9C0_Block_3 ; CPU:$E9CE PRG:29CE D0 0A
lda $0402 ; CPU:$E9D0 PRG:29D0 AD 02 04
cmp #$0A ; CPU:$E9D3 PRG:29D3 C9 0A
beq SubCE9C0_Block_4 ; CPU:$E9D5 PRG:29D5 F0 0A
jsr $C6F9 ; CPU:$E9D7 PRG:29D7 20 F9 C6
; -----------------------------------------------------------------------------
; Routine: SubCE9C0_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.
; -----------------------------------------------------------------------------
SubCE9C0_Block_3:
dec $04FA ; CPU:$E9DA PRG:29DA CE FA 04
rts ; CPU:$E9DD PRG:29DD 60
; -----------------------------------------------------------------------------
; Routine: SubCE9C0_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.
; -----------------------------------------------------------------------------
SubCE9C0_Block_2:
jsr $E259 ; CPU:$E9DE PRG:29DE 20 59 E2
; -----------------------------------------------------------------------------
; Routine: SubCE9C0_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.
; -----------------------------------------------------------------------------
SubCE9C0_Block_4:
jsr $CB44 ; CPU:$E9E1 PRG:29E1 20 44 CB
ldx #$00 ; CPU:$E9E4 PRG:29E4 A2 00
rts ; CPU:$E9E6 PRG:29E6 60
; -----------------------------------------------------------------------------
; Routine: SubCE9E7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCE9E7:
lda GameState ; CPU:$E9E7 PRG:29E7 A5 EC
cmp #$08 ; CPU:$E9E9 PRG:29E9 C9 08
beq SubCE9E7_Block ; CPU:$E9EB PRG:29EB F0 01
rts ; CPU:$E9ED PRG:29ED 60
; -----------------------------------------------------------------------------
; Routine: SubCE9E7_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.
; -----------------------------------------------------------------------------
SubCE9E7_Block:
lda #$64 ; CPU:$E9EE PRG:29EE A9 64
sta $04D5 ; CPU:$E9F0 PRG:29F0 8D D5 04
jsr $EA5B ; CPU:$E9F3 PRG:29F3 20 5B EA
lda $04D5 ; CPU:$E9F6 PRG:29F6 AD D5 04
cmp #$0B ; CPU:$E9F9 PRG:29F9 C9 0B
bmi SubCEA0D_Block_2 ; CPU:$E9FB PRG:29FB 30 2C
lda SndChannel ; CPU:$E9FD PRG:29FD A5 EA
cmp #$09 ; CPU:$E9FF PRG:29FF C9 09
bmi SubCE9E7_Block_3 ; CPU:$EA01 PRG:2A01 30 02
lda #$09 ; CPU:$EA03 PRG:2A03 A9 09
; -----------------------------------------------------------------------------
; Routine: SubCE9E7_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.
; -----------------------------------------------------------------------------
SubCE9E7_Block_3:
tax ; CPU:$EA05 PRG:2A05 AA
lda $04FC ; CPU:$EA06 PRG:2A06 AD FC 04
sec ; CPU:$EA09 PRG:2A09 38
sbc $C01E,x ; CPU:$EA0A PRG:2A0A FD 1E C0
; -----------------------------------------------------------------------------
; Routine: SubCEA0D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA0D:
bcc SubCEA0D_Block ; CPU:$EA0D PRG:2A0D 90 1D
sta $04FC ; CPU:$EA0F PRG:2A0F 8D FC 04
lda $04D5 ; CPU:$EA12 PRG:2A12 AD D5 04
sec ; CPU:$EA15 PRG:2A15 38
sbc #$05 ; CPU:$EA16 PRG:2A16 E9 05
cmp #$0B ; CPU:$EA18 PRG:2A18 C9 0B
bmi SubCEA0D_Block_2 ; CPU:$EA1A PRG:2A1A 30 0D
sta $04D5 ; CPU:$EA1C PRG:2A1C 8D D5 04
lda $04FC ; CPU:$EA1F PRG:2A1F AD FC 04
sec ; CPU:$EA22 PRG:2A22 38
sbc $C028,x ; CPU:$EA23 PRG:2A23 FD 28 C0
jmp $EA0D ; CPU:$EA26 PRG:2A26 4C 0D EA
; -----------------------------------------------------------------------------
; Routine: SubCEA0D_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.
; -----------------------------------------------------------------------------
SubCEA0D_Block_2:
sta $04D5 ; CPU:$EA29 PRG:2A29 8D D5 04
; -----------------------------------------------------------------------------
; Routine: SubCEA0D_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.
; -----------------------------------------------------------------------------
SubCEA0D_Block:
lda $04D5 ; CPU:$EA2C PRG:2A2C AD D5 04
cmp ZpA2 ; CPU:$EA2F PRG:2A2F C5 A2
bpl SubCEA0D_Block_3 ; CPU:$EA31 PRG:2A31 10 02
lda ZpA2 ; CPU:$EA33 PRG:2A33 A5 A2
; -----------------------------------------------------------------------------
; Routine: SubCEA0D_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.
; -----------------------------------------------------------------------------
SubCEA0D_Block_3:
sta $04D5 ; CPU:$EA35 PRG:2A35 8D D5 04
rts ; CPU:$EA38 PRG:2A38 60
; -----------------------------------------------------------------------------
; Routine: SubCEA39
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA39:
lda GameState ; CPU:$EA39 PRG:2A39 A5 EC
cmp #$05 ; CPU:$EA3B PRG:2A3B C9 05
beq SubCEA39_Block_3 ; CPU:$EA3D PRG:2A3D F0 09
cmp #$06 ; CPU:$EA3F PRG:2A3F C9 06
beq SubCEA39_Block_3 ; CPU:$EA41 PRG:2A41 F0 05
cmp #$16 ; CPU:$EA43 PRG:2A43 C9 16
beq SubCEA39_Block_3 ; CPU:$EA45 PRG:2A45 F0 01
rts ; CPU:$EA47 PRG:2A47 60
; -----------------------------------------------------------------------------
; Routine: SubCEA39_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.
; -----------------------------------------------------------------------------
SubCEA39_Block_3:
lda Zp34 ; CPU:$EA48 PRG:2A48 A5 34
bne SubCEA39_Block_5 ; CPU:$EA4A PRG:2A4A D0 0E
lda #$3E ; CPU:$EA4C PRG:2A4C A9 3E
sta Zp34 ; CPU:$EA4E PRG:2A4E 85 34
lda $04FC ; CPU:$EA50 PRG:2A50 AD FC 04
cmp #$FE ; CPU:$EA53 PRG:2A53 C9 FE
beq SubCEA39_Block_5 ; CPU:$EA55 PRG:2A55 F0 03
inc $04FC ; CPU:$EA57 PRG:2A57 EE FC 04
; -----------------------------------------------------------------------------
; Routine: SubCEA39_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.
; -----------------------------------------------------------------------------
SubCEA39_Block_5:
rts ; CPU:$EA5A PRG:2A5A 60
; -----------------------------------------------------------------------------
; Routine: SubCEA5B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA5B:
ldy #$14 ; CPU:$EA5B PRG:2A5B A0 14
; -----------------------------------------------------------------------------
; Routine: SubCEA5D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA5D:
lda $04FB ; CPU:$EA5D PRG:2A5D AD FB 04
beq SubCEA5D_Block ; CPU:$EA60 PRG:2A60 F0 17
dec $04FB ; CPU:$EA62 PRG:2A62 CE FB 04
lda $04D5 ; CPU:$EA65 PRG:2A65 AD D5 04
sec ; CPU:$EA68 PRG:2A68 38
sbc #$0A ; CPU:$EA69 PRG:2A69 E9 0A
cmp #$0B ; CPU:$EA6B PRG:2A6B C9 0B
bpl SubCEA5D_Block_2 ; CPU:$EA6D PRG:2A6D 10 02
lda #$0A ; CPU:$EA6F PRG:2A6F A9 0A
; -----------------------------------------------------------------------------
; Routine: SubCEA5D_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.
; -----------------------------------------------------------------------------
SubCEA5D_Block_2:
sta $04D5 ; CPU:$EA71 PRG:2A71 8D D5 04
ldy #$0A ; CPU:$EA74 PRG:2A74 A0 0A
jmp $EA5D ; CPU:$EA76 PRG:2A76 4C 5D EA
; -----------------------------------------------------------------------------
; Routine: SubCEA5D_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.
; -----------------------------------------------------------------------------
SubCEA5D_Block:
sty ZpA2 ; CPU:$EA79 PRG:2A79 84 A2
rts ; CPU:$EA7B PRG:2A7B 60
; -----------------------------------------------------------------------------
; Routine: SubCEA7C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEA7C:
lda Zp98 ; CPU:$EA7C PRG:2A7C A5 98
bne SubCEA7C_Block ; CPU:$EA7E PRG:2A7E D0 01
rts ; CPU:$EA80 PRG:2A80 60
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block:
lda ZpAF ; CPU:$EA81 PRG:2A81 A5 AF
beq SubCEA7C_Block_2 ; CPU:$EA83 PRG:2A83 F0 04
lda #$04 ; CPU:$EA85 PRG:2A85 A9 04
sta FrameCounter ; CPU:$EA87 PRG:2A87 85 FF
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_2:
lda SndChannel ; CPU:$EA89 PRG:2A89 A5 EA
cmp #$08 ; CPU:$EA8B PRG:2A8B C9 08
bpl SubCEA7C_Block_3 ; CPU:$EA8D PRG:2A8D 10 23
lda #$21 ; CPU:$EA8F PRG:2A8F A9 21
sta ScorePtrHi ; CPU:$EA91 PRG:2A91 85 A1
lda #$7A ; CPU:$EA93 PRG:2A93 A9 7A
sta ScorePtrLo ; CPU:$EA95 PRG:2A95 85 A0
lda ZpAF ; CPU:$EA97 PRG:2A97 A5 AF
bne SubCEA7C_Block_6 ; CPU:$EA99 PRG:2A99 D0 12
lda SndChannel ; CPU:$EA9B PRG:2A9B A5 EA
cmp #$05 ; CPU:$EA9D PRG:2A9D C9 05
bne SubCEA7C_Block_6 ; CPU:$EA9F PRG:2A9F D0 0C
lda ZpA5 ; CPU:$EAA1 PRG:2AA1 A5 A5
cmp #$01 ; CPU:$EAA3 PRG:2AA3 C9 01
beq SubCEA7C_Block_6 ; CPU:$EAA5 PRG:2AA5 F0 06
lda Zp98 ; CPU:$EAA7 PRG:2AA7 A5 98
eor #$03 ; CPU:$EAA9 PRG:2AA9 49 03
bne SubCEA7C_Block_7 ; CPU:$EAAB PRG:2AAB D0 02
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_6:
lda Zp98 ; CPU:$EAAD PRG:2AAD A5 98
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_7:
jmp $EAFE ; CPU:$EAAF PRG:2AAF 4C FE EA
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_3:
bne SubCEA7C_Block_8 ; CPU:$EAB2 PRG:2AB2 D0 37
lda Zp98 ; CPU:$EAB4 PRG:2AB4 A5 98
cmp #$05 ; CPU:$EAB6 PRG:2AB6 C9 05
bpl SubCEA7C_Block_9 ; CPU:$EAB8 PRG:2AB8 10 0D
lda #$20 ; CPU:$EABA PRG:2ABA A9 20
sta ScorePtrHi ; CPU:$EABC PRG:2ABC 85 A1
lda #$FA ; CPU:$EABE PRG:2ABE A9 FA
sta ScorePtrLo ; CPU:$EAC0 PRG:2AC0 85 A0
lda Zp98 ; CPU:$EAC2 PRG:2AC2 A5 98
jmp $EAFE ; CPU:$EAC4 PRG:2AC4 4C FE EA
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_9:
cmp #$09 ; CPU:$EAC7 PRG:2AC7 C9 09
bpl SubCEA7C_Block_10 ; CPU:$EAC9 PRG:2AC9 10 10
lda #$21 ; CPU:$EACB PRG:2ACB A9 21
sta ScorePtrHi ; CPU:$EACD PRG:2ACD 85 A1
lda #$38 ; CPU:$EACF PRG:2ACF A9 38
sta ScorePtrLo ; CPU:$EAD1 PRG:2AD1 85 A0
lda Zp98 ; CPU:$EAD3 PRG:2AD3 A5 98
sec ; CPU:$EAD5 PRG:2AD5 38
sbc #$04 ; CPU:$EAD6 PRG:2AD6 E9 04
jmp $EAFE ; CPU:$EAD8 PRG:2AD8 4C FE EA
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_10:
lda #$21 ; CPU:$EADB PRG:2ADB A9 21
sta ScorePtrHi ; CPU:$EADD PRG:2ADD 85 A1
lda #$7A ; CPU:$EADF PRG:2ADF A9 7A
sta ScorePtrLo ; CPU:$EAE1 PRG:2AE1 85 A0
lda Zp98 ; CPU:$EAE3 PRG:2AE3 A5 98
sec ; CPU:$EAE5 PRG:2AE5 38
sbc #$08 ; CPU:$EAE6 PRG:2AE6 E9 08
jmp $EAFE ; CPU:$EAE8 PRG:2AE8 4C FE EA
; -----------------------------------------------------------------------------
; Routine: SubCEA7C_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.
; -----------------------------------------------------------------------------
SubCEA7C_Block_8:
tay ; CPU:$EAEB PRG:2AEB A8
lda $C0B6,y ; CPU:$EAEC PRG:2AEC B9 B6 C0
clc ; CPU:$EAEF PRG:2AEF 18
adc Zp98 ; CPU:$EAF0 PRG:2AF0 65 98
tax ; CPU:$EAF2 PRG:2AF2 AA
lda $C04B,x ; CPU:$EAF3 PRG:2AF3 BD 4B C0
sta ScorePtrHi ; CPU:$EAF6 PRG:2AF6 85 A1
lda $C071,x ; CPU:$EAF8 PRG:2AF8 BD 71 C0
jmp $EB0D ; CPU:$EAFB PRG:2AFB 4C 0D EB
; -----------------------------------------------------------------------------
; Routine: SubCEAFE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEAFE:
sec ; CPU:$EAFE PRG:2AFE 38
sbc #$01 ; CPU:$EAFF PRG:2AFF E9 01
sta ZpA2 ; CPU:$EB01 PRG:2B01 85 A2
clc ; CPU:$EB03 PRG:2B03 18
adc ZpA2 ; CPU:$EB04 PRG:2B04 65 A2
sta ZpA2 ; CPU:$EB06 PRG:2B06 85 A2
lda ScorePtrLo ; CPU:$EB08 PRG:2B08 A5 A0
sec ; CPU:$EB0A PRG:2B0A 38
sbc ZpA2 ; CPU:$EB0B PRG:2B0B E5 A2
; -----------------------------------------------------------------------------
; Routine: UpdateSoundChannel6
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateSoundChannel6:
sta ScorePtrLo ; CPU:$EB0D PRG:2B0D 85 A0
lda ZpBC ; CPU:$EB0F PRG:2B0F A5 BC
jsr $EE5E ; CPU:$EB11 PRG:2B11 20 5E EE
rts ; CPU:$EB14 PRG:2B14 60
; -----------------------------------------------------------------------------
; Routine: SubCEB15
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB15:
ldx SndChannel ; CPU:$EB15 PRG:2B15 A6 EA
lda $C032,x ; CPU:$EB17 PRG:2B17 BD 32 C0
and #$0F ; CPU:$EB1A PRG:2B1A 29 0F
tay ; CPU:$EB1C PRG:2B1C A8
lda $C032,x ; CPU:$EB1D PRG:2B1D BD 32 C0
and #$F0 ; CPU:$EB20 PRG:2B20 29 F0
lsr a ; CPU:$EB22 PRG:2B22 4A
lsr a ; CPU:$EB23 PRG:2B23 4A
lsr a ; CPU:$EB24 PRG:2B24 4A
lsr a ; CPU:$EB25 PRG:2B25 4A
tax ; CPU:$EB26 PRG:2B26 AA
lda #$00 ; CPU:$EB27 PRG:2B27 A9 00
sta $04FD ; CPU:$EB29 PRG:2B29 8D FD 04
lda SndChannel ; CPU:$EB2C PRG:2B2C A5 EA
cmp #$05 ; CPU:$EB2E PRG:2B2E C9 05
beq SubCEB15_Block_2 ; CPU:$EB30 PRG:2B30 F0 30
cmp #$08 ; CPU:$EB32 PRG:2B32 C9 08
beq SubCEB15_Block_2 ; CPU:$EB34 PRG:2B34 F0 2C
cmp #$09 ; CPU:$EB36 PRG:2B36 C9 09
bpl SubCEB66_Block ; CPU:$EB38 PRG:2B38 10 3B
inc $0487 ; CPU:$EB3A PRG:2B3A EE 87 04
lda #$0F ; CPU:$EB3D PRG:2B3D A9 0F
sta ZpA2 ; CPU:$EB3F PRG:2B3F 85 A2
; -----------------------------------------------------------------------------
; Routine: SubCEB41
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB41:
dex ; CPU:$EB41 PRG:2B41 CA
bmi SubCEB41_Block ; CPU:$EB42 PRG:2B42 30 09
jsr $EBE5 ; CPU:$EB44 PRG:2B44 20 E5 EB
sta $0498,x ; CPU:$EB47 PRG:2B47 9D 98 04
jmp $EB41 ; CPU:$EB4A PRG:2B4A 4C 41 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB41_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.
; -----------------------------------------------------------------------------
SubCEB41_Block:
inc $0487 ; CPU:$EB4D PRG:2B4D EE 87 04
lda #$F0 ; CPU:$EB50 PRG:2B50 A9 F0
sta ZpA2 ; CPU:$EB52 PRG:2B52 85 A2
tya ; CPU:$EB54 PRG:2B54 98
tax ; CPU:$EB55 PRG:2B55 AA
; -----------------------------------------------------------------------------
; Routine: SubCEB56
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB56:
dex ; CPU:$EB56 PRG:2B56 CA
bmi SubCEB7B_Block ; CPU:$EB57 PRG:2B57 30 31
jsr $EBE5 ; CPU:$EB59 PRG:2B59 20 E5 EB
sta $04A0,x ; CPU:$EB5C PRG:2B5C 9D A0 04
jmp $EB56 ; CPU:$EB5F PRG:2B5F 4C 56 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB15_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.
; -----------------------------------------------------------------------------
SubCEB15_Block_2:
lda #$0F ; CPU:$EB62 PRG:2B62 A9 0F
sta ZpA2 ; CPU:$EB64 PRG:2B64 85 A2
; -----------------------------------------------------------------------------
; Routine: SubCEB66
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB66:
inc $0487 ; CPU:$EB66 PRG:2B66 EE 87 04
dex ; CPU:$EB69 PRG:2B69 CA
bmi SubCEB66_Block ; CPU:$EB6A PRG:2B6A 30 09
jsr $EBE5 ; CPU:$EB6C PRG:2B6C 20 E5 EB
sta $0490,x ; CPU:$EB6F PRG:2B6F 9D 90 04
jmp $EB66 ; CPU:$EB72 PRG:2B72 4C 66 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB66_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.
; -----------------------------------------------------------------------------
SubCEB66_Block:
lda #$F0 ; CPU:$EB75 PRG:2B75 A9 F0
sta ZpA2 ; CPU:$EB77 PRG:2B77 85 A2
tya ; CPU:$EB79 PRG:2B79 98
tax ; CPU:$EB7A PRG:2B7A AA
; -----------------------------------------------------------------------------
; Routine: SubCEB7B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB7B:
inc $0487 ; CPU:$EB7B PRG:2B7B EE 87 04
dex ; CPU:$EB7E PRG:2B7E CA
bmi SubCEB7B_Block ; CPU:$EB7F PRG:2B7F 30 09
jsr $EBE5 ; CPU:$EB81 PRG:2B81 20 E5 EB
sta $0488,x ; CPU:$EB84 PRG:2B84 9D 88 04
jmp $EB7B ; CPU:$EB87 PRG:2B87 4C 7B EB
; -----------------------------------------------------------------------------
; Routine: SubCEB7B_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.
; -----------------------------------------------------------------------------
SubCEB7B_Block:
ldx SndChannel ; CPU:$EB8A PRG:2B8A A6 EA
lda $C0D1,x ; CPU:$EB8C PRG:2B8C BD D1 C0
cmp #$02 ; CPU:$EB8F PRG:2B8F C9 02
bne SubCEB7B_Block_2 ; CPU:$EB91 PRG:2B91 D0 2E
ldx #$06 ; CPU:$EB93 PRG:2B93 A2 06
; -----------------------------------------------------------------------------
; Routine: SubCEB95
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEB95:
lda $0498,x ; CPU:$EB95 PRG:2B95 BD 98 04
cmp $04A0,x ; CPU:$EB98 PRG:2B98 DD A0 04
beq SubCEB95_Block ; CPU:$EB9B PRG:2B9B F0 12
bpl SubCEB95_Block_6 ; CPU:$EB9D PRG:2B9D 10 21
sta Zp0D ; CPU:$EB9F PRG:2B9F 85 0D
lda $04A0,x ; CPU:$EBA1 PRG:2BA1 BD A0 04
sta $0498,x ; CPU:$EBA4 PRG:2BA4 9D 98 04
lda Zp0D ; CPU:$EBA7 PRG:2BA7 A5 0D
sta $04A0,x ; CPU:$EBA9 PRG:2BA9 9D A0 04
jmp $EB95 ; CPU:$EBAC PRG:2BAC 4C 95 EB
; -----------------------------------------------------------------------------
; Routine: SubCEB95_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.
; -----------------------------------------------------------------------------
SubCEB95_Block:
dex ; CPU:$EBAF PRG:2BAF CA
bpl SubCEB95 ; CPU:$EBB0 PRG:2BB0 10 E3
lda $04A0 ; CPU:$EBB2 PRG:2BB2 AD A0 04
cmp #$00 ; CPU:$EBB5 PRG:2BB5 C9 00
beq SubCEB95_Block_3 ; CPU:$EBB7 PRG:2BB7 F0 04
dec $04A0 ; CPU:$EBB9 PRG:2BB9 CE A0 04
rts ; CPU:$EBBC PRG:2BBC 60
; -----------------------------------------------------------------------------
; Routine: SubCEB95_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.
; -----------------------------------------------------------------------------
SubCEB95_Block_3:
inc $0498 ; CPU:$EBBD PRG:2BBD EE 98 04
; -----------------------------------------------------------------------------
; Routine: SubCEB95_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.
; -----------------------------------------------------------------------------
SubCEB95_Block_6:
rts ; CPU:$EBC0 PRG:2BC0 60
; -----------------------------------------------------------------------------
; Routine: SubCEB7B_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.
; -----------------------------------------------------------------------------
SubCEB7B_Block_2:
cpx #$05 ; CPU:$EBC1 PRG:2BC1 E0 05
bne SubCEB95_Block_4 ; CPU:$EBC3 PRG:2BC3 D0 03
jmp $ED9F ; CPU:$EBC5 PRG:2BC5 4C 9F ED
; -----------------------------------------------------------------------------
; Routine: SubCEB95_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.
; -----------------------------------------------------------------------------
SubCEB95_Block_4:
cpx #$09 ; CPU:$EBC8 PRG:2BC8 E0 09
bne SubCEB95_Block_6 ; CPU:$EBCA PRG:2BCA D0 F4
lda $0489 ; CPU:$EBCC PRG:2BCC AD 89 04
cmp $048A ; CPU:$EBCF PRG:2BCF CD 8A 04
bpl SubCEB95_Block_6 ; CPU:$EBD2 PRG:2BD2 10 EC
lda #$0A ; CPU:$EBD4 PRG:2BD4 A9 0A
sta SndChannel ; CPU:$EBD6 PRG:2BD6 85 EA
lda $0488 ; CPU:$EBD8 PRG:2BD8 AD 88 04
sta $0498 ; CPU:$EBDB PRG:2BDB 8D 98 04
lda $0489 ; CPU:$EBDE PRG:2BDE AD 89 04
sta $0499 ; CPU:$EBE1 PRG:2BE1 8D 99 04
rts ; CPU:$EBE4 PRG:2BE4 60
; -----------------------------------------------------------------------------
; Routine: SubCEBE5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBE5:
lda Zp18,x ; CPU:$EBE5 PRG:2BE5 B5 18
pha ; CPU:$EBE7 PRG:2BE7 48
lda ZpA2 ; CPU:$EBE8 PRG:2BE8 A5 A2
cmp #$0F ; CPU:$EBEA PRG:2BEA C9 0F
beq SubCEBE5_Block ; CPU:$EBEC PRG:2BEC F0 08
pla ; CPU:$EBEE PRG:2BEE 68
ror a ; CPU:$EBEF PRG:2BEF 6A
ror a ; CPU:$EBF0 PRG:2BF0 6A
ror a ; CPU:$EBF1 PRG:2BF1 6A
ror a ; CPU:$EBF2 PRG:2BF2 6A
jmp $EBF7 ; CPU:$EBF3 PRG:2BF3 4C F7 EB
; -----------------------------------------------------------------------------
; Routine: SubCEBE5_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.
; -----------------------------------------------------------------------------
SubCEBE5_Block:
pla ; CPU:$EBF6 PRG:2BF6 68
; -----------------------------------------------------------------------------
; Routine: SubCEBF7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEBF7:
and #$0F ; CPU:$EBF7 PRG:2BF7 29 0F
beq SubCEBF7_Block ; CPU:$EBF9 PRG:2BF9 F0 0E
cmp #$0A ; CPU:$EBFB PRG:2BFB C9 0A
bmi SubCEC01 ; CPU:$EBFD PRG:2BFD 30 02
and #$07 ; CPU:$EBFF PRG:2BFF 29 07
; -----------------------------------------------------------------------------
; Routine: SubCEC01
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC01:
pha ; CPU:$EC01 PRG:2C01 48
lda #$00 ; CPU:$EC02 PRG:2C02 A9 00
sta $0487 ; CPU:$EC04 PRG:2C04 8D 87 04
pla ; CPU:$EC07 PRG:2C07 68
rts ; CPU:$EC08 PRG:2C08 60
; -----------------------------------------------------------------------------
; Routine: SubCEBF7_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.
; -----------------------------------------------------------------------------
SubCEBF7_Block:
adc $0487 ; CPU:$EC09 PRG:2C09 6D 87 04
jmp $EC01 ; CPU:$EC0C PRG:2C0C 4C 01 EC
; -----------------------------------------------------------------------------
; Routine: SubCEC0F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC0F:
lda #$00 ; CPU:$EC0F PRG:2C0F A9 00
tax ; CPU:$EC11 PRG:2C11 AA
; -----------------------------------------------------------------------------
; Routine: SubCEC0F_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.
; -----------------------------------------------------------------------------
SubCEC0F_Block:
sta $0480,x ; CPU:$EC12 PRG:2C12 9D 80 04
inx ; CPU:$EC15 PRG:2C15 E8
cpx #$40 ; CPU:$EC16 PRG:2C16 E0 40
bne SubCEC0F_Block ; CPU:$EC18 PRG:2C18 D0 F8
rts ; CPU:$EC1A PRG:2C1A 60
; -----------------------------------------------------------------------------
; Routine: SubCEC1B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC1B:
ldx SndChannel ; CPU:$EC1B PRG:2C1B A6 EA
lda $C0D1,x ; CPU:$EC1D PRG:2C1D BD D1 C0
cmp #$01 ; CPU:$EC20 PRG:2C20 C9 01
beq SubCEC2F ; CPU:$EC22 PRG:2C22 F0 0B
cmp #$02 ; CPU:$EC24 PRG:2C24 C9 02
beq SubCEC1B_Block ; CPU:$EC26 PRG:2C26 F0 33
cmp #$03 ; CPU:$EC28 PRG:2C28 C9 03
beq SubCEC1B_Block_2 ; CPU:$EC2A PRG:2C2A F0 5F
jmp $ED0F ; CPU:$EC2C PRG:2C2C 4C 0F ED
; -----------------------------------------------------------------------------
; Routine: SubCEC2F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC2F:
pha ; CPU:$EC2F PRG:2C2F 48
txa ; CPU:$EC30 PRG:2C30 8A
pha ; CPU:$EC31 PRG:2C31 48
ldx #$00 ; CPU:$EC32 PRG:2C32 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCEC53_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.
; -----------------------------------------------------------------------------
SubCEC53_Block:
lda $0498,x ; CPU:$EC34 PRG:2C34 BD 98 04
clc ; CPU:$EC37 PRG:2C37 18
adc $04A0,x ; CPU:$EC38 PRG:2C38 7D A0 04
adc $04B0,x ; CPU:$EC3B PRG:2C3B 7D B0 04
cmp #$0A ; CPU:$EC3E PRG:2C3E C9 0A
bmi SubCEC2F_Block ; CPU:$EC40 PRG:2C40 30 0D
sec ; CPU:$EC42 PRG:2C42 38
sbc #$0A ; CPU:$EC43 PRG:2C43 E9 0A
sta $04A8,x ; CPU:$EC45 PRG:2C45 9D A8 04
inx ; CPU:$EC48 PRG:2C48 E8
inc $04B0,x ; CPU:$EC49 PRG:2C49 FE B0 04
jmp $EC53 ; CPU:$EC4C PRG:2C4C 4C 53 EC
; -----------------------------------------------------------------------------
; Routine: SubCEC2F_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.
; -----------------------------------------------------------------------------
SubCEC2F_Block:
sta $04A8,x ; CPU:$EC4F PRG:2C4F 9D A8 04
inx ; CPU:$EC52 PRG:2C52 E8
; -----------------------------------------------------------------------------
; Routine: SubCEC53
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC53:
cpx #$08 ; CPU:$EC53 PRG:2C53 E0 08
bne SubCEC53_Block ; CPU:$EC55 PRG:2C55 D0 DD
pla ; CPU:$EC57 PRG:2C57 68
tax ; CPU:$EC58 PRG:2C58 AA
pla ; CPU:$EC59 PRG:2C59 68
rts ; CPU:$EC5A PRG:2C5A 60
; -----------------------------------------------------------------------------
; Routine: SubCEC1B_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.
; -----------------------------------------------------------------------------
SubCEC1B_Block:
ldx #$00 ; CPU:$EC5B PRG:2C5B A2 00
; -----------------------------------------------------------------------------
; Routine: SubCEC77_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.
; -----------------------------------------------------------------------------
SubCEC77_Block:
lda $04A0,x ; CPU:$EC5D PRG:2C5D BD A0 04
clc ; CPU:$EC60 PRG:2C60 18
adc $04B0,x ; CPU:$EC61 PRG:2C61 7D B0 04
cmp $0498,x ; CPU:$EC64 PRG:2C64 DD 98 04
beq SubCEC53_Block_3 ; CPU:$EC67 PRG:2C67 F0 0C
bmi SubCEC53_Block_3 ; CPU:$EC69 PRG:2C69 30 0A
lda #$0A ; CPU:$EC6B PRG:2C6B A9 0A
inx ; CPU:$EC6D PRG:2C6D E8
inc $04B0,x ; CPU:$EC6E PRG:2C6E FE B0 04
dex ; CPU:$EC71 PRG:2C71 CA
jmp $EC77 ; CPU:$EC72 PRG:2C72 4C 77 EC
; -----------------------------------------------------------------------------
; Routine: SubCEC53_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.
; -----------------------------------------------------------------------------
SubCEC53_Block_3:
lda #$00 ; CPU:$EC75 PRG:2C75 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCEC77
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEC77:
clc ; CPU:$EC77 PRG:2C77 18
adc $0498,x ; CPU:$EC78 PRG:2C78 7D 98 04
sec ; CPU:$EC7B PRG:2C7B 38
sbc $04B0,x ; CPU:$EC7C PRG:2C7C FD B0 04
sbc $04A0,x ; CPU:$EC7F PRG:2C7F FD A0 04
sta $04A8,x ; CPU:$EC82 PRG:2C82 9D A8 04
inx ; CPU:$EC85 PRG:2C85 E8
cpx #$08 ; CPU:$EC86 PRG:2C86 E0 08
bne SubCEC77_Block ; CPU:$EC88 PRG:2C88 D0 D3
rts ; CPU:$EC8A PRG:2C8A 60
; -----------------------------------------------------------------------------
; Routine: SubCEC1B_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.
; -----------------------------------------------------------------------------
SubCEC1B_Block_2:
ldx $0490 ; CPU:$EC8B PRG:2C8B AE 90 04
lda #$B8 ; CPU:$EC8E PRG:2C8E A9 B8
sta PtrLo ; CPU:$EC90 PRG:2C90 85 00
lda #$04 ; CPU:$EC92 PRG:2C92 A9 04
sta PtrHi ; CPU:$EC94 PRG:2C94 85 01
lda #$98 ; CPU:$EC96 PRG:2C96 A9 98
sta Ptr2Lo ; CPU:$EC98 PRG:2C98 85 02
lda #$04 ; CPU:$EC9A PRG:2C9A A9 04
sta Zp03 ; CPU:$EC9C PRG:2C9C 85 03
jsr $ECDA ; CPU:$EC9E PRG:2C9E 20 DA EC
ldx $0491 ; CPU:$ECA1 PRG:2CA1 AE 91 04
beq SubCEC77_Block_2 ; CPU:$ECA4 PRG:2CA4 F0 13
lda #$BC ; CPU:$ECA6 PRG:2CA6 A9 BC
sta PtrLo ; CPU:$ECA8 PRG:2CA8 85 00
lda #$04 ; CPU:$ECAA PRG:2CAA A9 04
sta PtrHi ; CPU:$ECAC PRG:2CAC 85 01
lda #$A1 ; CPU:$ECAE PRG:2CAE A9 A1
sta Ptr2Lo ; CPU:$ECB0 PRG:2CB0 85 02
lda #$04 ; CPU:$ECB2 PRG:2CB2 A9 04
sta Zp03 ; CPU:$ECB4 PRG:2CB4 85 03
jsr $ECDA ; CPU:$ECB6 PRG:2CB6 20 DA EC
; -----------------------------------------------------------------------------
; Routine: SubCEC77_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.
; -----------------------------------------------------------------------------
SubCEC77_Block_2:
jsr $EC2F ; CPU:$ECB9 PRG:2CB9 20 2F EC
lda SndChannel ; CPU:$ECBC PRG:2CBC A5 EA
cmp #$05 ; CPU:$ECBE PRG:2CBE C9 05
bne SubCEC77_Block_3 ; CPU:$ECC0 PRG:2CC0 D0 17
lda #$00 ; CPU:$ECC2 PRG:2CC2 A9 00
sta $0499 ; CPU:$ECC4 PRG:2CC4 8D 99 04
lda $0490 ; CPU:$ECC7 PRG:2CC7 AD 90 04
sta $04A0 ; CPU:$ECCA PRG:2CCA 8D A0 04
lda $0488 ; CPU:$ECCD PRG:2CCD AD 88 04
sta $0498 ; CPU:$ECD0 PRG:2CD0 8D 98 04
lda $04B9 ; CPU:$ECD3 PRG:2CD3 AD B9 04
sta $04B1 ; CPU:$ECD6 PRG:2CD6 8D B1 04
; -----------------------------------------------------------------------------
; Routine: SubCEC77_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.
; -----------------------------------------------------------------------------
SubCEC77_Block_3:
rts ; CPU:$ECD9 PRG:2CD9 60
; -----------------------------------------------------------------------------
; Routine: SubCECDA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCECDA:
txa ; CPU:$ECDA PRG:2CDA 8A
pha ; CPU:$ECDB PRG:2CDB 48
ldy #$00 ; CPU:$ECDC PRG:2CDC A0 00
sty Zp90 ; CPU:$ECDE PRG:2CDE 84 90
; -----------------------------------------------------------------------------
; Routine: SubCECDA_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.
; -----------------------------------------------------------------------------
SubCECDA_Block_4:
lda (PtrLo),y ; CPU:$ECE0 PRG:2CE0 B1 00
; -----------------------------------------------------------------------------
; Routine: SubCECDA_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.
; -----------------------------------------------------------------------------
SubCECDA_Block_2:
clc ; CPU:$ECE2 PRG:2CE2 18
adc $0488,y ; CPU:$ECE3 PRG:2CE3 79 88 04
cmp #$0A ; CPU:$ECE6 PRG:2CE6 C9 0A
bmi SubCECDA_Block ; CPU:$ECE8 PRG:2CE8 30 05
sec ; CPU:$ECEA PRG:2CEA 38
sbc #$0A ; CPU:$ECEB PRG:2CEB E9 0A
inc Zp90 ; CPU:$ECED PRG:2CED E6 90
; -----------------------------------------------------------------------------
; Routine: SubCECDA_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.
; -----------------------------------------------------------------------------
SubCECDA_Block:
dex ; CPU:$ECEF PRG:2CEF CA
bne SubCECDA_Block_2 ; CPU:$ECF0 PRG:2CF0 D0 F0
sta (Ptr2Lo),y ; CPU:$ECF2 PRG:2CF2 91 02
lda Zp90 ; CPU:$ECF4 PRG:2CF4 A5 90
iny ; CPU:$ECF6 PRG:2CF6 C8
sta (PtrLo),y ; CPU:$ECF7 PRG:2CF7 91 00
dey ; CPU:$ECF9 PRG:2CF9 88
cpy #$02 ; CPU:$ECFA PRG:2CFA C0 02
beq SubCECDA_Block_3 ; CPU:$ECFC PRG:2CFC F0 0A
iny ; CPU:$ECFE PRG:2CFE C8
pla ; CPU:$ECFF PRG:2CFF 68
pha ; CPU:$ED00 PRG:2D00 48
tax ; CPU:$ED01 PRG:2D01 AA
lda #$00 ; CPU:$ED02 PRG:2D02 A9 00
sta Zp90 ; CPU:$ED04 PRG:2D04 85 90
beq SubCECDA_Block_4 ; CPU:$ED06 PRG:2D06 F0 D8
; -----------------------------------------------------------------------------
; Routine: SubCECDA_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.
; -----------------------------------------------------------------------------
SubCECDA_Block_3:
iny ; CPU:$ED08 PRG:2D08 C8
lda (PtrLo),y ; CPU:$ED09 PRG:2D09 B1 00
sta (Ptr2Lo),y ; CPU:$ED0B PRG:2D0B 91 02
pla ; CPU:$ED0D PRG:2D0D 68
rts ; CPU:$ED0E PRG:2D0E 60
; -----------------------------------------------------------------------------
; Routine: SubCED0F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED0F:
lda $0489 ; CPU:$ED0F PRG:2D0F AD 89 04
; -----------------------------------------------------------------------------
; Routine: SubCED12
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED12:
sec ; CPU:$ED12 PRG:2D12 38
sbc $048A ; CPU:$ED13 PRG:2D13 ED 8A 04
bmi SubCED12_Block ; CPU:$ED16 PRG:2D16 30 15
pha ; CPU:$ED18 PRG:2D18 48
lda $0491 ; CPU:$ED19 PRG:2D19 AD 91 04
clc ; CPU:$ED1C PRG:2D1C 18
adc $048A ; CPU:$ED1D PRG:2D1D 6D 8A 04
sta $0491 ; CPU:$ED20 PRG:2D20 8D 91 04
pla ; CPU:$ED23 PRG:2D23 68
sta $0499 ; CPU:$ED24 PRG:2D24 8D 99 04
inc $0481 ; CPU:$ED27 PRG:2D27 EE 81 04
jmp $ED12 ; CPU:$ED2A PRG:2D2A 4C 12 ED
; -----------------------------------------------------------------------------
; Routine: SubCED12_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.
; -----------------------------------------------------------------------------
SubCED12_Block:
lda $0488 ; CPU:$ED2D PRG:2D2D AD 88 04
sta $0498 ; CPU:$ED30 PRG:2D30 8D 98 04
lda $0499 ; CPU:$ED33 PRG:2D33 AD 99 04
tax ; CPU:$ED36 PRG:2D36 AA
beq SubCED12_Block_2 ; CPU:$ED37 PRG:2D37 F0 0B
lda $0498 ; CPU:$ED39 PRG:2D39 AD 98 04
; -----------------------------------------------------------------------------
; Routine: SubCED12_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.
; -----------------------------------------------------------------------------
SubCED12_Block_4:
clc ; CPU:$ED3C PRG:2D3C 18
adc #$0A ; CPU:$ED3D PRG:2D3D 69 0A
dex ; CPU:$ED3F PRG:2D3F CA
beq SubCED12_Block_3 ; CPU:$ED40 PRG:2D40 F0 09
bne SubCED12_Block_4 ; CPU:$ED42 PRG:2D42 D0 F8
; -----------------------------------------------------------------------------
; Routine: SubCED12_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.
; -----------------------------------------------------------------------------
SubCED12_Block_2:
lda #$0C ; CPU:$ED44 PRG:2D44 A9 0C
sta SndChannel ; CPU:$ED46 PRG:2D46 85 EA
lda $0498 ; CPU:$ED48 PRG:2D48 AD 98 04
; -----------------------------------------------------------------------------
; Routine: SubCED12_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.
; -----------------------------------------------------------------------------
SubCED12_Block_3:
cmp $048A ; CPU:$ED4B PRG:2D4B CD 8A 04
bmi SubCED12_Block_5 ; CPU:$ED4E PRG:2D4E 30 25
; -----------------------------------------------------------------------------
; Routine: SubCED50
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED50:
sec ; CPU:$ED50 PRG:2D50 38
sbc $048A ; CPU:$ED51 PRG:2D51 ED 8A 04
bmi SubCED50_Block ; CPU:$ED54 PRG:2D54 30 23
inc $0480 ; CPU:$ED56 PRG:2D56 EE 80 04
pha ; CPU:$ED59 PRG:2D59 48
lda $04A0 ; CPU:$ED5A PRG:2D5A AD A0 04
clc ; CPU:$ED5D PRG:2D5D 18
adc $048A ; CPU:$ED5E PRG:2D5E 6D 8A 04
cmp #$0A ; CPU:$ED61 PRG:2D61 C9 0A
bmi SubCED50_Block_2 ; CPU:$ED63 PRG:2D63 30 06
inc $04A1 ; CPU:$ED65 PRG:2D65 EE A1 04
sec ; CPU:$ED68 PRG:2D68 38
sbc #$0A ; CPU:$ED69 PRG:2D69 E9 0A
; -----------------------------------------------------------------------------
; Routine: SubCED50_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.
; -----------------------------------------------------------------------------
SubCED50_Block_2:
sta $04A0 ; CPU:$ED6B PRG:2D6B 8D A0 04
pla ; CPU:$ED6E PRG:2D6E 68
sta $04A8 ; CPU:$ED6F PRG:2D6F 8D A8 04
jmp $ED50 ; CPU:$ED72 PRG:2D72 4C 50 ED
; -----------------------------------------------------------------------------
; Routine: SubCED12_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.
; -----------------------------------------------------------------------------
SubCED12_Block_5:
lda #$0B ; CPU:$ED75 PRG:2D75 A9 0B
sta SndChannel ; CPU:$ED77 PRG:2D77 85 EA
; -----------------------------------------------------------------------------
; Routine: SubCED50_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.
; -----------------------------------------------------------------------------
SubCED50_Block:
lda $04A1 ; CPU:$ED79 PRG:2D79 AD A1 04
sta $04B0 ; CPU:$ED7C PRG:2D7C 8D B0 04
lda SndChannel ; CPU:$ED7F PRG:2D7F A5 EA
cmp #$0A ; CPU:$ED81 PRG:2D81 C9 0A
bne SubCED50_Block_3 ; CPU:$ED83 PRG:2D83 D0 0A
lda $04A1 ; CPU:$ED85 PRG:2D85 AD A1 04
bne SubCED50_Block_4 ; CPU:$ED88 PRG:2D88 D0 04
lda #$0D ; CPU:$ED8A PRG:2D8A A9 0D
sta SndChannel ; CPU:$ED8C PRG:2D8C 85 EA
; -----------------------------------------------------------------------------
; Routine: SubCED50_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.
; -----------------------------------------------------------------------------
SubCED50_Block_4:
rts ; CPU:$ED8E PRG:2D8E 60
; -----------------------------------------------------------------------------
; Routine: SubCED50_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.
; -----------------------------------------------------------------------------
SubCED50_Block_3:
lda SndChannel ; CPU:$ED8F PRG:2D8F A5 EA
cmp #$09 ; CPU:$ED91 PRG:2D91 C9 09
bne SubCED50_Block_6 ; CPU:$ED93 PRG:2D93 D0 09
lda $04A1 ; CPU:$ED95 PRG:2D95 AD A1 04
bne SubCED50_Block_6 ; CPU:$ED98 PRG:2D98 D0 04
lda #$0E ; CPU:$ED9A PRG:2D9A A9 0E
sta SndChannel ; CPU:$ED9C PRG:2D9C 85 EA
; -----------------------------------------------------------------------------
; Routine: SubCED50_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.
; -----------------------------------------------------------------------------
SubCED50_Block_6:
rts ; CPU:$ED9E PRG:2D9E 60
; -----------------------------------------------------------------------------
; Routine: SubCED9F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCED9F:
ldy #$09 ; CPU:$ED9F PRG:2D9F A0 09
; -----------------------------------------------------------------------------
; Routine: SubCED9F_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.
; -----------------------------------------------------------------------------
SubCED9F_Block_3:
lda $0490 ; CPU:$EDA1 PRG:2DA1 AD 90 04
clc ; CPU:$EDA4 PRG:2DA4 18
rol a ; CPU:$EDA5 PRG:2DA5 2A
rol a ; CPU:$EDA6 PRG:2DA6 2A
rol a ; CPU:$EDA7 PRG:2DA7 2A
rol a ; CPU:$EDA8 PRG:2DA8 2A
ora $0488 ; CPU:$EDA9 PRG:2DA9 0D 88 04
ldx #$09 ; CPU:$EDAC PRG:2DAC A2 09
; -----------------------------------------------------------------------------
; Routine: SubCED9F_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.
; -----------------------------------------------------------------------------
SubCED9F_Block_4:
cmp $04C0,x ; CPU:$EDAE PRG:2DAE DD C0 04
bne SubCED9F_Block ; CPU:$EDB1 PRG:2DB1 D0 1A
dec $0488 ; CPU:$EDB3 PRG:2DB3 CE 88 04
bne SubCED9F_Block_2 ; CPU:$EDB6 PRG:2DB6 D0 05
lda #$09 ; CPU:$EDB8 PRG:2DB8 A9 09
sta $0488 ; CPU:$EDBA PRG:2DBA 8D 88 04
; -----------------------------------------------------------------------------
; Routine: SubCED9F_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.
; -----------------------------------------------------------------------------
SubCED9F_Block_2:
dey ; CPU:$EDBD PRG:2DBD 88
bne SubCED9F_Block_3 ; CPU:$EDBE PRG:2DBE D0 E1
dec $0490 ; CPU:$EDC0 PRG:2DC0 CE 90 04
bne SubCED9F ; CPU:$EDC3 PRG:2DC3 D0 DA
lda #$09 ; CPU:$EDC5 PRG:2DC5 A9 09
sta $0490 ; CPU:$EDC7 PRG:2DC7 8D 90 04
jmp $ED9F ; CPU:$EDCA PRG:2DCA 4C 9F ED
; -----------------------------------------------------------------------------
; Routine: SubCED9F_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.
; -----------------------------------------------------------------------------
SubCED9F_Block:
dex ; CPU:$EDCD PRG:2DCD CA
bpl SubCED9F_Block_4 ; CPU:$EDCE PRG:2DCE 10 DE
ldx $0402 ; CPU:$EDD0 PRG:2DD0 AE 02 04
sta $04BF,x ; CPU:$EDD3 PRG:2DD3 9D BF 04
rts ; CPU:$EDD6 PRG:2DD6 60
; -----------------------------------------------------------------------------
; Routine: SubCEDD7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEDD7:
ldx SndChannel ; CPU:$EDD7 PRG:2DD7 A6 EA
lda $C0D1,x ; CPU:$EDD9 PRG:2DD9 BD D1 C0
cpx #$08 ; CPU:$EDDC PRG:2DDC E0 08
beq SubCEDD7_Block ; CPU:$EDDE PRG:2DDE F0 16
cmp #$09 ; CPU:$EDE0 PRG:2DE0 C9 09
beq SubCEDD7_Block_2 ; CPU:$EDE2 PRG:2DE2 F0 20
cmp #$0A ; CPU:$EDE4 PRG:2DE4 C9 0A
beq SubCEDD7_Block_3 ; CPU:$EDE6 PRG:2DE6 F0 23
ldx #$1E ; CPU:$EDE8 PRG:2DE8 A2 1E
lda #$80 ; CPU:$EDEA PRG:2DEA A9 80
jsr $EE10 ; CPU:$EDEC PRG:2DEC 20 10 EE
ldx #$26 ; CPU:$EDEF PRG:2DEF A2 26
lda #$C0 ; CPU:$EDF1 PRG:2DF1 A9 C0
jmp $EE10 ; CPU:$EDF3 PRG:2DF3 4C 10 EE
; -----------------------------------------------------------------------------
; Routine: SubCEDD7_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.
; -----------------------------------------------------------------------------
SubCEDD7_Block:
ldx #$0E ; CPU:$EDF6 PRG:2DF6 A2 0E
lda #$00 ; CPU:$EDF8 PRG:2DF8 A9 00
jsr $EE10 ; CPU:$EDFA PRG:2DFA 20 10 EE
ldx #$16 ; CPU:$EDFD PRG:2DFD A2 16
lda #$40 ; CPU:$EDFF PRG:2DFF A9 40
jmp $EE10 ; CPU:$EE01 PRG:2E01 4C 10 EE
; -----------------------------------------------------------------------------
; Routine: SubCEDD7_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.
; -----------------------------------------------------------------------------
SubCEDD7_Block_2:
lda #$40 ; CPU:$EE04 PRG:2E04 A9 40
; -----------------------------------------------------------------------------
; Routine: SubCEE06
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE06:
ldx #$0E ; CPU:$EE06 PRG:2E06 A2 0E
jmp $EE10 ; CPU:$EE08 PRG:2E08 4C 10 EE
; -----------------------------------------------------------------------------
; Routine: SubCEDD7_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.
; -----------------------------------------------------------------------------
SubCEDD7_Block_3:
lda #$A0 ; CPU:$EE0B PRG:2E0B A9 A0
jmp $EE06 ; CPU:$EE0D PRG:2E0D 4C 06 EE
; -----------------------------------------------------------------------------
; Routine: SubCEE10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE10:
sta $04D1 ; CPU:$EE10 PRG:2E10 8D D1 04
lda #$20 ; CPU:$EE13 PRG:2E13 A9 20
sta ScorePtrHi ; CPU:$EE15 PRG:2E15 85 A1
lda #$6E ; CPU:$EE17 PRG:2E17 A9 6E
clc ; CPU:$EE19 PRG:2E19 18
adc $04D1 ; CPU:$EE1A PRG:2E1A 6D D1 04
sta ScorePtrLo ; CPU:$EE1D PRG:2E1D 85 A0
bcc SubCEE10_Block ; CPU:$EE1F PRG:2E1F 90 02
inc ScorePtrHi ; CPU:$EE21 PRG:2E21 E6 A1
; -----------------------------------------------------------------------------
; Routine: SubCEE10_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.
; -----------------------------------------------------------------------------
SubCEE10_Block:
ldy #$07 ; CPU:$EE23 PRG:2E23 A0 07
; -----------------------------------------------------------------------------
; Routine: SubCEE25
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE25:
lda $0480,x ; CPU:$EE25 PRG:2E25 BD 80 04
beq SubCEE25_Block ; CPU:$EE28 PRG:2E28 F0 0F
; -----------------------------------------------------------------------------
; Routine: SubCEE25_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.
; -----------------------------------------------------------------------------
SubCEE25_Block_2:
lda $0480,x ; CPU:$EE2A PRG:2E2A BD 80 04
jsr $EE5E ; CPU:$EE2D PRG:2E2D 20 5E EE
dex ; CPU:$EE30 PRG:2E30 CA
inc ScorePtrLo ; CPU:$EE31 PRG:2E31 E6 A0
inc ScorePtrLo ; CPU:$EE33 PRG:2E33 E6 A0
dey ; CPU:$EE35 PRG:2E35 88
bne SubCEE25_Block_2 ; CPU:$EE36 PRG:2E36 D0 F2
; -----------------------------------------------------------------------------
; Routine: SubCEE25_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.
; -----------------------------------------------------------------------------
SubCEE25_Block_3:
rts ; CPU:$EE38 PRG:2E38 60
; -----------------------------------------------------------------------------
; Routine: SubCEE25_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.
; -----------------------------------------------------------------------------
SubCEE25_Block:
dex ; CPU:$EE39 PRG:2E39 CA
inc ScorePtrLo ; CPU:$EE3A PRG:2E3A E6 A0
inc ScorePtrLo ; CPU:$EE3C PRG:2E3C E6 A0
dey ; CPU:$EE3E PRG:2E3E 88
beq SubCEE25_Block_3 ; CPU:$EE3F PRG:2E3F F0 F7
jmp $EE25 ; CPU:$EE41 PRG:2E41 4C 25 EE
; -----------------------------------------------------------------------------
; Routine: SubCEE44
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE44:
lda #$94 ; CPU:$EE44 PRG:2E44 A9 94
sta PtrLo ; CPU:$EE46 PRG:2E46 85 00
lda #$05 ; CPU:$EE48 PRG:2E48 A9 05
sta PtrHi ; CPU:$EE4A PRG:2E4A 85 01
rts ; CPU:$EE4C PRG:2E4C 60
; -----------------------------------------------------------------------------
; Routine: UpdateMusicChannel16
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateMusicChannel16:
lda #$94 ; CPU:$EE4D PRG:2E4D A9 94
sta Ptr2Lo ; CPU:$EE4F PRG:2E4F 85 02
lda #$05 ; CPU:$EE51 PRG:2E51 A9 05
sta Zp03 ; CPU:$EE53 PRG:2E53 85 03
lda ScorePtrHi ; CPU:$EE55 PRG:2E55 A5 A1
sta PtrHi ; CPU:$EE57 PRG:2E57 85 01
lda ScorePtrLo ; CPU:$EE59 PRG:2E59 A5 A0
sta PtrLo ; CPU:$EE5B PRG:2E5B 85 00
rts ; CPU:$EE5D PRG:2E5D 60
; -----------------------------------------------------------------------------
; Routine: SubCEE5E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE5E:
pha ; CPU:$EE5E PRG:2E5E 48
sta $0595 ; CPU:$EE5F PRG:2E5F 8D 95 05
lda #$11 ; CPU:$EE62 PRG:2E62 A9 11
sta $0594 ; CPU:$EE64 PRG:2E64 8D 94 05
jsr $EE4D ; CPU:$EE67 PRG:2E67 20 4D EE
jsr $F2AC ; CPU:$EE6A PRG:2E6A 20 AC F2
pla ; CPU:$EE6D PRG:2E6D 68
rts ; CPU:$EE6E PRG:2E6E 60
; -----------------------------------------------------------------------------
; Routine: SubCEE6F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE6F:
ldy #$FF ; CPU:$EE6F PRG:2E6F A0 FF
lda $C166,x ; CPU:$EE71 PRG:2E71 BD 66 C1
tax ; CPU:$EE74 PRG:2E74 AA
; -----------------------------------------------------------------------------
; Routine: SubCEE6F_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.
; -----------------------------------------------------------------------------
SubCEE6F_Block:
iny ; CPU:$EE75 PRG:2E75 C8
inx ; CPU:$EE76 PRG:2E76 E8
lda $C0F9,x ; CPU:$EE77 PRG:2E77 BD F9 C0
sta $0594,y ; CPU:$EE7A PRG:2E7A 99 94 05
bne SubCEE6F_Block ; CPU:$EE7D PRG:2E7D D0 F6
jmp SubCEF1B ; CPU:$EE7F PRG:2E7F 4C 1B EF
; -----------------------------------------------------------------------------
; Routine: SubCEE82
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE82:
lda #$24 ; CPU:$EE82 PRG:2E82 A9 24
sta $0594,y ; CPU:$EE84 PRG:2E84 99 94 05
lda #$C4 ; CPU:$EE87 PRG:2E87 A9 C4
iny ; CPU:$EE89 PRG:2E89 C8
sta $0594,y ; CPU:$EE8A PRG:2E8A 99 94 05
iny ; CPU:$EE8D PRG:2E8D C8
dex ; CPU:$EE8E PRG:2E8E CA
bne SubCEE82 ; CPU:$EE8F PRG:2E8F D0 F1
lda #$00 ; CPU:$EE91 PRG:2E91 A9 00
sta $0594,y ; CPU:$EE93 PRG:2E93 99 94 05
rts ; CPU:$EE96 PRG:2E96 60
; -----------------------------------------------------------------------------
; Routine: SubCEE97
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEE97:
lda #$00 ; CPU:$EE97 PRG:2E97 A9 00
jsr SubCEFEA ; CPU:$EE99 PRG:2E99 20 EA EF
lda SndChannel ; CPU:$EE9C PRG:2E9C A5 EA
cmp #$08 ; CPU:$EE9E PRG:2E9E C9 08
bmi SubCEE97_Block ; CPU:$EEA0 PRG:2EA0 30 03
jmp $EF21 ; CPU:$EEA2 PRG:2EA2 4C 21 EF
; -----------------------------------------------------------------------------
; Routine: SubCEE97_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.
; -----------------------------------------------------------------------------
SubCEE97_Block:
lda #$20 ; CPU:$EEA5 PRG:2EA5 A9 20
sta $0594 ; CPU:$EEA7 PRG:2EA7 8D 94 05
ldy SndChannel ; CPU:$EEAA PRG:2EAA A4 EA
lda $C0EB,y ; CPU:$EEAC PRG:2EAC B9 EB C0
sta $0595 ; CPU:$EEAF PRG:2EAF 8D 95 05
lda $C0F2,y ; CPU:$EEB2 PRG:2EB2 B9 F2 C0
sta $0596 ; CPU:$EEB5 PRG:2EB5 8D 96 05
ldx $C03C,y ; CPU:$EEB8 PRG:2EB8 BE 3C C0
lda #$24 ; CPU:$EEBB PRG:2EBB A9 24
sta $0597 ; CPU:$EEBD PRG:2EBD 8D 97 05
ldy #$04 ; CPU:$EEC0 PRG:2EC0 A0 04
jsr SubCEF18 ; CPU:$EEC2 PRG:2EC2 20 18 EF
inc $0594 ; CPU:$EEC5 PRG:2EC5 EE 94 05
lda #$40 ; CPU:$EEC8 PRG:2EC8 A9 40
clc ; CPU:$EECA PRG:2ECA 18
adc $0595 ; CPU:$EECB PRG:2ECB 6D 95 05
sta $0595 ; CPU:$EECE PRG:2ECE 8D 95 05
ldx SndChannel ; CPU:$EED1 PRG:2ED1 A6 EA
lda $C044,x ; CPU:$EED3 PRG:2ED3 BD 44 C0
sta $0597 ; CPU:$EED6 PRG:2ED6 8D 97 05
jsr SubCEF1B ; CPU:$EED9 PRG:2ED9 20 1B EF
ldx SndChannel ; CPU:$EEDC PRG:2EDC A6 EA
jsr SubCEE6F ; CPU:$EEDE PRG:2EDE 20 6F EE
; -----------------------------------------------------------------------------
; Routine: SubCEEE1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEEE1:
lda #$07 ; CPU:$EEE1 PRG:2EE1 A9 07
sta ZpA5 ; CPU:$EEE3 PRG:2EE3 85 A5
sta ZpA9 ; CPU:$EEE5 PRG:2EE5 85 A9
sta ZpAC ; CPU:$EEE7 PRG:2EE7 85 AC
ldy #$03 ; CPU:$EEE9 PRG:2EE9 A0 03
ldx #$06 ; CPU:$EEEB PRG:2EEB A2 06
; -----------------------------------------------------------------------------
; Routine: SubCEEED
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEEED:
lda $04A8,x ; CPU:$EEED PRG:2EED BD A8 04
bne SubCEEED_Block_2 ; CPU:$EEF0 PRG:2EF0 D0 16
dex ; CPU:$EEF2 PRG:2EF2 CA
bmi SubCEEED_Block_2 ; CPU:$EEF3 PRG:2EF3 30 13
lda #$24 ; CPU:$EEF5 PRG:2EF5 A9 24
sta $0594,y ; CPU:$EEF7 PRG:2EF7 99 94 05
iny ; CPU:$EEFA PRG:2EFA C8
sta $0594,y ; CPU:$EEFB PRG:2EFB 99 94 05
iny ; CPU:$EEFE PRG:2EFE C8
dec ZpA5 ; CPU:$EEFF PRG:2EFF C6 A5
dec ZpA9 ; CPU:$EF01 PRG:2F01 C6 A9
dec ZpAC ; CPU:$EF03 PRG:2F03 C6 AC
jmp $EEED ; CPU:$EF05 PRG:2F05 4C ED EE
; -----------------------------------------------------------------------------
; Routine: SubCEEED_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.
; -----------------------------------------------------------------------------
SubCEEED_Block_2:
inx ; CPU:$EF08 PRG:2F08 E8
lda #$21 ; CPU:$EF09 PRG:2F09 A9 21
sta $0594 ; CPU:$EF0B PRG:2F0B 8D 94 05
lda #$6D ; CPU:$EF0E PRG:2F0E A9 6D
sta $0595 ; CPU:$EF10 PRG:2F10 8D 95 05
lda #$0E ; CPU:$EF13 PRG:2F13 A9 0E
sta $0596 ; CPU:$EF15 PRG:2F15 8D 96 05
; -----------------------------------------------------------------------------
; Routine: SubCEF18
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF18:
jsr SubCEE82 ; CPU:$EF18 PRG:2F18 20 82 EE
; -----------------------------------------------------------------------------
; Routine: SubCEF1B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF1B:
jsr SubCEE44 ; CPU:$EF1B PRG:2F1B 20 44 EE
jmp SubCF218 ; CPU:$EF1E PRG:2F1E 4C 18 F2
; -----------------------------------------------------------------------------
; Routine: SubCEF21
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEF21:
lda SndChannel ; CPU:$EF21 PRG:2F21 A5 EA
cmp #$08 ; CPU:$EF23 PRG:2F23 C9 08
bne SubCEF21_Block ; CPU:$EF25 PRG:2F25 D0 59
ldx SndChannel ; CPU:$EF27 PRG:2F27 A6 EA
jsr SubCEE6F ; CPU:$EF29 PRG:2F29 20 6F EE
lda #$04 ; CPU:$EF2C PRG:2F2C A9 04
jsr SubCEFEA ; CPU:$EF2E PRG:2F2E 20 EA EF
lda #$20 ; CPU:$EF31 PRG:2F31 A9 20
sta $0594 ; CPU:$EF33 PRG:2F33 8D 94 05
lda #$F3 ; CPU:$EF36 PRG:2F36 A9 F3
sta $0595 ; CPU:$EF38 PRG:2F38 8D 95 05
lda #$08 ; CPU:$EF3B PRG:2F3B A9 08
sta $0596 ; CPU:$EF3D PRG:2F3D 8D 96 05
ldx #$04 ; CPU:$EF40 PRG:2F40 A2 04
ldy #$03 ; CPU:$EF42 PRG:2F42 A0 03
lda $049B ; CPU:$EF44 PRG:2F44 AD 9B 04
bne SubCEF21_Block_2 ; CPU:$EF47 PRG:2F47 D0 11
dex ; CPU:$EF49 PRG:2F49 CA
dec ZpA3 ; CPU:$EF4A PRG:2F4A C6 A3
dec ZpA7 ; CPU:$EF4C PRG:2F4C C6 A7
dec ZpAA ; CPU:$EF4E PRG:2F4E C6 AA
lda #$24 ; CPU:$EF50 PRG:2F50 A9 24
sta $0597 ; CPU:$EF52 PRG:2F52 8D 97 05
sta $0598 ; CPU:$EF55 PRG:2F55 8D 98 05
ldy #$05 ; CPU:$EF58 PRG:2F58 A0 05
; -----------------------------------------------------------------------------
; Routine: SubCEF21_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.
; -----------------------------------------------------------------------------
SubCEF21_Block_2:
jsr SubCEF18 ; CPU:$EF5A PRG:2F5A 20 18 EF
inc $0594 ; CPU:$EF5D PRG:2F5D EE 94 05
lda #$31 ; CPU:$EF60 PRG:2F60 A9 31
sta $0595 ; CPU:$EF62 PRG:2F62 8D 95 05
lda #$C4 ; CPU:$EF65 PRG:2F65 A9 C4
sta $0598 ; CPU:$EF67 PRG:2F67 8D 98 05
lda $04A4 ; CPU:$EF6A PRG:2F6A AD A4 04
bne SubCEF21_Block_3 ; CPU:$EF6D PRG:2F6D D0 0B
lda #$24 ; CPU:$EF6F PRG:2F6F A9 24
sta $0598 ; CPU:$EF71 PRG:2F71 8D 98 05
dec ZpA4 ; CPU:$EF74 PRG:2F74 C6 A4
dec ZpA8 ; CPU:$EF76 PRG:2F76 C6 A8
dec ZpAB ; CPU:$EF78 PRG:2F78 C6 AB
; -----------------------------------------------------------------------------
; Routine: SubCEF21_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.
; -----------------------------------------------------------------------------
SubCEF21_Block_3:
jsr SubCEF1B ; CPU:$EF7A PRG:2F7A 20 1B EF
jmp $EEE1 ; CPU:$EF7D PRG:2F7D 4C E1 EE
; -----------------------------------------------------------------------------
; Routine: SubCEF21_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.
; -----------------------------------------------------------------------------
SubCEF21_Block:
lda SndChannel ; CPU:$EF80 PRG:2F80 A5 EA
tax ; CPU:$EF82 PRG:2F82 AA
lda $C0BC,x ; CPU:$EF83 PRG:2F83 BD BC C0
sta ZpA2 ; CPU:$EF86 PRG:2F86 85 A2
lda #$B5 ; CPU:$EF88 PRG:2F88 A9 B5
sta $0595 ; CPU:$EF8A PRG:2F8A 8D 95 05
lda #$20 ; CPU:$EF8D PRG:2F8D A9 20
sta $0594 ; CPU:$EF8F PRG:2F8F 8D 94 05
lda #$06 ; CPU:$EF92 PRG:2F92 A9 06
sta $0596 ; CPU:$EF94 PRG:2F94 8D 96 05
ldx #$03 ; CPU:$EF97 PRG:2F97 A2 03
ldy #$03 ; CPU:$EF99 PRG:2F99 A0 03
jsr SubCEE82 ; CPU:$EF9B PRG:2F9B 20 82 EE
lda ZpA2 ; CPU:$EF9E PRG:2F9E A5 A2
cmp #$97 ; CPU:$EFA0 PRG:2FA0 C9 97
beq SubCEF21_Block_4 ; CPU:$EFA2 PRG:2FA2 F0 08
inc $0594 ; CPU:$EFA4 PRG:2FA4 EE 94 05
lda #$15 ; CPU:$EFA7 PRG:2FA7 A9 15
sta $0595 ; CPU:$EFA9 PRG:2FA9 8D 95 05
; -----------------------------------------------------------------------------
; Routine: SubCEF21_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.
; -----------------------------------------------------------------------------
SubCEF21_Block_4:
jsr SubCEF1B ; CPU:$EFAC PRG:2FAC 20 1B EF
ldx SndChannel ; CPU:$EFAF PRG:2FAF A6 EA
lda $C0D1,x ; CPU:$EFB1 PRG:2FB1 BD D1 C0
tax ; CPU:$EFB4 PRG:2FB4 AA
jsr SubCEE6F ; CPU:$EFB5 PRG:2FB5 20 6F EE
lda #$C4 ; CPU:$EFB8 PRG:2FB8 A9 C4
sta ZpBC ; CPU:$EFBA PRG:2FBA 85 BC
lda SndChannel ; CPU:$EFBC PRG:2FBC A5 EA
tax ; CPU:$EFBE PRG:2FBE AA
lda $C0C2,x ; CPU:$EFBF PRG:2FBF BD C2 C0
sta ZpB3 ; CPU:$EFC2 PRG:2FC2 85 B3
lda #$01 ; CPU:$EFC4 PRG:2FC4 A9 01
sta Zp98 ; CPU:$EFC6 PRG:2FC6 85 98
; -----------------------------------------------------------------------------
; Routine: SubCEFC8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFC8:
jsr SubCEA7C ; CPU:$EFC8 PRG:2FC8 20 7C EA
lda Zp98 ; CPU:$EFCB PRG:2FCB A5 98
cmp ZpB3 ; CPU:$EFCD PRG:2FCD C5 B3
beq SubCEFC8_Block ; CPU:$EFCF PRG:2FCF F0 05
inc Zp98 ; CPU:$EFD1 PRG:2FD1 E6 98
jmp $EFC8 ; CPU:$EFD3 PRG:2FD3 4C C8 EF
; -----------------------------------------------------------------------------
; Routine: SubCEFC8_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.
; -----------------------------------------------------------------------------
SubCEFC8_Block:
lda SndChannel ; CPU:$EFD6 PRG:2FD6 A5 EA
cmp #$0B ; CPU:$EFD8 PRG:2FD8 C9 0B
bne SubCEFC8_Block_2 ; CPU:$EFDA PRG:2FDA D0 0D
lda #$20 ; CPU:$EFDC PRG:2FDC A9 20
sta ScorePtrHi ; CPU:$EFDE PRG:2FDE 85 A1
lda #$DA ; CPU:$EFE0 PRG:2FE0 A9 DA
sta ScorePtrLo ; CPU:$EFE2 PRG:2FE2 85 A0
lda #$00 ; CPU:$EFE4 PRG:2FE4 A9 00
jsr $EE5E ; CPU:$EFE6 PRG:2FE6 20 5E EE
; -----------------------------------------------------------------------------
; Routine: SubCEFC8_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.
; -----------------------------------------------------------------------------
SubCEFC8_Block_2:
rts ; CPU:$EFE9 PRG:2FE9 60
; -----------------------------------------------------------------------------
; Routine: SubCEFEA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFEA:
sta ZpA3 ; CPU:$EFEA PRG:2FEA 85 A3
sta ZpA4 ; CPU:$EFEC PRG:2FEC 85 A4
sta ZpA7 ; CPU:$EFEE PRG:2FEE 85 A7
sta ZpA8 ; CPU:$EFF0 PRG:2FF0 85 A8
sta ZpAA ; CPU:$EFF2 PRG:2FF2 85 AA
sta ZpAB ; CPU:$EFF4 PRG:2FF4 85 AB
rts ; CPU:$EFF6 PRG:2FF6 60
; -----------------------------------------------------------------------------
; Routine: SubCEFF7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCEFF7:
lda ZpAF ; CPU:$EFF7 PRG:2FF7 A5 AF
bne SubCEFF7_Block ; CPU:$EFF9 PRG:2FF9 D0 11
lda GameState ; CPU:$EFFB PRG:2FFB A5 EC
cmp #$01 ; CPU:$EFFD PRG:2FFD C9 01
beq SubCF04B_Block ; CPU:$EFFF PRG:2FFF F0 04
lda #$00 ; CPU:$F001 PRG:3001 A9 00
sta ZpCF ; CPU:$F003 PRG:3003 85 CF
; -----------------------------------------------------------------------------
; Routine: SubCF04B_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.
; -----------------------------------------------------------------------------
SubCF04B_Block:
rts ; CPU:$F005 PRG:3005 60
; -----------------------------------------------------------------------------
; Routine: SubCF006
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF006:
lda GameState ; CPU:$F006 PRG:3006 A5 EC
cmp #$01 ; CPU:$F008 PRG:3008 C9 01
bne SubCF04B_Block ; CPU:$F00A PRG:300A D0 F9
; -----------------------------------------------------------------------------
; Routine: SubCEFF7_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.
; -----------------------------------------------------------------------------
SubCEFF7_Block:
lda #$00 ; CPU:$F00C PRG:300C A9 00
sta ZpDB ; CPU:$F00E PRG:300E 85 DB
sta ZpBF ; CPU:$F010 PRG:3010 85 BF
lda ZpCF ; CPU:$F012 PRG:3012 A5 CF
beq SubCF006_Block_2 ; CPU:$F014 PRG:3014 F0 06
ldy GameState ; CPU:$F016 PRG:3016 A4 EC
cpy #$01 ; CPU:$F018 PRG:3018 C0 01
beq SubCF006_Block_3 ; CPU:$F01A PRG:301A F0 08
; -----------------------------------------------------------------------------
; Routine: SubCF006_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.
; -----------------------------------------------------------------------------
SubCF006_Block_2:
lda Zp36 ; CPU:$F01C PRG:301C A5 36
bne SubCF04B_Block ; CPU:$F01E PRG:301E D0 E5
lda #$1F ; CPU:$F020 PRG:3020 A9 1F
sta Zp36 ; CPU:$F022 PRG:3022 85 36
; -----------------------------------------------------------------------------
; Routine: SubCF006_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.
; -----------------------------------------------------------------------------
SubCF006_Block_3:
lda SndChannel ; CPU:$F024 PRG:3024 A5 EA
cmp #$08 ; CPU:$F026 PRG:3026 C9 08
bpl SubCF006_Block_5 ; CPU:$F028 PRG:3028 10 61
lda ZpCF ; CPU:$F02A PRG:302A A5 CF
sta Zp98 ; CPU:$F02C PRG:302C 85 98
inc Zp98 ; CPU:$F02E PRG:302E E6 98
; -----------------------------------------------------------------------------
; Routine: SubCF030
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF030:
tax ; CPU:$F030 PRG:3030 AA
lda $04A8,x ; CPU:$F031 PRG:3031 BD A8 04
ldy GameState ; CPU:$F034 PRG:3034 A4 EC
cpy #$01 ; CPU:$F036 PRG:3036 C0 01
bne SubCF030_Block ; CPU:$F038 PRG:3038 D0 08
jsr $F12B ; CPU:$F03A PRG:303A 20 2B F1
inx ; CPU:$F03D PRG:303D E8
txa ; CPU:$F03E PRG:303E 8A
jmp $F04B ; CPU:$F03F PRG:303F 4C 4B F0
; -----------------------------------------------------------------------------
; Routine: SubCF030_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.
; -----------------------------------------------------------------------------
SubCF030_Block:
sta ZpBC ; CPU:$F042 PRG:3042 85 BC
inx ; CPU:$F044 PRG:3044 E8
txa ; CPU:$F045 PRG:3045 8A
pha ; CPU:$F046 PRG:3046 48
jsr SubCEA7C ; CPU:$F047 PRG:3047 20 7C EA
pla ; CPU:$F04A PRG:304A 68
; -----------------------------------------------------------------------------
; Routine: SubCF04B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF04B:
inc ZpCF ; CPU:$F04B PRG:304B E6 CF
cmp ZpA5 ; CPU:$F04D PRG:304D C5 A5
bne SubCF04B_Block ; CPU:$F04F PRG:304F D0 B4
; -----------------------------------------------------------------------------
; Routine: SubCF051
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF051:
ldy GameState ; CPU:$F051 PRG:3051 A4 EC
cpy #$01 ; CPU:$F053 PRG:3053 C0 01
bne SubCF051_Block ; CPU:$F055 PRG:3055 D0 24
lda SndChannel ; CPU:$F057 PRG:3057 A5 EA
cmp #$05 ; CPU:$F059 PRG:3059 C9 05
bne UpdateMusicChannel22 ; CPU:$F05B PRG:305B D0 12
lda ZpA5 ; CPU:$F05D PRG:305D A5 A5
cmp #$01 ; CPU:$F05F PRG:305F C9 01
beq UpdateMusicChannel22 ; CPU:$F061 PRG:3061 F0 0C
ldy $05E0 ; CPU:$F063 PRG:3063 AC E0 05
lda $05E1 ; CPU:$F066 PRG:3066 AD E1 05
sta $05E0 ; CPU:$F069 PRG:3069 8D E0 05
sty $05E1 ; CPU:$F06C PRG:306C 8C E1 05
; -----------------------------------------------------------------------------
; Routine: UpdateMusicChannel22
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateMusicChannel22:
lda #$16 ; CPU:$F06F PRG:306F A9 16
sta GameState ; CPU:$F071 PRG:3071 85 EC
lda #$00 ; CPU:$F073 PRG:3073 A9 00
sta $05F0 ; CPU:$F075 PRG:3075 8D F0 05
sta Zp98 ; CPU:$F078 PRG:3078 85 98
rts ; CPU:$F07A PRG:307A 60
; -----------------------------------------------------------------------------
; Routine: SubCF051_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.
; -----------------------------------------------------------------------------
SubCF051_Block:
lda #$08 ; CPU:$F07B PRG:307B A9 08
sta GameState ; CPU:$F07D PRG:307D 85 EC
lda #$00 ; CPU:$F07F PRG:307F A9 00
sta ZpAD ; CPU:$F081 PRG:3081 85 AD
sta ZpCF ; CPU:$F083 PRG:3083 85 CF
pha ; CPU:$F085 PRG:3085 48
ldx #$00 ; CPU:$F086 PRG:3086 A2 00
jmp $D20E ; CPU:$F088 PRG:3088 4C 0E D2
; -----------------------------------------------------------------------------
; Routine: SubCF006_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.
; -----------------------------------------------------------------------------
SubCF006_Block_5:
bne SubCF051_Block_2 ; CPU:$F08B PRG:308B D0 64
lda ZpCF ; CPU:$F08D PRG:308D A5 CF
sta Zp98 ; CPU:$F08F PRG:308F 85 98
inc Zp98 ; CPU:$F091 PRG:3091 E6 98
cmp #$04 ; CPU:$F093 PRG:3093 C9 04
bpl SubCF051_Block_3 ; CPU:$F095 PRG:3095 10 26
lda ZpCF ; CPU:$F097 PRG:3097 A5 CF
tax ; CPU:$F099 PRG:3099 AA
lda $0498,x ; CPU:$F09A PRG:309A BD 98 04
ldy GameState ; CPU:$F09D PRG:309D A4 EC
cpy #$01 ; CPU:$F09F PRG:309F C0 01
bne SubCF051_Block_4 ; CPU:$F0A1 PRG:30A1 D0 06
jsr $F12B ; CPU:$F0A3 PRG:30A3 20 2B F1
jmp $F0AE ; CPU:$F0A6 PRG:30A6 4C AE F0
; -----------------------------------------------------------------------------
; Routine: SubCF051_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.
; -----------------------------------------------------------------------------
SubCF051_Block_4:
sta ZpBC ; CPU:$F0A9 PRG:30A9 85 BC
jsr SubCEA7C ; CPU:$F0AB PRG:30AB 20 7C EA
; -----------------------------------------------------------------------------
; Routine: SubCF0AE
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF0AE:
inc ZpCF ; CPU:$F0AE PRG:30AE E6 CF
lda ZpA3 ; CPU:$F0B0 PRG:30B0 A5 A3
cmp #$03 ; CPU:$F0B2 PRG:30B2 C9 03
bne SubCF0AE_Block_2 ; CPU:$F0B4 PRG:30B4 D0 06
cmp ZpCF ; CPU:$F0B6 PRG:30B6 C5 CF
bne SubCF0AE_Block_2 ; CPU:$F0B8 PRG:30B8 D0 02
inc ZpCF ; CPU:$F0BA PRG:30BA E6 CF
; -----------------------------------------------------------------------------
; Routine: SubCF0AE_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.
; -----------------------------------------------------------------------------
SubCF0AE_Block_2:
rts ; CPU:$F0BC PRG:30BC 60
; -----------------------------------------------------------------------------
; Routine: SubCF051_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.
; -----------------------------------------------------------------------------
SubCF051_Block_3:
cmp #$08 ; CPU:$F0BD PRG:30BD C9 08
bpl SubCF0AE_Block_3 ; CPU:$F0BF PRG:30BF 10 28
lda ZpCF ; CPU:$F0C1 PRG:30C1 A5 CF
tax ; CPU:$F0C3 PRG:30C3 AA
lda $049D,x ; CPU:$F0C4 PRG:30C4 BD 9D 04
ldy GameState ; CPU:$F0C7 PRG:30C7 A4 EC
cpy #$01 ; CPU:$F0C9 PRG:30C9 C0 01
bne SubCF0AE_Block_4 ; CPU:$F0CB PRG:30CB D0 06
jsr $F12B ; CPU:$F0CD PRG:30CD 20 2B F1
jmp $F0D8 ; CPU:$F0D0 PRG:30D0 4C D8 F0
; -----------------------------------------------------------------------------
; Routine: SubCF0AE_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.
; -----------------------------------------------------------------------------
SubCF0AE_Block_4:
sta ZpBC ; CPU:$F0D3 PRG:30D3 85 BC
jsr SubCEA7C ; CPU:$F0D5 PRG:30D5 20 7C EA
; -----------------------------------------------------------------------------
; Routine: SubCF0D8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF0D8:
inc ZpCF ; CPU:$F0D8 PRG:30D8 E6 CF
lda ZpA4 ; CPU:$F0DA PRG:30DA A5 A4
cmp #$03 ; CPU:$F0DC PRG:30DC C9 03
bne SubCF0D8_Block_2 ; CPU:$F0DE PRG:30DE D0 08
lda ZpCF ; CPU:$F0E0 PRG:30E0 A5 CF
cmp #$07 ; CPU:$F0E2 PRG:30E2 C9 07
bne SubCF0D8_Block_2 ; CPU:$F0E4 PRG:30E4 D0 02
inc ZpCF ; CPU:$F0E6 PRG:30E6 E6 CF
; -----------------------------------------------------------------------------
; Routine: SubCF0D8_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.
; -----------------------------------------------------------------------------
SubCF0D8_Block_2:
rts ; CPU:$F0E8 PRG:30E8 60
; -----------------------------------------------------------------------------
; Routine: SubCF0AE_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.
; -----------------------------------------------------------------------------
SubCF0AE_Block_3:
lda ZpCF ; CPU:$F0E9 PRG:30E9 A5 CF
sec ; CPU:$F0EB PRG:30EB 38
sbc #$08 ; CPU:$F0EC PRG:30EC E9 08
jmp $F030 ; CPU:$F0EE PRG:30EE 4C 30 F0
; -----------------------------------------------------------------------------
; Routine: SubCF051_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.
; -----------------------------------------------------------------------------
SubCF051_Block_2:
lda SndChannel ; CPU:$F0F1 PRG:30F1 A5 EA
tax ; CPU:$F0F3 PRG:30F3 AA
lda $C0B6,x ; CPU:$F0F4 PRG:30F4 BD B6 C0
clc ; CPU:$F0F7 PRG:30F7 18
adc ZpCF ; CPU:$F0F8 PRG:30F8 65 CF
tax ; CPU:$F0FA PRG:30FA AA
sta $04D4 ; CPU:$F0FB PRG:30FB 8D D4 04
lda ZpCF ; CPU:$F0FE PRG:30FE A5 CF
sta Zp98 ; CPU:$F100 PRG:3100 85 98
inc Zp98 ; CPU:$F102 PRG:3102 E6 98
lda $C098,x ; CPU:$F104 PRG:3104 BD 98 C0
tay ; CPU:$F107 PRG:3107 A8
lda $047F,y ; CPU:$F108 PRG:3108 B9 7F 04
ldy GameState ; CPU:$F10B PRG:310B A4 EC
cpy #$01 ; CPU:$F10D PRG:310D C0 01
bne SubCF0D8_Block_3 ; CPU:$F10F PRG:310F D0 06
jsr $F12B ; CPU:$F111 PRG:3111 20 2B F1
jmp $F11C ; CPU:$F114 PRG:3114 4C 1C F1
; -----------------------------------------------------------------------------
; Routine: SubCF0D8_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.
; -----------------------------------------------------------------------------
SubCF0D8_Block_3:
sta ZpBC ; CPU:$F117 PRG:3117 85 BC
jsr SubCEA7C ; CPU:$F119 PRG:3119 20 7C EA
; -----------------------------------------------------------------------------
; Routine: SubCF11C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF11C:
inc ZpCF ; CPU:$F11C PRG:311C E6 CF
lda $04D4 ; CPU:$F11E PRG:311E AD D4 04
tax ; CPU:$F121 PRG:3121 AA
lda $C099,x ; CPU:$F122 PRG:3122 BD 99 C0
bne SubCF11C_Block ; CPU:$F125 PRG:3125 D0 03
jmp $F051 ; CPU:$F127 PRG:3127 4C 51 F0
; -----------------------------------------------------------------------------
; Routine: SubCF11C_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.
; -----------------------------------------------------------------------------
SubCF11C_Block:
rts ; CPU:$F12A PRG:312A 60
; -----------------------------------------------------------------------------
; Routine: SubCF12B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF12B:
ldy $05F0 ; CPU:$F12B PRG:312B AC F0 05
sta $05E0,y ; CPU:$F12E PRG:312E 99 E0 05
inc $05F0 ; CPU:$F131 PRG:3131 EE F0 05
rts ; CPU:$F134 PRG:3134 60
; -----------------------------------------------------------------------------
; Routine: SubCF135
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF135:
lda $0331 ; CPU:$F135 PRG:3135 AD 31 03
bne SubCF135_Block_2 ; CPU:$F138 PRG:3138 D0 3F
ldx $0300 ; CPU:$F13A PRG:313A AE 00 03
lda $0302,x ; CPU:$F13D PRG:313D BD 02 03
beq SubCF135_Block_2 ; CPU:$F140 PRG:3140 F0 37
and #$F0 ; CPU:$F142 PRG:3142 29 F0
lsr a ; CPU:$F144 PRG:3144 4A
lsr a ; CPU:$F145 PRG:3145 4A
lsr a ; CPU:$F146 PRG:3146 4A
tay ; CPU:$F147 PRG:3147 A8
lda $BFFE,y ; CPU:$F148 PRG:3148 B9 FE BF
sta Ptr2Lo ; CPU:$F14B PRG:314B 85 02
iny ; CPU:$F14D PRG:314D C8
lda $BFFE,y ; CPU:$F14E PRG:314E B9 FE BF
sta Zp03 ; CPU:$F151 PRG:3151 85 03
lda $0302,x ; CPU:$F153 PRG:3153 BD 02 03
and #$0F ; CPU:$F156 PRG:3156 29 0F
sta PtrHi ; CPU:$F158 PRG:3158 85 01
lda #$00 ; CPU:$F15A PRG:315A A9 00
sta $0302,x ; CPU:$F15C PRG:315C 9D 02 03
lda #$F1 ; CPU:$F15F PRG:315F A9 F1
pha ; CPU:$F161 PRG:3161 48
lda #$34 ; CPU:$F162 PRG:3162 A9 34
pha ; CPU:$F164 PRG:3164 48
inx ; CPU:$F165 PRG:3165 E8
inx ; CPU:$F166 PRG:3166 E8
txa ; CPU:$F167 PRG:3167 8A
cmp #$2E ; CPU:$F168 PRG:3168 C9 2E
bcc SubCF135_Block_3 ; CPU:$F16A PRG:316A 90 02
lda #$00 ; CPU:$F16C PRG:316C A9 00
; -----------------------------------------------------------------------------
; Routine: SubCF135_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.
; -----------------------------------------------------------------------------
SubCF135_Block_3:
sta $0300 ; CPU:$F16E PRG:316E 8D 00 03
lda $0301,x ; CPU:$F171 PRG:3171 BD 01 03
sta PtrLo ; CPU:$F174 PRG:3174 85 00
jmp (Zp02) ; CPU:$F176 PRG:3176 6C 02 00
; -----------------------------------------------------------------------------
; Routine: SubCF135_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.
; -----------------------------------------------------------------------------
SubCF135_Block_2:
rts ; CPU:$F179 PRG:3179 60
; -----------------------------------------------------------------------------
; Routine: SubCF17A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF17A:
ldx $0301 ; CPU:$F17A PRG:317A AE 01 03
ldy $0302,x ; CPU:$F17D PRG:317D BC 02 03
bne SubCF17A_Block ; CPU:$F180 PRG:3180 D0 14
sta $0303,x ; CPU:$F182 PRG:3182 9D 03 03
lda PtrHi ; CPU:$F185 PRG:3185 A5 01
sta $0302,x ; CPU:$F187 PRG:3187 9D 02 03
inx ; CPU:$F18A PRG:318A E8
inx ; CPU:$F18B PRG:318B E8
txa ; CPU:$F18C PRG:318C 8A
cmp #$2E ; CPU:$F18D PRG:318D C9 2E
bcc SubCF17A_Block_2 ; CPU:$F18F PRG:318F 90 02
lda #$00 ; CPU:$F191 PRG:3191 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCF17A_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.
; -----------------------------------------------------------------------------
SubCF17A_Block_2:
sta $0301 ; CPU:$F193 PRG:3193 8D 01 03
; -----------------------------------------------------------------------------
; Routine: SubCF17A_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.
; -----------------------------------------------------------------------------
SubCF17A_Block:
rts ; CPU:$F196 PRG:3196 60
; -----------------------------------------------------------------------------
; Routine: SubCF197
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF197:
lda PPUSTATUS ; CPU:$F197 PRG:3197 AD 02 20
lda VBlankTimer ; CPU:$F19A PRG:319A A5 10
and #$FB ; CPU:$F19C PRG:319C 29 FB
sta PPUCTRL ; CPU:$F19E PRG:319E 8D 00 20
sta VBlankTimer ; CPU:$F1A1 PRG:31A1 85 10
lda #$1C ; CPU:$F1A3 PRG:31A3 A9 1C
clc ; CPU:$F1A5 PRG:31A5 18
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block:
adc #$04 ; CPU:$F1A6 PRG:31A6 69 04
dec PtrHi ; CPU:$F1A8 PRG:31A8 C6 01
bne SubCF197_Block ; CPU:$F1AA PRG:31AA D0 FA
sta Ptr2Lo ; CPU:$F1AC PRG:31AC 85 02
sta PPUADDR ; CPU:$F1AE PRG:31AE 8D 06 20
lda #$00 ; CPU:$F1B1 PRG:31B1 A9 00
sta PPUADDR ; CPU:$F1B3 PRG:31B3 8D 06 20
ldx #$04 ; CPU:$F1B6 PRG:31B6 A2 04
ldy #$00 ; CPU:$F1B8 PRG:31B8 A0 00
lda #$24 ; CPU:$F1BA PRG:31BA A9 24
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block_3:
sta PPUDATA ; CPU:$F1BC PRG:31BC 8D 07 20
dey ; CPU:$F1BF PRG:31BF 88
bne SubCF197_Block_3 ; CPU:$F1C0 PRG:31C0 D0 FA
dex ; CPU:$F1C2 PRG:31C2 CA
bne SubCF197_Block_3 ; CPU:$F1C3 PRG:31C3 D0 F7
lda Ptr2Lo ; CPU:$F1C5 PRG:31C5 A5 02
adc #$03 ; CPU:$F1C7 PRG:31C7 69 03
sta PPUADDR ; CPU:$F1C9 PRG:31C9 8D 06 20
lda #$C0 ; CPU:$F1CC PRG:31CC A9 C0
sta PPUADDR ; CPU:$F1CE PRG:31CE 8D 06 20
ldy #$40 ; CPU:$F1D1 PRG:31D1 A0 40
lda #$00 ; CPU:$F1D3 PRG:31D3 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block_4:
sta PPUDATA ; CPU:$F1D5 PRG:31D5 8D 07 20
dey ; CPU:$F1D8 PRG:31D8 88
bne SubCF197_Block_4 ; CPU:$F1D9 PRG:31D9 D0 FA
rts ; CPU:$F1DB PRG:31DB 60
; -----------------------------------------------------------------------------
; Routine: SubCF218_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.
; -----------------------------------------------------------------------------
SubCF218_Block:
sta PPUADDR ; CPU:$F1DC PRG:31DC 8D 06 20
iny ; CPU:$F1DF PRG:31DF C8
lda (PtrLo),y ; CPU:$F1E0 PRG:31E0 B1 00
sta PPUADDR ; CPU:$F1E2 PRG:31E2 8D 06 20
iny ; CPU:$F1E5 PRG:31E5 C8
lda (PtrLo),y ; CPU:$F1E6 PRG:31E6 B1 00
asl a ; CPU:$F1E8 PRG:31E8 0A
pha ; CPU:$F1E9 PRG:31E9 48
lda VBlankTimer ; CPU:$F1EA PRG:31EA A5 10
ora #$04 ; CPU:$F1EC PRG:31EC 09 04
bcs SubCF197_Block_5 ; CPU:$F1EE PRG:31EE B0 02
and #$FB ; CPU:$F1F0 PRG:31F0 29 FB
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block_5:
sta PPUCTRL ; CPU:$F1F2 PRG:31F2 8D 00 20
sta VBlankTimer ; CPU:$F1F5 PRG:31F5 85 10
pla ; CPU:$F1F7 PRG:31F7 68
asl a ; CPU:$F1F8 PRG:31F8 0A
bcc SubCF197_Block_6 ; CPU:$F1F9 PRG:31F9 90 03
ora #$02 ; CPU:$F1FB PRG:31FB 09 02
iny ; CPU:$F1FD PRG:31FD C8
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block_6:
lsr a ; CPU:$F1FE PRG:31FE 4A
lsr a ; CPU:$F1FF PRG:31FF 4A
tax ; CPU:$F200 PRG:3200 AA
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block_8:
bcs SubCF197_Block_7 ; CPU:$F201 PRG:3201 B0 01
iny ; CPU:$F203 PRG:3203 C8
; -----------------------------------------------------------------------------
; Routine: SubCF197_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.
; -----------------------------------------------------------------------------
SubCF197_Block_7:
lda (PtrLo),y ; CPU:$F204 PRG:3204 B1 00
sta PPUDATA ; CPU:$F206 PRG:3206 8D 07 20
dex ; CPU:$F209 PRG:3209 CA
bne SubCF197_Block_8 ; CPU:$F20A PRG:320A D0 F5
sec ; CPU:$F20C PRG:320C 38
tya ; CPU:$F20D PRG:320D 98
adc PtrLo ; CPU:$F20E PRG:320E 65 00
sta PtrLo ; CPU:$F210 PRG:3210 85 00
lda #$00 ; CPU:$F212 PRG:3212 A9 00
adc PtrHi ; CPU:$F214 PRG:3214 65 01
sta PtrHi ; CPU:$F216 PRG:3216 85 01
; -----------------------------------------------------------------------------
; Routine: SubCF218
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF218:
ldx PPUSTATUS ; CPU:$F218 PRG:3218 AE 02 20
ldy #$00 ; CPU:$F21B PRG:321B A0 00
lda (PtrLo),y ; CPU:$F21D PRG:321D B1 00
bne SubCF218_Block ; CPU:$F21F PRG:321F D0 BB
; -----------------------------------------------------------------------------
; Routine: SubCF221
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF221:
lda #$00 ; CPU:$F221 PRG:3221 A9 00
sta PPUSCROLL ; CPU:$F223 PRG:3223 8D 05 20
sta PPUSCROLL ; CPU:$F226 PRG:3226 8D 05 20
rts ; CPU:$F229 PRG:3229 60
; -----------------------------------------------------------------------------
; Routine: SubCF22A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF22A:
sta PtrLo ; CPU:$F22A PRG:322A 85 00
lda #$04 ; CPU:$F22C PRG:322C A9 04
; -----------------------------------------------------------------------------
; Routine: SubCF22A_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.
; -----------------------------------------------------------------------------
SubCF22A_Block_2:
lsr PtrLo ; CPU:$F22E PRG:322E 46 00
bcc SubCF22A_Block ; CPU:$F230 PRG:3230 90 05
pha ; CPU:$F232 PRG:3232 48
jsr $F23D ; CPU:$F233 PRG:3233 20 3D F2
pla ; CPU:$F236 PRG:3236 68
; -----------------------------------------------------------------------------
; Routine: SubCF22A_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.
; -----------------------------------------------------------------------------
SubCF22A_Block:
clc ; CPU:$F237 PRG:3237 18
sbc #$00 ; CPU:$F238 PRG:3238 E9 00
bpl SubCF22A_Block_2 ; CPU:$F23A PRG:323A 10 F2
rts ; CPU:$F23C PRG:323C 60
; -----------------------------------------------------------------------------
; Routine: SubCF23D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF23D:
asl a ; CPU:$F23D PRG:323D 0A
asl a ; CPU:$F23E PRG:323E 0A
tay ; CPU:$F23F PRG:323F A8
sta Ptr2Lo ; CPU:$F240 PRG:3240 85 02
ldx $0330 ; CPU:$F242 PRG:3242 AE 30 03
lda $C00A,y ; CPU:$F245 PRG:3245 B9 0A C0
sta $0331,x ; CPU:$F248 PRG:3248 9D 31 03
jsr $F30A ; CPU:$F24B PRG:324B 20 0A F3
iny ; CPU:$F24E PRG:324E C8
lda $C00A,y ; CPU:$F24F PRG:324F B9 0A C0
sta $0331,x ; CPU:$F252 PRG:3252 9D 31 03
jsr $F30A ; CPU:$F255 PRG:3255 20 0A F3
iny ; CPU:$F258 PRG:3258 C8
lda $C00A,y ; CPU:$F259 PRG:3259 B9 0A C0
and #$07 ; CPU:$F25C PRG:325C 29 07
sta $0331,x ; CPU:$F25E PRG:325E 9D 31 03
sta PtrHi ; CPU:$F261 PRG:3261 85 01
txa ; CPU:$F263 PRG:3263 8A
sec ; CPU:$F264 PRG:3264 38
adc PtrHi ; CPU:$F265 PRG:3265 65 01
jsr $F30C ; CPU:$F267 PRG:3267 20 0C F3
tax ; CPU:$F26A PRG:326A AA
stx $0330 ; CPU:$F26B PRG:326B 8E 30 03
lda #$00 ; CPU:$F26E PRG:326E A9 00
sta $0331,x ; CPU:$F270 PRG:3270 9D 31 03
iny ; CPU:$F273 PRG:3273 C8
lda $C00A,y ; CPU:$F274 PRG:3274 B9 0A C0
sta Zp03 ; CPU:$F277 PRG:3277 85 03
; -----------------------------------------------------------------------------
; Routine: SubCF23D_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.
; -----------------------------------------------------------------------------
SubCF23D_Block_2:
dex ; CPU:$F279 PRG:3279 CA
lda a:$0020,y ; CPU:$F27A PRG:327A B9 20 00
and #$0F ; CPU:$F27D PRG:327D 29 0F
sta $0331,x ; CPU:$F27F PRG:327F 9D 31 03
dec PtrHi ; CPU:$F282 PRG:3282 C6 01
beq SubCF23D_Block ; CPU:$F284 PRG:3284 F0 12
dex ; CPU:$F286 PRG:3286 CA
lda a:$0020,y ; CPU:$F287 PRG:3287 B9 20 00
and #$F0 ; CPU:$F28A PRG:328A 29 F0
lsr a ; CPU:$F28C PRG:328C 4A
lsr a ; CPU:$F28D PRG:328D 4A
lsr a ; CPU:$F28E PRG:328E 4A
lsr a ; CPU:$F28F PRG:328F 4A
sta $0331,x ; CPU:$F290 PRG:3290 9D 31 03
dey ; CPU:$F293 PRG:3293 88
dec PtrHi ; CPU:$F294 PRG:3294 C6 01
bne SubCF23D_Block_2 ; CPU:$F296 PRG:3296 D0 E1
; -----------------------------------------------------------------------------
; Routine: SubCF23D_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.
; -----------------------------------------------------------------------------
SubCF23D_Block:
lda Zp03 ; CPU:$F298 PRG:3298 A5 03
and #$01 ; CPU:$F29A PRG:329A 29 01
beq SubCF23D_Block_3 ; CPU:$F29C PRG:329C F0 0B
ldy Ptr2Lo ; CPU:$F29E PRG:329E A4 02
clc ; CPU:$F2A0 PRG:32A0 18
lda a:$0020,y ; CPU:$F2A1 PRG:32A1 B9 20 00
adc #$37 ; CPU:$F2A4 PRG:32A4 69 37
sta $0331,x ; CPU:$F2A6 PRG:32A6 9D 31 03
; -----------------------------------------------------------------------------
; Routine: SubCF23D_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.
; -----------------------------------------------------------------------------
SubCF23D_Block_3:
rts ; CPU:$F2A9 PRG:32A9 60
; -----------------------------------------------------------------------------
; Routine: SubCF2AA
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF2AA:
sta Zp03 ; CPU:$F2AA PRG:32AA 85 03
; -----------------------------------------------------------------------------
; Routine: SubCF2AC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF2AC:
txa ; CPU:$F2AC PRG:32AC 8A
pha ; CPU:$F2AD PRG:32AD 48
tya ; CPU:$F2AE PRG:32AE 98
pha ; CPU:$F2AF PRG:32AF 48
ldy #$00 ; CPU:$F2B0 PRG:32B0 A0 00
lda (Ptr2Lo),y ; CPU:$F2B2 PRG:32B2 B1 02
and #$0F ; CPU:$F2B4 PRG:32B4 29 0F
sta Zp05 ; CPU:$F2B6 PRG:32B6 85 05
lda (Ptr2Lo),y ; CPU:$F2B8 PRG:32B8 B1 02
lsr a ; CPU:$F2BA PRG:32BA 4A
lsr a ; CPU:$F2BB PRG:32BB 4A
lsr a ; CPU:$F2BC PRG:32BC 4A
lsr a ; CPU:$F2BD PRG:32BD 4A
sta Zp04 ; CPU:$F2BE PRG:32BE 85 04
ldx $0330 ; CPU:$F2C0 PRG:32C0 AE 30 03
; -----------------------------------------------------------------------------
; Routine: SubCF2AC_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.
; -----------------------------------------------------------------------------
SubCF2AC_Block_2:
lda PtrHi ; CPU:$F2C3 PRG:32C3 A5 01
sta $0331,x ; CPU:$F2C5 PRG:32C5 9D 31 03
jsr $F30A ; CPU:$F2C8 PRG:32C8 20 0A F3
lda PtrLo ; CPU:$F2CB PRG:32CB A5 00
sta $0331,x ; CPU:$F2CD PRG:32CD 9D 31 03
jsr $F30A ; CPU:$F2D0 PRG:32D0 20 0A F3
lda Zp04 ; CPU:$F2D3 PRG:32D3 A5 04
sta Zp06 ; CPU:$F2D5 PRG:32D5 85 06
ora #$80 ; CPU:$F2D7 PRG:32D7 09 80
sta $0331,x ; CPU:$F2D9 PRG:32D9 9D 31 03
; -----------------------------------------------------------------------------
; Routine: SubCF2AC_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.
; -----------------------------------------------------------------------------
SubCF2AC_Block:
jsr $F30A ; CPU:$F2DC PRG:32DC 20 0A F3
iny ; CPU:$F2DF PRG:32DF C8
lda (Ptr2Lo),y ; CPU:$F2E0 PRG:32E0 B1 02
sta $0331,x ; CPU:$F2E2 PRG:32E2 9D 31 03
dec Zp06 ; CPU:$F2E5 PRG:32E5 C6 06
bne SubCF2AC_Block ; CPU:$F2E7 PRG:32E7 D0 F3
jsr $F30A ; CPU:$F2E9 PRG:32E9 20 0A F3
clc ; CPU:$F2EC PRG:32EC 18
lda #$01 ; CPU:$F2ED PRG:32ED A9 01
adc PtrLo ; CPU:$F2EF PRG:32EF 65 00
sta PtrLo ; CPU:$F2F1 PRG:32F1 85 00
lda #$00 ; CPU:$F2F3 PRG:32F3 A9 00
adc PtrHi ; CPU:$F2F5 PRG:32F5 65 01
sta PtrHi ; CPU:$F2F7 PRG:32F7 85 01
stx $0330 ; CPU:$F2F9 PRG:32F9 8E 30 03
dec Zp05 ; CPU:$F2FC PRG:32FC C6 05
bne SubCF2AC_Block_2 ; CPU:$F2FE PRG:32FE D0 C3
lda #$00 ; CPU:$F300 PRG:3300 A9 00
sta $0331,x ; CPU:$F302 PRG:3302 9D 31 03
; -----------------------------------------------------------------------------
; Routine: SubCF305
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF305:
pla ; CPU:$F305 PRG:3305 68
tay ; CPU:$F306 PRG:3306 A8
pla ; CPU:$F307 PRG:3307 68
tax ; CPU:$F308 PRG:3308 AA
rts ; CPU:$F309 PRG:3309 60
; -----------------------------------------------------------------------------
; Routine: SubCF30A
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF30A:
inx ; CPU:$F30A PRG:330A E8
txa ; CPU:$F30B PRG:330B 8A
; -----------------------------------------------------------------------------
; Routine: SubCF30C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF30C:
cmp #$3F ; CPU:$F30C PRG:330C C9 3F
bcc SubCF30C_Block ; CPU:$F30E PRG:330E 90 0D
ldx $0330 ; CPU:$F310 PRG:3310 AE 30 03
lda #$00 ; CPU:$F313 PRG:3313 A9 00
sta $0331,x ; CPU:$F315 PRG:3315 9D 31 03
pla ; CPU:$F318 PRG:3318 68
pla ; CPU:$F319 PRG:3319 68
jmp $F305 ; CPU:$F31A PRG:331A 4C 05 F3
; -----------------------------------------------------------------------------
; Routine: SubCF30C_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.
; -----------------------------------------------------------------------------
SubCF30C_Block:
rts ; CPU:$F31D PRG:331D 60
; -----------------------------------------------------------------------------
; Routine: SubCF31E
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF31E:
ldx #$FF ; CPU:$F31E PRG:331E A2 FF
bne SubCF31E_Block ; CPU:$F320 PRG:3320 D0 02
; -----------------------------------------------------------------------------
; Routine: SubCF322
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF322:
ldx #$00 ; CPU:$F322 PRG:3322 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCF31E_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.
; -----------------------------------------------------------------------------
SubCF31E_Block:
stx Zp04 ; CPU:$F324 PRG:3324 86 04
ldx #$00 ; CPU:$F326 PRG:3326 A2 00
stx Zp05 ; CPU:$F328 PRG:3328 86 05
stx Zp06 ; CPU:$F32A PRG:332A 86 06
stx Zp07 ; CPU:$F32C PRG:332C 86 07
lda PtrHi ; CPU:$F32E PRG:332E A5 01
and #$08 ; CPU:$F330 PRG:3330 29 08
bne SubCF322_Block ; CPU:$F332 PRG:3332 D0 01
inx ; CPU:$F334 PRG:3334 E8
; -----------------------------------------------------------------------------
; Routine: SubCF322_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.
; -----------------------------------------------------------------------------
SubCF322_Block:
lda PtrLo ; CPU:$F335 PRG:3335 A5 00
sta Zp06,x ; CPU:$F337 PRG:3337 95 06
lda PtrHi ; CPU:$F339 PRG:3339 A5 01
jsr $F33F ; CPU:$F33B PRG:333B 20 3F F3
rts ; CPU:$F33E PRG:333E 60
; -----------------------------------------------------------------------------
; Routine: SubCF33F
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF33F:
and #$07 ; CPU:$F33F PRG:333F 29 07
asl a ; CPU:$F341 PRG:3341 0A
asl a ; CPU:$F342 PRG:3342 0A
tax ; CPU:$F343 PRG:3343 AA
lda Zp04 ; CPU:$F344 PRG:3344 A5 04
beq SubCF33F_Block ; CPU:$F346 PRG:3346 F0 27
lda Zp24,x ; CPU:$F348 PRG:3348 B5 24
beq SubCF33F_Block_2 ; CPU:$F34A PRG:334A F0 27
; -----------------------------------------------------------------------------
; Routine: SubCF33F_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.
; -----------------------------------------------------------------------------
SubCF33F_Block_3:
clc ; CPU:$F34C PRG:334C 18
lda Zp27,x ; CPU:$F34D PRG:334D B5 27
sta Zp03 ; CPU:$F34F PRG:334F 85 03
lda Zp07 ; CPU:$F351 PRG:3351 A5 07
jsr $F3C4 ; CPU:$F353 PRG:3353 20 C4 F3
sta Zp27,x ; CPU:$F356 PRG:3356 95 27
lda Zp26,x ; CPU:$F358 PRG:3358 B5 26
sta Zp03 ; CPU:$F35A PRG:335A 85 03
lda Zp06 ; CPU:$F35C PRG:335C A5 06
jsr $F3C4 ; CPU:$F35E PRG:335E 20 C4 F3
sta Zp26,x ; CPU:$F361 PRG:3361 95 26
lda Zp25,x ; CPU:$F363 PRG:3363 B5 25
sta Zp03 ; CPU:$F365 PRG:3365 85 03
lda Zp05 ; CPU:$F367 PRG:3367 A5 05
jsr $F3C4 ; CPU:$F369 PRG:3369 20 C4 F3
sta Zp25,x ; CPU:$F36C PRG:336C 95 25
rts ; CPU:$F36E PRG:336E 60
; -----------------------------------------------------------------------------
; Routine: SubCF33F_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.
; -----------------------------------------------------------------------------
SubCF33F_Block:
lda Zp24,x ; CPU:$F36F PRG:336F B5 24
beq SubCF33F_Block_3 ; CPU:$F371 PRG:3371 F0 D9
; -----------------------------------------------------------------------------
; Routine: SubCF33F_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.
; -----------------------------------------------------------------------------
SubCF33F_Block_2:
sec ; CPU:$F373 PRG:3373 38
lda Zp27,x ; CPU:$F374 PRG:3374 B5 27
sta Zp03 ; CPU:$F376 PRG:3376 85 03
lda Zp07 ; CPU:$F378 PRG:3378 A5 07
jsr $F3E5 ; CPU:$F37A PRG:337A 20 E5 F3
sta Zp27,x ; CPU:$F37D PRG:337D 95 27
lda Zp26,x ; CPU:$F37F PRG:337F B5 26
sta Zp03 ; CPU:$F381 PRG:3381 85 03
lda Zp06 ; CPU:$F383 PRG:3383 A5 06
jsr $F3E5 ; CPU:$F385 PRG:3385 20 E5 F3
sta Zp26,x ; CPU:$F388 PRG:3388 95 26
lda Zp25,x ; CPU:$F38A PRG:338A B5 25
sta Zp03 ; CPU:$F38C PRG:338C 85 03
lda Zp05 ; CPU:$F38E PRG:338E A5 05
jsr $F3E5 ; CPU:$F390 PRG:3390 20 E5 F3
sta Zp25,x ; CPU:$F393 PRG:3393 95 25
lda Zp25,x ; CPU:$F395 PRG:3395 B5 25
bne SubCF33F_Block_5 ; CPU:$F397 PRG:3397 D0 08
lda Zp26,x ; CPU:$F399 PRG:3399 B5 26
bne SubCF33F_Block_5 ; CPU:$F39B PRG:339B D0 04
lda Zp27,x ; CPU:$F39D PRG:339D B5 27
beq SubCF33F_Block_6 ; CPU:$F39F PRG:339F F0 06
; -----------------------------------------------------------------------------
; Routine: SubCF33F_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.
; -----------------------------------------------------------------------------
SubCF33F_Block_5:
bcs SubCF33F_Block_7 ; CPU:$F3A1 PRG:33A1 B0 20
lda Zp24,x ; CPU:$F3A3 PRG:33A3 B5 24
eor #$FF ; CPU:$F3A5 PRG:33A5 49 FF
; -----------------------------------------------------------------------------
; Routine: SubCF33F_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.
; -----------------------------------------------------------------------------
SubCF33F_Block_6:
sta Zp24,x ; CPU:$F3A7 PRG:33A7 95 24
sec ; CPU:$F3A9 PRG:33A9 38
lda #$00 ; CPU:$F3AA PRG:33AA A9 00
sta Zp03 ; CPU:$F3AC PRG:33AC 85 03
lda Zp27,x ; CPU:$F3AE PRG:33AE B5 27
jsr $F3E5 ; CPU:$F3B0 PRG:33B0 20 E5 F3
sta Zp27,x ; CPU:$F3B3 PRG:33B3 95 27
lda Zp26,x ; CPU:$F3B5 PRG:33B5 B5 26
jsr $F3E5 ; CPU:$F3B7 PRG:33B7 20 E5 F3
sta Zp26,x ; CPU:$F3BA PRG:33BA 95 26
lda Zp25,x ; CPU:$F3BC PRG:33BC B5 25
jsr $F3E5 ; CPU:$F3BE PRG:33BE 20 E5 F3
sta Zp25,x ; CPU:$F3C1 PRG:33C1 95 25
; -----------------------------------------------------------------------------
; Routine: SubCF33F_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.
; -----------------------------------------------------------------------------
SubCF33F_Block_7:
rts ; CPU:$F3C3 PRG:33C3 60
; -----------------------------------------------------------------------------
; Routine: SubCF3C4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF3C4:
jsr $F407 ; CPU:$F3C4 PRG:33C4 20 07 F4
adc PtrHi ; CPU:$F3C7 PRG:33C7 65 01
cmp #$0A ; CPU:$F3C9 PRG:33C9 C9 0A
bcc SubCF3C4_Block ; CPU:$F3CB PRG:33CB 90 02
adc #$05 ; CPU:$F3CD PRG:33CD 69 05
; -----------------------------------------------------------------------------
; Routine: SubCF3C4_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.
; -----------------------------------------------------------------------------
SubCF3C4_Block:
clc ; CPU:$F3CF PRG:33CF 18
adc Ptr2Lo ; CPU:$F3D0 PRG:33D0 65 02
sta Ptr2Lo ; CPU:$F3D2 PRG:33D2 85 02
lda Zp03 ; CPU:$F3D4 PRG:33D4 A5 03
and #$F0 ; CPU:$F3D6 PRG:33D6 29 F0
adc Ptr2Lo ; CPU:$F3D8 PRG:33D8 65 02
bcc SubCF3C4_Block_2 ; CPU:$F3DA PRG:33DA 90 04
; -----------------------------------------------------------------------------
; Routine: SubCF3C4_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.
; -----------------------------------------------------------------------------
SubCF3C4_Block_3:
adc #$5F ; CPU:$F3DC PRG:33DC 69 5F
sec ; CPU:$F3DE PRG:33DE 38
rts ; CPU:$F3DF PRG:33DF 60
; -----------------------------------------------------------------------------
; Routine: SubCF3C4_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.
; -----------------------------------------------------------------------------
SubCF3C4_Block_2:
cmp #$A0 ; CPU:$F3E0 PRG:33E0 C9 A0
bcs SubCF3C4_Block_3 ; CPU:$F3E2 PRG:33E2 B0 F8
rts ; CPU:$F3E4 PRG:33E4 60
; -----------------------------------------------------------------------------
; Routine: SubCF3E5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF3E5:
jsr $F407 ; CPU:$F3E5 PRG:33E5 20 07 F4
sbc PtrHi ; CPU:$F3E8 PRG:33E8 E5 01
sta PtrHi ; CPU:$F3EA PRG:33EA 85 01
bcs SubCF3E5_Block ; CPU:$F3EC PRG:33EC B0 0A
adc #$0A ; CPU:$F3EE PRG:33EE 69 0A
sta PtrHi ; CPU:$F3F0 PRG:33F0 85 01
lda Ptr2Lo ; CPU:$F3F2 PRG:33F2 A5 02
adc #$0F ; CPU:$F3F4 PRG:33F4 69 0F
sta Ptr2Lo ; CPU:$F3F6 PRG:33F6 85 02
; -----------------------------------------------------------------------------
; Routine: SubCF3E5_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.
; -----------------------------------------------------------------------------
SubCF3E5_Block:
lda Zp03 ; CPU:$F3F8 PRG:33F8 A5 03
and #$F0 ; CPU:$F3FA PRG:33FA 29 F0
sec ; CPU:$F3FC PRG:33FC 38
sbc Ptr2Lo ; CPU:$F3FD PRG:33FD E5 02
bcs SubCF3E5_Block_2 ; CPU:$F3FF PRG:33FF B0 03
adc #$A0 ; CPU:$F401 PRG:3401 69 A0
clc ; CPU:$F403 PRG:3403 18
; -----------------------------------------------------------------------------
; Routine: SubCF3E5_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.
; -----------------------------------------------------------------------------
SubCF3E5_Block_2:
ora PtrHi ; CPU:$F404 PRG:3404 05 01
rts ; CPU:$F406 PRG:3406 60
; -----------------------------------------------------------------------------
; Routine: SubCF407
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF407:
pha ; CPU:$F407 PRG:3407 48
and #$0F ; CPU:$F408 PRG:3408 29 0F
sta PtrHi ; CPU:$F40A PRG:340A 85 01
pla ; CPU:$F40C PRG:340C 68
and #$F0 ; CPU:$F40D PRG:340D 29 F0
sta Ptr2Lo ; CPU:$F40F PRG:340F 85 02
lda Zp03 ; CPU:$F411 PRG:3411 A5 03
and #$0F ; CPU:$F413 PRG:3413 29 0F
rts ; CPU:$F415 PRG:3415 60
; ---- data $F416-$F48C (119 bytes) ----
MusicSeqPtrTable: ; Music sequence pointer table
.byte $A9, $00, $85, $04, $18, $A5, $00, $69, $10, $29, $F0, $4A, $4A, $A8, $A5, $00 ; CPU:$F416 PRG:3416 A9 00 85 04 18 A5 00 69 10 29 F0 4A 4A A8 A5 00
.byte $29, $07, $0A, $0A, $AA, $B9, $20, $00, $F0, $51, $B5, $24, $F0, $26, $38, $B9 ; CPU:$F426 PRG:3426 29 07 0A 0A AA B9 20 00 F0 51 B5 24 F0 26 38 B9
.byte $23, $00, $85, $03, $B5, $27, $20, $E5, $F3, $B9, $22, $00, $85, $03, $B5, $26 ; CPU:$F436 PRG:3436 23 00 85 03 B5 27 20 E5 F3 B9 22 00 85 03 B5 26
.byte $20, $E5, $F3, $B9, $21, $00, $85, $03, $B5, $25, $20, $E5, $F3, $B0, $30, $B9 ; CPU:$F446 PRG:3446 20 E5 F3 B9 21 00 85 03 B5 25 20 E5 F3 B0 30 B9
.byte $20, $00, $D0, $30, $A9, $FF, $85, $04, $38, $98, $D0, $1E, $90, $10, $B5, $24 ; CPU:$F456 PRG:3456 20 00 D0 30 A9 FF 85 04 38 98 D0 1E 90 10 B5 24
.byte $85, $20, $B5, $25, $85, $21, $B5, $26, $85, $22, $B5, $27, $85, $23, $A5, $00 ; CPU:$F466 PRG:3466 85 20 B5 25 85 21 B5 26 85 22 B5 27 85 23 A5 00
.byte $29, $08, $F0, $06, $CA, $CA, $CA, $CA, $10, $AB, $60, $B5, $24, $F0, $AF, $B9 ; CPU:$F476 PRG:3476 29 08 F0 06 CA CA CA CA 10 AB 60 B5 24 F0 AF B9
.byte $20, $00, $D0, $D0, $18, $90, $D2 ; CPU:$F486 PRG:3486 20 00 D0 D0 18 90 D2
; -----------------------------------------------------------------------------
; Routine: SubCF48D
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF48D:
ldx #$07 ; CPU:$F48D PRG:348D A2 07
dec Zp30 ; CPU:$F48F PRG:348F C6 30
bpl SubCF48D_Block_3 ; CPU:$F491 PRG:3491 10 06
lda #$0A ; CPU:$F493 PRG:3493 A9 0A
sta Zp30 ; CPU:$F495 PRG:3495 85 30
ldx #$16 ; CPU:$F497 PRG:3497 A2 16
; -----------------------------------------------------------------------------
; Routine: SubCF48D_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.
; -----------------------------------------------------------------------------
SubCF48D_Block_3:
lda Zp31,x ; CPU:$F499 PRG:3499 B5 31
beq SubCF48D_Block_2 ; CPU:$F49B PRG:349B F0 02
dec Zp31,x ; CPU:$F49D PRG:349D D6 31
; -----------------------------------------------------------------------------
; Routine: SubCF48D_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.
; -----------------------------------------------------------------------------
SubCF48D_Block_2:
dex ; CPU:$F49F PRG:349F CA
bpl SubCF48D_Block_3 ; CPU:$F4A0 PRG:34A0 10 F7
rts ; CPU:$F4A2 PRG:34A2 60
; ---- data $F4A3-$F4D1 (47 bytes) ----
SoundEffectTable: ; Sound effect data
.byte $8A, $48, $AE, $30, $03, $A5, $01, $9D, $31, $03, $20, $0A, $F3, $A5, $00, $9D ; CPU:$F4A3 PRG:34A3 8A 48 AE 30 03 A5 01 9D 31 03 20 0A F3 A5 00 9D
.byte $31, $03, $20, $0A, $F3, $A9, $01, $9D, $31, $03, $20, $0A, $F3, $98, $9D, $31 ; CPU:$F4B3 PRG:34B3 31 03 20 0A F3 A9 01 9D 31 03 20 0A F3 98 9D 31
.byte $03, $20, $0A, $F3, $A9, $00, $9D, $31, $03, $8E, $30, $03, $68, $AA, $60 ; CPU:$F4C3 PRG:34C3 03 20 0A F3 A9 00 9D 31 03 8E 30 03 68 AA 60
; -----------------------------------------------------------------------------
; Routine: SubCF4D2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF4D2:
lda Zp18 ; CPU:$F4D2 PRG:34D2 A5 18
and #$02 ; CPU:$F4D4 PRG:34D4 29 02
sta PtrLo ; CPU:$F4D6 PRG:34D6 85 00
lda Zp19 ; CPU:$F4D8 PRG:34D8 A5 19
and #$02 ; CPU:$F4DA PRG:34DA 29 02
eor PtrLo ; CPU:$F4DC PRG:34DC 45 00
clc ; CPU:$F4DE PRG:34DE 18
beq SubCF4D2_Block ; CPU:$F4DF PRG:34DF F0 01
sec ; CPU:$F4E1 PRG:34E1 38
; -----------------------------------------------------------------------------
; Routine: SubCF4D2_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.
; -----------------------------------------------------------------------------
SubCF4D2_Block:
ror Zp18 ; CPU:$F4E2 PRG:34E2 66 18
ror Zp19 ; CPU:$F4E4 PRG:34E4 66 19
ror Zp1A ; CPU:$F4E6 PRG:34E6 66 1A
ror Zp1B ; CPU:$F4E8 PRG:34E8 66 1B
ror Zp1C ; CPU:$F4EA PRG:34EA 66 1C
ror Zp1D ; CPU:$F4EC PRG:34EC 66 1D
ror Zp1E ; CPU:$F4EE PRG:34EE 66 1E
ror Zp1F ; CPU:$F4F0 PRG:34F0 66 1F
rts ; CPU:$F4F2 PRG:34F2 60
; -----------------------------------------------------------------------------
; Routine: SubCF4F3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF4F3:
txa ; CPU:$F4F3 PRG:34F3 8A
pha ; CPU:$F4F4 PRG:34F4 48
lda #$01 ; CPU:$F4F5 PRG:34F5 A9 01
sta JOY1 ; CPU:$F4F7 PRG:34F7 8D 16 40
ldx #$00 ; CPU:$F4FA PRG:34FA A2 00
lda #$00 ; CPU:$F4FC PRG:34FC A9 00
sta JOY1 ; CPU:$F4FE PRG:34FE 8D 16 40
jsr $F50B ; CPU:$F501 PRG:3501 20 0B F5
inx ; CPU:$F504 PRG:3504 E8
jsr $F50B ; CPU:$F505 PRG:3505 20 0B F5
pla ; CPU:$F508 PRG:3508 68
tax ; CPU:$F509 PRG:3509 AA
rts ; CPU:$F50A PRG:350A 60
; -----------------------------------------------------------------------------
; Routine: SubCF50B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCF50B:
ldy #$08 ; CPU:$F50B PRG:350B A0 08
; -----------------------------------------------------------------------------
; Routine: SubCF50B_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.
; -----------------------------------------------------------------------------
SubCF50B_Block:
pha ; CPU:$F50D PRG:350D 48
lda JOY1,x ; CPU:$F50E PRG:350E BD 16 40
sta PtrLo ; CPU:$F511 PRG:3511 85 00
lsr a ; CPU:$F513 PRG:3513 4A
ora PtrLo ; CPU:$F514 PRG:3514 05 00
lsr a ; CPU:$F516 PRG:3516 4A
pla ; CPU:$F517 PRG:3517 68
rol a ; CPU:$F518 PRG:3518 2A
dey ; CPU:$F519 PRG:3519 88
bne SubCF50B_Block ; CPU:$F51A PRG:351A D0 F1
stx PtrLo ; CPU:$F51C PRG:351C 86 00
asl PtrLo ; CPU:$F51E PRG:351E 06 00
ldx PtrLo ; CPU:$F520 PRG:3520 A6 00
ldy Zp14,x ; CPU:$F522 PRG:3522 B4 14
sty PtrLo ; CPU:$F524 PRG:3524 84 00
sta Zp14,x ; CPU:$F526 PRG:3526 95 14
and #$FF ; CPU:$F528 PRG:3528 29 FF
bpl SubCF50B_Block_3 ; CPU:$F52A PRG:352A 10 06
bit PtrLo ; CPU:$F52C PRG:352C 24 00
bpl SubCF50B_Block_3 ; CPU:$F52E PRG:352E 10 02
and #$7F ; CPU:$F530 PRG:3530 29 7F
; -----------------------------------------------------------------------------
; Routine: SubCF50B_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.
; -----------------------------------------------------------------------------
SubCF50B_Block_3:
ldy Zp15,x ; CPU:$F532 PRG:3532 B4 15
sta Zp15,x ; CPU:$F534 PRG:3534 95 15
tya ; CPU:$F536 PRG:3536 98
and #$0F ; CPU:$F537 PRG:3537 29 0F
and Zp15,x ; CPU:$F539 PRG:3539 35 15
beq SubCF50B_Block_4 ; CPU:$F53B PRG:353B F0 06
ora #$F0 ; CPU:$F53D PRG:353D 09 F0
and Zp15,x ; CPU:$F53F PRG:353F 35 15
sta Zp15,x ; CPU:$F541 PRG:3541 95 15
; -----------------------------------------------------------------------------
; Routine: SubCF50B_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.
; -----------------------------------------------------------------------------
SubCF50B_Block_4:
rts ; CPU:$F543 PRG:3543 60
; ---- data $F544-$FA5B (1304 bytes) ----
VRAMCmdBuffer: ; VRAM command buffer for PPU updates
.byte $3F, $00, $12, $0F, $30, $26, $2C, $0F, $30, $12, $21, $0F, $27, $27, $27, $0F ; CPU:$F544 PRG:3544 3F 00 12 0F 30 26 2C 0F 30 12 21 0F 27 27 27 0F
.byte $30, $30, $30, $0F, $21, $23, $C0, $50, $55, $23, $D0, $48, $05, $23, $D8, $48 ; CPU:$F554 PRG:3554 30 30 30 0F 21 23 C0 50 55 23 D0 48 05 23 D8 48
.byte $00, $23, $E2, $44, $A0, $23, $E8, $48, $AA, $23, $F1, $46, $FF, $27, $DB, $42 ; CPU:$F564 PRG:3564 00 23 E2 44 A0 23 E8 48 AA 23 F1 46 FF 27 DB 42
.byte $AA, $27, $E3, $42, $AA, $27, $EB, $42, $0A, $20, $62, $1B, $A3, $A6, $A9, $AC ; CPU:$F574 PRG:3574 AA 27 E3 42 AA 27 EB 42 0A 20 62 1B A3 A6 A9 AC
.byte $A6, $A9, $AE, $B1, $B4, $B6, $B8, $BB, $A3, $BE, $C0, $B6, $F3, $B4, $24, $D2 ; CPU:$F584 PRG:3584 A6 A9 AE B1 B4 B6 B8 BB A3 BE C0 B6 F3 B4 24 D2
.byte $CD, $24, $D2, $D5, $D5, $D5, $DE, $20, $82, $1B, $A4, $A7, $AA, $A4, $A7, $AA ; CPU:$F594 PRG:3594 CD 24 D2 D5 D5 D5 DE 20 82 1B A4 A7 AA A4 A7 AA
.byte $AF, $B2, $AA, $B7, $B9, $24, $BD, $BF, $24, $AD, $C6, $AB, $24, $D3, $E0, $24 ; CPU:$F5A4 PRG:35A4 AF B2 AA B7 B9 24 BD BF 24 AD C6 AB 24 D3 E0 24
.byte $D3, $D6, $D0, $DB, $DF, $20, $A2, $1B, $A5, $A8, $AB, $AD, $A8, $AB, $B0, $B3 ; CPU:$F5B4 PRG:35B4 D3 D6 D0 DB DF 20 A2 1B A5 A8 AB AD A8 AB B0 B3
.byte $B5, $B0, $BA, $BC, $A5, $BE, $C0, $C1, $C8, $24, $24, $D3, $E0, $24, $D3, $E0 ; CPU:$F5C4 PRG:35C4 B5 B0 BA BC A5 BE C0 C1 C8 24 24 D3 E0 24 D3 E0
.byte $24, $D3, $E0, $20, $D5, $08, $D3, $E0, $24, $D3, $D7, $D5, $DC, $E1, $20, $E5 ; CPU:$F5D4 PRG:35D4 24 D3 E0 20 D5 08 D3 E0 24 D3 D7 D5 DC E1 20 E5
.byte $0C, $B6, $B8, $BB, $AC, $A6, $A9, $AE, $B1, $B4, $AC, $A6, $A9, $20, $F4, $09 ; CPU:$F5E4 PRG:35E4 0C B6 B8 BB AC A6 A9 AE B1 B4 AC A6 A9 20 F4 09
.byte $EC, $EB, $E0, $24, $D3, $D6, $D9, $F2, $DE, $21, $05, $18, $B7, $B9, $24, $A4 ; CPU:$F5F4 PRG:35F4 EC EB E0 24 D3 D6 D9 F2 DE 21 05 18 B7 B9 24 A4
.byte $A7, $AA, $AF, $B2, $AA, $A4, $C9, $CC, $24, $24, $D2, $CE, $F2, $CF, $24, $D3 ; CPU:$F604 PRG:3604 A7 AA AF B2 AA A4 C9 CC 24 24 D2 CE F2 CF 24 D3
.byte $E0, $DA, $DD, $DF, $21, $25, $19, $B0, $BA, $BC, $AD, $A8, $AB, $B0, $B3, $B5 ; CPU:$F614 PRG:3614 E0 DA DD DF 21 25 19 B0 BA BC AD A8 AB B0 B3 B5
.byte $AD, $CB, $B5, $24, $24, $D4, $D0, $D0, $D1, $24, $D4, $D8, $24, $D4, $D8, $E2 ; CPU:$F624 PRG:3624 AD CB B5 24 24 D4 D0 D0 D1 24 D4 D8 24 D4 D8 E2
.byte $21, $42, $5C, $F0, $21, $64, $17, $E3, $E5, $E7, $E5, $F4, $24, $E3, $BE, $BE ; CPU:$F634 PRG:3634 21 42 5C F0 21 64 17 E3 E5 E7 E5 F4 24 E3 BE BE
.byte $BE, $F4, $24, $ED, $BE, $EE, $BE, $EF, $24, $B6, $24, $24, $24, $B6, $21, $84 ; CPU:$F644 PRG:3644 BE F4 24 ED BE EE BE EF 24 B6 24 24 24 B6 21 84
.byte $17, $E4, $E6, $E8, $E6, $E9, $24, $A4, $24, $24, $24, $A4, $24, $24, $24, $A4 ; CPU:$F654 PRG:3654 17 E4 E6 E8 E6 E9 24 A4 24 24 24 A4 24 24 24 A4
.byte $24, $24, $24, $A4, $24, $24, $24, $A4, $21, $A4, $17, $A4, $24, $A4, $24, $A4 ; CPU:$F664 PRG:3664 24 24 24 A4 24 24 24 A4 21 A4 17 A4 24 A4 24 A4
.byte $24, $A4, $24, $24, $24, $A4, $24, $24, $24, $A4, $24, $24, $24, $B7, $BE, $BE ; CPU:$F674 PRG:3674 24 A4 24 24 24 A4 24 24 24 A4 24 24 24 B7 BE BE
.byte $BE, $F1, $21, $C4, $17, $A4, $24, $B0, $24, $A4, $24, $B7, $BE, $BE, $BE, $F1 ; CPU:$F684 PRG:3684 BE F1 21 C4 17 A4 24 B0 24 A4 24 B7 BE BE BE F1
.byte $24, $24, $24, $A4, $24, $24, $24, $A4, $24, $24, $24, $A4, $21, $E4, $17, $B0 ; CPU:$F694 PRG:3694 24 24 24 A4 24 24 24 A4 24 24 24 A4 21 E4 17 B0
.byte $24, $24, $24, $B0, $24, $B0, $24, $24, $24, $B0, $24, $24, $24, $B0, $24, $24 ; CPU:$F6A4 PRG:36A4 24 24 24 B0 24 B0 24 24 24 B0 24 24 24 B0 24 24
.byte $24, $B0, $24, $24, $24, $B0, $22, $6B, $0B, $0C, $0A, $15, $0C, $1E, $15, $0A ; CPU:$F6B4 PRG:36B4 24 B0 24 24 24 B0 22 6B 0B 0C 0A 15 0C 1E 15 0A
.byte $1D, $0E, $24, $0A, $22, $AB, $0B, $0C, $0A, $15, $0C, $1E, $15, $0A, $1D, $0E ; CPU:$F6C4 PRG:36C4 1D 0E 24 0A 22 AB 0B 0C 0A 15 0C 1E 15 0A 1D 0E
.byte $24, $0B, $22, $EB, $0D, $85, $86, $87, $88, $24, $0E, $21, $0E, $1B, $0C, $12 ; CPU:$F6D4 PRG:36D4 24 0B 22 EB 0D 85 86 87 88 24 0E 21 0E 1B 0C 12
.byte $1C, $0E, $23, $25, $16, $FE, $01, $09, $08, $03, $24, $17, $12, $17, $1D, $0E ; CPU:$F6E4 PRG:36E4 1C 0E 23 25 16 FE 01 09 08 03 24 17 12 17 1D 0E
.byte $17, $0D, $18, $24, $0C, $18, $CA, $15, $1D, $0D, $C7, $26, $CC, $48, $69, $26 ; CPU:$F6F4 PRG:36F4 17 0D 18 24 0C 18 CA 15 1D 0D C7 26 CC 48 69 26
.byte $EA, $4C, $69, $27, $00, $60, $69, $26, $AD, $01, $3E, $25, $CE, $88, $95, $50 ; CPU:$F704 PRG:3704 EA 4C 69 27 00 60 69 26 AD 01 3E 25 CE 88 95 50
.byte $91, $92, $93, $94, $42, $43, $25, $CF, $88, $9A, $51, $96, $97, $98, $99, $46 ; CPU:$F714 PRG:3714 91 92 93 94 42 43 25 CF 88 9A 51 96 97 98 99 46
.byte $47, $25, $D0, $88, $9F, $52, $9B, $9C, $9D, $9E, $4A, $4B, $25, $D1, $88, $90 ; CPU:$F724 PRG:3724 47 25 D0 88 9F 52 9B 9C 9D 9E 4A 4B 25 D1 88 90
.byte $53, $F8, $A0, $A1, $A2, $4E, $4F, $26, $B2, $01, $3F, $00, $3F, $00, $20, $0F ; CPU:$F734 PRG:3734 53 F8 A0 A1 A2 4E 4F 26 B2 01 3F 00 3F 00 20 0F
.byte $2A, $17, $37, $0F, $30, $2A, $16, $0F, $30, $36, $06, $0F, $12, $37, $16, $0F ; CPU:$F744 PRG:3744 2A 17 37 0F 30 2A 16 0F 30 36 06 0F 12 37 16 0F
.byte $30, $25, $36, $0F, $30, $06, $36, $0F, $2A, $27, $38, $0F, $30, $2A, $16, $23 ; CPU:$F754 PRG:3754 30 25 36 0F 30 06 36 0F 2A 27 38 0F 30 2A 16 23
.byte $C0, $15, $40, $50, $50, $90, $60, $50, $50, $10, $44, $55, $55, $99, $66, $55 ; CPU:$F764 PRG:3764 C0 15 40 50 50 90 60 50 50 10 44 55 55 99 66 55
.byte $55, $11, $00, $00, $00, $0A, $0A, $23, $F8, $48, $0F, $23, $F0, $48, $05, $21 ; CPU:$F774 PRG:3774 55 11 00 00 00 0A 0A 23 F8 48 0F 23 F0 48 05 21
.byte $00, $4B, $5E, $21, $2A, $42, $5E, $21, $4C, $48, $5E, $21, $34, $42, $5E, $21 ; CPU:$F784 PRG:3784 00 4B 5E 21 2A 42 5E 21 4C 48 5E 21 34 42 5E 21
.byte $15, $4B, $5E, $22, $0E, $04, $F5, $F6, $F5, $F6, $22, $8E, $04, $F5, $F6, $F5 ; CPU:$F794 PRG:3794 15 4B 5E 22 0E 04 F5 F6 F5 F6 22 8E 04 F5 F6 F5
.byte $F6, $21, $22, $8E, $65, $65, $5A, $24, $5B, $65, $5A, $24, $5B, $65, $5A, $24 ; CPU:$F7A4 PRG:37A4 F6 21 22 8E 65 65 5A 24 5B 65 5A 24 5B 65 5A 24
.byte $5B, $66, $21, $3D, $8E, $65, $65, $5A, $24, $5B, $65, $5A, $24, $5B, $65, $5A ; CPU:$F7B4 PRG:37B4 5B 66 21 3D 8E 65 65 5A 24 5B 65 5A 24 5B 65 5A
.byte $24, $5B, $66, $21, $24, $CE, $65, $21, $3B, $CE, $65, $21, $26, $8E, $65, $65 ; CPU:$F7C4 PRG:37C4 24 5B 66 21 24 CE 65 21 3B CE 65 21 26 8E 65 65
.byte $5A, $24, $5B, $65, $5A, $24, $5B, $65, $5A, $24, $5B, $66, $21, $39, $8E, $65 ; CPU:$F7D4 PRG:37D4 5A 24 5B 65 5A 24 5B 65 5A 24 5B 66 21 39 8E 65
.byte $65, $5A, $24, $5B, $65, $5A, $24, $5B, $65, $5A, $24, $5B, $66, $21, $28, $CE ; CPU:$F7E4 PRG:37E4 65 5A 24 5B 65 5A 24 5B 65 5A 24 5B 66 21 28 CE
.byte $65, $21, $37, $CE, $65, $21, $4A, $8D, $65, $5A, $24, $5B, $65, $5A, $24, $5B ; CPU:$F7F4 PRG:37F4 65 21 37 CE 65 21 4A 8D 65 5A 24 5B 65 5A 24 5B
FontTileData: ; Font/glyph tile data
.byte $65, $5A, $24, $5B, $66, $21, $55, $8D, $65, $5A, $24, $5B, $65, $5A, $24, $5B ; CPU:$F804 PRG:3804 65 5A 24 5B 66 21 55 8D 65 5A 24 5B 65 5A 24 5B
.byte $65, $5A, $24, $5B, $66, $21, $6C, $CC, $65, $21, $73, $CC, $65, $22, $E4, $01 ; CPU:$F814 PRG:3814 65 5A 24 5B 66 21 6C CC 65 21 73 CC 65 22 E4 01
.byte $66, $22, $E8, $01, $66, $22, $EC, $01, $66, $22, $F3, $01, $66, $22, $F7, $01 ; CPU:$F824 PRG:3824 66 22 E8 01 66 22 EC 01 66 22 F3 01 66 22 F7 01
.byte $66, $22, $FB, $01, $66, $23, $47, $12, $5F, $60, $61, $24, $24, $5F, $60, $61 ; CPU:$F834 PRG:3834 66 22 FB 01 66 23 47 12 5F 60 61 24 24 5F 60 61
.byte $24, $24, $5F, $60, $61, $24, $24, $5F, $60, $61, $23, $40, $44, $60, $23, $44 ; CPU:$F844 PRG:3844 24 24 5F 60 61 24 24 5F 60 61 23 40 44 60 23 44
.byte $01, $61, $23, $67, $43, $62, $23, $6C, $43, $62, $23, $71, $43, $62, $23, $76 ; CPU:$F854 PRG:3854 01 61 23 67 43 62 23 6C 43 62 23 71 43 62 23 76
.byte $43, $62, $23, $5B, $01, $5F, $23, $5C, $44, $60, $23, $80, $60, $63, $23, $A0 ; CPU:$F864 PRG:3864 43 62 23 5B 01 5F 23 5C 44 60 23 80 60 63 23 A0
.byte $60, $64, $23, $60, $44, $62, $23, $7C, $44, $62, $23, $28, $01, $86, $23, $2D ; CPU:$F874 PRG:3874 60 64 23 60 44 62 23 7C 44 62 23 28 01 86 23 2D
.byte $01, $87, $23, $32, $01, $88, $23, $37, $01, $85, $20, $62, $83, $25, $26, $27 ; CPU:$F884 PRG:3884 01 87 23 32 01 88 23 37 01 85 20 62 83 25 26 27
.byte $20, $6C, $83, $28, $29, $2A, $20, $63, $49, $2B, $20, $A3, $49, $2C, $20, $73 ; CPU:$F894 PRG:3894 20 6C 83 28 29 2A 20 63 49 2B 20 A3 49 2C 20 73
.byte $83, $25, $26, $27, $20, $7D, $83, $28, $29, $2A, $20, $74, $49, $2B, $20, $B4 ; CPU:$F8A4 PRG:38A4 83 25 26 27 20 7D 83 28 29 2A 20 74 49 2B 20 B4
.byte $49, $2C, $20, $C3, $04, $20, $12, $17, $58, $20, $D4, $04, $20, $12, $17, $58 ; CPU:$F8B4 PRG:38B4 49 2C 20 C3 04 20 12 17 58 20 D4 04 20 12 17 58
.byte $00, $3F, $00, $20, $0F, $21, $12, $37, $0F, $30, $2A, $16, $0F, $30, $36, $06 ; CPU:$F8C4 PRG:38C4 00 3F 00 20 0F 21 12 37 0F 30 2A 16 0F 30 36 06
.byte $0F, $12, $37, $16, $0F, $30, $06, $36, $0F, $30, $24, $37, $0F, $30, $27, $13 ; CPU:$F8D4 PRG:38D4 0F 12 37 16 0F 30 06 36 0F 30 24 37 0F 30 27 13
.byte $0F, $30, $0F, $26, $23, $D3, $43, $55, $23, $DB, $43, $55, $23, $E3, $44, $55 ; CPU:$F8E4 PRG:38E4 0F 30 0F 26 23 D3 43 55 23 DB 43 55 23 E3 44 55
.byte $23, $EB, $44, $55, $23, $C3, $44, $50, $23, $F3, $42, $05, $23, $E0, $42, $AA ; CPU:$F8F4 PRG:38F4 23 EB 44 55 23 C3 44 50 23 F3 42 05 23 E0 42 AA
TitleScreenData: ; Title screen layout data
.byte $23, $E8, $42, $AA, $20, $6C, $0D, $85, $86, $87, $88, $24, $0E, $21, $0E, $1B ; CPU:$F904 PRG:3904 23 E8 42 AA 20 6C 0D 85 86 87 88 24 0E 21 0E 1B
.byte $0C, $12, $1C, $0E, $20, $A8, $56, $69, $20, $C8, $56, $6A, $20, $E8, $D4, $67 ; CPU:$F914 PRG:3914 0C 12 1C 0E 20 A8 56 69 20 C8 56 6A 20 E8 D4 67
.byte $20, $FD, $D4, $67, $23, $60, $60, $69, $23, $02, $46, $69, $23, $22, $46, $69 ; CPU:$F924 PRG:3924 20 FD D4 67 23 60 60 69 23 02 46 69 23 22 46 69
.byte $23, $42, $46, $69, $20, $EA, $D1, $65, $20, $AA, $82, $6B, $6C, $23, $0A, $01 ; CPU:$F934 PRG:3934 23 42 46 69 20 EA D1 65 20 AA 82 6B 6C 23 0A 01
.byte $66, $21, $0D, $47, $C4, $21, $4D, $49, $C4, $21, $8D, $4B, $C4, $21, $CD, $4B ; CPU:$F944 PRG:3944 66 21 0D 47 C4 21 4D 49 C4 21 8D 4B C4 21 CD 4B
.byte $C4, $22, $0D, $45, $C4, $22, $4D, $4F, $C4, $22, $8D, $4F, $C4, $22, $CD, $48 ; CPU:$F954 PRG:3954 C4 22 0D 45 C4 22 4D 4F C4 22 8D 4F C4 22 CD 48
.byte $C4, $23, $0D, $46, $C4, $21, $0F, $03, $24, $85, $24, $21, $50, $03, $24, $86 ; CPU:$F964 PRG:3964 C4 23 0D 46 C4 21 0F 03 24 85 24 21 50 03 24 86
.byte $24, $21, $91, $03, $24, $85, $24, $21, $D1, $03, $24, $86, $24, $22, $0E, $03 ; CPU:$F974 PRG:3974 24 21 91 03 24 85 24 21 D1 03 24 86 24 22 0E 03
.byte $24, $87, $24, $22, $53, $03, $24, $85, $24, $22, $93, $03, $24, $86, $24, $22 ; CPU:$F984 PRG:3984 24 87 24 22 53 03 24 85 24 22 93 03 24 86 24 22
.byte $D0, $03, $24, $87, $24, $23, $0F, $03, $24, $88, $24, $00, $23, $C0, $58, $AA ; CPU:$F994 PRG:3994 D0 03 24 87 24 23 0F 03 24 88 24 00 23 C0 58 AA
.byte $20, $89, $03, $8D, $8E, $8F, $20, $68, $83, $25, $26, $27, $20, $70, $83, $28 ; CPU:$F9A4 PRG:39A4 20 89 03 8D 8E 8F 20 68 83 25 26 27 20 70 83 28
.byte $29, $2A, $20, $69, $47, $2B, $20, $A9, $47, $2C, $20, $84, $04, $95, $9A, $9F ; CPU:$F9B4 PRG:39B4 29 2A 20 69 47 2B 20 A9 47 2C 20 84 04 95 9A 9F
.byte $90, $20, $C4, $85, $91, $92, $93, $94, $42, $20, $C5, $85, $96, $97, $98, $99 ; CPU:$F9C4 PRG:39C4 90 20 C4 85 91 92 93 94 42 20 C5 85 96 97 98 99
.byte $46, $20, $C6, $85, $9B, $9C, $9D, $9E, $4A, $20, $C7, $85, $F8, $A0, $A1, $A2 ; CPU:$F9D4 PRG:39D4 46 20 C6 85 9B 9C 9D 9E 4A 20 C7 85 F8 A0 A1 A2
.byte $4E, $21, $63, $06, $3E, $43, $47, $4B, $4F, $3F, $21, $82, $5C, $69, $21, $A2 ; CPU:$F9E4 PRG:39E4 4E 21 63 06 3E 43 47 4B 4F 3F 21 82 5C 69 21 A2
.byte $5C, $6A, $21, $89, $82, $6B, $6C, $21, $C2, $CD, $67, $21, $DD, $CD, $67, $21 ; CPU:$F9F4 PRG:39F4 5C 6A 21 89 82 6B 6C 21 C2 CD 67 21 DD CD 67 21
.byte $C3, $01, $01, $21, $C4, $8A, $00, $09, $08, $07, $06, $05, $04, $03, $02, $01 ; CPU:$FA04 PRG:3A04 C3 01 01 21 C4 8A 00 09 08 07 06 05 04 03 02 01
.byte $21, $C9, $CA, $65, $21, $CE, $CA, $65, $21, $D0, $CA, $65, $21, $D2, $CA, $65 ; CPU:$FA14 PRG:3A14 21 C9 CA 65 21 CE CA 65 21 D0 CA 65 21 D2 CA 65
.byte $21, $D4, $CA, $65, $21, $D6, $CA, $65, $21, $D8, $CA, $65, $21, $DA, $CA, $65 ; CPU:$FA24 PRG:3A24 21 D4 CA 65 21 D6 CA 65 21 D8 CA 65 21 DA CA 65
.byte $23, $09, $01, $66, $23, $0E, $0D, $66, $24, $66, $24, $66, $24, $66, $24, $66 ; CPU:$FA34 PRG:3A34 23 09 01 66 23 0E 0D 66 24 66 24 66 24 66 24 66
.byte $24, $66, $24, $66, $23, $60, $60, $69, $22, $C8, $03, $6D, $F7, $71, $22, $E8 ; CPU:$FA44 PRG:3A44 24 66 24 66 23 60 60 69 22 C8 03 6D F7 71 22 E8
.byte $03, $6E, $89, $72, $00, $00, $FF, $FF ; CPU:$FA54 PRG:3A54 03 6E 89 72 00 00 FF FF
; -----------------------------------------------------------------------------
; Routine: SubCFA5C
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFA5C:
lda #$C0 ; CPU:$FA5C PRG:3A5C A9 C0
sta JOY2 ; CPU:$FA5E PRG:3A5E 8D 17 40
jsr $FBDC ; CPU:$FA61 PRG:3A61 20 DC FB
ldx #$00 ; CPU:$FA64 PRG:3A64 A2 00
stx FrameCounter ; CPU:$FA66 PRG:3A66 86 FF
stx ZpFE ; CPU:$FA68 PRG:3A68 86 FE
stx ZpFD ; CPU:$FA6A PRG:3A6A 86 FD
lda ZpFB ; CPU:$FA6C PRG:3A6C A5 FB
cmp #$20 ; CPU:$FA6E PRG:3A6E C9 20
bcs SubCFA5C_Block ; CPU:$FA70 PRG:3A70 B0 03
stx $06B2 ; CPU:$FA72 PRG:3A72 8E B2 06
; -----------------------------------------------------------------------------
; Routine: SubCFA5C_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.
; -----------------------------------------------------------------------------
SubCFA5C_Block:
cmp #$80 ; CPU:$FA75 PRG:3A75 C9 80
bcc SubCFA5C_Block_2 ; CPU:$FA77 PRG:3A77 90 03
inc $06B2 ; CPU:$FA79 PRG:3A79 EE B2 06
; -----------------------------------------------------------------------------
; Routine: SubCFA5C_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.
; -----------------------------------------------------------------------------
SubCFA5C_Block_2:
tay ; CPU:$FA7C PRG:3A7C A8
lsr a ; CPU:$FA7D PRG:3A7D 4A
lsr a ; CPU:$FA7E PRG:3A7E 4A
lsr a ; CPU:$FA7F PRG:3A7F 4A
lsr a ; CPU:$FA80 PRG:3A80 4A
lsr a ; CPU:$FA81 PRG:3A81 4A
sta PtrLo ; CPU:$FA82 PRG:3A82 85 00
tya ; CPU:$FA84 PRG:3A84 98
ldx $06B2 ; CPU:$FA85 PRG:3A85 AE B2 06
bne SubCFA5C_Block_3 ; CPU:$FA88 PRG:3A88 D0 05
sec ; CPU:$FA8A PRG:3A8A 38
adc PtrLo ; CPU:$FA8B PRG:3A8B 65 00
bne SubCFA5C_Block_4 ; CPU:$FA8D PRG:3A8D D0 03
; -----------------------------------------------------------------------------
; Routine: SubCFA5C_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.
; -----------------------------------------------------------------------------
SubCFA5C_Block_3:
clc ; CPU:$FA8F PRG:3A8F 18
sbc PtrLo ; CPU:$FA90 PRG:3A90 E5 00
; -----------------------------------------------------------------------------
; Routine: SubCFA5C_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.
; -----------------------------------------------------------------------------
SubCFA5C_Block_4:
sta ZpFB ; CPU:$FA92 PRG:3A92 85 FB
rts ; CPU:$FA94 PRG:3A94 60
; -----------------------------------------------------------------------------
; Routine: SubCFA95
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFA95:
sta ZpF3 ; CPU:$FA95 PRG:3A95 85 F3
stx ZpF4 ; CPU:$FA97 PRG:3A97 86 F4
sty $06A1 ; CPU:$FA99 PRG:3A99 8C A1 06
ldx #$9A ; CPU:$FA9C PRG:3A9C A2 9A
ldy #$08 ; CPU:$FA9E PRG:3A9E A0 08
stx APUPULSE2CTRL ; CPU:$FAA0 PRG:3AA0 8E 04 40
sty APUPULSE2SWEEP ; CPU:$FAA3 PRG:3AA3 8C 05 40
rts ; CPU:$FAA6 PRG:3AA6 60
; -----------------------------------------------------------------------------
; Routine: SubCFAA7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAA7:
lda #$00 ; CPU:$FAA7 PRG:3AA7 A9 00
; -----------------------------------------------------------------------------
; Routine: SubCFAA9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAA9:
lsr a ; CPU:$FAA9 PRG:3AA9 4A
lsr a ; CPU:$FAAA PRG:3AAA 4A
ora #$90 ; CPU:$FAAB PRG:3AAB 09 90
sta APUPULSE1CTRL ; CPU:$FAAD PRG:3AAD 8D 00 40
rts ; CPU:$FAB0 PRG:3AB0 60
; -----------------------------------------------------------------------------
; Routine: SubCFAB1
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAB1:
tax ; CPU:$FAB1 PRG:3AB1 AA
ror a ; CPU:$FAB2 PRG:3AB2 6A
txa ; CPU:$FAB3 PRG:3AB3 8A
rol a ; CPU:$FAB4 PRG:3AB4 2A
rol a ; CPU:$FAB5 PRG:3AB5 2A
rol a ; CPU:$FAB6 PRG:3AB6 2A
and #$07 ; CPU:$FAB7 PRG:3AB7 29 07
clc ; CPU:$FAB9 PRG:3AB9 18
adc $068D ; CPU:$FABA PRG:3ABA 6D 8D 06
tay ; CPU:$FABD PRG:3ABD A8
lda $FB40,y ; CPU:$FABE PRG:3ABE B9 40 FB
rts ; CPU:$FAC1 PRG:3AC1 60
; -----------------------------------------------------------------------------
; Routine: SubCFAC2
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAC2:
tya ; CPU:$FAC2 PRG:3AC2 98
lsr a ; CPU:$FAC3 PRG:3AC3 4A
; -----------------------------------------------------------------------------
; Routine: SubCFAC4
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAC4:
lsr a ; CPU:$FAC4 PRG:3AC4 4A
; -----------------------------------------------------------------------------
; Routine: SubCFAC5
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAC5:
lsr a ; CPU:$FAC5 PRG:3AC5 4A
sta PtrLo ; CPU:$FAC6 PRG:3AC6 85 00
tya ; CPU:$FAC8 PRG:3AC8 98
sec ; CPU:$FAC9 PRG:3AC9 38
sbc PtrLo ; CPU:$FACA PRG:3ACA E5 00
rts ; CPU:$FACC PRG:3ACC 60
; -----------------------------------------------------------------------------
; Routine: SubCFACD
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFACD:
stx ZpF1 ; CPU:$FACD PRG:3ACD 86 F1
sty ZpF0 ; CPU:$FACF PRG:3ACF 84 F0
bne SubCFAD8 ; CPU:$FAD1 PRG:3AD1 D0 05
; -----------------------------------------------------------------------------
; Routine: SubCFAD3
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAD3:
ldy #$7F ; CPU:$FAD3 PRG:3AD3 A0 7F
; -----------------------------------------------------------------------------
; 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:
jsr $FAF9 ; CPU:$FAD5 PRG:3AD5 20 F9 FA
; -----------------------------------------------------------------------------
; Routine: SubCFAD8
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAD8:
ldx #$00 ; CPU:$FAD8 PRG:3AD8 A2 00
; -----------------------------------------------------------------------------
; Routine: SubCFAF0_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.
; -----------------------------------------------------------------------------
SubCFAF0_Block:
tay ; CPU:$FADA PRG:3ADA A8
lda $FB01,y ; CPU:$FADB PRG:3ADB B9 01 FB
beq SubCFAD8_Block ; CPU:$FADE PRG:3ADE F0 0B
sta APUPULSE1TIMERLO,x ; CPU:$FAE0 PRG:3AE0 9D 02 40
lda $FB00,y ; CPU:$FAE3 PRG:3AE3 B9 00 FB
ora #$08 ; CPU:$FAE6 PRG:3AE6 09 08
sta APUPULSE1TIMERHI,x ; CPU:$FAE8 PRG:3AE8 9D 03 40
; -----------------------------------------------------------------------------
; Routine: SubCFAD8_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.
; -----------------------------------------------------------------------------
SubCFAD8_Block:
rts ; CPU:$FAEB PRG:3AEB 60
; -----------------------------------------------------------------------------
; Routine: SubCFAEC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAEC:
ldx #$04 ; CPU:$FAEC PRG:3AEC A2 04
bne SubCFAF0_Block ; CPU:$FAEE PRG:3AEE D0 EA
; -----------------------------------------------------------------------------
; Routine: SubCFAF0
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAF0:
txa ; CPU:$FAF0 PRG:3AF0 8A
and #$3E ; CPU:$FAF1 PRG:3AF1 29 3E
ldx #$08 ; CPU:$FAF3 PRG:3AF3 A2 08
bne SubCFAF0_Block ; CPU:$FAF5 PRG:3AF5 D0 E3
; -----------------------------------------------------------------------------
; Routine: SubCFAF7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAF7:
ldy #$7F ; CPU:$FAF7 PRG:3AF7 A0 7F
; -----------------------------------------------------------------------------
; Routine: SubCFAF9
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFAF9:
stx APUPULSE1CTRL ; CPU:$FAF9 PRG:3AF9 8E 00 40
sty APUPULSE1SWEEP ; CPU:$FAFC PRG:3AFC 8C 01 40
rts ; CPU:$FAFF PRG:3AFF 60
; ---- data $FB00-$FB61 (98 bytes) ----
; referenced by `lda $FB40,y` at $FABE (operand $FB40 falls inside this region)
; referenced by `lda $FB01,y` at $FADB (operand $FB01 falls inside this region)
; referenced by `lda $FB00,y` at $FAE3 (operand $FB00 falls inside this region)
; referenced by `lda $FB5A,y` at $FBAB (operand $FB5A falls inside this region)
; referenced by `lda $FB53,y` at $FDA7 (operand $FB53 falls inside this region)
APURegisterBuffer: ; APU register shadow buffer
.byte $03, $89, $00, $00, $00, $69, $00, $D4, $00, $BD, $00, $A8, $00, $9F, $00, $96 ; CPU:$FB00 PRG:3B00 03 89 00 00 00 69 00 D4 00 BD 00 A8 00 9F 00 96
.byte $00, $8D, $00, $70, $01, $AB, $01, $93, $01, $7C, $01, $67, $01, $52, $01, $3F ; CPU:$FB10 PRG:3B10 00 8D 00 70 01 AB 01 93 01 7C 01 67 01 52 01 3F
.byte $01, $2D, $01, $1C, $01, $0C, $00, $FD, $00, $E1, $03, $57, $02, $F9, $02, $A6 ; CPU:$FB20 PRG:3B20 01 2D 01 1C 01 0C 00 FD 00 E1 03 57 02 F9 02 A6
.byte $02, $80, $02, $3A, $02, $1A, $01, $FC, $01, $C4, $05, $F3, $05, $01, $04, $35 ; CPU:$FB30 PRG:3B30 02 80 02 3A 02 1A 01 FC 01 C4 05 F3 05 01 04 35
.byte $04, $08, $10, $20, $40, $05, $0A, $14, $28, $50, $1E, $3C, $06, $0C, $18, $30 ; CPU:$FB40 PRG:3B40 04 08 10 20 40 05 0A 14 28 50 1E 3C 06 0C 18 30
.byte $60, $24, $48, $08, $0A, $14, $03, $07, $08, $10, $85, $84, $84, $84, $84, $8C ; CPU:$FB50 PRG:3B50 60 24 48 08 0A 14 03 07 08 10 85 84 84 84 84 8C
.byte $8C, $8C ; CPU:$FB60 PRG:3B60 8C 8C
; -----------------------------------------------------------------------------
; Routine: SubCFB62
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFB62:
ldy #$07 ; CPU:$FB62 PRG:3B62 A0 07
; -----------------------------------------------------------------------------
; Routine: SubCFB62_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.
; -----------------------------------------------------------------------------
SubCFB62_Block_2:
asl a ; CPU:$FB64 PRG:3B64 0A
bcs SubCFB62_Block ; CPU:$FB65 PRG:3B65 B0 03
dey ; CPU:$FB67 PRG:3B67 88
bne SubCFB62_Block_2 ; CPU:$FB68 PRG:3B68 D0 FA
; -----------------------------------------------------------------------------
; Routine: SubCFB62_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.
; -----------------------------------------------------------------------------
SubCFB62_Block:
rts ; CPU:$FB6A PRG:3B6A 60
; -----------------------------------------------------------------------------
; Routine: SubCFB62_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.
; -----------------------------------------------------------------------------
SubCFB62_Block_4:
sta ZpF0 ; CPU:$FB6B PRG:3B6B 85 F0
sta $06A1 ; CPU:$FB6D PRG:3B6D 8D A1 06
sta $06A2 ; CPU:$FB70 PRG:3B70 8D A2 06
rts ; CPU:$FB73 PRG:3B73 60
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_3:
sty ZpF0 ; CPU:$FB74 PRG:3B74 84 F0
lda #$08 ; CPU:$FB76 PRG:3B76 A9 08
sta ZpF1 ; CPU:$FB78 PRG:3B78 85 F1
ldx #$9F ; CPU:$FB7A PRG:3B7A A2 9F
ldy #$A5 ; CPU:$FB7C PRG:3B7C A0 A5
lda #$04 ; CPU:$FB7E PRG:3B7E A9 04
jsr $FAD5 ; CPU:$FB80 PRG:3B80 20 D5 FA
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_2:
dec ZpF1 ; CPU:$FB83 PRG:3B83 C6 F1
bne SubCFB62_Block_3 ; CPU:$FB85 PRG:3B85 D0 53
lda #$8F ; CPU:$FB87 PRG:3B87 A9 8F
jmp $FC31 ; CPU:$FB89 PRG:3B89 4C 31 FC
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_5:
sty ZpF0 ; CPU:$FB8C PRG:3B8C 84 F0
lda #$80 ; CPU:$FB8E PRG:3B8E A9 80
sta ZpF1 ; CPU:$FB90 PRG:3B90 85 F1
ldx #$9C ; CPU:$FB92 PRG:3B92 A2 9C
lda #$12 ; CPU:$FB94 PRG:3B94 A9 12
jsr $FAD3 ; CPU:$FB96 PRG:3B96 20 D3 FA
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_4:
dec ZpF1 ; CPU:$FB99 PRG:3B99 C6 F1
lda ZpF1 ; CPU:$FB9B PRG:3B9B A5 F1
beq SubCFB62_Block_4 ; CPU:$FB9D PRG:3B9D F0 CC
cmp #$30 ; CPU:$FB9F PRG:3B9F C9 30
bcs SubCFB62_Block_5 ; CPU:$FBA1 PRG:3BA1 B0 03
jsr $FAA9 ; CPU:$FBA3 PRG:3BA3 20 A9 FA
; -----------------------------------------------------------------------------
; Routine: SubCFB62_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.
; -----------------------------------------------------------------------------
SubCFB62_Block_5:
lda ZpF1 ; CPU:$FBA6 PRG:3BA6 A5 F1
and #$07 ; CPU:$FBA8 PRG:3BA8 29 07
tay ; CPU:$FBAA PRG:3BAA A8
lda $FB5A,y ; CPU:$FBAB PRG:3BAB B9 5A FB
sta APUPULSE1SWEEP ; CPU:$FBAE PRG:3BAE 8D 01 40
jmp $FE51 ; CPU:$FBB1 PRG:3BB1 4C 51 FE
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_7:
ldx #$0E ; CPU:$FBB4 PRG:3BB4 A2 0E
lda #$26 ; CPU:$FBB6 PRG:3BB6 A9 26
jsr $FACD ; CPU:$FBB8 PRG:3BB8 20 CD FA
lda #$FE ; CPU:$FBBB PRG:3BBB A9 FE
sta ZpF2 ; CPU:$FBBD PRG:3BBD 85 F2
ldx #$84 ; CPU:$FBBF PRG:3BBF A2 84
ldy #$8A ; CPU:$FBC1 PRG:3BC1 A0 8A
jsr $FAF9 ; CPU:$FBC3 PRG:3BC3 20 F9 FA
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_6:
dec ZpF1 ; CPU:$FBC6 PRG:3BC6 C6 F1
beq SubCFC31_Block_2 ; CPU:$FBC8 PRG:3BC8 F0 65
lda ZpF1 ; CPU:$FBCA PRG:3BCA A5 F1
lsr a ; CPU:$FBCC PRG:3BCC 4A
bcs SubCFC31_Block_10 ; CPU:$FBCD PRG:3BCD B0 4D
lda ZpF2 ; CPU:$FBCF PRG:3BCF A5 F2
tay ; CPU:$FBD1 PRG:3BD1 A8
jsr $FAC4 ; CPU:$FBD2 PRG:3BD2 20 C4 FA
sta ZpF2 ; CPU:$FBD5 PRG:3BD5 85 F2
sta APUPULSE1TIMERLO ; CPU:$FBD7 PRG:3BD7 8D 02 40
; -----------------------------------------------------------------------------
; Routine: SubCFB62_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.
; -----------------------------------------------------------------------------
SubCFB62_Block_3:
bne SubCFC31_Block_10 ; CPU:$FBDA PRG:3BDA D0 40
; -----------------------------------------------------------------------------
; Routine: SubCFBDC
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFBDC:
lda ZpFA ; CPU:$FBDC PRG:3BDC A5 FA
bne SubCFC31_Block_10 ; CPU:$FBDE PRG:3BDE D0 3C
ldy FrameCounter ; CPU:$FBE0 PRG:3BE0 A4 FF
lda ZpF0 ; CPU:$FBE2 PRG:3BE2 A5 F0
lsr a ; CPU:$FBE4 PRG:3BE4 4A
bcs SubCFBDC_Block_2 ; CPU:$FBE5 PRG:3BE5 B0 9C
lsr FrameCounter ; CPU:$FBE7 PRG:3BE7 46 FF
bcs SubCFBDC_Block_3 ; CPU:$FBE9 PRG:3BE9 B0 89
lsr a ; CPU:$FBEB PRG:3BEB 4A
bcs SubCFBDC_Block_4 ; CPU:$FBEC PRG:3BEC B0 AB
lsr FrameCounter ; CPU:$FBEE PRG:3BEE 46 FF
bcs SubCFBDC_Block_5 ; CPU:$FBF0 PRG:3BF0 B0 9A
lsr a ; CPU:$FBF2 PRG:3BF2 4A
bcs SubCFBDC_Block_6 ; CPU:$FBF3 PRG:3BF3 B0 D1
lsr FrameCounter ; CPU:$FBF5 PRG:3BF5 46 FF
bcs SubCFBDC_Block_7 ; CPU:$FBF7 PRG:3BF7 B0 BB
lsr a ; CPU:$FBF9 PRG:3BF9 4A
bcs UpdateAPU10 ; CPU:$FBFA PRG:3BFA B0 2F
lsr FrameCounter ; CPU:$FBFC PRG:3BFC 46 FF
bcs SubCFBDC_Block_8 ; CPU:$FBFE PRG:3BFE B0 1F
lsr a ; CPU:$FC00 PRG:3C00 4A
bcs SubCFBDC_Block_9 ; CPU:$FC01 PRG:3C01 B0 3E
lsr FrameCounter ; CPU:$FC03 PRG:3C03 46 FF
bcs SubCFBDC_Block_10 ; CPU:$FC05 PRG:3C05 B0 33
lsr a ; CPU:$FC07 PRG:3C07 4A
bcs SubCFBDC_Block_11 ; CPU:$FC08 PRG:3C08 B0 48
lsr FrameCounter ; CPU:$FC0A PRG:3C0A 46 FF
bcs SubCFBDC_Block_12 ; CPU:$FC0C PRG:3C0C B0 3D
lsr a ; CPU:$FC0E PRG:3C0E 4A
bcs SubCFBDC_Block_13 ; CPU:$FC0F PRG:3C0F B0 5A
lsr FrameCounter ; CPU:$FC11 PRG:3C11 46 FF
bcs SubCFBDC_Block_14 ; CPU:$FC13 PRG:3C13 B0 4F
lsr a ; CPU:$FC15 PRG:3C15 4A
bcs SubCFBDC_Block_15 ; CPU:$FC16 PRG:3C16 B0 75
lsr FrameCounter ; CPU:$FC18 PRG:3C18 46 FF
bcs SubCFBDC_Block_16 ; CPU:$FC1A PRG:3C1A B0 6B
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_10:
jmp $FD6B ; CPU:$FC1C PRG:3C1C 4C 6B FD
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_8:
ldx #$04 ; CPU:$FC1F PRG:3C1F A2 04
lda #$04 ; CPU:$FC21 PRG:3C21 A9 04
jsr $FACD ; CPU:$FC23 PRG:3C23 20 CD FA
ldx #$80 ; CPU:$FC26 PRG:3C26 A2 80
jsr $FAF7 ; CPU:$FC28 PRG:3C28 20 F7 FA
; -----------------------------------------------------------------------------
; Routine: UpdateAPU10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
UpdateAPU10:
dec ZpF1 ; CPU:$FC2B PRG:3C2B C6 F1
bne SubCFC31_Block_10 ; CPU:$FC2D PRG:3C2D D0 ED
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_2:
lda #$90 ; CPU:$FC2F PRG:3C2F A9 90
; -----------------------------------------------------------------------------
; Routine: SubCFC31
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC31:
sta APUPULSE1CTRL ; CPU:$FC31 PRG:3C31 8D 00 40
lda #$00 ; CPU:$FC34 PRG:3C34 A9 00
sta ZpF0 ; CPU:$FC36 PRG:3C36 85 F0
beq SubCFC31_Block_10 ; CPU:$FC38 PRG:3C38 F0 E2
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_10:
ldx #$0C ; CPU:$FC3A PRG:3C3A A2 0C
lda #$2A ; CPU:$FC3C PRG:3C3C A9 2A
jsr $FACD ; CPU:$FC3E PRG:3C3E 20 CD FA
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_9:
ldx #$85 ; CPU:$FC41 PRG:3C41 A2 85
ldy #$85 ; CPU:$FC43 PRG:3C43 A0 85
dec ZpF1 ; CPU:$FC45 PRG:3C45 C6 F1
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_11:
beq SubCFC31_Block_2 ; CPU:$FC47 PRG:3C47 F0 E6
bne SubCFC31_Block_3 ; CPU:$FC49 PRG:3C49 D0 37
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_12:
ldx #$0A ; CPU:$FC4B PRG:3C4B A2 0A
lda #$10 ; CPU:$FC4D PRG:3C4D A9 10
jsr $FACD ; CPU:$FC4F PRG:3C4F 20 CD FA
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_11:
dec ZpF1 ; CPU:$FC52 PRG:3C52 C6 F1
ldy #$84 ; CPU:$FC54 PRG:3C54 A0 84
lda ZpF1 ; CPU:$FC56 PRG:3C56 A5 F1
cmp #$03 ; CPU:$FC58 PRG:3C58 C9 03
beq SubCFC31_Block_11 ; CPU:$FC5A PRG:3C5A F0 EB
cmp #$08 ; CPU:$FC5C PRG:3C5C C9 08
bcs SubCFC31_Block_12 ; CPU:$FC5E PRG:3C5E B0 1F
ldy #$8B ; CPU:$FC60 PRG:3C60 A0 8B
bne SubCFC31_Block_12 ; CPU:$FC62 PRG:3C62 D0 1B
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_14:
ldx #$15 ; CPU:$FC64 PRG:3C64 A2 15
lda #$06 ; CPU:$FC66 PRG:3C66 A9 06
jsr $FACD ; CPU:$FC68 PRG:3C68 20 CD FA
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_13:
dec ZpF1 ; CPU:$FC6B PRG:3C6B C6 F1
beq SubCFC31_Block_11 ; CPU:$FC6D PRG:3C6D F0 D8
ldy #$84 ; CPU:$FC6F PRG:3C6F A0 84
lda ZpF1 ; CPU:$FC71 PRG:3C71 A5 F1
cmp #$12 ; CPU:$FC73 PRG:3C73 C9 12
bcs SubCFC31_Block_8 ; CPU:$FC75 PRG:3C75 B0 02
ldy #$8D ; CPU:$FC77 PRG:3C77 A0 8D
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_8:
cmp #$0A ; CPU:$FC79 PRG:3C79 C9 0A
bcc SubCFC31_Block_12 ; CPU:$FC7B PRG:3C7B 90 02
lda #$0A ; CPU:$FC7D PRG:3C7D A9 0A
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_12:
ora #$50 ; CPU:$FC7F PRG:3C7F 09 50
tax ; CPU:$FC81 PRG:3C81 AA
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_3:
jsr $FAF9 ; CPU:$FC82 PRG:3C82 20 F9 FA
bne SubCFC31_Block_10 ; CPU:$FC85 PRG:3C85 D0 95
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_16:
sty ZpF0 ; CPU:$FC87 PRG:3C87 84 F0
lda #$0C ; CPU:$FC89 PRG:3C89 A9 0C
sta ZpF1 ; CPU:$FC8B PRG:3C8B 85 F1
; -----------------------------------------------------------------------------
; Routine: SubCFBDC_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.
; -----------------------------------------------------------------------------
SubCFBDC_Block_15:
lda ZpFB ; CPU:$FC8D PRG:3C8D A5 FB
rol a ; CPU:$FC8F PRG:3C8F 2A
rol a ; CPU:$FC90 PRG:3C90 2A
rol a ; CPU:$FC91 PRG:3C91 2A
sta APUPULSE1TIMERLO ; CPU:$FC92 PRG:3C92 8D 02 40
rol a ; CPU:$FC95 PRG:3C95 2A
sta APUPULSE1TIMERHI ; CPU:$FC96 PRG:3C96 8D 03 40
dec ZpF1 ; CPU:$FC99 PRG:3C99 C6 F1
lda ZpF1 ; CPU:$FC9B PRG:3C9B A5 F1
cmp #$02 ; CPU:$FC9D PRG:3C9D C9 02
beq SubCFC31_Block_11 ; CPU:$FC9F PRG:3C9F F0 A6
ldy #$7F ; CPU:$FCA1 PRG:3CA1 A0 7F
bne SubCFC31_Block_12 ; CPU:$FCA3 PRG:3CA3 D0 DA
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block:
lda #$48 ; CPU:$FCA5 PRG:3CA5 A9 48
ldx #$FE ; CPU:$FCA7 PRG:3CA7 A2 FE
jsr $FA95 ; CPU:$FCA9 PRG:3CA9 20 95 FA
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_2:
ldy ZpF4 ; CPU:$FCAC PRG:3CAC A4 F4
dec ZpF3 ; CPU:$FCAE PRG:3CAE C6 F3
lda ZpF3 ; CPU:$FCB0 PRG:3CB0 A5 F3
beq SubCFD10_Block_7 ; CPU:$FCB2 PRG:3CB2 F0 53
and #$03 ; CPU:$FCB4 PRG:3CB4 29 03
beq SubCFC31_Block_14 ; CPU:$FCB6 PRG:3CB6 F0 0B
cmp #$03 ; CPU:$FCB8 PRG:3CB8 C9 03
beq SubCFC31_Block_16 ; CPU:$FCBA PRG:3CBA F0 0C
tya ; CPU:$FCBC PRG:3CBC 98
jsr $FAC5 ; CPU:$FCBD PRG:3CBD 20 C5 FA
tay ; CPU:$FCC0 PRG:3CC0 A8
bne SubCFC31_Block_16 ; CPU:$FCC1 PRG:3CC1 D0 05
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_14:
jsr $FAC2 ; CPU:$FCC3 PRG:3CC3 20 C2 FA
sta ZpF4 ; CPU:$FCC6 PRG:3CC6 85 F4
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_16:
tya ; CPU:$FCC8 PRG:3CC8 98
clc ; CPU:$FCC9 PRG:3CC9 18
rol a ; CPU:$FCCA PRG:3CCA 2A
rol a ; CPU:$FCCB PRG:3CCB 2A
sta APUPULSE2TIMERLO ; CPU:$FCCC PRG:3CCC 8D 06 40
rol a ; CPU:$FCCF PRG:3CCF 2A
bne SubCFC31_Block_17 ; CPU:$FCD0 PRG:3CD0 D0 25
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_4:
lda #$1C ; CPU:$FCD2 PRG:3CD2 A9 1C
ldx #$2A ; CPU:$FCD4 PRG:3CD4 A2 2A
jsr $FA95 ; CPU:$FCD6 PRG:3CD6 20 95 FA
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_3:
dec ZpF3 ; CPU:$FCD9 PRG:3CD9 C6 F3
lda ZpF3 ; CPU:$FCDB PRG:3CDB A5 F3
beq SubCFD10_Block_7 ; CPU:$FCDD PRG:3CDD F0 28
lsr a ; CPU:$FCDF PRG:3CDF 4A
lda ZpF4 ; CPU:$FCE0 PRG:3CE0 A5 F4
bcs SubCFC31_Block_19 ; CPU:$FCE2 PRG:3CE2 B0 06
lsr a ; CPU:$FCE4 PRG:3CE4 4A
clc ; CPU:$FCE5 PRG:3CE5 18
adc ZpF4 ; CPU:$FCE6 PRG:3CE6 65 F4
bne SubCFC31_Block_20 ; CPU:$FCE8 PRG:3CE8 D0 08
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_19:
lsr a ; CPU:$FCEA PRG:3CEA 4A
lsr a ; CPU:$FCEB PRG:3CEB 4A
lsr a ; CPU:$FCEC PRG:3CEC 4A
clc ; CPU:$FCED PRG:3CED 18
adc ZpF4 ; CPU:$FCEE PRG:3CEE 65 F4
sta ZpF4 ; CPU:$FCF0 PRG:3CF0 85 F4
; -----------------------------------------------------------------------------
; Routine: SubCFC31_Block_20
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC31_Block_20:
sta APUPULSE2TIMERLO ; CPU:$FCF2 PRG:3CF2 8D 06 40
lda #$08 ; CPU:$FCF5 PRG:3CF5 A9 08
; -----------------------------------------------------------------------------
; Routine: SubCFC31_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.
; -----------------------------------------------------------------------------
SubCFC31_Block_17:
sta APUPULSE2TIMERHI ; CPU:$FCF7 PRG:3CF7 8D 07 40
lda ZpF3 ; CPU:$FCFA PRG:3CFA A5 F3
cmp #$18 ; CPU:$FCFC PRG:3CFC C9 18
bcs SubCFC31_Block_21 ; CPU:$FCFE PRG:3CFE B0 06
lsr a ; CPU:$FD00 PRG:3D00 4A
ora #$90 ; CPU:$FD01 PRG:3D01 09 90
sta APUPULSE2CTRL ; CPU:$FD03 PRG:3D03 8D 04 40
; -----------------------------------------------------------------------------
; Routine: SubCFC31_Block_21
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFC31_Block_21:
rts ; CPU:$FD06 PRG:3D06 60
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_7:
sta $06A1 ; CPU:$FD07 PRG:3D07 8D A1 06
lda #$10 ; CPU:$FD0A PRG:3D0A A9 10
sta APUNOISECTRL ; CPU:$FD0C PRG:3D0C 8D 0C 40
rts ; CPU:$FD0F PRG:3D0F 60
; -----------------------------------------------------------------------------
; Routine: SubCFD10
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFD10:
ldy ZpFE ; CPU:$FD10 PRG:3D10 A4 FE
lda $06A1 ; CPU:$FD12 PRG:3D12 AD A1 06
lsr ZpFE ; CPU:$FD15 PRG:3D15 46 FE
bcs SubCFD10_Block ; CPU:$FD17 PRG:3D17 B0 8C
lsr a ; CPU:$FD19 PRG:3D19 4A
bcs SubCFD10_Block_2 ; CPU:$FD1A PRG:3D1A B0 90
lsr a ; CPU:$FD1C PRG:3D1C 4A
bcs SubCFD10_Block_3 ; CPU:$FD1D PRG:3D1D B0 BA
lsr ZpFE ; CPU:$FD1F PRG:3D1F 46 FE
bcs SubCFD10_Block_4 ; CPU:$FD21 PRG:3D21 B0 AF
lsr ZpFE ; CPU:$FD23 PRG:3D23 46 FE
bcs SubCFD10_Block_5 ; CPU:$FD25 PRG:3D25 B0 04
lsr a ; CPU:$FD27 PRG:3D27 4A
bcs SubCFD10_Block_6 ; CPU:$FD28 PRG:3D28 B0 15
rts ; CPU:$FD2A PRG:3D2A 60
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_5:
sty $06A1 ; CPU:$FD2B PRG:3D2B 8C A1 06
lda #$20 ; CPU:$FD2E PRG:3D2E A9 20
sta ZpF3 ; CPU:$FD30 PRG:3D30 85 F3
lda #$04 ; CPU:$FD32 PRG:3D32 A9 04
sta ZpF4 ; CPU:$FD34 PRG:3D34 85 F4
lda #$05 ; CPU:$FD36 PRG:3D36 A9 05
sta APUNOISECTRL ; CPU:$FD38 PRG:3D38 8D 0C 40
asl a ; CPU:$FD3B PRG:3D3B 0A
sta APUNOISELENGTH ; CPU:$FD3C PRG:3D3C 8D 0F 40
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_6:
ldy #$02 ; CPU:$FD3F PRG:3D3F A0 02
dec ZpF3 ; CPU:$FD41 PRG:3D41 C6 F3
lda ZpF3 ; CPU:$FD43 PRG:3D43 A5 F3
beq SubCFD10_Block_7 ; CPU:$FD45 PRG:3D45 F0 C0
cmp #$18 ; CPU:$FD47 PRG:3D47 C9 18
beq SubCFD10_Block_8 ; CPU:$FD49 PRG:3D49 F0 04
bcs SubCFD10_Block_9 ; CPU:$FD4B PRG:3D4B B0 15
bcc SubCFD10_Block_10 ; CPU:$FD4D PRG:3D4D 90 0A
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_8:
ldx #$0F ; CPU:$FD4F PRG:3D4F A2 0F
stx APUNOISECTRL ; CPU:$FD51 PRG:3D51 8E 0C 40
ldx #$50 ; CPU:$FD54 PRG:3D54 A2 50
stx APUNOISELENGTH ; CPU:$FD56 PRG:3D56 8E 0F 40
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_10:
ldy ZpF4 ; CPU:$FD59 PRG:3D59 A4 F4
lsr a ; CPU:$FD5B PRG:3D5B 4A
bcs SubCFD10_Block_13 ; CPU:$FD5C PRG:3D5C B0 09
inc ZpF4 ; CPU:$FD5E PRG:3D5E E6 F4
bne SubCFD10_Block_12 ; CPU:$FD60 PRG:3D60 D0 03
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_9:
lsr a ; CPU:$FD62 PRG:3D62 4A
bcs SubCFD10_Block_13 ; CPU:$FD63 PRG:3D63 B0 02
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_12:
ldy #$0E ; CPU:$FD65 PRG:3D65 A0 0E
; -----------------------------------------------------------------------------
; Routine: SubCFD10_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.
; -----------------------------------------------------------------------------
SubCFD10_Block_13:
sty APUNOISEPERIOD ; CPU:$FD67 PRG:3D67 8C 0E 40
rts ; CPU:$FD6A PRG:3D6A 60
; -----------------------------------------------------------------------------
; Routine: SubCFD6B
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFD6B:
ldx ZpF9 ; CPU:$FD6B PRG:3D6B A6 F9
bne SubCFDB7 ; CPU:$FD6D PRG:3D6D D0 48
lda ZpFC ; CPU:$FD6F PRG:3D6F A5 FC
bne SubCFD6B_Block ; CPU:$FD71 PRG:3D71 D0 06
sta $06B6 ; CPU:$FD73 PRG:3D73 8D B6 06
jmp $FDB7 ; CPU:$FD76 PRG:3D76 4C B7 FD
; -----------------------------------------------------------------------------
; Routine: SubCFD6B_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.
; -----------------------------------------------------------------------------
SubCFD6B_Block:
eor $06B6 ; CPU:$FD79 PRG:3D79 4D B6 06
beq SubCFD6B_Block_2 ; CPU:$FD7C PRG:3D7C F0 10
; -----------------------------------------------------------------------------
; Routine: SubCFD6B_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.
; -----------------------------------------------------------------------------
SubCFD6B_Block_4:
lda ZpFC ; CPU:$FD7E PRG:3D7E A5 FC
sta $06B6 ; CPU:$FD80 PRG:3D80 8D B6 06
jsr $FB62 ; CPU:$FD83 PRG:3D83 20 62 FB
lda $FFB9,y ; CPU:$FD86 PRG:3D86 B9 B9 FF
sta $0680 ; CPU:$FD89 PRG:3D89 8D 80 06
bne SubCFD6B_Block_3 ; CPU:$FD8C PRG:3D8C D0 05
; -----------------------------------------------------------------------------
; Routine: SubCFD6B_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.
; -----------------------------------------------------------------------------
SubCFD6B_Block_2:
dec $0698 ; CPU:$FD8E PRG:3D8E CE 98 06
bne SubCFDB7 ; CPU:$FD91 PRG:3D91 D0 24
; -----------------------------------------------------------------------------
; Routine: SubCFD6B_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.
; -----------------------------------------------------------------------------
SubCFD6B_Block_3:
ldy $0680 ; CPU:$FD93 PRG:3D93 AC 80 06
inc $0680 ; CPU:$FD96 PRG:3D96 EE 80 06
lda $FFBA,y ; CPU:$FD99 PRG:3D99 B9 BA FF
beq SubCFD6B_Block_4 ; CPU:$FD9C PRG:3D9C F0 E0
tax ; CPU:$FD9E PRG:3D9E AA
ror a ; CPU:$FD9F PRG:3D9F 6A
txa ; CPU:$FDA0 PRG:3DA0 8A
rol a ; CPU:$FDA1 PRG:3DA1 2A
rol a ; CPU:$FDA2 PRG:3DA2 2A
rol a ; CPU:$FDA3 PRG:3DA3 2A
and #$07 ; CPU:$FDA4 PRG:3DA4 29 07
tay ; CPU:$FDA6 PRG:3DA6 A8
lda $FB53,y ; CPU:$FDA7 PRG:3DA7 B9 53 FB
sta $0698 ; CPU:$FDAA PRG:3DAA 8D 98 06
jsr $FAF0 ; CPU:$FDAD PRG:3DAD 20 F0 FA
beq SubCFDB7 ; CPU:$FDB0 PRG:3DB0 F0 05
lda #$10 ; CPU:$FDB2 PRG:3DB2 A9 10
sta APUTRIANGLECTRL ; CPU:$FDB4 PRG:3DB4 8D 08 40
; -----------------------------------------------------------------------------
; Routine: SubCFDB7
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFDB7:
lda ZpFD ; CPU:$FDB7 PRG:3DB7 A5 FD
bne SubCFDB7_Block ; CPU:$FDB9 PRG:3DB9 D0 08
lda $06A2 ; CPU:$FDBB PRG:3DBB AD A2 06
bne SubCFDB7_Block_2 ; CPU:$FDBE PRG:3DBE D0 47
jmp $FD10 ; CPU:$FDC0 PRG:3DC0 4C 10 FD
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block:
jsr $FB62 ; CPU:$FDC3 PRG:3DC3 20 62 FB
inc $06A2 ; CPU:$FDC6 PRG:3DC6 EE A2 06
sty $06F1 ; CPU:$FDC9 PRG:3DC9 8C F1 06
lda $FEAA,y ; CPU:$FDCC PRG:3DCC B9 AA FE
tay ; CPU:$FDCF PRG:3DCF A8
lda $FEAA,y ; CPU:$FDD0 PRG:3DD0 B9 AA FE
sta $068D ; CPU:$FDD3 PRG:3DD3 8D 8D 06
lda $FEAB,y ; CPU:$FDD6 PRG:3DD6 B9 AB FE
sta ZpF7 ; CPU:$FDD9 PRG:3DD9 85 F7
lda $FEAC,y ; CPU:$FDDB PRG:3DDB B9 AC FE
sta ZpF8 ; CPU:$FDDE PRG:3DDE 85 F8
lda $FEAD,y ; CPU:$FDE0 PRG:3DE0 B9 AD FE
sta ZpF9 ; CPU:$FDE3 PRG:3DE3 85 F9
lda $FEAE,y ; CPU:$FDE5 PRG:3DE5 B9 AE FE
sta ZpFA ; CPU:$FDE8 PRG:3DE8 85 FA
lda #$7F ; CPU:$FDEA PRG:3DEA A9 7F
sta APUPULSE1SWEEP ; CPU:$FDEC PRG:3DEC 8D 01 40
sta APUPULSE2SWEEP ; CPU:$FDEF PRG:3DEF 8D 05 40
lda #$01 ; CPU:$FDF2 PRG:3DF2 A9 01
sta $0695 ; CPU:$FDF4 PRG:3DF4 8D 95 06
sta $0696 ; CPU:$FDF7 PRG:3DF7 8D 96 06
sta $0698 ; CPU:$FDFA PRG:3DFA 8D 98 06
ldy #$00 ; CPU:$FDFD PRG:3DFD A0 00
sty $0682 ; CPU:$FDFF PRG:3DFF 8C 82 06
lda $06F1 ; CPU:$FE02 PRG:3E02 AD F1 06
beq SubCFDB7_Block_3 ; CPU:$FE05 PRG:3E05 F0 04
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_2:
ldy ZpFA ; CPU:$FE07 PRG:3E07 A4 FA
beq SubCFDB7_Block_5 ; CPU:$FE09 PRG:3E09 F0 2F
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_3:
dec $0696 ; CPU:$FE0B PRG:3E0B CE 96 06
bne SubCFDB7_Block_5 ; CPU:$FE0E PRG:3E0E D0 2A
inc ZpFA ; CPU:$FE10 PRG:3E10 E6 FA
lda (ZpF7),y ; CPU:$FE12 PRG:3E12 B1 F7
beq SubCFDB7_Block_6 ; CPU:$FE14 PRG:3E14 F0 38
jsr $FAB1 ; CPU:$FE16 PRG:3E16 20 B1 FA
sta $0696 ; CPU:$FE19 PRG:3E19 8D 96 06
txa ; CPU:$FE1C PRG:3E1C 8A
and #$3E ; CPU:$FE1D PRG:3E1D 29 3E
jsr $FAD8 ; CPU:$FE1F PRG:3E1F 20 D8 FA
bne SubCFDB7_Block_7 ; CPU:$FE22 PRG:3E22 D0 04
ldy #$10 ; CPU:$FE24 PRG:3E24 A0 10
bne SubCFDB7_Block_10 ; CPU:$FE26 PRG:3E26 D0 0F
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_7:
ldy #$9F ; CPU:$FE28 PRG:3E28 A0 9F
lda $06F1 ; CPU:$FE2A PRG:3E2A AD F1 06
beq SubCFDB7_Block_10 ; CPU:$FE2D PRG:3E2D F0 08
ldy #$06 ; CPU:$FE2F PRG:3E2F A0 06
lda ZpF9 ; CPU:$FE31 PRG:3E31 A5 F9
bne SubCFDB7_Block_10 ; CPU:$FE33 PRG:3E33 D0 02
ldy #$86 ; CPU:$FE35 PRG:3E35 A0 86
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_10:
sty APUPULSE1CTRL ; CPU:$FE37 PRG:3E37 8C 00 40
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_5:
lda $06F1 ; CPU:$FE3A PRG:3E3A AD F1 06
beq SubCFDB7_Block_12 ; CPU:$FE3D PRG:3E3D F0 3F
dec $0695 ; CPU:$FE3F PRG:3E3F CE 95 06
bne SubCFDB7_Block_12 ; CPU:$FE42 PRG:3E42 D0 3A
ldy $0682 ; CPU:$FE44 PRG:3E44 AC 82 06
inc $0682 ; CPU:$FE47 PRG:3E47 EE 82 06
lda (ZpF7),y ; CPU:$FE4A PRG:3E4A B1 F7
bne SubCFDB7_Block_13 ; CPU:$FE4C PRG:3E4C D0 10
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_6:
jsr $FAA7 ; CPU:$FE4E PRG:3E4E 20 A7 FA
; -----------------------------------------------------------------------------
; Routine: SubCFE51
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
; Local: Continues its parent routine along the condition or operation encoded in this label,
; then returns, branches again, or rejoins shared code as documented by the instructions.
; Parameters: Undetermined in Pass 1 unless implied by the caller.
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
; Clobbers: Undetermined in Pass 1.
; -----------------------------------------------------------------------------
SubCFE51:
lda #$00 ; CPU:$FE51 PRG:3E51 A9 00
sta ZpFA ; CPU:$FE53 PRG:3E53 85 FA
sta ZpF9 ; CPU:$FE55 PRG:3E55 85 F9
sta $06A2 ; CPU:$FE57 PRG:3E57 8D A2 06
sta APUTRIANGLECTRL ; CPU:$FE5A PRG:3E5A 8D 08 40
rts ; CPU:$FE5D PRG:3E5D 60
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_13:
jsr $FAB1 ; CPU:$FE5E PRG:3E5E 20 B1 FA
sta $0695 ; CPU:$FE61 PRG:3E61 8D 95 06
txa ; CPU:$FE64 PRG:3E64 8A
and #$3E ; CPU:$FE65 PRG:3E65 29 3E
jsr $FAEC ; CPU:$FE67 PRG:3E67 20 EC FA
ldy #$87 ; CPU:$FE6A PRG:3E6A A0 87
lda $0695 ; CPU:$FE6C PRG:3E6C AD 95 06
cmp #$10 ; CPU:$FE6F PRG:3E6F C9 10
bcs SubCFE51_Block_2 ; CPU:$FE71 PRG:3E71 B0 08
ldy #$85 ; CPU:$FE73 PRG:3E73 A0 85
cmp #$08 ; CPU:$FE75 PRG:3E75 C9 08
bcs SubCFE51_Block_2 ; CPU:$FE77 PRG:3E77 B0 02
ldy #$81 ; CPU:$FE79 PRG:3E79 A0 81
; -----------------------------------------------------------------------------
; Routine: SubCFE51_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.
; -----------------------------------------------------------------------------
SubCFE51_Block_2:
sty APUPULSE2CTRL ; CPU:$FE7B PRG:3E7B 8C 04 40
; -----------------------------------------------------------------------------
; Routine: SubCFDB7_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.
; -----------------------------------------------------------------------------
SubCFDB7_Block_12:
ldy ZpF9 ; CPU:$FE7E PRG:3E7E A4 F9
beq SubCFE51_Block_4 ; CPU:$FE80 PRG:3E80 F0 27
dec $0698 ; CPU:$FE82 PRG:3E82 CE 98 06
bne SubCFE51_Block_4 ; CPU:$FE85 PRG:3E85 D0 22
inc ZpF9 ; CPU:$FE87 PRG:3E87 E6 F9
lda (ZpF7),y ; CPU:$FE89 PRG:3E89 B1 F7
jsr $FAB1 ; CPU:$FE8B PRG:3E8B 20 B1 FA
sta $0698 ; CPU:$FE8E PRG:3E8E 8D 98 06
clc ; CPU:$FE91 PRG:3E91 18
adc #$FE ; CPU:$FE92 PRG:3E92 69 FE
asl a ; CPU:$FE94 PRG:3E94 0A
asl a ; CPU:$FE95 PRG:3E95 0A
cmp #$3C ; CPU:$FE96 PRG:3E96 C9 3C
bcc SubCFE51_Block_5 ; CPU:$FE98 PRG:3E98 90 02
lda #$3C ; CPU:$FE9A PRG:3E9A A9 3C
; -----------------------------------------------------------------------------
; Routine: SubCFE51_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.
; -----------------------------------------------------------------------------
SubCFE51_Block_5:
ldy $06F1 ; CPU:$FE9C PRG:3E9C AC F1 06
bne SubCFE51_Block_6 ; CPU:$FE9F PRG:3E9F D0 02
lda #$FF ; CPU:$FEA1 PRG:3EA1 A9 FF
; -----------------------------------------------------------------------------
; Routine: SubCFE51_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.
; -----------------------------------------------------------------------------
SubCFE51_Block_6:
sta APUTRIANGLECTRL ; CPU:$FEA3 PRG:3EA3 8D 08 40
jsr $FAF0 ; CPU:$FEA6 PRG:3EA6 20 F0 FA
; -----------------------------------------------------------------------------
; Routine: SubCFE51_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.
; -----------------------------------------------------------------------------
SubCFE51_Block_4:
rts ; CPU:$FEA9 PRG:3EA9 60
; ---- data $FEAA-$FFEF (326 bytes) ----
; referenced by `lda $FFB9,y` at $FD86 (operand $FFB9 falls inside this region)
; referenced by `lda $FFBA,y` at $FD99 (operand $FFBA falls inside this region)
; referenced by `lda $FEAA,y` at $FDCC (operand $FEAA falls inside this region)
; referenced by `lda $FEAA,y` at $FDD0 (operand $FEAA falls inside this region)
; referenced by `lda $FEAB,y` at $FDD6 (operand $FEAB falls inside this region)
; referenced by `lda $FEAC,y` at $FDDB (operand $FEAC falls inside this region)
; ... and 2 further references from decoded code
ObjectSpriteTable: ; Object sprite definitions
.byte $08, $0D, $12, $00, $17, $1C, $21, $26, $0C, $D5, $FE, $13, $00, $05, $F2, $FE ; CPU:$FEAA PRG:3EAA 08 0D 12 00 17 1C 21 26 0C D5 FE 13 00 05 F2 FE
.byte $11, $00, $00, $F2, $FE, $11, $00, $05, $14, $FF, $10, $00, $13, $34, $FF, $00 ; CPU:$FEBA PRG:3EBA 11 00 00 F2 FE 11 00 05 14 FF 10 00 13 34 FF 00
.byte $00, $05, $3B, $FF, $00, $00, $0C, $44, $FF, $22, $4C, $42, $7A, $7C, $7E, $40 ; CPU:$FECA PRG:3ECA 00 05 3B FF 00 00 0C 44 FF 22 4C 42 7A 7C 7E 40
.byte $6C, $70, $74, $78, $18, $16, $18, $16, $18, $16, $18, $16, $D8, $00, $82, $6C ; CPU:$FEDA PRG:3EDA 6C 70 74 78 18 16 18 16 18 16 18 16 D8 00 82 6C
.byte $70, $74, $78, $58, $5E, $64, $E8, $E8, $62, $86, $62, $86, $A2, $60, $86, $60 ; CPU:$FEEA PRG:3EEA 70 74 78 58 5E 64 E8 E8 62 86 62 86 A2 60 86 60
.byte $86, $A0, $5E, $86, $5E, $86, $8A, $11, $00, $94, $9C, $A2, $94, $94, $9A, $A0 ; CPU:$FEFA PRG:3EFA 86 A0 5E 86 5E 86 8A 11 00 94 9C A2 94 94 9A A0
.byte $9A, $98, $9E, $A6, $86, $82, $20, $62, $02, $F2, $94, $A2, $5C, $55, $B8, $A2 ; CPU:$FF0A PRG:3F0A 9A 98 9E A6 86 82 20 62 02 F2 94 A2 5C 55 B8 A2
.byte $5C, $79, $B6, $94, $5C, $A2, $5C, $D8, $D4, $00, $94, $B2, $AE, $B2, $9C, $B8 ; CPU:$FF1A PRG:3F1A 5C 79 B6 94 5C A2 5C D8 D4 00 94 B2 AE B2 9C B8
.byte $B2, $B8, $9E, $94, $AE, $B8, $72, $B2, $6C, $D4, $E8, $07, $CE, $11, $D2, $05 ; CPU:$FF2A PRG:3F2A B2 B8 9E 94 AE B8 72 B2 6C D4 E8 07 CE 11 D2 05
.byte $00, $04, $10, $04, $10, $04, $10, $04, $50, $00, $51, $8A, $88, $46, $48, $4A ; CPU:$FF3A PRG:3F3A 00 04 10 04 10 04 10 04 50 00 51 8A 88 46 48 4A
.byte $4A, $CA, $42, $48, $4A, $4A, $4B, $4A, $48, $11, $10, $10, $90, $8A, $88, $46 ; CPU:$FF4A PRG:3F4A 4A CA 42 48 4A 4A 4B 4A 48 11 10 10 90 8A 88 46
.byte $0A, $0A, $8B, $48, $0A, $0A, $8A, $8A, $62, $66, $C6, $00, $46, $A2, $86, $62 ; CPU:$FF5A PRG:3F5A 0A 0A 8B 48 0A 0A 8A 8A 62 66 C6 00 46 A2 86 62
.byte $66, $68, $66, $9C, $A6, $5C, $5E, $62, $66, $9E, $A6, $5E, $62, $66, $62, $B2 ; CPU:$FF6A PRG:3F6A 66 68 66 9C A6 5C 5E 62 66 9E A6 5E 62 66 62 B2
.byte $B2, $72, $76, $78, $54, $B2, $94, $72, $76, $78, $66, $9C, $A6, $5C, $5E, $62 ; CPU:$FF7A PRG:3F7A B2 72 76 78 54 B2 94 72 76 78 66 9C A6 5C 5E 62
.byte $58, $B6, $98, $72, $76, $15, $4B, $86, $A8, $62, $66, $46, $46, $C6, $42, $66 ; CPU:$FF8A PRG:3F8A 58 B6 98 72 76 15 4B 86 A8 62 66 46 46 C6 42 66
.byte $46, $46, $86, $66, $46, $68, $C8, $42, $78, $58, $78, $62, $5C, $54, $A2, $72 ; CPU:$FF9A PRG:3F9A 46 46 86 66 46 68 C8 42 78 58 78 62 5C 54 A2 72
.byte $54, $5C, $66, $5C, $54, $A6, $76, $54, $5C, $66, $5E, $58, $A6, $78, $54, $1D ; CPU:$FFAA PRG:3FAA 54 5C 66 5C 54 A6 76 54 5C 66 5E 58 A6 78 54 1D
EnemySpriteData: ; Enemy sprite data
.byte $05, $05, $05, $18, $33, $9F, $99, $95, $59, $9F, $9F, $59, $95, $99, $A3, $9D ; CPU:$FFBA PRG:3FBA 05 05 05 18 33 9F 99 95 59 9F 9F 59 95 99 A3 9D
.byte $99, $5D, $A3, $A3, $5D, $99, $9D, $00, $5E, $9E, $54, $5E, $9E, $54, $5E, $9E ; CPU:$FFCA PRG:3FCA 99 5D A3 A3 5D 99 9D 00 5E 9E 54 5E 9E 54 5E 9E
.byte $54, $5E, $5C, $5E, $60, $62, $A2, $58, $62, $A2, $58, $62, $A2, $58, $62, $60 ; CPU:$FFDA PRG:3FDA 54 5E 5C 5E 60 62 A2 58 62 A2 58 62 A2 58 62 60
.byte $62, $64, $00, $06, $06, $06 ; CPU:$FFEA PRG:3FEA 62 64 00 06 06 06
; -----------------------------------------------------------------------------
; 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:
asl Zp08 ; CPU:$FFF0 PRG:3FF0 06 08
asl a ; CPU:$FFF2 PRG:3FF2 0A
; ---- data $FFF3-$FFFF (13 bytes) ----
.byte $0C, $0C, $0C, $0C, $0A, $08, $00, $A9, $C4, $1E, $C4, $F0, $FF ; CPU:$FFF3 PRG:3FF3 0C 0C 0C 0C 0A 08 00 A9 C4 1E C4 F0 FF