- 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>
4512 lines
367 KiB
ArmAsm
4512 lines
367 KiB
ArmAsm
; Pac-Man (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=$C0FA RESET=$FF00 IRQ=$C16A
|
|
; PRG mapped at $C000-$FFFF (NROM, mirrored to the upper half)
|
|
;
|
|
; Pass 1 trace provenance (the audit trail behind every classification below):
|
|
; 16 further routine entries recovered from table references elsewhere in the image:
|
|
; $C560, $C89B, $C977, $D249, $D4C5, $D723, $D7E0, $D8D3, $D98B, $E222, $E285, $E293, $EB5E, $F001, $F020, $F050
|
|
; indirect dispatch through zero page (not followed statically):
|
|
; jmp ($0010) at $C250
|
|
; jmp ($0010) at $D90F
|
|
; jmp ($0010) at $D9B6
|
|
; jmp ($0010) at $D3CA
|
|
; jmp ($00FE) at $EFDA
|
|
;
|
|
.setcpu "6502"
|
|
|
|
.include "symbols.inc"
|
|
.include "locals.inc"
|
|
|
|
.segment "PRG"
|
|
|
|
; ---- data $C000-$C041 (66 bytes) ----
|
|
.byte $43, $4F, $50, $59, $20, $52, $49, $47, $48, $54, $20, $31, $39, $38, $34, $20 ; CPU:$C000 PRG:0000 43 4F 50 59 20 52 49 47 48 54 20 31 39 38 34 20
|
|
.byte $31, $39, $38, $30, $20, $4E, $41, $4D, $43, $4F, $20, $4C, $54, $44, $2E, $20 ; CPU:$C010 PRG:0010 31 39 38 30 20 4E 41 4D 43 4F 20 4C 54 44 2E 20
|
|
.byte $41, $4C, $4C, $20, $52, $49, $47, $48, $54, $53, $20, $52, $45, $53, $45, $52 ; CPU:$C020 PRG:0020 41 4C 4C 20 52 49 47 48 54 53 20 52 45 53 45 52
|
|
.byte $56, $45, $44, $78, $D8, $A9, $00, $8D, $00, $20, $8D, $01, $20, $AD, $02, $20 ; CPU:$C030 PRG:0030 56 45 44 78 D8 A9 00 8D 00 20 8D 01 20 AD 02 20
|
|
.byte $10, $FB ; CPU:$C040 PRG:0040 10 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ColdStart
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ColdStart:
|
|
ldx #$FF ; CPU:$C042 PRG:0042 A2 FF
|
|
txs ; CPU:$C044 PRG:0044 9A
|
|
lda #$00 ; CPU:$C045 PRG:0045 A9 00
|
|
tay ; CPU:$C047 PRG:0047 A8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearLowRAM
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearLowRAM:
|
|
sta a:Zp00,y ; CPU:$C048 PRG:0048 99 00 00
|
|
iny ; CPU:$C04B PRG:004B C8
|
|
cpy #$3E ; CPU:$C04C PRG:004C C0 3E
|
|
bne ClearLowRAM ; CPU:$C04E PRG:004E D0 F8
|
|
ldx #$08 ; CPU:$C050 PRG:0050 A2 08
|
|
ldy #$87 ; CPU:$C052 PRG:0052 A0 87
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearHighRAMPages
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearHighRAMPages:
|
|
sta (Zp00),y ; CPU:$C054 PRG:0054 91 00
|
|
iny ; CPU:$C056 PRG:0056 C8
|
|
bne ClearHighRAMPages ; CPU:$C057 PRG:0057 D0 FB
|
|
inc Zp01 ; CPU:$C059 PRG:0059 E6 01
|
|
cpx Zp01 ; CPU:$C05B PRG:005B E4 01
|
|
bne ClearHighRAMPages ; CPU:$C05D PRG:005D D0 F5
|
|
lda #$06 ; CPU:$C05F PRG:005F A9 06
|
|
sta PPUMASK ; CPU:$C061 PRG:0061 8D 01 20
|
|
lda #$00 ; CPU:$C064 PRG:0064 A9 00
|
|
sta PPUSCROLL ; CPU:$C066 PRG:0066 8D 05 20
|
|
sta PPUSCROLL ; CPU:$C069 PRG:0069 8D 05 20
|
|
sta ScrollX ; CPU:$C06C PRG:006C 85 41
|
|
sta ScrollY ; CPU:$C06E PRG:006E 85 42
|
|
sta PPUCTRL ; CPU:$C070 PRG:0070 8D 00 20
|
|
sta PPUMASK ; CPU:$C073 PRG:0073 8D 01 20
|
|
tay ; CPU:$C076 PRG:0076 A8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CheckCopyrightSig
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CheckCopyrightSig:
|
|
lda $C0EB,y ; CPU:$C077 PRG:0077 B9 EB C0
|
|
cmp a:$0052,y ; CPU:$C07A PRG:007A D9 52 00
|
|
bne ClearZPOnMismatch ; CPU:$C07D PRG:007D D0 07
|
|
iny ; CPU:$C07F PRG:007F C8
|
|
cpy #$0F ; CPU:$C080 PRG:0080 C0 0F
|
|
bne CheckCopyrightSig ; CPU:$C082 PRG:0082 D0 F3
|
|
beq PostSignatureCheck ; CPU:$C084 PRG:0084 F0 1A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearZPOnMismatch
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearZPOnMismatch:
|
|
lda #$00 ; CPU:$C086 PRG:0086 A9 00
|
|
tay ; CPU:$C088 PRG:0088 A8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ColdStart_OnNonzero_C089
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ColdStart_OnNonzero_C089:
|
|
sta a:Zp00,y ; CPU:$C089 PRG:0089 99 00 00
|
|
iny ; CPU:$C08C PRG:008C C8
|
|
bne ColdStart_OnNonzero_C089 ; CPU:$C08D PRG:008D D0 FA
|
|
ldy #$00 ; CPU:$C08F PRG:008F A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyCopyrightToRAM
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyCopyrightToRAM:
|
|
lda $C0EB,y ; CPU:$C091 PRG:0091 B9 EB C0
|
|
sta a:$0052,y ; CPU:$C094 PRG:0094 99 52 00
|
|
iny ; CPU:$C097 PRG:0097 C8
|
|
cpy #$0F ; CPU:$C098 PRG:0098 C0 0F
|
|
bne CopyCopyrightToRAM ; CPU:$C09A PRG:009A D0 F5
|
|
lda #$01 ; CPU:$C09C PRG:009C A9 01
|
|
sta CopyrightVerified ; CPU:$C09E PRG:009E 85 64
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: PostSignatureCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
PostSignatureCheck:
|
|
ldy #$00 ; CPU:$C0A0 PRG:00A0 A0 00
|
|
sty GameState ; CPU:$C0A2 PRG:00A2 84 3F
|
|
lda #$07 ; CPU:$C0A4 PRG:00A4 A9 07
|
|
sta OamDmaPage ; CPU:$C0A6 PRG:00A6 85 45
|
|
lda #$01 ; CPU:$C0A8 PRG:00A8 A9 01
|
|
cmp ActivePlayerFlag ; CPU:$C0AA PRG:00AA C5 47
|
|
bne InitAudioPPU ; CPU:$C0AC PRG:00AC D0 19
|
|
cmp CocktailModeFlag ; CPU:$C0AE PRG:00AE C5 46
|
|
bne InitAudioPPU ; CPU:$C0B0 PRG:00B0 D0 15
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SwapEntityBuffers
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SwapEntityBuffers:
|
|
lda a:$0077,y ; CPU:$C0B2 PRG:00B2 B9 77 00
|
|
sta Zp00 ; CPU:$C0B5 PRG:00B5 85 00
|
|
lda a:$0067,y ; CPU:$C0B7 PRG:00B7 B9 67 00
|
|
sta a:$0077,y ; CPU:$C0BA PRG:00BA 99 77 00
|
|
lda Zp00 ; CPU:$C0BD PRG:00BD A5 00
|
|
sta a:$0067,y ; CPU:$C0BF PRG:00BF 99 67 00
|
|
iny ; CPU:$C0C2 PRG:00C2 C8
|
|
cpy #$10 ; CPU:$C0C3 PRG:00C3 C0 10
|
|
bne SwapEntityBuffers ; CPU:$C0C5 PRG:00C5 D0 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: InitAudioPPU
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
InitAudioPPU:
|
|
lda #$1F ; CPU:$C0C7 PRG:00C7 A9 1F
|
|
sta APUSTATUS ; CPU:$C0C9 PRG:00C9 8D 15 40
|
|
lda #$C0 ; CPU:$C0CC PRG:00CC A9 C0
|
|
sta JOY2 ; CPU:$C0CE PRG:00CE 8D 17 40
|
|
jsr ClearZpF0_Set6 ;
|
|
jsr ClearZpF0Ptr ;
|
|
lda #$88 ; CPU:$C0D7 PRG:00D7 A9 88
|
|
sta PpuCtrlShadow ; CPU:$C0D9 PRG:00D9 85 43
|
|
sta PPUCTRL ; CPU:$C0DB PRG:00DB 8D 00 20
|
|
lda #$FF ; CPU:$C0DE PRG:00DE A9 FF
|
|
sta GameplaySuspended ; CPU:$C0E0 PRG:00E0 85 48
|
|
sta $023F ; CPU:$C0E2 PRG:00E2 8D 3F 02
|
|
sta $024B ; CPU:$C0E5 PRG:00E5 8D 4B 02
|
|
jmp SetNMIFlag ;
|
|
; ---- data $C0EB-$C0F9 (15 bytes) ----
|
|
; referenced by `lda $C0EB,y` at $C077 (operand $C0EB falls inside this region)
|
|
; referenced by `lda $C0EB,y` at $C091 (operand $C0EB falls inside this region)
|
|
ProgrammerSig:
|
|
.byte $48, $49, $52, $4F, $4B, $49, $20, $41, $4F, $59, $41, $47, $49, $AA, $55 ; CPU:$C0EB PRG:00EB 48 49 52 4F 4B 49 20 41 4F 59 41 47 49 AA 55
|
|
; -----------------------------------------------------------------------------
|
|
; 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:$C0FA PRG:00FA 48
|
|
txa ; CPU:$C0FB PRG:00FB 8A
|
|
pha ; CPU:$C0FC PRG:00FC 48
|
|
tya ; CPU:$C0FD PRG:00FD 98
|
|
pha ; CPU:$C0FE PRG:00FE 48
|
|
lda #$1E ; CPU:$C0FF PRG:00FF A9 1E
|
|
sta PPUMASK ; CPU:$C101 PRG:0101 8D 01 20
|
|
lda #$00 ; CPU:$C104 PRG:0104 A9 00
|
|
sta OAMADDR ; CPU:$C106 PRG:0106 8D 03 20
|
|
sta NmiFlag ; CPU:$C109 PRG:0109 85 40
|
|
lda OamDmaPage ; CPU:$C10B PRG:010B A5 45
|
|
sta OAMDMA ; CPU:$C10D PRG:010D 8D 14 40
|
|
jsr UpdateSprites ;
|
|
jsr UpdateGameLogic ;
|
|
jsr UploadPalette1 ;
|
|
lda ScrollX ; CPU:$C119 PRG:0119 A5 41
|
|
sta PPUSCROLL ; CPU:$C11B PRG:011B 8D 05 20
|
|
lda ScrollY ; CPU:$C11E PRG:011E A5 42
|
|
sta PPUSCROLL ; CPU:$C120 PRG:0120 8D 05 20
|
|
lda ActivePlayerFlag ; CPU:$C123 PRG:0123 A5 47
|
|
and CocktailModeFlag ; CPU:$C125 PRG:0125 25 46
|
|
and #$01 ; CPU:$C127 PRG:0127 29 01
|
|
asl a ; CPU:$C129 PRG:0129 0A
|
|
ora PpuCtrlShadow ; CPU:$C12A PRG:012A 05 43
|
|
sta PPUCTRL ; CPU:$C12C PRG:012C 8D 00 20
|
|
lda #$01 ; CPU:$C12F PRG:012F A9 01
|
|
sta JOY1 ; CPU:$C131 PRG:0131 8D 16 40
|
|
lda #$00 ; CPU:$C134 PRG:0134 A9 00
|
|
sta JOY1 ; CPU:$C136 PRG:0136 8D 16 40
|
|
ldx #$08 ; CPU:$C139 PRG:0139 A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadControllers
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadControllers:
|
|
lda JOY1 ; CPU:$C13B PRG:013B AD 16 40
|
|
and #$01 ; CPU:$C13E PRG:013E 29 01
|
|
cmp #$01 ; CPU:$C140 PRG:0140 C9 01
|
|
ror Player1Input ; CPU:$C142 PRG:0142 66 4D
|
|
lda JOY2 ; CPU:$C144 PRG:0144 AD 17 40
|
|
and #$01 ; CPU:$C147 PRG:0147 29 01
|
|
cmp #$01 ; CPU:$C149 PRG:0149 C9 01
|
|
ror Player2Input ; CPU:$C14B PRG:014B 66 4E
|
|
dex ; CPU:$C14D PRG:014D CA
|
|
bne ReadControllers ; CPU:$C14E PRG:014E D0 EB
|
|
ldx Player1Input ; CPU:$C150 PRG:0150 A6 4D
|
|
lda CocktailModeFlag ; CPU:$C152 PRG:0152 A5 46
|
|
and ActivePlayerFlag ; CPU:$C154 PRG:0154 25 47
|
|
beq ProcessInputFrameCount ; CPU:$C156 PRG:0156 F0 02
|
|
ldx Player2Input ; CPU:$C158 PRG:0158 A6 4E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ProcessInputFrameCount
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ProcessInputFrameCount:
|
|
stx ActiveInput ; CPU:$C15A PRG:015A 86 4F
|
|
inc FrameCounter ; CPU:$C15C PRG:015C E6 4B
|
|
lda GameplaySuspended ; CPU:$C15E PRG:015E A5 48
|
|
bne NMIEpilogue ; CPU:$C160 PRG:0160 D0 03
|
|
jsr UpdateAttractMode ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NMIEpilogue
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NMIEpilogue:
|
|
pla ; CPU:$C165 PRG:0165 68
|
|
tay ; CPU:$C166 PRG:0166 A8
|
|
pla ; CPU:$C167 PRG:0167 68
|
|
tax ; CPU:$C168 PRG:0168 AA
|
|
pla ; CPU:$C169 PRG:0169 68
|
|
; -----------------------------------------------------------------------------
|
|
; 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:
|
|
rti ; CPU:$C16A PRG:016A 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadPalette1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadPalette1:
|
|
lda $0299 ; CPU:$C16B PRG:016B AD 99 02
|
|
cmp #$0F ; CPU:$C16E PRG:016E C9 0F
|
|
bne UploadPalette2 ; CPU:$C170 PRG:0170 D0 1A
|
|
lda PPUSTATUS ; CPU:$C172 PRG:0172 AD 02 20
|
|
lda #$3F ; CPU:$C175 PRG:0175 A9 3F
|
|
sta PPUADDR ; CPU:$C177 PRG:0177 8D 06 20
|
|
lda #$00 ; CPU:$C17A PRG:017A A9 00
|
|
sta PPUADDR ; CPU:$C17C PRG:017C 8D 06 20
|
|
ldy #$00 ; CPU:$C17F PRG:017F A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadPalette1Loop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadPalette1Loop:
|
|
lda $0299,y ; CPU:$C181 PRG:0181 B9 99 02
|
|
sta PPUDATA ; CPU:$C184 PRG:0184 8D 07 20
|
|
iny ; CPU:$C187 PRG:0187 C8
|
|
cpy #$10 ; CPU:$C188 PRG:0188 C0 10
|
|
bne UploadPalette1Loop ; CPU:$C18A PRG:018A D0 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadPalette2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadPalette2:
|
|
lda $02A9 ; CPU:$C18C PRG:018C AD A9 02
|
|
cmp #$0F ; CPU:$C18F PRG:018F C9 0F
|
|
bne CheckPaletteNeedsUpdate ; CPU:$C191 PRG:0191 D0 1A
|
|
lda PPUSTATUS ; CPU:$C193 PRG:0193 AD 02 20
|
|
lda #$3F ; CPU:$C196 PRG:0196 A9 3F
|
|
sta PPUADDR ; CPU:$C198 PRG:0198 8D 06 20
|
|
lda #$10 ; CPU:$C19B PRG:019B A9 10
|
|
sta PPUADDR ; CPU:$C19D PRG:019D 8D 06 20
|
|
ldy #$00 ; CPU:$C1A0 PRG:01A0 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadPalette2Loop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadPalette2Loop:
|
|
lda $02A9,y ; CPU:$C1A2 PRG:01A2 B9 A9 02
|
|
sta PPUDATA ; CPU:$C1A5 PRG:01A5 8D 07 20
|
|
iny ; CPU:$C1A8 PRG:01A8 C8
|
|
cpy #$10 ; CPU:$C1A9 PRG:01A9 C0 10
|
|
bne UploadPalette2Loop ; CPU:$C1AB PRG:01AB D0 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CheckPaletteNeedsUpdate
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CheckPaletteNeedsUpdate:
|
|
lda $0299 ; CPU:$C1AD PRG:01AD AD 99 02
|
|
cmp #$0F ; CPU:$C1B0 PRG:01B0 C9 0F
|
|
beq ClearPaletteFlags ; CPU:$C1B2 PRG:01B2 F0 08
|
|
lda $02A9 ; CPU:$C1B4 PRG:01B4 AD A9 02
|
|
cmp #$0F ; CPU:$C1B7 PRG:01B7 C9 0F
|
|
beq ClearPaletteFlags ; CPU:$C1B9 PRG:01B9 F0 01
|
|
rts ; CPU:$C1BB PRG:01BB 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearPaletteFlags
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearPaletteFlags:
|
|
lda #$30 ; CPU:$C1BC PRG:01BC A9 30
|
|
sta PPUADDR ; CPU:$C1BE PRG:01BE 8D 06 20
|
|
lda #$00 ; CPU:$C1C1 PRG:01C1 A9 00
|
|
sta PPUADDR ; CPU:$C1C3 PRG:01C3 8D 06 20
|
|
sta PPUADDR ; CPU:$C1C6 PRG:01C6 8D 06 20
|
|
sta PPUADDR ; CPU:$C1C9 PRG:01C9 8D 06 20
|
|
sta $0299 ; CPU:$C1CC PRG:01CC 8D 99 02
|
|
sta $02A9 ; CPU:$C1CF PRG:01CF 8D A9 02
|
|
rts ; CPU:$C1D2 PRG:01D2 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetNMIFlag
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetNMIFlag:
|
|
lda #$01 ; CPU:$C1D3 PRG:01D3 A9 01
|
|
sta NmiFlag ; CPU:$C1D5 PRG:01D5 85 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: WaitForNMIFlagClear
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
WaitForNMIFlagClear:
|
|
lda NmiFlag ; CPU:$C1D7 PRG:01D7 A5 40
|
|
bne WaitForNMIFlagClear ; CPU:$C1D9 PRG:01D9 D0 FC
|
|
lda #$08 ; CPU:$C1DB PRG:01DB A9 08
|
|
sta PPUCTRL ; CPU:$C1DD PRG:01DD 8D 00 20
|
|
sta PpuCtrlShadow ; CPU:$C1E0 PRG:01E0 85 43
|
|
lda PPUSTATUS ; CPU:$C1E2 PRG:01E2 AD 02 20
|
|
lda #$00 ; CPU:$C1E5 PRG:01E5 A9 00
|
|
sta PPUMASK ; CPU:$C1E7 PRG:01E7 8D 01 20
|
|
tax ; CPU:$C1EA PRG:01EA AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearOAMInitGame
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearOAMInitGame:
|
|
sta $0700,x ; CPU:$C1EB PRG:01EB 9D 00 07
|
|
inx ; CPU:$C1EE PRG:01EE E8
|
|
bne ClearOAMInitGame ; CPU:$C1EF PRG:01EF D0 FA
|
|
sta CocktailModeFlag ; CPU:$C1F1 PRG:01F1 85 46
|
|
jsr WaitVBlankStart ;
|
|
jsr SetupPPUAddr ;
|
|
jsr SetPPUAddrPtr ;
|
|
jsr SetupPPUWrite2 ;
|
|
ldy #$00 ; CPU:$C1FF PRG:01FF A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyTitlePaletteInitGame
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyTitlePaletteInitGame:
|
|
lda $C412,y ; CPU:$C201 PRG:0201 B9 12 C4
|
|
sta $0299,y ; CPU:$C204 PRG:0204 99 99 02
|
|
iny ; CPU:$C207 PRG:0207 C8
|
|
cpy #$20 ; CPU:$C208 PRG:0208 C0 20
|
|
bne CopyTitlePaletteInitGame ; CPU:$C20A PRG:020A D0 F5
|
|
lda #$20 ; CPU:$C20C PRG:020C A9 20
|
|
sta Zp6C ; CPU:$C20E PRG:020E 85 6C
|
|
sta Zp6D ; CPU:$C210 PRG:0210 85 6D
|
|
sta Zp6E ; CPU:$C212 PRG:0212 85 6E
|
|
sta Zp6F ; CPU:$C214 PRG:0214 85 6F
|
|
lda #$FF ; CPU:$C216 PRG:0216 A9 FF
|
|
sta $023F ; CPU:$C218 PRG:0218 8D 3F 02
|
|
sta GameplaySuspended ; CPU:$C21B PRG:021B 85 48
|
|
lda #$00 ; CPU:$C21D PRG:021D A9 00
|
|
sta ActivePlayerFlag ; CPU:$C21F PRG:021F 85 47
|
|
sta CocktailModeFlag ; CPU:$C221 PRG:0221 85 46
|
|
sta ScrollY ; CPU:$C223 PRG:0223 85 42
|
|
sta ScrollX ; CPU:$C225 PRG:0225 85 41
|
|
sta StateTimer ; CPU:$C227 PRG:0227 85 4C
|
|
sta Zp87 ; CPU:$C229 PRG:0229 85 87
|
|
sta Zp88 ; CPU:$C22B PRG:022B 85 88
|
|
lda GameState ; CPU:$C22D PRG:022D A5 3F
|
|
bne SetNMIFlag_OnNonzero_C235 ; CPU:$C22F PRG:022F D0 04
|
|
lda #$8A ; CPU:$C231 PRG:0231 A9 8A
|
|
bne SetNMIFlag_OnNonzero_C237 ; CPU:$C233 PRG:0233 D0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetNMIFlag_OnNonzero_C235
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetNMIFlag_OnNonzero_C235:
|
|
lda #$88 ; CPU:$C235 PRG:0235 A9 88
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetNMIFlag_OnNonzero_C237
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetNMIFlag_OnNonzero_C237:
|
|
sta PPUCTRL ; CPU:$C237 PRG:0237 8D 00 20
|
|
sta PpuCtrlShadow ; CPU:$C23A PRG:023A 85 43
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C23C_StoreAndContinue_C23C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C23C_StoreAndContinue_C23C:
|
|
lda #$01 ; CPU:$C23C PRG:023C A9 01
|
|
sta NmiFlag ; CPU:$C23E PRG:023E 85 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C23C_OnNonzero_C240
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C23C_OnNonzero_C240:
|
|
lda NmiFlag ; CPU:$C240 PRG:0240 A5 40
|
|
bne Sub_C23C_OnNonzero_C240 ; CPU:$C242 PRG:0242 D0 FC
|
|
ldy GameState ; CPU:$C244 PRG:0244 A4 3F
|
|
lda $C253,y ; CPU:$C246 PRG:0246 B9 53 C2
|
|
sta DispatchPtrLo ; CPU:$C249 PRG:0249 85 10
|
|
lda $C254,y ; CPU:$C24B PRG:024B B9 54 C2
|
|
sta DispatchPtrHi ; CPU:$C24E PRG:024E 85 11
|
|
jmp (DispatchPtrLo) ; CPU:$C250 PRG:0250 6C 10 00
|
|
; ---- data $C253-$C27C (42 bytes) ----
|
|
; referenced by `lda $C253,y` at $C246 (operand $C253 falls inside this region)
|
|
; referenced by `lda $C254,y` at $C24B (operand $C254 falls inside this region)
|
|
GameStateDispatchTable:
|
|
.byte $59, $C2, $5A, $C4, $F5, $C4, $A5, $4D, $29, $0C, $F0, $07, $A9, $02, $85, $3F ; CPU:$C253 PRG:0253 59 C2 5A C4 F5 C4 A5 4D 29 0C F0 07 A9 02 85 3F
|
|
.byte $4C, $D3, $C1, $E6, $42, $A9, $F0, $C5, $42, $D0, $0C, $A9, $00, $85, $42, $A9 ; CPU:$C263 PRG:0263 4C D3 C1 E6 42 A9 F0 C5 42 D0 0C A9 00 85 42 A9
|
|
.byte $88, $85, $43, $A9, $02, $85, $3F, $4C, $3C, $C2 ; CPU:$C273 PRG:0273 88 85 43 A9 02 85 3F 4C 3C C2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetPPUAddrPtr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetPPUAddrPtr:
|
|
lda #$20 ; CPU:$C27D PRG:027D A9 20
|
|
sta Zp00 ; CPU:$C27F PRG:027F 85 00
|
|
lda #$E5 ; CPU:$C281 PRG:0281 A9 E5
|
|
sta Zp01 ; CPU:$C283 PRG:0283 85 01
|
|
lda #$06 ; CPU:$C285 PRG:0285 A9 06
|
|
sta Zp02 ; CPU:$C287 PRG:0287 85 02
|
|
ldy #$00 ; CPU:$C289 PRG:0289 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetPPUAddrPtr_OnNonzero_C28B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetPPUAddrPtr_OnNonzero_C28B:
|
|
lda PPUSTATUS ; CPU:$C28B PRG:028B AD 02 20
|
|
lda Zp00 ; CPU:$C28E PRG:028E A5 00
|
|
sta PPUADDR ; CPU:$C290 PRG:0290 8D 06 20
|
|
lda Zp01 ; CPU:$C293 PRG:0293 A5 01
|
|
sta PPUADDR ; CPU:$C295 PRG:0295 8D 06 20
|
|
lda #$17 ; CPU:$C298 PRG:0298 A9 17
|
|
sta Zp03 ; CPU:$C29A PRG:029A 85 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetPPUAddrPtr_OnNonzero_C29C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetPPUAddrPtr_OnNonzero_C29C:
|
|
lda $C2FD,y ; CPU:$C29C PRG:029C B9 FD C2
|
|
sta PPUDATA ; CPU:$C29F PRG:029F 8D 07 20
|
|
iny ; CPU:$C2A2 PRG:02A2 C8
|
|
dec Zp03 ; CPU:$C2A3 PRG:02A3 C6 03
|
|
bne SetPPUAddrPtr_OnNonzero_C29C ; CPU:$C2A5 PRG:02A5 D0 F5
|
|
lda Zp01 ; CPU:$C2A7 PRG:02A7 A5 01
|
|
clc ; CPU:$C2A9 PRG:02A9 18
|
|
adc #$20 ; CPU:$C2AA PRG:02AA 69 20
|
|
sta Zp01 ; CPU:$C2AC PRG:02AC 85 01
|
|
lda #$00 ; CPU:$C2AE PRG:02AE A9 00
|
|
adc Zp00 ; CPU:$C2B0 PRG:02B0 65 00
|
|
sta Zp00 ; CPU:$C2B2 PRG:02B2 85 00
|
|
dec Zp02 ; CPU:$C2B4 PRG:02B4 C6 02
|
|
bne SetPPUAddrPtr_OnNonzero_C28B ; CPU:$C2B6 PRG:02B6 D0 D3
|
|
lda #$09 ; CPU:$C2B8 PRG:02B8 A9 09
|
|
sta Zp00 ; CPU:$C2BA PRG:02BA 85 00
|
|
ldy #$00 ; CPU:$C2BC PRG:02BC A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetPPUAddrPtr_OnNonzero_C2BE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetPPUAddrPtr_OnNonzero_C2BE:
|
|
lda PPUSTATUS ; CPU:$C2BE PRG:02BE AD 02 20
|
|
lda $C387,y ; CPU:$C2C1 PRG:02C1 B9 87 C3
|
|
sta PPUADDR ; CPU:$C2C4 PRG:02C4 8D 06 20
|
|
iny ; CPU:$C2C7 PRG:02C7 C8
|
|
lda $C387,y ; CPU:$C2C8 PRG:02C8 B9 87 C3
|
|
sta PPUADDR ; CPU:$C2CB PRG:02CB 8D 06 20
|
|
iny ; CPU:$C2CE PRG:02CE C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetPPUAddrPtr_OnNonzero_C2CF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetPPUAddrPtr_OnNonzero_C2CF:
|
|
lda $C387,y ; CPU:$C2CF PRG:02CF B9 87 C3
|
|
cmp #$FF ; CPU:$C2D2 PRG:02D2 C9 FF
|
|
beq SetPPUAddrPtr_OnZero_C2DC ; CPU:$C2D4 PRG:02D4 F0 06
|
|
sta PPUDATA ; CPU:$C2D6 PRG:02D6 8D 07 20
|
|
iny ; CPU:$C2D9 PRG:02D9 C8
|
|
bne SetPPUAddrPtr_OnNonzero_C2CF ; CPU:$C2DA PRG:02DA D0 F3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetPPUAddrPtr_OnZero_C2DC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetPPUAddrPtr_OnZero_C2DC:
|
|
iny ; CPU:$C2DC PRG:02DC C8
|
|
dec Zp00 ; CPU:$C2DD PRG:02DD C6 00
|
|
bne SetPPUAddrPtr_OnNonzero_C2BE ; CPU:$C2DF PRG:02DF D0 DD
|
|
rts ; CPU:$C2E1 PRG:02E1 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUAddr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUAddr:
|
|
lda PPUSTATUS ; CPU:$C2E2 PRG:02E2 AD 02 20
|
|
lda #$23 ; CPU:$C2E5 PRG:02E5 A9 23
|
|
sta PPUADDR ; CPU:$C2E7 PRG:02E7 8D 06 20
|
|
lda #$C8 ; CPU:$C2EA PRG:02EA A9 C8
|
|
sta PPUADDR ; CPU:$C2EC PRG:02EC 8D 06 20
|
|
ldy #$00 ; CPU:$C2EF PRG:02EF A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUAddr_OnNonzero_C2F1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUAddr_OnNonzero_C2F1:
|
|
lda $C432,y ; CPU:$C2F1 PRG:02F1 B9 32 C4
|
|
sta PPUDATA ; CPU:$C2F4 PRG:02F4 8D 07 20
|
|
iny ; CPU:$C2F7 PRG:02F7 C8
|
|
cpy #$28 ; CPU:$C2F8 PRG:02F8 C0 28
|
|
bne SetupPPUAddr_OnNonzero_C2F1 ; CPU:$C2FA PRG:02FA D0 F5
|
|
rts ; CPU:$C2FC PRG:02FC 60
|
|
TitleScreenData:
|
|
; ---- data $C2FD-$C55F (611 bytes) ----
|
|
; referenced by `lda $C412,y` at $C201 (operand $C412 falls inside this region)
|
|
; referenced by `lda $C2FD,y` at $C29C (operand $C2FD falls inside this region)
|
|
; referenced by `lda $C387,y` at $C2C1 (operand $C387 falls inside this region)
|
|
; referenced by `lda $C387,y` at $C2C8 (operand $C387 falls inside this region)
|
|
; referenced by `lda $C387,y` at $C2CF (operand $C387 falls inside this region)
|
|
; referenced by `lda $C432,y` at $C2F1 (operand $C432 falls inside this region)
|
|
.byte $E4, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8 ; CPU:$C2FD PRG:02FD E4 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8 E8
|
|
.byte $E8, $E8, $E8, $E8, $E8, $E8, $E5, $EB, $88, $80, $81, $82, $83, $84, $85, $86 ; CPU:$C30D PRG:030D E8 E8 E8 E8 E8 E8 E5 EB 88 80 81 82 83 84 85 86
|
|
.byte $87, $88, $88, $89, $8A, $8B, $8C, $8D, $8E, $8F, $90, $91, $A3, $E9, $EB, $88 ; CPU:$C31D PRG:031D 87 88 88 89 8A 8B 8C 8D 8E 8F 90 91 A3 E9 EB 88
|
|
.byte $92, $93, $94, $95, $96, $97, $98, $99, $9A, $9B, $9C, $9D, $9E, $9F, $A0, $A1 ; CPU:$C32D PRG:032D 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1
|
|
.byte $A2, $A3, $A4, $A3, $E9, $EB, $88, $92, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC ; CPU:$C33D PRG:033D A2 A3 A4 A3 E9 EB 88 92 A5 A6 A7 A8 A9 AA AB AC
|
|
.byte $AD, $AE, $A3, $AF, $D0, $D1, $D2, $A3, $D3, $A4, $A3, $E9, $EB, $88, $D4, $D5 ; CPU:$C34D PRG:034D AD AE A3 AF D0 D1 D2 A3 D3 A4 A3 E9 EB 88 D4 D5
|
|
.byte $D6, $D7, $D8, $D9, $DA, $DB, $88, $88, $DC, $D7, $DD, $DE, $DF, $E0, $E1, $E2 ; CPU:$C35D PRG:035D D6 D7 D8 D9 DA DB 88 88 DC D7 DD DE DF E0 E1 E2
|
|
.byte $E3, $A3, $E9, $E7, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA ; CPU:$C36D PRG:036D E3 A3 E9 E7 EA EA EA EA EA EA EA EA EA EA EA EA
|
|
.byte $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $EA, $E6, $20, $65, $B0, $B3, $B2, $20 ; CPU:$C37D PRG:037D EA EA EA EA EA EA EA EA EA E6 20 65 B0 B3 B2 20
|
|
.byte $20, $20, $20, $B4, $B5, $B6, $B7, $B8, $B9, $BA, $BB, $20, $20, $20, $B1, $B3 ; CPU:$C38D PRG:038D 20 20 20 B4 B5 B6 B7 B8 B9 BA BB 20 20 20 B1 B3
|
|
.byte $B2, $FF, $22, $0A, $5C, $20, $31, $20, $50, $4C, $41, $59, $45, $52, $FF, $22 ; CPU:$C39D PRG:039D B2 FF 22 0A 5C 20 31 20 50 4C 41 59 45 52 FF 22
|
|
.byte $4C, $32, $20, $50, $4C, $41, $59, $45, $52, $53, $FF, $22, $A2, $54, $4D, $20 ; CPU:$C3AD PRG:03AD 4C 32 20 50 4C 41 59 45 52 53 FF 22 A2 54 4D 20
|
|
.byte $41, $4E, $44, $20, $5D, $20, $31, $39, $38, $30, $20, $31, $39, $38, $34, $20 ; CPU:$C3BD PRG:03BD 41 4E 44 20 5D 20 31 39 38 30 20 31 39 38 34 20
|
|
.byte $4E, $41, $4D, $43, $4F, $20, $4C, $54, $44, $5B, $FF, $22, $ED, $54, $45, $4E ; CPU:$C3CD PRG:03CD 4E 41 4D 43 4F 20 4C 54 44 5B FF 22 ED 54 45 4E
|
|
.byte $47, $45, $4E, $FF, $23, $26, $4C, $49, $43, $45, $4E, $53, $45, $44, $20, $42 ; CPU:$C3DD PRG:03DD 47 45 4E FF 23 26 4C 49 43 45 4E 53 45 44 20 42
|
|
.byte $59, $20, $4E, $49, $4E, $54, $45, $4E, $44, $4F, $FF, $23, $69, $4F, $46, $20 ; CPU:$C3ED PRG:03ED 59 20 4E 49 4E 54 45 4E 44 4F FF 23 69 4F 46 20
|
|
.byte $41, $4D, $45, $52, $49, $43, $41, $20, $49, $4E, $43, $5B, $FF, $22, $C2, $20 ; CPU:$C3FD PRG:03FD 41 4D 45 52 49 43 41 20 49 4E 43 5B FF 22 C2 20
|
|
.byte $FF, $22, $D4, $20, $FF, $0F, $20, $0F, $06, $0F, $26, $20, $27, $0F, $06, $0F ; CPU:$C40D PRG:040D FF 22 D4 20 FF 0F 20 0F 06 0F 26 20 27 0F 06 0F
|
|
.byte $26, $0F, $06, $20, $26, $0F, $27, $20, $06, $0F, $11, $20, $33, $0F, $20, $20 ; CPU:$C41D PRG:041D 26 0F 06 20 26 0F 27 20 06 0F 11 20 33 0F 20 20
|
|
.byte $21, $0F, $09, $20, $17, $80, $A0, $A0, $A0, $A0, $A0, $A0, $00, $00, $66, $55 ; CPU:$C42D PRG:042D 21 0F 09 20 17 80 A0 A0 A0 A0 A0 A0 00 00 66 55
|
|
.byte $55, $55, $55, $DD, $00, $08, $0A, $0A, $0A, $0A, $0A, $0A, $00, $00, $00, $00 ; CPU:$C43D PRG:043D 55 55 55 DD 00 08 0A 0A 0A 0A 0A 0A 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $A5, $87, $05 ; CPU:$C44D PRG:044D 00 00 00 00 00 F0 F0 F0 F0 F0 F0 F0 F0 A5 87 05
|
|
.byte $88, $D0, $19, $A0, $00, $B9, $EA, $C4, $99, $4B, $02, $C8, $C9, $FF, $D0, $F5 ; CPU:$C45D PRG:045D 88 D0 19 A0 00 B9 EA C4 99 4B 02 C8 C9 FF D0 F5
|
|
.byte $A5, $4D, $29, $04, $85, $50, $A5, $4D, $29, $08, $85, $51, $18, $A9, $01, $65 ; CPU:$C46D PRG:046D A5 4D 29 04 85 50 A5 4D 29 08 85 51 18 A9 01 65
|
|
.byte $87, $85, $87, $A5, $88, $69, $00, $85, $88, $C9, $02, $D0, $0B, $A9, $00, $85 ; CPU:$C47D PRG:047D 87 85 87 A5 88 69 00 85 88 C9 02 D0 0B A9 00 85
|
|
.byte $87, $A9, $04, $85, $3F, $4C, $3C, $C2, $A5, $4D, $29, $04, $C5, $50, $F0, $2F ; CPU:$C48D PRG:048D 87 A9 04 85 3F 4C 3C C2 A5 4D 29 04 C5 50 F0 2F
|
|
.byte $85, $50, $A9, $00, $85, $88, $A9, $01, $85, $87, $A5, $50, $F0, $21, $A2, $00 ; CPU:$C49D PRG:049D 85 50 A9 00 85 88 A9 01 85 87 A5 50 F0 21 A2 00
|
|
.byte $E6, $47, $A5, $47, $29, $01, $85, $47, $F0, $01, $E8, $BD, $F2, $C4, $8D, $4D ; CPU:$C4AD PRG:04AD E6 47 A5 47 29 01 85 47 F0 01 E8 BD F2 C4 8D 4D
|
|
.byte $02, $BD, $F3, $C4, $8D, $51, $02, $A9, $22, $8D, $4B, $02, $4C, $3C, $C2, $A5 ; CPU:$C4BD PRG:04BD 02 BD F3 C4 8D 51 02 A9 22 8D 4B 02 4C 3C C2 A5
|
|
.byte $4D, $29, $08, $C5, $51, $D0, $03, $4C, $3C, $C2, $85, $51, $A5, $51, $D0, $03 ; CPU:$C4CD PRG:04CD 4D 29 08 C5 51 D0 03 4C 3C C2 85 51 A5 51 D0 03
|
|
.byte $4C, $3C, $C2, $A9, $00, $85, $48, $20, $73, $EE, $4C, $13, $CA, $22, $0A, $5C ; CPU:$C4DD PRG:04DD 4C 3C C2 A9 00 85 48 20 73 EE 4C 13 CA 22 0A 5C
|
|
.byte $00, $22, $4A, $20, $FF, $5C, $20, $5C, $A5, $4D, $29, $0C, $F0, $07, $A9, $02 ; CPU:$C4ED PRG:04ED 00 22 4A 20 FF 5C 20 5C A5 4D 29 0C F0 07 A9 02
|
|
.byte $85, $3F, $4C, $D3, $C1, $A4, $87, $B9, $11, $C5, $85, $10, $B9, $12, $C5, $85 ; CPU:$C4FD PRG:04FD 85 3F 4C D3 C1 A4 87 B9 11 C5 85 10 B9 12 C5 85
|
|
.byte $11, $6C, $10, $00, $29, $C5, $56, $C5, $56, $C5, $56, $C5, $56, $C5, $56, $C5 ; CPU:$C50D PRG:050D 11 6C 10 00 29 C5 56 C5 56 C5 56 C5 56 C5 56 C5
|
|
.byte $56, $C5, $56, $C5, $56, $C5, $56, $C5, $6C, $C5, $51, $C7, $A9, $01, $85, $40 ; CPU:$C51D PRG:051D 56 C5 56 C5 56 C5 56 C5 6C C5 51 C7 A9 01 85 40
|
|
.byte $A5, $40, $D0, $FC, $A9, $08, $8D, $00, $20, $85, $43, $A9, $00, $8D, $01, $20 ; CPU:$C52D PRG:052D A5 40 D0 FC A9 08 8D 00 20 85 43 A9 00 8D 01 20
|
|
.byte $85, $88, $20, $BB, $C5, $20, $EB, $C5, $20, $89, $C5, $E6, $87, $E6, $87, $A9 ; CPU:$C53D PRG:053D 85 88 20 BB C5 20 EB C5 20 89 C5 E6 87 E6 87 A9
|
|
.byte $88, $8D, $00, $20, $85, $43, $4C, $3C, $C2, $E6, $88, $A5, $88, $C9, $30, $D0 ; CPU:$C54D PRG:054D 88 8D 00 20 85 43 4C 3C C2 E6 88 A5 88 C9 30 D0
|
|
.byte $0B, $A9, $00 ; CPU:$C55D PRG:055D 0B A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUAddr_Entry_C560
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUAddr_Entry_C560:
|
|
sta Zp88 ; CPU:$C560 PRG:0560 85 88
|
|
jsr Sub_C589_Entry_C589 ;
|
|
inc Zp87 ; CPU:$C565 PRG:0565 E6 87
|
|
inc Zp87 ; CPU:$C567 PRG:0567 E6 87
|
|
jmp Sub_C23C_StoreAndContinue_C23C ;
|
|
; ---- data $C56C-$C588 (29 bytes) ----
|
|
.byte $E6, $88, $A5, $88, $C9, $80, $F0, $03, $4C, $3C, $C2, $E6, $87, $E6, $87, $A9 ; CPU:$C56C PRG:056C E6 88 A5 88 C9 80 F0 03 4C 3C C2 E6 87 E6 87 A9
|
|
.byte $00, $85, $88, $4C, $3C, $C2, $A9, $01, $85, $47, $4C, $13, $CA ; CPU:$C57C PRG:057C 00 85 88 4C 3C C2 A9 01 85 47 4C 13 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C589_Entry_C589
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C589_Entry_C589:
|
|
ldy Zp87 ; CPU:$C589 PRG:0589 A4 87
|
|
lda $C66A,y ; CPU:$C58B PRG:058B B9 6A C6
|
|
sta Zp00 ; CPU:$C58E PRG:058E 85 00
|
|
lda $C66B,y ; CPU:$C590 PRG:0590 B9 6B C6
|
|
sta Zp01 ; CPU:$C593 PRG:0593 85 01
|
|
ldy #$00 ; CPU:$C595 PRG:0595 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C589_OnNonzero_C597
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C589_OnNonzero_C597:
|
|
lda (Zp00),y ; CPU:$C597 PRG:0597 B1 00
|
|
sta $024B,y ; CPU:$C599 PRG:0599 99 4B 02
|
|
iny ; CPU:$C59C PRG:059C C8
|
|
cmp #$FF ; CPU:$C59D PRG:059D C9 FF
|
|
bne Sub_C589_OnNonzero_C597 ; CPU:$C59F PRG:059F D0 F6
|
|
lda (Zp00),y ; CPU:$C5A1 PRG:05A1 B1 00
|
|
beq Sub_C589_OnZero_C5A6 ; CPU:$C5A3 PRG:05A3 F0 01
|
|
rts ; CPU:$C5A5 PRG:05A5 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C589_OnZero_C5A6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C589_OnZero_C5A6:
|
|
lda Zp87 ; CPU:$C5A6 PRG:05A6 A5 87
|
|
sec ; CPU:$C5A8 PRG:05A8 38
|
|
sbc #$02 ; CPU:$C5A9 PRG:05A9 E9 02
|
|
asl a ; CPU:$C5AB PRG:05AB 0A
|
|
asl a ; CPU:$C5AC PRG:05AC 0A
|
|
tay ; CPU:$C5AD PRG:05AD A8
|
|
ldx #$10 ; CPU:$C5AE PRG:05AE A2 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C589_OnNonzero_C5B0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C589_OnNonzero_C5B0:
|
|
lda $C6E9,y ; CPU:$C5B0 PRG:05B0 B9 E9 C6
|
|
sta $0760,y ; CPU:$C5B3 PRG:05B3 99 60 07
|
|
iny ; CPU:$C5B6 PRG:05B6 C8
|
|
dex ; CPU:$C5B7 PRG:05B7 CA
|
|
bne Sub_C589_OnNonzero_C5B0 ; CPU:$C5B8 PRG:05B8 D0 F6
|
|
rts ; CPU:$C5BA PRG:05BA 60
|
|
; ---- data $C5BB-$C89A (736 bytes) ----
|
|
; referenced by `lda $C66A,y` at $C58B (operand $C66A falls inside this region)
|
|
; referenced by `lda $C66B,y` at $C590 (operand $C66B falls inside this region)
|
|
; referenced by `lda $C6E9,y` at $C5B0 (operand $C6E9 falls inside this region)
|
|
.byte $A9, $20, $8D, $06, $20, $A9, $C0, $8D, $06, $20, $A9, $17, $85, $00, $A9, $1C ; CPU:$C5BB PRG:05BB A9 20 8D 06 20 A9 C0 8D 06 20 A9 17 85 00 A9 1C
|
|
.byte $85, $01, $A9, $2D, $8D, $07, $20, $8D, $07, $20, $A9, $20, $8D, $07, $20, $C6 ; CPU:$C5CB PRG:05CB 85 01 A9 2D 8D 07 20 8D 07 20 A9 20 8D 07 20 C6
|
|
.byte $01, $D0, $F9, $A9, $2D, $8D, $07, $20, $8D, $07, $20, $C6, $00, $10, $DF, $60 ; CPU:$C5DB PRG:05DB 01 D0 F9 A9 2D 8D 07 20 8D 07 20 C6 00 10 DF 60
|
|
.byte $A9, $23, $8D, $06, $20, $A9, $C8, $8D, $06, $20, $A0, $00, $B9, $29, $C7, $8D ; CPU:$C5EB PRG:05EB A9 23 8D 06 20 A9 C8 8D 06 20 A0 00 B9 29 C7 8D
|
|
.byte $07, $20, $C8, $C0, $28, $D0, $F5, $A0, $00, $B9, $7E, $C6, $8D, $06, $20, $C8 ; CPU:$C5FB PRG:05FB 07 20 C8 C0 28 D0 F5 A0 00 B9 7E C6 8D 06 20 C8
|
|
.byte $B9, $7E, $C6, $8D, $06, $20, $C8, $B9, $7E, $C6, $C9, $FF, $F0, $06, $8D, $07 ; CPU:$C60B PRG:060B B9 7E C6 8D 06 20 C8 B9 7E C6 C9 FF F0 06 8D 07
|
|
.byte $20, $C8, $D0, $F3, $AD, $02, $20, $A9, $3F, $8D, $06, $20, $A9, $00, $8D, $06 ; CPU:$C61B PRG:061B 20 C8 D0 F3 AD 02 20 A9 3F 8D 06 20 A9 00 8D 06
|
|
.byte $20, $A0, $00, $B9, $4A, $C6, $8D, $07, $20, $C8, $C0, $20, $D0, $F5, $A9, $3F ; CPU:$C62B PRG:062B 20 A0 00 B9 4A C6 8D 07 20 C8 C0 20 D0 F5 A9 3F
|
|
.byte $8D, $06, $20, $A9, $00, $8D, $06, $20, $8D, $06, $20, $8D, $06, $20, $60, $0F ; CPU:$C63B PRG:063B 8D 06 20 A9 00 8D 06 20 8D 06 20 8D 06 20 60 0F
|
|
.byte $20, $0F, $06, $0F, $06, $0F, $33, $0F, $33, $0F, $27, $0F, $28, $0F, $21, $0F ; CPU:$C64B PRG:064B 20 0F 06 0F 06 0F 33 0F 33 0F 27 0F 28 0F 21 0F
|
|
.byte $27, $20, $06, $0F, $11, $20, $33, $0F, $20, $20, $21, $0F, $09, $20, $17, $7E ; CPU:$C65B PRG:065B 27 20 06 0F 11 20 33 0F 20 20 21 0F 09 20 17 7E
|
|
.byte $C6, $8A, $C6, $92, $C6, $9B, $C6, $A3, $C6, $AB, $C6, $B3, $C6, $BA, $C6, $C2 ; CPU:$C66B PRG:066B C6 8A C6 92 C6 9B C6 A3 C6 AB C6 B3 C6 BA C6 C2
|
|
.byte $C6, $CA, $C6, $20, $EB, $43, $48, $41, $52, $41, $43, $54, $45, $52, $FF, $21 ; CPU:$C67B PRG:067B C6 CA C6 20 EB 43 48 41 52 41 43 54 45 52 FF 21
|
|
.byte $4D, $2E, $2E, $2E, $2E, $FF, $00, $21, $53, $42, $4C, $49, $4E, $4B, $59, $FF ; CPU:$C68B PRG:068B 4D 2E 2E 2E 2E FF 00 21 53 42 4C 49 4E 4B 59 FF
|
|
.byte $21, $AD, $2E, $2E, $2E, $2E, $FF, $00, $21, $B3, $50, $49, $4E, $4B, $59, $FF ; CPU:$C69B PRG:069B 21 AD 2E 2E 2E 2E FF 00 21 B3 50 49 4E 4B 59 FF
|
|
.byte $22, $0D, $2E, $2E, $2E, $2E, $FF, $00, $22, $13, $49, $4E, $4B, $59, $FF, $22 ; CPU:$C6AB PRG:06AB 22 0D 2E 2E 2E 2E FF 00 22 13 49 4E 4B 59 FF 22
|
|
.byte $6D, $2E, $2E, $2E, $2E, $FF, $00, $22, $73, $43, $4C, $59, $44, $45, $FF, $22 ; CPU:$C6BB PRG:06BB 6D 2E 2E 2E 2E FF 00 22 73 43 4C 59 44 45 FF 22
|
|
.byte $AD, $03, $20, $31, $30, $20, $50, $54, $53, $00, $22, $ED, $01, $20, $35, $30 ; CPU:$C6CB PRG:06CB AD 03 20 31 30 20 50 54 53 00 22 ED 01 20 35 30
|
|
.byte $20, $50, $54, $53, $00, $23, $4D, $54, $45, $4E, $47, $45, $4E, $FF, $48, $1C ; CPU:$C6DB PRG:06DB 20 50 54 53 00 23 4D 54 45 4E 47 45 4E FF 48 1C
|
|
.byte $40, $46, $48, $1B, $40, $4E, $50, $1F, $40, $46, $50, $1D, $40, $4E, $60, $1C ; CPU:$C6EB PRG:06EB 40 46 48 1B 40 4E 50 1F 40 46 50 1D 40 4E 60 1C
|
|
.byte $41, $46, $60, $1B, $41, $4E, $68, $1F, $41, $46, $68, $1D, $41, $4E, $78, $1C ; CPU:$C6FB PRG:06FB 41 46 60 1B 41 4E 68 1F 41 46 68 1D 41 4E 78 1C
|
|
.byte $42, $46, $78, $1B, $42, $4E, $80, $1F, $42, $46, $80, $1D, $42, $4E, $90, $1C ; CPU:$C70B PRG:070B 42 46 78 1B 42 4E 80 1F 42 46 80 1D 42 4E 90 1C
|
|
.byte $43, $46, $90, $1B, $43, $4E, $98, $1F, $43, $46, $98, $1D, $43, $4E, $00, $00 ; CPU:$C71B PRG:071B 43 46 90 1B 43 4E 98 1F 43 46 98 1D 43 4E 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$C72B PRG:072B 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $AA, $AA ; CPU:$C73B PRG:073B FF FF FF FF FF FF FF FF FF FF FF FF FF FF AA AA
|
|
.byte $AA, $22, $00, $00, $00, $00, $A4, $88, $B9, $60, $C7, $85, $10, $B9, $61, $C7 ; CPU:$C74B PRG:074B AA 22 00 00 00 00 A4 88 B9 60 C7 85 10 B9 61 C7
|
|
.byte $85, $11, $6C, $10, $00, $66, $C7, $B1, $C7, $16, $C8, $A0, $00, $B9, $97, $C9 ; CPU:$C75B PRG:075B 85 11 6C 10 00 66 C7 B1 C7 16 C8 A0 00 B9 97 C9
|
|
.byte $99, $4B, $02, $C8, $C9, $FF, $D0, $F5, $A9, $FF, $85, $1A, $A9, $00, $85, $1B ; CPU:$C76B PRG:076B 99 4B 02 C8 C9 FF D0 F5 A9 FF 85 1A A9 00 85 1B
|
|
.byte $85, $89, $85, $8A, $A9, $F4, $8D, $74, $02, $A9, $A8, $8D, $76, $02, $A9, $01 ; CPU:$C77B PRG:077B 85 89 85 8A A9 F4 8D 74 02 A9 A8 8D 76 02 A9 01
|
|
.byte $8D, $8C, $02, $A9, $20, $8D, $92, $02, $A9, $00, $A8, $99, $1E, $00, $C8, $C0 ; CPU:$C78B PRG:078B 8D 8C 02 A9 20 8D 92 02 A9 00 A8 99 1E 00 C8 C0
|
|
.byte $14, $D0, $F8, $A8, $99, $78, $02, $C8, $C0, $14, $D0, $F8, $20, $B0, $DA, $E6 ; CPU:$C79B PRG:079B 14 D0 F8 A8 99 78 02 C8 C0 14 D0 F8 20 B0 DA E6
|
|
.byte $88, $E6, $88, $4C, $3C, $C2, $20, $9B, $C8, $20, $77, $C9, $AD, $74, $02, $C9 ; CPU:$C7AB PRG:07AB 88 E6 88 4C 3C C2 20 9B C8 20 77 C9 AD 74 02 C9
|
|
.byte $E0, $F0, $0C, $C9, $D1, $F0, $08, $C9, $C2, $F0, $04, $C9, $B3, $D0, $03, $20 ; CPU:$C7BB PRG:07BB E0 F0 0C C9 D1 F0 08 C9 C2 F0 04 C9 B3 D0 03 20
|
|
.byte $67, $C8, $AD, $74, $02, $C9, $40, $F0, $03, $4C, $3C, $C2, $A0, $00, $A9, $00 ; CPU:$C7CB PRG:07CB 67 C8 AD 74 02 C9 40 F0 03 4C 3C C2 A0 00 A9 00
|
|
.byte $99, $1E, $00, $A9, $C0, $99, $1F, $00, $C8, $C8, $C8, $C8, $C0, $10, $D0, $EE ; CPU:$C7DB PRG:07DB 99 1E 00 A9 C0 99 1F 00 C8 C8 C8 C8 C0 10 D0 EE
|
|
.byte $A9, $01, $85, $1A, $A9, $50, $85, $1B, $A9, $01, $8D, $93, $02, $8D, $94, $02 ; CPU:$C7EB PRG:07EB A9 01 85 1A A9 50 85 1B A9 01 8D 93 02 8D 94 02
|
|
.byte $8D, $95, $02, $8D, $96, $02, $A9, $00, $85, $89, $A9, $22, $8D, $4B, $02, $A9 ; CPU:$C7FB PRG:07FB 8D 95 02 8D 96 02 A9 00 85 89 A9 22 8D 4B 02 A9
|
|
.byte $20, $8D, $4D, $02, $E6, $88, $E6, $88, $4C, $3C, $C2, $A5, $8A, $F0, $47, $20 ; CPU:$C80B PRG:080B 20 8D 4D 02 E6 88 E6 88 4C 3C C2 A5 8A F0 47 20
|
|
.byte $ED, $C8, $C6, $8A, $F0, $03, $4C, $3C, $C2, $A0, $00, $B9, $8D, $02, $29, $E0 ; CPU:$C81B PRG:081B ED C8 C6 8A F0 03 4C 3C C2 A0 00 B9 8D 02 29 E0
|
|
.byte $D0, $03, $C8, $D0, $F6, $A9, $00, $99, $8D, $02, $A9, $00, $99, $93, $02, $98 ; CPU:$C82B PRG:082B D0 03 C8 D0 F6 A9 00 99 8D 02 A9 00 99 93 02 98
|
|
.byte $0A, $0A, $A8, $A9, $00, $99, $78, $02, $99, $7A, $02, $99, $1E, $00, $99, $1F ; CPU:$C83B PRG:083B 0A 0A A8 A9 00 99 78 02 99 7A 02 99 1E 00 99 1F
|
|
.byte $00, $A9, $A8, $8D, $76, $02, $A5, $89, $C9, $04, $F0, $03, $4C, $3C, $C2, $A9 ; CPU:$C84B PRG:084B 00 A9 A8 8D 76 02 A5 89 C9 04 F0 03 4C 3C C2 A9
|
|
.byte $01, $85, $47, $4C, $13, $CA, $20, $9B, $C8, $4C, $3C, $C2, $A0, $00, $84, $00 ; CPU:$C85B PRG:085B 01 85 47 4C 13 CA 20 9B C8 4C 3C C2 A0 00 84 00
|
|
.byte $B9, $78, $02, $F0, $08, $E6, $00, $C8, $C8, $C8, $C8, $D0, $F3, $A9, $F4, $99 ; CPU:$C86B PRG:086B B9 78 02 F0 08 E6 00 C8 C8 C8 C8 D0 F3 A9 F4 99
|
|
.byte $78, $02, $A9, $A8, $99, $7A, $02, $A9, $FF, $99, $1E, $00, $A9, $00, $99, $1F ; CPU:$C87B PRG:087B 78 02 A9 A8 99 7A 02 A9 FF 99 1E 00 A9 00 99 1F
|
|
.byte $00, $A4, $00, $A5, $89, $99, $93, $02, $A9, $0C, $99, $8D, $02, $E6, $89, $60 ; CPU:$C88B PRG:088B 00 A4 00 A5 89 99 93 02 A9 0C 99 8D 02 E6 89 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C589_Entry_C89B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C589_Entry_C89B:
|
|
jsr Sub_E9D8_Entry_E9D8 ;
|
|
jsr Sub_C8ED_Return_C8ED ;
|
|
jsr Sub_C9B9_Entry_C9B9 ;
|
|
jsr Sub_C8AA_JumpNext_C8AA ;
|
|
jmp Sub_DAB0_Entry_DAB0 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8AA_JumpNext_C8AA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8AA_JumpNext_C8AA:
|
|
lda Zp1A ; CPU:$C8AA PRG:08AA A5 1A
|
|
bpl Sub_C8AA_OnNonnegative_C8AF ; CPU:$C8AC PRG:08AC 10 01
|
|
rts ; CPU:$C8AE PRG:08AE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8AA_OnNonnegative_C8AF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8AA_OnNonnegative_C8AF:
|
|
lda $0274 ; CPU:$C8AF PRG:08AF AD 74 02
|
|
clc ; CPU:$C8B2 PRG:08B2 18
|
|
adc #$08 ; CPU:$C8B3 PRG:08B3 69 08
|
|
sta Zp00 ; CPU:$C8B5 PRG:08B5 85 00
|
|
ldy #$00 ; CPU:$C8B7 PRG:08B7 A0 00
|
|
sty Zp01 ; CPU:$C8B9 PRG:08B9 84 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8AA_OnNonzero_C8BB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8AA_OnNonzero_C8BB:
|
|
lda $0278,y ; CPU:$C8BB PRG:08BB B9 78 02
|
|
beq Sub_C8AA_OnZero_C8C4 ; CPU:$C8BE PRG:08BE F0 04
|
|
cmp Zp00 ; CPU:$C8C0 PRG:08C0 C5 00
|
|
bcc Sub_C8AA_OnCarryClear_C8CF ; CPU:$C8C2 PRG:08C2 90 0B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8AA_OnZero_C8C4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8AA_OnZero_C8C4:
|
|
inc Zp01 ; CPU:$C8C4 PRG:08C4 E6 01
|
|
iny ; CPU:$C8C6 PRG:08C6 C8
|
|
iny ; CPU:$C8C7 PRG:08C7 C8
|
|
iny ; CPU:$C8C8 PRG:08C8 C8
|
|
iny ; CPU:$C8C9 PRG:08C9 C8
|
|
cpy #$10 ; CPU:$C8CA PRG:08CA C0 10
|
|
bne Sub_C8AA_OnNonzero_C8BB ; CPU:$C8CC PRG:08CC D0 ED
|
|
rts ; CPU:$C8CE PRG:08CE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8AA_OnCarryClear_C8CF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8AA_OnCarryClear_C8CF:
|
|
ldy Zp89 ; CPU:$C8CF PRG:08CF A4 89
|
|
inc Zp89 ; CPU:$C8D1 PRG:08D1 E6 89
|
|
lda #$40 ; CPU:$C8D3 PRG:08D3 A9 40
|
|
sta Zp8A ; CPU:$C8D5 PRG:08D5 85 8A
|
|
lda $C9AD,y ; CPU:$C8D7 PRG:08D7 B9 AD C9
|
|
ldy Zp01 ; CPU:$C8DA PRG:08DA A4 01
|
|
sta $028D,y ; CPU:$C8DC PRG:08DC 99 8D 02
|
|
lda #$00 ; CPU:$C8DF PRG:08DF A9 00
|
|
sta $0293,y ; CPU:$C8E1 PRG:08E1 99 93 02
|
|
lda #$00 ; CPU:$C8E4 PRG:08E4 A9 00
|
|
sta $028C ; CPU:$C8E6 PRG:08E6 8D 8C 02
|
|
sta $0276 ; CPU:$C8E9 PRG:08E9 8D 76 02
|
|
rts ; CPU:$C8EC PRG:08EC 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_Return_C8ED
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_Return_C8ED:
|
|
lda Zp1E ; CPU:$C8ED PRG:08ED A5 1E
|
|
sta Zp00 ; CPU:$C8EF PRG:08EF 85 00
|
|
lda Zp1F ; CPU:$C8F1 PRG:08F1 A5 1F
|
|
sta Zp01 ; CPU:$C8F3 PRG:08F3 85 01
|
|
ldy #$00 ; CPU:$C8F5 PRG:08F5 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_OnNonzero_C8F7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_OnNonzero_C8F7:
|
|
lda a:$0022,y ; CPU:$C8F7 PRG:08F7 B9 22 00
|
|
sta a:Zp1E,y ; CPU:$C8FA PRG:08FA 99 1E 00
|
|
lda a:$0023,y ; CPU:$C8FD PRG:08FD B9 23 00
|
|
sta a:Zp1F,y ; CPU:$C900 PRG:0900 99 1F 00
|
|
iny ; CPU:$C903 PRG:0903 C8
|
|
iny ; CPU:$C904 PRG:0904 C8
|
|
iny ; CPU:$C905 PRG:0905 C8
|
|
iny ; CPU:$C906 PRG:0906 C8
|
|
cpy #$0C ; CPU:$C907 PRG:0907 C0 0C
|
|
bne Sub_C8ED_OnNonzero_C8F7 ; CPU:$C909 PRG:0909 D0 EC
|
|
lda Zp00 ; CPU:$C90B PRG:090B A5 00
|
|
sta Zp2A ; CPU:$C90D PRG:090D 85 2A
|
|
lda Zp01 ; CPU:$C90F PRG:090F A5 01
|
|
sta Zp2B ; CPU:$C911 PRG:0911 85 2B
|
|
lda $0278 ; CPU:$C913 PRG:0913 AD 78 02
|
|
sta Zp00 ; CPU:$C916 PRG:0916 85 00
|
|
lda $0279 ; CPU:$C918 PRG:0918 AD 79 02
|
|
sta Zp01 ; CPU:$C91B PRG:091B 85 01
|
|
lda $027A ; CPU:$C91D PRG:091D AD 7A 02
|
|
sta Zp02 ; CPU:$C920 PRG:0920 85 02
|
|
lda $027B ; CPU:$C922 PRG:0922 AD 7B 02
|
|
sta Zp03 ; CPU:$C925 PRG:0925 85 03
|
|
ldy #$00 ; CPU:$C927 PRG:0927 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_OnNonzero_C929
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_OnNonzero_C929:
|
|
lda $027C,y ; CPU:$C929 PRG:0929 B9 7C 02
|
|
sta $0278,y ; CPU:$C92C PRG:092C 99 78 02
|
|
iny ; CPU:$C92F PRG:092F C8
|
|
cpy #$0C ; CPU:$C930 PRG:0930 C0 0C
|
|
bne Sub_C8ED_OnNonzero_C929 ; CPU:$C932 PRG:0932 D0 F5
|
|
lda Zp00 ; CPU:$C934 PRG:0934 A5 00
|
|
sta $0284 ; CPU:$C936 PRG:0936 8D 84 02
|
|
lda Zp01 ; CPU:$C939 PRG:0939 A5 01
|
|
sta $0285 ; CPU:$C93B PRG:093B 8D 85 02
|
|
lda Zp02 ; CPU:$C93E PRG:093E A5 02
|
|
sta $0286 ; CPU:$C940 PRG:0940 8D 86 02
|
|
lda Zp03 ; CPU:$C943 PRG:0943 A5 03
|
|
sta $0287 ; CPU:$C945 PRG:0945 8D 87 02
|
|
lda $028D ; CPU:$C948 PRG:0948 AD 8D 02
|
|
sta Zp00 ; CPU:$C94B PRG:094B 85 00
|
|
ldy #$00 ; CPU:$C94D PRG:094D A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_OnNonzero_C94F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_OnNonzero_C94F:
|
|
lda $028E,y ; CPU:$C94F PRG:094F B9 8E 02
|
|
sta $028D,y ; CPU:$C952 PRG:0952 99 8D 02
|
|
iny ; CPU:$C955 PRG:0955 C8
|
|
cpy #$03 ; CPU:$C956 PRG:0956 C0 03
|
|
bne Sub_C8ED_OnNonzero_C94F ; CPU:$C958 PRG:0958 D0 F5
|
|
lda Zp00 ; CPU:$C95A PRG:095A A5 00
|
|
sta $0290 ; CPU:$C95C PRG:095C 8D 90 02
|
|
lda $0293 ; CPU:$C95F PRG:095F AD 93 02
|
|
sta Zp00 ; CPU:$C962 PRG:0962 85 00
|
|
ldy #$00 ; CPU:$C964 PRG:0964 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_OnNonzero_C966
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_OnNonzero_C966:
|
|
lda $0294,y ; CPU:$C966 PRG:0966 B9 94 02
|
|
sta $0293,y ; CPU:$C969 PRG:0969 99 93 02
|
|
iny ; CPU:$C96C PRG:096C C8
|
|
cpy #$03 ; CPU:$C96D PRG:096D C0 03
|
|
bne Sub_C8ED_OnNonzero_C966 ; CPU:$C96F PRG:096F D0 F5
|
|
lda Zp00 ; CPU:$C971 PRG:0971 A5 00
|
|
sta $0296 ; CPU:$C973 PRG:0973 8D 96 02
|
|
rts ; CPU:$C976 PRG:0976 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_Return_C977
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_Return_C977:
|
|
lda FrameCounter ; CPU:$C977 PRG:0977 A5 4B
|
|
and #$07 ; CPU:$C979 PRG:0979 29 07
|
|
beq Sub_C8ED_OnZero_C97E ; CPU:$C97B PRG:097B F0 01
|
|
rts ; CPU:$C97D PRG:097D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_OnZero_C97E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_OnZero_C97E:
|
|
ldx #$00 ; CPU:$C97E PRG:097E A2 00
|
|
ldy #$00 ; CPU:$C980 PRG:0980 A0 00
|
|
lda FrameCounter ; CPU:$C982 PRG:0982 A5 4B
|
|
and #$08 ; CPU:$C984 PRG:0984 29 08
|
|
beq Sub_C8ED_JoinBranchPaths_C98A ; CPU:$C986 PRG:0986 F0 02
|
|
ldy #$04 ; CPU:$C988 PRG:0988 A0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8ED_JoinBranchPaths_C98A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C8ED_JoinBranchPaths_C98A:
|
|
lda $C9B1,y ; CPU:$C98A PRG:098A B9 B1 C9
|
|
sta $024B,x ; CPU:$C98D PRG:098D 9D 4B 02
|
|
inx ; CPU:$C990 PRG:0990 E8
|
|
iny ; CPU:$C991 PRG:0991 C8
|
|
cpx #$04 ; CPU:$C992 PRG:0992 E0 04
|
|
bne Sub_C8ED_JoinBranchPaths_C98A ; CPU:$C994 PRG:0994 D0 F4
|
|
rts ; CPU:$C996 PRG:0996 60
|
|
; ---- data $C997-$C9B8 (34 bytes) ----
|
|
; referenced by `lda $C9AD,y` at $C8D7 (operand $C9AD falls inside this region)
|
|
; referenced by `lda $C9B1,y` at $C98A (operand $C9B1 falls inside this region)
|
|
.byte $22, $AD, $2D, $2D, $2D, $2D, $2D, $2D, $2D, $2D, $00, $22, $ED, $2D, $2D, $2D ; CPU:$C997 PRG:0997 22 AD 2D 2D 2D 2D 2D 2D 2D 2D 00 22 ED 2D 2D 2D
|
|
.byte $2D, $2D, $2D, $2D, $2D, $FF, $2D, $2F, $32, $34, $22, $C7, $20, $FF, $22, $C7 ; CPU:$C9A7 PRG:09A7 2D 2D 2D 2D 2D FF 2D 2F 32 34 22 C7 20 FF 22 C7
|
|
.byte $01, $FF ; CPU:$C9B7 PRG:09B7 01 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_Entry_C9B9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_Entry_C9B9:
|
|
ldx #$00 ; CPU:$C9B9 PRG:09B9 A2 00
|
|
lda Zp1A ; CPU:$C9BB PRG:09BB A5 1A
|
|
bmi Sub_C9B9_OnNegative_C9C1 ; CPU:$C9BD PRG:09BD 30 02
|
|
ldx #$0A ; CPU:$C9BF PRG:09BF A2 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnNegative_C9C1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnNegative_C9C1:
|
|
stx Zp00 ; CPU:$C9C1 PRG:09C1 86 00
|
|
inc AnimTimer ; CPU:$C9C3 PRG:09C3 E6 B7
|
|
lda AnimTimer ; CPU:$C9C5 PRG:09C5 A5 B7
|
|
and #$07 ; CPU:$C9C7 PRG:09C7 29 07
|
|
clc ; CPU:$C9C9 PRG:09C9 18
|
|
adc Zp00 ; CPU:$C9CA PRG:09CA 65 00
|
|
tay ; CPU:$C9CC PRG:09CC A8
|
|
lda $C9FF,y ; CPU:$C9CD PRG:09CD B9 FF C9
|
|
sta $028C ; CPU:$C9D0 PRG:09D0 8D 8C 02
|
|
lda FrameCounter ; CPU:$C9D3 PRG:09D3 A5 4B
|
|
and #$07 ; CPU:$C9D5 PRG:09D5 29 07
|
|
beq Sub_C9B9_OnZero_C9DA ; CPU:$C9D7 PRG:09D7 F0 01
|
|
rts ; CPU:$C9D9 PRG:09D9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnZero_C9DA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnZero_C9DA:
|
|
lda FrameCounter ; CPU:$C9DA PRG:09DA A5 4B
|
|
and #$08 ; CPU:$C9DC PRG:09DC 29 08
|
|
beq Sub_C9B9_OnZero_C9E2 ; CPU:$C9DE PRG:09DE F0 02
|
|
lda #$01 ; CPU:$C9E0 PRG:09E0 A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnZero_C9E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnZero_C9E2:
|
|
clc ; CPU:$C9E2 PRG:09E2 18
|
|
adc Zp00 ; CPU:$C9E3 PRG:09E3 65 00
|
|
adc #$08 ; CPU:$C9E5 PRG:09E5 69 08
|
|
tay ; CPU:$C9E7 PRG:09E7 A8
|
|
lda $C9FF,y ; CPU:$C9E8 PRG:09E8 B9 FF C9
|
|
sta Zp00 ; CPU:$C9EB PRG:09EB 85 00
|
|
ldy #$00 ; CPU:$C9ED PRG:09ED A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnNonzero_C9EF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnNonzero_C9EF:
|
|
lda $028D,y ; CPU:$C9EF PRG:09EF B9 8D 02
|
|
beq Sub_C9B9_OnZero_C9F9 ; CPU:$C9F2 PRG:09F2 F0 05
|
|
lda Zp00 ; CPU:$C9F4 PRG:09F4 A5 00
|
|
sta $028D,y ; CPU:$C9F6 PRG:09F6 99 8D 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnZero_C9F9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnZero_C9F9:
|
|
iny ; CPU:$C9F9 PRG:09F9 C8
|
|
cpy #$04 ; CPU:$C9FA PRG:09FA C0 04
|
|
bne Sub_C9B9_OnNonzero_C9EF ; CPU:$C9FC PRG:09FC D0 F1
|
|
rts ; CPU:$C9FE PRG:09FE 60
|
|
; ---- data $C9FF-$D248 (2122 bytes) ----
|
|
; referenced by `lda $C9FF,y` at $C9CD (operand $C9FF falls inside this region)
|
|
; referenced by `lda $C9FF,y` at $C9E8 (operand $C9FF falls inside this region)
|
|
.byte $04, $04, $04, $05, $05, $04, $01, $01, $0C, $0D, $08, $08, $08, $09, $09, $08 ; CPU:$C9FF PRG:09FF 04 04 04 05 05 04 01 01 0C 0D 08 08 08 09 09 08
|
|
.byte $01, $01, $1E, $1F, $A9, $08, $8D, $00, $20, $85, $43, $AD, $02, $20, $10, $FB ; CPU:$CA0F PRG:0A0F 01 01 1E 1F A9 08 8D 00 20 85 43 AD 02 20 10 FB
|
|
.byte $A9, $00, $8D, $01, $20, $85, $3F, $85, $46, $85, $69, $85, $4A, $20, $44, $E3 ; CPU:$CA1F PRG:0A1F A9 00 8D 01 20 85 3F 85 46 85 69 85 4A 20 44 E3
|
|
.byte $20, $C1, $E4, $20, $BE, $E3, $A5, $48, $F0, $06, $A9, $01, $85, $67, $D0, $17 ; CPU:$CA2F PRG:0A2F 20 C1 E4 20 BE E3 A5 48 F0 06 A9 01 85 67 D0 17
|
|
.byte $A9, $00, $A8, $99, $67, $00, $C8, $C0, $20, $D0, $F8, $A9, $03, $85, $67, $85 ; CPU:$CA3F PRG:0A3F A9 00 A8 99 67 00 C8 C0 20 D0 F8 A9 03 85 67 85
|
|
.byte $77, $8D, $00, $06, $8D, $01, $06, $A9, $FF, $85, $68, $85, $78, $8D, $45, $02 ; CPU:$CA4F PRG:0A4F 77 8D 00 06 8D 01 06 A9 FF 85 68 85 78 8D 45 02
|
|
.byte $A9, $88, $85, $43, $8D, $00, $20, $A9, $01, $85, $40, $A5, $40, $D0, $FC, $A5 ; CPU:$CA5F PRG:0A5F A9 88 85 43 8D 00 20 A9 01 85 40 A5 40 D0 FC A5
|
|
.byte $48, $F0, $0D, $A5, $4D, $29, $0C, $F0, $07, $A9, $02, $85, $3F, $4C, $D3, $C1 ; CPU:$CA6F PRG:0A6F 48 F0 0D A5 4D 29 0C F0 07 A9 02 85 3F 4C D3 C1
|
|
.byte $A5, $4C, $F0, $04, $C6, $4C, $D0, $DF, $A4, $3F, $B9, $96, $CA, $85, $10, $B9 ; CPU:$CA7F PRG:0A7F A5 4C F0 04 C6 4C D0 DF A4 3F B9 96 CA 85 10 B9
|
|
.byte $97, $CA, $85, $11, $6C, $10, $00, $B2, $CE, $26, $CB, $A8, $CA, $98, $CC, $C5 ; CPU:$CA8F PRG:0A8F 97 CA 85 11 6C 10 00 B2 CE 26 CB A8 CA 98 CC C5
|
|
.byte $CC, $DE, $CD, $6F, $CD, $95, $E6, $7E, $E7, $AD, $0F, $06, $F0, $03, $4C, $66 ; CPU:$CA9F PRG:0A9F CC DE CD 6F CD 95 E6 7E E7 AD 0F 06 F0 03 4C 66
|
|
.byte $CA, $A5, $4D, $29, $08, $C5, $49, $F0, $38, $85, $49, $A5, $49, $F0, $32, $E6 ; CPU:$CAAF PRG:0AAF CA A5 4D 29 08 C5 49 F0 38 85 49 A5 49 F0 32 E6
|
|
.byte $4A, $A2, $22, $A5, $47, $25, $46, $F0, $02, $A2, $2A, $8E, $4B, $02, $A9, $37 ; CPU:$CABF PRG:0ABF 4A A2 22 A5 47 25 46 F0 02 A2 2A 8E 4B 02 A9 37
|
|
.byte $8D, $4C, $02, $A2, $06, $A0, $00, $A5, $4A, $29, $01, $F0, $05, $A2, $00, $8D ; CPU:$CACF PRG:0ACF 8D 4C 02 A2 06 A0 00 A5 4A 29 01 F0 05 A2 00 8D
|
|
.byte $0F, $06, $BD, $1A, $CB, $99, $4D, $02, $E8, $C8, $C0, $06, $D0, $F4, $4C, $66 ; CPU:$CADF PRG:0ADF 0F 06 BD 1A CB 99 4D 02 E8 C8 C0 06 D0 F4 4C 66
|
|
.byte $CA, $A5, $4A, $29, $01, $F0, $03, $4C, $66, $CA, $20, $5F, $D1, $20, $3B, $DF ; CPU:$CAEF PRG:0AEF CA A5 4A 29 01 F0 03 4C 66 CA 20 5F D1 20 3B DF
|
|
.byte $20, $4F, $D3, $20, $4D, $D9, $20, $16, $D5, $20, $8B, $D9, $20, $1D, $D9, $20 ; CPU:$CAFF PRG:0AFF 20 4F D3 20 4D D9 20 16 D5 20 8B D9 20 1D D9 20
|
|
.byte $1D, $DE, $20, $63, $D2, $20, $FF, $D9, $4C, $66, $CA, $50, $41, $55, $53, $45 ; CPU:$CB0F PRG:0B0F 1D DE 20 63 D2 20 FF D9 4C 66 CA 50 41 55 53 45
|
|
.byte $FF, $2D, $2D, $2D, $2D, $2D, $FF, $A5, $87, $F0, $03, $4C, $A3, $CB, $A9, $60 ; CPU:$CB1F PRG:0B1F FF 2D 2D 2D 2D 2D FF A5 87 F0 03 4C A3 CB A9 60
|
|
.byte $85, $00, $A9, $07, $85, $01, $A5, $48, $D0, $6A, $A9, $02, $85, $04, $A0, $00 ; CPU:$CB2F PRG:0B2F 85 00 A9 07 85 01 A5 48 D0 6A A9 02 85 04 A0 00
|
|
.byte $84, $05, $84, $06, $84, $07, $A6, $06, $BD, $7F, $CC, $85, $02, $BD, $80, $CC ; CPU:$CB3F PRG:0B3F 84 05 84 06 84 07 A6 06 BD 7F CC 85 02 BD 80 CC
|
|
.byte $85, $03, $A6, $07, $BD, $85, $CC, $85, $08, $A5, $03, $91, $00, $A6, $05, $BD ; CPU:$CB4F PRG:0B4F 85 03 A6 07 BD 85 CC 85 08 A5 03 91 00 A6 05 BD
|
|
.byte $5B, $CC, $C8, $91, $00, $BD, $6D, $CC, $C8, $91, $00, $A5, $02, $C8, $91, $00 ; CPU:$CB5F PRG:0B5F 5B CC C8 91 00 BD 6D CC C8 91 00 A5 02 C8 91 00
|
|
.byte $A5, $02, $18, $69, $08, $85, $02, $C8, $E6, $05, $C6, $08, $D0, $DB, $E6, $06 ; CPU:$CB6F PRG:0B6F A5 02 18 69 08 85 02 C8 E6 05 C6 08 D0 DB E6 06
|
|
.byte $E6, $06, $E6, $07, $A5, $69, $D0, $04, $A5, $68, $D0, $18, $C6, $04, $F0, $04 ; CPU:$CB7F PRG:0B7F E6 06 E6 07 A5 69 D0 04 A5 68 D0 18 C6 04 F0 04
|
|
.byte $10, $B4, $30, $10, $A5, $47, $F0, $0C, $A5, $46, $F0, $AA, $E6, $05, $E6, $05 ; CPU:$CB8F PRG:0B8F 10 B4 30 10 A5 47 F0 0C A5 46 F0 AA E6 05 E6 05
|
|
.byte $E6, $05, $D0, $A2, $A5, $87, $C9, $C0, $D0, $03, $4C, $3B, $CC, $E6, $87, $A5 ; CPU:$CB9F PRG:0B9F E6 05 D0 A2 A5 87 C9 C0 D0 03 4C 3B CC E6 87 A5
|
|
.byte $87, $C9, $78, $F0, $03, $4C, $58, $CC, $A9, $A8, $85, $1C, $A9, $60, $85, $1A ; CPU:$CBAF PRG:0BAF 87 C9 78 F0 03 4C 58 CC A9 A8 85 1C A9 60 85 1A
|
|
.byte $85, $1E, $85, $22, $A9, $58, $85, $26, $85, $20, $A9, $68, $85, $2A, $A9, $70 ; CPU:$CBBF PRG:0BBF 85 1E 85 22 A9 58 85 26 85 20 A9 68 85 2A A9 70
|
|
.byte $85, $24, $85, $28, $85, $2C, $A9, $00, $A8, $99, $78, $07, $C8, $C0, $24, $D0 ; CPU:$CBCF PRG:0BCF 85 24 85 28 85 2C A9 00 A8 99 78 07 C8 C0 24 D0
|
|
.byte $F8, $A5, $47, $25, $46, $F0, $02, $A9, $08, $85, $00, $A5, $67, $38, $E9, $01 ; CPU:$CBDF PRG:0BDF F8 A5 47 25 46 F0 02 A9 08 85 00 A5 67 38 E9 01
|
|
.byte $0A, $A8, $B9, $90, $CC, $18, $65, $00, $85, $00, $B9, $91, $CC, $85, $01, $A5 ; CPU:$CBEF PRG:0BEF 0A A8 B9 90 CC 18 65 00 85 00 B9 91 CC 85 01 A5
|
|
.byte $00, $8D, $4B, $02, $A5, $01, $8D, $4C, $02, $A9, $2D, $8D, $4D, $02, $8D, $4E ; CPU:$CBFF PRG:0BFF 00 8D 4B 02 A5 01 8D 4C 02 A9 2D 8D 4D 02 8D 4E
|
|
.byte $02, $A9, $00, $8D, $4F, $02, $A5, $00, $8D, $50, $02, $A5, $01, $18, $69, $20 ; CPU:$CC0F PRG:0C0F 02 A9 00 8D 4F 02 A5 00 8D 50 02 A5 01 18 69 20
|
|
.byte $8D, $51, $02, $A9, $2D, $8D, $52, $02, $8D, $53, $02, $A9, $FF, $8D, $54, $02 ; CPU:$CC1F PRG:0C1F 8D 51 02 A9 2D 8D 52 02 8D 53 02 A9 FF 8D 54 02
|
|
.byte $20, $4D, $D9, $20, $8B, $D9, $20, $FF, $D9, $4C, $58, $CC, $AD, $00, $06, $0D ; CPU:$CC2F PRG:0C2F 20 4D D9 20 8B D9 20 FF D9 4C 58 CC AD 00 06 0D
|
|
.byte $01, $06, $D0, $15, $A5, $48, $D0, $0D, $A9, $00, $85, $69, $A8, $99, $60, $07 ; CPU:$CC3F PRG:0C3F 01 06 D0 15 A5 48 D0 0D A9 00 85 69 A8 99 60 07
|
|
.byte $C8, $C0, $A0, $D0, $F8, $A9, $04, $85, $3F, $4C, $66, $CA, $C6, $C3, $C1, $BA ; CPU:$CC4F PRG:0C4F C8 C0 A0 D0 F8 A9 04 85 3F 4C 66 CA C6 C3 C1 BA
|
|
.byte $C7, $BB, $B0, $B1, $B2, $B3, $B4, $B5, $B6, $B7, $B4, $B8, $B9, $B6, $00, $00 ; CPU:$CC5F PRG:0C5F C7 BB B0 B1 B2 B3 B4 B5 B6 B7 B4 B8 B9 B6 00 00
|
|
.byte $00, $00, $00, $00, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; CPU:$CC6F PRG:0C6F 00 00 00 00 02 02 02 02 02 02 02 02 02 02 02 02
|
|
.byte $44, $88, $44, $60, $50, $70, $06, $06, $03, $C0, $C1, $C2, $C3, $C4, $C5, $C3 ; CPU:$CC7F PRG:0C7F 44 88 44 60 50 70 06 06 03 C0 C1 C2 C3 C4 C5 C3
|
|
.byte $C6, $23, $17, $23, $19, $23, $1B, $23, $57, $E6, $DA, $A9, $28, $C5, $DA, $D0 ; CPU:$CC8F PRG:0C8F C6 23 17 23 19 23 1B 23 57 E6 DA A9 28 C5 DA D0
|
|
.byte $16, $A9, $02, $85, $DA, $A9, $04, $85, $3F, $A9, $08, $A2, $FE, $E8, $E8, $D5 ; CPU:$CC9F PRG:0C9F 16 A9 02 85 DA A9 04 85 3F A9 08 A2 FE E8 E8 D5
|
|
.byte $B8, $D0, $FA, $A9, $06, $95, $B8, $20, $1D, $DE, $20, $D3, $D8, $20, $8B, $D9 ; CPU:$CCAF PRG:0CAF B8 D0 FA A9 06 95 B8 20 1D DE 20 D3 D8 20 8B D9
|
|
.byte $20, $FF, $D9, $4C, $66, $CA, $A5, $87, $D0, $23, $C6, $DB, $D0, $13, $E6, $87 ; CPU:$CCBF PRG:0CBF 20 FF D9 4C 66 CA A5 87 D0 23 C6 DB D0 13 E6 87
|
|
.byte $A9, $0A, $85, $DB, $8D, $03, $06, $A9, $00, $AA, $95, $1E, $E8, $E0, $14, $D0 ; CPU:$CCCF PRG:0CCF A9 0A 85 DB 8D 03 06 A9 00 AA 95 1E E8 E0 14 D0
|
|
.byte $F9, $20, $1D, $DE, $20, $8B, $D9, $20, $FF, $D9, $4C, $66, $CA, $C6, $DB, $10 ; CPU:$CCDF PRG:0CDF F9 20 1D DE 20 8B D9 20 FF D9 4C 66 CA C6 DB 10
|
|
.byte $0F, $A9, $0A, $85, $DB, $A5, $32, $18, $69, $01, $85, $32, $C9, $1E, $F0, $09 ; CPU:$CCEF PRG:0CEF 0F A9 0A 85 DB A5 32 18 69 01 85 32 C9 1E F0 09
|
|
.byte $20, $1D, $DE, $20, $FF, $D9, $4C, $66, $CA, $A5, $48, $D0, $3C, $C6, $67, $D0 ; CPU:$CCFF PRG:0CFF 20 1D DE 20 FF D9 4C 66 CA A5 48 D0 3C C6 67 D0
|
|
.byte $0D, $A9, $00, $85, $87, $85, $69, $A9, $0A, $85, $3F, $4C, $66, $CA, $A9, $00 ; CPU:$CD0F PRG:0D0F 0D A9 00 85 87 85 69 A9 0A 85 3F 4C 66 CA A9 00
|
|
.byte $85, $3F, $A9, $01, $85, $69, $A5, $47, $F0, $04, $A5, $77, $D0, $26, $A5, $67 ; CPU:$CD1F PRG:0D1F 85 3F A9 01 85 69 A5 47 F0 04 A5 77 D0 26 A5 67
|
|
.byte $D0, $3B, $85, $69, $A5, $46, $F0, $11, $A2, $0F, $B5, $67, $85, $00, $B5, $77 ; CPU:$CD2F PRG:0D2F D0 3B 85 69 A5 46 F0 11 A2 0F B5 67 85 00 B5 77
|
|
.byte $95, $67, $A5, $00, $95, $77, $CA, $10, $F1, $A9, $00, $85, $46, $A9, $00, $85 ; CPU:$CD3F PRG:0D3F 95 67 A5 00 95 77 CA 10 F1 A9 00 85 46 A9 00 85
|
|
.byte $3F, $4C, $D3, $C1, $A2, $0F, $B5, $67, $85, $00, $B5, $77, $95, $67, $A5, $00 ; CPU:$CD4F PRG:0D4F 3F 4C D3 C1 A2 0F B5 67 85 00 B5 77 95 67 A5 00
|
|
.byte $95, $77, $CA, $10, $F1, $E6, $46, $A5, $46, $29, $01, $85, $46, $4C, $66, $CA ; CPU:$CD5F PRG:0D5F 95 77 CA 10 F1 E6 46 A5 46 29 01 85 46 4C 66 CA
|
|
.byte $A5, $87, $D0, $11, $A2, $00, $95, $1E, $E8, $E0, $14, $D0, $F9, $E6, $87, $A9 ; CPU:$CD6F PRG:0D6F A5 87 D0 11 A2 00 95 1E E8 E0 14 D0 F9 E6 87 A9
|
|
.byte $01, $85, $32, $D0, $51, $A5, $4B, $29, $07, $D0, $4B, $A2, $11, $A5, $87, $29 ; CPU:$CD7F PRG:0D7F 01 85 32 D0 51 A5 4B 29 07 D0 4B A2 11 A5 87 29
|
|
.byte $01, $D0, $02, $A2, $20, $8E, $9E, $02, $A9, $0F, $8D, $99, $02, $E6, $87, $A9 ; CPU:$CD8F PRG:0D8F 01 D0 02 A2 20 8E 9E 02 A9 0F 8D 99 02 E6 87 A9
|
|
.byte $10, $C5, $87, $D0, $31, $A9, $00, $85, $1A, $85, $1C, $85, $87, $A5, $68, $C9 ; CPU:$CD9F PRG:0D9F 10 C5 87 D0 31 A9 00 85 1A 85 1C 85 87 A5 68 C9
|
|
.byte $01, $F0, $18, $E6, $87, $E6, $87, $C9, $04, $F0, $10, $E6, $87, $E6, $87, $C9 ; CPU:$CDAF PRG:0DAF 01 F0 18 E6 87 E6 87 C9 04 F0 10 E6 87 E6 87 C9
|
|
.byte $08, $F0, $08, $C9, $0C, $F0, $04, $C9, $10, $D0, $07, $A9, $0E, $85, $3F, $4C ; CPU:$CDBF PRG:0DBF 08 F0 08 C9 0C F0 04 C9 10 D0 07 A9 0E 85 3F 4C
|
|
.byte $D5, $CD, $A9, $00, $85, $3F, $20, $1D, $DE, $20, $FF, $D9, $4C, $66, $CA, $A5 ; CPU:$CDCF PRG:0DCF D5 CD A9 00 85 3F 20 1D DE 20 FF D9 4C 66 CA A5
|
|
.byte $87, $F0, $03, $4C, $69, $CE, $A0, $00, $A9, $FF, $99, $00, $07, $C8, $C0, $60 ; CPU:$CDDF PRG:0DDF 87 F0 03 4C 69 CE A0 00 A9 FF 99 00 07 C8 C0 60
|
|
.byte $D0, $F8, $A9, $60, $85, $00, $A9, $07, $85, $01, $A9, $03, $85, $04, $A0, $00 ; CPU:$CDEF PRG:0DEF D0 F8 A9 60 85 00 A9 07 85 01 A9 03 85 04 A0 00
|
|
.byte $84, $05, $84, $06, $84, $07, $A6, $06, $BD, $A6, $CE, $85, $02, $BD, $A7, $CE ; CPU:$CDFF PRG:0DFF 84 05 84 06 84 07 A6 06 BD A6 CE 85 02 BD A7 CE
|
|
.byte $85, $03, $A6, $07, $BD, $AE, $CE, $85, $08, $A5, $03, $91, $00, $A6, $05, $BD ; CPU:$CE0F PRG:0E0F 85 03 A6 07 BD AE CE 85 08 A5 03 91 00 A6 05 BD
|
|
.byte $7E, $CE, $C8, $91, $00, $BD, $92, $CE, $C8, $91, $00, $A5, $02, $C8, $91, $00 ; CPU:$CE1F PRG:0E1F 7E CE C8 91 00 BD 92 CE C8 91 00 A5 02 C8 91 00
|
|
.byte $A5, $02, $18, $69, $08, $85, $02, $C8, $E6, $05, $C6, $08, $D0, $DB, $E6, $06 ; CPU:$CE2F PRG:0E2F A5 02 18 69 08 85 02 C8 E6 05 C6 08 D0 DB E6 06
|
|
.byte $E6, $06, $E6, $07, $A5, $47, $F0, $0A, $A5, $77, $D0, $06, $A5, $04, $C9, $02 ; CPU:$CE3F PRG:0E3F E6 06 E6 07 A5 47 F0 0A A5 77 D0 06 A5 04 C9 02
|
|
.byte $F0, $18, $C6, $04, $F0, $04, $10, $AE, $30, $10, $A5, $47, $F0, $0C, $A5, $46 ; CPU:$CE4F PRG:0E4F F0 18 C6 04 F0 04 10 AE 30 10 A5 47 F0 0C A5 46
|
|
.byte $F0, $A4, $E6, $05, $E6, $05, $E6, $05, $D0, $9C, $E6, $87, $D0, $0E, $A9, $00 ; CPU:$CE5F PRG:0E5F F0 A4 E6 05 E6 05 E6 05 D0 9C E6 87 D0 0E A9 00
|
|
.byte $A8, $99, $60, $07, $C8, $C0, $A0, $D0, $F8, $4C, $1D, $CD, $4C, $66, $CA, $BC ; CPU:$CE6F PRG:0E6F A8 99 60 07 C8 C0 A0 D0 F8 4C 1D CD 4C 66 CA BC
|
|
.byte $B2, $BD, $B4, $B6, $BE, $B4, $B5, $B0, $B1, $B2, $B3, $B4, $B5, $B6, $B7, $B4 ; CPU:$CE7F PRG:0E7F B2 BD B4 B6 BE B4 B5 B0 B1 B2 B3 B4 B5 B6 B7 B4
|
|
.byte $B8, $B9, $B6, $00, $00, $00, $00, $00, $00, $00, $00, $02, $02, $02, $02, $02 ; CPU:$CE8F PRG:0E8F B8 B9 B6 00 00 00 00 00 00 00 00 02 02 02 02 02
|
|
.byte $02, $02, $02, $02, $02, $02, $02, $38, $88, $60, $88, $44, $60, $50, $70, $04 ; CPU:$CE9F PRG:0E9F 02 02 02 02 02 02 02 38 88 60 88 44 60 50 70 04
|
|
.byte $04, $06, $03, $A9, $01, $85, $40, $A5, $40, $D0, $FC, $A9, $08, $8D, $00, $20 ; CPU:$CEAF PRG:0EAF 04 06 03 A9 01 85 40 A5 40 D0 FC A9 08 8D 00 20
|
|
.byte $85, $43, $A9, $00, $8D, $01, $20, $A2, $00, $95, $87, $E8, $E0, $69, $D0, $F9 ; CPU:$CEBF PRG:0EBF 85 43 A9 00 8D 01 20 A2 00 95 87 E8 E0 69 D0 F9
|
|
.byte $AA, $9D, $00, $07, $E8, $D0, $FA, $A0, $00, $B9, $D0, $D0, $99, $99, $02, $C8 ; CPU:$CECF PRG:0ECF AA 9D 00 07 E8 D0 FA A0 00 B9 D0 D0 99 99 02 C8
|
|
.byte $C0, $20, $D0, $F5, $A9, $02, $85, $3F, $A5, $69, $D0, $1E, $85, $8B, $A9, $01 ; CPU:$CEDF PRG:0EDF C0 20 D0 F5 A9 02 85 3F A5 69 D0 1E 85 8B A9 01
|
|
.byte $85, $6C, $85, $6D, $85, $6E, $85, $6F, $A9, $C0, $85, $6A, $A5, $68, $C9, $16 ; CPU:$CEEF PRG:0EEF 85 6C 85 6D 85 6E 85 6F A9 C0 85 6A A5 68 C9 16
|
|
.byte $F0, $02, $E6, $68, $20, $F0, $D0, $20, $A1, $E2, $20, $BE, $E3, $20, $6A, $D0 ; CPU:$CEFF PRG:0EFF F0 02 E6 68 20 F0 D0 20 A1 E2 20 BE E3 20 6A D0
|
|
.byte $20, $12, $E5, $20, $80, $E5, $20, $C1, $E4, $A6, $68, $A9, $00, $18, $CA, $30 ; CPU:$CF0F PRG:0F0F 20 12 E5 20 80 E5 20 C1 E4 A6 68 A9 00 18 CA 30
|
|
.byte $04, $69, $06, $D0, $F9, $85, $00, $AA, $BD, $75, $EB, $AA, $A9, $00, $18, $CA ; CPU:$CF1F PRG:0F1F 04 69 06 D0 F9 85 00 AA BD 75 EB AA A9 00 18 CA
|
|
.byte $30, $04, $69, $16, $D0, $F9, $A8, $A2, $00, $B9, $FF, $EB, $95, $9F, $E8, $C8 ; CPU:$CF2F PRG:0F2F 30 04 69 16 D0 F9 A8 A2 00 B9 FF EB 95 9F E8 C8
|
|
.byte $E0, $16, $D0, $F5, $A6, $00, $BD, $75, $EB, $0A, $0A, $0A, $AA, $A0, $00, $84 ; CPU:$CF3F PRG:0F3F E0 16 D0 F5 A6 00 BD 75 EB 0A 0A 0A AA A0 00 84
|
|
.byte $D0, $BD, $6D, $EC, $85, $CF, $BD, $6D, $EC, $99, $97, $00, $E8, $C8, $C0, $08 ; CPU:$CF4F PRG:0F4F D0 BD 6D EC 85 CF BD 6D EC 99 97 00 E8 C8 C0 08
|
|
.byte $D0, $F4, $E6, $00, $A6, $00, $BD, $75, $EB, $85, $8C, $E6, $00, $A6, $00, $BD ; CPU:$CF5F PRG:0F5F D0 F4 E6 00 A6 00 BD 75 EB 85 8C E6 00 A6 00 BD
|
|
.byte $75, $EB, $0A, $AA, $BD, $8D, $EC, $85, $8D, $E8, $BD, $8D, $EC, $85, $8E, $E6 ; CPU:$CF6F PRG:0F6F 75 EB 0A AA BD 8D EC 85 8D E8 BD 8D EC 85 8E E6
|
|
.byte $00, $A5, $69, $F0, $24, $A2, $0C, $A0, $00, $BD, $9B, $EC, $99, $8F, $00, $C8 ; CPU:$CF7F PRG:0F7F 00 A5 69 F0 24 A2 0C A0 00 BD 9B EC 99 8F 00 C8
|
|
.byte $E8, $A9, $C0, $38, $E5, $6A, $85, $01, $A5, $01, $18, $7D, $9B, $EC, $99, $8F ; CPU:$CF8F PRG:0F8F E8 A9 C0 38 E5 6A 85 01 A5 01 18 7D 9B EC 99 8F
|
|
.byte $00, $C8, $E8, $C0, $04, $D0, $F1, $F0, $16, $A6, $00, $BD, $75, $EB, $0A, $0A ; CPU:$CF9F PRG:0F9F 00 C8 E8 C0 04 D0 F1 F0 16 A6 00 BD 75 EB 0A 0A
|
|
.byte $AA, $A0, $00, $BD, $9B, $EC, $99, $8F, $00, $E8, $C8, $C0, $04, $D0, $F4, $A9 ; CPU:$CFAF PRG:0FAF AA A0 00 BD 9B EC 99 8F 00 E8 C8 C0 04 D0 F4 A9
|
|
.byte $04, $85, $B8, $A9, $01, $85, $B9, $A5, $8F, $85, $01, $A2, $00, $C6, $01, $F0 ; CPU:$CFBF PRG:0FBF 04 85 B8 A9 01 85 B9 A5 8F 85 01 A2 00 C6 01 F0
|
|
.byte $0C, $A9, $02, $95, $BA, $A9, $00, $95, $BB, $E8, $E8, $D0, $F0, $A9, $00, $E0 ; CPU:$CFCF PRG:0FCF 0C A9 02 95 BA A9 00 95 BB E8 E8 D0 F0 A9 00 E0
|
|
.byte $06, $F0, $08, $95, $BA, $95, $BB, $E8, $E8, $D0, $F4, $A5, $90, $85, $D3, $E6 ; CPU:$CFDF PRG:0FDF 06 F0 08 95 BA 95 BB E8 E8 D0 F4 A5 90 85 D3 E6
|
|
.byte $00, $A6, $00, $BD, $75, $EB, $85, $93, $E6, $00, $A6, $00, $BD, $75, $EB, $85 ; CPU:$CFEF PRG:0FEF 00 A6 00 BD 75 EB 85 93 E6 00 A6 00 BD 75 EB 85
|
|
.byte $96, $A5, $A5, $85, $B5, $A5, $A6, $85, $B6, $A5, $AF, $85, $C4, $85, $C6, $85 ; CPU:$CFFF PRG:0FFF 96 A5 A5 85 B5 A5 A6 85 B6 A5 AF 85 C4 85 C6 85
|
|
.byte $C8, $85, $CA, $A5, $B0, $85, $C5, $85, $C7, $85, $C9, $85, $CB, $A9, $01, $85 ; CPU:$D00F PRG:100F C8 85 CA A5 B0 85 C5 85 C7 85 C9 85 CB A9 01 85
|
|
.byte $50, $85, $51, $A0, $00, $A2, $00, $A5, $46, $25, $47, $F0, $02, $A0, $09, $B9 ; CPU:$D01F PRG:101F 50 85 51 A0 00 A2 00 A5 46 25 47 F0 02 A0 09 B9
|
|
.byte $BE, $D0, $9D, $6B, $02, $C8, $E8, $E0, $09, $D0, $F4, $A0, $00, $B9, $B2, $D0 ; CPU:$D02F PRG:102F BE D0 9D 6B 02 C8 E8 E0 09 D0 F4 A0 00 B9 B2 D0
|
|
.byte $99, $32, $00, $C8, $C0, $0C, $D0, $F5, $A0, $00, $B9, $6C, $00, $C9, $02, $D0 ; CPU:$D03F PRG:103F 99 32 00 C8 C0 0C D0 F5 A0 00 B9 6C 00 C9 02 D0
|
|
.byte $05, $A9, $01, $99, $6C, $00, $C8, $C0, $04, $D0, $EF, $84, $C0, $A9, $FF, $85 ; CPU:$D04F PRG:104F 05 A9 01 99 6C 00 C8 C0 04 D0 EF 84 C0 A9 FF 85
|
|
.byte $89, $A9, $88, $8D, $00, $20, $85, $43, $4C, $66, $CA, $A0, $22, $A5, $46, $25 ; CPU:$D05F PRG:105F 89 A9 88 8D 00 20 85 43 4C 66 CA A0 22 A5 46 25
|
|
.byte $47, $F0, $02, $A0, $2A, $84, $00, $A9, $56, $85, $01, $A9, $0A, $85, $02, $AD ; CPU:$D06F PRG:106F 47 F0 02 A0 2A 84 00 A9 56 85 01 A9 0A 85 02 AD
|
|
.byte $02, $20, $A5, $00, $8D, $06, $20, $A5, $01, $8D, $06, $20, $A9, $06, $85, $03 ; CPU:$D07F PRG:107F 02 20 A5 00 8D 06 20 A5 01 8D 06 20 A9 06 85 03
|
|
.byte $A9, $20, $8D, $07, $20, $C6, $03, $D0, $F9, $A9, $2D, $8D, $07, $20, $8D, $07 ; CPU:$D08F PRG:108F A9 20 8D 07 20 C6 03 D0 F9 A9 2D 8D 07 20 8D 07
|
|
.byte $20, $A5, $01, $18, $69, $20, $85, $01, $A5, $00, $69, $00, $85, $00, $C6, $02 ; CPU:$D09F PRG:109F 20 A5 01 18 69 20 85 01 A5 00 69 00 85 00 C6 02
|
|
.byte $D0, $CD, $60, $04, $0C, $0A, $0A, $0A, $00, $00, $00, $01, $02, $03, $00, $21 ; CPU:$D0AF PRG:10AF D0 CD 60 04 0C 0A 0A 0A 00 00 00 01 02 03 00 21
|
|
.byte $36, $20, $F7, $B0, $B3, $B2, $20, $B6, $29, $B6, $29, $77, $B1, $B3, $B2, $28 ; CPU:$D0BF PRG:10BF 36 20 F7 B0 B3 B2 20 B6 29 B6 29 77 B1 B3 B2 28
|
|
.byte $B6, $0F, $20, $0F, $06, $0F, $11, $0F, $27, $0F, $16, $26, $06, $0F, $19, $17 ; CPU:$D0CF PRG:10CF B6 0F 20 0F 06 0F 11 0F 27 0F 16 26 06 0F 19 17
|
|
.byte $12, $0F, $27, $20, $06, $0F, $11, $20, $33, $0F, $21, $20, $21, $0F, $09, $20 ; CPU:$D0DF PRG:10DF 12 0F 27 20 06 0F 11 20 33 0F 21 20 21 0F 09 20
|
|
.byte $17, $AD, $02, $20, $A9, $23, $8D, $06, $20, $A9, $C0, $8D, $06, $20, $A2, $01 ; CPU:$D0EF PRG:10EF 17 AD 02 20 A9 23 8D 06 20 A9 C0 8D 06 20 A2 01
|
|
.byte $A0, $00, $B9, $1F, $D1, $8D, $07, $20, $C8, $C0, $40, $D0, $F5, $CA, $F0, $01 ; CPU:$D0FF PRG:10FF A0 00 B9 1F D1 8D 07 20 C8 C0 40 D0 F5 CA F0 01
|
|
.byte $60, $AD, $02, $20, $A9, $2B, $8D, $06, $20, $A9, $C0, $8D, $06, $20, $D0, $E0 ; CPU:$D10F PRG:110F 60 AD 02 20 A9 2B 8D 06 20 A9 C0 8D 06 20 D0 E0
|
|
.byte $55, $55, $55, $55, $55, $11, $00, $00, $55, $55, $55, $55, $55, $11, $00, $00 ; CPU:$D11F PRG:111F 55 55 55 55 55 11 00 00 55 55 55 55 55 11 00 00
|
|
.byte $55, $55, $55, $55, $55, $11, $00, $00, $55, $55, $55, $55, $55, $51, $50, $50 ; CPU:$D12F PRG:112F 55 55 55 55 55 11 00 00 55 55 55 55 55 51 50 50
|
|
.byte $55, $55, $55, $55, $55, $11, $05, $05, $55, $55, $55, $55, $55, $11, $00, $00 ; CPU:$D13F PRG:113F 55 55 55 55 55 11 05 05 55 55 55 55 55 11 00 00
|
|
.byte $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55, $55 ; CPU:$D14F PRG:114F 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
|
|
.byte $A5, $89, $30, $3C, $E6, $8A, $A9, $3C, $C5, $8A, $D0, $1C, $A9, $00, $85, $8A ; CPU:$D15F PRG:115F A5 89 30 3C E6 8A A9 3C C5 8A D0 1C A9 00 85 8A
|
|
.byte $C6, $89, $10, $14, $85, $88, $A2, $00, $B5, $39, $29, $FC, $85, $00, $8A, $05 ; CPU:$D16F PRG:116F C6 89 10 14 85 88 A2 00 B5 39 29 FC 85 00 8A 05
|
|
.byte $00, $95, $39, $E8, $E0, $04, $D0, $F0, $A5, $89, $C9, $02, $B0, $12, $A2, $11 ; CPU:$D17F PRG:117F 00 95 39 E8 E0 04 D0 F0 A5 89 C9 02 B0 12 A2 11
|
|
.byte $A5, $8A, $29, $08, $D0, $02, $A2, $20, $8E, $AE, $02, $A9, $0F, $8D, $A9, $02 ; CPU:$D18F PRG:118F A5 8A 29 08 D0 02 A2 20 8E AE 02 A9 0F 8D A9 02
|
|
.byte $A5, $88, $D0, $2F, $A5, $CF, $C9, $FF, $F0, $29, $E6, $D1, $A5, $D1, $C9, $3C ; CPU:$D19F PRG:119F A5 88 D0 2F A5 CF C9 FF F0 29 E6 D1 A5 D1 C9 3C
|
|
.byte $D0, $21, $A9, $00, $85, $D1, $C6, $CF, $10, $19, $E6, $D0, $A5, $D0, $29, $01 ; CPU:$D1AF PRG:11AF D0 21 A9 00 85 D1 C6 CF 10 19 E6 D0 A5 D0 29 01
|
|
.byte $F0, $07, $20, $4D, $E0, $A9, $0F, $D0, $02, $A5, $D2, $85, $87, $A6, $D0, $B5 ; CPU:$D1BF PRG:11BF F0 07 20 4D E0 A9 0F D0 02 A5 D2 85 87 A6 D0 B5
|
|
.byte $97, $85, $CF, $A5, $D3, $F0, $1F, $18, $65, $6A, $C9, $C0, $D0, $18, $20, $49 ; CPU:$D1CF PRG:11CF 97 85 CF A5 D3 F0 1F 18 65 6A C9 C0 D0 18 20 49
|
|
.byte $D2, $A5, $D3, $A2, $00, $D5, $8F, $D0, $08, $E8, $B5, $8F, $85, $D3, $4C, $F5 ; CPU:$D1DF PRG:11DF D2 A5 D3 A2 00 D5 8F D0 08 E8 B5 8F 85 D3 4C F5
|
|
.byte $D1, $E8, $E0, $04, $D0, $EF, $E6, $D6, $A9, $60, $C5, $D6, $D0, $13, $A9, $00 ; CPU:$D1EF PRG:11EF D1 E8 E0 04 D0 EF E6 D6 A9 60 C5 D6 D0 13 A9 00
|
|
.byte $85, $D6, $E6, $D5, $A5, $D5, $C5, $96, $D0, $07, $A9, $00, $85, $D5, $20, $49 ; CPU:$D1FF PRG:11FF 85 D6 E6 D5 A5 D5 C5 96 D0 07 A9 00 85 D5 20 49
|
|
.byte $D2, $A6, $D4, $E0, $02, $F0, $17, $B5, $8D, $C5, $6A, $D0, $11, $E6, $D4, $A9 ; CPU:$D20F PRG:120F D2 A6 D4 E0 02 F0 17 B5 8D C5 6A D0 11 E6 D4 A9
|
|
.byte $01, $85, $D2, $8A, $0A, $AA, $B5, $AB, $85, $CA, $B5, $AC, $85, $CB, $05, $D7 ; CPU:$D21F PRG:121F 01 85 D2 8A 0A AA B5 AB 85 CA B5 AC 85 CB 05 D7
|
|
.byte $05, $D8, $F0, $15, $C6, $D8, $D0, $11, $A5, $D7, $F0, $07, $C6, $D7, $A9, $3C ; CPU:$D22F PRG:122F 05 D8 F0 15 C6 D8 D0 11 A5 D7 F0 07 C6 D7 A9 3C
|
|
.byte $85, $D8, $60, $85, $2E, $85, $30, $85, $8B, $60 ; CPU:$D23F PRG:123F 85 D8 60 85 2E 85 30 85 8B 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_Entry_D249
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_Entry_D249:
|
|
ldx #$00 ; CPU:$D249 PRG:1249 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnNonzero_D24B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnNonzero_D24B:
|
|
lda ZpBA,x ; CPU:$D24B PRG:124B B5 BA
|
|
bne Sub_C9B9_OnNonzero_D254 ; CPU:$D24D PRG:124D D0 05
|
|
lda #$02 ; CPU:$D24F PRG:124F A9 02
|
|
sta ZpBA,x ; CPU:$D251 PRG:1251 95 BA
|
|
rts ; CPU:$D253 PRG:1253 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9B9_OnNonzero_D254
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C9B9_OnNonzero_D254:
|
|
inx ; CPU:$D254 PRG:1254 E8
|
|
inx ; CPU:$D255 PRG:1255 E8
|
|
cpx #$06 ; CPU:$D256 PRG:1256 E0 06
|
|
bne Sub_C9B9_OnNonzero_D24B ; CPU:$D258 PRG:1258 D0 F1
|
|
rts ; CPU:$D25A PRG:125A 60
|
|
; ---- data $D25B-$D364 (266 bytes) ----
|
|
.byte $24, $25, $26, $27, $28, $29, $2A, $2B, $A5, $6A, $D0, $01, $60, $A9, $1E, $85 ; CPU:$D25B PRG:125B 24 25 26 27 28 29 2A 2B A5 6A D0 01 60 A9 1E 85
|
|
.byte $00, $A9, $00, $85, $01, $A9, $01, $85, $02, $A2, $00, $B5, $B8, $C9, $04, $D0 ; CPU:$D26B PRG:126B 00 A9 00 85 01 A9 01 85 02 A2 00 B5 B8 C9 04 D0
|
|
.byte $32, $A0, $00, $A5, $1A, $D1, $00, $B0, $07, $B1, $00, $38, $E5, $1A, $B0, $02 ; CPU:$D27B PRG:127B 32 A0 00 A5 1A D1 00 B0 07 B1 00 38 E5 1A B0 02
|
|
.byte $F1, $00, $C9, $0A, $B0, $1D, $85, $03, $A0, $02, $A5, $1C, $D1, $00, $B0, $07 ; CPU:$D28B PRG:128B F1 00 C9 0A B0 1D 85 03 A0 02 A5 1C D1 00 B0 07
|
|
.byte $B1, $00, $38, $E5, $1C, $B0, $02, $F1, $00, $C9, $0A, $B0, $06, $65, $03, $C9 ; CPU:$D29B PRG:129B B1 00 38 E5 1C B0 02 F1 00 C9 0A B0 06 65 03 C9
|
|
.byte $05, $90, $10, $E8, $E8, $A5, $00, $18, $69, $04, $85, $00, $06, $02, $E0, $0A ; CPU:$D2AB PRG:12AB 05 90 10 E8 E8 A5 00 18 69 04 85 00 06 02 E0 0A
|
|
.byte $D0, $B9, $60, $E0, $08, $F0, $45, $A5, $02, $25, $88, $F0, $2E, $8A, $4A, $85 ; CPU:$D2BB PRG:12BB D0 B9 60 E0 08 F0 45 A5 02 25 88 F0 2E 8A 4A 85
|
|
.byte $03, $A4, $D9, $B9, $2B, $D3, $A4, $03, $99, $33, $00, $A9, $00, $85, $32, $A4 ; CPU:$D2CB PRG:12CB 03 A4 D9 B9 2B D3 A4 03 99 33 00 A9 00 85 32 A4
|
|
.byte $D9, $B9, $3B, $D3, $85, $DD, $B9, $37, $D3, $85, $DE, $E6, $D9, $A9, $08, $95 ; CPU:$D2DB PRG:12DB D9 B9 3B D3 85 DD B9 37 D3 85 DE E6 D9 A9 08 95
|
|
.byte $B8, $8D, $07, $06, $A9, $06, $85, $3F, $4C, $A5, $E0, $A9, $08, $85, $3F, $A9 ; CPU:$D2EB PRG:12EB B8 8D 07 06 A9 06 85 3F 4C A5 E0 A9 08 85 3F A9
|
|
.byte $12, $85, $32, $A9, $80, $85, $DB, $A9, $00, $85, $87, $60, $A5, $8B, $F0, $01 ; CPU:$D2FB PRG:12FB 12 85 32 A9 80 85 DB A9 00 85 87 60 A5 8B F0 01
|
|
.byte $60, $85, $D7, $A9, $80, $85, $D8, $85, $8B, $8D, $06, $06, $A4, $93, $B9, $3F ; CPU:$D30B PRG:130B 60 85 D7 A9 80 85 D8 85 8B 8D 06 06 A4 93 B9 3F
|
|
.byte $D3, $85, $DD, $B9, $47, $D3, $85, $DE, $B9, $2F, $D3, $85, $37, $4C, $A5, $E0 ; CPU:$D31B PRG:131B D3 85 DD B9 47 D3 85 DE B9 2F D3 85 37 4C A5 E0
|
|
.byte $2D, $2F, $32, $34, $2C, $2E, $30, $31, $33, $35, $36, $37, $00, $00, $00, $01 ; CPU:$D32B PRG:132B 2D 2F 32 34 2C 2E 30 31 33 35 36 37 00 00 00 01
|
|
.byte $02, $04, $08, $06, $01, $03, $05, $07, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$D33B PRG:133B 02 04 08 06 01 03 05 07 00 00 00 00 00 00 00 00
|
|
.byte $01, $02, $03, $05, $A5, $48, $F0, $03, $4C, $C5, $D4, $A5, $4F, $29, $F0, $F0 ; CPU:$D34B PRG:134B 01 02 03 05 A5 48 F0 03 4C C5 D4 A5 4F 29 F0 F0
|
|
.byte $35, $A2, $FF, $E8, $0A, $90, $FC, $BD, $C1, $D4 ; CPU:$D35B PRG:135B 35 A2 FF E8 0A 90 FC BD C1 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D365_Entry_D365
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D365_Entry_D365:
|
|
sta EntityIndex ; CPU:$D365 PRG:1365 85 50
|
|
clc ; CPU:$D367 PRG:1367 18
|
|
adc #$02 ; CPU:$D368 PRG:1368 69 02
|
|
and #$03 ; CPU:$D36A PRG:136A 29 03
|
|
cmp OtherEntityIndex ; CPU:$D36C PRG:136C C5 51
|
|
bne Sub_D365_OnNonzero_D388 ; CPU:$D36E PRG:136E D0 18
|
|
lda Zp1A ; CPU:$D370 PRG:1370 A5 1A
|
|
ora Zp1C ; CPU:$D372 PRG:1372 05 1C
|
|
and #$07 ; CPU:$D374 PRG:1374 29 07
|
|
bne Sub_D365_OnNonzero_D381 ; CPU:$D376 PRG:1376 D0 09
|
|
ldy EntityIndex ; CPU:$D378 PRG:1378 A4 50
|
|
lda $022B,y ; CPU:$D37A PRG:137A B9 2B 02
|
|
and #$F0 ; CPU:$D37D PRG:137D 29 F0
|
|
bne Sub_D365_OnNonzero_D388 ; CPU:$D37F PRG:137F D0 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D365_OnNonzero_D381
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D365_OnNonzero_D381:
|
|
lda EntityIndex ; CPU:$D381 PRG:1381 A5 50
|
|
sta OtherEntityIndex ; CPU:$D383 PRG:1383 85 51
|
|
jmp Sub_D395_OnZero_D395 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D365_OnNonzero_D388
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D365_OnNonzero_D388:
|
|
ldx EntityIndex ; CPU:$D388 PRG:1388 A6 50
|
|
lda $022B,x ; CPU:$D38A PRG:138A BD 2B 02
|
|
and #$F0 ; CPU:$D38D PRG:138D 29 F0
|
|
beq Sub_D395_OnZero_D395 ; CPU:$D38F PRG:138F F0 04
|
|
lda OtherEntityIndex ; CPU:$D391 PRG:1391 A5 51
|
|
sta EntityIndex ; CPU:$D393 PRG:1393 85 50
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnZero_D395
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnZero_D395:
|
|
ldx #$04 ; CPU:$D395 PRG:1395 A2 04
|
|
lda Zp88 ; CPU:$D397 PRG:1397 A5 88
|
|
bne Sub_D395_OnNonzero_D39D ; CPU:$D399 PRG:1399 D0 02
|
|
ldx #$0A ; CPU:$D39B PRG:139B A2 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D39D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D39D:
|
|
lda $022A ; CPU:$D39D PRG:139D AD 2A 02
|
|
cmp #$01 ; CPU:$D3A0 PRG:13A0 C9 01
|
|
beq Sub_D395_OnZero_D3B4 ; CPU:$D3A2 PRG:13A2 F0 10
|
|
cmp #$02 ; CPU:$D3A4 PRG:13A4 C9 02
|
|
beq Sub_D395_OnZero_D3B4 ; CPU:$D3A6 PRG:13A6 F0 0C
|
|
dex ; CPU:$D3A8 PRG:13A8 CA
|
|
dex ; CPU:$D3A9 PRG:13A9 CA
|
|
cmp #$03 ; CPU:$D3AA PRG:13AA C9 03
|
|
beq Sub_D395_OnZero_D3B4 ; CPU:$D3AC PRG:13AC F0 06
|
|
cmp #$09 ; CPU:$D3AE PRG:13AE C9 09
|
|
beq Sub_D395_OnZero_D3B4 ; CPU:$D3B0 PRG:13B0 F0 02
|
|
dex ; CPU:$D3B2 PRG:13B2 CA
|
|
dex ; CPU:$D3B3 PRG:13B3 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnZero_D3B4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnZero_D3B4:
|
|
lda Zp9F,x ; CPU:$D3B4 PRG:13B4 B5 9F
|
|
sta ZpB5 ; CPU:$D3B6 PRG:13B6 85 B5
|
|
lda ZpA0,x ; CPU:$D3B8 PRG:13B8 B5 A0
|
|
sta ZpB6 ; CPU:$D3BA PRG:13BA 85 B6
|
|
lda OtherEntityIndex ; CPU:$D3BC PRG:13BC A5 51
|
|
asl a ; CPU:$D3BE PRG:13BE 0A
|
|
tay ; CPU:$D3BF PRG:13BF A8
|
|
lda $D3CD,y ; CPU:$D3C0 PRG:13C0 B9 CD D3
|
|
sta DispatchPtrLo ; CPU:$D3C3 PRG:13C3 85 10
|
|
lda $D3CE,y ; CPU:$D3C5 PRG:13C5 B9 CE D3
|
|
sta DispatchPtrHi ; CPU:$D3C8 PRG:13C8 85 11
|
|
jmp (DispatchPtrLo) ; CPU:$D3CA PRG:13CA 6C 10 00
|
|
; ---- data $D3CD-$D4C4 (248 bytes) ----
|
|
; referenced by `lda $D3CD,y` at $D3C0 (operand $D3CD falls inside this region)
|
|
; referenced by `lda $D3CE,y` at $D3C5 (operand $D3CE falls inside this region)
|
|
.byte $D5, $D3, $D9, $D3, $F4, $D3, $F0, $D3, $A2, $02, $D0, $02, $A2, $00, $B5, $1B ; CPU:$D3CD PRG:13CD D5 D3 D9 D3 F4 D3 F0 D3 A2 02 D0 02 A2 00 B5 1B
|
|
.byte $38, $E5, $B5, $95, $1B, $A9, $00, $B0, $02, $A9, $01, $18, $65, $B6, $85, $CC ; CPU:$D3DD PRG:13DD 38 E5 B5 95 1B A9 00 B0 02 A9 01 18 65 B6 85 CC
|
|
.byte $4C, $03, $D4, $A2, $00, $F0, $02, $A2, $02, $B5, $1B, $18, $65, $B5, $95, $1B ; CPU:$D3ED PRG:13ED 4C 03 D4 A2 00 F0 02 A2 02 B5 1B 18 65 B5 95 1B
|
|
.byte $A9, $00, $65, $B6, $85, $CC, $C6, $CC, $10, $01, $60, $A5, $51, $0A, $A8, $B9 ; CPU:$D3FD PRG:13FD A9 00 65 B6 85 CC C6 CC 10 01 60 A5 51 0A A8 B9
|
|
.byte $19, $D4, $85, $10, $B9, $1A, $D4, $85, $11, $6C, $10, $00, $59, $D4, $4F, $D4 ; CPU:$D40D PRG:140D 19 D4 85 10 B9 1A D4 85 11 6C 10 00 59 D4 4F D4
|
|
.byte $2B, $D4, $21, $D4, $A2, $00, $86, $00, $A9, $03, $85, $01, $D0, $06, $A2, $02 ; CPU:$D41D PRG:141D 2B D4 21 D4 A2 00 86 00 A9 03 85 01 D0 06 A2 02
|
|
.byte $86, $00, $86, $01, $B5, $1A, $18, $69, $01, $95, $1A, $29, $04, $D0, $44, $A6 ; CPU:$D42D PRG:142D 86 00 86 01 B5 1A 18 69 01 95 1A 29 04 D0 44 A6
|
|
.byte $01, $BD, $2B, $02, $29, $F0, $F0, $3B, $A6, $00, $B5, $1A, $29, $FC, $95, $1A ; CPU:$D43D PRG:143D 01 BD 2B 02 29 F0 F0 3B A6 00 B5 1A 29 FC 95 1A
|
|
.byte $D0, $31, $A2, $00, $86, $00, $A9, $01, $85, $01, $D0, $08, $A2, $02, $86, $00 ; CPU:$D44D PRG:144D D0 31 A2 00 86 00 A9 01 85 01 D0 08 A2 02 86 00
|
|
.byte $A9, $00, $85, $01, $B5, $1A, $38, $E9, $01, $95, $1A, $29, $04, $F0, $14, $A6 ; CPU:$D45D PRG:145D A9 00 85 01 B5 1A 38 E9 01 95 1A 29 04 F0 14 A6
|
|
.byte $01, $BD, $2B, $02, $29, $F0, $F0, $0B, $A6, $00, $B5, $1A, $18, $69, $04, $29 ; CPU:$D46D PRG:146D 01 BD 2B 02 29 F0 F0 0B A6 00 B5 1A 18 69 04 29
|
|
.byte $FC, $95, $1A, $A5, $1A, $C9, $18, $90, $0A, $C9, $A9, $B0, $06, $A5, $38, $29 ; CPU:$D47D PRG:147D FC 95 1A A5 1A C9 18 90 0A C9 A9 B0 06 A5 38 29
|
|
.byte $DF, $90, $04, $A9, $20, $05, $38, $85, $38, $A5, $1A, $C9, $0B, $B0, $06, $A9 ; CPU:$D48D PRG:148D DF 90 04 A9 20 05 38 85 38 A5 1A C9 0B B0 06 A9
|
|
.byte $BF, $85, $1A, $D0, $08, $C9, $C0, $90, $04, $A9, $0B, $85, $1A, $A5, $1A, $05 ; CPU:$D49D PRG:149D BF 85 1A D0 08 C9 C0 90 04 A9 0B 85 1A A5 1A 05
|
|
.byte $1C, $29, $07, $D0, $0C, $A5, $50, $C5, $51, $F0, $06, $85, $51, $E6, $CC, $E6 ; CPU:$D4AD PRG:14AD 1C 29 07 D0 0C A5 50 C5 51 F0 06 85 51 E6 CC E6
|
|
.byte $CC, $4C, $03, $D4, $03, $01, $02, $00 ; CPU:$D4BD PRG:14BD CC 4C 03 D4 03 01 02 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_Entry_D4C5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_Entry_D4C5:
|
|
ldy AnimFrameIndex ; CPU:$D4C5 PRG:14C5 A4 E4
|
|
dec AnimFrameCounter ; CPU:$D4C7 PRG:14C7 C6 E3
|
|
bne Sub_D395_OnNonzero_D4D6 ; CPU:$D4C9 PRG:14C9 D0 0B
|
|
inc AnimFrameIndex ; CPU:$D4CB PRG:14CB E6 E4
|
|
inc AnimFrameIndex ; CPU:$D4CD PRG:14CD E6 E4
|
|
ldy AnimFrameIndex ; CPU:$D4CF PRG:14CF A4 E4
|
|
lda $D4DE,y ; CPU:$D4D1 PRG:14D1 B9 DE D4
|
|
sta AnimFrameCounter ; CPU:$D4D4 PRG:14D4 85 E3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D4D6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D4D6:
|
|
lda $D4DF,y ; CPU:$D4D6 PRG:14D6 B9 DF D4
|
|
and #$03 ; CPU:$D4D9 PRG:14D9 29 03
|
|
jmp Sub_D365_Entry_D365 ;
|
|
; ---- data $D4DE-$D722 (581 bytes) ----
|
|
; referenced by `lda $D4DE,y` at $D4D1 (operand $D4DE falls inside this region)
|
|
; referenced by `lda $D4DF,y` at $D4D6 (operand $D4DF falls inside this region)
|
|
.byte $00, $01, $D0, $00, $28, $01, $28, $02, $90, $03, $38, $00, $20, $03, $18, $01 ; CPU:$D4DE PRG:14DE 00 01 D0 00 28 01 28 02 90 03 38 00 20 03 18 01
|
|
.byte $60, $02, $30, $01, $10, $02, $48, $01, $18, $02, $40, $01, $20, $02, $18, $00 ; CPU:$D4EE PRG:14EE 60 02 30 01 10 02 48 01 18 02 40 01 20 02 18 00
|
|
.byte $20, $03, $40, $02, $38, $01, $18, $02, $E0, $03, $30, $00, $28, $01, $28, $02 ; CPU:$D4FE PRG:14FE 20 03 40 02 38 01 18 02 E0 03 30 00 28 01 28 02
|
|
.byte $20, $02, $80, $03, $40, $00, $40, $01, $A2, $00, $A9, $2F, $85, $00, $A9, $02 ; CPU:$D50E PRG:150E 20 02 80 03 40 00 40 01 A2 00 A9 2F 85 00 A9 02
|
|
.byte $85, $01, $A9, $1E, $85, $02, $A9, $00, $85, $03, $A9, $01, $85, $04, $20, $46 ; CPU:$D51E PRG:151E 85 01 A9 1E 85 02 A9 00 85 03 A9 01 85 04 20 46
|
|
.byte $D5, $A5, $00, $18, $69, $04, $85, $00, $A5, $02, $18, $69, $04, $85, $02, $06 ; CPU:$D52E PRG:152E D5 A5 00 18 69 04 85 00 A5 02 18 69 04 85 02 06
|
|
.byte $04, $E8, $E8, $E0, $08, $D0, $E7, $60, $B4, $B8, $B9, $55, $D5, $85, $10, $B9 ; CPU:$D53E PRG:153E 04 E8 E8 E0 08 D0 E7 60 B4 B8 B9 55 D5 85 10 B9
|
|
.byte $56, $D5, $85, $11, $6C, $10, $00, $94, $D8, $44, $D8, $60, $D5, $60, $D5, $5F ; CPU:$D54E PRG:154E 56 D5 85 11 6C 10 00 94 D8 44 D8 60 D5 60 D5 5F
|
|
.byte $D5, $60, $20, $E0, $D7, $B5, $B9, $0A, $A8, $B9, $74, $D5, $85, $10, $B9, $75 ; CPU:$D55E PRG:155E D5 60 20 E0 D7 B5 B9 0A A8 B9 74 D5 85 10 B9 75
|
|
.byte $D5, $85, $11, $6C, $10, $00, $92, $D5, $96, $D5, $7C, $D5, $80, $D5, $A0, $03 ; CPU:$D56E PRG:156E D5 85 11 6C 10 00 92 D5 96 D5 7C D5 80 D5 A0 03
|
|
.byte $D0, $02, $A0, $01, $B1, $02, $18, $75, $C2, $91, $02, $A9, $00, $75, $C3, $85 ; CPU:$D57E PRG:157E D0 02 A0 01 B1 02 18 75 C2 91 02 A9 00 75 C3 85
|
|
.byte $CC, $4C, $AA, $D5, $A0, $03, $D0, $02, $A0, $01, $B1, $02, $38, $F5, $C2, $91 ; CPU:$D58E PRG:158E CC 4C AA D5 A0 03 D0 02 A0 01 B1 02 38 F5 C2 91
|
|
.byte $02, $A9, $00, $B0, $02, $A9, $01, $18, $75, $C3, $85, $CC, $C6, $CC, $10, $01 ; CPU:$D59E PRG:159E 02 A9 00 B0 02 A9 01 18 75 C3 85 CC C6 CC 10 01
|
|
.byte $60, $B5, $B9, $0A, $A8, $B9, $C0, $D5, $85, $10, $B9, $C1, $D5, $85, $11, $6C ; CPU:$D5AE PRG:15AE 60 B5 B9 0A A8 B9 C0 D5 85 10 B9 C1 D5 85 11 6C
|
|
.byte $10, $00, $C8, $D5, $DC, $D5, $CE, $D5, $D6, $D5, $A9, $FF, $85, $05, $D0, $04 ; CPU:$D5BE PRG:15BE 10 00 C8 D5 DC D5 CE D5 D6 D5 A9 FF 85 05 D0 04
|
|
.byte $A9, $01, $85, $05, $A0, $02, $D0, $0C, $A9, $01, $85, $05, $D0, $04, $A9, $FF ; CPU:$D5CE PRG:15CE A9 01 85 05 A0 02 D0 0C A9 01 85 05 D0 04 A9 FF
|
|
.byte $85, $05, $A0, $00, $B1, $02, $18, $65, $05, $91, $02, $A0, $00, $B1, $02, $C9 ; CPU:$D5DE PRG:15DE 85 05 A0 00 B1 02 18 65 05 91 02 A0 00 B1 02 C9
|
|
.byte $0A, $D0, $06, $A9, $BF, $91, $02, $D0, $12, $C9, $C0, $D0, $06, $A9, $0B, $91 ; CPU:$D5EE PRG:15EE 0A D0 06 A9 BF 91 02 D0 12 C9 C0 D0 06 A9 0B 91
|
|
.byte $02, $D0, $08, $C9, $18, $90, $04, $C9, $A9, $90, $04, $A9, $20, $D0, $02, $A9 ; CPU:$D5FE PRG:15FE 02 D0 08 C9 18 90 04 C9 A9 90 04 A9 20 D0 02 A9
|
|
.byte $00, $85, $05, $8A, $4A, $A8, $B9, $39, $00, $29, $DF, $05, $05, $99, $39, $00 ; CPU:$D60E PRG:160E 00 85 05 8A 4A A8 B9 39 00 29 DF 05 05 99 39 00
|
|
.byte $A0, $00, $B1, $02, $A0, $02, $11, $02, $29, $07, $F0, $03, $4C, $AA, $D5, $A0 ; CPU:$D61E PRG:161E A0 00 B1 02 A0 02 11 02 29 07 F0 03 4C AA D5 A0
|
|
.byte $00, $B1, $02, $C9, $60, $D0, $25, $A0, $02, $B1, $02, $C9, $70, $D0, $1D, $A9 ; CPU:$D62E PRG:162E 00 B1 02 C9 60 D0 25 A0 02 B1 02 C9 70 D0 1D A9
|
|
.byte $02, $95, $B8, $A9, $00, $18, $E5, $04, $25, $88, $85, $88, $8A, $4A, $A8, $85 ; CPU:$D63E PRG:163E 02 95 B8 A9 00 18 E5 04 25 88 85 88 8A 4A A8 85
|
|
.byte $05, $B9, $39, $00, $29, $FC, $05, $05, $99, $39, $00, $60, $B5, $B8, $C9, $06 ; CPU:$D64E PRG:164E 05 B9 39 00 29 FC 05 05 99 39 00 60 B5 B8 C9 06
|
|
.byte $D0, $0B, $A9, $60, $85, $CD, $A9, $6F, $85, $CE, $4C, $37, $D7, $A5, $04, $25 ; CPU:$D65E PRG:165E D0 0B A9 60 85 CD A9 6F 85 CE 4C 37 D7 A5 04 25
|
|
.byte $88, $D0, $58, $A5, $04, $25, $87, $D0, $17, $8A, $A8, $B9, $86, $D6, $85, $CD ; CPU:$D66E PRG:166E 88 D0 58 A5 04 25 87 D0 17 8A A8 B9 86 D6 85 CD
|
|
.byte $B9, $87, $D6, $85, $CE, $4C, $37, $D7, $A8, $08, $18, $08, $A8, $D0, $18, $D0 ; CPU:$D67E PRG:167E B9 87 D6 85 CE 4C 37 D7 A8 08 18 08 A8 D0 18 D0
|
|
.byte $8A, $A8, $B9, $9D, $D6, $85, $10, $B9, $9E, $D6, $85, $11, $6C, $10, $00, $FA ; CPU:$D68E PRG:168E 8A A8 B9 9D D6 85 10 B9 9E D6 85 11 6C 10 00 FA
|
|
.byte $D6, $04, $D7, $23, $D7, $A5, $D6, $A5, $1A, $38, $E5, $2A, $B0, $07, $85, $05 ; CPU:$D69E PRG:169E D6 04 D7 23 D7 A5 D6 A5 1A 38 E5 2A B0 07 85 05
|
|
.byte $A9, $00, $38, $E5, $05, $C9, $20, $B0, $43, $A5, $1C, $38, $E5, $2C, $B0, $07 ; CPU:$D6AE PRG:16AE A9 00 38 E5 05 C9 20 B0 43 A5 1C 38 E5 2C B0 07
|
|
.byte $85, $05, $A9, $00, $38, $E5, $05, $C9, $20, $B0, $31, $A5, $4B, $85, $05, $A9 ; CPU:$D6BE PRG:16BE 85 05 A9 00 38 E5 05 C9 20 B0 31 A5 4B 85 05 A9
|
|
.byte $05, $85, $06, $C6, $06, $D0, $04, $A9, $02, $D0, $1C, $E6, $05, $A5, $05, $29 ; CPU:$D6CE PRG:16CE 05 85 06 C6 06 D0 04 A9 02 D0 1C E6 05 A5 05 29
|
|
.byte $03, $A8, $B1, $00, $29, $F8, $D0, $EB, $A5, $05, $18, $69, $02, $29, $03, $D5 ; CPU:$D6DE PRG:16DE 03 A8 B1 00 29 F8 D0 EB A5 05 18 69 02 29 03 D5
|
|
.byte $B9, $F0, $E0, $A5, $05, $29, $03, $95, $B9, $4C, $AA, $D5, $A5, $1A, $85, $CD ; CPU:$D6EE PRG:16EE B9 F0 E0 A5 05 29 03 95 B9 4C AA D5 A5 1A 85 CD
|
|
.byte $A5, $1C, $85, $CE, $D0, $33, $A5, $51, $0A, $A8, $B9, $1B, $D7, $18, $65, $1A ; CPU:$D6FE PRG:16FE A5 1C 85 CE D0 33 A5 51 0A A8 B9 1B D7 18 65 1A
|
|
.byte $85, $CD, $B9, $1C, $D7, $18, $65, $1C, $85, $CE, $4C, $37, $D7, $00, $E8, $E8 ; CPU:$D70E PRG:170E 85 CD B9 1C D7 18 65 1C 85 CE 4C 37 D7 00 E8 E8
|
|
.byte $00, $00, $18, $18, $00 ; CPU:$D71E PRG:171E 00 00 18 18 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_Entry_D723
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_Entry_D723:
|
|
lda Zp1A ; CPU:$D723 PRG:1723 A5 1A
|
|
sec ; CPU:$D725 PRG:1725 38
|
|
sbc Zp1E ; CPU:$D726 PRG:1726 E5 1E
|
|
clc ; CPU:$D728 PRG:1728 18
|
|
adc Zp1A ; CPU:$D729 PRG:1729 65 1A
|
|
sta EntityDeltaX ; CPU:$D72B PRG:172B 85 CD
|
|
lda Zp1C ; CPU:$D72D PRG:172D A5 1C
|
|
sec ; CPU:$D72F PRG:172F 38
|
|
sbc Zp20 ; CPU:$D730 PRG:1730 E5 20
|
|
clc ; CPU:$D732 PRG:1732 18
|
|
adc Zp1C ; CPU:$D733 PRG:1733 65 1C
|
|
sta EntityDeltaY ; CPU:$D735 PRG:1735 85 CE
|
|
lda ZpB8,x ; CPU:$D737 PRG:1737 B5 B8
|
|
sec ; CPU:$D739 PRG:1739 38
|
|
sbc #$04 ; CPU:$D73A PRG:173A E9 04
|
|
tay ; CPU:$D73C PRG:173C A8
|
|
lda $D840,y ; CPU:$D73D PRG:173D B9 40 D8
|
|
sta Zp0A ; CPU:$D740 PRG:1740 85 0A
|
|
lda $D841,y ; CPU:$D742 PRG:1742 B9 41 D8
|
|
sta Zp0B ; CPU:$D745 PRG:1745 85 0B
|
|
jsr Sub_E470_Entry_E470 ;
|
|
lda Zp0C ; CPU:$D74A PRG:174A A5 0C
|
|
cmp #$FF ; CPU:$D74C PRG:174C C9 FF
|
|
bne Sub_D395_OnNonzero_D754 ; CPU:$D74E PRG:174E D0 04
|
|
lda #$02 ; CPU:$D750 PRG:1750 A9 02
|
|
bne Sub_D395_JoinBranchPaths_D75C ; CPU:$D752 PRG:1752 D0 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D754
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D754:
|
|
lda Zp0D ; CPU:$D754 PRG:1754 A5 0D
|
|
cmp #$FF ; CPU:$D756 PRG:1756 C9 FF
|
|
bne Sub_D395_OnNonzero_D75F ; CPU:$D758 PRG:1758 D0 05
|
|
lda Zp0C ; CPU:$D75A PRG:175A A5 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_JoinBranchPaths_D75C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_JoinBranchPaths_D75C:
|
|
sta ZpB9,x ; CPU:$D75C PRG:175C 95 B9
|
|
rts ; CPU:$D75E PRG:175E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D75F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D75F:
|
|
ldy #$00 ; CPU:$D75F PRG:175F A0 00
|
|
sty Zp05 ; CPU:$D761 PRG:1761 84 05
|
|
lda EntityDeltaX ; CPU:$D763 PRG:1763 A5 CD
|
|
sec ; CPU:$D765 PRG:1765 38
|
|
sbc (Zp02),y ; CPU:$D766 PRG:1766 F1 02
|
|
bcs Sub_D395_OnCarrySet_D779 ; CPU:$D768 PRG:1768 B0 0F
|
|
sta Zp08 ; CPU:$D76A PRG:176A 85 08
|
|
lda #$00 ; CPU:$D76C PRG:176C A9 00
|
|
sec ; CPU:$D76E PRG:176E 38
|
|
sbc Zp08 ; CPU:$D76F PRG:176F E5 08
|
|
inc Zp05 ; CPU:$D771 PRG:1771 E6 05
|
|
inc Zp05 ; CPU:$D773 PRG:1773 E6 05
|
|
inc Zp05 ; CPU:$D775 PRG:1775 E6 05
|
|
inc Zp05 ; CPU:$D777 PRG:1777 E6 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnCarrySet_D779
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnCarrySet_D779:
|
|
sta Zp06 ; CPU:$D779 PRG:1779 85 06
|
|
lda EntityDeltaY ; CPU:$D77B PRG:177B A5 CE
|
|
ldy #$02 ; CPU:$D77D PRG:177D A0 02
|
|
sec ; CPU:$D77F PRG:177F 38
|
|
sbc (Zp02),y ; CPU:$D780 PRG:1780 F1 02
|
|
bcs Sub_D395_OnCarrySet_D78F ; CPU:$D782 PRG:1782 B0 0B
|
|
sta Zp08 ; CPU:$D784 PRG:1784 85 08
|
|
lda #$00 ; CPU:$D786 PRG:1786 A9 00
|
|
sec ; CPU:$D788 PRG:1788 38
|
|
sbc Zp08 ; CPU:$D789 PRG:1789 E5 08
|
|
inc Zp05 ; CPU:$D78B PRG:178B E6 05
|
|
inc Zp05 ; CPU:$D78D PRG:178D E6 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnCarrySet_D78F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnCarrySet_D78F:
|
|
sta Zp07 ; CPU:$D78F PRG:178F 85 07
|
|
lda Zp06 ; CPU:$D791 PRG:1791 A5 06
|
|
cmp Zp07 ; CPU:$D793 PRG:1793 C5 07
|
|
bcs Sub_D395_OnCarrySet_D799 ; CPU:$D795 PRG:1795 B0 02
|
|
inc Zp05 ; CPU:$D797 PRG:1797 E6 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnCarrySet_D799
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnCarrySet_D799:
|
|
lda Zp05 ; CPU:$D799 PRG:1799 A5 05
|
|
asl a ; CPU:$D79B PRG:179B 0A
|
|
sta Zp05 ; CPU:$D79C PRG:179C 85 05
|
|
lda #$02 ; CPU:$D79E PRG:179E A9 02
|
|
sta Zp06 ; CPU:$D7A0 PRG:17A0 85 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D7A2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D7A2:
|
|
ldy Zp05 ; CPU:$D7A2 PRG:17A2 A4 05
|
|
lda $D830,y ; CPU:$D7A4 PRG:17A4 B9 30 D8
|
|
ldy #$00 ; CPU:$D7A7 PRG:17A7 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D7A9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D7A9:
|
|
cmp a:Zp0C,y ; CPU:$D7A9 PRG:17A9 D9 0C 00
|
|
beq Sub_D395_JoinBranchPaths_D75C ; CPU:$D7AC PRG:17AC F0 AE
|
|
iny ; CPU:$D7AE PRG:17AE C8
|
|
cpy #$04 ; CPU:$D7AF PRG:17AF C0 04
|
|
bne Sub_D395_OnNonzero_D7A9 ; CPU:$D7B1 PRG:17B1 D0 F6
|
|
inc Zp05 ; CPU:$D7B3 PRG:17B3 E6 05
|
|
dec Zp06 ; CPU:$D7B5 PRG:17B5 C6 06
|
|
bne Sub_D395_OnNonzero_D7A2 ; CPU:$D7B7 PRG:17B7 D0 E9
|
|
lda ZpB9,x ; CPU:$D7B9 PRG:17B9 B5 B9
|
|
sec ; CPU:$D7BB PRG:17BB 38
|
|
sbc #$01 ; CPU:$D7BC PRG:17BC E9 01
|
|
and #$03 ; CPU:$D7BE PRG:17BE 29 03
|
|
ldy #$00 ; CPU:$D7C0 PRG:17C0 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D7C2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D7C2:
|
|
cmp a:Zp0C,y ; CPU:$D7C2 PRG:17C2 D9 0C 00
|
|
beq Sub_D395_JoinBranchPaths_D75C ; CPU:$D7C5 PRG:17C5 F0 95
|
|
iny ; CPU:$D7C7 PRG:17C7 C8
|
|
cpy #$04 ; CPU:$D7C8 PRG:17C8 C0 04
|
|
bne Sub_D395_OnNonzero_D7C2 ; CPU:$D7CA PRG:17CA D0 F6
|
|
lda ZpB9,x ; CPU:$D7CC PRG:17CC B5 B9
|
|
clc ; CPU:$D7CE PRG:17CE 18
|
|
adc #$01 ; CPU:$D7CF PRG:17CF 69 01
|
|
and #$03 ; CPU:$D7D1 PRG:17D1 29 03
|
|
ldy #$00 ; CPU:$D7D3 PRG:17D3 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D7D5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D7D5:
|
|
cmp a:Zp0C,y ; CPU:$D7D5 PRG:17D5 D9 0C 00
|
|
beq Sub_D395_JoinBranchPaths_D75C ; CPU:$D7D8 PRG:17D8 F0 82
|
|
iny ; CPU:$D7DA PRG:17DA C8
|
|
cpy #$04 ; CPU:$D7DB PRG:17DB C0 04
|
|
bne Sub_D395_OnNonzero_D7D5 ; CPU:$D7DD PRG:17DD D0 F6
|
|
rts ; CPU:$D7DF PRG:17DF 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_Return_D7E0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_Return_D7E0:
|
|
lda ZpB8,x ; CPU:$D7E0 PRG:17E0 B5 B8
|
|
cmp #$06 ; CPU:$D7E2 PRG:17E2 C9 06
|
|
beq Sub_D395_OnZero_D827 ; CPU:$D7E4 PRG:17E4 F0 41
|
|
ldy #$02 ; CPU:$D7E6 PRG:17E6 A0 02
|
|
lda (Zp02),y ; CPU:$D7E8 PRG:17E8 B1 02
|
|
cmp #$70 ; CPU:$D7EA PRG:17EA C9 70
|
|
bne Sub_D395_JoinBranchPaths_D803 ; CPU:$D7EC PRG:17EC D0 15
|
|
ldy #$00 ; CPU:$D7EE PRG:17EE A0 00
|
|
lda (Zp02),y ; CPU:$D7F0 PRG:17F0 B1 02
|
|
cmp #$90 ; CPU:$D7F2 PRG:17F2 C9 90
|
|
bcs Sub_D395_OnCarrySet_D7FA ; CPU:$D7F4 PRG:17F4 B0 04
|
|
cmp #$30 ; CPU:$D7F6 PRG:17F6 C9 30
|
|
bcs Sub_D395_JoinBranchPaths_D803 ; CPU:$D7F8 PRG:17F8 B0 09
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnCarrySet_D7FA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnCarrySet_D7FA:
|
|
lda ZpB3 ; CPU:$D7FA PRG:17FA A5 B3
|
|
sta ZpC2,x ; CPU:$D7FC PRG:17FC 95 C2
|
|
lda ZpB4 ; CPU:$D7FE PRG:17FE A5 B4
|
|
sta ZpC3,x ; CPU:$D800 PRG:1800 95 C3
|
|
rts ; CPU:$D802 PRG:1802 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_JoinBranchPaths_D803
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_JoinBranchPaths_D803:
|
|
lda Zp04 ; CPU:$D803 PRG:1803 A5 04
|
|
and Zp88 ; CPU:$D805 PRG:1805 25 88
|
|
bne Sub_D395_OnNonzero_D81E ; CPU:$D807 PRG:1807 D0 15
|
|
txa ; CPU:$D809 PRG:1809 8A
|
|
bne Sub_D395_OnNonzero_D815 ; CPU:$D80A PRG:180A D0 09
|
|
lda ZpCA ; CPU:$D80C PRG:180C A5 CA
|
|
sta ZpC2 ; CPU:$D80E PRG:180E 85 C2
|
|
lda ZpCB ; CPU:$D810 PRG:1810 A5 CB
|
|
sta ZpC3 ; CPU:$D812 PRG:1812 85 C3
|
|
rts ; CPU:$D814 PRG:1814 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D815
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D815:
|
|
lda ZpAF ; CPU:$D815 PRG:1815 A5 AF
|
|
sta ZpC2,x ; CPU:$D817 PRG:1817 95 C2
|
|
lda ZpB0 ; CPU:$D819 PRG:1819 A5 B0
|
|
sta ZpC3,x ; CPU:$D81B PRG:181B 95 C3
|
|
rts ; CPU:$D81D PRG:181D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D81E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D81E:
|
|
lda ZpB1 ; CPU:$D81E PRG:181E A5 B1
|
|
sta ZpC2,x ; CPU:$D820 PRG:1820 95 C2
|
|
lda ZpB2 ; CPU:$D822 PRG:1822 A5 B2
|
|
sta ZpC3,x ; CPU:$D824 PRG:1824 95 C3
|
|
rts ; CPU:$D826 PRG:1826 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnZero_D827
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnZero_D827:
|
|
lda #$00 ; CPU:$D827 PRG:1827 A9 00
|
|
sta ZpC2,x ; CPU:$D829 PRG:1829 95 C2
|
|
lda #$02 ; CPU:$D82B PRG:182B A9 02
|
|
sta ZpC3,x ; CPU:$D82D PRG:182D 95 C3
|
|
rts ; CPU:$D82F PRG:182F 60
|
|
; ---- data $D830-$D8D2 (163 bytes) ----
|
|
; referenced by `lda $D840,y` at $D73D (operand $D840 falls inside this region)
|
|
; referenced by `lda $D841,y` at $D742 (operand $D841 falls inside this region)
|
|
; referenced by `lda $D830,y` at $D7A4 (operand $D830 falls inside this region)
|
|
.byte $03, $02, $02, $03, $03, $00, $00, $03, $01, $02, $02, $01, $01, $00, $00, $01 ; CPU:$D830 PRG:1830 03 02 02 03 03 00 00 03 01 02 02 01 01 00 00 01
|
|
.byte $00, $00, $2C, $08, $A9, $00, $A8, $85, $05, $A9, $80, $85, $06, $B1, $02, $C9 ; CPU:$D840 PRG:1840 00 00 2C 08 A9 00 A8 85 05 A9 80 85 06 B1 02 C9
|
|
.byte $60, $F0, $1E, $90, $06, $C6, $05, $A9, $01, $D0, $02, $A9, $03, $95, $B9, $A0 ; CPU:$D850 PRG:1850 60 F0 1E 90 06 C6 05 A9 01 D0 02 A9 03 95 B9 A0
|
|
.byte $01, $B1, $02, $18, $65, $06, $91, $02, $A0, $00, $B1, $02, $65, $05, $91, $02 ; CPU:$D860 PRG:1860 01 B1 02 18 65 06 91 02 A0 00 B1 02 65 05 91 02
|
|
.byte $60, $A9, $00, $95, $B9, $A0, $03, $B1, $02, $38, $E9, $80, $91, $02, $A0, $02 ; CPU:$D870 PRG:1870 60 A9 00 95 B9 A0 03 B1 02 38 E9 80 91 02 A0 02
|
|
.byte $B1, $02, $E9, $00, $91, $02, $C9, $58, $F0, $01, $60, $A9, $01, $95, $B9, $A9 ; CPU:$D880 PRG:1880 B1 02 E9 00 91 02 C9 58 F0 01 60 A9 01 95 B9 A9
|
|
.byte $04, $95, $B8, $60, $A9, $00, $85, $05, $A9, $80, $85, $06, $B4, $B9, $B9, $AB ; CPU:$D890 PRG:1890 04 95 B8 60 A9 00 85 05 A9 80 85 06 B4 B9 B9 AB
|
|
.byte $D8, $85, $10, $B9, $AC, $D8, $85, $11, $6C, $10, $00, $AF, $D8, $B1, $D8, $C6 ; CPU:$D8A0 PRG:18A0 D8 85 10 B9 AC D8 85 11 6C 10 00 AF D8 B1 D8 C6
|
|
.byte $05, $A0, $03, $B1, $02, $18, $65, $06, $91, $02, $A0, $02, $B1, $02, $65, $05 ; CPU:$D8B0 PRG:18B0 05 A0 03 B1 02 18 65 06 91 02 A0 02 B1 02 65 05
|
|
.byte $91, $02, $C9, $69, $B0, $04, $A9, $02, $D0, $06, $C9, $70, $90, $04, $A9, $00 ; CPU:$D8C0 PRG:18C0 91 02 C9 69 B0 04 A9 02 D0 06 C9 70 90 04 A9 00
|
|
.byte $95, $B9, $60 ; CPU:$D8D0 PRG:18D0 95 B9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_Entry_D8D3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_Entry_D8D3:
|
|
ldx #$00 ; CPU:$D8D3 PRG:18D3 A2 00
|
|
lda #$2F ; CPU:$D8D5 PRG:18D5 A9 2F
|
|
sta Zp00 ; CPU:$D8D7 PRG:18D7 85 00
|
|
lda #$02 ; CPU:$D8D9 PRG:18D9 A9 02
|
|
sta Zp01 ; CPU:$D8DB PRG:18DB 85 01
|
|
lda #$1E ; CPU:$D8DD PRG:18DD A9 1E
|
|
sta Zp02 ; CPU:$D8DF PRG:18DF 85 02
|
|
lda #$00 ; CPU:$D8E1 PRG:18E1 A9 00
|
|
sta Zp03 ; CPU:$D8E3 PRG:18E3 85 03
|
|
lda #$01 ; CPU:$D8E5 PRG:18E5 A9 01
|
|
sta Zp04 ; CPU:$D8E7 PRG:18E7 85 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D395_OnNonzero_D8E9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D395_OnNonzero_D8E9:
|
|
jsr Sub_D903_Return_D903 ;
|
|
lda Zp00 ; CPU:$D8EC PRG:18EC A5 00
|
|
clc ; CPU:$D8EE PRG:18EE 18
|
|
adc #$04 ; CPU:$D8EF PRG:18EF 69 04
|
|
sta Zp00 ; CPU:$D8F1 PRG:18F1 85 00
|
|
lda Zp02 ; CPU:$D8F3 PRG:18F3 A5 02
|
|
clc ; CPU:$D8F5 PRG:18F5 18
|
|
adc #$04 ; CPU:$D8F6 PRG:18F6 69 04
|
|
sta Zp02 ; CPU:$D8F8 PRG:18F8 85 02
|
|
asl Zp04 ; CPU:$D8FA PRG:18FA 06 04
|
|
inx ; CPU:$D8FC PRG:18FC E8
|
|
inx ; CPU:$D8FD PRG:18FD E8
|
|
cpx #$08 ; CPU:$D8FE PRG:18FE E0 08
|
|
bne Sub_D395_OnNonzero_D8E9 ; CPU:$D900 PRG:1900 D0 E7
|
|
rts ; CPU:$D902 PRG:1902 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D903_Return_D903
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D903_Return_D903:
|
|
ldy ZpB8,x ; CPU:$D903 PRG:1903 B4 B8
|
|
lda $D912,y ; CPU:$D905 PRG:1905 B9 12 D9
|
|
sta DispatchPtrLo ; CPU:$D908 PRG:1908 85 10
|
|
lda $D913,y ; CPU:$D90A PRG:190A B9 13 D9
|
|
sta DispatchPtrHi ; CPU:$D90D PRG:190D 85 11
|
|
jmp (DispatchPtrLo) ; CPU:$D90F PRG:190F 6C 10 00
|
|
EntityPtrTable:
|
|
; ---- data $D912-$D98A (121 bytes) ----
|
|
; referenced by `lda $D912,y` at $D905 (operand $D912 falls inside this region)
|
|
; referenced by `lda $D913,y` at $D90A (operand $D913 falls inside this region)
|
|
.byte $1C, $D9, $1C, $D9, $1C, $D9, $60, $D5, $1C, $D9, $60, $A2, $00, $86, $00, $B5 ; CPU:$D912 PRG:1912 1C D9 1C D9 1C D9 60 D5 1C D9 60 A2 00 86 00 B5
|
|
.byte $B8, $C9, $06, $D0, $04, $8D, $08, $06, $60, $E8, $E8, $E0, $08, $D0, $F0, $A5 ; CPU:$D922 PRG:1922 B8 C9 06 D0 04 8D 08 06 60 E8 E8 E0 08 D0 F0 A5
|
|
.byte $88, $F0, $04, $8D, $09, $06, $60, $A0, $00, $A5, $6A, $C9, $88, $B0, $06, $C8 ; CPU:$D932 PRG:1932 88 F0 04 8D 09 06 60 A0 00 A5 6A C9 88 B0 06 C8
|
|
.byte $C9, $42, $B0, $01, $C8, $A9, $01, $99, $0A, $06, $60, $A5, $51, $0A, $18, $69 ; CPU:$D942 PRG:1942 C9 42 B0 01 C8 A9 01 99 0A 06 60 A5 51 0A 18 69
|
|
.byte $02, $85, $00, $A5, $1A, $05, $1C, $29, $07, $D0, $10, $A4, $51, $B9, $2B, $02 ; CPU:$D952 PRG:1952 02 85 00 A5 1A 05 1C 29 07 D0 10 A4 51 B9 2B 02
|
|
.byte $29, $F0, $F0, $07, $A5, $B7, $29, $03, $4C, $71, $D9, $E6, $B7, $A5, $B7, $29 ; CPU:$D962 PRG:1962 29 F0 F0 07 A5 B7 29 03 4C 71 D9 E6 B7 A5 B7 29
|
|
.byte $07, $C9, $06, $90, $04, $A9, $01, $D0, $07, $A8, $B9, $85, $D9, $18, $65, $00 ; CPU:$D972 PRG:1972 07 C9 06 90 04 A9 01 D0 07 A8 B9 85 D9 18 65 00
|
|
.byte $85, $32, $60, $00, $00, $00, $01, $01, $00 ; CPU:$D982 PRG:1982 85 32 60 00 00 00 01 01 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D903_Entry_D98B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D903_Entry_D98B:
|
|
lda #$00 ; CPU:$D98B PRG:198B A9 00
|
|
tax ; CPU:$D98D PRG:198D AA
|
|
sta Zp00 ; CPU:$D98E PRG:198E 85 00
|
|
lda FrameCounter ; CPU:$D990 PRG:1990 A5 4B
|
|
and #$08 ; CPU:$D992 PRG:1992 29 08
|
|
beq Sub_D903_OnZero_D99A ; CPU:$D994 PRG:1994 F0 04
|
|
lda #$01 ; CPU:$D996 PRG:1996 A9 01
|
|
sta Zp00 ; CPU:$D998 PRG:1998 85 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D903_OnZero_D99A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D903_OnZero_D99A:
|
|
lda #$01 ; CPU:$D99A PRG:199A A9 01
|
|
sta Zp01 ; CPU:$D99C PRG:199C 85 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D903_OnNonzero_D99E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D903_OnNonzero_D99E:
|
|
jsr Sub_D9AA_Return_D9AA ;
|
|
asl Zp01 ; CPU:$D9A1 PRG:19A1 06 01
|
|
inx ; CPU:$D9A3 PRG:19A3 E8
|
|
inx ; CPU:$D9A4 PRG:19A4 E8
|
|
cpx #$08 ; CPU:$D9A5 PRG:19A5 E0 08
|
|
bne Sub_D903_OnNonzero_D99E ; CPU:$D9A7 PRG:19A7 D0 F5
|
|
rts ; CPU:$D9A9 PRG:19A9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D9AA_Return_D9AA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D9AA_Return_D9AA:
|
|
ldy ZpB8,x ; CPU:$D9AA PRG:19AA B4 B8
|
|
lda $D9B9,y ; CPU:$D9AC PRG:19AC B9 B9 D9
|
|
sta DispatchPtrLo ; CPU:$D9AF PRG:19AF 85 10
|
|
lda $D9BA,y ; CPU:$D9B1 PRG:19B1 B9 BA D9
|
|
sta DispatchPtrHi ; CPU:$D9B4 PRG:19B4 85 11
|
|
jmp (DispatchPtrLo) ; CPU:$D9B6 PRG:19B6 6C 10 00
|
|
; ---- data $D9B9-$DAAF (247 bytes) ----
|
|
; referenced by `lda $D9B9,y` at $D9AC (operand $D9B9 falls inside this region)
|
|
; referenced by `lda $D9BA,y` at $D9B1 (operand $D9BA falls inside this region)
|
|
.byte $E0, $D9, $E0, $D9, $E0, $D9, $EC, $D9, $A9, $D9, $B5, $B9, $85, $03, $A9, $0A ; CPU:$D9B9 PRG:19B9 E0 D9 E0 D9 E0 D9 EC D9 A9 D9 B5 B9 85 03 A9 0A
|
|
.byte $C6, $03, $30, $05, $18, $69, $02, $D0, $F7, $18, $65, $00, $85, $02, $8A, $4A ; CPU:$D9C9 PRG:19C9 C6 03 30 05 18 69 02 D0 F7 18 65 00 85 02 8A 4A
|
|
.byte $A8, $A5, $02, $99, $33, $00, $60, $A5, $01, $25, $88, $F0, $DD, $A9, $1E, $85 ; CPU:$D9D9 PRG:19D9 A8 A5 02 99 33 00 60 A5 01 25 88 F0 DD A9 1E 85
|
|
.byte $02, $D0, $E6, $B5, $B9, $85, $03, $A9, $20, $C6, $03, $30, $05, $18, $69, $01 ; CPU:$D9E9 PRG:19E9 02 D0 E6 B5 B9 85 03 A9 20 C6 03 30 05 18 69 01
|
|
.byte $D0, $F7, $85, $02, $30, $D8, $A2, $23, $B5, $1A, $9D, $74, $02, $CA, $10, $F8 ; CPU:$D9F9 PRG:19F9 D0 F7 85 02 30 D8 A2 23 B5 1A 9D 74 02 CA 10 F8
|
|
.byte $A9, $84, $85, $00, $A9, $02, $85, $01, $A9, $08, $85, $03, $A9, $03, $85, $02 ; CPU:$DA09 PRG:1A09 A9 84 85 00 A9 02 85 01 A9 08 85 03 A9 03 85 02
|
|
.byte $A5, $03, $25, $88, $D0, $7B, $A0, $00, $AD, $74, $02, $D1, $00, $B0, $08, $B1 ; CPU:$DA19 PRG:1A19 A5 03 25 88 D0 7B A0 00 AD 74 02 D1 00 B0 08 B1
|
|
.byte $00, $38, $ED, $74, $02, $B0, $02, $F1, $00, $C9, $19, $B0, $64, $85, $04, $A0 ; CPU:$DA29 PRG:1A29 00 38 ED 74 02 B0 02 F1 00 C9 19 B0 64 85 04 A0
|
|
.byte $02, $AD, $76, $02, $D1, $00, $B0, $08, $B1, $00, $38, $ED, $76, $02, $B0, $02 ; CPU:$DA39 PRG:1A39 02 AD 76 02 D1 00 B0 08 B1 00 38 ED 76 02 B0 02
|
|
.byte $F1, $00, $C9, $19, $B0, $4B, $65, $04, $C9, $10, $B0, $45, $AD, $74, $02, $85 ; CPU:$DA49 PRG:1A49 F1 00 C9 19 B0 4B 65 04 C9 10 B0 45 AD 74 02 85
|
|
.byte $03, $AD, $76, $02, $85, $04, $AD, $8C, $02, $85, $05, $AD, $92, $02, $85, $06 ; CPU:$DA59 PRG:1A59 03 AD 76 02 85 04 AD 8C 02 85 05 AD 92 02 85 06
|
|
.byte $A0, $00, $B1, $00, $8D, $74, $02, $A5, $03, $91, $00, $A0, $02, $B1, $00, $8D ; CPU:$DA69 PRG:1A69 A0 00 B1 00 8D 74 02 A5 03 91 00 A0 02 B1 00 8D
|
|
.byte $76, $02, $A5, $04, $91, $00, $A6, $02, $BD, $8D, $02, $8D, $8C, $02, $A5, $05 ; CPU:$DA79 PRG:1A79 76 02 A5 04 91 00 A6 02 BD 8D 02 8D 8C 02 A5 05
|
|
.byte $9D, $8D, $02, $BD, $93, $02, $8D, $92, $02, $A5, $06, $9D, $93, $02, $4C, $AA ; CPU:$DA89 PRG:1A89 9D 8D 02 BD 93 02 8D 92 02 A5 06 9D 93 02 4C AA
|
|
.byte $DA, $A5, $00, $38, $E9, $04, $85, $00, $46, $03, $C6, $02, $30, $03, $4C, $19 ; CPU:$DA99 PRG:1A99 DA A5 00 38 E9 04 85 00 46 03 C6 02 30 03 4C 19
|
|
.byte $DA, $20, $99, $E1, $4C, $B0, $DA ; CPU:$DAA9 PRG:1AA9 DA 20 99 E1 4C B0 DA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAB0_Entry_DAB0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAB0_Entry_DAB0:
|
|
lda #$74 ; CPU:$DAB0 PRG:1AB0 A9 74
|
|
sta Zp00 ; CPU:$DAB2 PRG:1AB2 85 00
|
|
lda #$02 ; CPU:$DAB4 PRG:1AB4 A9 02
|
|
sta Zp01 ; CPU:$DAB6 PRG:1AB6 85 01
|
|
lda #$00 ; CPU:$DAB8 PRG:1AB8 A9 00
|
|
sta Zp02 ; CPU:$DABA PRG:1ABA 85 02
|
|
lda #$07 ; CPU:$DABC PRG:1ABC A9 07
|
|
sta Zp03 ; CPU:$DABE PRG:1ABE 85 03
|
|
lda #$00 ; CPU:$DAC0 PRG:1AC0 A9 00
|
|
sta Zp04 ; CPU:$DAC2 PRG:1AC2 85 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC4_StoreAndContinue_DAC4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC4_StoreAndContinue_DAC4:
|
|
lda #$00 ; CPU:$DAC4 PRG:1AC4 A9 00
|
|
sta Zp05 ; CPU:$DAC6 PRG:1AC6 85 05
|
|
tax ; CPU:$DAC8 PRG:1AC8 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC9_TransferIndexAndContinue_DAC9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC9_TransferIndexAndContinue_DAC9:
|
|
ldy #$02 ; CPU:$DAC9 PRG:1AC9 A0 02
|
|
lda (Zp00),y ; CPU:$DACB PRG:1ACB B1 00
|
|
bne Sub_DAC9_OnNonzero_DAD3 ; CPU:$DACD PRG:1ACD D0 04
|
|
lda #$FF ; CPU:$DACF PRG:1ACF A9 FF
|
|
bne Sub_DAC9_OnNonzero_DAD7 ; CPU:$DAD1 PRG:1AD1 D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC9_OnNonzero_DAD3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC9_OnNonzero_DAD3:
|
|
clc ; CPU:$DAD3 PRG:1AD3 18
|
|
adc $DE15,x ; CPU:$DAD4 PRG:1AD4 7D 15 DE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC9_OnNonzero_DAD7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC9_OnNonzero_DAD7:
|
|
ldy #$00 ; CPU:$DAD7 PRG:1AD7 A0 00
|
|
sta (Zp02),y ; CPU:$DAD9 PRG:1AD9 91 02
|
|
ldy Zp04 ; CPU:$DADB PRG:1ADB A4 04
|
|
lda $028C,y ; CPU:$DADD PRG:1ADD B9 8C 02
|
|
asl a ; CPU:$DAE0 PRG:1AE0 0A
|
|
rol a ; CPU:$DAE1 PRG:1AE1 2A
|
|
rol a ; CPU:$DAE2 PRG:1AE2 2A
|
|
and #$03 ; CPU:$DAE3 PRG:1AE3 29 03
|
|
beq Sub_DAC9_OnZero_DB10 ; CPU:$DAE5 PRG:1AE5 F0 29
|
|
cmp #$02 ; CPU:$DAE7 PRG:1AE7 C9 02
|
|
beq Sub_DAC9_OnZero_DB56 ; CPU:$DAE9 PRG:1AE9 F0 6B
|
|
bcc Sub_DAC9_OnCarryClear_DB33 ; CPU:$DAEB PRG:1AEB 90 46
|
|
lda $028C,y ; CPU:$DAED PRG:1AED B9 8C 02
|
|
asl a ; CPU:$DAF0 PRG:1AF0 0A
|
|
asl a ; CPU:$DAF1 PRG:1AF1 0A
|
|
clc ; CPU:$DAF2 PRG:1AF2 18
|
|
adc Zp05 ; CPU:$DAF3 PRG:1AF3 65 05
|
|
tay ; CPU:$DAF5 PRG:1AF5 A8
|
|
sta Zp06 ; CPU:$DAF6 PRG:1AF6 85 06
|
|
lda $DCE1,y ; CPU:$DAF8 PRG:1AF8 B9 E1 DC
|
|
ldy #$01 ; CPU:$DAFB PRG:1AFB A0 01
|
|
sta (Zp02),y ; CPU:$DAFD PRG:1AFD 91 02
|
|
ldy Zp04 ; CPU:$DAFF PRG:1AFF A4 04
|
|
lda $0292,y ; CPU:$DB01 PRG:1B01 B9 92 02
|
|
ldy Zp06 ; CPU:$DB04 PRG:1B04 A4 06
|
|
ora $DE15,y ; CPU:$DB06 PRG:1B06 19 15 DE
|
|
ldy #$02 ; CPU:$DB09 PRG:1B09 A0 02
|
|
sta (Zp02),y ; CPU:$DB0B PRG:1B0B 91 02
|
|
jmp Sub_DB76_StoreAndContinue_DB76 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC9_OnZero_DB10
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC9_OnZero_DB10:
|
|
lda $028C,y ; CPU:$DB10 PRG:1B10 B9 8C 02
|
|
asl a ; CPU:$DB13 PRG:1B13 0A
|
|
asl a ; CPU:$DB14 PRG:1B14 0A
|
|
clc ; CPU:$DB15 PRG:1B15 18
|
|
adc Zp05 ; CPU:$DB16 PRG:1B16 65 05
|
|
tay ; CPU:$DB18 PRG:1B18 A8
|
|
sta Zp06 ; CPU:$DB19 PRG:1B19 85 06
|
|
lda $DBAD,y ; CPU:$DB1B PRG:1B1B B9 AD DB
|
|
ldy #$01 ; CPU:$DB1E PRG:1B1E A0 01
|
|
sta (Zp02),y ; CPU:$DB20 PRG:1B20 91 02
|
|
ldy Zp04 ; CPU:$DB22 PRG:1B22 A4 04
|
|
lda $0292,y ; CPU:$DB24 PRG:1B24 B9 92 02
|
|
ldy Zp06 ; CPU:$DB27 PRG:1B27 A4 06
|
|
ora $DCE1,y ; CPU:$DB29 PRG:1B29 19 E1 DC
|
|
ldy #$02 ; CPU:$DB2C PRG:1B2C A0 02
|
|
sta (Zp02),y ; CPU:$DB2E PRG:1B2E 91 02
|
|
jmp Sub_DB76_StoreAndContinue_DB76 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC9_OnCarryClear_DB33
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC9_OnCarryClear_DB33:
|
|
lda $028C,y ; CPU:$DB33 PRG:1B33 B9 8C 02
|
|
asl a ; CPU:$DB36 PRG:1B36 0A
|
|
asl a ; CPU:$DB37 PRG:1B37 0A
|
|
clc ; CPU:$DB38 PRG:1B38 18
|
|
adc Zp05 ; CPU:$DB39 PRG:1B39 65 05
|
|
tay ; CPU:$DB3B PRG:1B3B A8
|
|
sta Zp06 ; CPU:$DB3C PRG:1B3C 85 06
|
|
lda $DCAD,y ; CPU:$DB3E PRG:1B3E B9 AD DC
|
|
ldy #$01 ; CPU:$DB41 PRG:1B41 A0 01
|
|
sta (Zp02),y ; CPU:$DB43 PRG:1B43 91 02
|
|
ldy Zp04 ; CPU:$DB45 PRG:1B45 A4 04
|
|
lda $0292,y ; CPU:$DB47 PRG:1B47 B9 92 02
|
|
ldy Zp06 ; CPU:$DB4A PRG:1B4A A4 06
|
|
ora $DDE1,y ; CPU:$DB4C PRG:1B4C 19 E1 DD
|
|
ldy #$02 ; CPU:$DB4F PRG:1B4F A0 02
|
|
sta (Zp02),y ; CPU:$DB51 PRG:1B51 91 02
|
|
jmp Sub_DB76_StoreAndContinue_DB76 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAC9_OnZero_DB56
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DAC9_OnZero_DB56:
|
|
lda $028C,y ; CPU:$DB56 PRG:1B56 B9 8C 02
|
|
asl a ; CPU:$DB59 PRG:1B59 0A
|
|
asl a ; CPU:$DB5A PRG:1B5A 0A
|
|
clc ; CPU:$DB5B PRG:1B5B 18
|
|
adc Zp05 ; CPU:$DB5C PRG:1B5C 65 05
|
|
tay ; CPU:$DB5E PRG:1B5E A8
|
|
sta Zp06 ; CPU:$DB5F PRG:1B5F 85 06
|
|
lda $DCE1,y ; CPU:$DB61 PRG:1B61 B9 E1 DC
|
|
ldy #$01 ; CPU:$DB64 PRG:1B64 A0 01
|
|
sta (Zp02),y ; CPU:$DB66 PRG:1B66 91 02
|
|
ldy Zp04 ; CPU:$DB68 PRG:1B68 A4 04
|
|
lda $0292,y ; CPU:$DB6A PRG:1B6A B9 92 02
|
|
ldy Zp06 ; CPU:$DB6D PRG:1B6D A4 06
|
|
ora $DE15,y ; CPU:$DB6F PRG:1B6F 19 15 DE
|
|
ldy #$02 ; CPU:$DB72 PRG:1B72 A0 02
|
|
sta (Zp02),y ; CPU:$DB74 PRG:1B74 91 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB76_StoreAndContinue_DB76
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DB76_StoreAndContinue_DB76:
|
|
ldy #$00 ; CPU:$DB76 PRG:1B76 A0 00
|
|
lda (Zp00),y ; CPU:$DB78 PRG:1B78 B1 00
|
|
bne Sub_DB76_OnNonzero_DB80 ; CPU:$DB7A PRG:1B7A D0 04
|
|
lda #$FF ; CPU:$DB7C PRG:1B7C A9 FF
|
|
bne Sub_DB76_OnNonzero_DB84 ; CPU:$DB7E PRG:1B7E D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB76_OnNonzero_DB80
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DB76_OnNonzero_DB80:
|
|
clc ; CPU:$DB80 PRG:1B80 18
|
|
adc $DE16,x ; CPU:$DB81 PRG:1B81 7D 16 DE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB76_OnNonzero_DB84
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DB76_OnNonzero_DB84:
|
|
ldy #$03 ; CPU:$DB84 PRG:1B84 A0 03
|
|
sta (Zp02),y ; CPU:$DB86 PRG:1B86 91 02
|
|
lda Zp02 ; CPU:$DB88 PRG:1B88 A5 02
|
|
clc ; CPU:$DB8A PRG:1B8A 18
|
|
adc #$04 ; CPU:$DB8B PRG:1B8B 69 04
|
|
sta Zp02 ; CPU:$DB8D PRG:1B8D 85 02
|
|
inc Zp05 ; CPU:$DB8F PRG:1B8F E6 05
|
|
inx ; CPU:$DB91 PRG:1B91 E8
|
|
inx ; CPU:$DB92 PRG:1B92 E8
|
|
cpx #$08 ; CPU:$DB93 PRG:1B93 E0 08
|
|
beq Sub_DB76_OnZero_DB9A ; CPU:$DB95 PRG:1B95 F0 03
|
|
jmp Sub_DAC9_TransferIndexAndContinue_DAC9 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB76_OnZero_DB9A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DB76_OnZero_DB9A:
|
|
lda Zp00 ; CPU:$DB9A PRG:1B9A A5 00
|
|
clc ; CPU:$DB9C PRG:1B9C 18
|
|
adc #$04 ; CPU:$DB9D PRG:1B9D 69 04
|
|
sta Zp00 ; CPU:$DB9F PRG:1B9F 85 00
|
|
inc Zp04 ; CPU:$DBA1 PRG:1BA1 E6 04
|
|
lda Zp04 ; CPU:$DBA3 PRG:1BA3 A5 04
|
|
cmp #$06 ; CPU:$DBA5 PRG:1BA5 C9 06
|
|
beq Sub_DB76_OnZero_DBAC ; CPU:$DBA7 PRG:1BA7 F0 03
|
|
jmp Sub_DAC4_StoreAndContinue_DAC4 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB76_OnZero_DBAC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DB76_OnZero_DBAC:
|
|
rts ; CPU:$DBAC PRG:1BAC 60
|
|
; ---- data $DBAD-$DE3C (656 bytes) ----
|
|
; referenced by `adc $DE15,x` at $DAD4 (operand $DE15 falls inside this region)
|
|
; referenced by `lda $DCE1,y` at $DAF8 (operand $DCE1 falls inside this region)
|
|
; referenced by `ora $DE15,y` at $DB06 (operand $DE15 falls inside this region)
|
|
; referenced by `lda $DBAD,y` at $DB1B (operand $DBAD falls inside this region)
|
|
; referenced by `ora $DCE1,y` at $DB29 (operand $DCE1 falls inside this region)
|
|
; referenced by `lda $DCAD,y` at $DB3E (operand $DCAD falls inside this region)
|
|
; ... and 4 further references from decoded code
|
|
.byte $4C, $4C, $4C, $4C, $00, $00, $00, $00, $04, $04, $03, $03, $08, $08, $07, $07 ; CPU:$DBAD PRG:1BAD 4C 4C 4C 4C 00 00 00 00 04 04 03 03 08 08 07 07
|
|
.byte $02, $01, $02, $01, $06, $05, $06, $05, $03, $03, $04, $04, $07, $07, $08, $08 ; CPU:$DBBD PRG:1BBD 02 01 02 01 06 05 06 05 03 03 04 04 07 07 08 08
|
|
.byte $01, $02, $01, $02, $05, $06, $05, $06, $18, $18, $19, $19, $18, $18, $1A, $1A ; CPU:$DBCD PRG:1BCD 01 02 01 02 05 06 05 06 18 18 19 19 18 18 1A 1A
|
|
.byte $1B, $1C, $1D, $1F, $1B, $1C, $1E, $20, $21, $21, $22, $22, $21, $21, $23, $23 ; CPU:$DBDD PRG:1BDD 1B 1C 1D 1F 1B 1C 1E 20 21 21 22 22 21 21 23 23
|
|
.byte $1C, $1B, $1F, $1D, $1C, $1B, $20, $1E, $00, $00, $00, $00, $09, $09, $0A, $0A ; CPU:$DBED PRG:1BED 1C 1B 1F 1D 1C 1B 20 1E 00 00 00 00 09 09 0A 0A
|
|
.byte $0B, $0B, $0C, $0C, $4C, $4C, $0D, $0D, $4C, $4C, $0E, $0E, $4C, $4C, $0F, $0F ; CPU:$DBFD PRG:1BFD 0B 0B 0C 0C 4C 4C 0D 0D 4C 4C 0E 0E 4C 4C 0F 0F
|
|
.byte $4C, $4C, $10, $10, $4C, $4C, $11, $11, $4C, $4C, $12, $12, $4C, $4C, $13, $13 ; CPU:$DC0D PRG:1C0D 4C 4C 10 10 4C 4C 11 11 4C 4C 12 12 4C 4C 13 13
|
|
.byte $14, $15, $16, $17, $4C, $4C, $4C, $4C, $24, $24, $25, $25, $24, $24, $26, $26 ; CPU:$DC1D PRG:1C1D 14 15 16 17 4C 4C 4C 4C 24 24 25 25 24 24 26 26
|
|
.byte $27, $27, $4C, $4C, $28, $29, $2A, $2B, $2C, $2C, $2D, $2D, $29, $28, $2B, $2A ; CPU:$DC2D PRG:1C2D 27 27 4C 4C 28 29 2A 2B 2C 2C 2D 2D 29 28 2B 2A
|
|
.byte $90, $91, $92, $93, $94, $95, $96, $97, $98, $99, $9A, $9B, $9C, $9D, $9E, $9F ; CPU:$DC3D PRG:1C3D 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F
|
|
.byte $A0, $A1, $A2, $A3, $A4, $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC, $AD, $AE, $AF ; CPU:$DC4D PRG:1C4D A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF
|
|
.byte $2E, $2F, $30, $31, $32, $2F, $33, $31, $34, $2F, $35, $31, $36, $2F, $37, $31 ; CPU:$DC5D PRG:1C5D 2E 2F 30 31 32 2F 33 31 34 2F 35 31 36 2F 37 31
|
|
.byte $38, $2F, $39, $31, $3A, $2F, $3B, $31, $3C, $2F, $3D, $31, $3E, $3F, $40, $41 ; CPU:$DC6D PRG:1C6D 38 2F 39 31 3A 2F 3B 31 3C 2F 3D 31 3E 3F 40 41
|
|
.byte $42, $3F, $43, $41, $44, $45, $46, $47, $48, $45, $49, $47, $4A, $45, $4B, $47 ; CPU:$DC7D PRG:1C7D 42 3F 43 41 44 45 46 47 48 45 49 47 4A 45 4B 47
|
|
.byte $4D, $4E, $4F, $50, $4E, $4D, $50, $4F, $4F, $50, $4D, $4E, $50, $4F, $4E, $4D ; CPU:$DC8D PRG:1C8D 4D 4E 4F 50 4E 4D 50 4F 4F 50 4D 4E 50 4F 4E 4D
|
|
.byte $4D, $4E, $4F, $51, $4E, $52, $53, $54, $4F, $51, $4D, $4E, $53, $54, $4E, $52 ; CPU:$DC9D PRG:1C9D 4D 4E 4F 51 4E 52 53 54 4F 51 4D 4E 53 54 4E 52
|
|
.byte $55, $4C, $56, $4C, $56, $4C, $55, $4C, $4C, $57, $4C, $58, $4C, $59, $4C, $5A ; CPU:$DCAD PRG:1CAD 55 4C 56 4C 56 4C 55 4C 4C 57 4C 58 4C 59 4C 5A
|
|
.byte $4C, $5B, $4C, $5C, $4C, $4C, $4C, $5D, $18, $18, $19, $5E, $60, $61, $19, $5E ; CPU:$DCBD PRG:1CBD 4C 5B 4C 5C 4C 4C 4C 5D 18 18 19 5E 60 61 19 5E
|
|
.byte $1B, $1C, $1D, $62, $1B, $1C, $1E, $63, $64, $65, $66, $67, $64, $65, $68, $69 ; CPU:$DCCD PRG:1CCD 1B 1C 1D 62 1B 1C 1E 63 64 65 66 67 64 65 68 69
|
|
.byte $6A, $6B, $4C, $4C, $00, $00, $00, $00, $00, $40, $80, $C0, $80, $C0, $80, $C0 ; CPU:$DCDD PRG:1CDD 6A 6B 4C 4C 00 00 00 00 00 40 80 C0 80 C0 80 C0
|
|
.byte $80, $C0, $80, $C0, $00, $00, $80, $80, $00, $00, $80, $80, $00, $40, $00, $40 ; CPU:$DCED PRG:1CED 80 C0 80 C0 00 00 80 80 00 00 80 80 00 40 00 40
|
|
.byte $00, $40, $00, $40, $40, $40, $C0, $C0, $40, $40, $C0, $C0, $00, $40, $00, $40 ; CPU:$DCFD PRG:1CFD 00 40 00 40 40 40 C0 C0 40 40 C0 C0 00 40 00 40
|
|
.byte $00, $40, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $40 ; CPU:$DD0D PRG:1D0D 00 40 00 40 00 00 00 00 00 00 00 00 00 40 00 40
|
|
.byte $00, $40, $00, $40, $40, $40, $40, $40, $40, $40, $40, $40, $00, $40, $80, $C0 ; CPU:$DD1D PRG:1D1D 00 40 00 40 40 40 40 40 40 40 40 40 00 40 80 C0
|
|
.byte $00, $40, $00, $40, $00, $40, $00, $40, $00, $00, $00, $40, $00, $00, $00, $40 ; CPU:$DD2D PRG:1D2D 00 40 00 40 00 40 00 40 00 00 00 40 00 00 00 40
|
|
.byte $00, $00, $00, $40, $00, $00, $00, $40, $00, $00, $00, $40, $00, $00, $00, $40 ; CPU:$DD3D PRG:1D3D 00 00 00 40 00 00 00 40 00 00 00 40 00 00 00 40
|
|
.byte $00, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $40 ; CPU:$DD4D PRG:1D4D 00 00 00 40 00 00 00 00 00 00 00 00 00 40 00 40
|
|
.byte $00, $40, $00, $40, $00, $40, $00, $00, $00, $00, $00, $00, $00, $40, $00, $40 ; CPU:$DD5D PRG:1D5D 00 40 00 40 00 40 00 00 00 00 00 00 00 40 00 40
|
|
.byte $40, $40, $40, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DD6D PRG:1D6D 40 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DD7D PRG:1D7D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DD8D PRG:1D8D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DD9D PRG:1D9D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DDAD PRG:1DAD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $40, $40, $00, $40, $80, $00, $80, $80 ; CPU:$DDBD PRG:1DBD 00 00 00 00 00 00 00 00 40 40 00 40 80 00 80 80
|
|
.byte $00, $C0, $C0, $C0, $00, $00, $00, $00, $40, $00, $00, $00, $80, $80, $80, $80 ; CPU:$DDCD PRG:1DCD 00 C0 C0 C0 00 00 00 00 40 00 00 00 80 80 80 80
|
|
.byte $80, $80, $C0, $80, $00, $00, $00, $00, $80, $00, $80, $00, $00, $00, $00, $00 ; CPU:$DDDD PRG:1DDD 80 80 C0 80 00 00 00 00 80 00 80 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00 ; CPU:$DDED PRG:1DED 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$DDFD PRG:1DFD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $00, $00, $00, $00, $00, $03, $F4, $03, $FC, $0B, $F4, $0B, $FC ; CPU:$DE0D PRG:1E0D 00 00 00 00 00 00 00 00 03 F4 03 FC 0B F4 0B FC
|
|
.byte $A5, $4B, $29, $0F, $F0, $01, $60, $AA, $B5, $6C, $C9, $07, $F0, $0A, $C9, $01 ; CPU:$DE1D PRG:1E1D A5 4B 29 0F F0 01 60 AA B5 6C C9 07 F0 0A C9 01
|
|
.byte $D0, $04, $A9, $02, $D0, $02, $A9, $01, $95, $6C, $E8, $E0, $04, $D0, $E9, $60 ; CPU:$DE2D PRG:1E2D D0 04 A9 02 D0 02 A9 01 95 6C E8 E0 04 D0 E9 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:
|
|
lda GameplaySuspended ; CPU:$DE3D PRG:1E3D A5 48
|
|
beq UploadVRAM_023F ; CPU:$DE3F PRG:1E3F F0 03
|
|
jmp FrameTimedLogic ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadVRAM_023F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadVRAM_023F:
|
|
lda $023F ; CPU:$DE44 PRG:1E44 AD 3F 02
|
|
cmp #$FF ; CPU:$DE47 PRG:1E47 C9 FF
|
|
beq UploadVRAM_0245 ; CPU:$DE49 PRG:1E49 F0 28
|
|
lda PPUSTATUS ; CPU:$DE4B PRG:1E4B AD 02 20
|
|
lda $026B ; CPU:$DE4E PRG:1E4E AD 6B 02
|
|
sta PPUADDR ; CPU:$DE51 PRG:1E51 8D 06 20
|
|
lda $026C ; CPU:$DE54 PRG:1E54 AD 6C 02
|
|
sta PPUADDR ; CPU:$DE57 PRG:1E57 8D 06 20
|
|
ldy #$00 ; CPU:$DE5A PRG:1E5A A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadVRAM_023F_Loop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadVRAM_023F_Loop:
|
|
lda $023F,y ; CPU:$DE5C PRG:1E5C B9 3F 02
|
|
sta PPUDATA ; CPU:$DE5F PRG:1E5F 8D 07 20
|
|
iny ; CPU:$DE62 PRG:1E62 C8
|
|
cpy #$06 ; CPU:$DE63 PRG:1E63 C0 06
|
|
bne UploadVRAM_023F_Loop ; CPU:$DE65 PRG:1E65 D0 F5
|
|
lda #$30 ; CPU:$DE67 PRG:1E67 A9 30
|
|
sta PPUDATA ; CPU:$DE69 PRG:1E69 8D 07 20
|
|
lda #$FF ; CPU:$DE6C PRG:1E6C A9 FF
|
|
sta $023F ; CPU:$DE6E PRG:1E6E 8D 3F 02
|
|
bne UploadVRAM_026D ; CPU:$DE71 PRG:1E71 D0 2D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadVRAM_0245
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadVRAM_0245:
|
|
lda $0245 ; CPU:$DE73 PRG:1E73 AD 45 02
|
|
cmp #$FF ; CPU:$DE76 PRG:1E76 C9 FF
|
|
beq UploadVRAM_026D ; CPU:$DE78 PRG:1E78 F0 26
|
|
lda PPUSTATUS ; CPU:$DE7A PRG:1E7A AD 02 20
|
|
lda $0272 ; CPU:$DE7D PRG:1E7D AD 72 02
|
|
sta PPUADDR ; CPU:$DE80 PRG:1E80 8D 06 20
|
|
lda $0273 ; CPU:$DE83 PRG:1E83 AD 73 02
|
|
sta PPUADDR ; CPU:$DE86 PRG:1E86 8D 06 20
|
|
ldy #$00 ; CPU:$DE89 PRG:1E89 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadVRAM_0245_Loop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadVRAM_0245_Loop:
|
|
lda $0245,y ; CPU:$DE8B PRG:1E8B B9 45 02
|
|
sta PPUDATA ; CPU:$DE8E PRG:1E8E 8D 07 20
|
|
iny ; CPU:$DE91 PRG:1E91 C8
|
|
cpy #$06 ; CPU:$DE92 PRG:1E92 C0 06
|
|
bne UploadVRAM_0245_Loop ; CPU:$DE94 PRG:1E94 D0 F5
|
|
lda #$30 ; CPU:$DE96 PRG:1E96 A9 30
|
|
sta PPUDATA ; CPU:$DE98 PRG:1E98 8D 07 20
|
|
lda #$FF ; CPU:$DE9B PRG:1E9B A9 FF
|
|
sta $0245 ; CPU:$DE9D PRG:1E9D 8D 45 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadVRAM_026D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadVRAM_026D:
|
|
lda FrameCounter ; CPU:$DEA0 PRG:1EA0 A5 4B
|
|
and #$07 ; CPU:$DEA2 PRG:1EA2 29 07
|
|
bne FrameTimedLogic ; CPU:$DEA4 PRG:1EA4 D0 2E
|
|
lda PPUSTATUS ; CPU:$DEA6 PRG:1EA6 AD 02 20
|
|
lda $026D ; CPU:$DEA9 PRG:1EA9 AD 6D 02
|
|
sta PPUADDR ; CPU:$DEAC PRG:1EAC 8D 06 20
|
|
lda $026E ; CPU:$DEAF PRG:1EAF AD 6E 02
|
|
sta PPUADDR ; CPU:$DEB2 PRG:1EB2 8D 06 20
|
|
ldx #$00 ; CPU:$DEB5 PRG:1EB5 A2 00
|
|
lda FrameCounter ; CPU:$DEB7 PRG:1EB7 A5 4B
|
|
and #$18 ; CPU:$DEB9 PRG:1EB9 29 18
|
|
beq UpdateSprites_OnZero_DECA ; CPU:$DEBB PRG:1EBB F0 0D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UploadVRAM_026F_Loop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UploadVRAM_026F_Loop:
|
|
lda $026F,x ; CPU:$DEBD PRG:1EBD BD 6F 02
|
|
sta PPUDATA ; CPU:$DEC0 PRG:1EC0 8D 07 20
|
|
inx ; CPU:$DEC3 PRG:1EC3 E8
|
|
cpx #$03 ; CPU:$DEC4 PRG:1EC4 E0 03
|
|
bne UploadVRAM_026F_Loop ; CPU:$DEC6 PRG:1EC6 D0 F5
|
|
beq FrameTimedLogic ; CPU:$DEC8 PRG:1EC8 F0 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateSprites_OnZero_DECA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_OnZero_DECA:
|
|
lda #$20 ; CPU:$DECA PRG:1ECA A9 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateSprites_OnNonzero_DECC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_OnNonzero_DECC:
|
|
sta PPUDATA ; CPU:$DECC PRG:1ECC 8D 07 20
|
|
inx ; CPU:$DECF PRG:1ECF E8
|
|
cpx #$03 ; CPU:$DED0 PRG:1ED0 E0 03
|
|
bne UpdateSprites_OnNonzero_DECC ; CPU:$DED2 PRG:1ED2 D0 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: FrameTimedLogic
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
FrameTimedLogic:
|
|
lda FrameCounter ; CPU:$DED4 PRG:1ED4 A5 4B
|
|
and #$01 ; CPU:$DED6 PRG:1ED6 29 01
|
|
beq FrameTimedLogic_OnZero_DF01 ; CPU:$DED8 PRG:1ED8 F0 27
|
|
ldy #$00 ; CPU:$DEDA PRG:1EDA A0 00
|
|
ldx #$00 ; CPU:$DEDC PRG:1EDC A2 00
|
|
lda CocktailModeFlag ; CPU:$DEDE PRG:1EDE A5 46
|
|
and ActivePlayerFlag ; CPU:$DEE0 PRG:1EE0 25 47
|
|
beq FrameTimedLogic_JoinBranchPaths_DEE6 ; CPU:$DEE2 PRG:1EE2 F0 02
|
|
ldy #$08 ; CPU:$DEE4 PRG:1EE4 A0 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: FrameTimedLogic_JoinBranchPaths_DEE6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
FrameTimedLogic_JoinBranchPaths_DEE6:
|
|
lda PPUSTATUS ; CPU:$DEE6 PRG:1EE6 AD 02 20
|
|
lda $DF2B,y ; CPU:$DEE9 PRG:1EE9 B9 2B DF
|
|
sta PPUADDR ; CPU:$DEEC PRG:1EEC 8D 06 20
|
|
lda $DF2C,y ; CPU:$DEEF PRG:1EEF B9 2C DF
|
|
sta PPUADDR ; CPU:$DEF2 PRG:1EF2 8D 06 20
|
|
lda Zp6C,x ; CPU:$DEF5 PRG:1EF5 B5 6C
|
|
sta PPUDATA ; CPU:$DEF7 PRG:1EF7 8D 07 20
|
|
iny ; CPU:$DEFA PRG:1EFA C8
|
|
iny ; CPU:$DEFB PRG:1EFB C8
|
|
inx ; CPU:$DEFC PRG:1EFC E8
|
|
cpx #$04 ; CPU:$DEFD PRG:1EFD E0 04
|
|
bne FrameTimedLogic_JoinBranchPaths_DEE6 ; CPU:$DEFF PRG:1EFF D0 E5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: FrameTimedLogic_OnZero_DF01
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
FrameTimedLogic_OnZero_DF01:
|
|
lda PPUSTATUS ; CPU:$DF01 PRG:1F01 AD 02 20
|
|
ldy #$FF ; CPU:$DF04 PRG:1F04 A0 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: FrameTimedLogic_OnZero_DF06
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
FrameTimedLogic_OnZero_DF06:
|
|
iny ; CPU:$DF06 PRG:1F06 C8
|
|
lda $024B,y ; CPU:$DF07 PRG:1F07 B9 4B 02
|
|
cmp #$FF ; CPU:$DF0A PRG:1F0A C9 FF
|
|
beq FrameTimedLogic_OnZero_DF27 ; CPU:$DF0C PRG:1F0C F0 19
|
|
sta PPUADDR ; CPU:$DF0E PRG:1F0E 8D 06 20
|
|
iny ; CPU:$DF11 PRG:1F11 C8
|
|
lda $024B,y ; CPU:$DF12 PRG:1F12 B9 4B 02
|
|
sta PPUADDR ; CPU:$DF15 PRG:1F15 8D 06 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: FrameTimedLogic_OnNonzero_DF18
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
FrameTimedLogic_OnNonzero_DF18:
|
|
iny ; CPU:$DF18 PRG:1F18 C8
|
|
lda $024B,y ; CPU:$DF19 PRG:1F19 B9 4B 02
|
|
beq FrameTimedLogic_OnZero_DF06 ; CPU:$DF1C PRG:1F1C F0 E8
|
|
cmp #$FF ; CPU:$DF1E PRG:1F1E C9 FF
|
|
beq FrameTimedLogic_OnZero_DF27 ; CPU:$DF20 PRG:1F20 F0 05
|
|
sta PPUDATA ; CPU:$DF22 PRG:1F22 8D 07 20
|
|
bne FrameTimedLogic_OnNonzero_DF18 ; CPU:$DF25 PRG:1F25 D0 F1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: FrameTimedLogic_OnZero_DF27
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
FrameTimedLogic_OnZero_DF27:
|
|
sta $024B ; CPU:$DF27 PRG:1F27 8D 4B 02
|
|
rts ; CPU:$DF2A PRG:1F2A 60
|
|
; ---- data $DF2B-$E18C (610 bytes) ----
|
|
; referenced by `lda $DF2B,y` at $DEE9 (operand $DF2B falls inside this region)
|
|
; referenced by `lda $DF2C,y` at $DEEF (operand $DF2C falls inside this region)
|
|
.byte $20, $B4, $20, $A2, $22, $D4, $22, $C2, $28, $B4, $28, $A2, $2A, $D4, $2A, $C2 ; CPU:$DF2B PRG:1F2B 20 B4 20 A2 22 D4 22 C2 28 B4 28 A2 2A D4 2A C2
|
|
.byte $A2, $00, $AD, $2A, $02, $C9, $09, $F0, $36, $E8, $E8, $C9, $03, $F0, $30, $C9 ; CPU:$DF3B PRG:1F3B A2 00 AD 2A 02 C9 09 F0 36 E8 E8 C9 03 F0 30 C9
|
|
.byte $01, $F0, $05, $C9, $02, $F0, $01, $60, $20, $22, $E0, $A5, $1A, $85, $02, $A5 ; CPU:$DF4B PRG:1F4B 01 F0 05 C9 02 F0 01 60 20 22 E0 A5 1A 85 02 A5
|
|
.byte $1C, $85, $03, $20, $22, $E2, $A2, $00, $A5, $03, $29, $07, $F0, $02, $E8, $E8 ; CPU:$DF5B PRG:1F5B 1C 85 03 20 22 E2 A2 00 A5 03 29 07 F0 02 E8 E8
|
|
.byte $A5, $02, $29, $0F, $C9, $04, $F0, $01, $E8, $A9, $07, $95, $6C, $A2, $04, $A9 ; CPU:$DF6B PRG:1F6B A5 02 29 0F C9 04 F0 01 E8 A9 07 95 6C A2 04 A9
|
|
.byte $00, $85, $D5, $85, $D6, $A5, $1A, $85, $02, $A5, $1C, $85, $03, $20, $22, $E2 ; CPU:$DF7B PRG:1F7B 00 85 D5 85 D6 A5 1A 85 02 A5 1C 85 03 20 22 E2
|
|
.byte $A0, $FF, $C8, $B9, $4B, $02, $C9, $FF, $D0, $F8, $98, $F0, $06, $A9, $00, $99 ; CPU:$DF8B PRG:1F8B A0 FF C8 B9 4B 02 C9 FF D0 F8 98 F0 06 A9 00 99
|
|
.byte $4B, $02, $C8, $A5, $03, $99, $4B, $02, $C8, $A5, $02, $99, $4B, $02, $C8, $BD ; CPU:$DF9B PRG:1F9B 4B 02 C8 A5 03 99 4B 02 C8 A5 02 99 4B 02 C8 BD
|
|
.byte $02, $E0, $99, $4B, $02, $C8, $A9, $FF, $99, $4B, $02, $A9, $07, $8D, $2A, $02 ; CPU:$DFAB PRG:1FAB 02 E0 99 4B 02 C8 A9 FF 99 4B 02 A9 07 8D 2A 02
|
|
.byte $BD, $03, $E0, $85, $DC, $C6, $6A, $D0, $0C, $A9, $0C, $85, $3F, $A9, $00, $85 ; CPU:$DFBB PRG:1FBB BD 03 E0 85 DC C6 6A D0 0C A9 0C 85 3F A9 00 85
|
|
.byte $87, $A9, $48, $85, $4C, $A5, $6A, $C9, $37, $F0, $04, $C9, $86, $D0, $1B, $A9 ; CPU:$DFCB PRG:1FCB 87 A9 48 85 4C A5 6A C9 37 F0 04 C9 86 D0 1B A9
|
|
.byte $0A, $85, $D7, $A9, $3C, $85, $D8, $A4, $93, $B9, $1A, $E0, $85, $37, $A9, $03 ; CPU:$DFDB PRG:1FDB 0A 85 D7 A9 3C 85 D8 A4 93 B9 1A E0 85 37 A9 03
|
|
.byte $85, $3D, $A9, $60, $85, $2E, $A9, $80, $85, $30, $A5, $6A, $29, $01, $A8, $A9 ; CPU:$DFEB PRG:1FEB 85 3D A9 60 85 2E A9 80 85 30 A5 6A 29 01 A8 A9
|
|
.byte $01, $99, $04, $06, $4C, $A5, $E0, $08, $01, $07, $01, $07, $05, $A2, $00, $B5 ; CPU:$DFFB PRG:1FFB 01 99 04 06 4C A5 E0 08 01 07 01 07 05 A2 00 B5
|
|
.byte $BA, $D0, $05, $A9, $02, $95, $BA, $60, $E8, $E8, $E0, $06, $D0, $F1, $60, $24 ; CPU:$E00B PRG:200B BA D0 05 A9 02 95 BA 60 E8 E8 E0 06 D0 F1 60 24
|
|
.byte $25, $26, $27, $28, $29, $2A, $2B, $A5, $8C, $D0, $06, $A9, $1E, $85, $8A, $A9 ; CPU:$E01B PRG:201B 25 26 27 28 29 2A 2B A5 8C D0 06 A9 1E 85 8A A9
|
|
.byte $00, $85, $89, $A9, $0F, $85, $88, $A2, $03, $B5, $39, $29, $FC, $09, $01, $95 ; CPU:$E02B PRG:202B 00 85 89 A9 0F 85 88 A2 03 B5 39 29 FC 09 01 95
|
|
.byte $39, $CA, $10, $F5, $A9, $11, $8D, $AE, $02, $A9, $0F, $8D, $A9, $02, $A9, $00 ; CPU:$E03B PRG:203B 39 CA 10 F5 A9 11 8D AE 02 A9 0F 8D A9 02 A9 00
|
|
.byte $85, $D9, $A2, $00, $A9, $2F, $85, $00, $A9, $02, $85, $01, $A9, $1E, $85, $02 ; CPU:$E04B PRG:204B 85 D9 A2 00 A9 2F 85 00 A9 02 85 01 A9 1E 85 02
|
|
.byte $A9, $00, $85, $03, $A9, $0F, $C5, $88, $F0, $04, $A5, $D2, $D0, $27, $B5, $B8 ; CPU:$E05B PRG:205B A9 00 85 03 A9 0F C5 88 F0 04 A5 D2 D0 27 B5 B8
|
|
.byte $C9, $04, $D0, $21, $B5, $B9, $18, $69, $02, $29, $03, $85, $04, $A0, $00, $B1 ; CPU:$E06B PRG:206B C9 04 D0 21 B5 B9 18 69 02 29 03 85 04 A0 00 B1
|
|
.byte $02, $A0, $02, $11, $02, $29, $07, $D0, $08, $A4, $04, $B1, $00, $29, $F8, $D0 ; CPU:$E07B PRG:207B 02 A0 02 11 02 29 07 D0 08 A4 04 B1 00 29 F8 D0
|
|
.byte $04, $A5, $04, $95, $B9, $A5, $00, $18, $69, $04, $85, $00, $A5, $02, $18, $69 ; CPU:$E08B PRG:208B 04 A5 04 95 B9 A5 00 18 69 04 85 00 A5 02 18 69
|
|
.byte $04, $85, $02, $E8, $E8, $E0, $08, $D0, $C5, $60, $A5, $48, $F0, $01, $60, $A0 ; CPU:$E09B PRG:209B 04 85 02 E8 E8 E0 08 D0 C5 60 A5 48 F0 01 60 A0
|
|
.byte $00, $A9, $06, $85, $00, $18, $B9, $70, $00, $79, $DC, $00, $99, $70, $00, $C9 ; CPU:$E0AB PRG:20AB 00 A9 06 85 00 18 B9 70 00 79 DC 00 99 70 00 C9
|
|
.byte $0A, $90, $06, $E9, $0A, $99, $70, $00, $38, $A9, $00, $99, $DC, $00, $C8, $C6 ; CPU:$E0BB PRG:20BB 0A 90 06 E9 0A 99 70 00 38 A9 00 99 DC 00 C8 C6
|
|
.byte $00, $D0, $E3, $A2, $00, $88, $B9, $70, $00, $20, $8D, $E1, $C9, $30, $D0, $0F ; CPU:$E0CB PRG:20CB 00 D0 E3 A2 00 88 B9 70 00 20 8D E1 C9 30 D0 0F
|
|
.byte $A9, $20, $9D, $3F, $02, $E8, $88, $D0, $ED, $B9, $70, $00, $20, $8D, $E1, $9D ; CPU:$E0DB PRG:20DB A9 20 9D 3F 02 E8 88 D0 ED B9 70 00 20 8D E1 9D
|
|
.byte $3F, $02, $E8, $88, $10, $F3, $A5, $6B, $D0, $60, $A9, $01, $C5, $73, $D0, $5A ; CPU:$E0EB PRG:20EB 3F 02 E8 88 10 F3 A5 6B D0 60 A9 01 C5 73 D0 5A
|
|
.byte $A9, $01, $85, $6B, $8D, $02, $06, $E6, $67, $A5, $67, $38, $E9, $02, $0A, $85 ; CPU:$E0FB PRG:20FB A9 01 85 6B 8D 02 06 E6 67 A5 67 38 E9 02 0A 85
|
|
.byte $00, $A0, $FF, $C8, $B9, $4B, $02, $C9, $FF, $D0, $F8, $98, $F0, $06, $A9, $00 ; CPU:$E10B PRG:210B 00 A0 FF C8 B9 4B 02 C9 FF D0 F8 98 F0 06 A9 00
|
|
.byte $99, $4B, $02, $C8, $A5, $46, $25, $47, $F0, $02, $A9, $08, $85, $01, $A2, $00 ; CPU:$E11B PRG:211B 99 4B 02 C8 A5 46 25 47 F0 02 A9 08 85 01 A2 00
|
|
.byte $BD, $7F, $E1, $18, $65, $01, $99, $4B, $02, $C8, $E8, $BD, $7F, $E1, $18, $65 ; CPU:$E12B PRG:212B BD 7F E1 18 65 01 99 4B 02 C8 E8 BD 7F E1 18 65
|
|
.byte $00, $99, $4B, $02, $A9, $03, $85, $02, $C8, $E8, $BD, $7F, $E1, $99, $4B, $02 ; CPU:$E13B PRG:213B 00 99 4B 02 A9 03 85 02 C8 E8 BD 7F E1 99 4B 02
|
|
.byte $C6, $02, $D0, $F4, $C8, $E8, $E0, $0A, $D0, $D6, $A0, $05, $B9, $61, $00, $D9 ; CPU:$E14B PRG:214B C6 02 D0 F4 C8 E8 E0 0A D0 D6 A0 05 B9 61 00 D9
|
|
.byte $70, $00, $F0, $03, $90, $05, $60, $88, $10, $F2, $60, $A2, $00, $BD, $3F, $02 ; CPU:$E15B PRG:215B 70 00 F0 03 90 05 60 88 10 F2 60 A2 00 BD 3F 02
|
|
.byte $9D, $45, $02, $E8, $E0, $06, $D0, $F5, $A2, $00, $B5, $70, $95, $61, $E8, $E0 ; CPU:$E16B PRG:216B 9D 45 02 E8 E0 06 D0 F5 A2 00 B5 70 95 61 E8 E0
|
|
.byte $06, $D0, $F7, $60, $23, $17, $3C, $3D, $00, $23, $37, $3E, $3F, $FF, $4A, $4A ; CPU:$E17B PRG:217B 06 D0 F7 60 23 17 3C 3D 00 23 37 3E 3F FF 4A 4A
|
|
.byte $4A, $4A ; CPU:$E18B PRG:218B 4A 4A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: BCDToDigit
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
BCDToDigit:
|
|
and #$0F ; CPU:$E18D PRG:218D 29 0F
|
|
cmp #$0A ; CPU:$E18F PRG:218F C9 0A
|
|
bcs BCDToDigit_OnCarrySet_E196 ; CPU:$E191 PRG:2191 B0 03
|
|
adc #$30 ; CPU:$E193 PRG:2193 69 30
|
|
rts ; CPU:$E195 PRG:2195 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: BCDToDigit_OnCarrySet_E196
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
BCDToDigit_OnCarrySet_E196:
|
|
adc #$36 ; CPU:$E196 PRG:2196 69 36
|
|
rts ; CPU:$E198 PRG:2198 60
|
|
; ---- data $E199-$E221 (137 bytes) ----
|
|
.byte $A5, $1A, $85, $02, $A5, $1C, $85, $03, $20, $22, $E2, $A5, $03, $8D, $00, $02 ; CPU:$E199 PRG:2199 A5 1A 85 02 A5 1C 85 03 20 22 E2 A5 03 8D 00 02
|
|
.byte $A5, $02, $8D, $01, $02, $A2, $00, $A0, $00, $B5, $1A, $85, $02, $B5, $1C, $85 ; CPU:$E1A9 PRG:21A9 A5 02 8D 01 02 A2 00 A0 00 B5 1A 85 02 B5 1C 85
|
|
.byte $03, $20, $22, $E2, $A9, $20, $85, $14, $A9, $00, $85, $15, $A5, $02, $85, $12 ; CPU:$E1B9 PRG:21B9 03 20 22 E2 A9 20 85 14 A9 00 85 15 A5 02 85 12
|
|
.byte $A5, $03, $85, $13, $20, $93, $E2, $A5, $13, $99, $02, $02, $A5, $12, $C8, $99 ; CPU:$E1C9 PRG:21C9 A5 03 85 13 20 93 E2 A5 13 99 02 02 A5 12 C8 99
|
|
.byte $02, $02, $A5, $03, $C8, $99, $02, $02, $A5, $02, $38, $E9, $01, $C8, $99, $02 ; CPU:$E1D9 PRG:21D9 02 02 A5 03 C8 99 02 02 A5 02 38 E9 01 C8 99 02
|
|
.byte $02, $A9, $20, $85, $14, $A9, $00, $85, $15, $A5, $02, $85, $12, $A5, $03, $85 ; CPU:$E1E9 PRG:21E9 02 A9 20 85 14 A9 00 85 15 A5 02 85 12 A5 03 85
|
|
.byte $13, $20, $85, $E2, $A5, $13, $C8, $99, $02, $02, $A5, $12, $C8, $99, $02, $02 ; CPU:$E1F9 PRG:21F9 13 20 85 E2 A5 13 C8 99 02 02 A5 12 C8 99 02 02
|
|
.byte $A5, $03, $C8, $99, $02, $02, $A5, $02, $18, $69, $01, $C8, $99, $02, $02, $E8 ; CPU:$E209 PRG:2209 A5 03 C8 99 02 02 A5 02 18 69 01 C8 99 02 02 E8
|
|
.byte $E8, $E8, $E8, $C8, $C0, $28, $D0, $91, $60 ; CPU:$E219 PRG:2219 E8 E8 E8 C8 C0 28 D0 91 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: BCDToDigit_Entry_E222
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
BCDToDigit_Entry_E222:
|
|
lda #$00 ; CPU:$E222 PRG:2222 A9 00
|
|
sta Zp05 ; CPU:$E224 PRG:2224 85 05
|
|
lda Zp03 ; CPU:$E226 PRG:2226 A5 03
|
|
sec ; CPU:$E228 PRG:2228 38
|
|
sbc #$04 ; CPU:$E229 PRG:2229 E9 04
|
|
and #$F8 ; CPU:$E22B PRG:222B 29 F8
|
|
asl a ; CPU:$E22D PRG:222D 0A
|
|
rol Zp05 ; CPU:$E22E PRG:222E 26 05
|
|
asl a ; CPU:$E230 PRG:2230 0A
|
|
rol Zp05 ; CPU:$E231 PRG:2231 26 05
|
|
clc ; CPU:$E233 PRG:2233 18
|
|
adc #$40 ; CPU:$E234 PRG:2234 69 40
|
|
sta Zp04 ; CPU:$E236 PRG:2236 85 04
|
|
lda #$00 ; CPU:$E238 PRG:2238 A9 00
|
|
adc Zp05 ; CPU:$E23A PRG:223A 65 05
|
|
sta Zp05 ; CPU:$E23C PRG:223C 85 05
|
|
lda Zp02 ; CPU:$E23E PRG:223E A5 02
|
|
sec ; CPU:$E240 PRG:2240 38
|
|
sbc #$04 ; CPU:$E241 PRG:2241 E9 04
|
|
lsr a ; CPU:$E243 PRG:2243 4A
|
|
lsr a ; CPU:$E244 PRG:2244 4A
|
|
lsr a ; CPU:$E245 PRG:2245 4A
|
|
clc ; CPU:$E246 PRG:2246 18
|
|
adc Zp04 ; CPU:$E247 PRG:2247 65 04
|
|
sta Zp02 ; CPU:$E249 PRG:2249 85 02
|
|
lda Zp05 ; CPU:$E24B PRG:224B A5 05
|
|
clc ; CPU:$E24D PRG:224D 18
|
|
adc #$20 ; CPU:$E24E PRG:224E 69 20
|
|
sta Zp03 ; CPU:$E250 PRG:2250 85 03
|
|
lda CocktailModeFlag ; CPU:$E252 PRG:2252 A5 46
|
|
and ActivePlayerFlag ; CPU:$E254 PRG:2254 25 47
|
|
bne BCDToDigit_OnNonzero_E259 ; CPU:$E256 PRG:2256 D0 01
|
|
rts ; CPU:$E258 PRG:2258 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: BCDToDigit_OnNonzero_E259
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
BCDToDigit_OnNonzero_E259:
|
|
lda Zp03 ; CPU:$E259 PRG:2259 A5 03
|
|
clc ; CPU:$E25B PRG:225B 18
|
|
adc #$08 ; CPU:$E25C PRG:225C 69 08
|
|
sta Zp03 ; CPU:$E25E PRG:225E 85 03
|
|
rts ; CPU:$E260 PRG:2260 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateGameLogic
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameLogic:
|
|
ldx #$00 ; CPU:$E261 PRG:2261 A2 00
|
|
ldy #$00 ; CPU:$E263 PRG:2263 A0 00
|
|
lda PPUSTATUS ; CPU:$E265 PRG:2265 AD 02 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateGameLogic_OnNonzero_E268
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameLogic_OnNonzero_E268:
|
|
lda $0200,x ; CPU:$E268 PRG:2268 BD 00 02
|
|
sta PPUADDR ; CPU:$E26B PRG:226B 8D 06 20
|
|
inx ; CPU:$E26E PRG:226E E8
|
|
lda $0200,x ; CPU:$E26F PRG:226F BD 00 02
|
|
sta PPUADDR ; CPU:$E272 PRG:2272 8D 06 20
|
|
lda PPUDATA ; CPU:$E275 PRG:2275 AD 07 20
|
|
lda PPUDATA ; CPU:$E278 PRG:2278 AD 07 20
|
|
sta $022A,y ; CPU:$E27B PRG:227B 99 2A 02
|
|
inx ; CPU:$E27E PRG:227E E8
|
|
iny ; CPU:$E27F PRG:227F C8
|
|
cpx #$2A ; CPU:$E280 PRG:2280 E0 2A
|
|
bne UpdateGameLogic_OnNonzero_E268 ; CPU:$E282 PRG:2282 D0 E4
|
|
rts ; CPU:$E284 PRG:2284 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateGameLogic_Return_E285
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameLogic_Return_E285:
|
|
clc ; CPU:$E285 PRG:2285 18
|
|
lda ScoreAccumLo ; CPU:$E286 PRG:2286 A5 12
|
|
adc ScoreAddendLo ; CPU:$E288 PRG:2288 65 14
|
|
sta ScoreAccumLo ; CPU:$E28A PRG:228A 85 12
|
|
lda ScoreAccumHi ; CPU:$E28C PRG:228C A5 13
|
|
adc ScoreAddendHi ; CPU:$E28E PRG:228E 65 15
|
|
sta ScoreAccumHi ; CPU:$E290 PRG:2290 85 13
|
|
rts ; CPU:$E292 PRG:2292 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateGameLogic_Return_E293
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateGameLogic_Return_E293:
|
|
sec ; CPU:$E293 PRG:2293 38
|
|
lda ScoreAccumLo ; CPU:$E294 PRG:2294 A5 12
|
|
sbc ScoreAddendLo ; CPU:$E296 PRG:2296 E5 14
|
|
sta ScoreAccumLo ; CPU:$E298 PRG:2298 85 12
|
|
lda ScoreAccumHi ; CPU:$E29A PRG:229A A5 13
|
|
sbc ScoreAddendHi ; CPU:$E29C PRG:229C E5 15
|
|
sta ScoreAccumHi ; CPU:$E29E PRG:229E 85 13
|
|
rts ; CPU:$E2A0 PRG:22A0 60
|
|
; ---- data $E2A1-$E343 (163 bytes) ----
|
|
.byte $A9, $20, $85, $02, $A9, $40, $85, $03, $A5, $47, $25, $46, $F0, $04, $A9, $28 ; CPU:$E2A1 PRG:22A1 A9 20 85 02 A9 40 85 03 A5 47 25 46 F0 04 A9 28
|
|
.byte $85, $02, $AD, $F9, $FF, $85, $01, $AD, $F8, $FF, $85, $00, $A2, $1B, $A0, $00 ; CPU:$E2B1 PRG:22B1 85 02 AD F9 FF 85 01 AD F8 FF 85 00 A2 1B A0 00
|
|
.byte $AD, $02, $20, $A5, $02, $8D, $06, $20, $A5, $03, $8D, $06, $20, $A9, $16, $85 ; CPU:$E2C1 PRG:22C1 AD 02 20 A5 02 8D 06 20 A5 03 8D 06 20 A9 16 85
|
|
.byte $04, $A9, $00, $85, $05, $B1, $00, $0A, $26, $05, $0A, $26, $05, $B1, $00, $29 ; CPU:$E2D1 PRG:22D1 04 A9 00 85 05 B1 00 0A 26 05 0A 26 05 B1 00 29
|
|
.byte $3F, $8D, $07, $20, $C6, $04, $C6, $05, $10, $F7, $C8, $D0, $02, $E6, $01, $A5 ; CPU:$E2E1 PRG:22E1 3F 8D 07 20 C6 04 C6 05 10 F7 C8 D0 02 E6 01 A5
|
|
.byte $04, $D0, $DE, $A5, $03, $18, $69, $20, $85, $03, $A5, $02, $69, $00, $85, $02 ; CPU:$E2F1 PRG:22F1 04 D0 DE A5 03 18 69 20 85 03 A5 02 69 00 85 02
|
|
.byte $CA, $D0, $BD, $A0, $02, $A9, $21, $85, $00, $A9, $D6, $85, $01, $A5, $47, $25 ; CPU:$E301 PRG:2301 CA D0 BD A0 02 A9 21 85 00 A9 D6 85 01 A5 47 25
|
|
.byte $46, $F0, $04, $A9, $29, $85, $00, $A2, $07, $AD, $02, $20, $A5, $00, $8D, $06 ; CPU:$E311 PRG:2311 46 F0 04 A9 29 85 00 A2 07 AD 02 20 A5 00 8D 06
|
|
.byte $20, $A5, $01, $8D, $06, $20, $B9, $41, $E3, $8D, $07, $20, $CA, $10, $FA, $A5 ; CPU:$E321 PRG:2321 20 A5 01 8D 06 20 B9 41 E3 8D 07 20 CA 10 FA A5
|
|
.byte $01, $18, $69, $20, $85, $01, $A9, $00, $65, $00, $85, $00, $88, $10, $D8, $60 ; CPU:$E331 PRG:2331 01 18 69 20 85 01 A9 00 65 00 85 00 88 10 D8 60
|
|
.byte $2D, $04, $2D ; CPU:$E341 PRG:2341 2D 04 2D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: WaitVBlankStart
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
WaitVBlankStart:
|
|
lda PPUSTATUS ; CPU:$E344 PRG:2344 AD 02 20
|
|
lda #$20 ; CPU:$E347 PRG:2347 A9 20
|
|
sta PPUADDR ; CPU:$E349 PRG:2349 8D 06 20
|
|
lda #$00 ; CPU:$E34C PRG:234C A9 00
|
|
sta PPUADDR ; CPU:$E34E PRG:234E 8D 06 20
|
|
lda #$01 ; CPU:$E351 PRG:2351 A9 01
|
|
sta Zp02 ; CPU:$E353 PRG:2353 85 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_StoreAndContinue_E355
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_StoreAndContinue_E355:
|
|
lda #$01 ; CPU:$E355 PRG:2355 A9 01
|
|
sta Zp03 ; CPU:$E357 PRG:2357 85 03
|
|
lda #$03 ; CPU:$E359 PRG:2359 A9 03
|
|
sta Zp00 ; CPU:$E35B PRG:235B 85 00
|
|
lda #$C0 ; CPU:$E35D PRG:235D A9 C0
|
|
sta Zp01 ; CPU:$E35F PRG:235F 85 01
|
|
lda #$20 ; CPU:$E361 PRG:2361 A9 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_JoinBranchPaths_E363
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_JoinBranchPaths_E363:
|
|
sta PPUDATA ; CPU:$E363 PRG:2363 8D 07 20
|
|
dec Zp01 ; CPU:$E366 PRG:2366 C6 01
|
|
bne Sub_E355_JoinBranchPaths_E363 ; CPU:$E368 PRG:2368 D0 F9
|
|
dec Zp00 ; CPU:$E36A PRG:236A C6 00
|
|
bpl Sub_E355_JoinBranchPaths_E363 ; CPU:$E36C PRG:236C 10 F5
|
|
dec Zp03 ; CPU:$E36E PRG:236E C6 03
|
|
bne Sub_E355_OnNonzero_E37A ; CPU:$E370 PRG:2370 D0 08
|
|
lda #$40 ; CPU:$E372 PRG:2372 A9 40
|
|
sta Zp01 ; CPU:$E374 PRG:2374 85 01
|
|
lda #$00 ; CPU:$E376 PRG:2376 A9 00
|
|
beq Sub_E355_JoinBranchPaths_E363 ; CPU:$E378 PRG:2378 F0 E9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_OnNonzero_E37A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_OnNonzero_E37A:
|
|
dec Zp02 ; CPU:$E37A PRG:237A C6 02
|
|
bne Sub_E355_OnNonzero_E38E ; CPU:$E37C PRG:237C D0 10
|
|
lda PPUSTATUS ; CPU:$E37E PRG:237E AD 02 20
|
|
lda #$28 ; CPU:$E381 PRG:2381 A9 28
|
|
sta PPUADDR ; CPU:$E383 PRG:2383 8D 06 20
|
|
lda #$00 ; CPU:$E386 PRG:2386 A9 00
|
|
sta PPUADDR ; CPU:$E388 PRG:2388 8D 06 20
|
|
jmp Sub_E355_StoreAndContinue_E355 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_OnNonzero_E38E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_OnNonzero_E38E:
|
|
lda #$01 ; CPU:$E38E PRG:238E A9 01
|
|
sta Zp00 ; CPU:$E390 PRG:2390 85 00
|
|
lda PPUSTATUS ; CPU:$E392 PRG:2392 AD 02 20
|
|
lda #$23 ; CPU:$E395 PRG:2395 A9 23
|
|
sta PPUADDR ; CPU:$E397 PRG:2397 8D 06 20
|
|
lda #$C0 ; CPU:$E39A PRG:239A A9 C0
|
|
sta PPUADDR ; CPU:$E39C PRG:239C 8D 06 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_OnNonzero_E39F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_OnNonzero_E39F:
|
|
lda #$00 ; CPU:$E39F PRG:239F A9 00
|
|
tay ; CPU:$E3A1 PRG:23A1 A8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_OnNonzero_E3A2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_OnNonzero_E3A2:
|
|
sta PPUDATA ; CPU:$E3A2 PRG:23A2 8D 07 20
|
|
iny ; CPU:$E3A5 PRG:23A5 C8
|
|
cpy #$20 ; CPU:$E3A6 PRG:23A6 C0 20
|
|
bne Sub_E355_OnNonzero_E3A2 ; CPU:$E3A8 PRG:23A8 D0 F8
|
|
dec Zp00 ; CPU:$E3AA PRG:23AA C6 00
|
|
bne Sub_E355_OnNonzero_E3AF ; CPU:$E3AC PRG:23AC D0 01
|
|
rts ; CPU:$E3AE PRG:23AE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E355_OnNonzero_E3AF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E355_OnNonzero_E3AF:
|
|
lda PPUSTATUS ; CPU:$E3AF PRG:23AF AD 02 20
|
|
lda #$2B ; CPU:$E3B2 PRG:23B2 A9 2B
|
|
sta PPUADDR ; CPU:$E3B4 PRG:23B4 8D 06 20
|
|
lda #$C0 ; CPU:$E3B7 PRG:23B7 A9 C0
|
|
sta PPUADDR ; CPU:$E3B9 PRG:23B9 8D 06 20
|
|
bne Sub_E355_OnNonzero_E39F ; CPU:$E3BC PRG:23BC D0 E1
|
|
lda #$20 ; CPU:$E3BE PRG:23BE A9 20
|
|
sta Zp00 ; CPU:$E3C0 PRG:23C0 85 00
|
|
lda #$B6 ; CPU:$E3C2 PRG:23C2 A9 B6
|
|
sta Zp01 ; CPU:$E3C4 PRG:23C4 85 01
|
|
lda #$80 ; CPU:$E3C6 PRG:23C6 A9 80
|
|
sta Zp04 ; CPU:$E3C8 PRG:23C8 85 04
|
|
ldx #$00 ; CPU:$E3CA PRG:23CA A2 00
|
|
lda ActivePlayerFlag ; CPU:$E3CC PRG:23CC A5 47
|
|
and CocktailModeFlag ; CPU:$E3CE PRG:23CE 25 46
|
|
beq SetupPPUWrite2_JoinBranchPaths_E3EA ; CPU:$E3D0 PRG:23D0 F0 18
|
|
lda #$28 ; CPU:$E3D2 PRG:23D2 A9 28
|
|
sta Zp00 ; CPU:$E3D4 PRG:23D4 85 00
|
|
bne SetupPPUWrite2_JoinBranchPaths_E3EA ; CPU:$E3D6 PRG:23D6 D0 12
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUWrite2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUWrite2:
|
|
lda #$20 ; CPU:$E3D8 PRG:23D8 A9 20
|
|
sta Zp00 ; CPU:$E3DA PRG:23DA 85 00
|
|
lda #$83 ; CPU:$E3DC PRG:23DC A9 83
|
|
sta Zp01 ; CPU:$E3DE PRG:23DE 85 01
|
|
lda #$09 ; CPU:$E3E0 PRG:23E0 A9 09
|
|
sta Zp04 ; CPU:$E3E2 PRG:23E2 85 04
|
|
lda #$01 ; CPU:$E3E4 PRG:23E4 A9 01
|
|
sta ActivePlayerFlag ; CPU:$E3E6 PRG:23E6 85 47
|
|
ldx #$0C ; CPU:$E3E8 PRG:23E8 A2 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUWrite2_JoinBranchPaths_E3EA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUWrite2_JoinBranchPaths_E3EA:
|
|
lda ActivePlayerFlag ; CPU:$E3EA PRG:23EA A5 47
|
|
and CocktailModeFlag ; CPU:$E3EC PRG:23EC 25 46
|
|
beq SetupPPUWrite2_OnZero_E3F5 ; CPU:$E3EE PRG:23EE F0 05
|
|
txa ; CPU:$E3F0 PRG:23F0 8A
|
|
clc ; CPU:$E3F1 PRG:23F1 18
|
|
adc #$06 ; CPU:$E3F2 PRG:23F2 69 06
|
|
tax ; CPU:$E3F4 PRG:23F4 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUWrite2_OnZero_E3F5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUWrite2_OnZero_E3F5:
|
|
lda #$03 ; CPU:$E3F5 PRG:23F5 A9 03
|
|
sta Zp05 ; CPU:$E3F7 PRG:23F7 85 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUWrite2_OnNonzero_E3F9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUWrite2_OnNonzero_E3F9:
|
|
lda PPUSTATUS ; CPU:$E3F9 PRG:23F9 AD 02 20
|
|
lda Zp00 ; CPU:$E3FC PRG:23FC A5 00
|
|
sta PPUADDR ; CPU:$E3FE PRG:23FE 8D 06 20
|
|
lda Zp01 ; CPU:$E401 PRG:2401 A5 01
|
|
sta PPUADDR ; CPU:$E403 PRG:2403 8D 06 20
|
|
lda $E45E,x ; CPU:$E406 PRG:2406 BD 5E E4
|
|
sta Zp02 ; CPU:$E409 PRG:2409 85 02
|
|
lda $E45F,x ; CPU:$E40B PRG:240B BD 5F E4
|
|
sta Zp03 ; CPU:$E40E PRG:240E 85 03
|
|
jsr Sub_E433_Return_E433 ;
|
|
inx ; CPU:$E413 PRG:2413 E8
|
|
inx ; CPU:$E414 PRG:2414 E8
|
|
lda Zp01 ; CPU:$E415 PRG:2415 A5 01
|
|
clc ; CPU:$E417 PRG:2417 18
|
|
adc Zp04 ; CPU:$E418 PRG:2418 65 04
|
|
sta Zp01 ; CPU:$E41A PRG:241A 85 01
|
|
lda #$00 ; CPU:$E41C PRG:241C A9 00
|
|
adc Zp00 ; CPU:$E41E PRG:241E 65 00
|
|
sta Zp00 ; CPU:$E420 PRG:2420 85 00
|
|
dec Zp05 ; CPU:$E422 PRG:2422 C6 05
|
|
lda Zp05 ; CPU:$E424 PRG:2424 A5 05
|
|
cmp #$01 ; CPU:$E426 PRG:2426 C9 01
|
|
bne SetupPPUWrite2_OnNonzero_E42E ; CPU:$E428 PRG:2428 D0 04
|
|
lda ActivePlayerFlag ; CPU:$E42A PRG:242A A5 47
|
|
beq SetupPPUWrite2_OnZero_E432 ; CPU:$E42C PRG:242C F0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUWrite2_OnNonzero_E42E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUWrite2_OnNonzero_E42E:
|
|
lda Zp05 ; CPU:$E42E PRG:242E A5 05
|
|
bne SetupPPUWrite2_OnNonzero_E3F9 ; CPU:$E430 PRG:2430 D0 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetupPPUWrite2_OnZero_E432
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetupPPUWrite2_OnZero_E432:
|
|
rts ; CPU:$E432 PRG:2432 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E433_Return_E433
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E433_Return_E433:
|
|
ldy #$05 ; CPU:$E433 PRG:2433 A0 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E433_OnNonzero_E435
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E433_OnNonzero_E435:
|
|
lda (Zp02),y ; CPU:$E435 PRG:2435 B1 02
|
|
and #$0F ; CPU:$E437 PRG:2437 29 0F
|
|
bne Sub_E433_OnNonzero_E447 ; CPU:$E439 PRG:2439 D0 0C
|
|
lda #$20 ; CPU:$E43B PRG:243B A9 20
|
|
sta PPUDATA ; CPU:$E43D PRG:243D 8D 07 20
|
|
dey ; CPU:$E440 PRG:2440 88
|
|
bne Sub_E433_OnNonzero_E435 ; CPU:$E441 PRG:2441 D0 F2
|
|
beq Sub_E433_OnZero_E450 ; CPU:$E443 PRG:2443 F0 0B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E433_OnNonzero_E445
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E433_OnNonzero_E445:
|
|
lda (Zp02),y ; CPU:$E445 PRG:2445 B1 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E433_OnNonzero_E447
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E433_OnNonzero_E447:
|
|
jsr BCDToDigit ;
|
|
sta PPUDATA ; CPU:$E44A PRG:244A 8D 07 20
|
|
dey ; CPU:$E44D PRG:244D 88
|
|
bne Sub_E433_OnNonzero_E445 ; CPU:$E44E PRG:244E D0 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E433_OnZero_E450
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E433_OnZero_E450:
|
|
lda (Zp02),y ; CPU:$E450 PRG:2450 B1 02
|
|
jsr BCDToDigit ;
|
|
sta PPUDATA ; CPU:$E455 PRG:2455 8D 07 20
|
|
lda #$30 ; CPU:$E458 PRG:2458 A9 30
|
|
sta PPUDATA ; CPU:$E45A PRG:245A 8D 07 20
|
|
rts ; CPU:$E45D PRG:245D 60
|
|
; ---- data $E45E-$E46F (18 bytes) ----
|
|
; referenced by `lda $E45E,x` at $E406 (operand $E45E falls inside this region)
|
|
; referenced by `lda $E45F,x` at $E40B (operand $E45F falls inside this region)
|
|
.byte $61, $00, $70, $00, $80, $00, $61, $00, $80, $00, $70, $00, $70, $00, $61, $00 ; CPU:$E45E PRG:245E 61 00 70 00 80 00 61 00 80 00 70 00 70 00 61 00
|
|
.byte $80, $00 ; CPU:$E46E PRG:246E 80 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_Entry_E470
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_Entry_E470:
|
|
ldy #$FF ; CPU:$E470 PRG:2470 A0 FF
|
|
sty Zp0C ; CPU:$E472 PRG:2472 84 0C
|
|
sty Zp0D ; CPU:$E474 PRG:2474 84 0D
|
|
sty Zp0E ; CPU:$E476 PRG:2476 84 0E
|
|
sty Zp0F ; CPU:$E478 PRG:2478 84 0F
|
|
iny ; CPU:$E47A PRG:247A C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_OnNonzero_E47B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_OnNonzero_E47B:
|
|
lda (Zp00),y ; CPU:$E47B PRG:247B B1 00
|
|
cmp Zp0A ; CPU:$E47D PRG:247D C5 0A
|
|
beq Sub_E470_OnZero_E489 ; CPU:$E47F PRG:247F F0 08
|
|
and #$F8 ; CPU:$E481 PRG:2481 29 F8
|
|
beq Sub_E470_OnZero_E489 ; CPU:$E483 PRG:2483 F0 04
|
|
cmp Zp0B ; CPU:$E485 PRG:2485 C5 0B
|
|
bne Sub_E470_OnNonzero_E48D ; CPU:$E487 PRG:2487 D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_OnZero_E489
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_OnZero_E489:
|
|
tya ; CPU:$E489 PRG:2489 98
|
|
sta a:Zp0C,y ; CPU:$E48A PRG:248A 99 0C 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_OnNonzero_E48D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_OnNonzero_E48D:
|
|
iny ; CPU:$E48D PRG:248D C8
|
|
cpy #$04 ; CPU:$E48E PRG:248E C0 04
|
|
bne Sub_E470_OnNonzero_E47B ; CPU:$E490 PRG:2490 D0 E9
|
|
lda ZpB9,x ; CPU:$E492 PRG:2492 B5 B9
|
|
clc ; CPU:$E494 PRG:2494 18
|
|
adc #$02 ; CPU:$E495 PRG:2495 69 02
|
|
and #$03 ; CPU:$E497 PRG:2497 29 03
|
|
tay ; CPU:$E499 PRG:2499 A8
|
|
lda #$FF ; CPU:$E49A PRG:249A A9 FF
|
|
sta a:Zp0C,y ; CPU:$E49C PRG:249C 99 0C 00
|
|
lda #$03 ; CPU:$E49F PRG:249F A9 03
|
|
sta Zp0B ; CPU:$E4A1 PRG:24A1 85 0B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_OnNonzero_E4A3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_OnNonzero_E4A3:
|
|
ldy #$00 ; CPU:$E4A3 PRG:24A3 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_OnNonzero_E4A5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_OnNonzero_E4A5:
|
|
lda a:Zp0C,y ; CPU:$E4A5 PRG:24A5 B9 0C 00
|
|
cmp #$FF ; CPU:$E4A8 PRG:24A8 C9 FF
|
|
bne Sub_E470_OnNonzero_E4B7 ; CPU:$E4AA PRG:24AA D0 0B
|
|
lda a:Zp0D,y ; CPU:$E4AC PRG:24AC B9 0D 00
|
|
sta a:Zp0C,y ; CPU:$E4AF PRG:24AF 99 0C 00
|
|
lda #$FF ; CPU:$E4B2 PRG:24B2 A9 FF
|
|
sta a:Zp0D,y ; CPU:$E4B4 PRG:24B4 99 0D 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E470_OnNonzero_E4B7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E470_OnNonzero_E4B7:
|
|
iny ; CPU:$E4B7 PRG:24B7 C8
|
|
cpy #$03 ; CPU:$E4B8 PRG:24B8 C0 03
|
|
bne Sub_E470_OnNonzero_E4A5 ; CPU:$E4BA PRG:24BA D0 E9
|
|
dec Zp0B ; CPU:$E4BC PRG:24BC C6 0B
|
|
bne Sub_E470_OnNonzero_E4A3 ; CPU:$E4BE PRG:24BE D0 E3
|
|
rts ; CPU:$E4C0 PRG:24C0 60
|
|
; ---- data $E4C1-$E9D7 (1303 bytes) ----
|
|
.byte $A2, $01, $A0, $00, $B9, $FB, $E4, $E0, $00, $D0, $02, $69, $07, $8D, $06, $20 ; CPU:$E4C1 PRG:24C1 A2 01 A0 00 B9 FB E4 E0 00 D0 02 69 07 8D 06 20
|
|
.byte $C8, $B9, $FB, $E4, $8D, $06, $20, $C8, $B9, $FB, $E4, $85, $00, $C8, $B9, $FB ; CPU:$E4D1 PRG:24D1 C8 B9 FB E4 8D 06 20 C8 B9 FB E4 85 00 C8 B9 FB
|
|
.byte $E4, $8D, $07, $20, $C6, $00, $D0, $F5, $C8, $C0, $11, $D0, $05, $A5, $47, $D0 ; CPU:$E4E1 PRG:24E1 E4 8D 07 20 C6 00 D0 F5 C8 C0 11 D0 05 A5 47 D0
|
|
.byte $01, $60, $C0, $17, $D0, $CE, $CA, $F0, $C9, $60, $20, $76, $08, $B4, $B5, $B6 ; CPU:$E4F1 PRG:24F1 01 60 C0 17 D0 CE CA F0 C9 60 20 76 08 B4 B5 B6
|
|
.byte $B7, $B8, $B9, $BA, $BB, $20, $F7, $03, $B0, $B3, $B2, $21, $77, $03, $B1, $B3 ; CPU:$E501 PRG:2501 B7 B8 B9 BA BB 20 F7 03 B0 B3 B2 21 77 03 B1 B3
|
|
.byte $B2, $A5, $67, $D0, $01, $60, $18, $69, $01, $C9, $07, $90, $02, $A9, $07, $85 ; CPU:$E511 PRG:2511 B2 A5 67 D0 01 60 18 69 01 C9 07 90 02 A9 07 85
|
|
.byte $02, $A9, $04, $85, $03, $A9, $23, $85, $00, $A9, $17, $85, $01, $A5, $46, $25 ; CPU:$E521 PRG:2521 02 A9 04 85 03 A9 23 85 00 A9 17 85 01 A5 46 25
|
|
.byte $47, $F0, $07, $A5, $00, $18, $69, $08, $85, $00, $C6, $02, $D0, $01, $60, $C6 ; CPU:$E531 PRG:2531 47 F0 07 A5 00 18 69 08 85 00 C6 02 D0 01 60 C6
|
|
.byte $03, $D0, $07, $A5, $01, $18, $69, $3A, $85, $01, $A0, $3C, $20, $59, $E5, $A5 ; CPU:$E541 PRG:2541 03 D0 07 A5 01 18 69 3A 85 01 A0 3C 20 59 E5 A5
|
|
.byte $01, $18, $69, $02, $85, $01, $D0, $E2, $A5, $00, $8D, $06, $20, $A5, $01, $8D ; CPU:$E551 PRG:2551 01 18 69 02 85 01 D0 E2 A5 00 8D 06 20 A5 01 8D
|
|
.byte $06, $20, $8C, $07, $20, $C8, $8C, $07, $20, $A5, $00, $8D, $06, $20, $A5, $01 ; CPU:$E561 PRG:2561 06 20 8C 07 20 C8 8C 07 20 A5 00 8D 06 20 A5 01
|
|
.byte $18, $69, $20, $8D, $06, $20, $C8, $8C, $07, $20, $C8, $8C, $07, $20, $60, $A9 ; CPU:$E571 PRG:2571 18 69 20 8D 06 20 C8 8C 07 20 C8 8C 07 20 60 A9
|
|
.byte $00, $85, $03, $85, $0E, $85, $0F, $A9, $15, $85, $0A, $A9, $11, $85, $0D, $A9 ; CPU:$E581 PRG:2581 00 85 03 85 0E 85 0F A9 15 85 0A A9 11 85 0D A9
|
|
.byte $05, $85, $0B, $85, $0C, $A5, $68, $85, $02, $38, $E9, $07, $90, $0D, $C9, $0C ; CPU:$E591 PRG:2591 05 85 0B 85 0C A5 68 85 02 38 E9 07 90 0D C9 0C
|
|
.byte $90, $02, $A9, $0C, $AA, $A9, $07, $85, $02, $D0, $02, $A2, $00, $A9, $22, $85 ; CPU:$E5A1 PRG:25A1 90 02 A9 0C AA A9 07 85 02 D0 02 A2 00 A9 22 85
|
|
.byte $00, $A9, $56, $85, $01, $A5, $46, $25, $47, $F0, $07, $A5, $00, $18, $69, $08 ; CPU:$E5B1 PRG:25B1 00 A9 56 85 01 A5 46 25 47 F0 07 A5 00 18 69 08
|
|
.byte $85, $00, $A9, $05, $85, $04, $C6, $04, $D0, $07, $A5, $01, $18, $69, $38, $85 ; CPU:$E5C1 PRG:25C1 85 00 A9 05 85 04 C6 04 D0 07 A5 01 18 69 38 85
|
|
.byte $01, $BD, $59, $E6, $85, $05, $0A, $0A, $69, $60, $A8, $20, $59, $E5, $A4, $03 ; CPU:$E5D1 PRG:25D1 01 BD 59 E6 85 05 0A 0A 69 60 A8 20 59 E5 A4 03
|
|
.byte $B9, $6D, $E6, $85, $06, $B9, $6E, $E6, $85, $07, $A4, $05, $B9, $7D, $E6, $C6 ; CPU:$E5E1 PRG:25E1 B9 6D E6 85 06 B9 6E E6 85 07 A4 05 B9 7D E6 C6
|
|
.byte $07, $30, $04, $0A, $0A, $90, $F8, $A4, $06, $19, $0A, $00, $99, $0A, $00, $A5 ; CPU:$E5F1 PRG:25F1 07 30 04 0A 0A 90 F8 A4 06 19 0A 00 99 0A 00 A5
|
|
.byte $01, $18, $69, $02, $85, $01, $E6, $03, $E6, $03, $E8, $C6, $02, $10, $B7, $A2 ; CPU:$E601 PRG:2601 01 18 69 02 85 01 E6 03 E6 03 E8 C6 02 10 B7 A2
|
|
.byte $23, $A5, $47, $25, $46, $F0, $02, $A2, $2B, $8E, $06, $20, $86, $00, $A9, $E5 ; CPU:$E611 PRG:2611 23 A5 47 25 46 F0 02 A2 2B 8E 06 20 86 00 A9 E5
|
|
.byte $8D, $06, $20, $A2, $00, $A9, $03, $85, $01, $B5, $0A, $8D, $07, $20, $E8, $C6 ; CPU:$E621 PRG:2621 8D 06 20 A2 00 A9 03 85 01 B5 0A 8D 07 20 E8 C6
|
|
.byte $01, $D0, $F6, $E6, $02, $D0, $0C, $A5, $00, $8D, $06, $20, $A9, $ED, $8D, $06 ; CPU:$E631 PRG:2631 01 D0 F6 E6 02 D0 0C A5 00 8D 06 20 A9 ED 8D 06
|
|
.byte $20, $D0, $E2, $A5, $68, $C9, $10, $90, $02, $A9, $0F, $A8, $B9, $85, $E6, $8D ; CPU:$E641 PRG:2641 20 D0 E2 A5 68 C9 10 90 02 A9 0F A8 B9 85 E6 8D
|
|
.byte $B6, $02, $A9, $0F, $8D, $A9, $02, $60, $00, $01, $02, $02, $03, $03, $04, $04 ; CPU:$E651 PRG:2651 B6 02 A9 0F 8D A9 02 60 00 01 02 02 03 03 04 04
|
|
.byte $05, $05, $06, $06, $07, $07, $07, $07, $07, $07, $07, $07, $00, $03, $01, $02 ; CPU:$E661 PRG:2661 05 05 06 06 07 07 07 07 07 07 07 07 00 03 01 02
|
|
.byte $01, $03, $02, $02, $03, $01, $04, $00, $04, $01, $05, $00, $02, $02, $02, $02 ; CPU:$E671 PRG:2671 01 03 02 02 03 01 04 00 04 01 05 00 02 02 02 02
|
|
.byte $03, $03, $03, $03, $16, $16, $26, $26, $06, $06, $19, $19, $17, $17, $17, $17 ; CPU:$E681 PRG:2681 03 03 03 03 16 16 26 26 06 06 19 19 17 17 17 17
|
|
.byte $12, $12, $12, $12, $A9, $08, $85, $43, $8D, $00, $20, $AD, $02, $20, $10, $FB ; CPU:$E691 PRG:2691 12 12 12 12 A9 08 85 43 8D 00 20 AD 02 20 10 FB
|
|
.byte $A9, $01, $8D, $0D, $06, $8D, $0E, $06, $A9, $00, $8D, $01, $20, $20, $F7, $E6 ; CPU:$E6A1 PRG:26A1 A9 01 8D 0D 06 8D 0E 06 A9 00 8D 01 20 20 F7 E6
|
|
.byte $A9, $01, $8D, $8D, $02, $A9, $01, $8D, $93, $02, $A9, $F7, $8D, $78, $02, $A9 ; CPU:$E6B1 PRG:26B1 A9 01 8D 8D 02 A9 01 8D 93 02 A9 F7 8D 78 02 A9
|
|
.byte $7C, $8D, $7A, $02, $A9, $FF, $85, $1E, $A9, $00, $85, $1F, $A9, $00, $85, $88 ; CPU:$E6C1 PRG:26C1 7C 8D 7A 02 A9 FF 85 1E A9 00 85 1F A9 00 85 88
|
|
.byte $A0, $00, $B9, $6E, $E7, $99, $A9, $02, $C8, $C0, $10, $D0, $F5, $A9, $20, $8D ; CPU:$E6D1 PRG:26D1 A0 00 B9 6E E7 99 A9 02 C8 C0 10 D0 F5 A9 20 8D
|
|
.byte $6F, $02, $8D, $70, $02, $8D, $71, $02, $A9, $10, $85, $3F, $A9, $88, $8D, $00 ; CPU:$E6E1 PRG:26E1 6F 02 8D 70 02 8D 71 02 A9 10 85 3F A9 88 8D 00
|
|
.byte $20, $85, $43, $4C, $66, $CA, $A2, $20, $A5, $47, $25, $46, $F0, $02, $A2, $28 ; CPU:$E6F1 PRG:26F1 20 85 43 4C 66 CA A2 20 A5 47 25 46 F0 02 A2 28
|
|
.byte $AD, $02, $20, $8E, $06, $20, $A9, $00, $8D, $06, $20, $A9, $1C, $85, $00, $A9 ; CPU:$E701 PRG:2701 AD 02 20 8E 06 20 A9 00 8D 06 20 A9 1C 85 00 A9
|
|
.byte $02, $85, $01, $A9, $1C, $85, $02, $A9, $02, $85, $03, $A9, $2D, $8D, $07, $20 ; CPU:$E711 PRG:2711 02 85 01 A9 1C 85 02 A9 02 85 03 A9 2D 8D 07 20
|
|
.byte $A6, $01, $F0, $08, $C6, $01, $D0, $F5, $A9, $20, $D0, $F1, $A6, $02, $F0, $08 ; CPU:$E721 PRG:2721 A6 01 F0 08 C6 01 D0 F5 A9 20 D0 F1 A6 02 F0 08
|
|
.byte $C6, $02, $D0, $E9, $A9, $2D, $D0, $E5, $C6, $03, $D0, $E1, $C6, $00, $D0, $CF ; CPU:$E731 PRG:2731 C6 02 D0 E9 A9 2D D0 E5 C6 03 D0 E1 C6 00 D0 CF
|
|
.byte $A9, $00, $AA, $8D, $07, $20, $E8, $E0, $40, $D0, $F8, $A5, $87, $C9, $02, $F0 ; CPU:$E741 PRG:2741 A9 00 AA 8D 07 20 E8 E0 40 D0 F8 A5 87 C9 02 F0
|
|
.byte $01, $60, $A2, $22, $A5, $47, $25, $46, $F0, $02, $A2, $2A, $AD, $02, $20, $8E ; CPU:$E751 PRG:2751 01 60 A2 22 A5 47 25 46 F0 02 A2 2A AD 02 20 8E
|
|
.byte $06, $20, $A9, $30, $8D, $06, $20, $A9, $5E, $8D, $07, $20, $60, $0F, $36, $20 ; CPU:$E761 PRG:2761 06 20 A9 30 8D 06 20 A9 5E 8D 07 20 60 0F 36 20
|
|
.byte $06, $0F, $27, $20, $06, $0F, $11, $20, $33, $0F, $36, $20, $11, $20, $D8, $E9 ; CPU:$E771 PRG:2771 06 0F 27 20 06 0F 11 20 33 0F 36 20 11 20 D8 E9
|
|
.byte $20, $53, $EA, $20, $B0, $DA, $20, $8D, $E7, $4C, $66, $CA, $A4, $87, $B9, $9C ; CPU:$E781 PRG:2781 20 53 EA 20 B0 DA 20 8D E7 4C 66 CA A4 87 B9 9C
|
|
.byte $E7, $85, $10, $B9, $9D, $E7, $85, $11, $6C, $10, $00, $A2, $E7, $86, $E8, $2D ; CPU:$E791 PRG:2791 E7 85 10 B9 9D E7 85 11 6C 10 00 A2 E7 86 E8 2D
|
|
.byte $E9, $A4, $88, $B9, $B1, $E7, $85, $10, $B9, $B2, $E7, $85, $11, $6C, $10, $00 ; CPU:$E7A1 PRG:27A1 E9 A4 88 B9 B1 E7 85 10 B9 B2 E7 85 11 6C 10 00
|
|
.byte $B9, $E7, $E2, $E7, $0D, $E8, $79, $E8, $AD, $78, $02, $C9, $D0, $90, $01, $60 ; CPU:$E7B1 PRG:27B1 B9 E7 E2 E7 0D E8 79 E8 AD 78 02 C9 D0 90 01 60
|
|
.byte $E6, $88, $E6, $88, $A9, $0C, $8D, $8C, $02, $A9, $20, $8D, $92, $02, $A9, $F7 ; CPU:$E7C1 PRG:27C1 E6 88 E6 88 A9 0C 8D 8C 02 A9 20 8D 92 02 A9 F7
|
|
.byte $8D, $74, $02, $A9, $7C, $8D, $76, $02, $A9, $FE, $85, $1A, $A9, $E0, $85, $1B ; CPU:$E7D1 PRG:27D1 8D 74 02 A9 7C 8D 76 02 A9 FE 85 1A A9 E0 85 1B
|
|
.byte $60, $AD, $74, $02, $F0, $01, $60, $E6, $88, $E6, $88, $A9, $40, $85, $4C, $A9 ; CPU:$E7E1 PRG:27E1 60 AD 74 02 F0 01 60 E6 88 E6 88 A9 40 85 4C A9
|
|
.byte $1E, $8D, $8C, $02, $A9, $22, $8D, $92, $02, $A9, $09, $8D, $74, $02, $A9, $7C ; CPU:$E7F1 PRG:27F1 1E 8D 8C 02 A9 22 8D 92 02 A9 09 8D 74 02 A9 7C
|
|
.byte $8D, $76, $02, $A9, $01, $85, $1A, $A9, $00, $85, $1B, $60, $A9, $01, $8D, $0D ; CPU:$E801 PRG:2801 8D 76 02 A9 01 85 1A A9 00 85 1B 60 A9 01 8D 0D
|
|
.byte $06, $8D, $0E, $06, $AD, $74, $02, $C9, $80, $B0, $01, $60, $E6, $88, $E6, $88 ; CPU:$E811 PRG:2811 06 8D 0E 06 AD 74 02 C9 80 B0 01 60 E6 88 E6 88
|
|
.byte $A9, $01, $85, $1E, $85, $22, $85, $26, $85, $2A, $A9, $C0, $85, $1F, $85, $23 ; CPU:$E821 PRG:2821 A9 01 85 1E 85 22 85 26 85 2A A9 C0 85 1F 85 23
|
|
.byte $85, $27, $85, $2B, $18, $A9, $38, $8D, $8D, $02, $69, $01, $8D, $8E, $02, $69 ; CPU:$E831 PRG:2831 85 27 85 2B 18 A9 38 8D 8D 02 69 01 8D 8E 02 69
|
|
.byte $01, $8D, $8F, $02, $69, $01, $8D, $90, $02, $A9, $21, $8D, $93, $02, $8D, $94 ; CPU:$E841 PRG:2841 01 8D 8F 02 69 01 8D 90 02 A9 21 8D 93 02 8D 94
|
|
.byte $02, $8D, $95, $02, $8D, $96, $02, $A9, $09, $8D, $78, $02, $8D, $80, $02, $A9 ; CPU:$E851 PRG:2851 02 8D 95 02 8D 96 02 A9 09 8D 78 02 8D 80 02 A9
|
|
.byte $19, $8D, $7C, $02, $8D, $84, $02, $A9, $6C, $8D, $7A, $02, $8D, $7E, $02, $A9 ; CPU:$E861 PRG:2861 19 8D 7C 02 8D 84 02 A9 6C 8D 7A 02 8D 7E 02 A9
|
|
.byte $7C, $8D, $82, $02, $8D, $86, $02, $60, $AD, $78, $02, $F0, $01, $60, $A9, $40 ; CPU:$E871 PRG:2871 7C 8D 82 02 8D 86 02 60 AD 78 02 F0 01 60 A9 40
|
|
.byte $85, $4C, $4C, $D3, $E9, $A4, $88, $B9, $95, $E8, $85, $10, $B9, $96, $E8, $85 ; CPU:$E881 PRG:2881 85 4C 4C D3 E9 A4 88 B9 95 E8 85 10 B9 96 E8 85
|
|
.byte $11, $6C, $10, $00, $9B, $E8, $C4, $E8, $FE, $E8, $AD, $78, $02, $C9, $A0, $90 ; CPU:$E891 PRG:2891 11 6C 10 00 9B E8 C4 E8 FE E8 AD 78 02 C9 A0 90
|
|
.byte $01, $60, $E6, $88, $E6, $88, $A9, $0C, $8D, $8C, $02, $A9, $20, $8D, $92, $02 ; CPU:$E8A1 PRG:28A1 01 60 E6 88 E6 88 A9 0C 8D 8C 02 A9 20 8D 92 02
|
|
.byte $A9, $F7, $8D, $74, $02, $A9, $7C, $8D, $76, $02, $A9, $FF, $85, $1A, $A9, $00 ; CPU:$E8B1 PRG:28B1 A9 F7 8D 74 02 A9 7C 8D 76 02 A9 FF 85 1A A9 00
|
|
.byte $85, $1B, $60, $AD, $74, $02, $C9, $80, $D0, $23, $A9, $FF, $85, $1A, $A9, $C0 ; CPU:$E8C1 PRG:28C1 85 1B 60 AD 74 02 C9 80 D0 23 A9 FF 85 1A A9 C0
|
|
.byte $85, $1B, $A9, $42, $8D, $8E, $02, $A9, $00, $8D, $94, $02, $A9, $80, $8D, $7C ; CPU:$E8D1 PRG:28D1 85 1B A9 42 8D 8E 02 A9 00 8D 94 02 A9 80 8D 7C
|
|
.byte $02, $A9, $7C, $8D, $7E, $02, $A9, $00, $85, $22, $85, $23, $60, $C9, $78, $F0 ; CPU:$E8E1 PRG:28E1 02 A9 7C 8D 7E 02 A9 00 85 22 85 23 60 C9 78 F0
|
|
.byte $01, $60, $A9, $00, $85, $1A, $85, $1B, $E6, $88, $E6, $88, $60, $AD, $8C, $02 ; CPU:$E8F1 PRG:28F1 01 60 A9 00 85 1A 85 1B E6 88 E6 88 60 AD 8C 02
|
|
.byte $29, $40, $D0, $0F, $A9, $46, $8D, $8C, $02, $A9, $45, $8D, $8E, $02, $A9, $40 ; CPU:$E901 PRG:2901 29 40 D0 0F A9 46 8D 8C 02 A9 45 8D 8E 02 A9 40
|
|
.byte $85, $89, $60, $C6, $89, $F0, $01, $60, $AD, $8C, $02, $C9, $47, $D0, $03, $4C ; CPU:$E911 PRG:2911 85 89 60 C6 89 F0 01 60 AD 8C 02 C9 47 D0 03 4C
|
|
.byte $D3, $E9, $A9, $47, $8D, $8C, $02, $A9, $40, $85, $89, $60, $A4, $88, $B9, $3C ; CPU:$E921 PRG:2921 D3 E9 A9 47 8D 8C 02 A9 40 85 89 60 A4 88 B9 3C
|
|
.byte $E9, $85, $10, $B9, $3D, $E9, $85, $11, $6C, $10, $00, $44, $E9, $6D, $E9, $98 ; CPU:$E931 PRG:2931 E9 85 10 B9 3D E9 85 11 6C 10 00 44 E9 6D E9 98
|
|
.byte $E9, $C9, $E9, $AD, $78, $02, $C9, $D8, $90, $01, $60, $E6, $88, $E6, $88, $A9 ; CPU:$E941 PRG:2941 E9 C9 E9 AD 78 02 C9 D8 90 01 60 E6 88 E6 88 A9
|
|
.byte $4C, $8D, $8C, $02, $A9, $20, $8D, $92, $02, $A9, $F7, $8D, $74, $02, $A9, $7C ; CPU:$E951 PRG:2951 4C 8D 8C 02 A9 20 8D 92 02 A9 F7 8D 74 02 A9 7C
|
|
.byte $8D, $76, $02, $A9, $FF, $85, $1A, $A9, $00, $85, $1B, $60, $AD, $74, $02, $F0 ; CPU:$E961 PRG:2961 8D 76 02 A9 FF 85 1A A9 00 85 1B 60 AD 74 02 F0
|
|
.byte $01, $60, $E6, $88, $E6, $88, $A9, $28, $85, $4C, $A9, $4A, $8D, $8C, $02, $A9 ; CPU:$E971 PRG:2971 01 60 E6 88 E6 88 A9 28 85 4C A9 4A 8D 8C 02 A9
|
|
.byte $23, $8D, $92, $02, $A9, $09, $8D, $74, $02, $A9, $7C, $8D, $76, $02, $A9, $01 ; CPU:$E981 PRG:2981 23 8D 92 02 A9 09 8D 74 02 A9 7C 8D 76 02 A9 01
|
|
.byte $85, $1A, $A9, $00, $85, $1B, $60, $A9, $01, $8D, $0D, $06, $8D, $0E, $06, $AD ; CPU:$E991 PRG:2991 85 1A A9 00 85 1B 60 A9 01 8D 0D 06 8D 0E 06 AD
|
|
.byte $74, $02, $C9, $19, $B0, $01, $60, $E6, $88, $E6, $88, $A9, $4C, $8D, $8D, $02 ; CPU:$E9A1 PRG:29A1 74 02 C9 19 B0 01 60 E6 88 E6 88 A9 4C 8D 8D 02
|
|
.byte $A9, $21, $8D, $93, $02, $A9, $11, $8D, $78, $02, $A9, $84, $8D, $7A, $02, $A9 ; CPU:$E9B1 PRG:29B1 A9 21 8D 93 02 A9 11 8D 78 02 A9 84 8D 7A 02 A9
|
|
.byte $01, $85, $1E, $A9, $00, $85, $1F, $60, $AD, $78, $02, $F0, $01, $60, $A9, $40 ; CPU:$E9C1 PRG:29C1 01 85 1E A9 00 85 1F 60 AD 78 02 F0 01 60 A9 40
|
|
.byte $85, $4C, $A9, $00, $85, $3F, $60 ; CPU:$E9D1 PRG:29D1 85 4C A9 00 85 3F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_Entry_E9D8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_Entry_E9D8:
|
|
lda #$1A ; CPU:$E9D8 PRG:29D8 A9 1A
|
|
sta Zp00 ; CPU:$E9DA PRG:29DA 85 00
|
|
lda #$00 ; CPU:$E9DC PRG:29DC A9 00
|
|
sta Zp01 ; CPU:$E9DE PRG:29DE 85 01
|
|
lda #$74 ; CPU:$E9E0 PRG:29E0 A9 74
|
|
sta Zp02 ; CPU:$E9E2 PRG:29E2 85 02
|
|
lda #$02 ; CPU:$E9E4 PRG:29E4 A9 02
|
|
sta Zp03 ; CPU:$E9E6 PRG:29E6 85 03
|
|
ldx #$00 ; CPU:$E9E8 PRG:29E8 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnNonzero_E9EA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnNonzero_E9EA:
|
|
ldy #$00 ; CPU:$E9EA PRG:29EA A0 00
|
|
lda (Zp02),y ; CPU:$E9EC PRG:29EC B1 02
|
|
beq Sub_E9D8_JoinBranchPaths_EA33 ; CPU:$E9EE PRG:29EE F0 43
|
|
iny ; CPU:$E9F0 PRG:29F0 C8
|
|
lda (Zp00),y ; CPU:$E9F1 PRG:29F1 B1 00
|
|
clc ; CPU:$E9F3 PRG:29F3 18
|
|
adc (Zp02),y ; CPU:$E9F4 PRG:29F4 71 02
|
|
sta (Zp02),y ; CPU:$E9F6 PRG:29F6 91 02
|
|
dey ; CPU:$E9F8 PRG:29F8 88
|
|
lda (Zp00),y ; CPU:$E9F9 PRG:29F9 B1 00
|
|
adc (Zp02),y ; CPU:$E9FB PRG:29FB 71 02
|
|
sta (Zp02),y ; CPU:$E9FD PRG:29FD 91 02
|
|
cmp #$C0 ; CPU:$E9FF PRG:29FF C9 C0
|
|
bcc Sub_E9D8_OnCarryClear_EA0D ; CPU:$EA01 PRG:2A01 90 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnCarryClear_EA03
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnCarryClear_EA03:
|
|
lda #$20 ; CPU:$EA03 PRG:2A03 A9 20
|
|
ora $0292,x ; CPU:$EA05 PRG:2A05 1D 92 02
|
|
sta $0292,x ; CPU:$EA08 PRG:2A08 9D 92 02
|
|
bne Sub_E9D8_OnNonzero_EA19 ; CPU:$EA0B PRG:2A0B D0 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnCarryClear_EA0D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnCarryClear_EA0D:
|
|
cmp #$40 ; CPU:$EA0D PRG:2A0D C9 40
|
|
bcc Sub_E9D8_OnCarryClear_EA03 ; CPU:$EA0F PRG:2A0F 90 F2
|
|
lda #$DF ; CPU:$EA11 PRG:2A11 A9 DF
|
|
and $0292,x ; CPU:$EA13 PRG:2A13 3D 92 02
|
|
sta $0292,x ; CPU:$EA16 PRG:2A16 9D 92 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnNonzero_EA19
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnNonzero_EA19:
|
|
ldy #$00 ; CPU:$EA19 PRG:2A19 A0 00
|
|
lda (Zp02),y ; CPU:$EA1B PRG:2A1B B1 02
|
|
cmp #$FC ; CPU:$EA1D PRG:2A1D C9 FC
|
|
bcc Sub_E9D8_OnCarryClear_EA2F ; CPU:$EA1F PRG:2A1F 90 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnCarryClear_EA21
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnCarryClear_EA21:
|
|
lda #$00 ; CPU:$EA21 PRG:2A21 A9 00
|
|
sta (Zp02),y ; CPU:$EA23 PRG:2A23 91 02
|
|
sta (Zp00),y ; CPU:$EA25 PRG:2A25 91 00
|
|
iny ; CPU:$EA27 PRG:2A27 C8
|
|
sta (Zp00),y ; CPU:$EA28 PRG:2A28 91 00
|
|
iny ; CPU:$EA2A PRG:2A2A C8
|
|
sta (Zp02),y ; CPU:$EA2B PRG:2A2B 91 02
|
|
bne Sub_E9D8_JoinBranchPaths_EA33 ; CPU:$EA2D PRG:2A2D D0 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnCarryClear_EA2F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnCarryClear_EA2F:
|
|
cmp #$04 ; CPU:$EA2F PRG:2A2F C9 04
|
|
bcc Sub_E9D8_OnCarryClear_EA21 ; CPU:$EA31 PRG:2A31 90 EE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_JoinBranchPaths_EA33
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_JoinBranchPaths_EA33:
|
|
lda Zp00 ; CPU:$EA33 PRG:2A33 A5 00
|
|
clc ; CPU:$EA35 PRG:2A35 18
|
|
adc #$04 ; CPU:$EA36 PRG:2A36 69 04
|
|
sta Zp00 ; CPU:$EA38 PRG:2A38 85 00
|
|
lda Zp01 ; CPU:$EA3A PRG:2A3A A5 01
|
|
adc #$00 ; CPU:$EA3C PRG:2A3C 69 00
|
|
sta Zp01 ; CPU:$EA3E PRG:2A3E 85 01
|
|
lda Zp02 ; CPU:$EA40 PRG:2A40 A5 02
|
|
clc ; CPU:$EA42 PRG:2A42 18
|
|
adc #$04 ; CPU:$EA43 PRG:2A43 69 04
|
|
sta Zp02 ; CPU:$EA45 PRG:2A45 85 02
|
|
lda Zp03 ; CPU:$EA47 PRG:2A47 A5 03
|
|
adc #$00 ; CPU:$EA49 PRG:2A49 69 00
|
|
sta Zp03 ; CPU:$EA4B PRG:2A4B 85 03
|
|
inx ; CPU:$EA4D PRG:2A4D E8
|
|
cpx #$05 ; CPU:$EA4E PRG:2A4E E0 05
|
|
bne Sub_E9D8_OnNonzero_E9EA ; CPU:$EA50 PRG:2A50 D0 98
|
|
rts ; CPU:$EA52 PRG:2A52 60
|
|
; ---- data $EA53-$EB5D (267 bytes) ----
|
|
.byte $A4, $87, $B9, $62, $EA, $85, $10, $B9, $63, $EA, $85, $11, $6C, $10, $00, $68 ; CPU:$EA53 PRG:2A53 A4 87 B9 62 EA 85 10 B9 63 EA 85 11 6C 10 00 68
|
|
.byte $EA, $FC, $EA, $2C, $EB, $A4, $88, $B9, $77, $EA, $85, $10, $B9, $78, $EA, $85 ; CPU:$EA63 PRG:2A63 EA FC EA 2C EB A4 88 B9 77 EA 85 10 B9 78 EA 85
|
|
.byte $11, $6C, $10, $00, $7F, $EA, $95, $EA, $AC, $EA, $C3, $EA, $E6, $B7, $A5, $B7 ; CPU:$EA73 PRG:2A73 11 6C 10 00 7F EA 95 EA AC EA C3 EA E6 B7 A5 B7
|
|
.byte $29, $07, $A8, $B9, $8D, $EA, $8D, $8D, $02, $60, $04, $04, $04, $05, $05, $04 ; CPU:$EA83 PRG:2A83 29 07 A8 B9 8D EA 8D 8D 02 60 04 04 04 05 05 04
|
|
.byte $01, $01, $A5, $4B, $29, $07, $D0, $E4, $A5, $4B, $29, $08, $D0, $04, $A9, $0C ; CPU:$EA93 PRG:2A93 01 01 A5 4B 29 07 D0 E4 A5 4B 29 08 D0 04 A9 0C
|
|
.byte $D0, $02, $A9, $0D, $8D, $8C, $02, $D0, $D3, $A5, $4B, $29, $07, $F0, $01, $60 ; CPU:$EAA3 PRG:2AA3 D0 02 A9 0D 8D 8C 02 D0 D3 A5 4B 29 07 F0 01 60
|
|
.byte $A5, $4B, $29, $08, $D0, $04, $A9, $1E, $D0, $02, $A9, $1F, $8D, $8C, $02, $60 ; CPU:$EAB3 PRG:2AB3 A5 4B 29 08 D0 04 A9 1E D0 02 A9 1F 8D 8C 02 60
|
|
.byte $E6, $B7, $A5, $B7, $29, $07, $A8, $B9, $E8, $EA, $A8, $B9, $F0, $EA, $8D, $8D ; CPU:$EAC3 PRG:2AC3 E6 B7 A5 B7 29 07 A8 B9 E8 EA A8 B9 F0 EA 8D 8D
|
|
.byte $02, $B9, $F1, $EA, $8D, $8E, $02, $B9, $F2, $EA, $8D, $8F, $02, $B9, $F3, $EA ; CPU:$EAD3 PRG:2AD3 02 B9 F1 EA 8D 8E 02 B9 F2 EA 8D 8F 02 B9 F3 EA
|
|
.byte $8D, $90, $02, $D0, $C4, $00, $00, $00, $04, $04, $00, $08, $08, $3C, $3D, $3E ; CPU:$EAE3 PRG:2AE3 8D 90 02 D0 C4 00 00 00 04 04 00 08 08 3C 3D 3E
|
|
.byte $3F, $3C, $40, $3E, $41, $38, $39, $3A, $3B, $A4, $88, $B9, $0B, $EB, $85, $10 ; CPU:$EAF3 PRG:2AF3 3F 3C 40 3E 41 38 39 3A 3B A4 88 B9 0B EB 85 10
|
|
.byte $B9, $0C, $EB, $85, $11, $6C, $10, $00, $7F, $EA, $11, $EB, $7F, $EA, $20, $95 ; CPU:$EB03 PRG:2B03 B9 0C EB 85 11 6C 10 00 7F EA 11 EB 7F EA 20 95
|
|
.byte $EA, $AD, $74, $02, $C9, $7D, $D0, $06, $A9, $43, $8D, $8E, $02, $60, $C9, $7B ; CPU:$EB13 PRG:2B13 EA AD 74 02 C9 7D D0 06 A9 43 8D 8E 02 60 C9 7B
|
|
.byte $F0, $01, $60, $A9, $44, $8D, $8E, $02, $60, $A4, $88, $B9, $3B, $EB, $85, $10 ; CPU:$EB23 PRG:2B23 F0 01 60 A9 44 8D 8E 02 60 A4 88 B9 3B EB 85 10
|
|
.byte $B9, $3C, $EB, $85, $11, $6C, $10, $00, $7F, $EA, $43, $EB, $5E, $EB, $5E, $EB ; CPU:$EB33 PRG:2B33 B9 3C EB 85 11 6C 10 00 7F EA 43 EB 5E EB 5E EB
|
|
.byte $A5, $4B, $29, $07, $F0, $03, $4C, $7F, $EA, $A5, $4B, $29, $08, $D0, $04, $A9 ; CPU:$EB43 PRG:2B43 A5 4B 29 07 F0 03 4C 7F EA A5 4B 29 08 D0 04 A9
|
|
.byte $48, $D0, $02, $A9, $49, $8D, $8C, $02, $4C, $7F, $EA ; CPU:$EB53 PRG:2B53 48 D0 02 A9 49 8D 8C 02 4C 7F EA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_Entry_EB5E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_Entry_EB5E:
|
|
lda FrameCounter ; CPU:$EB5E PRG:2B5E A5 4B
|
|
and #$07 ; CPU:$EB60 PRG:2B60 29 07
|
|
beq Sub_E9D8_OnZero_EB65 ; CPU:$EB62 PRG:2B62 F0 01
|
|
rts ; CPU:$EB64 PRG:2B64 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnZero_EB65
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnZero_EB65:
|
|
lda FrameCounter ; CPU:$EB65 PRG:2B65 A5 4B
|
|
and #$08 ; CPU:$EB67 PRG:2B67 29 08
|
|
bne Sub_E9D8_OnNonzero_EB6F ; CPU:$EB69 PRG:2B69 D0 04
|
|
lda #$4A ; CPU:$EB6B PRG:2B6B A9 4A
|
|
bne Sub_E9D8_OnNonzero_EB71 ; CPU:$EB6D PRG:2B6D D0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnNonzero_EB6F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnNonzero_EB6F:
|
|
lda #$4B ; CPU:$EB6F PRG:2B6F A9 4B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9D8_OnNonzero_EB71
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E9D8_OnNonzero_EB71:
|
|
sta $028C ; CPU:$EB71 PRG:2B71 8D 8C 02
|
|
rts ; CPU:$EB74 PRG:2B74 60
|
|
; ---- data $EB75-$EE4A (726 bytes) ----
|
|
.byte $00, $07, $00, $00, $00, $04, $01, $06, $01, $01, $01, $04, $01, $04, $02, $02 ; CPU:$EB75 PRG:2B75 00 07 00 00 00 04 01 06 01 01 01 04 01 04 02 02
|
|
.byte $02, $03, $02, $03, $02, $02, $02, $03, $02, $02, $02, $02, $03, $03, $03, $05 ; CPU:$EB85 PRG:2B85 02 03 02 03 02 02 02 03 02 02 02 02 03 03 03 05
|
|
.byte $03, $02, $03, $03, $03, $02, $03, $02, $04, $03, $03, $02, $03, $02, $04, $03 ; CPU:$EB95 PRG:2B95 03 02 03 03 03 02 03 02 04 03 03 02 03 02 04 03
|
|
.byte $03, $01, $04, $02, $05, $03, $03, $05, $04, $02, $05, $03, $03, $02, $04, $02 ; CPU:$EBA5 PRG:2BA5 03 01 04 02 05 03 03 05 04 02 05 03 03 02 04 02
|
|
.byte $06, $03, $03, $01, $05, $02, $06, $03, $03, $01, $05, $02, $07, $03, $03, $03 ; CPU:$EBB5 PRG:2BB5 06 03 03 01 05 02 06 03 03 01 05 02 07 03 03 03
|
|
.byte $05, $02, $07, $03, $03, $01, $06, $02, $07, $03, $03, $01, $06, $02, $07, $03 ; CPU:$EBC5 PRG:2BC5 05 02 07 03 03 01 06 02 07 03 03 01 06 02 07 03
|
|
.byte $03, $00, $06, $02, $07, $03, $03, $01, $06, $02, $07, $03, $03, $00, $06, $02 ; CPU:$EBD5 PRG:2BD5 03 00 06 02 07 03 03 01 06 02 07 03 03 00 06 02
|
|
.byte $07, $03, $03, $00, $06, $02, $07, $03, $03, $00, $06, $02, $07, $03, $04, $00 ; CPU:$EBE5 PRG:2BE5 07 03 03 00 06 02 07 03 03 00 06 02 07 03 04 00
|
|
.byte $06, $02, $07, $03, $04, $00, $06, $02, $07, $03, $D0, $00, $C0, $00, $A0, $00 ; CPU:$EBF5 PRG:2BF5 06 02 07 03 04 00 06 02 07 03 D0 00 C0 00 A0 00
|
|
.byte $B0, $00, $A0, $00, $80, $00, $A0, $00, $B0, $00, $90, $00, $50, $00, $50, $00 ; CPU:$EC05 PRG:2C05 B0 00 A0 00 80 00 A0 00 B0 00 90 00 50 00 50 00
|
|
.byte $D0, $00, $C0, $00, $A0, $00, $B0, $00, $A0, $00, $80, $00, $B0, $00, $C0, $00 ; CPU:$EC15 PRG:2C15 D0 00 C0 00 A0 00 B0 00 A0 00 80 00 B0 00 C0 00
|
|
.byte $A0, $00, $50, $00, $50, $00, $F0, $00, $E0, $00, $C0, $00, $E0, $00, $D0, $00 ; CPU:$EC25 PRG:2C25 A0 00 50 00 50 00 F0 00 E0 00 C0 00 E0 00 D0 00
|
|
.byte $B0, $00, $E0, $00, $F0, $00, $D0, $00, $70, $00, $70, $00, $00, $01, $F0, $00 ; CPU:$EC35 PRG:2C35 B0 00 E0 00 F0 00 D0 00 70 00 70 00 00 01 F0 00
|
|
.byte $D0, $00, $00, $01, $F0, $00, $D0, $00, $00, $01, $10, $01, $F0, $00, $80, $00 ; CPU:$EC45 PRG:2C45 D0 00 00 01 F0 00 D0 00 00 01 10 01 F0 00 80 00
|
|
.byte $80, $00, $00, $01, $F0, $00, $D0, $00, $00, $01, $F0, $00, $D0, $00, $20, $01 ; CPU:$EC55 PRG:2C55 80 00 00 01 F0 00 D0 00 00 01 F0 00 D0 00 20 01
|
|
.byte $30, $01, $10, $01, $80, $00, $80, $00, $07, $14, $07, $14, $05, $14, $05, $FF ; CPU:$EC65 PRG:2C65 30 01 10 01 80 00 80 00 07 14 07 14 05 14 05 FF
|
|
.byte $07, $14, $07, $14, $05, $FF, $00, $00, $05, $14, $05, $14, $05, $FF, $00, $00 ; CPU:$EC75 PRG:2C75 07 14 07 14 05 FF 00 00 05 14 05 14 05 FF 00 00
|
|
.byte $05, $14, $05, $14, $05, $FF, $00, $00, $14, $0A, $1E, $0F, $28, $14, $32, $19 ; CPU:$EC85 PRG:2C85 05 14 05 14 05 FF 00 00 14 0A 1E 0F 28 14 32 19
|
|
.byte $3C, $1E, $50, $28, $64, $32, $02, $1E, $5A, $00, $03, $32, $00, $00, $04, $00 ; CPU:$EC95 PRG:2C95 3C 1E 50 28 64 32 02 1E 5A 00 03 32 00 00 04 00
|
|
.byte $00, $00, $01, $07, $11, $20, $2D, $1F, $D0, $D0, $10, $13, $D0, $D0, $10, $1D ; CPU:$ECA5 PRG:2CA5 00 00 01 07 11 20 2D 1F D0 D0 10 13 D0 D0 10 1D
|
|
.byte $2D, $11, $C3, $C3, $03, $11, $C3, $C3, $03, $11, $2D, $11, $03, $1F, $10, $1D ; CPU:$ECB5 PRG:2CB5 2D 11 C3 C3 03 11 C3 C3 03 11 2D 11 03 1F 10 1D
|
|
.byte $03, $1F, $10, $1D, $03, $11, $03, $1F, $10, $1D, $03, $1F, $10, $1D, $03, $11 ; CPU:$ECC5 PRG:2CC5 03 1F 10 1D 03 11 03 1F 10 1D 03 1F 10 1D 03 11
|
|
.byte $2D, $11, $01, $11, $20, $11, $03, $11, $20, $11, $03, $11, $03, $11, $20, $11 ; CPU:$ECD5 PRG:2CD5 2D 11 01 11 20 11 03 11 20 11 03 11 03 11 20 11
|
|
.byte $03, $11, $20, $11, $01, $11, $2D, $11, $03, $1E, $10, $1C, $03, $1E, $10, $1C ; CPU:$ECE5 PRG:2CE5 03 11 20 11 01 11 2D 11 03 1E 10 1C 03 1E 10 1C
|
|
.byte $03, $1A, $03, $1E, $10, $1C, $03, $1E, $10, $1C, $03, $11, $2D, $11, $C3, $C3 ; CPU:$ECF5 PRG:2CF5 03 1A 03 1E 10 1C 03 1E 10 1C 03 11 2D 11 C3 C3
|
|
.byte $C3, $C3, $83, $11, $2D, $11, $03, $1F, $10, $1D, $03, $1B, $03, $1F, $10, $10 ; CPU:$ED05 PRG:2D05 C3 C3 83 11 2D 11 03 1F 10 1D 03 1B 03 1F 10 10
|
|
.byte $10, $1D, $03, $1B, $03, $1F, $10, $1D, $03, $11, $2D, $11, $03, $1E, $10, $1C ; CPU:$ED15 PRG:2D15 10 1D 03 1B 03 1F 10 1D 03 11 2D 11 03 1E 10 1C
|
|
.byte $03, $11, $03, $1E, $10, $13, $10, $1C, $03, $11, $03, $1E, $10, $1C, $03, $11 ; CPU:$ED25 PRG:2D25 03 11 03 1E 10 13 10 1C 03 11 03 1E 10 1C 03 11
|
|
.byte $2D, $11, $C3, $03, $11, $83, $11, $83, $11, $C3, $03, $11, $2D, $1E, $90, $1D ; CPU:$ED35 PRG:2D35 2D 11 C3 03 11 83 11 83 11 C3 03 11 2D 1E 90 1D
|
|
.byte $03, $15, $10, $18, $08, $1A, $08, $19, $10, $14, $03, $1F, $90, $1C, $2D, $E0 ; CPU:$ED45 PRG:2D45 03 15 10 18 08 1A 08 19 10 14 03 1F 90 1C 2D E0
|
|
.byte $11, $03, $11, $C0, $80, $11, $03, $11, $E0, $2D, $E0, $11, $03, $11, $00, $1F ; CPU:$ED55 PRG:2D55 11 03 11 C0 80 11 03 11 E0 2D E0 11 03 11 00 1F
|
|
.byte $17, $2C, $16, $1D, $00, $11, $03, $11, $E0, $2D, $22, $90, $1C, $03, $1A, $00 ; CPU:$ED65 PRG:2D65 17 2C 16 1D 00 11 03 11 E0 2D 22 90 1C 03 1A 00
|
|
.byte $11, $80, $11, $00, $1A, $03, $1E, $90, $21, $04, $06, $C0, $03, $40, $11, $80 ; CPU:$ED75 PRG:2D75 11 80 11 00 1A 03 1E 90 21 04 06 C0 03 40 11 80
|
|
.byte $11, $40, $03, $C0, $05, $2D, $22, $90, $1D, $03, $1B, $00, $1E, $90, $1C, $00 ; CPU:$ED85 PRG:2D85 11 40 03 C0 05 2D 22 90 1D 03 1B 00 1E 90 1C 00
|
|
.byte $1B, $03, $1F, $90, $21, $2D, $E0, $11, $03, $11, $C0, $80, $11, $03, $11, $E0 ; CPU:$ED95 PRG:2D95 1B 03 1F 90 21 2D E0 11 03 11 C0 80 11 03 11 E0
|
|
.byte $2D, $E0, $11, $03, $11, $00, $1F, $90, $1D, $00, $11, $03, $11, $E0, $2D, $1F ; CPU:$EDA5 PRG:2DA5 2D E0 11 03 11 00 1F 90 1D 00 11 03 11 E0 2D 1F
|
|
.byte $90, $1C, $03, $1A, $00, $1E, $10, $13, $10, $1C, $00, $1A, $03, $1E, $90, $1D ; CPU:$EDB5 PRG:2DB5 90 1C 03 1A 00 1E 10 13 10 1C 00 1A 03 1E 90 1D
|
|
.byte $2D, $11, $C3, $C3, $03, $11, $C3, $C3, $03, $11, $2D, $11, $03, $19, $10, $1D ; CPU:$EDC5 PRG:2DC5 2D 11 C3 C3 03 11 C3 C3 03 11 2D 11 03 19 10 1D
|
|
.byte $03, $19, $10, $18, $09, $1A, $09, $19, $10, $18, $03, $1F, $10, $18, $03, $11 ; CPU:$EDD5 PRG:2DD5 03 19 10 18 09 1A 09 19 10 18 03 1F 10 18 03 11
|
|
.byte $2D, $11, $01, $43, $11, $C3, $03, $00, $C3, $03, $11, $43, $01, $11, $2D, $15 ; CPU:$EDE5 PRG:2DE5 2D 11 01 43 11 C3 03 00 C3 03 11 43 01 11 2D 15
|
|
.byte $10, $1D, $03, $11, $03, $1B, $03, $1F, $90, $1D, $03, $1B, $03, $11, $03, $1F ; CPU:$EDF5 PRG:2DF5 10 1D 03 11 03 1B 03 1F 90 1D 03 1B 03 11 03 1F
|
|
.byte $10, $14, $2D, $15, $10, $1C, $03, $1A, $03, $11, $03, $1E, $10, $13, $10, $1C ; CPU:$EE05 PRG:2E05 10 14 2D 15 10 1C 03 1A 03 11 03 1E 10 13 10 1C
|
|
.byte $03, $11, $03, $1A, $03, $1E, $10, $14, $2D, $11, $C3, $03, $11, $83, $11, $83 ; CPU:$EE15 PRG:2E15 03 11 03 1A 03 1E 10 14 2D 11 C3 03 11 83 11 83
|
|
.byte $11, $C3, $03, $11, $2D, $11, $03, $19, $90, $12, $10, $18, $03, $1A, $03, $19 ; CPU:$EE25 PRG:2E25 11 C3 03 11 2D 11 03 19 90 12 10 18 03 1A 03 19
|
|
.byte $10, $12, $90, $18, $03, $11, $2D, $11, $C3, $C3, $C3, $C3, $83, $11, $2D, $1E ; CPU:$EE35 PRG:2E35 10 12 90 18 03 11 2D 11 C3 C3 C3 C3 83 11 2D 1E
|
|
.byte $D0, $D0, $D0, $D0, $90, $1C ; CPU:$EE45 PRG:2E45 D0 D0 D0 D0 90 1C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearZpF0_Set6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearZpF0_Set6:
|
|
lda #$00 ; CPU:$EE4B PRG:2E4B A9 00
|
|
sta AudioChanPtr1Lo ; CPU:$EE4D PRG:2E4D 85 F0
|
|
lda #$06 ; CPU:$EE4F PRG:2E4F A9 06
|
|
sta AudioChanPtr1Hi ; CPU:$EE51 PRG:2E51 85 F1
|
|
lda #$20 ; CPU:$EE53 PRG:2E53 A9 20
|
|
sta AudioChanPtr2Lo ; CPU:$EE55 PRG:2E55 85 F2
|
|
lda #$06 ; CPU:$EE57 PRG:2E57 A9 06
|
|
sta AudioChanPtr2Hi ; CPU:$EE59 PRG:2E59 85 F3
|
|
lda $F0BF ; CPU:$EE5B PRG:2E5B AD BF F0
|
|
sta ZpF4 ; CPU:$EE5E PRG:2E5E 85 F4
|
|
lda $F0C0 ; CPU:$EE60 PRG:2E60 AD C0 F0
|
|
sta ZpF5 ; CPU:$EE63 PRG:2E63 85 F5
|
|
lda #$40 ; CPU:$EE65 PRG:2E65 A9 40
|
|
sta ZpF7 ; CPU:$EE67 PRG:2E67 85 F7
|
|
lda #$1F ; CPU:$EE69 PRG:2E69 A9 1F
|
|
sta APUSTATUS ; CPU:$EE6B PRG:2E6B 8D 15 40
|
|
lda #$C0 ; CPU:$EE6E PRG:2E6E A9 C0
|
|
sta JOY2 ; CPU:$EE70 PRG:2E70 8D 17 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearZpF0Ptr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearZpF0Ptr:
|
|
ldy #$00 ; CPU:$EE73 PRG:2E73 A0 00
|
|
lda #$00 ; CPU:$EE75 PRG:2E75 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearZpF0Ptr_OnNonzero_EE77
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearZpF0Ptr_OnNonzero_EE77:
|
|
sta (AudioChanPtr1Lo),y ; CPU:$EE77 PRG:2E77 91 F0
|
|
iny ; CPU:$EE79 PRG:2E79 C8
|
|
cpy #$10 ; CPU:$EE7A PRG:2E7A C0 10
|
|
bne ClearZpF0Ptr_OnNonzero_EE77 ; CPU:$EE7C PRG:2E7C D0 F9
|
|
ldy #$00 ; CPU:$EE7E PRG:2E7E A0 00
|
|
ldx #$10 ; CPU:$EE80 PRG:2E80 A2 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearZpF0Ptr_OnNonzero_EE82
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearZpF0Ptr_OnNonzero_EE82:
|
|
lda #$00 ; CPU:$EE82 PRG:2E82 A9 00
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EE84 PRG:2E84 91 F2
|
|
tya ; CPU:$EE86 PRG:2E86 98
|
|
clc ; CPU:$EE87 PRG:2E87 18
|
|
adc #$08 ; CPU:$EE88 PRG:2E88 69 08
|
|
tay ; CPU:$EE8A PRG:2E8A A8
|
|
dex ; CPU:$EE8B PRG:2E8B CA
|
|
bne ClearZpF0Ptr_OnNonzero_EE82 ; CPU:$EE8C PRG:2E8C D0 F4
|
|
rts ; CPU:$EE8E PRG:2E8E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateAttractMode
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateAttractMode:
|
|
lda #$00 ; CPU:$EE8F PRG:2E8F A9 00
|
|
sta ZpF8 ; CPU:$EE91 PRG:2E91 85 F8
|
|
sta ZpF9 ; CPU:$EE93 PRG:2E93 85 F9
|
|
sta ZpFA ; CPU:$EE95 PRG:2E95 85 FA
|
|
sta ZpFB ; CPU:$EE97 PRG:2E97 85 FB
|
|
sta AudioFrameCounter ; CPU:$EE99 PRG:2E99 85 FD
|
|
sta AudioHandlerPtrHi ; CPU:$EE9B PRG:2E9B 85 FF
|
|
lda #$F8 ; CPU:$EE9D PRG:2E9D A9 F8
|
|
sta AudioHandlerPtrLo ; CPU:$EE9F PRG:2E9F 85 FE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateAttractMode_OnCarryClear_EEA1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateAttractMode_OnCarryClear_EEA1:
|
|
ldy AudioFrameCounter ; CPU:$EEA1 PRG:2EA1 A4 FD
|
|
lda (AudioChanPtr2Lo),y ; CPU:$EEA3 PRG:2EA3 B1 F2
|
|
beq Add8ToZpFD ; CPU:$EEA5 PRG:2EA5 F0 3A
|
|
cmp #$05 ; CPU:$EEA7 PRG:2EA7 C9 05
|
|
bcc UpdateAttractMode_OnCarryClear_EEB6 ; CPU:$EEA9 PRG:2EA9 90 0B
|
|
sec ; CPU:$EEAB PRG:2EAB 38
|
|
sbc #$05 ; CPU:$EEAC PRG:2EAC E9 05
|
|
tay ; CPU:$EEAE PRG:2EAE A8
|
|
lda #$01 ; CPU:$EEAF PRG:2EAF A9 01
|
|
sta (AudioHandlerPtrLo),y ; CPU:$EEB1 PRG:2EB1 91 FE
|
|
jmp Add8ToZpFD ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateAttractMode_OnCarryClear_EEB6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateAttractMode_OnCarryClear_EEB6:
|
|
sec ; CPU:$EEB6 PRG:2EB6 38
|
|
sbc #$01 ; CPU:$EEB7 PRG:2EB7 E9 01
|
|
tay ; CPU:$EEB9 PRG:2EB9 A8
|
|
lda (AudioHandlerPtrLo),y ; CPU:$EEBA PRG:2EBA B1 FE
|
|
bne Add8ToZpFD ; CPU:$EEBC PRG:2EBC D0 23
|
|
lda #$01 ; CPU:$EEBE PRG:2EBE A9 01
|
|
sta (AudioHandlerPtrLo),y ; CPU:$EEC0 PRG:2EC0 91 FE
|
|
tya ; CPU:$EEC2 PRG:2EC2 98
|
|
tax ; CPU:$EEC3 PRG:2EC3 AA
|
|
adc #$04 ; CPU:$EEC4 PRG:2EC4 69 04
|
|
ldy AudioFrameCounter ; CPU:$EEC6 PRG:2EC6 A4 FD
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EEC8 PRG:2EC8 91 F2
|
|
txa ; CPU:$EECA PRG:2ECA 8A
|
|
asl a ; CPU:$EECB PRG:2ECB 0A
|
|
asl a ; CPU:$EECC PRG:2ECC 0A
|
|
sta ZpF6 ; CPU:$EECD PRG:2ECD 85 F6
|
|
ldx #$00 ; CPU:$EECF PRG:2ECF A2 00
|
|
lda #$04 ; CPU:$EED1 PRG:2ED1 A9 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateAttractMode_OnNonzero_EED3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateAttractMode_OnNonzero_EED3:
|
|
pha ; CPU:$EED3 PRG:2ED3 48
|
|
iny ; CPU:$EED4 PRG:2ED4 C8
|
|
lda (AudioChanPtr2Lo),y ; CPU:$EED5 PRG:2ED5 B1 F2
|
|
sta (ZpF6,x) ; CPU:$EED7 PRG:2ED7 81 F6
|
|
inc ZpF6 ; CPU:$EED9 PRG:2ED9 E6 F6
|
|
pla ; CPU:$EEDB PRG:2EDB 68
|
|
sec ; CPU:$EEDC PRG:2EDC 38
|
|
sbc #$01 ; CPU:$EEDD PRG:2EDD E9 01
|
|
bne UpdateAttractMode_OnNonzero_EED3 ; CPU:$EEDF PRG:2EDF D0 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD:
|
|
lda AudioFrameCounter ; CPU:$EEE1 PRG:2EE1 A5 FD
|
|
clc ; CPU:$EEE3 PRG:2EE3 18
|
|
adc #$08 ; CPU:$EEE4 PRG:2EE4 69 08
|
|
sta AudioFrameCounter ; CPU:$EEE6 PRG:2EE6 85 FD
|
|
cmp #$80 ; CPU:$EEE8 PRG:2EE8 C9 80
|
|
bcc UpdateAttractMode_OnCarryClear_EEA1 ; CPU:$EEEA PRG:2EEA 90 B5
|
|
ldy #$00 ; CPU:$EEEC PRG:2EEC A0 00
|
|
sty AudioChanIndex ; CPU:$EEEE PRG:2EEE 84 FC
|
|
sty AudioFrameCounter ; CPU:$EEF0 PRG:2EF0 84 FD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CheckByteAtZpF0Ptr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CheckByteAtZpF0Ptr:
|
|
ldy AudioChanIndex ; CPU:$EEF2 PRG:2EF2 A4 FC
|
|
lda (AudioChanPtr1Lo),y ; CPU:$EEF4 PRG:2EF4 B1 F0
|
|
bne CheckByteAtZpF0Ptr_OnNonzero_EEFB ; CPU:$EEF6 PRG:2EF6 D0 03
|
|
jmp Add8ToZpFD2 ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CheckByteAtZpF0Ptr_OnNonzero_EEFB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CheckByteAtZpF0Ptr_OnNonzero_EEFB:
|
|
ldy AudioFrameCounter ; CPU:$EEFB PRG:2EFB A4 FD
|
|
lda (AudioChanPtr2Lo),y ; CPU:$EEFD PRG:2EFD B1 F2
|
|
bne CheckByteAtZpF0Ptr_OnNonzero_EF52 ; CPU:$EEFF PRG:2EFF D0 51
|
|
lda AudioChanIndex ; CPU:$EF01 PRG:2F01 A5 FC
|
|
asl a ; CPU:$EF03 PRG:2F03 0A
|
|
tay ; CPU:$EF04 PRG:2F04 A8
|
|
lda (ZpF4),y ; CPU:$EF05 PRG:2F05 B1 F4
|
|
pha ; CPU:$EF07 PRG:2F07 48
|
|
lda AudioFrameCounter ; CPU:$EF08 PRG:2F08 A5 FD
|
|
adc #$05 ; CPU:$EF0A PRG:2F0A 69 05
|
|
tay ; CPU:$EF0C PRG:2F0C A8
|
|
pla ; CPU:$EF0D PRG:2F0D 68
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF0E PRG:2F0E 91 F2
|
|
lda AudioChanIndex ; CPU:$EF10 PRG:2F10 A5 FC
|
|
asl a ; CPU:$EF12 PRG:2F12 0A
|
|
adc #$01 ; CPU:$EF13 PRG:2F13 69 01
|
|
tay ; CPU:$EF15 PRG:2F15 A8
|
|
lda (ZpF4),y ; CPU:$EF16 PRG:2F16 B1 F4
|
|
pha ; CPU:$EF18 PRG:2F18 48
|
|
lda AudioFrameCounter ; CPU:$EF19 PRG:2F19 A5 FD
|
|
adc #$06 ; CPU:$EF1B PRG:2F1B 69 06
|
|
tay ; CPU:$EF1D PRG:2F1D A8
|
|
pla ; CPU:$EF1E PRG:2F1E 68
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF1F PRG:2F1F 91 F2
|
|
jsr ReadSequenceByte5 ;
|
|
ldy AudioFrameCounter ; CPU:$EF24 PRG:2F24 A4 FD
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF26 PRG:2F26 91 F2
|
|
jsr ReadSequenceByte5 ;
|
|
tax ; CPU:$EF2B PRG:2F2B AA
|
|
lda AudioFrameCounter ; CPU:$EF2C PRG:2F2C A5 FD
|
|
clc ; CPU:$EF2E PRG:2F2E 18
|
|
adc #$01 ; CPU:$EF2F PRG:2F2F 69 01
|
|
tay ; CPU:$EF31 PRG:2F31 A8
|
|
txa ; CPU:$EF32 PRG:2F32 8A
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF33 PRG:2F33 91 F2
|
|
jsr ReadSequenceByte5 ;
|
|
tax ; CPU:$EF38 PRG:2F38 AA
|
|
lda AudioFrameCounter ; CPU:$EF39 PRG:2F39 A5 FD
|
|
clc ; CPU:$EF3B PRG:2F3B 18
|
|
adc #$02 ; CPU:$EF3C PRG:2F3C 69 02
|
|
tay ; CPU:$EF3E PRG:2F3E A8
|
|
txa ; CPU:$EF3F PRG:2F3F 8A
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF40 PRG:2F40 91 F2
|
|
jsr ReadSequenceByte5 ;
|
|
tax ; CPU:$EF45 PRG:2F45 AA
|
|
lda AudioFrameCounter ; CPU:$EF46 PRG:2F46 A5 FD
|
|
clc ; CPU:$EF48 PRG:2F48 18
|
|
adc #$04 ; CPU:$EF49 PRG:2F49 69 04
|
|
tay ; CPU:$EF4B PRG:2F4B A8
|
|
txa ; CPU:$EF4C PRG:2F4C 8A
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF4D PRG:2F4D 91 F2
|
|
jmp ReadSequenceByte ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CheckByteAtZpF0Ptr_OnNonzero_EF52
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CheckByteAtZpF0Ptr_OnNonzero_EF52:
|
|
lda AudioFrameCounter ; CPU:$EF52 PRG:2F52 A5 FD
|
|
clc ; CPU:$EF54 PRG:2F54 18
|
|
adc #$07 ; CPU:$EF55 PRG:2F55 69 07
|
|
tay ; CPU:$EF57 PRG:2F57 A8
|
|
lda (AudioChanPtr2Lo),y ; CPU:$EF58 PRG:2F58 B1 F2
|
|
sec ; CPU:$EF5A PRG:2F5A 38
|
|
sbc #$01 ; CPU:$EF5B PRG:2F5B E9 01
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF5D PRG:2F5D 91 F2
|
|
bne Add8ToZpFD2 ; CPU:$EF5F PRG:2F5F D0 56
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadSequenceByte
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadSequenceByte:
|
|
jsr ReadSequenceByte5 ;
|
|
cmp #$F0 ; CPU:$EF64 PRG:2F64 C9 F0
|
|
bcs Add8ToZpFD2_OnCarrySet_EFCC ; CPU:$EF66 PRG:2F66 B0 64
|
|
cmp #$C0 ; CPU:$EF68 PRG:2F68 C9 C0
|
|
bcs ReadSequenceByte_JoinBranchPaths_EFAA ; CPU:$EF6A PRG:2F6A B0 3E
|
|
pha ; CPU:$EF6C PRG:2F6C 48
|
|
and #$F0 ; CPU:$EF6D PRG:2F6D 29 F0
|
|
lsr a ; CPU:$EF6F PRG:2F6F 4A
|
|
lsr a ; CPU:$EF70 PRG:2F70 4A
|
|
lsr a ; CPU:$EF71 PRG:2F71 4A
|
|
tax ; CPU:$EF72 PRG:2F72 AA
|
|
lda $F0A7,x ; CPU:$EF73 PRG:2F73 BD A7 F0
|
|
sta AudioHandlerPtrLo ; CPU:$EF76 PRG:2F76 85 FE
|
|
lda $F0A8,x ; CPU:$EF78 PRG:2F78 BD A8 F0
|
|
sta AudioHandlerPtrHi ; CPU:$EF7B PRG:2F7B 85 FF
|
|
pla ; CPU:$EF7D PRG:2F7D 68
|
|
and #$0F ; CPU:$EF7E PRG:2F7E 29 0F
|
|
beq ReadSequenceByte_OnZero_EF8A ; CPU:$EF80 PRG:2F80 F0 08
|
|
tax ; CPU:$EF82 PRG:2F82 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadSequenceByte_OnNonzero_EF83
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadSequenceByte_OnNonzero_EF83:
|
|
lsr AudioHandlerPtrLo ; CPU:$EF83 PRG:2F83 46 FE
|
|
ror AudioHandlerPtrHi ; CPU:$EF85 PRG:2F85 66 FF
|
|
dex ; CPU:$EF87 PRG:2F87 CA
|
|
bne ReadSequenceByte_OnNonzero_EF83 ; CPU:$EF88 PRG:2F88 D0 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadSequenceByte_OnZero_EF8A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadSequenceByte_OnZero_EF8A:
|
|
lda AudioFrameCounter ; CPU:$EF8A PRG:2F8A A5 FD
|
|
clc ; CPU:$EF8C PRG:2F8C 18
|
|
adc #$04 ; CPU:$EF8D PRG:2F8D 69 04
|
|
tay ; CPU:$EF8F PRG:2F8F A8
|
|
lda (AudioChanPtr2Lo),y ; CPU:$EF90 PRG:2F90 B1 F2
|
|
and #$F8 ; CPU:$EF92 PRG:2F92 29 F8
|
|
ora AudioHandlerPtrLo ; CPU:$EF94 PRG:2F94 05 FE
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF96 PRG:2F96 91 F2
|
|
lda AudioHandlerPtrHi ; CPU:$EF98 PRG:2F98 A5 FF
|
|
dey ; CPU:$EF9A PRG:2F9A 88
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EF9B PRG:2F9B 91 F2
|
|
ldy AudioFrameCounter ; CPU:$EF9D PRG:2F9D A4 FD
|
|
lda (AudioChanPtr2Lo),y ; CPU:$EF9F PRG:2F9F B1 F2
|
|
cmp #$05 ; CPU:$EFA1 PRG:2FA1 C9 05
|
|
bcc ReadSequenceByte_JoinBranchPaths_EFAA ; CPU:$EFA3 PRG:2FA3 90 05
|
|
sec ; CPU:$EFA5 PRG:2FA5 38
|
|
sbc #$04 ; CPU:$EFA6 PRG:2FA6 E9 04
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EFA8 PRG:2FA8 91 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadSequenceByte_JoinBranchPaths_EFAA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadSequenceByte_JoinBranchPaths_EFAA:
|
|
jsr ReadSequenceByte5 ;
|
|
pha ; CPU:$EFAD PRG:2FAD 48
|
|
lda AudioFrameCounter ; CPU:$EFAE PRG:2FAE A5 FD
|
|
clc ; CPU:$EFB0 PRG:2FB0 18
|
|
adc #$07 ; CPU:$EFB1 PRG:2FB1 69 07
|
|
tay ; CPU:$EFB3 PRG:2FB3 A8
|
|
pla ; CPU:$EFB4 PRG:2FB4 68
|
|
sta (AudioChanPtr2Lo),y ; CPU:$EFB5 PRG:2FB5 91 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD2:
|
|
lda AudioFrameCounter ; CPU:$EFB7 PRG:2FB7 A5 FD
|
|
clc ; CPU:$EFB9 PRG:2FB9 18
|
|
adc #$08 ; CPU:$EFBA PRG:2FBA 69 08
|
|
sta AudioFrameCounter ; CPU:$EFBC PRG:2FBC 85 FD
|
|
lda AudioChanIndex ; CPU:$EFBE PRG:2FBE A5 FC
|
|
adc #$01 ; CPU:$EFC0 PRG:2FC0 69 01
|
|
sta AudioChanIndex ; CPU:$EFC2 PRG:2FC2 85 FC
|
|
cmp #$10 ; CPU:$EFC4 PRG:2FC4 C9 10
|
|
bcs Add8ToZpFD2_OnCarrySet_EFCB ; CPU:$EFC6 PRG:2FC6 B0 03
|
|
jmp CheckByteAtZpF0Ptr ;
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD2_OnCarrySet_EFCB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD2_OnCarrySet_EFCB:
|
|
rts ; CPU:$EFCB PRG:2FCB 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD2_OnCarrySet_EFCC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD2_OnCarrySet_EFCC:
|
|
and #$0F ; CPU:$EFCC PRG:2FCC 29 0F
|
|
asl a ; CPU:$EFCE PRG:2FCE 0A
|
|
tax ; CPU:$EFCF PRG:2FCF AA
|
|
lda $EFDD,x ; CPU:$EFD0 PRG:2FD0 BD DD EF
|
|
sta AudioHandlerPtrLo ; CPU:$EFD3 PRG:2FD3 85 FE
|
|
lda $EFDE,x ; CPU:$EFD5 PRG:2FD5 BD DE EF
|
|
sta AudioHandlerPtrHi ; CPU:$EFD8 PRG:2FD8 85 FF
|
|
jmp (AudioHandlerPtrLo) ; CPU:$EFDA PRG:2FDA 6C FE 00
|
|
AudioCommandTable:
|
|
; ---- data $EFDD-$F000 (36 bytes) ----
|
|
; referenced by `lda $EFDD,x` at $EFD0 (operand $EFDD falls inside this region)
|
|
; referenced by `lda $EFDE,x` at $EFD5 (operand $EFDE falls inside this region)
|
|
.byte $FD, $EF, $0A, $F0, $22, $F0, $3A, $F0, $52, $F0, $62, $F0, $72, $F0, $FD, $EF ; CPU:$EFDD PRG:2FDD FD EF 0A F0 22 F0 3A F0 52 F0 62 F0 72 F0 FD EF
|
|
.byte $FD, $EF, $FD, $EF, $FD, $EF, $FD, $EF, $FD, $EF, $FD, $EF, $FD, $EF, $FD, $EF ; CPU:$EFED PRG:2FED FD EF FD EF FD EF FD EF FD EF FD EF FD EF FD EF
|
|
.byte $A4, $FC, $A9, $00 ; CPU:$EFFD PRG:2FFD A4 FC A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD2_Entry_F001
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD2_Entry_F001:
|
|
sta (AudioChanPtr1Lo),y ; CPU:$F001 PRG:3001 91 F0
|
|
ldy AudioFrameCounter ; CPU:$F003 PRG:3003 A4 FD
|
|
sta (AudioChanPtr2Lo),y ; CPU:$F005 PRG:3005 91 F2
|
|
jmp Add8ToZpFD2 ;
|
|
; ---- data $F00A-$F01F (22 bytes) ----
|
|
.byte $20, $82, $F0, $48, $A5, $FD, $18, $69, $01, $A8, $B1, $F2, $29, $3F, $91, $F2 ; CPU:$F00A PRG:300A 20 82 F0 48 A5 FD 18 69 01 A8 B1 F2 29 3F 91 F2
|
|
.byte $68, $11, $F2, $91, $F2, $4C ; CPU:$F01A PRG:301A 68 11 F2 91 F2 4C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD2_Entry_F020
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD2_Entry_F020:
|
|
adc (AudioSeqPtr,x) ; CPU:$F020 PRG:3020 61 EF
|
|
jsr ReadSequenceByte5 ;
|
|
pha ; CPU:$F025 PRG:3025 48
|
|
lda AudioFrameCounter ; CPU:$F026 PRG:3026 A5 FD
|
|
clc ; CPU:$F028 PRG:3028 18
|
|
adc #$01 ; CPU:$F029 PRG:3029 69 01
|
|
tay ; CPU:$F02B PRG:302B A8
|
|
lda (AudioChanPtr2Lo),y ; CPU:$F02C PRG:302C B1 F2
|
|
and #$CF ; CPU:$F02E PRG:302E 29 CF
|
|
sta (AudioChanPtr2Lo),y ; CPU:$F030 PRG:3030 91 F2
|
|
pla ; CPU:$F032 PRG:3032 68
|
|
ora (AudioChanPtr2Lo),y ; CPU:$F033 PRG:3033 11 F2
|
|
sta (AudioChanPtr2Lo),y ; CPU:$F035 PRG:3035 91 F2
|
|
jmp ReadSequenceByte ;
|
|
; ---- data $F03A-$F04F (22 bytes) ----
|
|
.byte $20, $82, $F0, $48, $A5, $FD, $18, $69, $01, $A8, $B1, $F2, $29, $F0, $91, $F2 ; CPU:$F03A PRG:303A 20 82 F0 48 A5 FD 18 69 01 A8 B1 F2 29 F0 91 F2
|
|
.byte $68, $11, $F2, $91, $F2, $4C ; CPU:$F04A PRG:304A 68 11 F2 91 F2 4C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Add8ToZpFD2_Entry_F050
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Add8ToZpFD2_Entry_F050:
|
|
adc (AudioSeqPtr,x) ; CPU:$F050 PRG:3050 61 EF
|
|
jsr ReadSequenceByte5 ;
|
|
pha ; CPU:$F055 PRG:3055 48
|
|
lda AudioFrameCounter ; CPU:$F056 PRG:3056 A5 FD
|
|
clc ; CPU:$F058 PRG:3058 18
|
|
adc #$02 ; CPU:$F059 PRG:3059 69 02
|
|
tay ; CPU:$F05B PRG:305B A8
|
|
pla ; CPU:$F05C PRG:305C 68
|
|
sta (AudioChanPtr2Lo),y ; CPU:$F05D PRG:305D 91 F2
|
|
jmp ReadSequenceByte ;
|
|
; ---- data $F062-$F081 (32 bytes) ----
|
|
.byte $20, $82, $F0, $48, $A5, $FD, $18, $69, $04, $A8, $68, $91, $F2, $4C, $61, $EF ; CPU:$F062 PRG:3062 20 82 F0 48 A5 FD 18 69 04 A8 68 91 F2 4C 61 EF
|
|
.byte $20, $82, $F0, $48, $A5, $FD, $18, $69, $01, $A8, $68, $91, $F2, $4C, $61, $EF ; CPU:$F072 PRG:3072 20 82 F0 48 A5 FD 18 69 01 A8 68 91 F2 4C 61 EF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadSequenceByte5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadSequenceByte5:
|
|
lda AudioFrameCounter ; CPU:$F082 PRG:3082 A5 FD
|
|
clc ; CPU:$F084 PRG:3084 18
|
|
adc #$05 ; CPU:$F085 PRG:3085 69 05
|
|
tay ; CPU:$F087 PRG:3087 A8
|
|
lda (AudioChanPtr2Lo),y ; CPU:$F088 PRG:3088 B1 F2
|
|
sta AudioHandlerPtrLo ; CPU:$F08A PRG:308A 85 FE
|
|
iny ; CPU:$F08C PRG:308C C8
|
|
lda (AudioChanPtr2Lo),y ; CPU:$F08D PRG:308D B1 F2
|
|
sta AudioHandlerPtrHi ; CPU:$F08F PRG:308F 85 FF
|
|
ldx #$00 ; CPU:$F091 PRG:3091 A2 00
|
|
lda (AudioHandlerPtrLo,x) ; CPU:$F093 PRG:3093 A1 FE
|
|
pha ; CPU:$F095 PRG:3095 48
|
|
lda AudioHandlerPtrLo ; CPU:$F096 PRG:3096 A5 FE
|
|
dey ; CPU:$F098 PRG:3098 88
|
|
clc ; CPU:$F099 PRG:3099 18
|
|
adc #$01 ; CPU:$F09A PRG:309A 69 01
|
|
sta (AudioChanPtr2Lo),y ; CPU:$F09C PRG:309C 91 F2
|
|
lda AudioHandlerPtrHi ; CPU:$F09E PRG:309E A5 FF
|
|
adc #$00 ; CPU:$F0A0 PRG:30A0 69 00
|
|
iny ; CPU:$F0A2 PRG:30A2 C8
|
|
sta (AudioChanPtr2Lo),y ; CPU:$F0A3 PRG:30A3 91 F2
|
|
pla ; CPU:$F0A5 PRG:30A5 68
|
|
rts ; CPU:$F0A6 PRG:30A6 60
|
|
; ---- data $F0A7-$FEFF (3673 bytes) ----
|
|
; referenced by `lda $F0BF` at $EE5B (operand $F0BF falls inside this region)
|
|
; referenced by `lda $F0C0` at $EE60 (operand $F0C0 falls inside this region)
|
|
; referenced by `lda $F0A7,x` at $EF73 (operand $F0A7 falls inside this region)
|
|
; referenced by `lda $F0A8,x` at $EF78 (operand $F0A8 falls inside this region)
|
|
.byte $03, $F9, $03, $C0, $03, $8A, $03, $57, $03, $27, $02, $FA, $02, $CF, $02, $A7 ; CPU:$F0A7 PRG:30A7 03 F9 03 C0 03 8A 03 57 03 27 02 FA 02 CF 02 A7
|
|
.byte $02, $81, $02, $5D, $02, $3B, $02, $1B, $C1, $F0, $8A, $F3, $D3, $F3, $E1, $F0 ; CPU:$F0B7 PRG:30B7 02 81 02 5D 02 3B 02 1B C1 F0 8A F3 D3 F3 E1 F0
|
|
.byte $FB, $F2, $FE, $F3, $0F, $F4, $F6, $F0, $A3, $F1, $DC, $F2, $8E, $F1, $21, $F1 ; CPU:$F0C7 PRG:30C7 FB F2 FE F3 0F F4 F6 F0 A3 F1 DC F2 8E F1 21 F1
|
|
.byte $4C, $F1, $6F, $F1, $C6, $F1, $39, $F2, $20, $F4, $01, $03, $7F, $08, $A2, $0C ; CPU:$F0D7 PRG:30D7 4C F1 6F F1 C6 F1 39 F2 20 F4 01 03 7F 08 A2 0C
|
|
.byte $A2, $0C, $A2, $0C, $A2, $0C, $A2, $0C, $A2, $0C, $A2, $0C, $A2, $0C, $F0, $03 ; CPU:$F0E7 PRG:30E7 A2 0C A2 0C A2 0C A2 0C A2 0C A2 0C A2 0C F0 03
|
|
.byte $04, $7F, $08, $33, $01, $23, $01, $03, $01, $A2, $01, $92, $01, $72, $01, $52 ; CPU:$F0F7 PRG:30F7 04 7F 08 33 01 23 01 03 01 A2 01 92 01 72 01 52
|
|
.byte $01, $32, $01, $22, $01, $02, $01, $A1, $01, $91, $01, $C0, $08, $91, $01, $A1 ; CPU:$F107 PRG:3107 01 32 01 22 01 02 01 A1 01 91 01 C0 08 91 01 A1
|
|
.byte $01, $02, $01, $22, $01, $32, $01, $52, $01, $F0, $01, $96, $7F, $28, $82, $01 ; CPU:$F117 PRG:3117 01 02 01 22 01 32 01 52 01 F0 01 96 7F 28 82 01
|
|
.byte $92, $01, $A2, $01, $B2, $01, $03, $01, $13, $01, $23, $01, $33, $01, $43, $01 ; CPU:$F127 PRG:3127 92 01 A2 01 B2 01 03 01 13 01 23 01 33 01 43 01
|
|
.byte $53, $01, $33, $01, $23, $01, $13, $01, $03, $01, $B2, $01, $A2, $01, $92, $01 ; CPU:$F137 PRG:3137 53 01 33 01 23 01 13 01 03 01 B2 01 A2 01 92 01
|
|
.byte $82, $01, $72, $01, $F0, $01, $96, $7F, $28, $A2, $01, $B2, $01, $03, $01, $13 ; CPU:$F147 PRG:3147 82 01 72 01 F0 01 96 7F 28 A2 01 B2 01 03 01 13
|
|
.byte $01, $23, $01, $33, $01, $43, $01, $53, $01, $33, $01, $23, $01, $13, $01, $03 ; CPU:$F157 PRG:3157 01 23 01 33 01 43 01 53 01 33 01 23 01 13 01 03
|
|
.byte $01, $B2, $01, $A2, $01, $92, $01, $F0, $01, $96, $7F, $28, $B2, $01, $03, $01 ; CPU:$F167 PRG:3167 01 B2 01 A2 01 92 01 F0 01 96 7F 28 B2 01 03 01
|
|
.byte $13, $01, $23, $01, $33, $01, $43, $01, $53, $01, $33, $01, $23, $01, $13, $01 ; CPU:$F177 PRG:3177 13 01 23 01 33 01 43 01 53 01 33 01 23 01 13 01
|
|
.byte $03, $01, $B2, $01, $A2, $01, $F0, $02, $9C, $7F, $28, $31, $01, $71, $01, $A1 ; CPU:$F187 PRG:3187 03 01 B2 01 A2 01 F0 02 9C 7F 28 31 01 71 01 A1
|
|
.byte $01, $12, $01, $32, $01, $72, $01, $A2, $01, $13, $01, $F0, $02, $00, $7F, $10 ; CPU:$F197 PRG:3197 01 12 01 32 01 72 01 A2 01 13 01 F0 02 00 7F 10
|
|
.byte $20, $03, $50, $03, $80, $02, $A0, $02, $21, $02, $51, $02, $81, $01, $A1, $01 ; CPU:$F1A7 PRG:31A7 20 03 50 03 80 02 A0 02 21 02 51 02 81 01 A1 01
|
|
.byte $02, $01, $22, $01, $32, $01, $52, $01, $F5, $18, $73, $01, $C0, $08, $F0, $01 ; CPU:$F1B7 PRG:31B7 02 01 22 01 32 01 52 01 F5 18 73 01 C0 08 F0 01
|
|
.byte $03, $7F, $08, $72, $02, $82, $08, $72, $02, $82, $08, $72, $02, $82, $08, $42 ; CPU:$F1C7 PRG:31C7 03 7F 08 72 02 82 08 72 02 82 08 72 02 82 08 42
|
|
.byte $02, $52, $04, $32, $04, $82, $06, $82, $08, $B2, $02, $03, $10, $C0, $08, $72 ; CPU:$F1D7 PRG:31D7 02 52 04 32 04 82 06 82 08 B2 02 03 10 C0 08 72
|
|
.byte $02, $82, $08, $72, $02, $82, $08, $72, $02, $82, $08, $42, $02, $52, $04, $32 ; CPU:$F1E7 PRG:31E7 02 82 08 72 02 82 08 72 02 82 08 42 02 52 04 32
|
|
.byte $04, $82, $06, $82, $08, $42, $02, $52, $10, $C0, $08, $72, $02, $82, $08, $72 ; CPU:$F1F7 PRG:31F7 04 82 06 82 08 42 02 52 10 C0 08 72 02 82 08 72
|
|
.byte $02, $82, $08, $72, $02, $82, $08, $42, $02, $52, $04, $32, $04, $82, $06, $82 ; CPU:$F207 PRG:3207 02 82 08 72 02 82 08 42 02 52 04 32 04 82 06 82
|
|
.byte $08, $A2, $02, $B2, $08, $03, $02, $13, $0A, $13, $02, $23, $0C, $03, $02, $13 ; CPU:$F217 PRG:3217 08 A2 02 B2 08 03 02 13 0A 13 02 23 0C 03 02 13
|
|
.byte $08, $A2, $02, $B2, $08, $82, $0A, $A2, $02, $B2, $0A, $72, $02, $82, $10, $C0 ; CPU:$F227 PRG:3227 08 A2 02 B2 08 82 0A A2 02 B2 0A 72 02 82 10 C0
|
|
.byte $08, $F0, $02, $81, $7F, $40, $80, $08, $C0, $06, $80, $04, $C0, $02, $80, $08 ; CPU:$F237 PRG:3237 08 F0 02 81 7F 40 80 08 C0 06 80 04 C0 02 80 08
|
|
.byte $C0, $06, $80, $04, $C0, $02, $80, $08, $C0, $06, $80, $04, $C0, $02, $01, $04 ; CPU:$F247 PRG:3247 C0 06 80 04 C0 02 80 08 C0 06 80 04 C0 02 01 04
|
|
.byte $C0, $01, $11, $04, $C0, $01, $21, $04, $C0, $01, $31, $04, $C0, $01, $80, $08 ; CPU:$F257 PRG:3257 C0 01 11 04 C0 01 21 04 C0 01 31 04 C0 01 80 08
|
|
.byte $C0, $06, $80, $04, $C0, $02, $80, $08, $C0, $06, $80, $04, $C0, $02, $80, $08 ; CPU:$F267 PRG:3267 C0 06 80 04 C0 02 80 08 C0 06 80 04 C0 02 80 08
|
|
.byte $C0, $06, $80, $04, $C0, $02, $01, $04, $C0, $01, $11, $04, $C0, $01, $21, $04 ; CPU:$F277 PRG:3277 C0 06 80 04 C0 02 01 04 C0 01 11 04 C0 01 21 04
|
|
.byte $C0, $01, $31, $04, $C0, $01, $80, $08, $C0, $06, $80, $04, $C0, $02, $80, $08 ; CPU:$F287 PRG:3287 C0 01 31 04 C0 01 80 08 C0 06 80 04 C0 02 80 08
|
|
.byte $C0, $06, $80, $04, $C0, $02, $80, $08, $C0, $06, $80, $04, $C0, $02, $01, $04 ; CPU:$F297 PRG:3297 C0 06 80 04 C0 02 80 08 C0 06 80 04 C0 02 01 04
|
|
.byte $C0, $01, $11, $04, $C0, $01, $21, $04, $C0, $01, $31, $04, $C0, $01, $81, $0A ; CPU:$F2A7 PRG:32A7 C0 01 11 04 C0 01 21 04 C0 01 31 04 C0 01 81 0A
|
|
.byte $31, $04, $C0, $01, $21, $04, $C0, $01, $11, $04, $C0, $01, $B0, $04, $C0, $01 ; CPU:$F2B7 PRG:32B7 31 04 C0 01 21 04 C0 01 11 04 C0 01 B0 04 C0 01
|
|
.byte $80, $04, $C0, $01, $70, $04, $C0, $01, $60, $08, $C0, $02, $70, $08, $C0, $02 ; CPU:$F2C7 PRG:32C7 80 04 C0 01 70 04 C0 01 60 08 C0 02 70 08 C0 02
|
|
.byte $80, $0C, $C0, $06, $F0, $02, $98, $7F, $28, $33, $01, $23, $01, $13, $01, $03 ; CPU:$F2D7 PRG:32D7 80 0C C0 06 F0 02 98 7F 28 33 01 23 01 13 01 03
|
|
.byte $01, $A2, $01, $82, $01, $72, $01, $52, $01, $32, $01, $12, $01, $A1, $01, $71 ; CPU:$F2E7 PRG:32E7 01 A2 01 82 01 72 01 52 01 32 01 12 01 A1 01 71
|
|
.byte $01, $31, $01, $F0, $01, $42, $7F, $38, $23, $02, $33, $02, $43, $02, $53, $02 ; CPU:$F2F7 PRG:32F7 01 31 01 F0 01 42 7F 38 23 02 33 02 43 02 53 02
|
|
.byte $43, $02, $33, $02, $23, $02, $13, $02, $23, $02, $33, $02, $43, $02, $33, $02 ; CPU:$F307 PRG:3307 43 02 33 02 23 02 13 02 23 02 33 02 43 02 33 02
|
|
.byte $23, $02, $13, $02, $03, $02, $13, $02, $23, $02, $33, $02, $23, $02, $13, $02 ; CPU:$F317 PRG:3317 23 02 13 02 03 02 13 02 23 02 33 02 23 02 13 02
|
|
.byte $03, $02, $B2, $02, $03, $02, $13, $02, $23, $02, $13, $02, $03, $02, $B2, $02 ; CPU:$F327 PRG:3327 03 02 B2 02 03 02 13 02 23 02 13 02 03 02 B2 02
|
|
.byte $A2, $02, $B2, $02, $03, $02, $23, $02, $03, $02, $B2, $02, $A2, $02, $92, $02 ; CPU:$F337 PRG:3337 A2 02 B2 02 03 02 23 02 03 02 B2 02 A2 02 92 02
|
|
.byte $A2, $02, $B2, $02, $03, $02, $B2, $02, $A2, $02, $92, $02, $82, $02, $92, $02 ; CPU:$F347 PRG:3347 A2 02 B2 02 03 02 B2 02 A2 02 92 02 82 02 92 02
|
|
.byte $A2, $02, $03, $02, $A2, $02, $92, $02, $82, $02, $F2, $00, $F3, $00, $F5, $18 ; CPU:$F357 PRG:3357 A2 02 03 02 A2 02 92 02 82 02 F2 00 F3 00 F5 18
|
|
.byte $31, $01, $71, $01, $B1, $01, $32, $01, $72, $01, $B2, $01, $33, $01, $73, $01 ; CPU:$F367 PRG:3367 31 01 71 01 B1 01 32 01 72 01 B2 01 33 01 73 01
|
|
.byte $C0, $02, $31, $01, $71, $01, $B1, $01, $32, $01, $72, $01, $B2, $01, $33, $01 ; CPU:$F377 PRG:3377 C0 02 31 01 71 01 B1 01 32 01 72 01 B2 01 33 01
|
|
.byte $73, $01, $F0, $01, $81, $7F, $40, $31, $08, $32, $08, $A1, $08, $71, $08, $32 ; CPU:$F387 PRG:3387 73 01 F0 01 81 7F 40 31 08 32 08 A1 08 71 08 32
|
|
.byte $07, $A1, $07, $71, $0C, $C0, $06, $41, $08, $42, $08, $B1, $08, $81, $08, $42 ; CPU:$F397 PRG:3397 07 A1 07 71 0C C0 06 41 08 42 08 B1 08 81 08 42
|
|
.byte $07, $B1, $07, $81, $0C, $C0, $06, $31, $08, $32, $08, $A1, $08, $71, $08, $32 ; CPU:$F3A7 PRG:33A7 07 B1 07 81 0C C0 06 31 08 32 08 A1 08 71 08 32
|
|
.byte $07, $A1, $07, $71, $0C, $C0, $06, $61, $05, $71, $05, $81, $05, $81, $05, $91 ; CPU:$F3B7 PRG:33B7 07 A1 07 71 0C C0 06 61 05 71 05 81 05 81 05 91
|
|
.byte $05, $A1, $05, $A1, $05, $B1, $05, $02, $05, $32, $0C, $F0, $02, $82, $7F, $40 ; CPU:$F3C7 PRG:33C7 05 A1 05 A1 05 B1 05 02 05 32 0C F0 02 82 7F 40
|
|
.byte $30, $18, $A0, $08, $30, $0E, $A0, $0C, $C0, $06, $40, $18, $B0, $08, $40, $0E ; CPU:$F3D7 PRG:33D7 30 18 A0 08 30 0E A0 0C C0 06 40 18 B0 08 40 0E
|
|
.byte $B0, $0C, $C0, $06, $30, $18, $A0, $08, $30, $0E, $A0, $0C, $C0, $06, $A0, $0F ; CPU:$F3E7 PRG:33E7 B0 0C C0 06 30 18 A0 08 30 0E A0 0C C0 06 A0 0F
|
|
.byte $01, $0F, $21, $0F, $31, $0C, $F0, $01, $9F, $7F, $28, $01, $01, $41, $01, $71 ; CPU:$F3F7 PRG:33F7 01 0F 21 0F 31 0C F0 01 9F 7F 28 01 01 41 01 71
|
|
.byte $01, $A1, $01, $02, $01, $F5, $18, $F0, $01, $9F, $7F, $28, $02, $01, $A1, $01 ; CPU:$F407 PRG:3407 01 A1 01 02 01 F5 18 F0 01 9F 7F 28 02 01 A1 01
|
|
.byte $71, $01, $41, $01, $F5, $18, $01, $01, $F0, $01, $9F, $7F, $28, $52, $01, $92 ; CPU:$F417 PRG:3417 71 01 41 01 F5 18 01 01 F0 01 9F 7F 28 52 01 92
|
|
.byte $01, $03, $01, $33, $01, $F5, $18, $53, $03, $F5, $28, $53, $01, $33, $01, $03 ; CPU:$F427 PRG:3427 01 03 01 33 01 F5 18 53 03 F5 28 53 01 33 01 03
|
|
.byte $01, $92, $01, $F5, $18, $52, $03, $92, $01, $13, $01, $43, $01, $73, $01, $F5 ; CPU:$F437 PRG:3437 01 92 01 F5 18 52 03 92 01 13 01 43 01 73 01 F5
|
|
.byte $18, $93, $0A, $F5, $28, $93, $01, $73, $01, $43, $01, $13, $01, $F5, $18, $92 ; CPU:$F447 PRG:3447 18 93 0A F5 28 93 01 73 01 43 01 13 01 F5 18 92
|
|
.byte $03, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F457 PRG:3457 03 F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F467 PRG:3467 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F477 PRG:3477 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F487 PRG:3487 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F497 PRG:3497 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4A7 PRG:34A7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4B7 PRG:34B7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4C7 PRG:34C7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4D7 PRG:34D7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4E7 PRG:34E7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F4F7 PRG:34F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F507 PRG:3507 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F517 PRG:3517 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F527 PRG:3527 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F537 PRG:3537 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F547 PRG:3547 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F557 PRG:3557 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F567 PRG:3567 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F577 PRG:3577 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F587 PRG:3587 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F597 PRG:3597 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5A7 PRG:35A7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5B7 PRG:35B7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5C7 PRG:35C7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5D7 PRG:35D7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5E7 PRG:35E7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F5F7 PRG:35F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F607 PRG:3607 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F617 PRG:3617 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F627 PRG:3627 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F637 PRG:3637 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F647 PRG:3647 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F657 PRG:3657 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F667 PRG:3667 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F677 PRG:3677 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F687 PRG:3687 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F697 PRG:3697 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6A7 PRG:36A7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6B7 PRG:36B7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6C7 PRG:36C7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6D7 PRG:36D7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6E7 PRG:36E7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F6F7 PRG:36F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F707 PRG:3707 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F717 PRG:3717 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F727 PRG:3727 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F737 PRG:3737 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F747 PRG:3747 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F757 PRG:3757 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F767 PRG:3767 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F777 PRG:3777 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F787 PRG:3787 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F797 PRG:3797 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7A7 PRG:37A7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7B7 PRG:37B7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7C7 PRG:37C7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7D7 PRG:37D7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7E7 PRG:37E7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F7F7 PRG:37F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F807 PRG:3807 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F817 PRG:3817 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F827 PRG:3827 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F837 PRG:3837 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F847 PRG:3847 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F857 PRG:3857 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F867 PRG:3867 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F877 PRG:3877 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F887 PRG:3887 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F897 PRG:3897 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F8A7 PRG:38A7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F8B7 PRG:38B7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F8C7 PRG:38C7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F8D7 PRG:38D7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F8E7 PRG:38E7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F8F7 PRG:38F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F907 PRG:3907 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F917 PRG:3917 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F927 PRG:3927 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F937 PRG:3937 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F947 PRG:3947 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F957 PRG:3957 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F967 PRG:3967 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F977 PRG:3977 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F987 PRG:3987 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F997 PRG:3997 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F9A7 PRG:39A7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F9B7 PRG:39B7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F9C7 PRG:39C7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F9D7 PRG:39D7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F9E7 PRG:39E7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$F9F7 PRG:39F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA07 PRG:3A07 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA17 PRG:3A17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA27 PRG:3A27 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA37 PRG:3A37 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA47 PRG:3A47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA57 PRG:3A57 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA67 PRG:3A67 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA77 PRG:3A77 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA87 PRG:3A87 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FA97 PRG:3A97 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAA7 PRG:3AA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAB7 PRG:3AB7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAC7 PRG:3AC7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAD7 PRG:3AD7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAE7 PRG:3AE7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FAF7 PRG:3AF7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB07 PRG:3B07 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB17 PRG:3B17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB27 PRG:3B27 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB37 PRG:3B37 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB47 PRG:3B47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB57 PRG:3B57 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB67 PRG:3B67 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB77 PRG:3B77 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB87 PRG:3B87 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FB97 PRG:3B97 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBA7 PRG:3BA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBB7 PRG:3BB7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBC7 PRG:3BC7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBD7 PRG:3BD7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBE7 PRG:3BE7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FBF7 PRG:3BF7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC07 PRG:3C07 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC17 PRG:3C17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC27 PRG:3C27 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC37 PRG:3C37 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC47 PRG:3C47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC57 PRG:3C57 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC67 PRG:3C67 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC77 PRG:3C77 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC87 PRG:3C87 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FC97 PRG:3C97 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCA7 PRG:3CA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCB7 PRG:3CB7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCC7 PRG:3CC7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCD7 PRG:3CD7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCE7 PRG:3CE7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FCF7 PRG:3CF7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD07 PRG:3D07 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD17 PRG:3D17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD27 PRG:3D27 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD37 PRG:3D37 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD47 PRG:3D47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD57 PRG:3D57 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD67 PRG:3D67 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD77 PRG:3D77 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD87 PRG:3D87 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FD97 PRG:3D97 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDA7 PRG:3DA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDB7 PRG:3DB7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDC7 PRG:3DC7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDD7 PRG:3DD7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDE7 PRG:3DE7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FDF7 PRG:3DF7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE07 PRG:3E07 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE17 PRG:3E17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE27 PRG:3E27 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE37 PRG:3E37 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE47 PRG:3E47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE57 PRG:3E57 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE67 PRG:3E67 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE77 PRG:3E77 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE87 PRG:3E87 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FE97 PRG:3E97 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEA7 PRG:3EA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEB7 PRG:3EB7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEC7 PRG:3EC7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FED7 PRG:3ED7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEE7 PRG:3EE7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FEF7 PRG:3EF7 FF FF FF FF FF FF FF FF FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Reset
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Reset:
|
|
sei ; CPU:$FF00 PRG:3F00 78
|
|
cld ; CPU:$FF01 PRG:3F01 D8
|
|
lda #$00 ; CPU:$FF02 PRG:3F02 A9 00
|
|
sta PPUCTRL ; CPU:$FF04 PRG:3F04 8D 00 20
|
|
sta PPUMASK ; CPU:$FF07 PRG:3F07 8D 01 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Reset_WaitVBlankClear_FF0A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_WaitVBlankClear_FF0A:
|
|
lda PPUSTATUS ; CPU:$FF0A PRG:3F0A AD 02 20
|
|
bpl Reset_WaitVBlankClear_FF0A ; CPU:$FF0D PRG:3F0D 10 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Reset_WaitVBlankSet_FF0F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_WaitVBlankSet_FF0F:
|
|
lda PPUSTATUS ; CPU:$FF0F PRG:3F0F AD 02 20
|
|
bpl Reset_WaitVBlankSet_FF0F ; CPU:$FF12 PRG:3F12 10 FB
|
|
jmp ColdStart ;
|
|
; ---- data $FF17-$FFFF (233 bytes) ----
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF17 PRG:3F17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF27 PRG:3F27 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF37 PRG:3F37 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF47 PRG:3F47 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF57 PRG:3F57 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF67 PRG:3F67 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF77 PRG:3F77 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF87 PRG:3F87 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FF97 PRG:3F97 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFA7 PRG:3FA7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFB7 PRG:3FB7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFC7 PRG:3FC7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFD7 PRG:3FD7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; CPU:$FFE7 PRG:3FE7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.byte $FF, $AB, $EC, $FA, $C0, $00, $FF, $6A, $C1 ; CPU:$FFF7 PRG:3FF7 FF AB EC FA C0 00 FF 6A C1
|