The first _wip project to get a real disassembly. 4,165 instructions /
8,444 code bytes (25.8%), 24,324 data bytes, 0 unclassified -- every byte
of the 32 KB PRG is now classified as code or data.
The split needed three stages, all recorded in prg.s's header:
* nesdis.py --undocumented --auto-seed at base $8000 gave 3,272
instructions / 6,555 bytes. The undocumented opcodes matter here: the
trace stops dead at the first one it cannot decode.
* Four hand-seeded entries ($C08B, $DC1E, $E0D5, $E134). Each is a
branch target from decoded code that sat inside an untraced data run,
so the tracer never reached it.
* A merged four-session Mesen Code Data Logger capture (kept as
xevious_mesen.cdl) promoted 1,902 bytes from data to code and
demoted 22 the trace had called code.
Two tool bugs fell out and are fixed here:
* nesdis.py emitted the undocumented single-byte NOPs ($1A/$3A/$5A/
$7A/$DA/$FA) as `nop`, which ca65 assembles as the *official* $EA --
the rebuild stopped being byte-identical at $DF82. The check now
keys on the opcode byte, not just the addressing mode. All three
`make regen` pipelines (MUSCLE, Pyramid, Urban Champion) are
unaffected and still reproduce prg.s byte for byte.
* cdl_reclass.py left the original data-block header in place when the
CDL split that block, so the file ended up with two region headers
describing overlapping spans (20 of them here). The header is now
dropped with the block it describes; the promoted projects that use
the tool are byte-for-byte unchanged.
The project README has the power-on flow analysis. The most interesting
find is at $FC45: the reset path compares RAM $0100-$0107 against the
ASCII string "Kei Cros", and the copyright text at $FF1E reads
"MAIN: KEI CROSS. SOUND: UHOHOY OHNOGI." The OAM is at $0700, not
$0200 -- the NMI handler does LDA #$07 / STA $4014.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add explicit `make wip` / `make wipclean` targets for the _wip tier
The root Makefile's all / clean / <MAPPER> targets deliberately name only
the promoted mapper folders, so nothing in them reaches into _wip/. Give
the pre-promotion tier its own opt-in targets instead of the manual
`for d in _wip/*/*/; do make -C "$d"; done` loop:
make wip # build + verify every _wip/<MAPPER>/<Project>/
make wipclean # clean the build artifacts in that tier
Both the Makefile and the four documents that describe the tier (README,
TODO, WIP, AGENTS) are updated together, so the tree stays consistent.
The same commit records Xevious (U) reaching Pass 2 in those documents:
all 487 labels named, every branch and call symbolic, zero Label_XXXX and
zero raw $XXXX operands left.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Update the _wip/ tier documentation; fix the make wip target and the mirroring bug
The WIP tier's four documents (WIP.md, README.md, TODO.md, AGENTS.md) had
drifted away from the tree. Every number in them was re-derived from the
ROMs and the folder layout rather than carried forward.
Counts and structure
- The tier holds 854 projects across 29 mapper folders, not "856 across
30". Xevious (U) and Zanac (U) were promoted on 2026-10-20 and their
_wip/ folders were left behind as residue -- "git mv" moves only the
tracked files, so the old folder survived with its build artifacts and a
stale README. Both are removed now; the promotion procedure documents
the step so it does not recur.
- _wip/MAPPER8/ holds a copy of the already-promoted Mermaids of
Atlantis (U) and is excluded from every count and table.
- Pass 0 skeletons: 852 (was 855). Xevious (U) left the tier, so the
two projects with a real disassembly are Golf (JU) and Volleyball (U).
- PRG sizes 2 / 150 / 42 / 522 / 127 / 10 / 1; 226 projects with no CHR;
38 keep the CPU-address linker layout; 37 are mapper 0.
- Every inventory row was re-checked against its ROM: PRG/CHR size,
mirroring, all three vectors, and the battery / four-screen / footer
notes. 854 of 854 rows now match.
Fixes
- The root Makefile used $(WIP) but never defined it, so "make wip" and
"make wipclean" expanded to "for m in /*/" -- they walked the
filesystem root instead of the tier. "WIP := _wip" is now defined, and
"make wip" builds and verifies the whole tier: 855 of 855 passed, 0
failures.
- make_skeleton.py masked header byte 6 with 0x03, so the battery bit
(bit 1) leaked into the mirroring value and 56 battery-backed ROMs'
READMEs claimed "Four-screen" while their own "Four-screen VRAM" row
said "no". The mask is now 0x01 and the 56 READMEs are corrected.
- Golf (JU)'s README still described the pre-flatten copilot/ folder and
the old PRG-only compare; it now describes the whole-ROM build.
- Pyramid (U)'s audit comments are canonical again, so Golf (JU) is the
only project in the tree still on the pre-canonical spelling.
New in WIP.md
- Byte 7's lower nybble is non-zero on 58 of the ROMs -- 55 carry the
literal "DiskDude!" watermark, two "DisNi0330", one "byKH+KEN". Only
the upper nybble carries mapper bits, so the noise is harmless.
- The twelve ROMs that set the four-screen bit, split by whether their
board actually supports four-screen VRAM.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Promote Volleyball (U) from _wip/NROM/ to NROM/
Volleyball (U) reached Pass 3 before promotion, so this is a promotion of a
finished disassembly rather than a Pass 0 skeleton.
The disassembly
- 11,395 instructions / 23,926 code bytes (73.0 % of the PRG image),
8,842 data bytes, 0 unclassified.
- The split needed the game-state dispatch table at $85E1 declared to the
tracer (--table 85E1:11) -- without it only 66 % of the image traced --
plus a Mesen Code Data Logger capture taken while a random-input bot
played the attract demo, which promoted 1,757 bytes from data to code.
- Pass 2 named all 1,989 labels: 730 read out of the code by hand, 1,221
internal branch targets derived mechanically. Zero Label_XXXX, zero raw
$XXXX call or branch operands, zero SubC residue.
- Pass 3 named the zero page, the $0500 ball structure and all 37 data
blocks. apply_symbols.py --report: 0 pending substitutions, 0
multi-alias residue. align_audit_comments.py: no column drift.
- cdl_check.py cross-checks the finished prg.s against the capture: 0
CDL-code bytes not covered by an instruction, 0 CDL-data bytes that
start one.
- 29 neutral ZpXX zero-page slots remain, each with its reason recorded
in locals.inc, as the promotion rules allow.
The promotion
- git mv "_wip/NROM/Volleyball (U)" "NROM/Volleyball (U)". Mapper 0, so
it lands in NROM/. The whole-ROM build was already in place, so there
was no build surgery; the project builds byte-identically at its new
home and the old folder is gone (git mv moves the untracked build
artifacts too, so no residue was left behind).
- Root README.md: new inventory row 39 and a per-project detail section,
plus the WIP-tier counts. The detail sections for Xevious (U) and
Zanac (U) were numbered one too high against the inventory rows and
are now aligned; a leftover editing note in the same place is gone.
- WIP.md: the Volleyball row leaves the inventory, and the tier is now
853 projects across 29 mapper folders (36 in _wip/NROM/), 852 of them
Pass 0 skeletons. Golf (JU) is the only project left in the tier with
a real disassembly.
- TODO.md and AGENTS.md: the same counts, and the promoted tier is now
40 projects (39 under NROM/).
Verified: make wip builds and verifies the whole tier (854 of 854 passed,
0 failures) and make builds the promoted tier (39 of 39 passed).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rename NROM/Pyramid (U) to NROM/Pyramid (U) (Sachen)
The promoted inventory row had read "Pyramid (U) (Sachen)" since the
project was promoted on 2026-10-20, but the folder was named "Pyramid (U)" --
so the row pointed at a folder that did not exist. The folder now matches
the row, and the project's own README title, its ROM file name
("Pyramid (U) (Sachen).nes") and the parenthetical convention the rest of
the promoted tier already uses (Popeye (JU) (PRG 0/1), Raid on Bungeling
Bay (U) [a2], Pac-Man (Tengen) (U)).
What changed inside the project
- The Makefile's regen target passes --project "Pyramid (U) (Sachen)", so
the tracer writes the matching header line. prg.s and locals.inc were
updated to that header line and nothing else -- the disassembly is
byte-identical to before.
- make regen still reproduces prg.s and locals.inc byte for byte.
- The project's README's build-verification line now names the new folder.
References updated: the root README.md (inventory prose, the row-33 detail
section, the build-status table, and the notable-observations bullet),
TODO.md (the promoted-projects table and the Pyramid notes) and AGENTS.md
(the recently-promoted list and the unlicensed-titles quirk).
Verified: make builds the promoted tier (39 of 39 passed) and the project
rebuilds byte-identically at its new path.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebuild Mermaids of Atlantis (U): bank-aware Pass 1, Pass 2/3 names
The promoted project did not build: a Pass 2 rename had been applied
half-way, leaving eight undefined symbols and two jumps that pointed at
the wrong routine, while the root README already claimed the project was
byte identical. The _wip copy still built, because it held the un-renamed
Pass 1 source.
The disassembly is now derived from the ROM itself, with the Mesen Code
Data Logger as the oracle for the code/data split:
* _tools/banked_dis.py traces every MMC3 bank separately, each with the CPU
window it is visible at, seeded from a CDL capture so the code a static
trace cannot reach is disassembled too. The CDL is the authority: a
decode the CPU never fetched is dropped, and so is the fall-through
behind a call whose target never returns (the game's dispatchers have
their jump table right behind the call).
* One segment per bank (PRG0..PRG7) with its own .org, so the assembler
knows the CPU address of every label while the linker still writes the
bytes to the bank's file offset. A flat segment cannot do both: a call
would encode the file offset instead of the CPU address.
* Pass 2 names every label - 494 routines, no Label_XXXX and no raw
$XXXX branch or jump operand left. Pass 3 applies 13 semantic zero-page
aliases and writes the routine headers.
* 8,075 bytes of code (12.3% of the 64 KB PRG), up from 200 bytes.
The banking turned out to be unusual and is documented: the fixed bank is
the fourth 8 KB bank (file $6000-$7FFF), not the last one, and the image
carries the reset stub and the vector table twice. The live NMI vector
is $808F - the frame handler - while the copy at the end of the image
names $8189, which is a BRK in the first half. The game's text table
lives at CPU $F1D6, which is the fixed window, and that is what settles
the question.
Also: the leftover _wip/MAPPER8 folder is removed, as it is for every
other promotion.
The project builds byte identical:
Byte-identical ROM verified.
Add CHANGELOG.md: the pass history of every project
A project goes through four milestones - Pass 1 (the code/data split),
Pass 2 (the labels replaced by names), Pass 3 (the semantic naming) and
Promotion (the move into the top-level mapper folder) - and the history
of those milestones was scattered over the commit log, the project
READMEs and the root README.
CHANGELOG.md gathers it: one section per project with a row for each
milestone, the date, and a sentence saying what the milestone produced.
The numbers are the ones the project README and the root README already
carry - instruction count, code coverage, named labels, semantic
zero-page aliases, named data tables - so a reader can see at a glance
which projects are done and which are not. Golf (JU), the only project
still in _wip/ with a real disassembly, is listed with its open
milestones, and the other 852 _wip/ projects are covered as a tier.
The requirement is now part of the workflow contract: PROMPTS.md gains a
"Pass 3: Changelog entry" section and a ninth checklist item, and
AGENTS.md points at the file. A milestone and its changelog row go in
the same commit, so the changelog and the source never disagree.
Balloon Fight (JU): repair the audit trail and complete the routine headers
The per-instruction audit trail was stale by two bytes from
ResetInitializationData ($C085) onward. 5,944 of the 6,007 comments named
the wrong CPU address and PRG offset, because the three-byte .byte "HAL"
signature at $C082-$C084 had been counted as one byte when the trail was
first generated - the routine headers and the linker labels were right all
along, so the source and its own headers disagreed with each other. The
trail was rebuilt from the ca65 -l listing with
_tools/repair_audit_comments.py, and every rewritten comment was re-checked
against prg.bin. The comments were also moved into the canonical column-35
field: they had sat two spaces after the mnemonic, with no column discipline
at all, unlike every other promoted project.
All 63 routine headers now carry a ; Clobbers: block, so the headers carry
the full template AGENTS.md describes. The blocks are derived, not written by
hand. The new _tools/derive_clobbers.py takes the opcode from the audit
comment's byte list, so the addressing mode is exact and a data directive is
never mistaken for an instruction; it resolves the operand through
locals.inc and symbols.inc to name what is written; it follows the real
control flow, so a jsr to another named entry is a call (the callee's
clobbers count) while a branch or a fall-through is not; and it models
register preservation, so NmiHandler reports *no register* - it saves and
restores A, X and Y around the frame - and FlushPpuCommandPreserved reports
only A, because X and Y come back unchanged.
Two tools changed. derive_clobbers.py is new. align_audit_comments.py had
an off-by-one: it tested the indented code length against 31 instead of
against 35, so code texts of 28-31 characters were never padded into the
column.
The change is comments only. The code text of all 8,538 lines is unchanged,
make still prints "Byte-identical ROM verified.", the 6,007 audit comments
still re-check against prg.bin, all 63 routine headers agree with the
instructions they describe, and every label agrees with reconstructed.lbl.
ReflectObjectYVelocity and UpdateSpecialObjectSystem moved out of locals.inc
and became labels in prg.s at their real addresses.
CHANGELOG.md becomes the repository's running log: a Pending list of the
changes to be put in the next commit, a History of the commits already made,
and the per-project milestone index at the end. The next commit's message is
written from the Pending entries, so the two cannot drift apart. PROMPTS.md
and AGENTS.md describe the new shape. WIP.md drops the _wip/MAPPER8/ note:
the folder held a copy of Mermaids of Atlantis (U) that had already been
promoted.
World Class Track Meet (U): Pass 1, the code/data split
Pass 1 is done. The split is 8,400 instructions / 18,028 code bytes (55.0 %)
of the 32 KB PRG, with 884 routine entries, 55 data blocks and 102 zero-page
aliases. The PRG is CNROM (mapper 3) and maps whole at $8000-$FFFF, so the
linker moved the PRG segment from a .nes file offset to $8000 and the build
still compares byte identical.
Four dispatch tables had to be seeded by hand. The event table at $F796 (5
entries) is read at $F780 and jumped to through `jmp ($001F)`. The three
push-pointer tables - $BFC4 (16 entries), $BFE4 (2) and $E5F2 (7) - push a
handler address and `rts` into it, and the 6502's `rts` adds one to the
address it pops, so each table stores the entry address minus one; the seeds
are the table values plus one. The tracer runs with --undocumented: the code
uses undocumented NMOS opcodes as ordinary code (ANC $37 at $BFF8, and the
RRA/RLA/SLO and NOP forms elsewhere). Seeding the tables takes the coverage
from 27.8 % to 55.0 %.
$C0BE-$C0C5 is forced back to data: the IRQ vector $C0C0 points into the
middle of the `jmp $C047` at $C0BE, and the game never executes CLI, so the
vector is dead. `make pass1` regenerates prg.s and locals.inc from prg.bin
and reproduces the committed prg.s byte for byte.
The project README records the split, the four dispatch tables, the dead IRQ
vector, the wrong CHR size field in the header, and what is still data. The
milestone index in CHANGELOG.md gains the project; WIP.md, README.md and
AGENTS.md follow the tier counts and the layout.
nesdis.py gains a --mapping-note option, so the header's "PRG mapped at" line
can describe a board that is not NROM - CNROM's whole 32 KB at $8000-$FFFF is
not "mirrored to the upper half".
Replaces runs of $00 and $FF with .res <run>, <byte>
Golf (JU) and World Class Track Meet (U): Pass 2/3 complete, promoted from _wip/
- World Class Track Meet (U) - Pass 2 complete: all 884 Label_<addr>
definitions replaced (651 semantic routine names + 233 Sub_<addr>), all 731
raw $XXXX jsr/jmp call operands resolved to symbolic labels, all branch
targets given role-based names; routinemap.tsv added; make stays
byte-identical.
- World Class Track Meet (U) - Pass 3 complete: 24 semantic zero-page
aliases applied via apply_symbols.py (0 residue), 78 neutral ZpXX slots
documented with reasons in locals.inc, all hardware-register operands use
symbols.inc names, project README rewritten with Pass 2/Pass 3 sections and
data-table inventory; promoted out of _wip/CNROM/.
- World Class Track Meet (U) - project README documents the five event-table
entries at $F796 and marks the olympics mode as not yet proven.
- Golf (JU) - audit comments converted from pre-canonical (; C000: A9 00)
to the canonical ; CPU:$C000 PRG:0000 A9 00 form at column 35; 4,156
comments re-aligned, comment/whitespace only, whole-ROM build stays
byte-identical.
- Golf (JU) - 339 internal branch-target Label_ labels given role-based names
via _tools/derive_branch_names.py; 0 raw $XXXX branch/jump operands remain.
- Golf (JU) - 275 zero-page operands substituted with locals.inc aliases via
apply_symbols.py; 0 residue; promoted out of _wip/NROM/.
- Xevious (U) - runs of $FF padding replaced with .res <count>, $FF in prg.s;
whole-ROM build stays byte-identical.
- Both projects promoted via git mv; leftover _wip/ folders removed; root
README.md inventory rows added; WIP.md rows removed.
World Class Track Meet (U): apply zero-page symbol substitutions
Run apply_symbols.py to substitute ZpXX zero-page operands with
semantic locals.inc aliases (SlotState, GameMode, etc.) at proven
sites; 0 residue, whole-ROM build stays byte-identical.
Xevious (U): re-split Pass 1 from the Mesen CDL and decode the data tables
- Xevious (U) - Pass 1 re-split from the Mesen CDL (xevious_mesen.cdl) with
_tools/cdl_reclass.py: 1,158 bytes data->code, 48 code->data, 42 labels
emitted and 3 branch targets labelled; code 11,321->12,455 bytes
(34.5%->38.0%), instructions 5,513->6,002. The 45 recovered entry points
are named Sub_XXXX, so no Label_XXXX remains; six CDL-silent raw call
operands are documented as residue.
- Xevious (U) - the 4,448-byte block at $A74B-$B8AA is split into six proven
tables: VramWritePtrTable (15 pointers), VramWriteData, DataStreamPtrTable
(16), ObjTilePtrTable (99), ObjTileData and DataStreamData. The $D833
pointer table is corrected to base $D833 (4 entries; the old ObjCodePtrTable
at $D834 was one byte late). $F957-$FAF5 is split into ObjSpeedTable,
ObjSpeedTable2, SpriteLayoutPtrTable (19) and SpriteLayoutData;
$FEE6-$FF1C into PaletteData and OamAttrTable. $F5D8 is decoded as
TextTileData (font tile indices: PLAYER, GAME OVER, READY, SOLVALOU, LEFT,
PAUSE); $F53C becomes AttrAddrTable, $F89E HandlerPtrTable and $EF3B
SpriteLayoutData2. Project README rewritten with the corrected stats, a
32-entry table inventory and the Pass 1 residue.
- _tools/cdl_reclass.py - preserve the data label(s) between a data-block
header and its first .byte row when the block stays data; the $DF78 split
dropped Data_DF78 and the rebuild failed with an undefined symbol.
- _tools/resolve_raw_branches.py - handle negative relative offsets
(beq *-$0B); the pattern only matched *+$NN and *$NN.
Docs: refresh the tier counts to 41 promoted / 851 _wip, add the WCTM row
- Docs - tier counts refreshed to the post-promotion state across AGENTS.md,
root README.md, WIP.md, TODO.md and CHANGELOG.md: 41 promoted projects
(38 under NROM/, plus CNROM/World Class Track Meet (U), UNROM/Zanac (U) and
MAPPER8/Mermaids of Atlantis (U)) and 851 _wip/ projects, every one of them
a Pass 0 skeleton. The stale "39/40 promoted", "853 _wip", "Golf (JU) is
still in _wip/" and "Golf is the last pre-canonical project" statements are
corrected.
- Root README.md - the promoted inventory gained the missing World Class Track
Meet (U) row (row 41, mapper 3, 32 KB PRG / 32 KB CHR), and the "All 38 are
mapper 0 / 16 KB PRG" sentence is replaced with the actual split (36 of the
41 rows are mapper 0 / 16 KB; Xevious and Volleyball are 32 KB, World Class
Track Meet is mapper 3, Zanac mapper 2 and Mermaids mapper 8).
15859 lines
1.1 MiB
Plaintext
15859 lines
1.1 MiB
Plaintext
; Xevious (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=$FC4E RESET=$FAF6 IRQ=$FF1D
|
|
; PRG mapped at $8000-$FFFF (NROM, mirrored to the upper half)
|
|
;
|
|
; Pass 1 trace provenance (the audit trail behind every classification below):
|
|
; dispatch table $BA8B, 16 x 16-bit entries, seeded as routine entries
|
|
; dispatch table $CA0A, 64 x 16-bit entries, seeded as routine entries
|
|
; 5 further routine entries recovered from table references elsewhere in the image:
|
|
; $A6A3, $C022, $C7C4, $C7C6, $E308
|
|
; entries seeded by hand after inspecting code-shaped but unreferenced blocks:
|
|
; $D833, $D8E0, $D909, $D987, $DA2D, $DA5C, $DA91, $DB1A, $DB5A, $DBA2, $DBB3, $DBF2, $DC19, $DC36, $DC7B, $DCBA, $DD28, $DEE0, $DFBB, $E332, $EB30, $E341, $E40A, $E465, $E4E4, $E520, $E549, $E59A, $E648, $E718, $E7F6, $E82B, $E845, $E853, $E873, $E883, $E8A9, $E8C0, $E983, $E98B, $E9B0, $E9EE, $EA3B, $EA5A, $EA82, $EA9F, $EAE3, $EB1E, $EC96, $ECA0, $ECC3, $ECD9, $ECE4, $ED17, $EE28, $EE3C, $EE50, $EE6C, $EE73, $EE7C, $EE8D, $EE9E, $EED1, $EF09, $EF2B, $EF35, $EFC6, $EFFE, $F018, $F02A, $F03A, $F054, $F0E2, $A53A, $C305, $C455, $C49A, $C4D2, $C4F4, $C4FF, $C50B, $C53B, $C626, $C658, $C6D4, $C711, $C720, $C8B4, $C8BE, $C8D2, $C90F, $C920, $CD45, $CE03, $CECF, $CF22, $CF95, $CFCF, $D024, $D24A, $D2C4, $D2E9, $D2F4, $D343, $D351, $D367, $D372, $D385, $D3BA, $D3D6, $D3FD, $D446, $D498, $D4C1, $D4E3, $D55E, $D56B, $D58A, $D59A, $D5CF, $D608, $D617, $D62C, $D63E, $D6F9, $D7A7, $E084, $E100, $E178
|
|
; indirect dispatch through zero page (not followed statically):
|
|
; jmp ($00FE) at $BA88
|
|
; jmp ($0004) at $CA07
|
|
;
|
|
.setcpu "6502"
|
|
|
|
.include "symbols.inc"
|
|
.include "locals.inc"
|
|
|
|
.segment "PRG"
|
|
|
|
; ---- data $8000-$A2BF (8896 bytes) ----
|
|
PatternData:
|
|
; referenced by `bit $8481` at $CD84 (operand $8481 falls inside this region)
|
|
; referenced by `jsr $9848` at $DC7B (operand $9848 falls inside this region)
|
|
; referenced by `lda $A1EE,x` at $F44C (operand $A1EE falls inside this region)
|
|
; referenced by `lda $A1EE,x` at $F47A (operand $A1EE falls inside this region)
|
|
; referenced by `lda $A000,x` at $F4AF (operand $A000 falls inside this region)
|
|
; referenced by `lda $A0F7,x` at $F4B6 (operand $A0F7 falls inside this region)
|
|
; ... and 2 further references from decoded code
|
|
.byte $6F, $70, $6F, $71, $72, $6F, $71, $72, $70, $71, $6F, $72, $70, $71, $6F, $71 ; CPU:$8000 PRG:0000 6F 70 6F 71 72 6F 71 72 70 71 6F 72 70 71 6F 71
|
|
.byte $72, $6F, $71, $70, $72, $72, $6F, $70, $72, $70, $6F, $71, $71, $6F, $6F, $72 ; CPU:$8010 PRG:0010 72 6F 71 70 72 72 6F 70 72 70 6F 71 71 6F 6F 72
|
|
.byte $70, $71, $70, $6F, $70, $72, $6F, $70, $71, $6F, $72, $70, $71, $6F, $72, $6F ; CPU:$8020 PRG:0020 70 71 70 6F 70 72 6F 70 71 6F 72 70 71 6F 72 6F
|
|
.byte $71, $6F, $70, $71, $72, $72, $71, $70, $6F, $71, $72, $70, $71, $6F, $71, $70 ; CPU:$8030 PRG:0030 71 6F 70 71 72 72 71 70 6F 71 72 70 71 6F 71 70
|
|
.byte $71, $6F, $71, $70, $6F, $70, $70, $71, $72, $6F, $70, $71, $70, $70, $71, $6F ; CPU:$8040 PRG:0040 71 6F 71 70 6F 70 70 71 72 6F 70 71 70 70 71 6F
|
|
.byte $70, $71, $72, $70, $71, $72, $70, $71, $6F, $72, $71, $6F, $71, $6F, $6F, $72 ; CPU:$8050 PRG:0050 70 71 72 70 71 72 70 71 6F 72 71 6F 71 6F 6F 72
|
|
.byte $72, $72, $70, $71, $72, $6F, $70, $71, $6F, $70, $71, $72, $72, $71, $70, $6F ; CPU:$8060 PRG:0060 72 72 70 71 72 6F 70 71 6F 70 71 72 72 71 70 6F
|
|
.byte $72, $6F, $71, $70, $70, $71, $6F, $71, $72, $6F, $70, $71, $70, $72, $6F, $71 ; CPU:$8070 PRG:0070 72 6F 71 70 70 71 6F 71 72 6F 70 71 70 72 6F 71
|
|
.byte $70, $6F, $71, $72, $70, $71, $72, $6F, $70, $71, $72, $71, $71, $72, $70, $6F ; CPU:$8080 PRG:0080 70 6F 71 72 70 71 72 6F 70 71 72 71 71 72 70 6F
|
|
.byte $70, $72, $70, $6F, $72, $70, $71, $70, $71, $70, $70, $6F, $72, $70, $72, $70 ; CPU:$8090 PRG:0090 70 72 70 6F 72 70 71 70 71 70 70 6F 72 70 72 70
|
|
.byte $72, $6F, $71, $72, $70, $72, $70, $6F, $72, $70, $71, $70, $6F, $6F, $71, $6F ; CPU:$80A0 PRG:00A0 72 6F 71 72 70 72 70 6F 72 70 71 70 6F 6F 71 6F
|
|
.byte $71, $6F, $71, $71, $71, $70, $71, $72, $71, $70, $71, $72, $6F, $71, $70, $72 ; CPU:$80B0 PRG:00B0 71 6F 71 71 71 70 71 72 71 70 71 72 6F 71 70 72
|
|
.byte $70, $71, $6F, $70, $72, $71, $70, $71, $70, $6F, $72, $49, $4A, $62, $47, $48 ; CPU:$80C0 PRG:00C0 70 71 6F 70 72 71 70 71 70 6F 72 49 4A 62 47 48
|
|
.byte $70, $6F, $71, $72, $70, $70, $71, $72, $6F, $71, $70, $72, $70, $72, $70, $6F ; CPU:$80D0 PRG:00D0 70 6F 71 72 70 70 71 72 6F 71 70 72 70 72 70 6F
|
|
.byte $6F, $71, $70, $70, $72, $6F, $71, $70, $70, $71, $72, $6F, $70, $6F, $70, $71 ; CPU:$80E0 PRG:00E0 6F 71 70 70 72 6F 71 70 70 71 72 6F 70 6F 70 71
|
|
.byte $72, $70, $71, $71, $72, $71, $6F, $71, $71, $6F, $72, $70, $71, $6F, $71, $70 ; CPU:$80F0 PRG:00F0 72 70 71 71 72 71 6F 71 71 6F 72 70 71 6F 71 70
|
|
.byte $4C, $45, $4C, $45, $4C, $0D, $45, $46, $62, $4B, $4C, $0D, $0D, $0D, $0D, $0D ; CPU:$8100 PRG:0100 4C 45 4C 45 4C 0D 45 46 62 4B 4C 0D 0D 0D 0D 0D
|
|
.byte $45, $46, $47, $48, $70, $71, $6F, $72, $70, $71, $72, $70, $6F, $71, $72, $6F ; CPU:$8110 PRG:0110 45 46 47 48 70 71 6F 72 70 71 72 70 6F 71 72 6F
|
|
.byte $71, $70, $6F, $71, $70, $71, $6F, $70, $70, $71, $6F, $71, $70, $6F, $71, $70 ; CPU:$8120 PRG:0120 71 70 6F 71 70 71 6F 70 70 71 6F 71 70 6F 71 70
|
|
.byte $6F, $71, $70, $6F, $70, $6F, $6F, $6F, $71, $71, $70, $72, $70, $6F, $71, $6F ; CPU:$8130 PRG:0130 6F 71 70 6F 70 6F 6F 6F 71 71 70 72 70 6F 71 6F
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8140 PRG:0140 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $46, $47, $48, $49, $6F, $71, $70, $72, $70, $6F, $70, $71 ; CPU:$8150 PRG:0150 0D 0D 0D 0D 46 47 48 49 6F 71 70 72 70 6F 70 71
|
|
.byte $70, $71, $6F, $71, $70, $71, $40, $45, $4C, $0D, $45, $46, $62, $4B, $4C, $0D ; CPU:$8160 PRG:0160 70 71 6F 71 70 71 40 45 4C 0D 45 46 62 4B 4C 0D
|
|
.byte $59, $91, $69, $70, $71, $6F, $72, $6F, $70, $71, $71, $70, $6F, $71, $6F, $71 ; CPU:$8170 PRG:0170 59 91 69 70 71 6F 72 6F 70 71 71 70 6F 71 6F 71
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8180 PRG:0180 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $55, $70, $71, $6F, $71, $70, $71, $6F ; CPU:$8190 PRG:0190 0D 0D 0D 0D 0D 0D 0D 0D 55 70 71 6F 71 70 71 6F
|
|
.byte $71, $70, $6F, $6F, $71, $72, $44, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$81A0 PRG:01A0 71 70 6F 6F 71 72 44 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $45, $46, $47, $48, $71, $6F, $72, $49, $48, $71, $70, $6F, $72 ; CPU:$81B0 PRG:01B0 0D 0C 2F 45 46 47 48 71 6F 72 49 48 71 70 6F 72
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$81C0 PRG:01C0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $45, $4C, $55, $70 ; CPU:$81D0 PRG:01D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 45 4C 55 70
|
|
.byte $6F, $71, $6F, $71, $72, $56, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$81E0 PRG:01E0 6F 71 6F 71 72 56 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $45, $4C, $0D, $0D, $5D, $71, $70, $6F ; CPU:$81F0 PRG:01F0 0D 0C 2F 0D 0D 0D 0D 0D 45 4C 0D 0D 5D 71 70 6F
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8200 PRG:0200 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5D ; CPU:$8210 PRG:0210 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 5D
|
|
.byte $71, $49, $6A, $91, $4C, $07, $30, $0B, $0C, $0C, $26, $27, $0D, $0D, $0D, $0D ; CPU:$8220 PRG:0220 71 49 6A 91 4C 07 30 0B 0C 0C 26 27 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $65, $71, $70 ; CPU:$8230 PRG:0230 0D 0C 2F 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 65 71 70
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8240 PRG:0240 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E ; CPU:$8250 PRG:0250 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E
|
|
.byte $0D, $0D, $17, $09, $0D, $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $0D, $0D ; CPU:$8260 PRG:0260 0D 0D 17 09 0D 0B 0C 0C 0C 0C 0C 0C 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $55, $6F ; CPU:$8270 PRG:0270 0D 0C 2F 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 55 6F
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8280 PRG:0280 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E ; CPU:$8290 PRG:0290 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E
|
|
.byte $0D, $0D, $1B, $2F, $0D, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $0D, $0D ; CPU:$82A0 PRG:02A0 0D 0D 1B 2F 0D 0C 0C 0C 0C 0C 0C 0C 0D 0D 0D 0D
|
|
.byte $0D, $0C, $0A, $06, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $45 ; CPU:$82B0 PRG:02B0 0D 0C 0A 06 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 45
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$82C0 PRG:02C0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $04 ; CPU:$82D0 PRG:02D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 04
|
|
.byte $33, $0D, $0C, $2F, $0D, $08, $0C, $0C, $0C, $0C, $0C, $01, $0D, $0D, $0D, $0D ; CPU:$82E0 PRG:02E0 33 0D 0C 2F 0D 08 0C 0C 0C 0C 0C 01 0D 0D 0D 0D
|
|
.byte $0D, $0C, $0C, $0A, $06, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$82F0 PRG:02F0 0D 0C 0C 0A 06 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8300 PRG:0300 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8310 PRG:0310 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $04, $33, $0C, $2F, $61, $2E, $01, $04, $31, $31, $05, $0D, $0D, $0D, $0D, $0D ; CPU:$8320 PRG:0320 04 33 0C 2F 61 2E 01 04 31 31 05 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $09, $08, $0A, $06, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8330 PRG:0330 0D 0C 09 08 0A 06 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8340 PRG:0340 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8350 PRG:0350 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $04, $0C, $2F, $61, $2E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8360 PRG:0360 0D 04 0C 2F 61 2E 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $04, $08, $0A, $06, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8370 PRG:0370 0D 0C 2F 04 08 0A 06 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8380 PRG:0380 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8390 PRG:0390 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $08, $0A, $06, $2E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83A0 PRG:03A0 0D 0D 08 0A 06 2E 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $04, $08, $0A, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$83B0 PRG:03B0 0D 0C 2F 0D 04 08 0A 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83C0 PRG:03C0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83D0 PRG:03D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $04, $08, $0A, $0B, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$83E0 PRG:03E0 0D 0D 04 08 0A 0B 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $07, $0B, $0C, $0D, $0D ; CPU:$83F0 PRG:03F0 0D 0C 2F 0D 0D 2E 0C 0D 0D 0D 0D 07 0B 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8400 PRG:0400 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8410 PRG:0410 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $04, $21, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8420 PRG:0420 0D 0D 0D 04 21 0C 02 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $07, $0B, $0C, $0C, $0D, $0D ; CPU:$8430 PRG:0430 0D 0C 2F 0D 0D 2E 0C 0D 0D 0D 07 0B 0C 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8440 PRG:0440 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8450 PRG:0450 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8460 PRG:0460 0D 0D 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $0D, $07, $0B, $09, $08, $0C, $0D, $0D ; CPU:$8470 PRG:0470 0D 0C 2F 0D 0D 2E 0C 0D 0D 07 0B 09 08 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D0, $D3, $D3, $D3, $D3, $D3, $D3, $D3 ; CPU:$8480 PRG:0480 0D 0D 0D 0D 0D 0D 0D 0D D0 D3 D3 D3 D3 D3 D3 D3
|
|
.byte $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $D3, $E7, $E5, $0D, $0D ; CPU:$8490 PRG:0490 D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 D3 E7 E5 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $00, $0C, $F5, $F6, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$84A0 PRG:04A0 0D 0D 0D 0D 0D 0D 00 0C F5 F6 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $0D, $07, $0B, $09, $05, $2E, $0C, $0D, $0D ; CPU:$84B0 PRG:04B0 0D 0C 2F 0D 0D 2E 0C 0D 07 0B 09 05 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D1, $D2, $D2, $D4, $D5, $E5, $E5, $E5 ; CPU:$84C0 PRG:04C0 0D 0D 0D 0D 0D 0D 0D 0D D1 D2 D2 D4 D5 E5 E5 E5
|
|
.byte $E5, $E3, $D3, $D3, $D3, $D3, $D3, $D3, $DC, $DD, $E5, $E6, $E5, $E5, $0D, $0D ; CPU:$84D0 PRG:04D0 E5 E3 D3 D3 D3 D3 D3 D3 DC DD E5 E6 E5 E5 0D 0D
|
|
.byte $51, $52, $60, $5F, $4F, $0D, $0D, $00, $0C, $0C, $F5, $F6, $0D, $0D, $0D, $0D ; CPU:$84E0 PRG:04E0 51 52 60 5F 4F 0D 0D 00 0C 0C F5 F6 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $2E, $0C, $07, $0B, $09, $05, $0D, $2E, $0C, $0D, $0D ; CPU:$84F0 PRG:04F0 0D 0C 2F 0D 0D 2E 0C 07 0B 09 05 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $E5, $D7, $D6, $E5, $E5, $E5, $E5 ; CPU:$8500 PRG:0500 0D 0D 0D 0D 0D 0D 0D 0D E5 E5 D7 D6 E5 E5 E5 E5
|
|
.byte $E2, $E1, $E5, $DB, $E5, $E5, $E5, $E5, $DE, $DF, $DD, $E6, $E5, $E5, $0D, $0D ; CPU:$8510 PRG:0510 E2 E1 E5 DB E5 E5 E5 E5 DE DF DD E6 E5 E5 0D 0D
|
|
.byte $71, $6F, $72, $70, $5E, $0D, $0D, $0D, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A ; CPU:$8520 PRG:0520 71 6F 72 70 5E 0D 0D 0D 0C 0C 0C 0C 0C 0C 0C 0A
|
|
.byte $06, $0C, $2F, $0D, $0D, $2E, $0C, $0C, $09, $05, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8530 PRG:0530 06 0C 2F 0D 0D 2E 0C 0C 09 05 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $D7, $D6, $E5, $E5, $E5, $E5, $D7 ; CPU:$8540 PRG:0540 0D 0D 0D 0D 0D 0D 0D 0D E5 D7 D6 E5 E5 E5 E5 D7
|
|
.byte $E1, $E5, $E5, $DB, $E5, $E5, $E5, $E5, $E5, $DE, $DF, $E0, $E5, $E5, $0D, $36 ; CPU:$8550 PRG:0550 E1 E5 E5 DB E5 E5 E5 E5 E5 DE DF E0 E5 E5 0D 36
|
|
.byte $70, $6F, $72, $71, $5A, $0D, $0D, $0D, $0C, $0C, $23, $31, $31, $31, $20, $0C ; CPU:$8560 PRG:0560 70 6F 72 71 5A 0D 0D 0D 0C 0C 23 31 31 31 20 0C
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8570 PRG:0570 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D8, $D9, $D9, $D9, $D9, $D9, $D9, $D9 ; CPU:$8580 PRG:0580 0D 0D 0D 0D 0D 0D 0D 0D D8 D9 D9 D9 D9 D9 D9 D9
|
|
.byte $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $E5, $0D, $3A ; CPU:$8590 PRG:0590 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 E5 0D 3A
|
|
.byte $6F, $72, $71, $6F, $35, $0D, $0D, $0F, $0C, $01, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$85A0 PRG:05A0 6F 72 71 6F 35 0D 0D 0F 0C 01 0D 0D 0D 0D 0D 0C
|
|
.byte $09, $31, $31, $31, $31, $31, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$85B0 PRG:05B0 09 31 31 31 31 31 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D8, $D9, $D9, $D9, $D9, $D9, $D9, $D9 ; CPU:$85C0 PRG:05C0 0D 0D 0D 0D 0D 0D 0D 0D D8 D9 D9 D9 D9 D9 D9 D9
|
|
.byte $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $E5, $0D, $3E ; CPU:$85D0 PRG:05D0 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 E5 0D 3E
|
|
.byte $71, $72, $6F, $70, $44, $0D, $0D, $13, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$85E0 PRG:05E0 71 72 6F 70 44 0D 0D 13 0C 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$85F0 PRG:05F0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $D8, $D9, $D9, $D9, $D9, $D9, $D9, $D9 ; CPU:$8600 PRG:0600 0D 0D 0D 0D 0D 0D 0D 0D D8 D9 D9 D9 D9 D9 D9 D9
|
|
.byte $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $D9, $E5, $0D, $42 ; CPU:$8610 PRG:0610 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 D9 E5 0D 42
|
|
.byte $6F, $72, $6F, $71, $4E, $0D, $0D, $17, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8620 PRG:0620 6F 72 6F 71 4E 0D 0D 17 0C 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8630 PRG:0630 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5 ; CPU:$8640 PRG:0640 0D 0D 0D 0D 0D 0D 0D 0D E5 E5 E5 E5 E5 E5 E5 E5
|
|
.byte $E5, $DA, $E4, $E4, $E4, $E4, $E4, $E4, $E4, $D6, $E5, $E5, $E4, $DB, $0D, $72 ; CPU:$8650 PRG:0650 E5 DA E4 E4 E4 E4 E4 E4 E4 D6 E5 E5 E4 DB 0D 72
|
|
.byte $71, $70, $72, $72, $56, $07, $2D, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8660 PRG:0660 71 70 72 72 56 07 2D 0C 0C 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8670 PRG:0670 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5 ; CPU:$8680 PRG:0680 0D 0D 0D 0D 0D 0D 0D 0D E5 E5 E5 E5 E5 E5 E5 E5
|
|
.byte $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $E5, $0D, $5D ; CPU:$8690 PRG:0690 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 0D 5D
|
|
.byte $72, $71, $5E, $4C, $07, $0B, $09, $24, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$86A0 PRG:06A0 72 71 5E 4C 07 0B 09 24 25 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$86B0 PRG:06B0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $2B, $2C, $2D, $26, $28, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$86C0 PRG:06C0 2B 2C 2D 26 28 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $63, $63, $63, $63, $60 ; CPU:$86D0 PRG:06D0 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 5C 63 63 63 63 60
|
|
.byte $70, $70, $40, $07, $0B, $09, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$86E0 PRG:06E0 70 70 40 07 0B 09 05 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $0A, $30, $30, $30, $28, $29, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$86F0 PRG:06F0 0A 30 30 30 28 29 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $26, $28, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8700 PRG:0700 0C 0C 0C 0C 0C 0C 26 28 0D 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $60, $72, $70, $72, $71, $6F, $71 ; CPU:$8710 PRG:0710 0D 0D 0D 0D 0D 0D 0D 0D 5C 60 72 70 72 71 6F 71
|
|
.byte $71, $72, $44, $2E, $0C, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8720 PRG:0720 71 72 44 2E 0C 05 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $04, $31, $31, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8730 PRG:0730 2F 0D 0D 04 31 31 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A, $28, $29, $0D, $0D, $0D, $0D, $0D ; CPU:$8740 PRG:0740 0C 0C 0C 0C 0C 0C 0C 0C 0A 28 29 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $58, $70, $6F, $72, $6F, $71, $6F, $70, $72 ; CPU:$8750 PRG:0750 0D 0D 0D 0D 0D 0D 0D 58 70 6F 72 6F 71 6F 70 72
|
|
.byte $49, $4A, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$8760 PRG:0760 49 4A 0D 2E 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8770 PRG:0770 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A, $28, $29, $0D, $0D ; CPU:$8780 PRG:0780 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0A 28 29 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $58, $70, $6F, $70, $6F, $70, $70, $71, $71, $56 ; CPU:$8790 PRG:0790 0D 0D 0D 0D 0D 0D 58 70 6F 70 6F 70 70 71 71 56
|
|
.byte $0D, $0D, $0D, $2E, $0C, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $0C ; CPU:$87A0 PRG:07A0 0D 0D 0D 2E 0C 30 30 30 30 30 30 30 30 30 30 0C
|
|
.byte $2F, $0D, $0D, $C9, $CA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$87B0 PRG:07B0 2F 0D 0D C9 CA CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0A ; CPU:$87C0 PRG:07C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0A
|
|
.byte $06, $0D, $0D, $0D, $0D, $0D, $5D, $6F, $6F, $6F, $5E, $4B, $4C, $0D, $0D, $0D ; CPU:$87D0 PRG:07D0 06 0D 0D 0D 0D 0D 5D 6F 6F 6F 5E 4B 4C 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$87E0 PRG:07E0 0D 0D 0D 2E 0C 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $C9, $CA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$87F0 PRG:07F0 2F C9 CA CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8800 PRG:0800 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0A, $28, $29, $0D, $0D, $0D, $3F, $6F, $71, $71, $41, $0D, $BD, $C1, $CD, $CD ; CPU:$8810 PRG:0810 0A 28 29 0D 0D 0D 3F 6F 71 71 41 0D BD C1 CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8820 PRG:0820 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CB, $CC, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8830 PRG:0830 CD CD CD CB CC 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8840 PRG:0840 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $02, $0D, $0D, $0D, $45, $46, $5D, $5E, $BD, $C1, $CD, $CD, $CD ; CPU:$8850 PRG:0850 0C 0C 0C 02 0D 0D 0D 45 46 5D 5E BD C1 CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8860 PRG:0860 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CB, $CC, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8870 PRG:0870 CD CB CC 0D 0D 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8880 PRG:0880 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $0E, $0D, $0D, $0D, $0D, $A3, $A4, $C1, $CD, $B7, $0D, $07 ; CPU:$8890 PRG:0890 0C 0C 0C 0C 0E 0D 0D 0D 0D A3 A4 C1 CD B7 0D 07
|
|
.byte $30, $30, $30, $0B, $0C, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $0C ; CPU:$88A0 PRG:08A0 30 30 30 0B 0C 30 30 30 30 30 30 30 30 30 30 0C
|
|
.byte $2F, $0D, $0D, $2E, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D ; CPU:$88B0 PRG:08B0 2F 0D 0D 2E 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$88C0 PRG:08C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $12, $0D, $0D, $0D, $B9, $CD, $CD, $CD, $B7, $0D, $0D, $17 ; CPU:$88D0 PRG:08D0 0C 0C 0C 0C 12 0D 0D 0D B9 CD CD CD B7 0D 0D 17
|
|
.byte $0D, $0D, $00, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$88E0 PRG:08E0 0D 0D 00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $2F, $0D, $0D, $2E, $0C, $31, $31, $08, $31, $31, $31, $31, $08, $0C, $0D, $0D ; CPU:$88F0 PRG:08F0 2F 0D 0D 2E 0C 31 31 08 31 31 31 31 08 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8900 PRG:0900 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $19, $0D, $0D, $B9, $CD, $BF, $9D, $9E, $50, $0D, $0D, $15 ; CPU:$8910 PRG:0910 0C 0C 0C 0C 19 0D 0D B9 CD BF 9D 9E 50 0D 0D 15
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8920 PRG:0920 0D 0D 0D 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $2E, $0C, $0D, $0D, $2E, $0D, $0D, $0D, $0D, $17, $0C, $0D, $0D ; CPU:$8930 PRG:0930 0D 0D 0D 2E 0C 0D 0D 2E 0D 0D 0D 0D 17 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8940 PRG:0940 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $1D, $0D, $0D, $CD, $BF, $BB, $3A, $72, $6F, $4D, $4E, $2F ; CPU:$8950 PRG:0950 0C 0C 0C 0C 1D 0D 0D CD BF BB 3A 72 6F 4D 4E 2F
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8960 PRG:0960 0D 0D 0D 0D 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $07, $0B, $0C, $02, $0D, $2E, $0D, $0D, $0D, $03, $0C, $0C, $0D, $0D ; CPU:$8970 PRG:0970 0D 0D 07 0B 0C 02 0D 2E 0D 0D 0D 03 0C 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8980 PRG:0980 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $0D, $0D, $0D, $CD, $C6, $5C, $60, $70, $72, $6F, $6A, $90 ; CPU:$8990 PRG:0990 0C 0C 0C 0C 0D 0D 0D CD C6 5C 60 70 72 6F 6A 90
|
|
.byte $57, $0D, $0D, $0D, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$89A0 PRG:09A0 57 0D 0D 0D 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $07, $0B, $0C, $0C, $0C, $02, $2E, $0D, $0D, $03, $0C, $0C, $0C, $0D, $0D ; CPU:$89B0 PRG:09B0 0D 07 0B 0C 0C 0C 02 2E 0D 0D 03 0C 0C 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$89C0 PRG:09C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $0E, $0D, $0D, $A8, $AE, $3F, $71, $72, $72, $95, $92, $68 ; CPU:$89D0 PRG:09D0 0C 0C 0C 0C 0E 0D 0D A8 AE 3F 71 72 72 95 92 68
|
|
.byte $72, $4D, $5B, $0D, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$89E0 PRG:09E0 72 4D 5B 0D 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $2E, $0C, $09, $31, $08, $0C, $0C, $0D, $03, $0C, $0C, $0C, $0C, $0D, $0D ; CPU:$89F0 PRG:09F0 0D 2E 0C 09 31 08 0C 0C 0D 03 0C 0C 0C 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8A00 PRG:0A00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $0C, $1D, $0D, $0D, $AC, $B2, $43, $6F, $70, $71, $90, $72, $72 ; CPU:$8A10 PRG:0A10 0C 0C 0C 0C 1D 0D 0D AC B2 43 6F 70 71 90 72 72
|
|
.byte $6F, $70, $5F, $5B, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8A20 PRG:0A20 6F 70 5F 5B 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $2E, $0C, $05, $0D, $04, $08, $0C, $03, $0C, $0C, $09, $08, $0C, $0D, $0D ; CPU:$8A30 PRG:0A30 0D 2E 0C 05 0D 04 08 0C 03 0C 0C 09 08 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8A40 PRG:0A40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $11, $0D, $0D, $BD, $C1, $BF, $5C, $71, $6F, $95, $68, $71, $6F ; CPU:$8A50 PRG:0A50 0C 0C 0C 11 0D 0D BD C1 BF 5C 71 6F 95 68 71 6F
|
|
.byte $6F, $6F, $71, $5F, $0D, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8A60 PRG:0A60 6F 6F 71 5F 0D 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $2E, $0C, $0D, $2A, $2B, $0B, $0C, $0C, $0C, $09, $05, $2E, $0C, $0D, $0D ; CPU:$8A70 PRG:0A70 0D 2E 0C 0D 2A 2B 0B 0C 0C 0C 09 05 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8A80 PRG:0A80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $15, $0D, $0D, $C1, $CD, $B1, $3E, $71, $72, $90, $6F, $71, $6F ; CPU:$8A90 PRG:0A90 0C 0C 0C 15 0D 0D C1 CD B1 3E 71 72 90 6F 71 6F
|
|
.byte $71, $71, $70, $6F, $35, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8AA0 PRG:0AA0 71 71 70 6F 35 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $2E, $0C, $2D, $0C, $0C, $0C, $0C, $22, $23, $05, $0D, $2E, $0C, $0D, $0D ; CPU:$8AB0 PRG:0AB0 0D 2E 0C 2D 0C 0C 0C 0C 22 23 05 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8AC0 PRG:0AC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $19, $0D, $BD, $CD, $CD, $B5, $42, $6F, $72, $96, $7C, $7D, $70 ; CPU:$8AD0 PRG:0AD0 0C 0C 0C 19 0D BD CD CD B5 42 6F 72 96 7C 7D 70
|
|
.byte $6F, $70, $71, $72, $39, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8AE0 PRG:0AE0 6F 70 71 72 39 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0B, $0C, $0C, $22, $23, $24, $25, $0D, $5C, $60, $0D, $2E, $0C, $0D, $0D ; CPU:$8AF0 PRG:0AF0 0D 0B 0C 0C 22 23 24 25 0D 5C 60 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8B00 PRG:0B00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $0C, $1D, $0D, $C1, $CD, $A9, $0D, $71, $6F, $72, $6F, $73, $74, $94 ; CPU:$8B10 PRG:0B10 0C 0C 0C 1D 0D C1 CD A9 0D 71 6F 72 6F 73 74 94
|
|
.byte $6F, $71, $72, $71, $5F, $0D, $61, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8B20 PRG:0B20 6F 71 72 71 5F 0D 61 0D 0C 2F 0D 0D 0D 0D 0D 0D
|
|
.byte $0F, $0C, $0C, $01, $0D, $0D, $61, $61, $0D, $60, $6F, $35, $2E, $0C, $0D, $0D ; CPU:$8B30 PRG:0B30 0F 0C 0C 01 0D 0D 61 61 0D 60 6F 35 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8B40 PRG:0B40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $0C, $01, $0D, $0D, $CD, $CD, $AD, $0D, $72, $6F, $71, $6F, $72, $72, $8F ; CPU:$8B50 PRG:0B50 0C 0C 01 0D 0D CD CD AD 0D 72 6F 71 6F 72 72 8F
|
|
.byte $70, $72, $6F, $71, $70, $39, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2A, $2B ; CPU:$8B60 PRG:0B60 70 72 6F 71 70 39 0D 0D 0C 2F 0D 0D 0D 0D 2A 2B
|
|
.byte $0B, $0C, $01, $0D, $0D, $0D, $0D, $0D, $58, $6F, $72, $39, $2E, $0C, $0D, $0D ; CPU:$8B70 PRG:0B70 0B 0C 01 0D 0D 0D 0D 0D 58 6F 72 39 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8B80 PRG:0B80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $11, $0D, $0D, $A7, $CD, $CD, $B1, $0D, $5D, $72, $72, $6F, $72, $72, $8F ; CPU:$8B90 PRG:0B90 0C 11 0D 0D A7 CD CD B1 0D 5D 72 72 6F 72 72 8F
|
|
.byte $70, $72, $6F, $70, $6F, $3D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $03, $0C, $0C ; CPU:$8BA0 PRG:0BA0 70 72 6F 70 6F 3D 0D 0D 0C 2F 0D 0D 0D 03 0C 0C
|
|
.byte $0C, $0C, $0E, $0D, $0D, $0D, $0D, $0D, $70, $72, $71, $3D, $2E, $0C, $0D, $0D ; CPU:$8BB0 PRG:0BB0 0C 0C 0E 0D 0D 0D 0D 0D 70 72 71 3D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8BC0 PRG:0BC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $15, $0D, $0D, $AB, $CD, $CD, $B5, $0D, $0D, $0D, $0D, $55, $72, $6F, $8F ; CPU:$8BD0 PRG:0BD0 0C 15 0D 0D AB CD CD B5 0D 0D 0D 0D 55 72 6F 8F
|
|
.byte $72, $70, $71, $6F, $72, $41, $0D, $0D, $0C, $2F, $0D, $0D, $03, $0C, $09, $31 ; CPU:$8BE0 PRG:0BE0 72 70 71 6F 72 41 0D 0D 0C 2F 0D 0D 03 0C 09 31
|
|
.byte $04, $0C, $12, $0D, $0D, $0D, $0D, $0D, $5D, $72, $5E, $5A, $2E, $0C, $0D, $0D ; CPU:$8BF0 PRG:0BF0 04 0C 12 0D 0D 0D 0D 0D 5D 72 5E 5A 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8C00 PRG:0C00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $19, $0D, $0D, $C1, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $55, $72, $8F ; CPU:$8C10 PRG:0C10 0C 19 0D 0D C1 CD CD F1 F1 F1 F1 F1 F1 55 72 8F
|
|
.byte $70, $70, $71, $72, $71, $70, $0D, $0D, $08, $0C, $0C, $0C, $0C, $09, $05, $0D ; CPU:$8C20 PRG:0C20 70 70 71 72 71 70 0D 0D 08 0C 0C 0C 0C 09 05 0D
|
|
.byte $0D, $10, $16, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8C30 PRG:0C30 0D 10 16 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8C40 PRG:0C40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $0C, $1D, $0D, $BD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $37, $8F ; CPU:$8C50 PRG:0C50 0C 1D 0D BD CD CD CD F1 F1 F1 F1 F1 F1 F1 37 8F
|
|
.byte $70, $6F, $70, $71, $71, $71, $5B, $0D, $2E, $0C, $23, $31, $31, $05, $0D, $0D ; CPU:$8C60 PRG:0C60 70 6F 70 71 71 71 5B 0D 2E 0C 23 31 31 05 0D 0D
|
|
.byte $0D, $14, $1A, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8C70 PRG:0C70 0D 14 1A 0D 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$8C80 PRG:0C80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $01, $0D, $BD, $C1, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $3B, $89 ; CPU:$8C90 PRG:0C90 01 0D BD C1 CD CD CD F1 F1 F1 F1 F1 F1 F1 3B 89
|
|
.byte $69, $6A, $91, $71, $72, $72, $5F, $0D, $0B, $0C, $06, $0D, $0D, $0D, $0D, $0D ; CPU:$8CA0 PRG:0CA0 69 6A 91 71 72 72 5F 0D 0B 0C 06 0D 0D 0D 0D 0D
|
|
.byte $0D, $18, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8CB0 PRG:0CB0 0D 18 0C 02 0D 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $01 ; CPU:$8CC0 PRG:0CC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 01
|
|
.byte $0D, $0D, $C1, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $59, $70 ; CPU:$8CD0 PRG:0CD0 0D 0D C1 CD CD CD CD F1 F1 F1 F1 F1 F1 F1 59 70
|
|
.byte $96, $93, $67, $94, $71, $72, $72, $57, $08, $0C, $19, $0D, $0D, $0D, $0D, $0D ; CPU:$8CE0 PRG:0CE0 96 93 67 94 71 72 72 57 08 0C 19 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8CF0 PRG:0CF0 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D ; CPU:$8D00 PRG:0D00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 11 0D
|
|
.byte $0D, $A7, $CD, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $70 ; CPU:$8D10 PRG:0D10 0D A7 CD CD CD CD CD F1 F1 F1 F1 F1 F1 F1 0D 70
|
|
.byte $6F, $72, $70, $88, $72, $6F, $70, $72, $57, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8D20 PRG:0D20 6F 72 70 88 72 6F 70 72 57 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8D30 PRG:0D30 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D ; CPU:$8D40 PRG:0D40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 15 0D
|
|
.byte $0D, $AB, $CD, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $55 ; CPU:$8D50 PRG:0D50 0D AB CD CD CD CD CD F1 F1 F1 F1 F1 F1 F1 0D 55
|
|
.byte $70, $72, $71, $86, $6F, $70, $71, $70, $72, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8D60 PRG:0D60 70 72 71 86 6F 70 71 70 72 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8D70 PRG:0D70 0D 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D ; CPU:$8D80 PRG:0D80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D
|
|
.byte $0D, $C1, $CD, $CD, $CD, $CD, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $0D ; CPU:$8D90 PRG:0D90 0D C1 CD CD CD CD CD F1 F1 F1 F1 F1 F1 F1 0D 0D
|
|
.byte $55, $70, $70, $90, $71, $71, $72, $6F, $70, $35, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8DA0 PRG:0DA0 55 70 70 90 71 71 72 6F 70 35 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8DB0 PRG:0DB0 0D 0D 0D 0D 0D 0C 0C 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $0D, $0D ; CPU:$8DC0 PRG:0DC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 19 0D 0D
|
|
.byte $A7, $CD, $CD, $CD, $CD, $CD, $CD, $F0, $F1, $F0, $F1, $F1, $F0, $F0, $BC, $0D ; CPU:$8DD0 PRG:0DD0 A7 CD CD CD CD CD CD F0 F1 F0 F1 F1 F0 F0 BC 0D
|
|
.byte $0D, $55, $72, $6D, $72, $70, $72, $72, $70, $39, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8DE0 PRG:0DE0 0D 55 72 6D 72 70 72 72 70 39 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8DF0 PRG:0DF0 0D 0D 0D 0D 0D 0C 0C 0D 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $0D, $0D ; CPU:$8E00 PRG:0E00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 1D 0D 0D
|
|
.byte $AB, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $F1, $EA, $F1, $F0, $EA, $CD, $C0, $C7 ; CPU:$8E10 PRG:0E10 AB CD CD CD CD CD CD CD F1 EA F1 F0 EA CD C0 C7
|
|
.byte $BC, $0D, $70, $6B, $70, $70, $6F, $72, $72, $5F, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8E20 PRG:0E20 BC 0D 70 6B 70 70 6F 72 72 5F 0D 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $08, $0C, $02, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8E30 PRG:0E30 0D 0D 0D 0D 0D 08 0C 02 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $0D, $0D ; CPU:$8E40 PRG:0E40 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 11 0D 0D 0D
|
|
.byte $AF, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $F2, $EA, $F1, $EA, $CD, $CD, $CD, $CD ; CPU:$8E50 PRG:0E50 AF CD CD CD CD CD CD CD F2 EA F1 EA CD CD CD CD
|
|
.byte $CD, $A6, $72, $8F, $69, $6F, $6F, $71, $72, $72, $5B, $0D, $0D, $0D, $0D, $0D ; CPU:$8E60 PRG:0E60 CD A6 72 8F 69 6F 6F 71 72 72 5B 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $04, $08, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8E70 PRG:0E70 0D 0D 0D 0D 0D 04 08 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D, $0D, $0D ; CPU:$8E80 PRG:0E80 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 15 0D 0D 0D
|
|
.byte $B3, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $EE, $EF, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8E90 PRG:0E90 B3 CD CD CD CD CD CD CD EE EF CD CD CD CD CD CD
|
|
.byte $CD, $AA, $5D, $8D, $6D, $6E, $0C, $0C, $65, $70, $5F, $5B, $0D, $0D, $0D, $0D ; CPU:$8EA0 PRG:0EA0 CD AA 5D 8D 6D 6E 0C 0C 65 70 5F 5B 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8EB0 PRG:0EB0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D ; CPU:$8EC0 PRG:0EC0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D
|
|
.byte $A8, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8ED0 PRG:0ED0 A8 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $C0, $BC, $5D, $74, $6B, $0C, $0C, $0C, $70, $72, $3C, $0D, $0D, $0D, $0D ; CPU:$8EE0 PRG:0EE0 CD C0 BC 5D 74 6B 0C 0C 0C 70 72 3C 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8EF0 PRG:0EF0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D ; CPU:$8F00 PRG:0F00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D
|
|
.byte $AC, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8F10 PRG:0F10 AC CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $C0, $BC, $55, $8F, $0C, $0C, $0C, $72, $5E, $5A, $0D, $0D, $0D, $0D ; CPU:$8F20 PRG:0F20 CD CD C0 BC 55 8F 0C 0C 0C 72 5E 5A 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8F30 PRG:0F30 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D, $0D ; CPU:$8F40 PRG:0F40 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D 0D
|
|
.byte $B0, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8F50 PRG:0F50 B0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $AA, $67, $6B, $0C, $0C, $65, $39, $0D, $0D, $0D, $0D, $0D ; CPU:$8F60 PRG:0F60 CD CD CD CD AA 67 6B 0C 0C 65 39 0D 0D 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8F70 PRG:0F70 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8F80 PRG:0F80 0C 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D 0D 0D
|
|
.byte $AB, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8F90 PRG:0F90 AB CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $C0, $A1, $55, $6F, $67, $92, $75, $21, $0C, $02, $0D, $0D ; CPU:$8FA0 PRG:0FA0 CD CD CD CD C0 A1 55 6F 67 92 75 21 0C 02 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8FB0 PRG:0FB0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$8FC0 PRG:0FC0 0C 0C 0C 0C 0C 0C 0C 0C 19 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $C1, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$8FD0 PRG:0FD0 C1 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $9F, $A0, $A5, $A0, $A1, $A2, $04, $31, $31, $31 ; CPU:$8FE0 PRG:0FE0 CD CD CD CD CD CD 9F A0 A5 A0 A1 A2 04 31 31 31
|
|
.byte $20, $27, $28, $29, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$8FF0 PRG:0FF0 20 27 28 29 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$9000 PRG:1000 0C 0C 0C 0C 0C 0C 0C 09 05 0D 0D 0D 0D 0D 0D 0D
|
|
.byte $BE, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9010 PRG:1010 BE CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $9E, $97, $C8, $BE, $CD, $CD, $CD, $C0, $C7, $A1, $A2 ; CPU:$9020 PRG:1020 CD CD CD CD CD 9E 97 C8 BE CD CD CD C0 C7 A1 A2
|
|
.byte $0D, $0D, $1E, $1F, $20, $27, $0B, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9030 PRG:1030 0D 0D 1E 1F 20 27 0B 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $0D, $0D, $B9, $9F, $F4, $AE, $0D, $0D ; CPU:$9040 PRG:1040 0C 0C 0C 0C 0C 0C 0C 19 0D 0D B9 9F F4 AE 0D 0D
|
|
.byte $BA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9050 PRG:1050 BA CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $A9, $42, $4D, $4E, $5B, $97, $98, $99, $9A, $CD, $CD, $CD ; CPU:$9060 PRG:1060 CD CD CD CD A9 42 4D 4E 5B 97 98 99 9A CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9070 PRG:1070 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $0D, $A7, $CD, $CD, $CD, $AD, $0D, $0D ; CPU:$9080 PRG:1080 0C 0C 0C 0C 0C 0C 0C 1D 0D A7 CD CD CD AD 0D 0D
|
|
.byte $0D, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9090 PRG:1090 0D CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $B2, $70, $72, $71, $70, $4D, $54, $4D, $54, $5F, $97, $98 ; CPU:$90A0 PRG:10A0 CD CD CD CD B2 70 72 71 70 4D 54 4D 54 5F 97 98
|
|
.byte $99, $9A, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$90B0 PRG:10B0 99 9A CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D, $AB, $CD, $CD, $CD, $C0, $BC, $0D ; CPU:$90C0 PRG:10C0 0C 0C 0C 0C 0C 0C 0C 0D 0D AB CD CD CD C0 BC 0D
|
|
.byte $B9, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$90D0 PRG:10D0 B9 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $37, $6F, $71, $6F, $72, $72, $6F, $70, $71, $0D, $0D ; CPU:$90E0 PRG:10E0 CD CD CD CD CD 37 6F 71 6F 72 72 6F 70 71 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$90F0 PRG:10F0 0D 0D 0D 0D 0D 0D 2E 0C 0D 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $BD, $C1, $CD, $CD, $CD, $CD, $BF, $C8 ; CPU:$9100 PRG:1100 0C 0C 0C 0C 0C 0C 0C 0D BD C1 CD CD CD CD BF C8
|
|
.byte $BE, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9110 PRG:1110 BE CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $3B, $6F, $71, $71, $70, $71, $71, $71, $70, $35, $0D ; CPU:$9120 PRG:1120 CD CD CD CD CD 3B 6F 71 71 70 71 71 71 70 35 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $18, $0C, $0E, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9130 PRG:1130 0D 0D 0D 0D 0D 0D 18 0C 0E 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $C1, $CD, $CD, $CD, $CD, $CD, $BB, $0D ; CPU:$9140 PRG:1140 0C 0C 0C 0C 0C 0C 11 0D C1 CD CD CD CD CD BB 0D
|
|
.byte $BA, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9150 PRG:1150 BA CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $A9, $59, $6F, $70, $70, $71, $72, $6F, $6F, $71, $5F, $50 ; CPU:$9160 PRG:1160 CD CD CD CD A9 59 6F 70 70 71 72 6F 6F 71 5F 50
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $1C, $0C, $12, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9170 PRG:1170 0D 0D 0D 0D 0D 0D 1C 0C 12 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D, $BE, $CD, $CD, $CD, $CD, $A9, $0D, $0D ; CPU:$9180 PRG:1180 0C 0C 0C 0C 0C 0C 15 0D BE CD CD CD CD A9 0D 0D
|
|
.byte $0D, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9190 PRG:1190 0D CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $AD, $0D, $37, $6F, $72, $71, $71, $71, $70, $6F, $70, $72 ; CPU:$91A0 PRG:11A0 CD CD CD CD AD 0D 37 6F 72 71 71 71 70 6F 70 72
|
|
.byte $57, $0D, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$91B0 PRG:11B0 57 0D 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $09, $05, $0D, $BA, $BE, $CD, $CD, $CD, $B2, $0D, $0D ; CPU:$91C0 PRG:11C0 0C 0C 0C 0C 0C 09 05 0D BA BE CD CD CD B2 0D 0D
|
|
.byte $BD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$91D0 PRG:11D0 BD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $C0, $0D, $42, $6F, $6F, $70, $6F, $70, $72, $71, $70, $70 ; CPU:$91E0 PRG:11E0 CD CD CD CD C0 0D 42 6F 6F 70 6F 70 72 71 70 70
|
|
.byte $6F, $57, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$91F0 PRG:11F0 6F 57 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $09, $05, $0D, $0D, $0D, $BA, $99, $9A, $9B, $9C, $0D, $0D ; CPU:$9200 PRG:1200 0C 0C 0C 0C 09 05 0D 0D 0D BA 99 9A 9B 9C 0D 0D
|
|
.byte $AF, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9210 PRG:1210 AF CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $36, $70, $72, $71, $6F, $72, $70, $71, $70, $70, $6F ; CPU:$9220 PRG:1220 CD CD CD CD CD 36 70 72 71 6F 72 70 71 70 70 6F
|
|
.byte $72, $6F, $5B, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9230 PRG:1230 72 6F 5B 0D 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $19, $0D, $17, $0A, $28, $29, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$9240 PRG:1240 0C 0C 0C 0C 19 0D 17 0A 28 29 0D 0D 0D 0D 0D 0D
|
|
.byte $B3, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9250 PRG:1250 B3 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $A9, $59, $5D, $70, $70, $72, $70, $6F, $6F, $70, $72, $70 ; CPU:$9260 PRG:1260 CD CD CD CD A9 59 5D 70 70 72 70 6F 6F 70 72 70
|
|
.byte $71, $70, $5F, $5B, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9270 PRG:1270 71 70 5F 5B 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $1D, $0D, $1B, $0C, $0C, $0C, $0A, $28, $2B, $0B, $0E, $A7 ; CPU:$9280 PRG:1280 0C 0C 0C 0C 1D 0D 1B 0C 0C 0C 0A 28 2B 0B 0E A7
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9290 PRG:1290 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $AD, $0D, $60, $6F, $6F, $70, $70, $71, $6F, $72, $72, $6F ; CPU:$92A0 PRG:12A0 CD CD CD CD AD 0D 60 6F 6F 70 70 71 6F 72 72 6F
|
|
.byte $70, $6F, $70, $5F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$92B0 PRG:12B0 70 6F 70 5F 0D 0D 0D 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $01, $0D, $0D, $08, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $12, $AB ; CPU:$92C0 PRG:12C0 0C 0C 0C 01 0D 0D 08 0C 0C 0C 0C 0C 0C 0C 12 AB
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$92D0 PRG:12D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $B1, $36, $70, $6F, $71, $72, $6F, $72, $70, $72, $72, $6F ; CPU:$92E0 PRG:12E0 CD CD CD CD B1 36 70 6F 71 72 6F 72 70 72 72 6F
|
|
.byte $6F, $6F, $72, $38, $0D, $0D, $34, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$92F0 PRG:12F0 6F 6F 72 38 0D 0D 34 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $11, $0D, $0D, $0D, $04, $08, $0C, $0C, $0C, $0C, $0C, $0C, $05, $C1 ; CPU:$9300 PRG:1300 0C 0C 11 0D 0D 0D 04 08 0C 0C 0C 0C 0C 0C 05 C1
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9310 PRG:1310 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $B5, $3A, $6F, $71, $71, $6F, $72, $72, $6F, $71, $72, $70 ; CPU:$9320 PRG:1320 CD CD CD CD B5 3A 6F 71 71 6F 72 72 6F 71 72 70
|
|
.byte $71, $72, $6F, $3C, $0D, $34, $05, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9330 PRG:1330 71 72 6F 3C 0D 34 05 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $15, $0D, $0D, $0D, $0D, $17, $0C, $0C, $0C, $0C, $0C, $11, $0D, $BE ; CPU:$9340 PRG:1340 0C 0C 15 0D 0D 0D 0D 17 0C 0C 0C 0C 0C 11 0D BE
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9350 PRG:1350 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $BF, $0D, $60, $71, $71, $6A, $7C, $7E, $69, $6F, $70, $72, $6F ; CPU:$9360 PRG:1360 CD CD CD BF 0D 60 71 71 6A 7C 7E 69 6F 70 72 6F
|
|
.byte $70, $71, $70, $5A, $0F, $19, $0F, $0C, $2F, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9370 PRG:1370 70 71 70 5A 0F 19 0F 0C 2F 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $19, $0D, $0D, $0D, $0D, $1B, $0C, $0C, $0C, $0C, $0C, $15, $BD, $C1 ; CPU:$9380 PRG:1380 0C 0C 19 0D 0D 0D 0D 1B 0C 0C 0C 0C 0C 15 BD C1
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9390 PRG:1390 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $B1, $36, $70, $6F, $6F, $89, $0C, $0C, $87, $72, $72, $72, $6F ; CPU:$93A0 PRG:13A0 CD CD CD B1 36 70 6F 6F 89 0C 0C 87 72 72 72 6F
|
|
.byte $71, $6F, $38, $0D, $13, $1D, $13, $0C, $0A, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$93B0 PRG:13B0 71 6F 38 0D 13 1D 13 0C 0A 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $1D, $0D, $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $05, $AF, $CD ; CPU:$93C0 PRG:13C0 0C 0C 1D 0D 0D 0D 03 0C 0C 0C 0C 0C 0C 05 AF CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$93D0 PRG:13D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $B5, $3A, $70, $71, $70, $8D, $0C, $0C, $8B, $72, $6F, $72, $70 ; CPU:$93E0 PRG:13E0 CD CD CD B5 3A 70 71 70 8D 0C 0C 8B 72 6F 72 70
|
|
.byte $71, $70, $3C, $07, $32, $07, $0B, $0C, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$93F0 PRG:13F0 71 70 3C 07 32 07 0B 0C 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $01, $0D, $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $B3, $CD ; CPU:$9400 PRG:1400 0C 01 0D 0D 0D 03 0C 0C 0C 0C 0C 0C 0C 0D B3 CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9410 PRG:1410 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $A6, $3E, $71, $6F, $72, $6F, $74, $79, $7A, $6F, $71, $70, $6F ; CPU:$9420 PRG:1420 CD CD CD A6 3E 71 6F 72 6F 74 79 7A 6F 71 70 6F
|
|
.byte $70, $6F, $40, $17, $0D, $17, $0C, $08, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9430 PRG:1430 70 6F 40 17 0D 17 0C 08 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $01, $0D, $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $CD, $CD ; CPU:$9440 PRG:1440 01 0D 0D 0D 03 0C 0C 0C 0C 0C 0C 0C 11 0D CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9450 PRG:1450 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $AA, $3B, $71, $70, $71, $72, $72, $70, $72, $70, $70, $71, $6F ; CPU:$9460 PRG:1460 CD CD CD AA 3B 71 70 71 72 72 70 72 70 70 71 6F
|
|
.byte $6F, $70, $07, $11, $0D, $1B, $11, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9470 PRG:1470 6F 70 07 11 0D 1B 11 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $15, $0D, $CD, $CD ; CPU:$9480 PRG:1480 0D 0D 0D 0D 0C 0C 0C 0C 0C 0C 0C 0C 15 0D CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9490 PRG:1490 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $AE, $3F, $72, $6F, $72, $70, $70, $72, $72, $70, $72, $70, $71 ; CPU:$94A0 PRG:14A0 CD CD CD AE 3F 72 6F 72 70 70 72 72 70 72 70 71
|
|
.byte $71, $56, $17, $15, $0F, $0C, $15, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$94B0 PRG:14B0 71 56 17 15 0F 0C 15 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0F, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $05, $A7, $CD, $CD ; CPU:$94C0 PRG:14C0 0D 0D 0D 0F 0C 0C 0C 0C 0C 0C 0C 0C 05 A7 CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$94D0 PRG:14D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $B2, $43, $72, $6F, $72, $6A, $91, $69, $6F, $71, $6F, $71, $6F ; CPU:$94E0 PRG:14E0 CD CD CD B2 43 72 6F 72 6A 91 69 6F 71 6F 71 6F
|
|
.byte $56, $0D, $1B, $05, $13, $0C, $19, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$94F0 PRG:14F0 56 0D 1B 05 13 0C 19 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $13, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0E, $AB, $CD, $CD ; CPU:$9500 PRG:1500 0D 0D 0D 13 0C 0C 0C 0C 0C 0C 0C 0C 0E AB CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9510 PRG:1510 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $0D, $72, $6F, $70, $8C, $0C, $87, $72, $71, $70, $70, $56 ; CPU:$9520 PRG:1520 CD CD CD CD 0D 72 6F 70 8C 0C 87 72 71 70 70 56
|
|
.byte $0D, $03, $01, $07, $0B, $0C, $1D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9530 PRG:1530 0D 03 01 07 0B 0C 1D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $0D, $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $C1, $CD, $CD ; CPU:$9540 PRG:1540 0D 0D 0D 0B 0C 0C 0C 0C 0C 0C 0C 0C 1D C1 CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9550 PRG:1550 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $CD, $0D, $70, $72, $81, $0C, $0C, $8B, $6F, $70, $71, $56, $2B ; CPU:$9560 PRG:1560 CD CD CD CD 0D 70 72 81 0C 0C 8B 6F 70 71 56 2B
|
|
.byte $0B, $01, $0D, $0B, $0C, $01, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9570 PRG:1570 0B 01 0D 0B 0C 01 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $11, $0D, $A8, $CD, $CD ; CPU:$9580 PRG:1580 0D 0D 03 0C 0C 0C 0C 0C 0C 0C 0C 11 0D A8 CD CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9590 PRG:1590 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $A9, $0D, $71, $70, $8D, $77, $76, $64, $6F, $72, $56, $13, $09 ; CPU:$95A0 PRG:15A0 CD CD CD A9 0D 71 70 8D 77 76 64 6F 72 56 13 09
|
|
.byte $05, $0D, $03, $0C, $09, $0D, $0D, $2E, $0C, $30, $30, $30, $0B, $0C, $0D, $0D ; CPU:$95B0 PRG:15B0 05 0D 03 0C 09 0D 0D 2E 0C 30 30 30 0B 0C 0D 0D
|
|
.byte $0D, $03, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1A, $0D, $BA, $BE, $CD ; CPU:$95C0 PRG:15C0 0D 03 0C 0C 0C 0C 0C 0C 0C 0C 0C 1A 0D BA BE CD
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$95D0 PRG:15D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $AD, $36, $72, $6F, $70, $70, $72, $71, $70, $56, $0D, $17, $1D ; CPU:$95E0 PRG:15E0 CD CD CD AD 36 72 6F 70 70 72 71 70 56 0D 17 1D
|
|
.byte $0D, $03, $0C, $09, $05, $0D, $0D, $2E, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $0D ; CPU:$95F0 PRG:15F0 0D 03 0C 09 05 0D 0D 2E 0C 0C 0C 0C 0C 0C 0D 0D
|
|
.byte $0D, $08, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $02, $0D, $0D, $A8 ; CPU:$9600 PRG:1600 0D 08 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 02 0D 0D A8
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9610 PRG:1610 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $C0, $43, $72, $6F, $72, $72, $71, $6F, $56, $0D, $0D, $1B, $0D ; CPU:$9620 PRG:1620 CD CD CD C0 43 72 6F 72 72 71 6F 56 0D 0D 1B 0D
|
|
.byte $0D, $0C, $09, $05, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9630 PRG:1630 0D 0C 09 05 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $17, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $02, $0D, $AC ; CPU:$9640 PRG:1640 0D 17 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 02 0D AC
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9650 PRG:1650 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $A9, $3A, $84, $7B, $7F, $83, $70, $38, $0D, $0D, $03, $01, $0D ; CPU:$9660 PRG:1660 CD CD CD A9 3A 84 7B 7F 83 70 38 0D 0D 03 01 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9670 PRG:1670 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0D, $1B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0E, $BA ; CPU:$9680 PRG:1680 0D 1B 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0E BA
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9690 PRG:1690 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $CD, $AD, $3E, $8F, $0C, $0C, $6D, $71, $3C, $0D, $03, $01, $0D, $0D ; CPU:$96A0 PRG:16A0 CD CD CD AD 3E 8F 0C 0C 6D 71 3C 0D 03 01 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$96B0 PRG:16B0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0F, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $12, $A7 ; CPU:$96C0 PRG:16C0 0F 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 12 A7
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$96D0 PRG:16D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $BF, $BB, $42, $67, $6B, $0C, $6C, $72, $5A, $03, $01, $0D, $0D, $0D ; CPU:$96E0 PRG:16E0 CD CD BF BB 42 67 6B 0C 6C 72 5A 03 01 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$96F0 PRG:16F0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $13, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $09, $05, $B4 ; CPU:$9700 PRG:1700 13 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 09 05 B4
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9710 PRG:1710 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $CD, $BB, $5C, $72, $6F, $6F, $70, $70, $72, $35, $1A, $0D, $0D, $0D, $0D ; CPU:$9720 PRG:1720 CD CD BB 5C 72 6F 6F 70 70 72 35 1A 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9730 PRG:1730 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0B, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $2F, $61, $A7 ; CPU:$9740 PRG:1740 0B 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 2F 61 A7
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9750 PRG:1750 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $A9, $0D, $3E, $70, $72, $70, $71, $6F, $71, $39, $10, $06, $0D, $0D, $0D ; CPU:$9760 PRG:1760 CD A9 0D 3E 70 72 70 71 6F 71 39 10 06 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$9770 PRG:1770 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $2F, $61, $AB ; CPU:$9780 PRG:1780 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 2F 61 AB
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9790 PRG:1790 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $AD, $0D, $42, $71, $71, $71, $71, $70, $72, $5F, $04, $2F, $0D, $0D, $0D ; CPU:$97A0 PRG:17A0 CD AD 0D 42 71 71 71 71 70 72 5F 04 2F 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$97B0 PRG:17B0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $19, $61, $AF ; CPU:$97C0 PRG:17C0 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 19 61 AF
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$97D0 PRG:17D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $B1, $36, $71, $6F, $72, $70, $71, $6F, $70, $70, $35, $16, $0D, $0D, $0D ; CPU:$97E0 PRG:17E0 CD B1 36 71 6F 72 70 71 6F 70 70 35 16 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $2E, $0C, $0D, $0D, $0D, $2E, $0C, $0D, $0D ; CPU:$97F0 PRG:17F0 0D 0C 2F 0D 0D 0D 0D 2E 0C 0D 0D 0D 2E 0C 0D 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $61, $AC ; CPU:$9800 PRG:1800 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 1D 61 AC
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9810 PRG:1810 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $AA, $43, $6F, $72, $72, $70, $6F, $70, $72, $70, $39, $14, $0D, $0D, $0D ; CPU:$9820 PRG:1820 CD AA 43 6F 72 72 70 6F 70 72 70 39 14 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $17, $0C, $0D, $0D, $0D, $04, $08, $02, $0D ; CPU:$9830 PRG:1830 0D 0C 2F 0D 0D 0D 0D 17 0C 0D 0D 0D 04 08 02 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0D, $61, $B0 ; CPU:$9840 PRG:1840 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0D 61 B0
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9850 PRG:1850 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $AE, $36, $72, $71, $70, $71, $72, $71, $72, $6F, $40, $18, $0E, $0D, $0D ; CPU:$9860 PRG:1860 CD AE 36 72 71 70 71 72 71 72 6F 40 18 0E 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0D, $1B, $09, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9870 PRG:1870 0D 0C 2F 0D 0D 0D 0D 1B 09 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0E, $0D, $A7 ; CPU:$9880 PRG:1880 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0E 0D A7
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9890 PRG:1890 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $AD, $3A, $6F, $6F, $6F, $71, $6F, $70, $72, $71, $39, $13, $12, $0D, $0D ; CPU:$98A0 PRG:18A0 CD AD 3A 6F 6F 6F 71 6F 70 72 71 39 13 12 0D 0D
|
|
.byte $0D, $0C, $09, $31, $08, $02, $07, $0C, $19, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$98B0 PRG:18B0 0D 0C 09 31 08 02 07 0C 19 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $00, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $1D, $61, $AB ; CPU:$98C0 PRG:18C0 00 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 1D 61 AB
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$98D0 PRG:18D0 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $B1, $3E, $6F, $71, $71, $6F, $6F, $72, $71, $72, $40, $17, $19, $0D, $0D ; CPU:$98E0 PRG:18E0 CD B1 3E 6F 71 71 6F 6F 72 71 72 40 17 19 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $00, $0C, $0C, $1D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$98F0 PRG:18F0 0D 0C 2F 0D 0D 00 0C 0C 1D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $0D, $10, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $06, $61, $B0 ; CPU:$9900 PRG:1900 0D 10 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C 06 61 B0
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9910 PRG:1910 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $CD, $B5, $42, $70, $70, $70, $70, $72, $70, $72, $71, $44, $1B, $1D, $0D, $0D ; CPU:$9920 PRG:1920 CD B5 42 70 70 70 70 72 70 72 71 44 1B 1D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $11, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9930 PRG:1930 0D 0C 2F 0D 0D 0D 0C 11 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $0D, $14, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $22, $21, $0A, $29, $B4 ; CPU:$9940 PRG:1940 0D 14 0C 0C 0C 0C 0C 0C 0C 0C 0C 22 21 0A 29 B4
|
|
.byte $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9950 PRG:1950 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $AD, $36, $70, $6F, $71, $70, $6F, $71, $72, $70, $38, $07, $11, $0D, $0D, $0D ; CPU:$9960 PRG:1960 AD 36 70 6F 71 70 6F 71 72 70 38 07 11 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $15, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9970 PRG:1970 0D 0C 2F 0D 0D 0D 0C 15 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $5B, $04, $08, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $01, $0D, $0D, $0D, $00, $02 ; CPU:$9980 PRG:1980 5B 04 08 0C 0C 0C 0C 0C 0C 0C 01 0D 0D 0D 00 02
|
|
.byte $B6, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD ; CPU:$9990 PRG:1990 B6 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|
|
.byte $B1, $3A, $6F, $72, $70, $71, $6F, $6F, $71, $70, $3C, $17, $15, $0D, $0D, $0D ; CPU:$99A0 PRG:19A0 B1 3A 6F 72 70 71 6F 6F 71 70 3C 17 15 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$99B0 PRG:19B0 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $5F, $5B, $04, $08, $0C, $0C, $0C, $0C, $0C, $11, $0D, $58, $5F, $5B, $0D, $10 ; CPU:$99C0 PRG:19C0 5F 5B 04 08 0C 0C 0C 0C 0C 11 0D 58 5F 5B 0D 10
|
|
.byte $12, $A8, $CD, $CD, $CD, $E8, $E9, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $CD, $A9 ; CPU:$99D0 PRG:19D0 12 A8 CD CD CD E8 E9 CD CD CD CD CD CD CD CD A9
|
|
.byte $5C, $60, $70, $72, $6F, $71, $70, $6F, $71, $70, $5A, $1B, $05, $0D, $0D, $0D ; CPU:$99E0 PRG:19E0 5C 60 70 72 6F 71 70 6F 71 70 5A 1B 05 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$99F0 PRG:19F0 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $72, $5F, $5B, $04, $20, $21, $0C, $0C, $09, $05, $3A, $72, $72, $3D, $0D, $14 ; CPU:$9A00 PRG:1A00 72 5F 5B 04 20 21 0C 0C 09 05 3A 72 72 3D 0D 14
|
|
.byte $16, $AC, $CD, $CD, $CD, $F1, $EA, $CD, $EB, $CD, $CD, $CD, $CD, $CD, $CD, $AD ; CPU:$9A10 PRG:1A10 16 AC CD CD CD F1 EA CD EB CD CD CD CD CD CD AD
|
|
.byte $42, $70, $72, $66, $7B, $7F, $6D, $71, $6F, $72, $0F, $11, $0D, $0D, $0D, $0D ; CPU:$9A20 PRG:1A20 42 70 72 66 7B 7F 6D 71 6F 72 0F 11 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9A30 PRG:1A30 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $6F, $70, $5F, $4F, $50, $0D, $1F, $25, $0D, $5C, $60, $71, $6F, $41, $0D, $18 ; CPU:$9A40 PRG:1A40 6F 70 5F 4F 50 0D 1F 25 0D 5C 60 71 6F 41 0D 18
|
|
.byte $1A, $BA, $BE, $CD, $CD, $F1, $F1, $EA, $EB, $CD, $CD, $CD, $CD, $CD, $CD, $B1 ; CPU:$9A50 PRG:1A50 1A BA BE CD CD F1 F1 EA EB CD CD CD CD CD CD B1
|
|
.byte $6F, $72, $71, $82, $0C, $0C, $0C, $80, $70, $38, $13, $15, $0D, $0D, $0D, $0D ; CPU:$9A60 PRG:1A60 6F 72 71 82 0C 0C 0C 80 70 38 13 15 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9A70 PRG:1A70 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $71, $72, $70, $72, $72, $4D, $4E, $4F, $52, $60, $71, $70, $71, $70, $0D, $1C ; CPU:$9A80 PRG:1A80 71 72 70 72 72 4D 4E 4F 52 60 71 70 71 70 0D 1C
|
|
.byte $0C, $0E, $B0, $CD, $E8, $F1, $F1, $ED, $F3, $E8, $E8, $E9, $CD, $CD, $CD, $3A ; CPU:$9A90 PRG:1A90 0C 0E B0 CD E8 F1 F1 ED F3 E8 E8 E9 CD CD CD 3A
|
|
.byte $71, $70, $72, $85, $0C, $0C, $0C, $8E, $71, $3C, $17, $05, $0D, $0D, $0D, $0D ; CPU:$9AA0 PRG:1AA0 71 70 72 85 0C 0C 0C 8E 71 3C 17 05 0D 0D 0D 0D
|
|
.byte $0D, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9AB0 PRG:1AB0 0D 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $71, $70, $70, $71, $72, $71, $6F, $70, $70, $72, $6F, $70, $70, $71, $5B, $0D ; CPU:$9AC0 PRG:1AC0 71 70 70 71 72 71 6F 70 70 72 6F 70 70 71 5B 0D
|
|
.byte $10, $12, $B4, $CD, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $EA, $CD, $CD, $B7, $60 ; CPU:$9AD0 PRG:1AD0 10 12 B4 CD F1 F1 F1 F1 F1 F1 F1 EA CD CD B7 60
|
|
.byte $6F, $70, $71, $67, $75, $78, $79, $72, $72, $5A, $1B, $0D, $0D, $0D, $0D, $0D ; CPU:$9AE0 PRG:1AE0 6F 70 71 67 75 78 79 72 72 5A 1B 0D 0D 0D 0D 0D
|
|
.byte $03, $0C, $2F, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9AF0 PRG:1AF0 03 0C 2F 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $70, $71, $72, $70, $6F, $6F, $71, $71, $71, $6F, $6F, $72, $71, $71, $3D, $0D ; CPU:$9B00 PRG:1B00 70 71 72 70 6F 6F 71 71 71 6F 6F 72 71 71 3D 0D
|
|
.byte $14, $16, $0D, $B6, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $EA, $CD, $B7, $07, $69 ; CPU:$9B10 PRG:1B10 14 16 0D B6 F1 F1 F1 F1 F1 F1 F1 EA CD B7 07 69
|
|
.byte $72, $70, $70, $72, $72, $71, $71, $6F, $38, $0F, $11, $0D, $0D, $0D, $0D, $03 ; CPU:$9B20 PRG:1B20 72 70 70 72 72 71 71 6F 38 0F 11 0D 0D 0D 0D 03
|
|
.byte $0C, $09, $05, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9B30 PRG:1B30 0C 09 05 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $6F, $70, $71, $72, $71, $70, $6F, $70, $6F, $6F, $70, $71, $70, $70, $3C, $0D ; CPU:$9B40 PRG:1B40 6F 70 71 72 71 70 6F 70 6F 6F 70 71 70 70 3C 0D
|
|
.byte $04, $1A, $0D, $0D, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $EA, $B7, $0D, $17, $87 ; CPU:$9B50 PRG:1B50 04 1A 0D 0D F1 F1 F1 F1 F1 F1 F1 EA B7 0D 17 87
|
|
.byte $72, $70, $6F, $70, $72, $71, $70, $72, $3C, $13, $15, $0D, $0D, $0D, $0D, $0C ; CPU:$9B60 PRG:1B60 72 70 6F 70 72 71 70 72 3C 13 15 0D 0D 0D 0D 0C
|
|
.byte $09, $05, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9B70 PRG:1B70 09 05 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $70, $6F, $70, $71, $6F, $72, $72, $70, $6F, $72, $70, $71, $71, $71, $40, $0D ; CPU:$9B80 PRG:1B80 70 6F 70 71 6F 72 72 70 6F 72 70 71 71 71 40 0D
|
|
.byte $0D, $00, $02, $0D, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $0D, $03, $15, $8B ; CPU:$9B90 PRG:1B90 0D 00 02 0D F1 F1 F1 F1 F1 F1 F1 0D 0D 03 15 8B
|
|
.byte $72, $70, $71, $70, $71, $72, $71, $70, $40, $17, $19, $0D, $0D, $0D, $0D, $0C ; CPU:$9BA0 PRG:1BA0 72 70 71 70 71 72 71 70 40 17 19 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9BB0 PRG:1BB0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $72, $70, $71, $72, $71, $70, $70, $71, $72, $70, $6F, $72, $71, $72, $44, $0D ; CPU:$9BC0 PRG:1BC0 72 70 71 72 71 70 70 71 72 70 6F 72 71 72 44 0D
|
|
.byte $0D, $07, $0C, $02, $F1, $F1, $F1, $F1, $F1, $F1, $F1, $0D, $03, $09, $05, $10 ; CPU:$9BD0 PRG:1BD0 0D 07 0C 02 F1 F1 F1 F1 F1 F1 F1 0D 03 09 05 10
|
|
.byte $70, $6F, $6F, $70, $72, $6F, $70, $6F, $44, $1B, $1D, $0D, $0D, $0D, $0D, $0C ; CPU:$9BE0 PRG:1BE0 70 6F 6F 70 72 6F 70 6F 44 1B 1D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9BF0 PRG:1BF0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $6F, $6F, $70, $70, $6F, $70, $72, $6F, $71, $70, $6F, $6F, $6F, $38, $0D, $0D ; CPU:$9C00 PRG:1C00 6F 6F 70 70 6F 70 72 6F 71 70 6F 6F 6F 38 0D 0D
|
|
.byte $07, $0B, $23, $08, $02, $0D, $0D, $0D, $0D, $0D, $0D, $03, $09, $05, $0D, $1B ; CPU:$9C10 PRG:1C10 07 0B 23 08 02 0D 0D 0D 0D 0D 0D 03 09 05 0D 1B
|
|
.byte $6F, $71, $72, $71, $70, $6F, $71, $38, $0F, $11, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9C20 PRG:1C20 6F 71 72 71 70 6F 71 38 0F 11 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9C30 PRG:1C30 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $71, $72, $6F, $70, $71, $71, $6F, $72, $72, $72, $70, $70, $70, $40, $0D, $07 ; CPU:$9C40 PRG:1C40 71 72 6F 70 71 71 6F 72 72 72 70 70 70 40 0D 07
|
|
.byte $0B, $1D, $0D, $18, $0C, $02, $0D, $0D, $0D, $0D, $0F, $09, $05, $0D, $0F, $0C ; CPU:$9C50 PRG:1C50 0B 1D 0D 18 0C 02 0D 0D 0D 0D 0F 09 05 0D 0F 0C
|
|
.byte $71, $6F, $70, $71, $72, $71, $70, $3C, $13, $15, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9C60 PRG:1C60 71 6F 70 71 72 71 70 3C 13 15 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9C70 PRG:1C70 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $6F, $70, $71, $70, $72, $72, $6F, $72, $72, $5E, $4B, $4C, $0D, $0D, $07, $09 ; CPU:$9C80 PRG:1C80 6F 70 71 70 72 72 6F 72 72 5E 4B 4C 0D 0D 07 09
|
|
.byte $24, $0D, $0D, $1C, $0A, $00, $0C, $0C, $22, $23, $20, $05, $0D, $0D, $1C, $11 ; CPU:$9C90 PRG:1C90 24 0D 0D 1C 0A 00 0C 0C 22 23 20 05 0D 0D 1C 11
|
|
.byte $55, $71, $70, $71, $72, $70, $72, $40, $1B, $1D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9CA0 PRG:1CA0 55 71 70 71 72 70 72 40 1B 1D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9CB0 PRG:1CB0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $72, $71, $6F, $6F, $70, $5E, $4B, $4C, $2B, $30, $30, $2C, $2D, $23, $09, $05 ; CPU:$9CC0 PRG:1CC0 72 71 6F 6F 70 5E 4B 4C 2B 30 30 2C 2D 23 09 05
|
|
.byte $0D, $0D, $0D, $0D, $10, $0D, $1E, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0F, $15 ; CPU:$9CD0 PRG:1CD0 0D 0D 0D 0D 10 0D 1E 25 0D 0D 0D 0D 0D 0D 0F 15
|
|
.byte $0D, $37, $72, $71, $70, $71, $38, $0F, $15, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9CE0 PRG:1CE0 0D 37 72 71 70 71 38 0F 15 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9CF0 PRG:1CF0 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $49, $4A, $4B, $4C, $0D, $0D, $0D, $03, $09, $05, $0D, $0D, $0D, $0F, $19, $0D ; CPU:$9D00 PRG:1D00 49 4A 4B 4C 0D 0D 0D 03 09 05 0D 0D 0D 0F 19 0D
|
|
.byte $0D, $0D, $0D, $0D, $14, $0E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $13, $19 ; CPU:$9D10 PRG:1D10 0D 0D 0D 0D 14 0E 0D 0D 0D 0D 0D 0D 0D 0D 13 19
|
|
.byte $0D, $3B, $72, $70, $71, $71, $5A, $13, $1D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9D20 PRG:1D20 0D 3B 72 70 71 71 5A 13 1D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $2F, $0D, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9D30 PRG:1D30 2F 0D 0D 0D 0D 0D 0C 2F 0D 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $28, $2B, $2C, $27, $2C, $2D, $23, $25, $0D, $0D, $0D, $0D, $0D, $17, $1D, $0D ; CPU:$9D40 PRG:1D40 28 2B 2C 27 2C 2D 23 25 0D 0D 0D 0D 0D 17 1D 0D
|
|
.byte $0D, $0D, $0D, $0D, $04, $16, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0B, $1D ; CPU:$9D50 PRG:1D50 0D 0D 0D 0D 04 16 0D 0D 0D 0D 0D 0D 0D 0D 0B 1D
|
|
.byte $0D, $59, $5D, $72, $71, $56, $07, $32, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9D60 PRG:1D60 0D 59 5D 72 71 56 07 32 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $0A, $06, $0D, $0D, $0D, $0D, $2E, $0C, $0D ; CPU:$9D70 PRG:1D70 2F 0D 0D 0D 0D 0D 0C 0A 06 0D 0D 0D 0D 2E 0C 0D
|
|
.byte $23, $24, $25, $2A, $0B, $05, $0D, $0D, $0D, $0D, $0D, $0D, $03, $11, $0D, $0D ; CPU:$9D80 PRG:1D80 23 24 25 2A 0B 05 0D 0D 0D 0D 0D 0D 03 11 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $10, $0E, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $11, $0D ; CPU:$9D90 PRG:1D90 0D 0D 0D 0D 0D 10 0E 0D 0D 0D 0D 0D 0D 0D 11 0D
|
|
.byte $0D, $0D, $59, $4B, $2A, $2B, $32, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9DA0 PRG:1DA0 0D 0D 59 4B 2A 2B 32 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0C, $0C, $0A, $30, $30, $30, $30, $0B, $0C, $30 ; CPU:$9DB0 PRG:1DB0 2F 0D 0D 0D 0D 0D 0C 0C 0A 30 30 30 30 0B 0C 30
|
|
.byte $5F, $5B, $03, $23, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0F, $09, $05, $0D, $0D ; CPU:$9DC0 PRG:1DC0 5F 5B 03 23 25 0D 0D 0D 0D 0D 0D 0F 09 05 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $04, $20, $02, $0D, $0D, $0D, $0D, $0D, $0D, $1A, $2A ; CPU:$9DD0 PRG:1DD0 0D 0D 0D 0D 0D 04 20 02 0D 0D 0D 0D 0D 0D 1A 2A
|
|
.byte $2B, $2C, $2D, $22, $23, $05, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9DE0 PRG:1DE0 2B 2C 2D 22 23 05 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $00, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C ; CPU:$9DF0 PRG:1DF0 2F 0D 0D 0D 0D 0D 00 0C 0C 0C 0C 0C 0C 0C 0C 0C
|
|
.byte $6F, $6F, $71, $57, $0D, $0D, $0D, $0D, $0D, $0D, $03, $23, $05, $0D, $0D, $0D ; CPU:$9E00 PRG:1E00 6F 6F 71 57 0D 0D 0D 0D 0D 0D 03 23 05 0D 0D 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $00, $12, $0D, $0D, $0D, $0D, $0D, $10, $23 ; CPU:$9E10 PRG:1E10 0D 0D 0D 0D 0D 0D 0D 00 12 0D 0D 0D 0D 0D 10 23
|
|
.byte $24, $25, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0C ; CPU:$9E20 PRG:1E20 24 25 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $0D, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D, $0D ; CPU:$9E30 PRG:1E30 2F 0D 0D 0D 0D 0D 0D 00 0C 02 0D 0D 0D 0D 0D 0D
|
|
.byte $72, $71, $6F, $71, $57, $0D, $0D, $0D, $0D, $03, $01, $0D, $0D, $0D, $0D, $51 ; CPU:$9E40 PRG:1E40 72 71 6F 71 57 0D 0D 0D 0D 03 01 0D 0D 0D 0D 51
|
|
.byte $52, $5B, $0D, $0D, $0D, $0D, $0D, $0D, $16, $0D, $0D, $51, $50, $0D, $1B, $0D ; CPU:$9E50 PRG:1E50 52 5B 0D 0D 0D 0D 0D 0D 16 0D 0D 51 50 0D 1B 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $4F, $50, $0D, $0D, $0D, $0D, $0C ; CPU:$9E60 PRG:1E60 0D 0D 0D 0D 0D 0D 0D 0D 5C 4F 50 0D 0D 0D 0D 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $0D, $51, $50, $00, $0C, $02, $0D, $0D, $0D, $0D, $0D ; CPU:$9E70 PRG:1E70 2F 0D 0D 0D 0D 0D 51 50 00 0C 02 0D 0D 0D 0D 0D
|
|
.byte $70, $71, $70, $6F, $71, $4D, $4E, $5B, $03, $01, $0D, $51, $52, $53, $54, $6F ; CPU:$9E80 PRG:1E80 70 71 70 6F 71 4D 4E 5B 03 01 0D 51 52 53 54 6F
|
|
.byte $72, $71, $4D, $4E, $5B, $0D, $0D, $0D, $1A, $5C, $60, $72, $70, $57, $11, $0D ; CPU:$9E90 PRG:1E90 72 71 4D 4E 5B 0D 0D 0D 1A 5C 60 72 70 57 11 0D
|
|
.byte $0D, $0D, $0D, $0D, $0D, $0D, $0D, $5C, $60, $6F, $71, $4D, $4E, $4F, $50, $0C ; CPU:$9EA0 PRG:1EA0 0D 0D 0D 0D 0D 0D 0D 5C 60 6F 71 4D 4E 4F 50 0C
|
|
.byte $2F, $0D, $0D, $0D, $0D, $58, $6F, $71, $70, $72, $70, $70, $4D, $54, $4D, $54 ; CPU:$9EB0 PRG:1EB0 2F 0D 0D 0D 0D 58 6F 71 70 72 70 70 4D 54 4D 54
|
|
.byte $71, $70, $70, $6F, $6F, $70, $72, $71, $70, $70, $71, $70, $70, $71, $70, $71 ; CPU:$9EC0 PRG:1EC0 71 70 70 6F 6F 70 72 71 70 70 71 70 70 71 70 71
|
|
.byte $71, $6F, $71, $70, $72, $4D, $4E, $54, $72, $6F, $71, $72, $72, $71, $71, $4D ; CPU:$9ED0 PRG:1ED0 71 6F 71 70 72 4D 4E 54 72 6F 71 72 72 71 71 4D
|
|
.byte $4E, $4F, $50, $51, $52, $53, $54, $71, $6F, $70, $6F, $71, $70, $71, $72, $70 ; CPU:$9EE0 PRG:1EE0 4E 4F 50 51 52 53 54 71 6F 70 6F 71 70 71 72 70
|
|
.byte $70, $4D, $4E, $53, $54, $71, $71, $72, $70, $71, $6F, $6F, $72, $70, $71, $70 ; CPU:$9EF0 PRG:1EF0 70 4D 4E 53 54 71 71 72 70 71 6F 6F 72 70 71 70
|
|
.byte $70, $70, $71, $72, $6F, $72, $71, $70, $70, $6F, $71, $70, $6F, $72, $72, $72 ; CPU:$9F00 PRG:1F00 70 70 71 72 6F 72 71 70 70 6F 71 70 6F 72 72 72
|
|
.byte $70, $72, $71, $6F, $6F, $6F, $70, $71, $70, $6F, $71, $70, $6F, $72, $72, $72 ; CPU:$9F10 PRG:1F10 70 72 71 6F 6F 6F 70 71 70 6F 71 70 6F 72 72 72
|
|
.byte $72, $6F, $6F, $6F, $71, $6F, $6F, $71, $70, $72, $71, $6F, $71, $71, $6F, $71 ; CPU:$9F20 PRG:1F20 72 6F 6F 6F 71 6F 6F 71 70 72 71 6F 71 71 6F 71
|
|
.byte $70, $71, $72, $72, $70, $70, $72, $6F, $71, $70, $72, $72, $70, $72, $71, $6F ; CPU:$9F30 PRG:1F30 70 71 72 72 70 70 72 6F 71 70 72 72 70 72 71 6F
|
|
.byte $71, $71, $70, $71, $71, $6F, $70, $70, $72, $72, $71, $6F, $70, $72, $71, $70 ; CPU:$9F40 PRG:1F40 71 71 70 71 71 6F 70 70 72 72 71 6F 70 72 71 70
|
|
.byte $70, $71, $70, $70, $72, $72, $70, $71, $72, $72, $72, $70, $70, $70, $6F, $6F ; CPU:$9F50 PRG:1F50 70 71 70 70 72 72 70 71 72 72 72 70 70 70 6F 6F
|
|
.byte $72, $72, $6F, $72, $71, $72, $6F, $6F, $70, $72, $70, $71, $72, $6F, $72, $70 ; CPU:$9F60 PRG:1F60 72 72 6F 72 71 72 6F 6F 70 72 70 71 72 6F 72 70
|
|
.byte $71, $71, $6F, $6F, $72, $6F, $6F, $70, $72, $72, $72, $70, $71, $72, $72, $71 ; CPU:$9F70 PRG:1F70 71 71 6F 6F 72 6F 6F 70 72 72 72 70 71 72 72 71
|
|
.byte $72, $70, $71, $6F, $6F, $70, $6F, $6F, $70, $6F, $70, $71, $72, $72, $71, $71 ; CPU:$9F80 PRG:1F80 72 70 71 6F 6F 70 6F 6F 70 6F 70 71 72 72 71 71
|
|
.byte $71, $71, $6F, $71, $70, $6F, $71, $72, $70, $72, $70, $6F, $70, $71, $70, $6F ; CPU:$9F90 PRG:1F90 71 71 6F 71 70 6F 71 72 70 72 70 6F 70 71 70 6F
|
|
.byte $72, $70, $6F, $71, $70, $70, $6F, $70, $70, $6F, $71, $70, $71, $71, $70, $71 ; CPU:$9FA0 PRG:1FA0 72 70 6F 71 70 70 6F 70 70 6F 71 70 71 71 70 71
|
|
.byte $6F, $72, $70, $72, $71, $72, $71, $6F, $70, $6F, $70, $72, $6F, $70, $6F, $70 ; CPU:$9FB0 PRG:1FB0 6F 72 70 72 71 72 71 6F 70 6F 70 72 6F 70 6F 70
|
|
.byte $70, $72, $71, $72, $72, $70, $6F, $70, $72, $70, $71, $70, $71, $72, $70, $72 ; CPU:$9FC0 PRG:1FC0 70 72 71 72 72 70 6F 70 72 70 71 70 71 72 70 72
|
|
.byte $70, $72, $70, $72, $70, $6F, $72, $71, $6F, $71, $6F, $72, $72, $70, $6F, $72 ; CPU:$9FD0 PRG:1FD0 70 72 70 72 70 6F 72 71 6F 71 6F 72 72 70 6F 72
|
|
.byte $6F, $72, $6F, $72, $72, $71, $71, $71, $6F, $6F, $72, $72, $6F, $70, $70, $72 ; CPU:$9FE0 PRG:1FE0 6F 72 6F 72 72 71 71 71 6F 6F 72 72 6F 70 70 72
|
|
.byte $71, $70, $6F, $71, $72, $72, $71, $72, $6F, $71, $72, $6F, $70, $71, $70, $72 ; CPU:$9FF0 PRG:1FF0 71 70 6F 71 72 72 71 72 6F 71 72 6F 70 71 70 72
|
|
.byte $02, $2D, $01, $2C, $2C, $03, $2C, $2C, $2D, $2D, $2D, $00, $2D, $2C, $05, $2C ; CPU:$A000 PRG:2000 02 2D 01 2C 2C 03 2C 2C 2D 2D 2D 00 2D 2C 05 2C
|
|
.byte $12, $2D, $0D, $2C, $0A, $2D, $2D, $04, $2C, $13, $2D, $0C, $2C, $0B, $16, $1E ; CPU:$A010 PRG:2010 12 2D 0D 2C 0A 2D 2D 04 2C 13 2D 0C 2C 0B 16 1E
|
|
.byte $2D, $2D, $2D, $2D, $23, $1B, $21, $19, $2C, $2C, $2C, $2C, $14, $1C, $2C, $2D ; CPU:$A020 PRG:2020 2D 2D 2D 2D 23 1B 21 19 2C 2C 2C 2C 14 1C 2C 2D
|
|
.byte $2C, $2D, $00, $01, $2C, $3E, $2D, $31, $54, $36, $2D, $39, $57, $57, $3F, $2D ; CPU:$A030 PRG:2030 2C 2D 00 01 2C 3E 2D 31 54 36 2D 39 57 57 3F 2D
|
|
.byte $30, $55, $37, $2D, $38, $4D, $45, $57, $56, $54, $56, $40, $48, $42, $4A, $2D ; CPU:$A040 PRG:2040 30 55 37 2D 38 4D 45 57 56 54 56 40 48 42 4A 2D
|
|
.byte $2D, $2D, $2D, $4F, $47, $59, $55, $5A, $2D, $2D, $58, $2D, $2D, $54, $56, $57 ; CPU:$A050 PRG:2050 2D 2D 2D 4F 47 59 55 5A 2D 2D 58 2D 2D 54 56 57
|
|
.byte $5B, $50, $54, $2D, $2D, $59, $54, $55, $5B, $54, $54, $2D, $2D, $2D, $58, $54 ; CPU:$A060 PRG:2060 5B 50 54 2D 2D 59 54 55 5B 54 54 2D 2D 2D 58 54
|
|
.byte $55, $56, $57, $42, $4A, $2D, $2D, $2D, $2D, $4F, $47, $4D, $54, $54, $57, $48 ; CPU:$A070 PRG:2070 55 56 57 42 4A 2D 2D 2D 2D 4F 47 4D 54 54 57 48
|
|
.byte $31, $56, $3E, $39, $57, $36, $2D, $2D, $30, $57, $3F, $2D, $38, $54, $37, $54 ; CPU:$A080 PRG:2080 31 56 3E 39 57 36 2D 2D 30 57 3F 2D 38 54 37 54
|
|
.byte $2D, $57, $2D, $58, $59, $56, $5A, $21, $19, $2C, $2C, $2C, $2C, $14, $1C, $16 ; CPU:$A090 PRG:2090 2D 57 2D 58 59 56 5A 21 19 2C 2C 2C 2C 14 1C 16
|
|
.byte $1E, $2D, $2D, $2D, $2D, $23, $12, $2D, $05, $2C, $0A, $2D, $0D, $2C, $2C, $13 ; CPU:$A0A0 PRG:20A0 1E 2D 2D 2D 2D 23 12 2D 05 2C 0A 2D 0D 2C 2C 13
|
|
.byte $2D, $04, $2C, $0B, $2D, $0C, $01, $2C, $02, $2D, $2D, $00, $2D, $2D, $2C, $2C ; CPU:$A0B0 PRG:20B0 2D 04 2C 0B 2D 0C 01 2C 02 2D 2D 00 2D 2D 2C 2C
|
|
.byte $2C, $03, $5C, $2D, $2C, $2C, $2C, $2D, $2C, $2D, $2B, $2C, $24, $2C, $5C, $2C ; CPU:$A0C0 PRG:20C0 2C 03 5C 2D 2C 2C 2C 2D 2C 2D 2B 2C 24 2C 5C 2C
|
|
.byte $2C, $2C, $2D, $2C, $2D, $2D, $2D, $2C, $2C, $2D, $02, $2D, $2C, $2C, $2C, $2D ; CPU:$A0D0 PRG:20D0 2C 2C 2D 2C 2D 2D 2D 2C 2C 2D 02 2D 2C 2C 2C 2D
|
|
.byte $2C, $03, $2C, $2C, $2D, $2C, $2C, $2C, $2C, $2C, $2F, $2D, $2C, $2F, $2C, $2F ; CPU:$A0E0 PRG:20E0 2C 03 2C 2C 2D 2C 2C 2C 2C 2C 2F 2D 2C 2F 2C 2F
|
|
.byte $2D, $2D, $2C, $2D, $1B, $29, $2C, $2D, $03, $2C, $00, $02, $2C, $2C, $2C, $2D ; CPU:$A0F0 PRG:20F0 2D 2D 2C 2D 1B 29 2C 2D 03 2C 00 02 2C 2C 2C 2D
|
|
.byte $2D, $01, $2D, $2D, $2C, $2C, $04, $2D, $13, $2C, $0C, $2D, $0B, $05, $2D, $12 ; CPU:$A100 PRG:2100 2D 01 2D 2D 2C 2C 04 2D 13 2C 0C 2D 0B 05 2D 12
|
|
.byte $2C, $0D, $2D, $0A, $2C, $1A, $22, $2D, $2D, $2D, $2D, $1F, $17, $1D, $15, $2C ; CPU:$A110 PRG:2110 2C 0D 2D 0A 2C 1A 22 2D 2D 2D 2D 1F 17 1D 15 2C
|
|
.byte $2C, $2C, $2C, $18, $20, $2D, $2C, $2C, $2D, $03, $2C, $00, $2D, $3F, $56, $30 ; CPU:$A120 PRG:2120 2C 2C 2C 18 20 2D 2C 2C 2D 03 2C 00 2D 3F 56 30
|
|
.byte $2D, $37, $57, $38, $3E, $54, $31, $2D, $36, $55, $39, $2D, $49, $41, $56, $57 ; CPU:$A130 PRG:2130 2D 37 57 38 3E 54 31 2D 36 55 39 2D 49 41 56 57
|
|
.byte $54, $55, $44, $4C, $46, $4E, $2D, $2D, $2D, $2D, $4B, $43, $56, $58, $2D, $5B ; CPU:$A140 PRG:2140 54 55 44 4C 46 4E 2D 2D 2D 2D 4B 43 56 58 2D 5B
|
|
.byte $59, $2D, $2D, $2D, $55, $57, $5A, $54, $51, $56, $2D, $5B, $55, $58, $5A, $54 ; CPU:$A150 PRG:2150 59 2D 2D 2D 55 57 5A 54 51 56 2D 5B 55 58 5A 54
|
|
.byte $55, $57, $2D, $2D, $59, $2D, $55, $54, $57, $56, $46, $4E, $2D, $2D, $2D, $2D ; CPU:$A160 PRG:2160 55 57 2D 2D 59 2D 55 54 57 56 46 4E 2D 2D 2D 2D
|
|
.byte $4B, $43, $49, $55, $55, $55, $4C, $55, $30, $2D, $54, $38, $2D, $37, $31, $2D ; CPU:$A170 PRG:2170 4B 43 49 55 55 55 4C 55 30 2D 54 38 2D 37 31 2D
|
|
.byte $3E, $57, $39, $2D, $36, $54, $2D, $56, $55, $2D, $5B, $55, $58, $59, $1D, $15 ; CPU:$A180 PRG:2180 3E 57 39 2D 36 54 2D 56 55 2D 5B 55 58 59 1D 15
|
|
.byte $2C, $2C, $2C, $2C, $18, $20, $1A, $22, $2D, $2D, $2D, $2D, $1F, $2D, $13, $2C ; CPU:$A190 PRG:2190 2C 2C 2C 2C 18 20 1A 22 2D 2D 2D 2D 1F 2D 13 2C
|
|
.byte $04, $2D, $0B, $2C, $0C, $12, $2C, $05, $2D, $0A, $2C, $0D, $2D, $2C, $00, $2D ; CPU:$A1A0 PRG:21A0 04 2D 0B 2C 0C 12 2C 05 2D 0A 2C 0D 2D 2C 00 2D
|
|
.byte $03, $01, $2D, $2D, $2D, $2C, $2C, $02, $2C, $2D, $5C, $2C, $2C, $2D, $2D, $2C ; CPU:$A1B0 PRG:21B0 03 01 2D 2D 2D 2C 2C 02 2C 2D 5C 2C 2C 2D 2D 2C
|
|
.byte $2D, $27, $2C, $28, $2C, $5C, $2C, $2C, $2D, $2D, $2C, $2D, $2D, $03, $00, $2D ; CPU:$A1C0 PRG:21C0 2D 27 2C 28 2C 5C 2C 2C 2D 2D 2C 2D 2D 03 00 2D
|
|
.byte $2D, $2D, $2C, $2D, $2C, $02, $01, $2D, $2C, $00, $2C, $2D, $2C, $2D, $2C, $2C ; CPU:$A1D0 PRG:21D0 2D 2D 2C 2D 2C 02 01 2D 2C 00 2C 2D 2C 2D 2C 2C
|
|
.byte $2C, $2C, $2F, $2C, $2C, $2D, $2C, $2D, $2D, $2D, $2F, $17, $25, $2C, $2C, $03 ; CPU:$A1E0 PRG:21E0 2C 2C 2F 2C 2C 2D 2C 2D 2D 2D 2F 17 25 2C 2C 03
|
|
.byte $2D, $00, $2C, $2C, $01, $2C, $02, $2D, $2D, $2D, $2D, $2C, $09, $2C, $0E, $2D ; CPU:$A1F0 PRG:21F0 2D 00 2C 2C 01 2C 02 2D 2D 2D 2D 2C 09 2C 0E 2D
|
|
.byte $11, $2C, $06, $2D, $2D, $08, $2C, $0F, $2D, $10, $2C, $07, $2C, $2C, $16, $1E ; CPU:$A200 PRG:2200 11 2C 06 2D 2D 08 2C 0F 2D 10 2C 07 2C 2C 16 1E
|
|
.byte $23, $1B, $2C, $2C, $2D, $2D, $21, $19, $14, $1C, $2D, $2D, $2C, $2D, $2D, $2C ; CPU:$A210 PRG:2210 23 1B 2C 2C 2D 2D 21 19 14 1C 2D 2D 2C 2D 2D 2C
|
|
.byte $03, $02, $00, $3A, $2D, $35, $56, $32, $2D, $3D, $55, $57, $3B, $2D, $34, $55 ; CPU:$A220 PRG:2220 03 02 00 3A 2D 35 56 32 2D 3D 55 57 3B 2D 34 55
|
|
.byte $33, $2D, $3C, $2D, $2D, $4D, $45, $40, $48, $2D, $2D, $55, $57, $42, $4A, $4F ; CPU:$A230 PRG:2230 33 2D 3C 2D 2D 4D 45 40 48 2D 2D 55 57 42 4A 4F
|
|
.byte $47, $54, $56, $2D, $58, $56, $5B, $2D, $2D, $5A, $2D, $59, $54, $55, $57, $52 ; CPU:$A240 PRG:2240 47 54 56 2D 58 56 5B 2D 2D 5A 2D 59 54 55 57 52
|
|
.byte $2D, $55, $5B, $2D, $58, $54, $57, $59, $57, $5A, $2D, $2D, $2D, $56, $57, $55 ; CPU:$A250 PRG:2250 2D 55 5B 2D 58 54 57 59 57 5A 2D 2D 2D 56 57 55
|
|
.byte $54, $54, $56, $42, $4A, $4F, $47, $57, $54, $2D, $4D, $45, $48, $2D, $35, $56 ; CPU:$A260 PRG:2260 54 54 56 42 4A 4F 47 57 54 2D 4D 45 48 2D 35 56
|
|
.byte $3A, $3D, $55, $32, $2D, $2D, $34, $55, $3B, $2D, $3C, $56, $33, $57, $2D, $2D ; CPU:$A270 PRG:2270 3A 3D 55 32 2D 2D 34 55 3B 2D 3C 56 33 57 2D 2D
|
|
.byte $56, $5B, $5A, $58, $57, $2D, $2D, $21, $19, $14, $1C, $2D, $2D, $2C, $2C, $16 ; CPU:$A280 PRG:2280 56 5B 5A 58 57 2D 2D 21 19 14 1C 2D 2D 2C 2C 16
|
|
.byte $1E, $23, $1B, $2C, $0E, $2D, $09, $2C, $06, $2D, $11, $2C, $2C, $0F, $2D, $08 ; CPU:$A290 PRG:2290 1E 23 1B 2C 0E 2D 09 2C 06 2D 11 2C 2C 0F 2D 08
|
|
.byte $2C, $07, $2D, $10, $2D, $00, $2C, $03, $2D, $2D, $02, $2D, $01, $2C, $2C, $2C ; CPU:$A2A0 PRG:22A0 2C 07 2D 10 2D 00 2C 03 2D 2D 02 2D 01 2C 2C 2C
|
|
.byte $2C, $2C, $2D, $5C, $2C, $2C, $2D, $2B, $2C, $24, $2D, $2C, $2C, $5C, $2C, $2C ; CPU:$A2B0 PRG:22B0 2C 2C 2D 5C 2C 2C 2D 2B 2C 24 2D 2C 2C 5C 2C 2C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A2C0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A2C0:
|
|
bit a:$002D ; CPU:$A2C0 PRG:22C0 2C 2D 00
|
|
; referenced by `lda $A3F1,x` at $F214 (operand $A3F1 falls inside this region)
|
|
; referenced by `lda $A3F0,x` at $F218 (operand $A3F0 falls inside this region)
|
|
; referenced by `lda $A2E5,x` at $F453 (operand $A2E5 falls inside this region)
|
|
; referenced by `lda $A2E5,x` at $F481 (operand $A2E5 falls inside this region)
|
|
; referenced by `cmp $A3DC,x` at $F52E (operand $A3DC falls inside this region)
|
|
; referenced by `lda $A3DD,x` at $F538 (operand $A3DD falls inside this region)
|
|
; ---- data $A2C3-$A405 (323 bytes) ----
|
|
.byte $03, $03, $00, $2C, $2E, $2C, $2D, $2D, $01, $2C, $02, $01, $2C, $00, $00, $2D ; CPU:$A2C3 PRG:22C3 03 03 00 2C 2E 2C 2D 2D 01 2C 02 01 2C 00 00 2D
|
|
.byte $2C, $2C, $2D, $2D, $2F, $2F, $2D, $2D, $2D, $2C, $2C, $2F, $2D, $2C, $2D, $2C ; CPU:$A2D3 PRG:22D3 2C 2C 2D 2D 2F 2F 2D 2D 2D 2C 2C 2F 2D 2C 2D 2C
|
|
.byte $2D, $29, $02, $2C, $01, $2D, $2C, $2C, $2C, $00, $2D, $03, $2D, $2D, $2D, $2C ; CPU:$A2E3 PRG:22E3 2D 29 02 2C 01 2D 2C 2C 2C 00 2D 03 2D 2D 2D 2C
|
|
.byte $2C, $08, $2D, $0F, $2C, $10, $2D, $07, $09, $2D, $0E, $2C, $11, $2D, $06, $2C ; CPU:$A2F3 PRG:22F3 2C 08 2D 0F 2C 10 2D 07 09 2D 0E 2C 11 2D 06 2C
|
|
.byte $2C, $2C, $1A, $22, $1F, $17, $2C, $2C, $2D, $2D, $1D, $15, $18, $20, $2D, $2D ; CPU:$A303 PRG:2303 2C 2C 1A 22 1F 17 2C 2C 2D 2D 1D 15 18 20 2D 2D
|
|
.byte $2D, $2C, $2D, $2C, $2C, $01, $03, $2D, $3B, $56, $34, $2D, $33, $54, $3C, $3A ; CPU:$A313 PRG:2313 2D 2C 2D 2C 2C 01 03 2D 3B 56 34 2D 33 54 3C 3A
|
|
.byte $57, $35, $2D, $32, $55, $3D, $2D, $2D, $2D, $49, $41, $44, $4C, $2D, $2D, $54 ; CPU:$A323 PRG:2323 57 35 2D 32 55 3D 2D 2D 2D 49 41 44 4C 2D 2D 54
|
|
.byte $56, $46, $4E, $4B, $43, $55, $57, $59, $2D, $5A, $57, $2D, $2D, $2D, $5B, $57 ; CPU:$A333 PRG:2333 56 46 4E 4B 43 55 57 59 2D 5A 57 2D 2D 2D 5B 57
|
|
.byte $58, $54, $55, $53, $2D, $57, $57, $59, $2D, $56, $55, $54, $58, $2D, $5B, $2D ; CPU:$A343 PRG:2343 58 54 55 53 2D 57 57 59 2D 56 55 54 58 2D 5B 2D
|
|
.byte $2D, $57, $56, $54, $55, $55, $57, $46, $4E, $4B, $43, $55, $56, $2D, $49, $41 ; CPU:$A353 PRG:2353 2D 57 56 54 55 55 57 46 4E 4B 43 55 56 2D 49 41
|
|
.byte $4C, $2D, $57, $34, $2D, $54, $3C, $2D, $33, $35, $2D, $3A, $55, $3D, $2D, $32 ; CPU:$A363 PRG:2363 4C 2D 57 34 2D 54 3C 2D 33 35 2D 3A 55 3D 2D 32
|
|
.byte $56, $2D, $55, $2D, $54, $54, $59, $5B, $5A, $2D, $2D, $1D, $15, $18, $20, $2D ; CPU:$A373 PRG:2373 56 2D 55 2D 54 54 59 5B 5A 2D 2D 1D 15 18 20 2D
|
|
.byte $2D, $2C, $2C, $1A, $22, $1F, $17, $2C, $2D, $0F, $2C, $08, $2D, $07, $2C, $10 ; CPU:$A383 PRG:2383 2D 2C 2C 1A 22 1F 17 2C 2D 0F 2C 08 2D 07 2C 10
|
|
.byte $0E, $2C, $09, $2D, $06, $2C, $11, $2D, $01, $2D, $02, $2C, $2D, $2D, $2D, $03 ; CPU:$A393 PRG:2393 0E 2C 09 2D 06 2C 11 2D 01 2D 02 2C 2D 2D 2D 03
|
|
.byte $2C, $00, $2C, $2C, $2C, $2C, $5C, $2D, $2D, $2C, $2D, $27, $2C, $28, $2D, $2C ; CPU:$A3A3 PRG:23A3 2C 00 2C 2C 2C 2C 5C 2D 2D 2C 2D 27 2C 28 2D 2C
|
|
.byte $2C, $5C, $2D, $2C, $2C, $2D, $2D, $2C, $2C, $2D, $2E, $2E, $02, $2C, $2D, $2C ; CPU:$A3B3 PRG:23B3 2C 5C 2D 2C 2C 2D 2D 2C 2C 2D 2E 2E 02 2C 2D 2C
|
|
.byte $2C, $2D, $2D, $2C, $03, $2D, $2D, $2C, $2D, $2C, $2D, $2C, $2C, $2F, $2F, $2D ; CPU:$A3C3 PRG:23C3 2C 2D 2D 2C 03 2D 2D 2C 2D 2C 2D 2C 2C 2F 2F 2D
|
|
.byte $2C, $2C, $2F, $2D, $2D, $2D, $2C, $2D, $25, $35, $00, $64, $55, $97, $00, $C2 ; CPU:$A3D3 PRG:23D3 2C 2C 2F 2D 2D 2D 2C 2D 25 35 00 64 55 97 00 C2
|
|
.byte $55, $C6, $AA, $CE, $55, $E8, $AA, $F4, $FF, $F5, $55, $FF, $00, $05, $A4, $85 ; CPU:$A3E3 PRG:23E3 55 C6 AA CE 55 E8 AA F4 FF F5 55 FF 00 05 A4 85
|
|
.byte $A4, $53, $A4, $1A, $A5, $50, $A5, $6A, $A6, $59, $A6, $05, $A4, $85, $A4, $53 ; CPU:$A3F3 PRG:23F3 A4 53 A4 1A A5 50 A5 6A A6 59 A6 05 A4 85 A4 53
|
|
.byte $A4, $22, $A5 ; CPU:$A403 PRG:2403 A4 22 A5
|
|
ldy #$00 ; CPU:$A406 PRG:2406 A0 00
|
|
lda #$3F ; CPU:$A408 PRG:2408 A9 3F
|
|
sta $0208,y ; CPU:$A40A PRG:240A 99 08 02
|
|
iny ; CPU:$A40D PRG:240D C8
|
|
lda #$00 ; CPU:$A40E PRG:240E A9 00
|
|
sta $0208,y ; CPU:$A410 PRG:2410 99 08 02
|
|
iny ; CPU:$A413 PRG:2413 C8
|
|
lda #$14 ; CPU:$A414 PRG:2414 A9 14
|
|
sta $0208,y ; CPU:$A416 PRG:2416 99 08 02
|
|
iny ; CPU:$A419 PRG:2419 C8
|
|
ldx #$00 ; CPU:$A41A PRG:241A A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A41C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A41C:
|
|
lda $A7AC,x ; CPU:$A41C PRG:241C BD AC A7
|
|
sta $0208,y ; CPU:$A41F PRG:241F 99 08 02
|
|
iny ; CPU:$A422 PRG:2422 C8
|
|
inx ; CPU:$A423 PRG:2423 E8
|
|
cpx #$14 ; CPU:$A424 PRG:2424 E0 14
|
|
bne Sub_A41C ; CPU:$A426 PRG:2426 D0 F4
|
|
lda #$00 ; CPU:$A428 PRG:2428 A9 00
|
|
sta $0208,y ; CPU:$A42A PRG:242A 99 08 02
|
|
sty Joypad1Press2 ; CPU:$A42D PRG:242D 84 1A
|
|
lda #$06 ; CPU:$A42F PRG:242F A9 06
|
|
sta PPUMASKShadow ; CPU:$A431 PRG:2431 85 01
|
|
sta $2001 ; CPU:$A433 PRG:2433 8D 01 20
|
|
inc Zp42 ; CPU:$A436 PRG:2436 E6 42
|
|
lda ResetHi ; CPU:$A438 PRG:2438 A5 3C
|
|
and #$01 ; CPU:$A43A PRG:243A 29 01
|
|
beq Sub_A441 ; CPU:$A43C PRG:243C F0 03
|
|
; ---- data $A43E-$A440 (3 bytes) ----
|
|
.byte $20, $7F, $F8 ; CPU:$A43E PRG:243E 20 7F F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A441
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A441:
|
|
lda #$00 ; CPU:$A441 PRG:2441 A9 00
|
|
sta ResetHi ; CPU:$A443 PRG:2443 85 3C
|
|
sta $5C ; CPU:$A445 PRG:2445 85 5C
|
|
sta Zp5D ; CPU:$A447 PRG:2447 85 5D
|
|
sta Zp60 ; CPU:$A449 PRG:2449 85 60
|
|
ldx #$0F ; CPU:$A44B PRG:244B A2 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A44D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A44D:
|
|
sta $02A0,x ; CPU:$A44D PRG:244D 9D A0 02
|
|
dex ; CPU:$A450 PRG:2450 CA
|
|
bpl Sub_A44D ; CPU:$A451 PRG:2451 10 FA
|
|
rts ; CPU:$A453 PRG:2453 60
|
|
lda #$00 ; CPU:$A454 PRG:2454 A9 00
|
|
sta ScrollY ; CPU:$A456 PRG:2456 85 03
|
|
lda PPUCTRLShadow ; CPU:$A458 PRG:2458 A5 00
|
|
and #$EF ; CPU:$A45A PRG:245A 29 EF
|
|
ora #$02 ; CPU:$A45C PRG:245C 09 02
|
|
sta PPUCTRLShadow ; CPU:$A45E PRG:245E 85 00
|
|
lda #$1E ; CPU:$A460 PRG:2460 A9 1E
|
|
sta PPUMASKShadow ; CPU:$A462 PRG:2462 85 01
|
|
inc Zp42 ; CPU:$A464 PRG:2464 E6 42
|
|
ldy Joypad1Press2 ; CPU:$A466 PRG:2466 A4 1A
|
|
lda #$3F ; CPU:$A468 PRG:2468 A9 3F
|
|
sta $0208,y ; CPU:$A46A PRG:246A 99 08 02
|
|
iny ; CPU:$A46D PRG:246D C8
|
|
lda #$01 ; CPU:$A46E PRG:246E A9 01
|
|
sta $0208,y ; CPU:$A470 PRG:2470 99 08 02
|
|
iny ; CPU:$A473 PRG:2473 C8
|
|
sta $0208,y ; CPU:$A474 PRG:2474 99 08 02
|
|
iny ; CPU:$A477 PRG:2477 C8
|
|
lda #$0F ; CPU:$A478 PRG:2478 A9 0F
|
|
sta $0208,y ; CPU:$A47A PRG:247A 99 08 02
|
|
iny ; CPU:$A47D PRG:247D C8
|
|
lda #$00 ; CPU:$A47E PRG:247E A9 00
|
|
sta $0208,y ; CPU:$A480 PRG:2480 99 08 02
|
|
sty Joypad1Press2 ; CPU:$A483 PRG:2483 84 1A
|
|
rts ; CPU:$A485 PRG:2485 60
|
|
lda $2002 ; CPU:$A486 PRG:2486 AD 02 20
|
|
lda #$20 ; CPU:$A489 PRG:2489 A9 20
|
|
sta $2006 ; CPU:$A48B PRG:248B 8D 06 20
|
|
lda #$00 ; CPU:$A48E PRG:248E A9 00
|
|
sta $2006 ; CPU:$A490 PRG:2490 8D 06 20
|
|
ldx #$00 ; CPU:$A493 PRG:2493 A2 00
|
|
lda #$24 ; CPU:$A495 PRG:2495 A9 24
|
|
jsr Sub_A6D7 ; CPU:$A497 PRG:2497 20 D7 A6
|
|
jsr Sub_A6D7 ; CPU:$A49A PRG:249A 20 D7 A6
|
|
jsr Sub_A6D7 ; CPU:$A49D PRG:249D 20 D7 A6
|
|
ldx #$C0 ; CPU:$A4A0 PRG:24A0 A2 C0
|
|
jsr Sub_A6D7 ; CPU:$A4A2 PRG:24A2 20 D7 A6
|
|
ldx #$40 ; CPU:$A4A5 PRG:24A5 A2 40
|
|
lda #$00 ; CPU:$A4A7 PRG:24A7 A9 00
|
|
jsr Sub_A6D7 ; CPU:$A4A9 PRG:24A9 20 D7 A6
|
|
lda $2002 ; CPU:$A4AC PRG:24AC AD 02 20
|
|
lda #$28 ; CPU:$A4AF PRG:24AF A9 28
|
|
sta $2006 ; CPU:$A4B1 PRG:24B1 8D 06 20
|
|
lda #$00 ; CPU:$A4B4 PRG:24B4 A9 00
|
|
sta $2006 ; CPU:$A4B6 PRG:24B6 8D 06 20
|
|
lda #$24 ; CPU:$A4B9 PRG:24B9 A9 24
|
|
ldx #$00 ; CPU:$A4BB PRG:24BB A2 00
|
|
jsr Sub_A6D7 ; CPU:$A4BD PRG:24BD 20 D7 A6
|
|
jsr Sub_A6D7 ; CPU:$A4C0 PRG:24C0 20 D7 A6
|
|
jsr Sub_A6D7 ; CPU:$A4C3 PRG:24C3 20 D7 A6
|
|
ldx #$C0 ; CPU:$A4C6 PRG:24C6 A2 C0
|
|
jsr Sub_A6D7 ; CPU:$A4C8 PRG:24C8 20 D7 A6
|
|
ldx #$40 ; CPU:$A4CB PRG:24CB A2 40
|
|
jsr Sub_A6D7 ; CPU:$A4CD PRG:24CD 20 D7 A6
|
|
ldx #$00 ; CPU:$A4D0 PRG:24D0 A2 00
|
|
ldy #$0E ; CPU:$A4D2 PRG:24D2 A0 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A4D4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A4D4:
|
|
jsr Sub_A6DE ; CPU:$A4D4 PRG:24D4 20 DE A6
|
|
dey ; CPU:$A4D7 PRG:24D7 88
|
|
bne Sub_A4D4 ; CPU:$A4D8 PRG:24D8 D0 FA
|
|
lda Zp5E ; CPU:$A4DA PRG:24DA A5 5E
|
|
beq Sub_A4E4 ; CPU:$A4DC PRG:24DC F0 06
|
|
jsr Sub_A6DE ; CPU:$A4DE PRG:24DE 20 DE A6
|
|
jsr Sub_A710 ; CPU:$A4E1 PRG:24E1 20 10 A7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A4E4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A4E4:
|
|
jsr Sub_A717 ; CPU:$A4E4 PRG:24E4 20 17 A7
|
|
jsr Sub_A71E ; CPU:$A4E7 PRG:24E7 20 1E A7
|
|
inc Zp42 ; CPU:$A4EA PRG:24EA E6 42
|
|
Sub_A4EC:
|
|
ldy Joypad1Press2 ; CPU:$A4EC PRG:24EC A4 1A
|
|
ldx #$00 ; CPU:$A4EE PRG:24EE A2 00
|
|
lda Zp5D ; CPU:$A4F0 PRG:24F0 A5 5D
|
|
beq Sub_A4F6 ; CPU:$A4F2 PRG:24F2 F0 02
|
|
ldx #$08 ; CPU:$A4F4 PRG:24F4 A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A4F6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A4F6:
|
|
lda $A50B,x ; CPU:$A4F6 PRG:24F6 BD 0B A5
|
|
sta $0208,y ; CPU:$A4F9 PRG:24F9 99 08 02
|
|
iny ; CPU:$A4FC PRG:24FC C8
|
|
inx ; CPU:$A4FD PRG:24FD E8
|
|
txa ; CPU:$A4FE PRG:24FE 8A
|
|
and #$07 ; CPU:$A4FF PRG:24FF 29 07
|
|
bne Sub_A4F6 ; CPU:$A501 PRG:2501 D0 F3
|
|
lda #$00 ; CPU:$A503 PRG:2503 A9 00
|
|
sta $0208,y ; CPU:$A505 PRG:2505 99 08 02
|
|
sty Joypad1Press2 ; CPU:$A508 PRG:2508 84 1A
|
|
rts ; CPU:$A50A PRG:250A 60
|
|
; ---- data $A50B-$A51A (16 bytes) ----
|
|
.byte $21, $EA, $01, $CD, $22, $2A, $01, $24, $21, $EA, $01, $24, $22, $2A, $01, $CD ; CPU:$A50B PRG:250B 21 EA 01 CD 22 2A 01 24 21 EA 01 24 22 2A 01 CD
|
|
inc ScrollY ; CPU:$A51B PRG:251B E6 03
|
|
lda ScrollY ; CPU:$A51D PRG:251D A5 03
|
|
cmp #$F0 ; CPU:$A51F PRG:251F C9 F0
|
|
bne Sub_A53A ; CPU:$A521 PRG:2521 D0 17
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A523
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A523:
|
|
lda #$00 ; CPU:$A523 PRG:2523 A9 00
|
|
sta ScrollY ; CPU:$A525 PRG:2525 85 03
|
|
lda PPUCTRLShadow ; CPU:$A527 PRG:2527 A5 00
|
|
and #$FC ; CPU:$A529 PRG:2529 29 FC
|
|
sta PPUCTRLShadow ; CPU:$A52B PRG:252B 85 00
|
|
lda #$04 ; CPU:$A52D PRG:252D A9 04
|
|
sta Zp42 ; CPU:$A52F PRG:252F 85 42
|
|
lda #$FE ; CPU:$A531 PRG:2531 A9 FE
|
|
sta Zp43 ; CPU:$A533 PRG:2533 85 43
|
|
lda #$00 ; CPU:$A535 PRG:2535 A9 00
|
|
sta GameSubMode ; CPU:$A537 PRG:2537 85 1B
|
|
rts ; CPU:$A539 PRG:2539 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A53A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A53A:
|
|
lda Joypad1Press ; CPU:$A53A PRG:253A A5 09
|
|
and #$0C ; CPU:$A53C PRG:253C 29 0C
|
|
bne Sub_A523 ; CPU:$A53E PRG:253E D0 E3
|
|
rts ; CPU:$A540 PRG:2540 60
|
|
; ---- data $A541-$A550 (16 bytes) ----
|
|
.byte $63, $93, $00, $60, $63, $93, $00, $98, $47, $9C, $00, $D8, $57, $9C, $00, $D8 ; CPU:$A541 PRG:2541 63 93 00 60 63 93 00 98 47 9C 00 D8 57 9C 00 D8
|
|
ldx #$00 ; CPU:$A551 PRG:2551 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A553
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A553:
|
|
lda $A541,x ; CPU:$A553 PRG:2553 BD 41 A5
|
|
sta $0720,x ; CPU:$A556 PRG:2556 9D 20 07
|
|
inx ; CPU:$A559 PRG:2559 E8
|
|
cpx #$10 ; CPU:$A55A PRG:255A E0 10
|
|
bne Sub_A553 ; CPU:$A55C PRG:255C D0 F5
|
|
lda GameSubMode ; CPU:$A55E PRG:255E A5 1B
|
|
and #$01 ; CPU:$A560 PRG:2560 29 01
|
|
bne Sub_A57A ; CPU:$A562 PRG:2562 D0 16
|
|
lda Zp43 ; CPU:$A564 PRG:2564 A5 43
|
|
cmp #$F4 ; CPU:$A566 PRG:2566 C9 F4
|
|
bcc Sub_A570 ; CPU:$A568 PRG:2568 90 06
|
|
lda GameSubMode ; CPU:$A56A PRG:256A A5 1B
|
|
and #$07 ; CPU:$A56C PRG:256C 29 07
|
|
bne Sub_A57A ; CPU:$A56E PRG:256E D0 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A570
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A570:
|
|
dec Zp43 ; CPU:$A570 PRG:2570 C6 43
|
|
bne Sub_A57A ; CPU:$A572 PRG:2572 D0 06
|
|
lda #$05 ; CPU:$A574 PRG:2574 A9 05
|
|
sta Zp42 ; CPU:$A576 PRG:2576 85 42
|
|
sta Zp60 ; CPU:$A578 PRG:2578 85 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A57A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A57A:
|
|
lda Joypad1Press ; CPU:$A57A PRG:257A A5 09
|
|
and #$08 ; CPU:$A57C PRG:257C 29 08
|
|
beq Sub_A585 ; CPU:$A57E PRG:257E F0 05
|
|
lda #$06 ; CPU:$A580 PRG:2580 A9 06
|
|
sta Zp42 ; CPU:$A582 PRG:2582 85 42
|
|
rts ; CPU:$A584 PRG:2584 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A585
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A585:
|
|
lda Joypad1Press ; CPU:$A585 PRG:2585 A5 09
|
|
and #$04 ; CPU:$A587 PRG:2587 29 04
|
|
beq Sub_A591 ; CPU:$A589 PRG:2589 F0 06
|
|
lda Zp5D ; CPU:$A58B PRG:258B A5 5D
|
|
eor #$01 ; CPU:$A58D PRG:258D 49 01
|
|
sta Zp5D ; CPU:$A58F PRG:258F 85 5D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A591
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A591:
|
|
jsr Sub_A4EC ; CPU:$A591 PRG:2591 20 EC A4
|
|
jmp Sub_A5C2 ; CPU:$A594 PRG:2594 4C C2 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A597
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A597:
|
|
ldx #$0C ; CPU:$A597 PRG:2597 A2 0C
|
|
jmp Sub_A5B2 ; CPU:$A599 PRG:2599 4C B2 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A59C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A59C:
|
|
ldx #$10 ; CPU:$A59C PRG:259C A2 10
|
|
jmp Sub_A5B2 ; CPU:$A59E PRG:259E 4C B2 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A5A1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A5A1:
|
|
ldx #$14 ; CPU:$A5A1 PRG:25A1 A2 14
|
|
jmp Sub_A5B2 ; CPU:$A5A3 PRG:25A3 4C B2 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A5A6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A5A6:
|
|
ldx #$00 ; CPU:$A5A6 PRG:25A6 A2 00
|
|
jmp Sub_A5B2 ; CPU:$A5A8 PRG:25A8 4C B2 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A5AB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A5AB:
|
|
ldx #$04 ; CPU:$A5AB PRG:25AB A2 04
|
|
jmp Sub_A5B2 ; CPU:$A5AD PRG:25AD 4C B2 A5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A5B0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A5B0:
|
|
ldx #$08 ; CPU:$A5B0 PRG:25B0 A2 08
|
|
Sub_A5B2:
|
|
ldy #$40 ; CPU:$A5B2 PRG:25B2 A0 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A5B4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A5B4:
|
|
lda $A62A,x ; CPU:$A5B4 PRG:25B4 BD 2A A6
|
|
sta $0700,y ; CPU:$A5B7 PRG:25B7 99 00 07
|
|
iny ; CPU:$A5BA PRG:25BA C8
|
|
inx ; CPU:$A5BB PRG:25BB E8
|
|
txa ; CPU:$A5BC PRG:25BC 8A
|
|
and #$03 ; CPU:$A5BD PRG:25BD 29 03
|
|
bne Sub_A5B4 ; CPU:$A5BF PRG:25BF D0 F3
|
|
rts ; CPU:$A5C1 PRG:25C1 60
|
|
Sub_A5C2:
|
|
lda Zp43 ; CPU:$A5C2 PRG:25C2 A5 43
|
|
cmp #$85 ; CPU:$A5C4 PRG:25C4 C9 85
|
|
bcc Sub_A602 ; CPU:$A5C6 PRG:25C6 90 3A
|
|
cmp #$89 ; CPU:$A5C8 PRG:25C8 C9 89
|
|
bcc Sub_A5B0 ; CPU:$A5CA PRG:25CA 90 E4
|
|
cmp #$8D ; CPU:$A5CC PRG:25CC C9 8D
|
|
bcc Sub_A5AB ; CPU:$A5CE PRG:25CE 90 DB
|
|
cmp #$91 ; CPU:$A5D0 PRG:25D0 C9 91
|
|
bcc Sub_A5A6 ; CPU:$A5D2 PRG:25D2 90 D2
|
|
cmp #$F4 ; CPU:$A5D4 PRG:25D4 C9 F4
|
|
bcs Sub_A601 ; CPU:$A5D6 PRG:25D6 B0 29
|
|
cmp #$F0 ; CPU:$A5D8 PRG:25D8 C9 F0
|
|
bcs Sub_A597 ; CPU:$A5DA PRG:25DA B0 BB
|
|
cmp #$EC ; CPU:$A5DC PRG:25DC C9 EC
|
|
bcs Sub_A59C ; CPU:$A5DE PRG:25DE B0 BC
|
|
cmp #$E8 ; CPU:$A5E0 PRG:25E0 C9 E8
|
|
bcs Sub_A5A1 ; CPU:$A5E2 PRG:25E2 B0 BD
|
|
asl a ; CPU:$A5E4 PRG:25E4 0A
|
|
and #$0C ; CPU:$A5E5 PRG:25E5 29 0C
|
|
clc ; CPU:$A5E7 PRG:25E7 18
|
|
adc #$18 ; CPU:$A5E8 PRG:25E8 69 18
|
|
tax ; CPU:$A5EA PRG:25EA AA
|
|
jsr Sub_A5B2 ; CPU:$A5EB PRG:25EB 20 B2 A5
|
|
lda GameSubMode ; CPU:$A5EE PRG:25EE A5 1B
|
|
and #$01 ; CPU:$A5F0 PRG:25F0 29 01
|
|
clc ; CPU:$A5F2 PRG:25F2 18
|
|
adc #$D4 ; CPU:$A5F3 PRG:25F3 69 D4
|
|
sec ; CPU:$A5F5 PRG:25F5 38
|
|
sbc Zp43 ; CPU:$A5F6 PRG:25F6 E5 43
|
|
sec ; CPU:$A5F8 PRG:25F8 38
|
|
sbc Zp43 ; CPU:$A5F9 PRG:25F9 E5 43
|
|
clc ; CPU:$A5FB PRG:25FB 18
|
|
adc #$20 ; CPU:$A5FC PRG:25FC 69 20
|
|
sta $0743 ; CPU:$A5FE PRG:25FE 8D 43 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A601
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A601:
|
|
rts ; CPU:$A601 PRG:2601 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A602
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A602:
|
|
cmp #$1E ; CPU:$A602 PRG:2602 C9 1E
|
|
bcc Sub_A629 ; CPU:$A604 PRG:2604 90 23
|
|
and #$07 ; CPU:$A606 PRG:2606 29 07
|
|
tax ; CPU:$A608 PRG:2608 AA
|
|
ldy Joypad1Press2 ; CPU:$A609 PRG:2609 A4 1A
|
|
lda #$3F ; CPU:$A60B PRG:260B A9 3F
|
|
sta $0208,y ; CPU:$A60D PRG:260D 99 08 02
|
|
iny ; CPU:$A610 PRG:2610 C8
|
|
lda #$01 ; CPU:$A611 PRG:2611 A9 01
|
|
sta $0208,y ; CPU:$A613 PRG:2613 99 08 02
|
|
iny ; CPU:$A616 PRG:2616 C8
|
|
sta $0208,y ; CPU:$A617 PRG:2617 99 08 02
|
|
iny ; CPU:$A61A PRG:261A C8
|
|
lda $A652,x ; CPU:$A61B PRG:261B BD 52 A6
|
|
sta $0208,y ; CPU:$A61E PRG:261E 99 08 02
|
|
iny ; CPU:$A621 PRG:2621 C8
|
|
lda #$00 ; CPU:$A622 PRG:2622 A9 00
|
|
sta $0208,y ; CPU:$A624 PRG:2624 99 08 02
|
|
sty Joypad1Press2 ; CPU:$A627 PRG:2627 84 1A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A629
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A629:
|
|
rts ; CPU:$A629 PRG:2629 60
|
|
; ---- data $A62A-$A659 (48 bytes) ----
|
|
.byte $3C, $F8, $03, $D5, $3C, $FB, $03, $D5, $3C, $D3, $03, $D5, $3C, $D3, $03, $25 ; CPU:$A62A PRG:262A 3C F8 03 D5 3C FB 03 D5 3C D3 03 D5 3C D3 03 25
|
|
.byte $3C, $FB, $03, $25, $3C, $F8, $03, $25, $3C, $F8, $03, $00, $3C, $F9, $03, $00 ; CPU:$A63A PRG:263A 3C FB 03 25 3C F8 03 25 3C F8 03 00 3C F9 03 00
|
|
.byte $3C, $FA, $03, $00, $3C, $F9, $43, $00, $0F, $12, $15, $16, $25, $27, $06, $30 ; CPU:$A64A PRG:264A 3C FA 03 00 3C F9 43 00 0F 12 15 16 25 27 06 30
|
|
lda #$00 ; CPU:$A65A PRG:265A A9 00
|
|
ldx Zp5D ; CPU:$A65C PRG:265C A6 5D
|
|
stx Zp5E ; CPU:$A65E PRG:265E 86 5E
|
|
sta Zp60 ; CPU:$A660 PRG:2660 85 60
|
|
ldx #$08 ; CPU:$A662 PRG:2662 A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A664
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A664:
|
|
sta Zp80,x ; CPU:$A664 PRG:2664 95 80
|
|
sta Zp9A,x ; CPU:$A666 PRG:2666 95 9A
|
|
dex ; CPU:$A668 PRG:2668 CA
|
|
bpl Sub_A664 ; CPU:$A669 PRG:2669 10 F9
|
|
lda #$00 ; CPU:$A66B PRG:266B A9 00
|
|
sta ScrollY ; CPU:$A66D PRG:266D 85 03
|
|
sta NmiToggle ; CPU:$A66F PRG:266F 85 0F
|
|
sta Zp25 ; CPU:$A671 PRG:2671 85 25
|
|
sta Zp26 ; CPU:$A673 PRG:2673 85 26
|
|
sta Zp29 ; CPU:$A675 PRG:2675 85 29
|
|
lda PPUCTRLShadow ; CPU:$A677 PRG:2677 A5 00
|
|
and #$FD ; CPU:$A679 PRG:2679 29 FD
|
|
sta PPUCTRLShadow ; CPU:$A67B PRG:267B 85 00
|
|
lda #$1F ; CPU:$A67D PRG:267D A9 1F
|
|
sta Zp14 ; CPU:$A67F PRG:267F 85 14
|
|
lda #$3B ; CPU:$A681 PRG:2681 A9 3B
|
|
sta Zp15 ; CPU:$A683 PRG:2683 85 15
|
|
lda #$01 ; CPU:$A685 PRG:2685 A9 01
|
|
sta GameMode ; CPU:$A687 PRG:2687 85 10
|
|
ldy Joypad1Press2 ; CPU:$A689 PRG:2689 A4 1A
|
|
ldx #$00 ; CPU:$A68B PRG:268B A2 00
|
|
stx Zp42 ; CPU:$A68D PRG:268D 86 42
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A68F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A68F:
|
|
lda $A6CE,x ; CPU:$A68F PRG:268F BD CE A6
|
|
sta $0208,y ; CPU:$A692 PRG:2692 99 08 02
|
|
iny ; CPU:$A695 PRG:2695 C8
|
|
inx ; CPU:$A696 PRG:2696 E8
|
|
cpx #$09 ; CPU:$A697 PRG:2697 E0 09
|
|
bne Sub_A68F ; CPU:$A699 PRG:2699 D0 F4
|
|
dey ; CPU:$A69B PRG:269B 88
|
|
sty Joypad1Press2 ; CPU:$A69C PRG:269C 84 1A
|
|
jsr Sub_F3C2 ; CPU:$A69E PRG:269E 20 C2 F3
|
|
lda #$00 ; CPU:$A6A1 PRG:26A1 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A6A3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A6A3:
|
|
ldx #$11 ; CPU:$A6A3 PRG:26A3 A2 11
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A6A5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A6A5:
|
|
sta Zp88,x ; CPU:$A6A5 PRG:26A5 95 88
|
|
sta ZpA2,x ; CPU:$A6A7 PRG:26A7 95 A2
|
|
dex ; CPU:$A6A9 PRG:26A9 CA
|
|
bpl Sub_A6A5 ; CPU:$A6AA PRG:26AA 10 F9
|
|
sta ResetHi ; CPU:$A6AC PRG:26AC 85 3C
|
|
lda #$FF ; CPU:$A6AE PRG:26AE A9 FF
|
|
sta Zp90 ; CPU:$A6B0 PRG:26B0 85 90
|
|
sta ZpAA ; CPU:$A6B2 PRG:26B2 85 AA
|
|
ldx #$01 ; CPU:$A6B4 PRG:26B4 A2 01
|
|
stx Zp99 ; CPU:$A6B6 PRG:26B6 86 99
|
|
stx ZpB3 ; CPU:$A6B8 PRG:26B8 86 B3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A6BA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A6BA:
|
|
lda Zp53,x ; CPU:$A6BA PRG:26BA B5 53
|
|
sta Zp8A,x ; CPU:$A6BC PRG:26BC 95 8A
|
|
sta ZpA4,x ; CPU:$A6BE PRG:26BE 95 A4
|
|
dex ; CPU:$A6C0 PRG:26C0 CA
|
|
bpl Sub_A6BA ; CPU:$A6C1 PRG:26C1 10 F7
|
|
lda Zp5F ; CPU:$A6C3 PRG:26C3 A5 5F
|
|
sta Zp8D ; CPU:$A6C5 PRG:26C5 85 8D
|
|
ldx Zp5D ; CPU:$A6C7 PRG:26C7 A6 5D
|
|
beq Sub_A6CD ; CPU:$A6C9 PRG:26C9 F0 02
|
|
sta ZpA7 ; CPU:$A6CB PRG:26CB 85 A7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A6CD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A6CD:
|
|
rts ; CPU:$A6CD PRG:26CD 60
|
|
Data_A6CE:
|
|
; Nine bytes between the routine ending at $A6CD and the VRAM copy loop at $A6D7.
|
|
; Structure undetermined: no instruction references this address.
|
|
; ---- data $A6CE-$A6D6 (9 bytes) ----
|
|
.byte $3F, $12, $02, $30, $00, $3F, $01, $01, $0F ; CPU:$A6CE PRG:26CE 3F 12 02 30 00 3F 01 01 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A6D7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A6D7:
|
|
sta $2007 ; CPU:$A6D7 PRG:26D7 8D 07 20
|
|
dex ; CPU:$A6DA PRG:26DA CA
|
|
bne Sub_A6D7 ; CPU:$A6DB PRG:26DB D0 FA
|
|
rts ; CPU:$A6DD PRG:26DD 60
|
|
Sub_A6DE:
|
|
lda $2002 ; CPU:$A6DE PRG:26DE AD 02 20
|
|
lda $A74B,x ; CPU:$A6E1 PRG:26E1 BD 4B A7
|
|
inx ; CPU:$A6E4 PRG:26E4 E8
|
|
sta VramPtrLo ; CPU:$A6E5 PRG:26E5 85 04
|
|
lda $A74B,x ; CPU:$A6E7 PRG:26E7 BD 4B A7
|
|
inx ; CPU:$A6EA PRG:26EA E8
|
|
sta VramCopyCount ; CPU:$A6EB PRG:26EB 85 05
|
|
sty Zp2C ; CPU:$A6ED PRG:26ED 84 2C
|
|
ldy #$01 ; CPU:$A6EF PRG:26EF A0 01
|
|
lda (VramPtrLo),y ; CPU:$A6F1 PRG:26F1 B1 04
|
|
sta $2006 ; CPU:$A6F3 PRG:26F3 8D 06 20
|
|
ldy #$00 ; CPU:$A6F6 PRG:26F6 A0 00
|
|
lda (VramPtrLo),y ; CPU:$A6F8 PRG:26F8 B1 04
|
|
sta $2006 ; CPU:$A6FA PRG:26FA 8D 06 20
|
|
ldy #$02 ; CPU:$A6FD PRG:26FD A0 02
|
|
lda (VramPtrLo),y ; CPU:$A6FF PRG:26FF B1 04
|
|
sta ObjUpdateFlag ; CPU:$A701 PRG:2701 85 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A703
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A703:
|
|
iny ; CPU:$A703 PRG:2703 C8
|
|
lda (VramPtrLo),y ; CPU:$A704 PRG:2704 B1 04
|
|
sta $2007 ; CPU:$A706 PRG:2706 8D 07 20
|
|
dec ObjUpdateFlag ; CPU:$A709 PRG:2709 C6 0E
|
|
bne Sub_A703 ; CPU:$A70B PRG:270B D0 F6
|
|
ldy Zp2C ; CPU:$A70D PRG:270D A4 2C
|
|
rts ; CPU:$A70F PRG:270F 60
|
|
Sub_A710:
|
|
ldy #$95 ; CPU:$A710 PRG:2710 A0 95
|
|
ldx #$9A ; CPU:$A712 PRG:2712 A2 9A
|
|
jmp Sub_A722 ; CPU:$A714 PRG:2714 4C 22 A7
|
|
Sub_A717:
|
|
ldy #$83 ; CPU:$A717 PRG:2717 A0 83
|
|
ldx #$80 ; CPU:$A719 PRG:2719 A2 80
|
|
jmp Sub_A722 ; CPU:$A71B PRG:271B 4C 22 A7
|
|
Sub_A71E:
|
|
ldy #$8C ; CPU:$A71E PRG:271E A0 8C
|
|
ldx #$4B ; CPU:$A720 PRG:2720 A2 4B
|
|
Sub_A722:
|
|
lda $2002 ; CPU:$A722 PRG:2722 AD 02 20
|
|
lda #$20 ; CPU:$A725 PRG:2725 A9 20
|
|
sta $2006 ; CPU:$A727 PRG:2727 8D 06 20
|
|
sty $2006 ; CPU:$A72A PRG:272A 8C 06 20
|
|
ldy #$06 ; CPU:$A72D PRG:272D A0 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A72F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A72F:
|
|
lda PPUCTRLShadow,x ; CPU:$A72F PRG:272F B5 00
|
|
bne Sub_A73E ; CPU:$A731 PRG:2731 D0 0B
|
|
lda #$24 ; CPU:$A733 PRG:2733 A9 24
|
|
sta $2007 ; CPU:$A735 PRG:2735 8D 07 20
|
|
inx ; CPU:$A738 PRG:2738 E8
|
|
dey ; CPU:$A739 PRG:2739 88
|
|
bne Sub_A72F ; CPU:$A73A PRG:273A D0 F3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A73C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A73C:
|
|
lda PPUCTRLShadow,x ; CPU:$A73C PRG:273C B5 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_A73E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_A73E:
|
|
sta $2007 ; CPU:$A73E PRG:273E 8D 07 20
|
|
inx ; CPU:$A741 PRG:2741 E8
|
|
dey ; CPU:$A742 PRG:2742 88
|
|
bpl Sub_A73C ; CPU:$A743 PRG:2743 10 F7
|
|
lda PPUCTRLShadow,x ; CPU:$A745 PRG:2745 B5 00
|
|
sta $2007 ; CPU:$A747 PRG:2747 8D 07 20
|
|
rts ; CPU:$A74A PRG:274A 60
|
|
; ---- data $A74B-$A768 (30 bytes) ----
|
|
; 15 x 16-bit pointers to the VRAM write descriptors at $A769-$A8D4 (read by lda $A74B,x at $A6E1).
|
|
VramWritePtrTable:
|
|
.byte $C0, $A7, $C6, $A7, $D7, $A7, $F3, $A7, $0D, $A8, $28, $A8, $43, $A8, $5E, $A8 ; CPU:$A74B PRG:274B C0 A7 C6 A7 D7 A7 F3 A7 0D A8 28 A8 43 A8 5E A8
|
|
.byte $62, $A8, $6D, $A8, $79, $A8, $99, $A8, $B7, $A8, $69, $A7, $D1, $A7 ; CPU:$A75B PRG:275B 62 A8 6D A8 79 A8 99 A8 B7 A8 69 A7 D1 A7
|
|
; ---- data $A769-$A8D4 (364 bytes) ----
|
|
; VRAM write descriptors: [lo, hi, count, data...]; the routine at $A6DE writes
|
|
; hi/lo to $2006 and then count bytes to $2007.
|
|
VramWriteData:
|
|
.byte $C0, $23, $40, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00 ; CPU:$A769 PRG:2769 C0 23 40 FF FF FF FF FF FF FF FF 00 00 00 00 00
|
|
.byte $00, $00, $00, $55, $11, $00, $00, $00, $00, $00, $55, $05, $05, $05, $00, $00 ; CPU:$A779 PRG:2779 00 00 00 55 11 00 00 00 00 00 55 05 05 05 00 00
|
|
.byte $05, $05, $05, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; CPU:$A789 PRG:2789 05 05 05 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:$A799 PRG:2799 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.byte $00, $00, $00, $0F, $0F, $30, $02, $0F, $0F, $16, $02, $0F, $16, $0F, $16, $0F ; CPU:$A7A9 PRG:27A9 00 00 00 0F 0F 30 02 0F 0F 16 02 0F 16 0F 16 0F
|
|
.byte $0F, $16, $16, $0F, $0F, $30, $02, $63, $20, $03, $01, $1E, $19, $6C, $20, $08 ; CPU:$A7B9 PRG:27B9 0F 16 16 0F 0F 30 02 63 20 03 01 1E 19 6C 20 08
|
|
.byte $11, $12, $26, $1C, $0C, $18, $1B, $0E, $75, $20, $03, $02, $1E, $19, $04, $21 ; CPU:$A7C9 PRG:27C9 11 12 26 1C 0C 18 1B 0E 75 20 03 02 1E 19 04 21
|
|
.byte $19, $98, $8F, $CC, $9D, $8F, $CC, $8F, $9C, $8F, $9C, $CC, $8F, $8F, $8F, $CC ; CPU:$A7D9 PRG:27D9 19 98 8F CC 9D 8F CC 8F 9C 8F 9C CC 8F 8F 8F CC
|
|
.byte $9D, $8F, $CC, $9D, $8F, $9D, $8F, $CC, $8F, $99, $25, $21, $17, $9D, $9E, $8F ; CPU:$A7E9 PRG:27E9 9D 8F CC 9D 8F 9D 8F CC 8F 99 25 21 17 9D 9E 8F
|
|
.byte $9B, $9F, $9C, $93, $9D, $9E, $98, $8F, $9D, $8F, $98, $8F, $9D, $9E, $FE, $8F ; CPU:$A7F9 PRG:27F9 9B 9F 9C 93 9D 9E 98 8F 9D 8F 98 8F 9D 9E FE 8F
|
|
.byte $FE, $8F, $9F, $9C, $45, $21, $18, $98, $8F, $9E, $9A, $8F, $9C, $CC, $9A, $8F ; CPU:$A809 PRG:2809 FE 8F 9F 9C 45 21 18 98 8F 9E 9A 8F 9C CC 9A 8F
|
|
.byte $9F, $9C, $FE, $8F, $9D, $9E, $98, $8F, $9D, $8F, $FE, $8F, $9A, $8F, $99, $64 ; CPU:$A819 PRG:2819 9F 9C FE 8F 9D 9E 98 8F 9D 8F FE 8F 9A 8F 99 64
|
|
.byte $21, $18, $98, $8F, $9B, $9D, $9E, $9A, $8F, $99, $93, $9D, $8F, $9B, $FE, $8F ; CPU:$A829 PRG:2829 21 18 98 8F 9B 9D 9E 9A 8F 99 93 9D 8F 9B FE 8F
|
|
.byte $93, $9D, $8F, $9B, $93, $9D, $8F, $9B, $9F, $9C, $83, $21, $18, $98, $8F, $CC ; CPU:$A839 PRG:2839 93 9D 8F 9B 93 9D 8F 9B 9F 9C 83 21 18 98 8F CC
|
|
.byte $CC, $CC, $CC, $CC, $CC, $CC, $CC, $C7, $C7, $C7, $C7, $C7, $C7, $CC, $CC, $CC ; CPU:$A849 PRG:2849 CC CC CC CC CC CC CC C7 C7 C7 C7 C7 C7 CC CC CC
|
|
.byte $CC, $CC, $CC, $CC, $CC, $A4, $21, $01, $9B, $EC, $21, $08, $01, $24, $19, $15 ; CPU:$A859 PRG:2859 CC CC CC CC CC A4 21 01 9B EC 21 08 01 24 19 15
|
|
.byte $0A, $22, $0E, $1B, $2C, $22, $09, $02, $24, $19, $15, $0A, $22, $0E, $1B, $1C ; CPU:$A869 PRG:2869 0A 22 0E 1B 2C 22 09 02 24 19 15 0A 22 0E 1B 1C
|
|
.byte $A2, $22, $1D, $1D, $16, $24, $0A, $17, $0D, $24, $87, $24, $01, $09, $08, $02 ; CPU:$A879 PRG:2879 A2 22 1D 1D 16 24 0A 17 0D 24 87 24 01 09 08 02
|
|
.byte $24, $01, $09, $08, $08, $24, $17, $0A, $16, $0C, $18, $24, $15, $1D, $0D, $25 ; CPU:$A889 PRG:2889 24 01 09 08 08 24 17 0A 16 0C 18 24 15 1D 0D 25
|
|
.byte $23, $23, $1B, $0B, $0A, $17, $0D, $0A, $12, $24, $0C, $18, $25, $24, $15, $1D ; CPU:$A899 PRG:2899 23 23 1B 0B 0A 17 0D 0A 12 24 0C 18 25 24 15 1D
|
|
.byte $0D, $25, $24, $12, $1C, $24, $15, $12, $0C, $0E, $17, $1C, $0E, $0D, $63, $23 ; CPU:$A8A9 PRG:28A9 0D 25 24 12 1C 24 15 12 0C 0E 17 1C 0E 0D 63 23
|
|
.byte $1B, $0B, $22, $24, $17, $12, $17, $1D, $0E, $17, $0D, $18, $24, $18, $0F, $24 ; CPU:$A8B9 PRG:28B9 1B 0B 22 24 17 12 17 1D 0E 17 0D 18 24 18 0F 24
|
|
.byte $0A, $16, $0E, $1B, $12, $0C, $0A, $24, $12, $17, $0C, $25 ; CPU:$A8C9 PRG:28C9 0A 16 0E 1B 12 0C 0A 24 12 17 0C 25
|
|
; ---- data $A8D5-$A8F4 (32 bytes) ----
|
|
; 16 x 16-bit pointers to the streams at $ACFB-$B8AA (read by lda $A8D5,x at $F3E4);
|
|
; the first byte of each stream is loaded into Zp12 as a count.
|
|
DataStreamPtrTable:
|
|
.byte $FB, $AC, $BC, $AD, $76, $AE, $26, $AF, $A5, $AF, $71, $B0, $2F, $B1, $BF, $B1 ; CPU:$A8D5 PRG:28D5 FB AC BC AD 76 AE 26 AF A5 AF 71 B0 2F B1 BF B1
|
|
.byte $8D, $B2, $FB, $B2, $CB, $B3, $9B, $B4, $8D, $B5, $3D, $B6, $C1, $B6, $93, $B7 ; CPU:$A8E5 PRG:28E5 8D B2 FB B2 CB B3 9B B4 8D B5 3D B6 C1 B6 93 B7
|
|
; ---- data $A8F5-$A9BA (198 bytes) ----
|
|
; 99 x 16-bit pointers to the tile data at $A9BB-$ACFA (read by lda $A8F5,y at $C353
|
|
; and stored per object at $050A/$050B).
|
|
ObjTilePtrTable:
|
|
.byte $BB, $A9, $C1, $A9, $C7, $A9, $CD, $A9, $D5, $A9, $DD, $A9, $E3, $A9, $E7, $A9 ; CPU:$A8F5 PRG:28F5 BB A9 C1 A9 C7 A9 CD A9 D5 A9 DD A9 E3 A9 E7 A9
|
|
.byte $ED, $A9, $F1, $A9, $F7, $A9, $FD, $A9, $05, $AA, $2D, $AA, $39, $AA, $35, $AA ; CPU:$A905 PRG:2905 ED A9 F1 A9 F7 A9 FD A9 05 AA 2D AA 39 AA 35 AA
|
|
.byte $3D, $AA, $45, $AA, $43, $AA, $47, $AA, $49, $AA, $5F, $AA, $65, $AA, $6D, $AA ; CPU:$A915 PRG:2915 3D AA 45 AA 43 AA 47 AA 49 AA 5F AA 65 AA 6D AA
|
|
.byte $69, $AA, $7D, $AA, $79, $AA, $8D, $AA, $89, $AA, $99, $AA, $A3, $AA, $AB, $AA ; CPU:$A925 PRG:2925 69 AA 7D AA 79 AA 8D AA 89 AA 99 AA A3 AA AB AA
|
|
.byte $B3, $AA, $BB, $AA, $C7, $AA, $CD, $AA, $DD, $AA, $DB, $AA, $E1, $AA, $ED, $AA ; CPU:$A935 PRG:2935 B3 AA BB AA C7 AA CD AA DD AA DB AA E1 AA ED AA
|
|
.byte $FD, $AA, $03, $AB, $07, $AB, $0B, $AB, $13, $AB, $11, $AB, $0F, $AB, $1D, $AB ; CPU:$A945 PRG:2945 FD AA 03 AB 07 AB 0B AB 13 AB 11 AB 0F AB 1D AB
|
|
.byte $2F, $AB, $41, $AB, $51, $AB, $55, $AB, $3F, $AB, $2D, $AB, $1B, $AB, $65, $AB ; CPU:$A955 PRG:2955 2F AB 41 AB 51 AB 55 AB 3F AB 2D AB 1B AB 65 AB
|
|
.byte $85, $AB, $87, $AB, $8B, $AB, $99, $AB, $AB, $AB, $B5, $AB, $C7, $AB, $CD, $AB ; CPU:$A965 PRG:2965 85 AB 87 AB 8B AB 99 AB AB AB B5 AB C7 AB CD AB
|
|
.byte $CF, $AB, $D7, $AB, $DD, $AB, $E5, $AB, $EB, $AB, $F1, $AB, $F9, $AB, $01, $AC ; CPU:$A975 PRG:2975 CF AB D7 AB DD AB E5 AB EB AB F1 AB F9 AB 01 AC
|
|
.byte $19, $AC, $1F, $AC, $1B, $AC, $21, $AC, $25, $AC, $29, $AC, $2F, $AC, $35, $AC ; CPU:$A985 PRG:2985 19 AC 1F AC 1B AC 21 AC 25 AC 29 AC 2F AC 35 AC
|
|
.byte $41, $AC, $49, $AC, $53, $AC, $6B, $AC, $67, $AC, $4F, $AC, $7F, $AC, $8D, $AC ; CPU:$A995 PRG:2995 41 AC 49 AC 53 AC 6B AC 67 AC 4F AC 7F AC 8D AC
|
|
.byte $99, $AC, $A5, $AC, $B1, $AC, $B7, $AC, $BD, $AC, $CD, $AC, $DD, $AC, $E1, $AC ; CPU:$A9A5 PRG:29A5 99 AC A5 AC B1 AC B7 AC BD AC CD AC DD AC E1 AC
|
|
.byte $E7, $AC, $F9, $AC, $EB, $AC ; CPU:$A9B5 PRG:29B5 E7 AC F9 AC EB AC
|
|
; ---- data $A9BB-$ACFA (832 bytes) ----
|
|
; Tile/attribute data addressed by the 99-entry table at $A8F5.
|
|
ObjTileData:
|
|
.byte $00, $60, $04, $30, $08, $FF, $00, $5C, $1E, $58, $00, $FF, $00, $34, $08, $A0 ; CPU:$A9BB PRG:29BB 00 60 04 30 08 FF 00 5C 1E 58 00 FF 00 34 08 A0
|
|
.byte $00, $FF, $04, $68, $00, $50, $04, $28, $00, $FF, $00, $08, $18, $40, $00, $58 ; CPU:$A9CB PRG:29CB 00 FF 04 68 00 50 04 28 00 FF 00 08 18 40 00 58
|
|
.byte $04, $FF, $00, $78, $1C, $A0, $19, $FF, $1C, $64, $18, $FF, $00, $90, $10, $80 ; CPU:$A9DB PRG:29DB 04 FF 00 78 1C A0 19 FF 1C 64 18 FF 00 90 10 80
|
|
.byte $00, $FF, $00, $90, $04, $FF, $00, $5C, $1C, $40, $00, $FF, $00, $4C, $1E, $68 ; CPU:$A9EB PRG:29EB 00 FF 00 90 04 FF 00 5C 1C 40 00 FF 00 4C 1E 68
|
|
.byte $00, $FF, $00, $60, $10, $D8, $18, $38, $1F, $FF, $00, $30, $10, $30, $08, $20 ; CPU:$A9FB PRG:29FB 00 FF 00 60 10 D8 18 38 1F FF 00 30 10 30 08 20
|
|
.byte $18, $20, $00, $30, $10, $30, $08, $20, $18, $20, $00, $30, $10, $30, $08, $20 ; CPU:$AA0B PRG:2A0B 18 20 00 30 10 30 08 20 18 20 00 30 10 30 08 20
|
|
.byte $18, $20, $00, $30, $10, $30, $08, $20, $18, $20, $00, $30, $10, $30, $08, $20 ; CPU:$AA1B PRG:2A1B 18 20 00 30 10 30 08 20 18 20 00 30 10 30 08 20
|
|
.byte $18, $20, $10, $10, $08, $C0, $10, $30, $18, $FF, $18, $FF, $18, $FF, $08, $FF ; CPU:$AA2B PRG:2A2B 18 20 10 10 08 C0 10 30 18 FF 18 FF 18 FF 08 FF
|
|
.byte $08, $FF, $00, $B0, $10, $C0, $00, $FF, $00, $C0, $1C, $40, $00, $FF, $00, $18 ; CPU:$AA3B PRG:2A3B 08 FF 00 B0 10 C0 00 FF 00 C0 1C 40 00 FF 00 18
|
|
.byte $1C, $38, $19, $40, $1C, $40, $18, $48, $1C, $20, $00, $20, $10, $20, $00, $20 ; CPU:$AA4B PRG:2A4B 1C 38 19 40 1C 40 18 48 1C 20 00 20 10 20 00 20
|
|
.byte $10, $20, $00, $FF, $00, $32, $08, $90, $00, $FF, $00, $92, $18, $FF, $0C, $04 ; CPU:$AA5B PRG:2A5B 10 20 00 FF 00 32 08 90 00 FF 00 92 18 FF 0C 04
|
|
.byte $1C, $34, $14, $60, $10, $60, $0C, $60, $04, $60, $00, $60, $1C, $60, $10, $04 ; CPU:$AA6B PRG:2A6B 1C 34 14 60 10 60 0C 60 04 60 00 60 1C 60 10 04
|
|
.byte $00, $34, $1C, $60, $14, $60, $10, $60, $0C, $60, $04, $60, $00, $60, $14, $04 ; CPU:$AA7B PRG:2A7B 00 34 1C 60 14 60 10 60 0C 60 04 60 00 60 14 04
|
|
.byte $04, $34, $00, $60, $1C, $60, $14, $60, $10, $60, $0C, $60, $04, $60, $10, $0C ; CPU:$AA8B PRG:2A8B 04 34 00 60 1C 60 14 60 10 60 0C 60 04 60 10 0C
|
|
.byte $18, $D0, $14, $20, $10, $FF, $00, $FF, $1C, $28, $00, $08, $1C, $48, $00, $FF ; CPU:$AA9B PRG:2A9B 18 D0 14 20 10 FF 00 FF 1C 28 00 08 1C 48 00 FF
|
|
.byte $00, $50, $08, $40, $18, $40, $00, $FF, $00, $50, $18, $40, $08, $40, $00, $FF ; CPU:$AAAB PRG:2AAB 00 50 08 40 18 40 00 FF 00 50 18 40 08 40 00 FF
|
|
.byte $00, $A0, $10, $E0, $10, $30, $11, $40, $01, $40, $00, $FF, $00, $AC, $10, $FF ; CPU:$AABB PRG:2ABB 00 A0 10 E0 10 30 11 40 01 40 00 FF 00 AC 10 FF
|
|
.byte $00, $FF, $00, $38, $10, $E8, $14, $24, $10, $40, $14, $74, $11, $94, $19, $FF ; CPU:$AACB PRG:2ACB 00 FF 00 38 10 E8 14 24 10 40 14 74 11 94 19 FF
|
|
.byte $10, $10, $00, $FF, $00, $FF, $00, $08, $18, $48, $00, $58, $1C, $48, $00, $70 ; CPU:$AADB PRG:2ADB 10 10 00 FF 00 FF 00 08 18 48 00 58 1C 48 00 70
|
|
.byte $1E, $FF, $00, $08, $18, $78, $00, $58, $04, $60, $00, $38, $0A, $18, $0C, $A8 ; CPU:$AAEB PRG:2AEB 1E FF 00 08 18 78 00 58 04 60 00 38 0A 18 0C A8
|
|
.byte $00, $FF, $00, $08, $08, $78, $00, $FF, $1C, $62, $18, $FF, $1C, $82, $18, $FF ; CPU:$AAFB PRG:2AFB 00 FF 00 08 08 78 00 FF 1C 62 18 FF 1C 82 18 FF
|
|
.byte $1C, $A2, $18, $FF, $04, $20, $04, $20, $00, $E4, $18, $FF, $00, $C0, $18, $FF ; CPU:$AB0B PRG:2B0B 1C A2 18 FF 04 20 04 20 00 E4 18 FF 00 C0 18 FF
|
|
.byte $1C, $40, $0C, $60, $1C, $60, $0C, $60, $1C, $60, $0C, $60, $1C, $60, $0C, $60 ; CPU:$AB1B PRG:2B1B 1C 40 0C 60 1C 60 0C 60 1C 60 0C 60 1C 60 0C 60
|
|
.byte $1C, $60, $00, $40, $10, $60, $00, $60, $10, $60, $00, $60, $10, $60, $00, $60 ; CPU:$AB2B PRG:2B2B 1C 60 00 40 10 60 00 60 10 60 00 60 10 60 00 60
|
|
.byte $10, $60, $00, $60, $04, $40, $14, $60, $04, $60, $14, $60, $04, $60, $14, $60 ; CPU:$AB3B PRG:2B3B 10 60 00 60 04 40 14 60 04 60 14 60 04 60 14 60
|
|
.byte $04, $60, $14, $60, $04, $60, $18, $40, $08, $20, $08, $40, $18, $60, $08, $60 ; CPU:$AB4B PRG:2B4B 04 60 14 60 04 60 18 40 08 20 08 40 18 60 08 60
|
|
.byte $18, $60, $08, $60, $18, $60, $08, $60, $18, $60, $08, $80, $10, $80, $17, $80 ; CPU:$AB5B PRG:2B5B 18 60 08 60 18 60 08 60 18 60 08 80 10 80 17 80
|
|
.byte $14, $20, $08, $40, $06, $20, $08, $10, $10, $28, $18, $10, $1A, $20, $18, $48 ; CPU:$AB6B PRG:2B6B 14 20 08 40 06 20 08 10 10 28 18 10 1A 20 18 48
|
|
.byte $14, $18, $08, $70, $0D, $A0, $18, $98, $1C, $80, $00, $FF, $00, $F8, $04, $40 ; CPU:$AB7B PRG:2B7B 14 18 08 70 0D A0 18 98 1C 80 00 FF 00 F8 04 40
|
|
.byte $00, $70, $10, $C0, $0E, $5C, $10, $B8, $00, $B8, $1E, $20, $00, $FF, $00, $80 ; CPU:$AB8B PRG:2B8B 00 70 10 C0 0E 5C 10 B8 00 B8 1E 20 00 FF 00 80
|
|
.byte $10, $C0, $14, $2C, $10, $48, $14, $6C, $11, $A0, $19, $50, $1C, $44, $18, $FF ; CPU:$AB9B PRG:2B9B 10 C0 14 2C 10 48 14 6C 11 A0 19 50 1C 44 18 FF
|
|
.byte $00, $04, $08, $80, $04, $1C, $08, $D0, $0C, $FF, $10, $10, $18, $C0, $14, $30 ; CPU:$ABAB PRG:2BAB 00 04 08 80 04 1C 08 D0 0C FF 10 10 18 C0 14 30
|
|
.byte $10, $4C, $00, $2C, $10, $50, $00, $68, $04, $30, $08, $FF, $10, $08, $00, $78 ; CPU:$ABBB PRG:2BBB 10 4C 00 2C 10 50 00 68 04 30 08 FF 10 08 00 78
|
|
.byte $10, $50, $00, $FF, $00, $74, $08, $A0, $18, $A0, $00, $FF, $00, $A0, $1C, $20 ; CPU:$ABCB PRG:2BCB 10 50 00 FF 00 74 08 A0 18 A0 00 FF 00 A0 1C 20
|
|
.byte $1E, $FF, $00, $70, $10, $E0, $10, $A0, $00, $FF, $00, $04, $08, $A8, $00, $FF ; CPU:$ABDB PRG:2BDB 1E FF 00 70 10 E0 10 A0 00 FF 00 04 08 A8 00 FF
|
|
.byte $00, $04, $08, $D8, $00, $FF, $00, $04, $08, $E0, $08, $28, $00, $FF, $10, $18 ; CPU:$ABEB PRG:2BEB 00 04 08 D8 00 FF 00 04 08 E0 08 28 00 FF 10 18
|
|
.byte $00, $40, $08, $80, $10, $28, $10, $58, $18, $80, $00, $80, $08, $80, $10, $80 ; CPU:$ABFB PRG:2BFB 00 40 08 80 10 28 10 58 18 80 00 80 08 80 10 80
|
|
.byte $18, $80, $00, $80, $08, $80, $10, $80, $18, $80, $00, $80, $08, $80, $08, $20 ; CPU:$AC0B PRG:2C0B 18 80 00 80 08 80 10 80 18 80 00 80 08 80 08 20
|
|
.byte $08, $A0, $18, $FF, $18, $20, $18, $A0, $08, $FF, $00, $70, $10, $70, $00, $70 ; CPU:$AC1B PRG:2C1B 08 A0 18 FF 18 20 18 A0 08 FF 00 70 10 70 00 70
|
|
.byte $10, $70, $00, $FF, $00, $60, $10, $60, $00, $FF, $1C, $40, $0C, $40, $10, $18 ; CPU:$AC2B PRG:2C2B 10 70 00 FF 00 60 10 60 00 FF 1C 40 0C 40 10 18
|
|
.byte $00, $18, $1C, $40, $00, $FF, $00, $40, $10, $80, $00, $D8, $1C, $40, $00, $80 ; CPU:$AC3B PRG:2C3B 00 18 1C 40 00 FF 00 40 10 80 00 D8 1C 40 00 80
|
|
.byte $00, $C0, $1C, $40, $10, $10, $1C, $40, $0C, $50, $1C, $50, $0C, $50, $1C, $50 ; CPU:$AC4B PRG:2C4B 00 C0 1C 40 10 10 1C 40 0C 50 1C 50 0C 50 1C 50
|
|
.byte $0C, $50, $1C, $50, $0C, $50, $1C, $50, $0C, $50, $1C, $50, $10, $10, $04, $40 ; CPU:$AC5B PRG:2C5B 0C 50 1C 50 0C 50 1C 50 0C 50 1C 50 10 10 04 40
|
|
.byte $14, $50, $04, $50, $14, $50, $04, $50, $14, $50, $04, $50, $14, $50, $04, $50 ; CPU:$AC6B PRG:2C6B 14 50 04 50 14 50 04 50 14 50 04 50 14 50 04 50
|
|
.byte $14, $50, $04, $50, $00, $18, $04, $10, $08, $60, $0C, $3C, $0A, $58, $01, $80 ; CPU:$AC7B PRG:2C7B 14 50 04 50 00 18 04 10 08 60 0C 3C 0A 58 01 80
|
|
.byte $04, $FF, $00, $30, $10, $A0, $18, $10, $08, $F0, $10, $E0, $00, $FF, $00, $10 ; CPU:$AC8B PRG:2C8B 04 FF 00 30 10 A0 18 10 08 F0 10 E0 00 FF 00 10
|
|
.byte $08, $88, $18, $08, $08, $E8, $10, $A0, $00, $FF, $00, $30, $18, $68, $08, $68 ; CPU:$AC9B PRG:2C9B 08 88 18 08 08 E8 10 A0 00 FF 00 30 18 68 08 68
|
|
.byte $10, $C0, $10, $F0, $08, $FF, $00, $40, $04, $34, $08, $FF, $00, $80, $10, $80 ; CPU:$ACAB PRG:2CAB 10 C0 10 F0 08 FF 00 40 04 34 08 FF 00 80 10 80
|
|
.byte $00, $FF, $00, $62, $10, $70, $0E, $54, $10, $DA, $10, $50, $08, $48, $18, $48 ; CPU:$ACBB PRG:2CBB 00 FF 00 62 10 70 0E 54 10 DA 10 50 08 48 18 48
|
|
.byte $00, $FF, $00, $60, $10, $98, $14, $20, $10, $E4, $10, $50, $18, $48, $08, $48 ; CPU:$ACCB PRG:2CCB 00 FF 00 60 10 98 14 20 10 E4 10 50 18 48 08 48
|
|
.byte $00, $FF, $1C, $80, $19, $FF, $00, $58, $10, $80, $00, $FF, $1C, $80, $18, $FF ; CPU:$ACDB PRG:2CDB 00 FF 1C 80 19 FF 00 58 10 80 00 FF 1C 80 18 FF
|
|
.byte $00, $10, $1C, $E0, $10, $E0, $14, $88, $10, $80, $08, $C8, $08, $A8, $00, $FF ; CPU:$ACEB PRG:2CEB 00 10 1C E0 10 E0 14 88 10 80 08 C8 08 A8 00 FF
|
|
; ---- data $ACFB-$B8AA (2992 bytes) ----
|
|
; Data streams addressed by the 16-entry table at $A8D5.
|
|
DataStreamData:
|
|
.byte $20, $FE, $3A, $0F, $00, $FE, $38, $FF, $00, $FE, $36, $60, $00, $FE, $3E, $1F ; CPU:$ACFB PRG:2CFB 20 FE 3A 0F 00 FE 38 FF 00 FE 36 60 00 FE 3E 1F
|
|
.byte $00, $FC, $40, $07, $00, $FC, $3C, $1F, $00, $FC, $42, $1F, $00, $FC, $44, $07 ; CPU:$AD0B PRG:2D0B 00 FC 40 07 00 FC 3C 1F 00 FC 42 1F 00 FC 44 07
|
|
.byte $00, $F8, $2C, $E8, $2C, $DE, $2A, $27, $1A, $D2, $2C, $D2, $04, $08, $AA, $D2 ; CPU:$AD1B PRG:2D1B 00 F8 2C E8 2C DE 2A 27 1A D2 2C D2 04 08 AA D2
|
|
.byte $06, $0A, $AA, $C0, $32, $B4, $2C, $B4, $04, $0C, $AA, $B4, $06, $0E, $AA, $AA ; CPU:$AD2B PRG:2D2B 06 0A AA C0 32 B4 2C B4 04 0C AA B4 06 0E AA AA
|
|
.byte $04, $12, $AA, $A8, $00, $12, $AA, $9E, $06, $14, $AA, $9C, $32, $9C, $34, $9C ; CPU:$AD3B PRG:2D3B 04 12 AA A8 00 12 AA 9E 06 14 AA 9C 32 9C 34 9C
|
|
.byte $34, $9C, $00, $12, $AA, $90, $2C, $80, $2C, $78, $06, $0E, $AA, $76, $00, $0E ; CPU:$AD4B PRG:2D4B 34 9C 00 12 AA 90 2C 80 2C 78 06 0E AA 76 00 0E
|
|
.byte $AA, $70, $2C, $6A, $26, $1C, $FF, $5E, $4E, $84, $06, $5C, $34, $5C, $34, $5C ; CPU:$AD5B PRG:2D5B AA 70 2C 6A 26 1C FF 5E 4E 84 06 5C 34 5C 34 5C
|
|
.byte $38, $1F, $00, $5A, $4E, $84, $86, $58, $2C, $58, $4E, $84, $06, $50, $2C, $44 ; CPU:$AD6B PRG:2D6B 38 1F 00 5A 4E 84 86 58 2C 58 4E 84 06 50 2C 44
|
|
.byte $2C, $42, $28, $38, $00, $0E, $FF, $38, $04, $10, $FF, $36, $2E, $03, $24, $06 ; CPU:$AD7B PRG:2D7B 2C 42 28 38 00 0E FF 38 04 10 FF 36 2E 03 24 06
|
|
.byte $18, $FF, $22, $00, $16, $FF, $20, $06, $14, $FF, $1E, $00, $02, $FF, $1E, $00 ; CPU:$AD8B PRG:2D8B 18 FF 22 00 16 FF 20 06 14 FF 1E 00 02 FF 1E 00
|
|
.byte $12, $FF, $1C, $04, $10, $FF, $16, $1C, $10, $AA, $14, $32, $14, $1E, $0E, $AA ; CPU:$AD9B PRG:2D9B 12 FF 1C 04 10 FF 16 1C 10 AA 14 32 14 1E 0E AA
|
|
.byte $14, $20, $10, $AA, $14, $22, $12, $AA, $14, $26, $02, $FF, $12, $24, $10, $AA ; CPU:$ADAB PRG:2DAB 14 20 10 AA 14 22 12 AA 14 26 02 FF 12 24 10 AA
|
|
.byte $00, $30, $FC, $2E, $01, $EC, $32, $E4, $2A, $27, $1A, $E4, $4C, $64, $00, $DA ; CPU:$ADBB PRG:2DBB 00 30 FC 2E 01 EC 32 E4 2A 27 1A E4 4C 64 00 DA
|
|
.byte $00, $12, $FF, $DA, $04, $14, $FF, $D0, $06, $06, $FF, $D0, $00, $08, $FF, $C6 ; CPU:$ADCB PRG:2DCB 00 12 FF DA 04 14 FF D0 06 06 FF D0 00 08 FF C6
|
|
.byte $00, $12, $FF, $C6, $00, $14, $FF, $C0, $2C, $BC, $4C, $7C, $02, $B2, $32, $B2 ; CPU:$ADDB PRG:2DDB 00 12 FF C6 00 14 FF C0 2C BC 4C 7C 02 B2 32 B2
|
|
.byte $00, $14, $FF, $AA, $4C, $7C, $04, $9E, $2C, $9E, $00, $14, $FF, $9E, $06, $16 ; CPU:$ADEB PRG:2DEB 00 14 FF AA 4C 7C 04 9E 2C 9E 00 14 FF 9E 06 16
|
|
.byte $FF, $92, $2C, $90, $00, $14, $FF, $80, $32, $74, $06, $06, $FF, $6C, $00, $12 ; CPU:$ADFB PRG:2DFB FF 92 2C 90 00 14 FF 80 32 74 06 06 FF 6C 00 12
|
|
.byte $FF, $6C, $06, $14, $FF, $6A, $06, $12, $FF, $6A, $00, $14, $FF, $64, $26, $1C ; CPU:$AE0B PRG:2E0B FF 6C 06 14 FF 6A 06 12 FF 6A 00 14 FF 64 26 1C
|
|
.byte $FF, $64, $4C, $24, $06, $58, $2C, $48, $32, $44, $4C, $5C, $08, $42, $4C, $CC ; CPU:$AE1B PRG:2E1B FF 64 4C 24 06 58 2C 48 32 44 4C 5C 08 42 4C CC
|
|
.byte $0A, $3A, $26, $12, $FF, $32, $06, $06, $FF, $32, $00, $08, $FF, $30, $2C, $24 ; CPU:$AE2B PRG:2E2B 0A 3A 26 12 FF 32 06 06 FF 32 00 08 FF 30 2C 24
|
|
.byte $4C, $94, $0C, $24, $04, $0E, $FF, $22, $06, $10, $FF, $20, $32, $20, $04, $12 ; CPU:$AE3B PRG:2E3B 4C 94 0C 24 04 0E FF 22 06 10 FF 20 32 20 04 12
|
|
.byte $FF, $1E, $06, $14, $FF, $1C, $04, $16, $FF, $1C, $36, $90, $00, $1A, $2E, $01 ; CPU:$AE4B PRG:2E4B FF 1E 06 14 FF 1C 04 16 FF 1C 36 90 00 1A 2E 01
|
|
.byte $14, $32, $14, $00, $0A, $FF, $14, $00, $0C, $FF, $10, $06, $08, $FF, $10, $02 ; CPU:$AE5B PRG:2E5B 14 32 14 00 0A FF 14 00 0C FF 10 06 08 FF 10 02
|
|
.byte $0A, $FF, $10, $02, $0C, $FF, $10, $06, $0E, $FF, $00, $07, $FE, $46, $7F, $3C ; CPU:$AE6B PRG:2E6B 0A FF 10 02 0C FF 10 06 0E FF 00 07 FE 46 7F 3C
|
|
.byte $FE, $36, $70, $00, $E8, $2A, $1A, $11, $E8, $06, $16, $AA, $E2, $46, $3F, $3C ; CPU:$AE7B PRG:2E7B FE 36 70 00 E8 2A 1A 11 E8 06 16 AA E2 46 3F 3C
|
|
.byte $B8, $2A, $27, $11, $B8, $00, $0A, $AA, $B6, $06, $0A, $AA, $B6, $46, $3F, $3C ; CPU:$AE8B PRG:2E8B B8 2A 27 11 B8 00 0A AA B6 06 0A AA B6 46 3F 3C
|
|
.byte $A0, $2A, $27, $27, $A0, $0A, $06, $FF, $9E, $08, $06, $FF, $9C, $26, $02, $FF ; CPU:$AE9B PRG:2E9B A0 2A 27 27 A0 0A 06 FF 9E 08 06 FF 9C 26 02 FF
|
|
.byte $90, $4A, $8E, $2A, $1A, $27, $8E, $00, $10, $AA, $8C, $04, $10, $AA, $88, $28 ; CPU:$AEAB PRG:2EAB 90 4A 8E 2A 1A 27 8E 00 10 AA 8C 04 10 AA 88 28
|
|
.byte $84, $04, $0E, $AA, $84, $06, $10, $AA, $80, $34, $80, $48, $00, $00, $78, $2C ; CPU:$AEBB PRG:2EBB 84 04 0E AA 84 06 10 AA 80 34 80 48 00 00 78 2C
|
|
.byte $68, $06, $04, $FF, $68, $00, $0A, $FF, $62, $00, $16, $AA, $60, $32, $58, $06 ; CPU:$AECB PRG:2ECB 68 06 04 FF 68 00 0A FF 62 00 16 AA 60 32 58 06
|
|
.byte $14, $FF, $54, $2C, $54, $4E, $78, $08, $48, $34, $48, $06, $06, $FF, $48, $00 ; CPU:$AEDB PRG:2EDB 14 FF 54 2C 54 4E 78 08 48 34 48 06 06 FF 48 00
|
|
.byte $0C, $FF, $40, $2C, $34, $2A, $07, $27, $32, $04, $04, $AA, $32, $00, $08, $AA ; CPU:$AEEB PRG:2EEB 0C FF 40 2C 34 2A 07 27 32 04 04 AA 32 00 08 AA
|
|
.byte $32, $06, $0C, $AA, $32, $04, $10, $AA, $28, $32, $28, $06, $0C, $AA, $1A, $2A ; CPU:$AEFB PRG:2EFB 32 06 0C AA 32 04 10 AA 28 32 28 06 0C AA 1A 2A
|
|
.byte $07, $1A, $1A, $06, $12, $FF, $1A, $00, $16, $FF, $1A, $06, $1A, $FF, $14, $0E ; CPU:$AF0B PRG:2F0B 07 1A 1A 06 12 FF 1A 00 16 FF 1A 06 1A FF 14 0E
|
|
.byte $16, $FF, $12, $0C, $16, $FF, $12, $26, $1C, $FF, $00, $29, $FE, $2E, $01, $F0 ; CPU:$AF1B PRG:2F1B 16 FF 12 0C 16 FF 12 26 1C FF 00 29 FE 2E 01 F0
|
|
.byte $32, $EA, $4C, $64, $0E, $E2, $4C, $D4, $10, $DE, $2A, $27, $1A, $D8, $04, $14 ; CPU:$AF2B PRG:2F2B 32 EA 4C 64 0E E2 4C D4 10 DE 2A 27 1A D8 04 14
|
|
.byte $FF, $D8, $06, $16, $FF, $D0, $4C, $84, $12, $CA, $2C, $C2, $00, $0A, $FF, $C2 ; CPU:$AF3B PRG:2F3B FF D8 06 16 FF D0 4C 84 12 CA 2C C2 00 0A FF C2
|
|
.byte $06, $0C, $FF, $C2, $26, $14, $FF, $BC, $4C, $EC, $14, $BA, $32, $B2, $06, $18 ; CPU:$AF4B PRG:2F4B 06 0C FF C2 26 14 FF BC 4C EC 14 BA 32 B2 06 18
|
|
.byte $FF, $B0, $06, $1A, $FF, $AE, $00, $18, $FF, $AC, $00, $1A, $FF, $A6, $4C, $EC ; CPU:$AF5B PRG:2F5B FF B0 06 1A FF AE 00 18 FF AC 00 1A FF A6 4C EC
|
|
.byte $16, $9E, $2C, $8A, $32, $88, $46, $01, $01, $74, $2E, $45, $72, $1A, $0C, $00 ; CPU:$AF6B PRG:2F6B 16 9E 2C 8A 32 88 46 01 01 74 2E 45 72 1A 0C 00
|
|
.byte $70, $18, $0A, $00, $6E, $16, $0A, $00, $6C, $14, $0A, $00, $6A, $12, $0A, $00 ; CPU:$AF7B PRG:2F7B 70 18 0A 00 6E 16 0A 00 6C 14 0A 00 6A 12 0A 00
|
|
.byte $68, $10, $0C, $00, $62, $2E, $45, $50, $32, $3E, $46, $3F, $3C, $30, $48, $00 ; CPU:$AF8B PRG:2F8B 68 10 0C 00 62 2E 45 50 32 3E 46 3F 3C 30 48 00
|
|
.byte $00, $2E, $34, $2C, $2C, $20, $2C, $10, $2C, $00, $11, $FE, $36, $A0, $00, $FE ; CPU:$AF9B PRG:2F9B 00 2E 34 2C 2C 20 2C 10 2C 00 11 FE 36 A0 00 FE
|
|
.byte $3C, $1F, $00, $FE, $42, $1F, $00, $FC, $2C, $EE, $2C, $E2, $34, $E2, $32, $DE ; CPU:$AFAB PRG:2FAB 3C 1F 00 FE 42 1F 00 FC 2C EE 2C E2 34 E2 32 DE
|
|
.byte $2A, $00, $11, $DA, $06, $08, $AA, $DA, $04, $0A, $AA, $DA, $0E, $0E, $AA, $D8 ; CPU:$AFBB PRG:2FBB 2A 00 11 DA 06 08 AA DA 04 0A AA DA 0E 0E AA D8
|
|
.byte $0C, $0E, $AA, $D8, $04, $08, $AA, $D8, $06, $0A, $AA, $C8, $2C, $C8, $50, $40 ; CPU:$AFCB PRG:2FCB 0C 0E AA D8 04 08 AA D8 06 0A AA C8 2C C8 50 40
|
|
.byte $06, $BC, $50, $60, $07, $B8, $2C, $B8, $50, $A0, $07, $B4, $50, $60, $07, $B0 ; CPU:$AFDB PRG:2FDB 06 BC 50 60 07 B8 2C B8 50 A0 07 B4 50 60 07 B0
|
|
.byte $2C, $B0, $50, $A0, $08, $AC, $50, $D8, $08, $A6, $32, $A4, $0E, $14, $FF, $A2 ; CPU:$AFEB PRG:2FEB 2C B0 50 A0 08 AC 50 D8 08 A6 32 A4 0E 14 FF A2
|
|
.byte $0C, $14, $FF, $98, $50, $C0, $07, $96, $50, $80, $07, $94, $50, $60, $07, $92 ; CPU:$AFFB PRG:2FFB 0C 14 FF 98 50 C0 07 96 50 80 07 94 50 60 07 92
|
|
.byte $2C, $92, $50, $C0, $07, $7A, $32, $76, $28, $6E, $4C, $90, $18, $6E, $38, $0F ; CPU:$B00B PRG:300B 2C 92 50 C0 07 7A 32 76 28 6E 4C 90 18 6E 38 0F
|
|
.byte $0F, $6E, $3A, $0F, $0F, $6C, $26, $18, $AA, $6A, $04, $10, $AA, $68, $00, $10 ; CPU:$B01B PRG:301B 0F 6E 3A 0F 0F 6C 26 18 AA 6A 04 10 AA 68 00 10
|
|
.byte $AA, $66, $04, $10, $AA, $64, $00, $10, $AA, $62, $2C, $4A, $32, $4A, $2A, $00 ; CPU:$B02B PRG:302B AA 66 04 10 AA 64 00 10 AA 62 2C 4A 32 4A 2A 00
|
|
.byte $1A, $4A, $06, $08, $FF, $3E, $2C, $34, $2A, $07, $1A, $34, $06, $10, $AA, $30 ; CPU:$B03B PRG:303B 1A 4A 06 08 FF 3E 2C 34 2A 07 1A 34 06 10 AA 30
|
|
.byte $4C, $28, $1A, $30, $26, $1A, $FF, $2E, $32, $20, $4C, $20, $1C, $1E, $4C, $E0 ; CPU:$B04B PRG:304B 4C 28 1A 30 26 1A FF 2E 32 20 4C 20 1C 1E 4C E0
|
|
.byte $1E, $1C, $4C, $20, $1C, $18, $0E, $0E, $FF, $16, $0C, $0E, $FF, $16, $06, $08 ; CPU:$B05B PRG:305B 1E 1C 4C 20 1C 18 0E 0E FF 16 0C 0E FF 16 06 08
|
|
.byte $FF, $16, $06, $16, $FF, $00, $23, $FE, $3A, $07, $07, $F0, $2A, $27, $1A, $F0 ; CPU:$B06B PRG:306B FF 16 06 16 FF 00 23 FE 3A 07 07 F0 2A 27 1A F0
|
|
.byte $00, $0A, $FF, $F0, $04, $0C, $FF, $E8, $4C, $C4, $20, $D6, $4C, $E4, $22, $D4 ; CPU:$B07B PRG:307B 00 0A FF F0 04 0C FF E8 4C C4 20 D6 4C E4 22 D4
|
|
.byte $06, $04, $AA, $D2, $00, $02, $AA, $CA, $4C, $E4, $24, $B8, $4C, $E4, $26, $B4 ; CPU:$B08B PRG:308B 06 04 AA D2 00 02 AA CA 4C E4 24 B8 4C E4 26 B4
|
|
.byte $04, $08, $AA, $B4, $00, $06, $AA, $B0, $46, $1F, $3C, $AC, $48, $00, $00, $AA ; CPU:$B09B PRG:309B 04 08 AA B4 00 06 AA B0 46 1F 3C AC 48 00 00 AA
|
|
.byte $06, $0A, $AA, $AA, $06, $0C, $AA, $9E, $0E, $0C, $AA, $9C, $0C, $0C, $AA, $9A ; CPU:$B0AB PRG:30AB 06 0A AA AA 06 0C AA 9E 0E 0C AA 9C 0C 0C AA 9A
|
|
.byte $2C, $8A, $26, $1C, $FF, $82, $32, $7A, $1C, $08, $AA, $78, $1E, $06, $AA, $78 ; CPU:$B0BB PRG:30BB 2C 8A 26 1C FF 82 32 7A 1C 08 AA 78 1E 06 AA 78
|
|
.byte $20, $08, $AA, $78, $22, $0A, $AA, $76, $24, $08, $AA, $6E, $4E, $B8, $8C, $6A ; CPU:$B0CB PRG:30CB 20 08 AA 78 22 0A AA 76 24 08 AA 6E 4E B8 8C 6A
|
|
.byte $4E, $A0, $8A, $6A, $4E, $D0, $8A, $66, $4E, $B8, $8A, $5E, $06, $10, $FF, $5C ; CPU:$B0DB PRG:30DB 4E A0 8A 6A 4E D0 8A 66 4E B8 8A 5E 06 10 FF 5C
|
|
.byte $00, $12, $FF, $56, $4C, $EC, $28, $54, $00, $12, $FF, $4E, $00, $10, $FF, $4E ; CPU:$B0EB PRG:30EB 00 12 FF 56 4C EC 28 54 00 12 FF 4E 00 10 FF 4E
|
|
.byte $26, $02, $FF, $42, $4C, $0C, $2A, $3C, $4C, $C4, $2C, $32, $06, $12, $FF, $26 ; CPU:$B0FB PRG:30FB 26 02 FF 42 4C 0C 2A 3C 4C C4 2C 32 06 12 FF 26
|
|
.byte $00, $12, $FF, $24, $00, $0E, $FF, $22, $00, $0A, $FF, $18, $42, $3F, $00, $18 ; CPU:$B10B PRG:310B 00 12 FF 24 00 0E FF 22 00 0A FF 18 42 3F 00 18
|
|
.byte $3C, $07, $00, $14, $0E, $06, $AA, $14, $0E, $0C, $AA, $12, $0C, $06, $AA, $12 ; CPU:$B11B PRG:311B 3C 07 00 14 0E 06 AA 14 0E 0C AA 12 0C 06 AA 12
|
|
.byte $0C, $0C, $AA, $00, $00, $FE, $46, $7F, $3C, $F0, $2A, $1A, $27, $F0, $06, $10 ; CPU:$B12B PRG:312B 0C 0C AA 00 00 FE 46 7F 3C F0 2A 1A 27 F0 06 10
|
|
.byte $AA, $EE, $04, $10, $AA, $EC, $46, $3F, $3C, $CA, $4C, $60, $2E, $C8, $4C, $78 ; CPU:$B13B PRG:313B AA EE 04 10 AA EC 46 3F 3C CA 4C 60 2E C8 4C 78
|
|
.byte $30, $C4, $4C, $90, $32, $C2, $4C, $90, $34, $BE, $4C, $90, $36, $BC, $4C, $78 ; CPU:$B14B PRG:314B 30 C4 4C 90 32 C2 4C 90 34 BE 4C 90 36 BC 4C 78
|
|
.byte $38, $A0, $04, $10, $FF, $9E, $00, $12, $FF, $9E, $46, $3F, $3C, $9C, $06, $14 ; CPU:$B15B PRG:315B 38 A0 04 10 FF 9E 00 12 FF 9E 46 3F 3C 9C 06 14
|
|
.byte $FF, $9A, $04, $16, $FF, $82, $56, $1B, $00, $7E, $00, $18, $AA, $7C, $26, $04 ; CPU:$B16B PRG:316B FF 9A 04 16 FF 82 56 1B 00 7E 00 18 AA 7C 26 04
|
|
.byte $FF, $6C, $48, $00, $00, $6A, $04, $08, $FF, $6A, $06, $0E, $FF, $6A, $04, $14 ; CPU:$B17B PRG:317B FF 6C 48 00 00 6A 04 08 FF 6A 06 0E FF 6A 04 14
|
|
.byte $FF, $6A, $06, $1A, $FF, $66, $28, $50, $46, $3F, $FF, $34, $2A, $07, $27, $32 ; CPU:$B18B PRG:318B FF 6A 06 1A FF 66 28 50 46 3F FF 34 2A 07 27 32
|
|
.byte $06, $16, $AA, $32, $06, $1A, $AA, $2A, $4E, $40, $0D, $26, $4E, $60, $0E, $1C ; CPU:$B19B PRG:319B 06 16 AA 32 06 1A AA 2A 4E 40 0D 26 4E 60 0E 1C
|
|
.byte $56, $1D, $00, $1A, $56, $1D, $00, $12, $2A, $07, $1A, $12, $26, $1C, $FF, $10 ; CPU:$B1AB PRG:31AB 56 1D 00 1A 56 1D 00 12 2A 07 1A 12 26 1C FF 10
|
|
.byte $48, $00, $00, $00, $2F, $F2, $2C, $F2, $34, $EE, $2A, $1A, $27, $EE, $4C, $EC ; CPU:$B1BB PRG:31BB 48 00 00 00 2F F2 2C F2 34 EE 2A 1A 27 EE 4C EC
|
|
.byte $3A, $EA, $32, $E4, $00, $18, $AA, $E4, $00, $06, $AA, $E2, $06, $16, $AA, $E2 ; CPU:$B1CB PRG:31CB 3A EA 32 E4 00 18 AA E4 00 06 AA E2 06 16 AA E2
|
|
.byte $06, $08, $AA, $E0, $00, $14, $AA, $E0, $00, $0A, $AA, $CC, $04, $16, $AA, $C8 ; CPU:$B1DB PRG:31DB 06 08 AA E0 00 14 AA E0 00 0A AA CC 04 16 AA C8
|
|
.byte $0E, $16, $AA, $C8, $00, $14, $AA, $C8, $00, $1A, $AA, $C6, $0C, $16, $AA, $C2 ; CPU:$B1EB PRG:31EB 0E 16 AA C8 00 14 AA C8 00 1A AA C6 0C 16 AA C2
|
|
.byte $04, $16, $AA, $BA, $34, $B2, $06, $16, $AA, $AA, $2C, $A8, $4C, $5C, $3C, $A8 ; CPU:$B1FB PRG:31FB 04 16 AA BA 34 B2 06 16 AA AA 2C A8 4C 5C 3C A8
|
|
.byte $4C, $8C, $3E, $A8, $4C, $DC, $40, $9C, $32, $94, $06, $14, $AA, $94, $00, $16 ; CPU:$B20B PRG:320B 4C 8C 3E A8 4C DC 40 9C 32 94 06 14 AA 94 00 16
|
|
.byte $AA, $92, $4C, $84, $42, $92, $4C, $DC, $44, $82, $2C, $7C, $4C, $7C, $46, $78 ; CPU:$B21B PRG:321B AA 92 4C 84 42 92 4C DC 44 82 2C 7C 4C 7C 46 78
|
|
.byte $26, $02, $AA, $72, $32, $72, $00, $14, $AA, $72, $06, $16, $AA, $6C, $4C, $DC ; CPU:$B22B PRG:322B 26 02 AA 72 32 72 00 14 AA 72 06 16 AA 6C 4C DC
|
|
.byte $48, $6A, $4C, $DC, $4A, $66, $4C, $DC, $48, $64, $4E, $DC, $07, $60, $4E, $DC ; CPU:$B23B PRG:323B 48 6A 4C DC 4A 66 4C DC 48 64 4E DC 07 60 4E DC
|
|
.byte $87, $44, $4C, $70, $4C, $44, $4C, $88, $4E, $44, $4C, $A0, $50, $34, $02, $08 ; CPU:$B24B PRG:324B 87 44 4C 70 4C 44 4C 88 4E 44 4C A0 50 34 02 08
|
|
.byte $AA, $34, $02, $16, $AA, $24, $4C, $A8, $52, $22, $4C, $B8, $54, $20, $4C, $C8 ; CPU:$B25B PRG:325B AA 34 02 16 AA 24 4C A8 52 22 4C B8 54 20 4C C8
|
|
.byte $56, $1C, $4C, $6C, $58, $1A, $4C, $5C, $5A, $18, $4C, $4C, $5C, $18, $06, $10 ; CPU:$B26B PRG:326B 56 1C 4C 6C 58 1A 4C 5C 5A 18 4C 4C 5C 18 06 10
|
|
.byte $AA, $18, $06, $14, $AA, $18, $06, $18, $AA, $12, $02, $10, $AA, $12, $02, $18 ; CPU:$B27B PRG:327B AA 18 06 14 AA 18 06 18 AA 12 02 10 AA 12 02 18
|
|
.byte $AA, $00, $1E, $FC, $2E, $1F, $F4, $2A, $1A, $27, $F4, $26, $0A, $AA, $F2, $26 ; CPU:$B28B PRG:328B AA 00 1E FC 2E 1F F4 2A 1A 27 F4 26 0A AA F2 26
|
|
.byte $0E, $AA, $F0, $26, $12, $AA, $EE, $26, $16, $AA, $EA, $32, $E2, $2E, $38, $D4 ; CPU:$B29B PRG:329B 0E AA F0 26 12 AA EE 26 16 AA EA 32 E2 2E 38 D4
|
|
.byte $0E, $0C, $FF, $D2, $0C, $0C, $FF, $D0, $32, $D0, $34, $D0, $2C, $CA, $2C, $C4 ; CPU:$B2AB PRG:32AB 0E 0C FF D2 0C 0C FF D0 32 D0 34 D0 2C CA 2C C4
|
|
.byte $2E, $6F, $BC, $32, $B2, $52, $00, $00, $86, $54, $00, $00, $7C, $2E, $45, $76 ; CPU:$B2BB PRG:32BB 2E 6F BC 32 B2 52 00 00 86 54 00 00 7C 2E 45 76
|
|
.byte $2A, $27, $0A, $76, $1A, $0C, $03, $74, $18, $0A, $03, $72, $16, $0A, $00, $70 ; CPU:$B2CB PRG:32CB 2A 27 0A 76 1A 0C 03 74 18 0A 03 72 16 0A 00 70
|
|
.byte $14, $0A, $00, $6E, $12, $0A, $06, $6C, $2E, $65, $6C, $10, $0C, $00, $62, $32 ; CPU:$B2DB PRG:32DB 14 0A 00 6E 12 0A 06 6C 2E 65 6C 10 0C 00 62 32
|
|
.byte $62, $34, $5A, $2E, $65, $4A, $32, $3E, $2C, $2E, $2C, $20, $2C, $10, $32, $00 ; CPU:$B2EB PRG:32EB 62 34 5A 2E 65 4A 32 3E 2C 2E 2C 20 2C 10 32 00
|
|
.byte $02, $FE, $2C, $FE, $42, $3F, $00, $F6, $32, $F2, $34, $EE, $2C, $E2, $32, $DA ; CPU:$B2FB PRG:32FB 02 FE 2C FE 42 3F 00 F6 32 F2 34 EE 2C E2 32 DA
|
|
.byte $2C, $CE, $32, $C6, $4C, $18, $5E, $C6, $4C, $58, $60, $C6, $4C, $98, $62, $BE ; CPU:$B30B PRG:330B 2C CE 32 C6 4C 18 5E C6 4C 58 60 C6 4C 98 62 BE
|
|
.byte $4C, $38, $64, $BE, $4C, $78, $66, $B8, $4C, $28, $68, $B8, $4C, $58, $6A, $B8 ; CPU:$B31B PRG:331B 4C 38 64 BE 4C 78 66 B8 4C 28 68 B8 4C 58 6A B8
|
|
.byte $4C, $88, $6C, $A8, $2A, $1A, $27, $A8, $04, $0C, $FF, $A8, $04, $10, $FF, $A6 ; CPU:$B32B PRG:332B 4C 88 6C A8 2A 1A 27 A8 04 0C FF A8 04 10 FF A6
|
|
.byte $04, $0E, $FF, $A4, $04, $0C, $FF, $A4, $04, $10, $FF, $9A, $54, $00, $00, $8E ; CPU:$B33B PRG:333B 04 0E FF A4 04 0C FF A4 04 10 FF 9A 54 00 00 8E
|
|
.byte $06, $1A, $AA, $8C, $06, $1A, $AA, $8A, $54, $00, $00, $84, $04, $18, $AA, $84 ; CPU:$B34B PRG:334B 06 1A AA 8C 06 1A AA 8A 54 00 00 84 04 18 AA 84
|
|
.byte $04, $1A, $AA, $7A, $54, $00, $00, $6E, $06, $0A, $FF, $6E, $04, $0E, $FF, $6E ; CPU:$B35B PRG:335B 04 1A AA 7A 54 00 00 6E 06 0A FF 6E 04 0E FF 6E
|
|
.byte $06, $12, $FF, $62, $4C, $78, $6E, $46, $26, $04, $FF, $46, $26, $08, $FF, $46 ; CPU:$B36B PRG:336B 06 12 FF 62 4C 78 6E 46 26 04 FF 46 26 08 FF 46
|
|
.byte $26, $0C, $FF, $46, $26, $10, $FF, $42, $26, $04, $FF, $42, $26, $08, $FF, $42 ; CPU:$B37B PRG:337B 26 0C FF 46 26 10 FF 42 26 04 FF 42 26 08 FF 42
|
|
.byte $26, $0C, $FF, $42, $26, $10, $FF, $34, $2A, $07, $27, $32, $04, $0E, $AA, $32 ; CPU:$B38B PRG:338B 26 0C FF 42 26 10 FF 34 2A 07 27 32 04 0E AA 32
|
|
.byte $00, $12, $AA, $32, $04, $16, $AA, $28, $06, $18, $AA, $20, $2A, $07, $1A, $20 ; CPU:$B39B PRG:339B 00 12 AA 32 04 16 AA 28 06 18 AA 20 2A 07 1A 20
|
|
.byte $0A, $10, $FF, $1E, $08, $10, $FF, $1A, $0A, $10, $FF, $18, $08, $10, $FF, $16 ; CPU:$B3AB PRG:33AB 0A 10 FF 1E 08 10 FF 1A 0A 10 FF 18 08 10 FF 16
|
|
.byte $02, $04, $FF, $16, $02, $1A, $FF, $10, $02, $04, $FF, $10, $02, $1A, $FF, $00 ; CPU:$B3BB PRG:33BB 02 04 FF 16 02 1A FF 10 02 04 FF 10 02 1A FF 00
|
|
.byte $29, $FA, $56, $1D, $00, $F2, $46, $7F, $FF, $E8, $2A, $27, $1A, $E8, $1C, $14 ; CPU:$B3CB PRG:33CB 29 FA 56 1D 00 F2 46 7F FF E8 2A 27 1A E8 1C 14
|
|
.byte $FF, $E6, $1E, $12, $FF, $E6, $20, $14, $FF, $E6, $22, $16, $FF, $E4, $24, $14 ; CPU:$B3DB PRG:33DB FF E6 1E 12 FF E6 20 14 FF E6 22 16 FF E4 24 14
|
|
.byte $FF, $E2, $4C, $64, $70, $DA, $4C, $D4, $72, $CC, $4C, $D4, $74, $CC, $00, $0A ; CPU:$B3EB PRG:33EB FF E2 4C 64 70 DA 4C D4 72 CC 4C D4 74 CC 00 0A
|
|
.byte $FF, $CC, $06, $0C, $FF, $C2, $48, $00, $00, $C2, $4E, $84, $07, $BE, $4E, $84 ; CPU:$B3FB PRG:33FB FF CC 06 0C FF C2 48 00 00 C2 4E 84 07 BE 4E 84
|
|
.byte $07, $BA, $4E, $84, $07, $B6, $4E, $84, $0B, $AE, $4E, $EC, $0D, $A6, $4E, $EC ; CPU:$B40B PRG:340B 07 BA 4E 84 07 B6 4E 84 0B AE 4E EC 0D A6 4E EC
|
|
.byte $0D, $A2, $46, $7F, $3F, $9A, $2C, $88, $32, $88, $26, $12, $FF, $7C, $26, $12 ; CPU:$B41B PRG:341B 0D A2 46 7F 3F 9A 2C 88 32 88 26 12 FF 7C 26 12
|
|
.byte $FF, $7C, $46, $3F, $3F, $76, $4C, $DC, $76, $74, $06, $14, $FF, $72, $04, $12 ; CPU:$B42B PRG:342B FF 7C 46 3F 3F 76 4C DC 76 74 06 14 FF 72 04 12
|
|
.byte $FF, $72, $48, $00, $00, $70, $06, $10, $FF, $6E, $04, $0E, $FF, $6C, $06, $0C ; CPU:$B43B PRG:343B FF 72 48 00 00 70 06 10 FF 6E 04 0E FF 6C 06 0C
|
|
.byte $FF, $6A, $04, $0A, $FF, $68, $06, $08, $FF, $66, $34, $66, $04, $06, $FF, $62 ; CPU:$B44B PRG:344B FF 6A 04 0A FF 68 06 08 FF 66 34 66 04 06 FF 62
|
|
.byte $2C, $60, $2C, $52, $46, $7F, $FF, $42, $2C, $3A, $32, $28, $4C, $20, $78, $26 ; CPU:$B45B PRG:345B 2C 60 2C 52 46 7F FF 42 2C 3A 32 28 4C 20 78 26
|
|
.byte $0E, $14, $FF, $24, $0C, $14, $FF, $20, $48, $00, $00, $20, $06, $02, $FF, $20 ; CPU:$B46B PRG:346B 0E 14 FF 24 0C 14 FF 20 48 00 00 20 06 02 FF 20
|
|
.byte $06, $08, $FF, $1A, $26, $1C, $FF, $1A, $04, $02, $FF, $1A, $04, $08, $FF, $18 ; CPU:$B47B PRG:347B 06 08 FF 1A 26 1C FF 1A 04 02 FF 1A 04 08 FF 18
|
|
.byte $26, $1A, $FF, $16, $26, $18, $FF, $14, $26, $16, $FF, $12, $48, $00, $00, $00 ; CPU:$B48B PRG:348B 26 1A FF 16 26 18 FF 14 26 16 FF 12 48 00 00 00
|
|
.byte $2F, $FE, $42, $0F, $00, $FE, $3E, $0F, $00, $FE, $40, $03, $00, $FE, $44, $03 ; CPU:$B49B PRG:349B 2F FE 42 0F 00 FE 3E 0F 00 FE 40 03 00 FE 44 03
|
|
.byte $00, $F2, $34, $EE, $4C, $EC, $7A, $E4, $2A, $27, $1A, $E4, $02, $06, $FF, $E4 ; CPU:$B4AB PRG:34AB 00 F2 34 EE 4C EC 7A E4 2A 27 1A E4 02 06 FF E4
|
|
.byte $06, $08, $FF, $E4, $06, $16, $FF, $E4, $02, $18, $FF, $E2, $06, $06, $FF, $E2 ; CPU:$B4BB PRG:34BB 06 08 FF E4 06 16 FF E4 02 18 FF E2 06 06 FF E2
|
|
.byte $02, $08, $FF, $E2, $02, $16, $FF, $E2, $06, $18, $FF, $DC, $4C, $74, $7C, $CA ; CPU:$B4CB PRG:34CB 02 08 FF E2 02 16 FF E2 06 18 FF DC 4C 74 7C CA
|
|
.byte $4E, $B0, $07, $CA, $4E, $C0, $07, $C8, $4E, $B0, $07, $C8, $4E, $C0, $07, $BC ; CPU:$B4DB PRG:34DB 4E B0 07 CA 4E C0 07 C8 4E B0 07 C8 4E C0 07 BC
|
|
.byte $04, $08, $FF, $BA, $04, $08, $FF, $BA, $04, $0C, $FF, $B8, $04, $0C, $FF, $B2 ; CPU:$B4EB PRG:34EB 04 08 FF BA 04 08 FF BA 04 0C FF B8 04 0C FF B2
|
|
.byte $4C, $24, $7E, $A6, $4C, $8C, $80, $A2, $34, $A2, $4C, $DC, $7E, $A0, $4C, $DC ; CPU:$B4FB PRG:34FB 4C 24 7E A6 4C 8C 80 A2 34 A2 4C DC 7E A0 4C DC
|
|
.byte $7E, $96, $2C, $92, $4C, $84, $82, $8A, $26, $02, $FF, $8A, $26, $04, $FF, $88 ; CPU:$B50B PRG:350B 7E 96 2C 92 4C 84 82 8A 26 02 FF 8A 26 04 FF 88
|
|
.byte $26, $02, $FF, $88, $26, $04, $FF, $86, $32, $82, $2C, $76, $04, $14, $FF, $76 ; CPU:$B51B PRG:351B 26 02 FF 88 26 04 FF 86 32 82 2C 76 04 14 FF 76
|
|
.byte $06, $16, $FF, $72, $32, $72, $4C, $DC, $84, $6E, $06, $14, $FF, $6E, $04, $16 ; CPU:$B52B PRG:352B 06 16 FF 72 32 72 4C DC 84 6E 06 14 FF 6E 04 16
|
|
.byte $FF, $6A, $2C, $68, $42, $07, $00, $5A, $32, $50, $02, $0A, $FF, $44, $4C, $88 ; CPU:$B53B PRG:353B FF 6A 2C 68 42 07 00 5A 32 50 02 0A FF 44 4C 88
|
|
.byte $86, $44, $4C, $70, $88, $44, $4C, $58, $8A, $34, $06, $06, $FF, $34, $06, $08 ; CPU:$B54B PRG:354B 86 44 4C 70 88 44 4C 58 8A 34 06 06 FF 34 06 08
|
|
.byte $FF, $2E, $02, $12, $FF, $2C, $02, $14, $FF, $2A, $02, $16, $FF, $28, $02, $18 ; CPU:$B55B PRG:355B FF 2E 02 12 FF 2C 02 14 FF 2A 02 16 FF 28 02 18
|
|
.byte $FF, $24, $4E, $DC, $08, $20, $4E, $DC, $08, $1C, $4E, $DC, $08, $18, $4E, $DC ; CPU:$B56B PRG:356B FF 24 4E DC 08 20 4E DC 08 1C 4E DC 08 18 4E DC
|
|
.byte $0B, $16, $4C, $78, $8C, $16, $4C, $B8, $8E, $16, $0E, $12, $FF, $14, $0C, $12 ; CPU:$B57B PRG:357B 0B 16 4C 78 8C 16 4C B8 8E 16 0E 12 FF 14 0C 12
|
|
.byte $FF, $00, $15, $F4, $2A, $1A, $11, $F4, $02, $1A, $AA, $F0, $02, $0E, $AA, $F0 ; CPU:$B58B PRG:358B FF 00 15 F4 2A 1A 11 F4 02 1A AA F0 02 0E AA F0
|
|
.byte $02, $08, $AA, $EA, $06, $08, $AA, $E8, $06, $0A, $AA, $E6, $06, $0C, $AA, $E4 ; CPU:$B59B PRG:359B 02 08 AA EA 06 08 AA E8 06 0A AA E6 06 0C AA E4
|
|
.byte $06, $0E, $AA, $E2, $34, $E2, $02, $06, $AA, $DC, $02, $0E, $AA, $D2, $2C, $BA ; CPU:$B5AB PRG:35AB 06 0E AA E2 34 E2 02 06 AA DC 02 0E AA D2 2C BA
|
|
.byte $32, $AE, $0E, $08, $FF, $AE, $0E, $14, $FF, $AC, $0C, $08, $FF, $AC, $0C, $14 ; CPU:$B5BB PRG:35BB 32 AE 0E 08 FF AE 0E 14 FF AC 0C 08 FF AC 0C 14
|
|
.byte $FF, $A8, $2C, $9E, $50, $70, $07, $9A, $50, $90, $07, $96, $50, $B0, $0D, $92 ; CPU:$B5CB PRG:35CB FF A8 2C 9E 50 70 07 9A 50 90 07 96 50 B0 0D 92
|
|
.byte $50, $D0, $07, $90, $32, $8A, $50, $B0, $0D, $86, $50, $90, $07, $82, $50, $70 ; CPU:$B5DB PRG:35DB 50 D0 07 90 32 8A 50 B0 0D 86 50 90 07 82 50 70
|
|
.byte $07, $7E, $50, $50, $07, $78, $2C, $6C, $2A, $00, $11, $6C, $06, $06, $AA, $6A ; CPU:$B5EB PRG:35EB 07 7E 50 50 07 78 2C 6C 2A 00 11 6C 06 06 AA 6A
|
|
.byte $00, $08, $AA, $68, $06, $0A, $AA, $66, $00, $0C, $AA, $64, $06, $0E, $AA, $60 ; CPU:$B5FB PRG:35FB 00 08 AA 68 06 0A AA 66 00 0C AA 64 06 0E AA 60
|
|
.byte $32, $5C, $34, $58, $2E, $EC, $40, $32, $3E, $2A, $07, $1A, $3E, $26, $18, $FF ; CPU:$B60B PRG:360B 32 5C 34 58 2E EC 40 32 3E 2A 07 1A 3E 26 18 FF
|
|
.byte $3E, $26, $1A, $FF, $38, $2C, $32, $02, $0A, $AA, $20, $4C, $10, $90, $20, $4C ; CPU:$B61B PRG:361B 3E 26 1A FF 38 2C 32 02 0A AA 20 4C 10 90 20 4C
|
|
.byte $E0, $92, $1E, $32, $1E, $4C, $20, $94, $1E, $4C, $D0, $96, $1A, $2E, $E6, $0A ; CPU:$B62B PRG:362B E0 92 1E 32 1E 4C 20 94 1E 4C D0 96 1A 2E E6 0A
|
|
.byte $32, $00, $05, $FE, $2E, $6D, $F6, $32, $F2, $46, $3F, $FF, $EC, $2A, $1A, $0A ; CPU:$B63B PRG:363B 32 00 05 FE 2E 6D F6 32 F2 46 3F FF EC 2A 1A 0A
|
|
.byte $E6, $2E, $F1, $E6, $48, $00, $00, $E0, $1A, $0C, $03, $DE, $18, $0A, $03, $DC ; CPU:$B64B PRG:364B E6 2E F1 E6 48 00 00 E0 1A 0C 03 DE 18 0A 03 DC
|
|
.byte $16, $0A, $03, $DA, $32, $DA, $14, $0A, $03, $D8, $2E, $34, $D8, $12, $0A, $03 ; CPU:$B65B PRG:365B 16 0A 03 DA 32 DA 14 0A 03 D8 2E 34 D8 12 0A 03
|
|
.byte $D6, $10, $0C, $03, $D4, $32, $CA, $2E, $49, $C4, $32, $BA, $2E, $3E, $AA, $32 ; CPU:$B66B PRG:366B D6 10 0C 03 D4 32 CA 2E 49 C4 32 BA 2E 3E AA 32
|
|
.byte $A0, $52, $00, $00, $7E, $2E, $46, $7A, $32, $70, $54, $00, $00, $66, $2E, $66 ; CPU:$B67B PRG:367B A0 52 00 00 7E 2E 46 7A 32 70 54 00 00 66 2E 66
|
|
.byte $66, $2A, $1A, $27, $66, $1A, $0C, $00, $64, $32, $64, $18, $0A, $00, $62, $16 ; CPU:$B68B PRG:368B 66 2A 1A 27 66 1A 0C 00 64 32 64 18 0A 00 62 16
|
|
.byte $0A, $00, $60, $14, $0A, $00, $5E, $12, $0A, $00, $5C, $2E, $21, $5C, $10, $0C ; CPU:$B69B PRG:369B 0A 00 60 14 0A 00 5E 12 0A 00 5C 2E 21 5C 10 0C
|
|
.byte $00, $54, $32, $4A, $2C, $3A, $32, $34, $34, $34, $2A, $07, $00, $30, $2C, $20 ; CPU:$B6AB PRG:36AB 00 54 32 4A 2C 3A 32 34 34 34 2A 07 00 30 2C 20
|
|
.byte $32, $1A, $2C, $0A, $32, $00, $24, $FE, $2E, $08, $F2, $32, $F0, $2A, $27, $1A ; CPU:$B6BB PRG:36BB 32 1A 2C 0A 32 00 24 FE 2E 08 F2 32 F0 2A 27 1A
|
|
.byte $F0, $26, $02, $FF, $EC, $4C, $B4, $98, $EC, $00, $10, $FF, $E4, $4C, $B4, $9A ; CPU:$B6CB PRG:36CB F0 26 02 FF EC 4C B4 98 EC 00 10 FF E4 4C B4 9A
|
|
.byte $E2, $06, $10, $FF, $DC, $4C, $B4, $9C, $D6, $4C, $D4, $9E, $D4, $06, $04, $AA ; CPU:$B6DB PRG:36DB E2 06 10 FF DC 4C B4 9C D6 4C D4 9E D4 06 04 AA
|
|
.byte $D2, $06, $02, $AA, $D0, $00, $16, $FF, $CA, $4C, $D4, $A0, $C4, $06, $16, $FF ; CPU:$B6EB PRG:36EB D2 06 02 AA D0 00 16 FF CA 4C D4 A0 C4 06 16 FF
|
|
.byte $C0, $4C, $D4, $A2, $BC, $4E, $D4, $07, $B8, $4E, $D4, $0D, $B4, $06, $04, $AA ; CPU:$B6FB PRG:36FB C0 4C D4 A2 BC 4E D4 07 B8 4E D4 0D B4 06 04 AA
|
|
.byte $B4, $00, $06, $AA, $B4, $26, $16, $FF, $B0, $2C, $A8, $26, $0A, $AA, $A0, $2C ; CPU:$B70B PRG:370B B4 00 06 AA B4 26 16 FF B0 2C A8 26 0A AA A0 2C
|
|
.byte $9E, $00, $0A, $AA, $9E, $06, $0C, $AA, $90, $32, $88, $2C, $78, $32, $78, $0E ; CPU:$B71B PRG:371B 9E 00 0A AA 9E 06 0C AA 90 32 88 2C 78 32 78 0E
|
|
.byte $04, $AA, $76, $0C, $04, $AA, $76, $4C, $88, $A4, $76, $4C, $E8, $A6, $6C, $4C ; CPU:$B72B PRG:372B 04 AA 76 0C 04 AA 76 4C 88 A4 76 4C E8 A6 6C 4C
|
|
.byte $90, $A8, $6C, $4C, $E0, $AA, $5E, $4C, $44, $AC, $5C, $06, $10, $FF, $5A, $26 ; CPU:$B73B PRG:373B 90 A8 6C 4C E0 AA 5E 4C 44 AC 5C 06 10 FF 5A 26
|
|
.byte $1C, $FF, $58, $00, $14, $FF, $54, $06, $18, $FF, $4C, $4C, $44, $AE, $44, $4C ; CPU:$B74B PRG:374B 1C FF 58 00 14 FF 54 06 18 FF 4C 4C 44 AE 44 4C
|
|
.byte $00, $B0, $42, $4C, $B4, $B2, $38, $00, $08, $FF, $34, $06, $0C, $FF, $1E, $02 ; CPU:$B75B PRG:375B 00 B0 42 4C B4 B2 38 00 08 FF 34 06 0C FF 1E 02
|
|
.byte $0E, $FF, $1E, $02, $12, $FF, $1E, $02, $16, $FF, $1A, $2E, $3F, $1A, $02, $12 ; CPU:$B76B PRG:376B 0E FF 1E 02 12 FF 1E 02 16 FF 1A 2E 3F 1A 02 12
|
|
.byte $FF, $1A, $4E, $D4, $07, $16, $4E, $D4, $0D, $14, $0E, $06, $AA, $12, $0C, $06 ; CPU:$B77B PRG:377B FF 1A 4E D4 07 16 4E D4 0D 14 0E 06 AA 12 0C 06
|
|
.byte $AA, $12, $4E, $D4, $0D, $0C, $32, $00, $30, $FE, $34, $FE, $2C, $F0, $2A, $27 ; CPU:$B78B PRG:378B AA 12 4E D4 0D 0C 32 00 30 FE 34 FE 2C F0 2A 27
|
|
.byte $1A, $F0, $26, $1C, $FF, $EE, $32, $E6, $4C, $64, $B4, $E4, $02, $14, $FF, $E0 ; CPU:$B79B PRG:379B 1A F0 26 1C FF EE 32 E6 4C 64 B4 E4 02 14 FF E0
|
|
.byte $4C, $DC, $B6, $DC, $4C, $64, $B6, $D6, $02, $12, $FF, $D6, $02, $16, $FF, $D6 ; CPU:$B7AB PRG:37AB 4C DC B6 DC 4C 64 B6 D6 02 12 FF D6 02 16 FF D6
|
|
.byte $4C, $DC, $B6, $D2, $4C, $64, $B6, $D2, $02, $14, $FF, $CC, $4C, $DC, $B6, $CA ; CPU:$B7BB PRG:37BB 4C DC B6 D2 4C 64 B6 D2 02 14 FF CC 4C DC B6 CA
|
|
.byte $00, $06, $FF, $CA, $00, $14, $FF, $C6, $4C, $64, $B8, $C6, $4C, $DC, $BA, $C4 ; CPU:$B7CB PRG:37CB 00 06 FF CA 00 14 FF C6 4C 64 B8 C6 4C DC BA C4
|
|
.byte $34, $C2, $2C, $BA, $4E, $94, $0D, $BA, $4E, $B0, $0D, $B6, $4E, $94, $0E, $B6 ; CPU:$B7DB PRG:37DB 34 C2 2C BA 4E 94 0D BA 4E B0 0D B6 4E 94 0E B6
|
|
.byte $4E, $B0, $0D, $B2, $2C, $A2, $2C, $94, $06, $12, $FF, $92, $32, $92, $06, $14 ; CPU:$B7EB PRG:37EB 4E B0 0D B2 2C A2 2C 94 06 12 FF 92 32 92 06 14
|
|
.byte $FF, $90, $06, $14, $FF, $8E, $06, $16, $FF, $84, $2C, $7C, $00, $04, $FF, $7C ; CPU:$B7FB PRG:37FB FF 90 06 14 FF 8E 06 16 FF 84 2C 7C 00 04 FF 7C
|
|
.byte $00, $12, $FF, $7C, $00, $16, $FF, $78, $00, $08, $FF, $78, $00, $14, $FF, $78 ; CPU:$B80B PRG:380B 00 12 FF 7C 00 16 FF 78 00 08 FF 78 00 14 FF 78
|
|
.byte $00, $1C, $FF, $6E, $0E, $10, $FF, $6E, $4E, $CC, $0D, $6C, $0C, $10, $FF, $6A ; CPU:$B81B PRG:381B 00 1C FF 6E 0E 10 FF 6E 4E CC 0D 6C 0C 10 FF 6A
|
|
.byte $32, $6A, $4E, $CC, $0D, $66, $26, $0A, $FF, $64, $26, $0C, $FF, $62, $2C, $52 ; CPU:$B82B PRG:382B 32 6A 4E CC 0D 66 26 0A FF 64 26 0C FF 62 2C 52
|
|
.byte $32, $4E, $00, $10, $FF, $4C, $06, $12, $FF, $4A, $4C, $CC, $BC, $42, $02, $12 ; CPU:$B83B PRG:383B 32 4E 00 10 FF 4C 06 12 FF 4A 4C CC BC 42 02 12
|
|
.byte $FF, $3C, $02, $04, $FF, $3A, $26, $12, $FF, $3A, $02, $1C, $FF, $36, $02, $12 ; CPU:$B84B PRG:384B FF 3C 02 04 FF 3A 26 12 FF 3A 02 1C FF 36 02 12
|
|
.byte $FF, $34, $4C, $64, $BE, $34, $4C, $CC, $BE, $30, $2E, $E6, $22, $4C, $A8, $C0 ; CPU:$B85B PRG:385B FF 34 4C 64 BE 34 4C CC BE 30 2E E6 22 4C A8 C0
|
|
.byte $22, $4C, $CC, $C2, $20, $32, $1C, $4C, $CC, $C4, $16, $0E, $0E, $FF, $16, $0E ; CPU:$B86B PRG:386B 22 4C CC C2 20 32 1C 4C CC C4 16 0E 0E FF 16 0E
|
|
.byte $12, $FF, $14, $2E, $7E, $14, $0C, $0E, $FF, $14, $0C, $12, $FF, $0C, $32, $0C ; CPU:$B87B PRG:387B 12 FF 14 2E 7E 14 0C 0E FF 14 0C 12 FF 0C 32 0C
|
|
.byte $38, $03, $00, $0C, $3A, $03, $00, $0C, $3E, $07, $00, $0C, $3C, $07, $00, $0C ; CPU:$B88B PRG:388B 38 03 00 0C 3A 03 00 0C 3E 07 00 0C 3C 07 00 0C
|
|
.byte $36, $C0, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $AA, $AA, $AA, $FF, $FF, $FF ; CPU:$B89B PRG:389B 36 C0 00 00 FF FF FF FF FF FF AA AA AA FF FF FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetOamPtrs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetOamPtrs:
|
|
lda #$00 ; CPU:$B8AB PRG:38AB A9 00
|
|
sta ZpF0 ; CPU:$B8AD PRG:38AD 85 F0
|
|
lda #$06 ; CPU:$B8AF PRG:38AF A9 06
|
|
sta ZpF1 ; CPU:$B8B1 PRG:38B1 85 F1
|
|
lda #$20 ; CPU:$B8B3 PRG:38B3 A9 20
|
|
sta ZpF2 ; CPU:$B8B5 PRG:38B5 85 F2
|
|
lda #$06 ; CPU:$B8B7 PRG:38B7 A9 06
|
|
sta ZpF3 ; CPU:$B8B9 PRG:38B9 85 F3
|
|
lda $BB6D ; CPU:$B8BB PRG:38BB AD 6D BB
|
|
sta ZpF4 ; CPU:$B8BE PRG:38BE 85 F4
|
|
lda $BB6E ; CPU:$B8C0 PRG:38C0 AD 6E BB
|
|
sta ZpF5 ; CPU:$B8C3 PRG:38C3 85 F5
|
|
lda #$40 ; CPU:$B8C5 PRG:38C5 A9 40
|
|
sta ZpF7 ; CPU:$B8C7 PRG:38C7 85 F7
|
|
lda #$1F ; CPU:$B8C9 PRG:38C9 A9 1F
|
|
sta APUSTATUS ; CPU:$B8CB PRG:38CB 8D 15 40
|
|
lda #$C0 ; CPU:$B8CE PRG:38CE A9 C0
|
|
sta $4017 ; CPU:$B8D0 PRG:38D0 8D 17 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearOamInit
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearOamInit:
|
|
ldy #$00 ; CPU:$B8D3 PRG:38D3 A0 00
|
|
lda #$00 ; CPU:$B8D5 PRG:38D5 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B8D7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B8D7:
|
|
sta (ZpF0),y ; CPU:$B8D7 PRG:38D7 91 F0
|
|
iny ; CPU:$B8D9 PRG:38D9 C8
|
|
cpy #$14 ; CPU:$B8DA PRG:38DA C0 14
|
|
bne Sub_B8D7 ; CPU:$B8DC PRG:38DC D0 F9
|
|
ldy #$00 ; CPU:$B8DE PRG:38DE A0 00
|
|
ldx #$14 ; CPU:$B8E0 PRG:38E0 A2 14
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B8E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B8E2:
|
|
lda #$00 ; CPU:$B8E2 PRG:38E2 A9 00
|
|
sta (ZpF2),y ; CPU:$B8E4 PRG:38E4 91 F2
|
|
tya ; CPU:$B8E6 PRG:38E6 98
|
|
clc ; CPU:$B8E7 PRG:38E7 18
|
|
adc #$08 ; CPU:$B8E8 PRG:38E8 69 08
|
|
tay ; CPU:$B8EA PRG:38EA A8
|
|
dex ; CPU:$B8EB PRG:38EB CA
|
|
bne Sub_B8E2 ; CPU:$B8EC PRG:38EC D0 F4
|
|
rts ; CPU:$B8EE PRG:38EE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearZpVars
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearZpVars:
|
|
lda #$00 ; CPU:$B8EF PRG:38EF A9 00
|
|
sta ZpF8 ; CPU:$B8F1 PRG:38F1 85 F8
|
|
sta ZpF9 ; CPU:$B8F3 PRG:38F3 85 F9
|
|
sta ZpFA ; CPU:$B8F5 PRG:38F5 85 FA
|
|
sta ZpFB ; CPU:$B8F7 PRG:38F7 85 FB
|
|
sta ZpFD ; CPU:$B8F9 PRG:38F9 85 FD
|
|
sta ZpFF ; CPU:$B8FB PRG:38FB 85 FF
|
|
lda #$F8 ; CPU:$B8FD PRG:38FD A9 F8
|
|
sta ZpFE ; CPU:$B8FF PRG:38FF 85 FE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B901
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B901:
|
|
ldy ZpFD ; CPU:$B901 PRG:3901 A4 FD
|
|
lda (ZpF2),y ; CPU:$B903 PRG:3903 B1 F2
|
|
beq OamEntryDone ; CPU:$B905 PRG:3905 F0 44
|
|
cmp #$05 ; CPU:$B907 PRG:3907 C9 05
|
|
bcc Sub_B916 ; CPU:$B909 PRG:3909 90 0B
|
|
sec ; CPU:$B90B PRG:390B 38
|
|
sbc #$05 ; CPU:$B90C PRG:390C E9 05
|
|
tay ; CPU:$B90E PRG:390E A8
|
|
lda #$01 ; CPU:$B90F PRG:390F A9 01
|
|
sta (ZpFE),y ; CPU:$B911 PRG:3911 91 FE
|
|
jmp OamEntryDone ; CPU:$B913 PRG:3913 4C 4B B9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B916
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B916:
|
|
sec ; CPU:$B916 PRG:3916 38
|
|
sbc #$01 ; CPU:$B917 PRG:3917 E9 01
|
|
tay ; CPU:$B919 PRG:3919 A8
|
|
lda (ZpFE),y ; CPU:$B91A PRG:391A B1 FE
|
|
bne OamEntryDone ; CPU:$B91C PRG:391C D0 2D
|
|
lda #$01 ; CPU:$B91E PRG:391E A9 01
|
|
sta (ZpFE),y ; CPU:$B920 PRG:3920 91 FE
|
|
tya ; CPU:$B922 PRG:3922 98
|
|
tax ; CPU:$B923 PRG:3923 AA
|
|
cmp #$03 ; CPU:$B924 PRG:3924 C9 03
|
|
bne Sub_B92D ; CPU:$B926 PRG:3926 D0 05
|
|
lda #$00 ; CPU:$B928 PRG:3928 A9 00
|
|
jmp WriteOamAttr ; CPU:$B92A PRG:392A 4C 30 B9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B92D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B92D:
|
|
clc ; CPU:$B92D PRG:392D 18
|
|
adc #$05 ; CPU:$B92E PRG:392E 69 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: WriteOamAttr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
WriteOamAttr:
|
|
ldy ZpFD ; CPU:$B930 PRG:3930 A4 FD
|
|
sta (ZpF2),y ; CPU:$B932 PRG:3932 91 F2
|
|
txa ; CPU:$B934 PRG:3934 8A
|
|
asl a ; CPU:$B935 PRG:3935 0A
|
|
asl a ; CPU:$B936 PRG:3936 0A
|
|
sta ZpF6 ; CPU:$B937 PRG:3937 85 F6
|
|
ldx #$00 ; CPU:$B939 PRG:3939 A2 00
|
|
lda #$04 ; CPU:$B93B PRG:393B A9 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B93D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B93D:
|
|
pha ; CPU:$B93D PRG:393D 48
|
|
iny ; CPU:$B93E PRG:393E C8
|
|
lda (ZpF2),y ; CPU:$B93F PRG:393F B1 F2
|
|
sta (ZpF6,x) ; CPU:$B941 PRG:3941 81 F6
|
|
inc ZpF6 ; CPU:$B943 PRG:3943 E6 F6
|
|
pla ; CPU:$B945 PRG:3945 68
|
|
sec ; CPU:$B946 PRG:3946 38
|
|
sbc #$01 ; CPU:$B947 PRG:3947 E9 01
|
|
bne Sub_B93D ; CPU:$B949 PRG:3949 D0 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: OamEntryDone
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
OamEntryDone:
|
|
lda ZpFD ; CPU:$B94B PRG:394B A5 FD
|
|
clc ; CPU:$B94D PRG:394D 18
|
|
adc #$08 ; CPU:$B94E PRG:394E 69 08
|
|
sta ZpFD ; CPU:$B950 PRG:3950 85 FD
|
|
cmp #$A0 ; CPU:$B952 PRG:3952 C9 A0
|
|
bcc Sub_B901 ; CPU:$B954 PRG:3954 90 AB
|
|
ldy #$00 ; CPU:$B956 PRG:3956 A0 00
|
|
sty ZpFC ; CPU:$B958 PRG:3958 84 FC
|
|
sty ZpFD ; CPU:$B95A PRG:395A 84 FD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: UpdateOamSprite
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
UpdateOamSprite:
|
|
lda $BB97 ; CPU:$B95C PRG:395C AD 97 BB
|
|
sta ZpFE ; CPU:$B95F PRG:395F 85 FE
|
|
lda $BB98 ; CPU:$B961 PRG:3961 AD 98 BB
|
|
sta ZpFF ; CPU:$B964 PRG:3964 85 FF
|
|
ldy ZpFC ; CPU:$B966 PRG:3966 A4 FC
|
|
lda (ZpFE),y ; CPU:$B968 PRG:3968 B1 FE
|
|
beq Sub_B985 ; CPU:$B96A PRG:396A F0 19
|
|
ldy ZpFC ; CPU:$B96C PRG:396C A4 FC
|
|
lda (ZpF0),y ; CPU:$B96E PRG:396E B1 F0
|
|
beq Sub_B979 ; CPU:$B970 PRG:3970 F0 07
|
|
lda #$00 ; CPU:$B972 PRG:3972 A9 00
|
|
sta (ZpF0),y ; CPU:$B974 PRG:3974 91 F0
|
|
jmp ProcessSpriteList ; CPU:$B976 PRG:3976 4C 94 B9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B979
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B979:
|
|
ldy ZpFD ; CPU:$B979 PRG:3979 A4 FD
|
|
lda (ZpF2),y ; CPU:$B97B PRG:397B B1 F2
|
|
bne Sub_B982 ; CPU:$B97D PRG:397D D0 03
|
|
jmp SpriteListDone ; CPU:$B97F PRG:397F 4C 65 BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B982
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B982:
|
|
jmp SetSpriteActive ; CPU:$B982 PRG:3982 4C 00 BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B985
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B985:
|
|
ldy ZpFC ; CPU:$B985 PRG:3985 A4 FC
|
|
lda (ZpF0),y ; CPU:$B987 PRG:3987 B1 F0
|
|
bne Sub_B98E ; CPU:$B989 PRG:3989 D0 03
|
|
jmp SpriteListDone ; CPU:$B98B PRG:398B 4C 65 BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_B98E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_B98E:
|
|
ldy ZpFD ; CPU:$B98E PRG:398E A4 FD
|
|
lda (ZpF2),y ; CPU:$B990 PRG:3990 B1 F2
|
|
bne SetSpriteActive ; CPU:$B992 PRG:3992 D0 6C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ProcessSpriteList
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ProcessSpriteList:
|
|
lda ZpFC ; CPU:$B994 PRG:3994 A5 FC
|
|
asl a ; CPU:$B996 PRG:3996 0A
|
|
tay ; CPU:$B997 PRG:3997 A8
|
|
lda (ZpF4),y ; CPU:$B998 PRG:3998 B1 F4
|
|
pha ; CPU:$B99A PRG:399A 48
|
|
lda ZpFD ; CPU:$B99B PRG:399B A5 FD
|
|
adc #$05 ; CPU:$B99D PRG:399D 69 05
|
|
tay ; CPU:$B99F PRG:399F A8
|
|
pla ; CPU:$B9A0 PRG:39A0 68
|
|
sta (ZpF2),y ; CPU:$B9A1 PRG:39A1 91 F2
|
|
lda ZpFC ; CPU:$B9A3 PRG:39A3 A5 FC
|
|
asl a ; CPU:$B9A5 PRG:39A5 0A
|
|
adc #$01 ; CPU:$B9A6 PRG:39A6 69 01
|
|
tay ; CPU:$B9A8 PRG:39A8 A8
|
|
lda (ZpF4),y ; CPU:$B9A9 PRG:39A9 B1 F4
|
|
pha ; CPU:$B9AB PRG:39AB 48
|
|
lda ZpFD ; CPU:$B9AC PRG:39AC A5 FD
|
|
adc #$06 ; CPU:$B9AE PRG:39AE 69 06
|
|
tay ; CPU:$B9B0 PRG:39B0 A8
|
|
pla ; CPU:$B9B1 PRG:39B1 68
|
|
sta (ZpF2),y ; CPU:$B9B2 PRG:39B2 91 F2
|
|
jsr CalcOamPtr ; CPU:$B9B4 PRG:39B4 20 30 BB
|
|
ldy ZpFD ; CPU:$B9B7 PRG:39B7 A4 FD
|
|
sta (ZpF2),y ; CPU:$B9B9 PRG:39B9 91 F2
|
|
jsr CalcOamPtr ; CPU:$B9BB PRG:39BB 20 30 BB
|
|
tax ; CPU:$B9BE PRG:39BE AA
|
|
lda ZpFD ; CPU:$B9BF PRG:39BF A5 FD
|
|
clc ; CPU:$B9C1 PRG:39C1 18
|
|
adc #$01 ; CPU:$B9C2 PRG:39C2 69 01
|
|
tay ; CPU:$B9C4 PRG:39C4 A8
|
|
txa ; CPU:$B9C5 PRG:39C5 8A
|
|
sta (ZpF2),y ; CPU:$B9C6 PRG:39C6 91 F2
|
|
jsr CalcOamPtr ; CPU:$B9C8 PRG:39C8 20 30 BB
|
|
tax ; CPU:$B9CB PRG:39CB AA
|
|
lda ZpFD ; CPU:$B9CC PRG:39CC A5 FD
|
|
clc ; CPU:$B9CE PRG:39CE 18
|
|
adc #$02 ; CPU:$B9CF PRG:39CF 69 02
|
|
tay ; CPU:$B9D1 PRG:39D1 A8
|
|
txa ; CPU:$B9D2 PRG:39D2 8A
|
|
sta (ZpF2),y ; CPU:$B9D3 PRG:39D3 91 F2
|
|
jsr CalcOamPtr ; CPU:$B9D5 PRG:39D5 20 30 BB
|
|
tax ; CPU:$B9D8 PRG:39D8 AA
|
|
lda ZpFD ; CPU:$B9D9 PRG:39D9 A5 FD
|
|
clc ; CPU:$B9DB PRG:39DB 18
|
|
adc #$04 ; CPU:$B9DC PRG:39DC 69 04
|
|
tay ; CPU:$B9DE PRG:39DE A8
|
|
txa ; CPU:$B9DF PRG:39DF 8A
|
|
sta (ZpF2),y ; CPU:$B9E0 PRG:39E0 91 F2
|
|
ldy ZpFD ; CPU:$B9E2 PRG:39E2 A4 FD
|
|
lda (ZpF2),y ; CPU:$B9E4 PRG:39E4 B1 F2
|
|
cmp #$04 ; CPU:$B9E6 PRG:39E6 C9 04
|
|
bne SetSpriteAttr ; CPU:$B9E8 PRG:39E8 D0 25
|
|
jsr CalcOamPtr ; CPU:$B9EA PRG:39EA 20 30 BB
|
|
tax ; CPU:$B9ED PRG:39ED AA
|
|
lda ZpFD ; CPU:$B9EE PRG:39EE A5 FD
|
|
clc ; CPU:$B9F0 PRG:39F0 18
|
|
adc #$03 ; CPU:$B9F1 PRG:39F1 69 03
|
|
tay ; CPU:$B9F3 PRG:39F3 A8
|
|
txa ; CPU:$B9F4 PRG:39F4 8A
|
|
sta (ZpF2),y ; CPU:$B9F5 PRG:39F5 91 F2
|
|
ldy ZpFC ; CPU:$B9F7 PRG:39F7 A4 FC
|
|
lda #$00 ; CPU:$B9F9 PRG:39F9 A9 00
|
|
sta (ZpF0),y ; CPU:$B9FB PRG:39FB 91 F0
|
|
jmp SpriteListDone ; CPU:$B9FD PRG:39FD 4C 65 BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetSpriteActive
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetSpriteActive:
|
|
lda ZpFD ; CPU:$BA00 PRG:3A00 A5 FD
|
|
clc ; CPU:$BA02 PRG:3A02 18
|
|
adc #$07 ; CPU:$BA03 PRG:3A03 69 07
|
|
tay ; CPU:$BA05 PRG:3A05 A8
|
|
lda (ZpF2),y ; CPU:$BA06 PRG:3A06 B1 F2
|
|
sec ; CPU:$BA08 PRG:3A08 38
|
|
sbc #$01 ; CPU:$BA09 PRG:3A09 E9 01
|
|
sta (ZpF2),y ; CPU:$BA0B PRG:3A0B 91 F2
|
|
bne SpriteListDone ; CPU:$BA0D PRG:3A0D D0 56
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetSpriteAttr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetSpriteAttr:
|
|
jsr CalcOamPtr ; CPU:$BA0F PRG:3A0F 20 30 BB
|
|
cmp #$F0 ; CPU:$BA12 PRG:3A12 C9 F0
|
|
bcs Sub_BA7A ; CPU:$BA14 PRG:3A14 B0 64
|
|
cmp #$C0 ; CPU:$BA16 PRG:3A16 C9 C0
|
|
bcs Sub_BA58 ; CPU:$BA18 PRG:3A18 B0 3E
|
|
pha ; CPU:$BA1A PRG:3A1A 48
|
|
and #$F0 ; CPU:$BA1B PRG:3A1B 29 F0
|
|
lsr a ; CPU:$BA1D PRG:3A1D 4A
|
|
lsr a ; CPU:$BA1E PRG:3A1E 4A
|
|
lsr a ; CPU:$BA1F PRG:3A1F 4A
|
|
tax ; CPU:$BA20 PRG:3A20 AA
|
|
lda $BB55,x ; CPU:$BA21 PRG:3A21 BD 55 BB
|
|
sta ZpFE ; CPU:$BA24 PRG:3A24 85 FE
|
|
lda $BB56,x ; CPU:$BA26 PRG:3A26 BD 56 BB
|
|
sta ZpFF ; CPU:$BA29 PRG:3A29 85 FF
|
|
pla ; CPU:$BA2B PRG:3A2B 68
|
|
and #$0F ; CPU:$BA2C PRG:3A2C 29 0F
|
|
beq Sub_BA38 ; CPU:$BA2E PRG:3A2E F0 08
|
|
tax ; CPU:$BA30 PRG:3A30 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BA31
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BA31:
|
|
lsr ZpFE ; CPU:$BA31 PRG:3A31 46 FE
|
|
ror ZpFF ; CPU:$BA33 PRG:3A33 66 FF
|
|
dex ; CPU:$BA35 PRG:3A35 CA
|
|
bne Sub_BA31 ; CPU:$BA36 PRG:3A36 D0 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BA38
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BA38:
|
|
lda ZpFD ; CPU:$BA38 PRG:3A38 A5 FD
|
|
clc ; CPU:$BA3A PRG:3A3A 18
|
|
adc #$04 ; CPU:$BA3B PRG:3A3B 69 04
|
|
tay ; CPU:$BA3D PRG:3A3D A8
|
|
lda (ZpF2),y ; CPU:$BA3E PRG:3A3E B1 F2
|
|
and #$F8 ; CPU:$BA40 PRG:3A40 29 F8
|
|
ora ZpFE ; CPU:$BA42 PRG:3A42 05 FE
|
|
sta (ZpF2),y ; CPU:$BA44 PRG:3A44 91 F2
|
|
lda ZpFF ; CPU:$BA46 PRG:3A46 A5 FF
|
|
dey ; CPU:$BA48 PRG:3A48 88
|
|
sta (ZpF2),y ; CPU:$BA49 PRG:3A49 91 F2
|
|
ldy ZpFD ; CPU:$BA4B PRG:3A4B A4 FD
|
|
lda (ZpF2),y ; CPU:$BA4D PRG:3A4D B1 F2
|
|
cmp #$05 ; CPU:$BA4F PRG:3A4F C9 05
|
|
bcc Sub_BA58 ; CPU:$BA51 PRG:3A51 90 05
|
|
sec ; CPU:$BA53 PRG:3A53 38
|
|
sbc #$04 ; CPU:$BA54 PRG:3A54 E9 04
|
|
sta (ZpF2),y ; CPU:$BA56 PRG:3A56 91 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BA58
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BA58:
|
|
jsr CalcOamPtr ; CPU:$BA58 PRG:3A58 20 30 BB
|
|
pha ; CPU:$BA5B PRG:3A5B 48
|
|
lda ZpFD ; CPU:$BA5C PRG:3A5C A5 FD
|
|
clc ; CPU:$BA5E PRG:3A5E 18
|
|
adc #$07 ; CPU:$BA5F PRG:3A5F 69 07
|
|
tay ; CPU:$BA61 PRG:3A61 A8
|
|
pla ; CPU:$BA62 PRG:3A62 68
|
|
sta (ZpF2),y ; CPU:$BA63 PRG:3A63 91 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SpriteListDone
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SpriteListDone:
|
|
lda ZpFD ; CPU:$BA65 PRG:3A65 A5 FD
|
|
clc ; CPU:$BA67 PRG:3A67 18
|
|
adc #$08 ; CPU:$BA68 PRG:3A68 69 08
|
|
sta ZpFD ; CPU:$BA6A PRG:3A6A 85 FD
|
|
lda ZpFC ; CPU:$BA6C PRG:3A6C A5 FC
|
|
adc #$01 ; CPU:$BA6E PRG:3A6E 69 01
|
|
sta ZpFC ; CPU:$BA70 PRG:3A70 85 FC
|
|
cmp #$14 ; CPU:$BA72 PRG:3A72 C9 14
|
|
bcs Sub_BA79 ; CPU:$BA74 PRG:3A74 B0 03
|
|
jmp UpdateOamSprite ; CPU:$BA76 PRG:3A76 4C 5C B9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BA79
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BA79:
|
|
rts ; CPU:$BA79 PRG:3A79 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BA7A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BA7A:
|
|
and #$0F ; CPU:$BA7A PRG:3A7A 29 0F
|
|
asl a ; CPU:$BA7C PRG:3A7C 0A
|
|
tax ; CPU:$BA7D PRG:3A7D AA
|
|
lda $BA8B,x ; CPU:$BA7E PRG:3A7E BD 8B BA
|
|
sta ZpFE ; CPU:$BA81 PRG:3A81 85 FE
|
|
lda $BA8C,x ; CPU:$BA83 PRG:3A83 BD 8C BA
|
|
sta ZpFF ; CPU:$BA86 PRG:3A86 85 FF
|
|
jmp ($00FE) ; CPU:$BA88 PRG:3A88 6C FE 00
|
|
IndDispatchFeTable:
|
|
; 16-entry indirect jump table for `jmp ($fe)` at $BA88, read by lda $BA8B,x/$BA8C,x
|
|
; ---- data $BA8B-$BAAA (32 bytes) ----
|
|
; referenced by `lda $BA8B,x` at $BA7E (operand $BA8B falls inside this region)
|
|
; referenced by `lda $BA8C,x` at $BA83 (operand $BA8C falls inside this region)
|
|
.byte $AB, $BA, $B8, $BA, $D0, $BA, $E8, $BA, $00, $BB, $10, $BB, $20, $BB, $AB, $BA ; CPU:$BA8B PRG:3A8B AB BA B8 BA D0 BA E8 BA 00 BB 10 BB 20 BB AB BA
|
|
.byte $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA, $AB, $BA ; CPU:$BA9B PRG:3A9B AB BA AB BA AB BA AB BA AB BA AB BA AB BA AB BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrZero
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrZero:
|
|
ldy ZpFC ; CPU:$BAAB PRG:3AAB A4 FC
|
|
lda #$00 ; CPU:$BAAD PRG:3AAD A9 00
|
|
sta (ZpF0),y ; CPU:$BAAF PRG:3AAF 91 F0
|
|
ldy ZpFD ; CPU:$BAB1 PRG:3AB1 A4 FD
|
|
sta (ZpF2),y ; CPU:$BAB3 PRG:3AB3 91 F2
|
|
jmp SpriteListDone ; CPU:$BAB5 PRG:3AB5 4C 65 BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrBit6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrBit6:
|
|
jsr CalcOamPtr ; CPU:$BAB8 PRG:3AB8 20 30 BB
|
|
pha ; CPU:$BABB PRG:3ABB 48
|
|
lda ZpFD ; CPU:$BABC PRG:3ABC A5 FD
|
|
clc ; CPU:$BABE PRG:3ABE 18
|
|
adc #$01 ; CPU:$BABF PRG:3ABF 69 01
|
|
tay ; CPU:$BAC1 PRG:3AC1 A8
|
|
lda (ZpF2),y ; CPU:$BAC2 PRG:3AC2 B1 F2
|
|
and #$3F ; CPU:$BAC4 PRG:3AC4 29 3F
|
|
sta (ZpF2),y ; CPU:$BAC6 PRG:3AC6 91 F2
|
|
pla ; CPU:$BAC8 PRG:3AC8 68
|
|
ora (ZpF2),y ; CPU:$BAC9 PRG:3AC9 11 F2
|
|
sta (ZpF2),y ; CPU:$BACB PRG:3ACB 91 F2
|
|
jmp SetSpriteAttr ; CPU:$BACD PRG:3ACD 4C 0F BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrClear67
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrClear67:
|
|
jsr CalcOamPtr ; CPU:$BAD0 PRG:3AD0 20 30 BB
|
|
pha ; CPU:$BAD3 PRG:3AD3 48
|
|
lda ZpFD ; CPU:$BAD4 PRG:3AD4 A5 FD
|
|
clc ; CPU:$BAD6 PRG:3AD6 18
|
|
adc #$01 ; CPU:$BAD7 PRG:3AD7 69 01
|
|
tay ; CPU:$BAD9 PRG:3AD9 A8
|
|
lda (ZpF2),y ; CPU:$BADA PRG:3ADA B1 F2
|
|
and #$CF ; CPU:$BADC PRG:3ADC 29 CF
|
|
sta (ZpF2),y ; CPU:$BADE PRG:3ADE 91 F2
|
|
pla ; CPU:$BAE0 PRG:3AE0 68
|
|
ora (ZpF2),y ; CPU:$BAE1 PRG:3AE1 11 F2
|
|
sta (ZpF2),y ; CPU:$BAE3 PRG:3AE3 91 F2
|
|
jmp SetSpriteAttr ; CPU:$BAE5 PRG:3AE5 4C 0F BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrClear5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrClear5:
|
|
jsr CalcOamPtr ; CPU:$BAE8 PRG:3AE8 20 30 BB
|
|
pha ; CPU:$BAEB PRG:3AEB 48
|
|
lda ZpFD ; CPU:$BAEC PRG:3AEC A5 FD
|
|
clc ; CPU:$BAEE PRG:3AEE 18
|
|
adc #$01 ; CPU:$BAEF PRG:3AEF 69 01
|
|
tay ; CPU:$BAF1 PRG:3AF1 A8
|
|
lda (ZpF2),y ; CPU:$BAF2 PRG:3AF2 B1 F2
|
|
and #$F0 ; CPU:$BAF4 PRG:3AF4 29 F0
|
|
sta (ZpF2),y ; CPU:$BAF6 PRG:3AF6 91 F2
|
|
pla ; CPU:$BAF8 PRG:3AF8 68
|
|
ora (ZpF2),y ; CPU:$BAF9 PRG:3AF9 11 F2
|
|
sta (ZpF2),y ; CPU:$BAFB PRG:3AFB 91 F2
|
|
jmp SetSpriteAttr ; CPU:$BAFD PRG:3AFD 4C 0F BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrByteLo
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrByteLo:
|
|
jsr CalcOamPtr ; CPU:$BB00 PRG:3B00 20 30 BB
|
|
pha ; CPU:$BB03 PRG:3B03 48
|
|
lda ZpFD ; CPU:$BB04 PRG:3B04 A5 FD
|
|
clc ; CPU:$BB06 PRG:3B06 18
|
|
adc #$02 ; CPU:$BB07 PRG:3B07 69 02
|
|
tay ; CPU:$BB09 PRG:3B09 A8
|
|
pla ; CPU:$BB0A PRG:3B0A 68
|
|
sta (ZpF2),y ; CPU:$BB0B PRG:3B0B 91 F2
|
|
jmp SetSpriteAttr ; CPU:$BB0D PRG:3B0D 4C 0F BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrByte4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrByte4:
|
|
jsr CalcOamPtr ; CPU:$BB10 PRG:3B10 20 30 BB
|
|
pha ; CPU:$BB13 PRG:3B13 48
|
|
lda ZpFD ; CPU:$BB14 PRG:3B14 A5 FD
|
|
clc ; CPU:$BB16 PRG:3B16 18
|
|
adc #$04 ; CPU:$BB17 PRG:3B17 69 04
|
|
tay ; CPU:$BB19 PRG:3B19 A8
|
|
pla ; CPU:$BB1A PRG:3B1A 68
|
|
sta (ZpF2),y ; CPU:$BB1B PRG:3B1B 91 F2
|
|
jmp SetSpriteAttr ; CPU:$BB1D PRG:3B1D 4C 0F BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: SetAttrByte1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
SetAttrByte1:
|
|
jsr CalcOamPtr ; CPU:$BB20 PRG:3B20 20 30 BB
|
|
pha ; CPU:$BB23 PRG:3B23 48
|
|
lda ZpFD ; CPU:$BB24 PRG:3B24 A5 FD
|
|
clc ; CPU:$BB26 PRG:3B26 18
|
|
adc #$01 ; CPU:$BB27 PRG:3B27 69 01
|
|
tay ; CPU:$BB29 PRG:3B29 A8
|
|
pla ; CPU:$BB2A PRG:3B2A 68
|
|
sta (ZpF2),y ; CPU:$BB2B PRG:3B2B 91 F2
|
|
jmp SetSpriteAttr ; CPU:$BB2D PRG:3B2D 4C 0F BA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CalcOamPtr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CalcOamPtr:
|
|
lda ZpFD ; CPU:$BB30 PRG:3B30 A5 FD
|
|
clc ; CPU:$BB32 PRG:3B32 18
|
|
adc #$05 ; CPU:$BB33 PRG:3B33 69 05
|
|
tay ; CPU:$BB35 PRG:3B35 A8
|
|
lda (ZpF2),y ; CPU:$BB36 PRG:3B36 B1 F2
|
|
sta ZpFE ; CPU:$BB38 PRG:3B38 85 FE
|
|
iny ; CPU:$BB3A PRG:3B3A C8
|
|
lda (ZpF2),y ; CPU:$BB3B PRG:3B3B B1 F2
|
|
sta ZpFF ; CPU:$BB3D PRG:3B3D 85 FF
|
|
ldx #$00 ; CPU:$BB3F PRG:3B3F A2 00
|
|
lda (ZpFE,x) ; CPU:$BB41 PRG:3B41 A1 FE
|
|
pha ; CPU:$BB43 PRG:3B43 48
|
|
lda ZpFE ; CPU:$BB44 PRG:3B44 A5 FE
|
|
dey ; CPU:$BB46 PRG:3B46 88
|
|
clc ; CPU:$BB47 PRG:3B47 18
|
|
adc #$01 ; CPU:$BB48 PRG:3B48 69 01
|
|
sta (ZpF2),y ; CPU:$BB4A PRG:3B4A 91 F2
|
|
lda ZpFF ; CPU:$BB4C PRG:3B4C A5 FF
|
|
adc #$00 ; CPU:$BB4E PRG:3B4E 69 00
|
|
iny ; CPU:$BB50 PRG:3B50 C8
|
|
sta (ZpF2),y ; CPU:$BB51 PRG:3B51 91 F2
|
|
pla ; CPU:$BB53 PRG:3B53 68
|
|
rts ; CPU:$BB54 PRG:3B54 60
|
|
; ---- data $BB55-$BEFA (934 bytes) ----
|
|
SpriteAttrTable:
|
|
; referenced by `lda $BB6D` at $B8BB (operand $BB6D falls inside this region)
|
|
; referenced by `lda $BB6E` at $B8C0 (operand $BB6E falls inside this region)
|
|
; referenced by `lda $BB97` at $B95C (operand $BB97 falls inside this region)
|
|
; referenced by `lda $BB98` at $B961 (operand $BB98 falls inside this region)
|
|
; referenced by `lda $BB55,x` at $BA21 (operand $BB55 falls inside this region)
|
|
; referenced by `lda $BB56,x` at $BA26 (operand $BB56 falls inside this region)
|
|
.byte $03, $F9, $03, $C0, $03, $8A, $03, $57, $03, $27, $02, $FA, $02, $CF, $02, $A7 ; CPU:$BB55 PRG:3B55 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, $6F, $BB, $7B, $BD, $D2, $BD, $29, $BE ; CPU:$BB65 PRG:3B65 02 81 02 5D 02 3B 02 1B 6F BB 7B BD D2 BD 29 BE
|
|
.byte $BA, $BC, $CD, $BC, $52, $BD, $87, $BE, $25, $BD, $2E, $BD, $A0, $BC, $AD, $BC ; CPU:$BB75 PRG:3B75 BA BC CD BC 52 BD 87 BE 25 BD 2E BD A0 BC AD BC
|
|
.byte $AD, $BB, $E0, $BC, $76, $BE, $BC, $BE, $59, $BC, $08, $BC, $4D, $BC, $53, $BC ; CPU:$BB85 PRG:3B85 AD BB E0 BC 76 BE BC BE 59 BC 08 BC 4D BC 53 BC
|
|
.byte $35, $BD, $99, $BB, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $00 ; CPU:$BB95 PRG:3B95 35 BD 99 BB 00 00 00 00 00 00 00 01 01 01 01 00
|
|
.byte $01, $01, $01, $01, $00, $00, $00, $01, $01, $9C, $7F, $28, $30, $02, $40, $02 ; CPU:$BBA5 PRG:3BA5 01 01 01 01 00 00 00 01 01 9C 7F 28 30 02 40 02
|
|
.byte $30, $02, $50, $02, $30, $02, $60, $02, $30, $02, $70, $02, $30, $02, $60, $02 ; CPU:$BBB5 PRG:3BB5 30 02 50 02 30 02 60 02 30 02 70 02 30 02 60 02
|
|
.byte $30, $02, $50, $02, $30, $02, $40, $02, $30, $02, $40, $02, $30, $02, $50, $02 ; CPU:$BBC5 PRG:3BC5 30 02 50 02 30 02 40 02 30 02 40 02 30 02 50 02
|
|
.byte $30, $02, $60, $02, $30, $02, $70, $02, $30, $02, $60, $02, $30, $02, $50, $02 ; CPU:$BBD5 PRG:3BD5 30 02 60 02 30 02 70 02 30 02 60 02 30 02 50 02
|
|
.byte $30, $02, $40, $02, $30, $02, $40, $02, $30, $02, $50, $02, $30, $02, $60, $02 ; CPU:$BBE5 PRG:3BE5 30 02 40 02 30 02 40 02 30 02 50 02 30 02 60 02
|
|
.byte $30, $02, $70, $02, $30, $02, $60, $02, $30, $02, $50, $02, $30, $02, $40, $02 ; CPU:$BBF5 PRG:3BF5 30 02 70 02 30 02 60 02 30 02 50 02 30 02 40 02
|
|
.byte $30, $02, $F0, $02, $94, $7F, $58, $32, $06, $33, $06, $23, $06, $33, $06, $73 ; CPU:$BC05 PRG:3C05 30 02 F0 02 94 7F 58 32 06 33 06 23 06 33 06 73
|
|
.byte $06, $33, $06, $23, $06, $33, $06, $32, $06, $33, $06, $13, $06, $33, $06, $73 ; CPU:$BC15 PRG:3C15 06 33 06 23 06 33 06 32 06 33 06 13 06 33 06 73
|
|
.byte $06, $33, $06, $13, $06, $33, $06, $32, $06, $33, $06, $03, $06, $33, $06, $73 ; CPU:$BC25 PRG:3C25 06 33 06 13 06 33 06 32 06 33 06 03 06 33 06 73
|
|
.byte $06, $33, $06, $03, $06, $33, $06, $32, $06, $33, $06, $B2, $06, $33, $06, $73 ; CPU:$BC35 PRG:3C35 06 33 06 03 06 33 06 32 06 33 06 B2 06 33 06 73
|
|
.byte $06, $33, $06, $B2, $06, $33, $06, $F0, $04, $0F, $7F, $40, $0E, $F0, $04, $06 ; CPU:$BC45 PRG:3C45 06 33 06 B2 06 33 06 F0 04 0F 7F 40 0E F0 04 06
|
|
.byte $7F, $40, $0C, $F0, $03, $08, $7F, $00, $33, $01, $43, $01, $53, $01, $63, $01 ; CPU:$BC55 PRG:3C55 7F 40 0C F0 03 08 7F 00 33 01 43 01 53 01 63 01
|
|
.byte $73, $01, $63, $01, $53, $01, $43, $01, $33, $01, $23, $01, $13, $01, $03, $01 ; CPU:$BC65 PRG:3C65 73 01 63 01 53 01 43 01 33 01 23 01 13 01 03 01
|
|
.byte $B2, $01, $A2, $01, $92, $01, $82, $01, $72, $01, $62, $01, $52, $01, $42, $01 ; CPU:$BC75 PRG:3C75 B2 01 A2 01 92 01 82 01 72 01 62 01 52 01 42 01
|
|
.byte $32, $01, $22, $01, $12, $01, $02, $01, $B1, $01, $A1, $01, $91, $01, $81, $01 ; CPU:$BC85 PRG:3C85 32 01 22 01 12 01 02 01 B1 01 A1 01 91 01 81 01
|
|
.byte $71, $01, $61, $01, $51, $01, $41, $01, $31, $01, $F0, $01, $1F, $7F, $28, $34 ; CPU:$BC95 PRG:3C95 71 01 61 01 51 01 41 01 31 01 F0 01 1F 7F 28 34
|
|
.byte $03, $A4, $03, $54, $03, $04, $03, $F0, $02, $1F, $7F, $28, $04, $03, $74, $03 ; CPU:$BCA5 PRG:3CA5 03 A4 03 54 03 04 03 F0 02 1F 7F 28 04 03 74 03
|
|
.byte $24, $03, $94, $03, $F0, $01, $DF, $7F, $10, $33, $08, $A2, $08, $72, $08, $32 ; CPU:$BCB5 PRG:3CB5 24 03 94 03 F0 01 DF 7F 10 33 08 A2 08 72 08 32
|
|
.byte $08, $72, $08, $A2, $08, $33, $08, $F0, $02, $DF, $7F, $10, $A2, $08, $72, $08 ; CPU:$BCC5 PRG:3CC5 08 72 08 A2 08 33 08 F0 02 DF 7F 10 A2 08 72 08
|
|
.byte $32, $08, $A1, $08, $32, $08, $72, $08, $A2, $08, $F0, $01, $9F, $7F, $28, $32 ; CPU:$BCD5 PRG:3CD5 32 08 A1 08 32 08 72 08 A2 08 F0 01 9F 7F 28 32
|
|
.byte $01, $50, $01, $42, $01, $50, $01, $32, $01, $60, $01, $42, $01, $60, $01, $32 ; CPU:$BCE5 PRG:3CE5 01 50 01 42 01 50 01 32 01 60 01 42 01 60 01 32
|
|
.byte $01, $70, $01, $42, $01, $70, $01, $32, $01, $90, $01, $42, $01, $90, $01, $32 ; CPU:$BCF5 PRG:3CF5 01 70 01 42 01 70 01 32 01 90 01 42 01 90 01 32
|
|
.byte $01, $50, $01, $42, $01, $50, $01, $32, $01, $60, $01, $42, $01, $60, $01, $32 ; CPU:$BD05 PRG:3D05 01 50 01 42 01 50 01 32 01 60 01 42 01 60 01 32
|
|
.byte $01, $70, $01, $42, $01, $70, $01, $32, $01, $90, $01, $42, $01, $90, $01, $F0 ; CPU:$BD15 PRG:3D15 01 70 01 42 01 70 01 32 01 90 01 42 01 90 01 F0
|
|
.byte $01, $01, $7F, $40, $33, $01, $43, $04, $F0, $02, $C1, $7F, $40, $43, $05, $F0 ; CPU:$BD25 PRG:3D25 01 01 7F 40 33 01 43 04 F0 02 C1 7F 40 43 05 F0
|
|
.byte $02, $94, $7F, $58, $32, $01, $22, $01, $12, $01, $02, $01, $B1, $01, $A1, $01 ; CPU:$BD35 PRG:3D35 02 94 7F 58 32 01 22 01 12 01 02 01 B1 01 A1 01
|
|
.byte $91, $01, $81, $01, $71, $01, $61, $01, $51, $01, $31, $06, $F0, $01, $9F, $7F ; CPU:$BD45 PRG:3D45 91 01 81 01 71 01 61 01 51 01 31 06 F0 01 9F 7F
|
|
.byte $28, $52, $02, $82, $02, $A2, $02, $03, $02, $33, $02, $53, $02, $52, $02, $82 ; CPU:$BD55 PRG:3D55 28 52 02 82 02 A2 02 03 02 33 02 53 02 52 02 82
|
|
.byte $02, $A2, $02, $03, $02, $33, $02, $53, $02, $52, $02, $82, $02, $A2, $02, $03 ; CPU:$BD65 PRG:3D65 02 A2 02 03 02 33 02 53 02 52 02 82 02 A2 02 03
|
|
.byte $02, $33, $02, $53, $02, $F0, $01, $1F, $7F, $20, $82, $20, $C0, $08, $F5, $80 ; CPU:$BD75 PRG:3D75 02 33 02 53 02 F0 01 1F 7F 20 82 20 C0 08 F5 80
|
|
.byte $32, $08, $82, $08, $03, $08, $33, $08, $03, $08, $C0, $08, $82, $08, $A2, $08 ; CPU:$BD85 PRG:3D85 32 08 82 08 03 08 33 08 03 08 C0 08 82 08 A2 08
|
|
.byte $C0, $08, $A2, $08, $A2, $08, $C0, $08, $F5, $D8, $52, $10, $C0, $08, $F5, $80 ; CPU:$BD95 PRG:3D95 C0 08 A2 08 A2 08 C0 08 F5 D8 52 10 C0 08 F5 80
|
|
.byte $A2, $08, $82, $08, $C0, $08, $72, $08, $F5, $20, $82, $20, $C0, $08, $F5, $80 ; CPU:$BDA5 PRG:3DA5 A2 08 82 08 C0 08 72 08 F5 20 82 20 C0 08 F5 80
|
|
.byte $32, $08, $82, $08, $03, $08, $33, $08, $03, $08, $C0, $08, $82, $08, $92, $08 ; CPU:$BDB5 PRG:3DB5 32 08 82 08 03 08 33 08 03 08 C0 08 82 08 92 08
|
|
.byte $C0, $08, $92, $08, $92, $08, $C0, $08, $F5, $D0, $82, $38, $F0, $02, $1F, $7F ; CPU:$BDC5 PRG:3DC5 C0 08 92 08 92 08 C0 08 F5 D0 82 38 F0 02 1F 7F
|
|
.byte $20, $02, $20, $C0, $08, $F5, $80, $02, $08, $02, $08, $32, $08, $82, $08, $32 ; CPU:$BDD5 PRG:3DD5 20 02 20 C0 08 F5 80 02 08 02 08 32 08 82 08 32
|
|
.byte $08, $C0, $08, $02, $08, $12, $08, $C0, $08, $12, $08, $12, $08, $C0, $08, $F5 ; CPU:$BDE5 PRG:3DE5 08 C0 08 02 08 12 08 C0 08 12 08 12 08 C0 08 F5
|
|
.byte $D8, $12, $10, $C0, $08, $F5, $80, $12, $08, $12, $08, $C0, $08, $12, $08, $F5 ; CPU:$BDF5 PRG:3DF5 D8 12 10 C0 08 F5 80 12 08 12 08 C0 08 12 08 F5
|
|
.byte $20, $02, $20, $C0, $08, $F5, $80, $02, $08, $02, $08, $02, $08, $02, $08, $02 ; CPU:$BE05 PRG:3E05 20 02 20 C0 08 F5 80 02 08 02 08 02 08 02 08 02
|
|
.byte $08, $C0, $08, $02, $08, $12, $08, $C0, $08, $12, $08, $12, $08, $C0, $08, $F5 ; CPU:$BE15 PRG:3E15 08 C0 08 02 08 12 08 C0 08 12 08 12 08 C0 08 F5
|
|
.byte $D0, $02, $38, $F0, $03, $10, $7F, $40, $81, $08, $81, $08, $81, $08, $81, $08 ; CPU:$BE25 PRG:3E25 D0 02 38 F0 03 10 7F 40 81 08 81 08 81 08 81 08
|
|
.byte $C0, $10, $81, $08, $81, $08, $81, $08, $81, $08, $C0, $10, $81, $08, $81, $08 ; CPU:$BE35 PRG:3E35 C0 10 81 08 81 08 81 08 81 08 C0 10 81 08 81 08
|
|
.byte $81, $08, $81, $08, $C0, $10, $81, $08, $81, $08, $81, $08, $81, $08, $C0, $10 ; CPU:$BE45 PRG:3E45 81 08 81 08 C0 10 81 08 81 08 81 08 81 08 C0 10
|
|
.byte $81, $08, $81, $08, $81, $08, $81, $08, $C0, $10, $81, $08, $81, $08, $81, $08 ; CPU:$BE55 PRG:3E55 81 08 81 08 81 08 81 08 C0 10 81 08 81 08 81 08
|
|
.byte $81, $08, $C0, $10, $81, $08, $81, $08, $81, $08, $81, $08, $C0, $08, $81, $38 ; CPU:$BE65 PRG:3E65 81 08 C0 10 81 08 81 08 81 08 81 08 C0 08 81 38
|
|
.byte $F0, $02, $1F, $7F, $28, $30, $01, $41, $01, $52, $01, $63, $01, $74, $01, $85 ; CPU:$BE75 PRG:3E75 F0 02 1F 7F 28 30 01 41 01 52 01 63 01 74 01 85
|
|
.byte $01, $F0, $01, $9A, $7F, $48, $33, $01, $63, $01, $93, $01, $93, $01, $43, $01 ; CPU:$BE85 PRG:3E85 01 F0 01 9A 7F 48 33 01 63 01 93 01 93 01 43 01
|
|
.byte $33, $01, $32, $02, $31, $02, $31, $04, $30, $04, $31, $04, $30, $04, $31, $04 ; CPU:$BE95 PRG:3E95 33 01 32 02 31 02 31 04 30 04 31 04 30 04 31 04
|
|
.byte $30, $04, $31, $04, $30, $04, $31, $04, $30, $04, $31, $04, $30, $04, $31, $04 ; CPU:$BEA5 PRG:3EA5 30 04 31 04 30 04 31 04 30 04 31 04 30 04 31 04
|
|
.byte $30, $04, $31, $04, $30, $04, $F0, $01, $1F, $7F, $28, $94, $01, $44, $01, $B4 ; CPU:$BEB5 PRG:3EB5 30 04 31 04 30 04 F0 01 1F 7F 28 94 01 44 01 B4
|
|
.byte $01, $64, $01, $F0, $43, $4F, $50, $59, $52, $49, $47, $48, $54, $20, $31, $39 ; CPU:$BEC5 PRG:3EC5 01 64 01 F0 43 4F 50 59 52 49 47 48 54 20 31 39
|
|
.byte $38, $33, $20, $31, $39, $38, $34, $20, $4E, $41, $4D, $43, $4F, $20, $4C, $54 ; CPU:$BED5 PRG:3ED5 38 33 20 31 39 38 34 20 4E 41 4D 43 4F 20 4C 54
|
|
.byte $44, $2E, $20, $41, $4C, $4C, $20, $52, $49, $47, $48, $54, $53, $20, $52, $45 ; CPU:$BEE5 PRG:3EE5 44 2E 20 41 4C 4C 20 52 49 47 48 54 53 20 52 45
|
|
.byte $53, $45, $52, $56, $45, $44 ; CPU:$BEF5 PRG:3EF5 53 45 52 56 45 44
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: GameModeDispatch
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
GameModeDispatch:
|
|
lda GameMode ; CPU:$BEFB PRG:3EFB A5 10
|
|
beq Sub_BF4C ; CPU:$BEFD PRG:3EFD F0 4D
|
|
ldx #$00 ; CPU:$BEFF PRG:3EFF A2 00
|
|
lda Zp60 ; CPU:$BF01 PRG:3F01 A5 60
|
|
beq Sub_BF08 ; CPU:$BF03 PRG:3F03 F0 03
|
|
jmp DispatchLdyJmp ; CPU:$BF05 PRG:3F05 4C DC F1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF08
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF08:
|
|
ldy #$00 ; CPU:$BF08 PRG:3F08 A0 00
|
|
lda #$18 ; CPU:$BF0A PRG:3F0A A9 18
|
|
sta ObjPtr ; CPU:$BF0C PRG:3F0C 85 13
|
|
lda ResetHi ; CPU:$BF0E PRG:3F0E A5 3C
|
|
and #$01 ; CPU:$BF10 PRG:3F10 29 01
|
|
beq Sub_BF18 ; CPU:$BF12 PRG:3F12 F0 04
|
|
lda #$A8 ; CPU:$BF14 PRG:3F14 A9 A8
|
|
sta ObjPtr ; CPU:$BF16 PRG:3F16 85 13
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF18
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF18:
|
|
lda #$F0 ; CPU:$BF18 PRG:3F18 A9 F0
|
|
sta $0700,y ; CPU:$BF1A PRG:3F1A 99 00 07
|
|
lda Zp80,x ; CPU:$BF1D PRG:3F1D B5 80
|
|
bne Sub_BF2A ; CPU:$BF1F PRG:3F1F D0 09
|
|
iny ; CPU:$BF21 PRG:3F21 C8
|
|
iny ; CPU:$BF22 PRG:3F22 C8
|
|
iny ; CPU:$BF23 PRG:3F23 C8
|
|
iny ; CPU:$BF24 PRG:3F24 C8
|
|
inx ; CPU:$BF25 PRG:3F25 E8
|
|
cpy #$18 ; CPU:$BF26 PRG:3F26 C0 18
|
|
bne Sub_BF18 ; CPU:$BF28 PRG:3F28 D0 EE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF2A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF2A:
|
|
lda #$18 ; CPU:$BF2A PRG:3F2A A9 18
|
|
sta $0700,y ; CPU:$BF2C PRG:3F2C 99 00 07
|
|
iny ; CPU:$BF2F PRG:3F2F C8
|
|
lda Zp80,x ; CPU:$BF30 PRG:3F30 B5 80
|
|
sta $0700,y ; CPU:$BF32 PRG:3F32 99 00 07
|
|
iny ; CPU:$BF35 PRG:3F35 C8
|
|
inx ; CPU:$BF36 PRG:3F36 E8
|
|
lda #$00 ; CPU:$BF37 PRG:3F37 A9 00
|
|
sta $0700,y ; CPU:$BF39 PRG:3F39 99 00 07
|
|
iny ; CPU:$BF3C PRG:3F3C C8
|
|
tya ; CPU:$BF3D PRG:3F3D 98
|
|
and #$FC ; CPU:$BF3E PRG:3F3E 29 FC
|
|
asl a ; CPU:$BF40 PRG:3F40 0A
|
|
clc ; CPU:$BF41 PRG:3F41 18
|
|
adc ObjPtr ; CPU:$BF42 PRG:3F42 65 13
|
|
sta $0700,y ; CPU:$BF44 PRG:3F44 99 00 07
|
|
iny ; CPU:$BF47 PRG:3F47 C8
|
|
cpy #$20 ; CPU:$BF48 PRG:3F48 C0 20
|
|
bne Sub_BF2A ; CPU:$BF4A PRG:3F4A D0 DE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF4C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF4C:
|
|
rts ; CPU:$BF4C PRG:3F4C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpritesInit6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpritesInit6:
|
|
stx Zp48 ; CPU:$BF4D PRG:3F4D 86 48
|
|
ldx #$06 ; CPU:$BF4F PRG:3F4F A2 06
|
|
jmp ObjSpriteLoop ; CPU:$BF51 PRG:3F51 4C 5F BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpritesInit5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpritesInit5:
|
|
stx Zp48 ; CPU:$BF54 PRG:3F54 86 48
|
|
ldx #$05 ; CPU:$BF56 PRG:3F56 A2 05
|
|
jmp ObjSpriteLoop ; CPU:$BF58 PRG:3F58 4C 5F BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpritesInit4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpritesInit4:
|
|
stx Zp48 ; CPU:$BF5B PRG:3F5B 86 48
|
|
ldx #$04 ; CPU:$BF5D PRG:3F5D A2 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteLoop:
|
|
sty Zp49 ; CPU:$BF5F PRG:3F5F 84 49
|
|
ldy Zp60 ; CPU:$BF61 PRG:3F61 A4 60
|
|
bne ObjSpriteReturn ; CPU:$BF63 PRG:3F63 D0 60
|
|
clc ; CPU:$BF65 PRG:3F65 18
|
|
adc Zp80,x ; CPU:$BF66 PRG:3F66 75 80
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjCoordClamp
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjCoordClamp:
|
|
cmp #$0A ; CPU:$BF68 PRG:3F68 C9 0A
|
|
bcc Sub_BF82 ; CPU:$BF6A PRG:3F6A 90 16
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF6C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF6C:
|
|
sec ; CPU:$BF6C PRG:3F6C 38
|
|
sbc #$0A ; CPU:$BF6D PRG:3F6D E9 0A
|
|
inc Zp7F,x ; CPU:$BF6F PRG:3F6F F6 7F
|
|
sta Zp80,x ; CPU:$BF71 PRG:3F71 95 80
|
|
cmp #$0A ; CPU:$BF73 PRG:3F73 C9 0A
|
|
bcs Sub_BF6C ; CPU:$BF75 PRG:3F75 B0 F5
|
|
dex ; CPU:$BF77 PRG:3F77 CA
|
|
txa ; CPU:$BF78 PRG:3F78 8A
|
|
and #$07 ; CPU:$BF79 PRG:3F79 29 07
|
|
beq Sub_BF84 ; CPU:$BF7B PRG:3F7B F0 07
|
|
lda Zp80,x ; CPU:$BF7D PRG:3F7D B5 80
|
|
jmp ObjCoordClamp ; CPU:$BF7F PRG:3F7F 4C 68 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF82
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF82:
|
|
sta Zp80,x ; CPU:$BF82 PRG:3F82 95 80
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF84
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF84:
|
|
ldy #$00 ; CPU:$BF84 PRG:3F84 A0 00
|
|
lda #$08 ; CPU:$BF86 PRG:3F86 A9 08
|
|
sta ObjUpdateFlag ; CPU:$BF88 PRG:3F88 85 0E
|
|
ldx #$00 ; CPU:$BF8A PRG:3F8A A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF8C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF8C:
|
|
lda Zp80,x ; CPU:$BF8C PRG:3F8C B5 80
|
|
cmp a:$004B,y ; CPU:$BF8E PRG:3F8E D9 4B 00
|
|
bcc ObjSpriteLoop2 ; CPU:$BF91 PRG:3F91 90 16
|
|
bne Sub_BF9E ; CPU:$BF93 PRG:3F93 D0 09
|
|
inx ; CPU:$BF95 PRG:3F95 E8
|
|
iny ; CPU:$BF96 PRG:3F96 C8
|
|
dec ObjUpdateFlag ; CPU:$BF97 PRG:3F97 C6 0E
|
|
bne Sub_BF8C ; CPU:$BF99 PRG:3F99 D0 F1
|
|
jmp ObjSpriteLoop2 ; CPU:$BF9B PRG:3F9B 4C A9 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BF9E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BF9E:
|
|
lda Zp80,x ; CPU:$BF9E PRG:3F9E B5 80
|
|
sta a:$004B,y ; CPU:$BFA0 PRG:3FA0 99 4B 00
|
|
inx ; CPU:$BFA3 PRG:3FA3 E8
|
|
iny ; CPU:$BFA4 PRG:3FA4 C8
|
|
dec ObjUpdateFlag ; CPU:$BFA5 PRG:3FA5 C6 0E
|
|
bne Sub_BF9E ; CPU:$BFA7 PRG:3FA7 D0 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteLoop2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteLoop2:
|
|
ldx #$00 ; CPU:$BFA9 PRG:3FA9 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BFAB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BFAB:
|
|
lda Zp80,x ; CPU:$BFAB PRG:3FAB B5 80
|
|
cmp Zp88,x ; CPU:$BFAD PRG:3FAD D5 88
|
|
bcc ObjSpriteReturn ; CPU:$BFAF PRG:3FAF 90 14
|
|
bne Sub_BFB8 ; CPU:$BFB1 PRG:3FB1 D0 05
|
|
inx ; CPU:$BFB3 PRG:3FB3 E8
|
|
cpx #$04 ; CPU:$BFB4 PRG:3FB4 E0 04
|
|
bne Sub_BFAB ; CPU:$BFB6 PRG:3FB6 D0 F3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_BFB8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_BFB8:
|
|
inc Zp8D ; CPU:$BFB8 PRG:3FB8 E6 8D
|
|
lda #$01 ; CPU:$BFBA PRG:3FBA A9 01
|
|
sta $0603 ; CPU:$BFBC PRG:3FBC 8D 03 06
|
|
sta $0604 ; CPU:$BFBF PRG:3FBF 8D 04 06
|
|
jsr ObjSpriteInit ; CPU:$BFC2 PRG:3FC2 20 CA BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteReturn
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteReturn:
|
|
ldx Zp48 ; CPU:$BFC5 PRG:3FC5 A6 48
|
|
ldy Zp49 ; CPU:$BFC7 PRG:3FC7 A4 49
|
|
rts ; CPU:$BFC9 PRG:3FC9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteInit
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteInit:
|
|
lda Zp8C ; CPU:$BFCA PRG:3FCA A5 8C
|
|
bne ObjSpriteLoop3 ; CPU:$BFCC PRG:3FCC D0 1C
|
|
lda #$01 ; CPU:$BFCE PRG:3FCE A9 01
|
|
sta Zp8C ; CPU:$BFD0 PRG:3FD0 85 8C
|
|
ldx #$00 ; CPU:$BFD2 PRG:3FD2 A2 00
|
|
lda #$00 ; CPU:$BFD4 PRG:3FD4 A9 00
|
|
sta Zp88,x ; CPU:$BFD6 PRG:3FD6 95 88
|
|
inx ; CPU:$BFD8 PRG:3FD8 E8
|
|
sta Zp88,x ; CPU:$BFD9 PRG:3FD9 95 88
|
|
inx ; CPU:$BFDB PRG:3FDB E8
|
|
ldy #$00 ; CPU:$BFDC PRG:3FDC A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteCopyTable
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteCopyTable:
|
|
lda a:$0055,y ; CPU:$BFDE PRG:3FDE B9 55 00
|
|
sta Zp88,x ; CPU:$BFE1 PRG:3FE1 95 88
|
|
inx ; CPU:$BFE3 PRG:3FE3 E8
|
|
iny ; CPU:$BFE4 PRG:3FE4 C8
|
|
cpy #$02 ; CPU:$BFE5 PRG:3FE5 C0 02
|
|
bne ObjSpriteCopyTable ; CPU:$BFE7 PRG:3FE7 D0 F5
|
|
rts ; CPU:$BFE9 PRG:3FE9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteLoop3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteLoop3:
|
|
ldx #$03 ; CPU:$BFEA PRG:3FEA A2 03
|
|
ldy #$02 ; CPU:$BFEC PRG:3FEC A0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteAdjust
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteAdjust:
|
|
lda a:$0054,y ; CPU:$BFEE PRG:3FEE B9 54 00
|
|
clc ; CPU:$BFF1 PRG:3FF1 18
|
|
adc Zp88,x ; CPU:$BFF2 PRG:3FF2 75 88
|
|
cmp #$0A ; CPU:$BFF4 PRG:3FF4 C9 0A
|
|
bcc ObjSpriteStore ; CPU:$BFF6 PRG:3FF6 90 05
|
|
sec ; CPU:$BFF8 PRG:3FF8 38
|
|
sbc #$0A ; CPU:$BFF9 PRG:3FF9 E9 0A
|
|
inc Zp87,x ; CPU:$BFFB PRG:3FFB F6 87
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteStore:
|
|
sta Zp88,x ; CPU:$BFFD PRG:3FFD 95 88
|
|
dex ; CPU:$BFFF PRG:3FFF CA
|
|
; ---- data $C000-$C000 (1 bytes) ----
|
|
.byte $88 ; CPU:$C000 PRG:4000 88
|
|
bne ObjSpriteAdjust ; CPU:$C001 PRG:4001 D0 EB
|
|
lda Zp88,x ; CPU:$C003 PRG:4003 B5 88
|
|
sec ; CPU:$C005 PRG:4005 38
|
|
sbc #$0A ; CPU:$C006 PRG:4006 E9 0A
|
|
bcc Sub_C00E ; CPU:$C008 PRG:4008 90 04
|
|
sta Zp88,x ; CPU:$C00A PRG:400A 95 88
|
|
inc Zp87,x ; CPU:$C00C PRG:400C F6 87
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C00E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C00E:
|
|
rts ; CPU:$C00E PRG:400E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjNullRoutine
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjNullRoutine:
|
|
rts ; CPU:$C00F PRG:400F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpawnInit
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpawnInit:
|
|
lda #$00 ; CPU:$C010 PRG:4010 A9 00
|
|
sta Zp30 ; CPU:$C012 PRG:4012 85 30
|
|
stx Zp65 ; CPU:$C014 PRG:4014 86 65
|
|
lda #$80 ; CPU:$C016 PRG:4016 A9 80
|
|
ldx #$07 ; CPU:$C018 PRG:4018 A2 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C01A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C01A:
|
|
sta ZpD8,x ; CPU:$C01A PRG:401A 95 D8
|
|
dex ; CPU:$C01C PRG:401C CA
|
|
bpl Sub_C01A ; CPU:$C01D PRG:401D 10 FB
|
|
ldx Zp65 ; CPU:$C01F PRG:401F A6 65
|
|
rts ; CPU:$C021 PRG:4021 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C022
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C022:
|
|
lda Zp8F ; CPU:$C022 PRG:4022 A5 8F
|
|
clc ; CPU:$C024 PRG:4024 18
|
|
adc #$FE ; CPU:$C025 PRG:4025 69 FE
|
|
bcs Sub_C02B ; CPU:$C027 PRG:4027 B0 02
|
|
lda #$00 ; CPU:$C029 PRG:4029 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C02B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C02B:
|
|
sta Zp8F ; CPU:$C02B PRG:402B 85 8F
|
|
rts ; CPU:$C02D PRG:402D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjMoveY
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjMoveY:
|
|
lda Zp8F ; CPU:$C02E PRG:402E A5 8F
|
|
sec ; CPU:$C030 PRG:4030 38
|
|
adc Zp40 ; CPU:$C031 PRG:4031 65 40
|
|
cmp #$80 ; CPU:$C033 PRG:4033 C9 80
|
|
bcc Sub_C03A ; CPU:$C035 PRG:4035 90 03
|
|
sec ; CPU:$C037 PRG:4037 38
|
|
sbc #$40 ; CPU:$C038 PRG:4038 E9 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C03A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C03A:
|
|
sta Zp8F ; CPU:$C03A PRG:403A 85 8F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjMoveXSign
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjMoveXSign:
|
|
asl a ; CPU:$C03C PRG:403C 0A
|
|
tax ; CPU:$C03D PRG:403D AA
|
|
bcs Sub_C04B ; CPU:$C03E PRG:403E B0 0B
|
|
lda $C09E,x ; CPU:$C040 PRG:4040 BD 9E C0
|
|
sta Zp30 ; CPU:$C043 PRG:4043 85 30
|
|
lda $C09F,x ; CPU:$C045 PRG:4045 BD 9F C0
|
|
sta Zp31 ; CPU:$C048 PRG:4048 85 31
|
|
rts ; CPU:$C04A PRG:404A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C04B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C04B:
|
|
lda $C0FE,x ; CPU:$C04B PRG:404B BD FE C0
|
|
sta Zp30 ; CPU:$C04E PRG:404E 85 30
|
|
lda $C0FF,x ; CPU:$C050 PRG:4050 BD FF C0
|
|
sta Zp31 ; CPU:$C053 PRG:4053 85 31
|
|
rts ; CPU:$C055 PRG:4055 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpawnInit2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpawnInit2:
|
|
lda (Zp2A),y ; CPU:$C056 PRG:4056 B1 2A
|
|
dey ; CPU:$C058 PRG:4058 88
|
|
dey ; CPU:$C059 PRG:4059 88
|
|
jmp ObjMoveXSign ; CPU:$C05A PRG:405A 4C 3C C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSetPosition
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSetPosition:
|
|
txa ; CPU:$C05D PRG:405D 8A
|
|
pha ; CPU:$C05E PRG:405E 48
|
|
tya ; CPU:$C05F PRG:405F 98
|
|
pha ; CPU:$C060 PRG:4060 48
|
|
lda Zp83 ; CPU:$C061 PRG:4061 A5 83
|
|
asl a ; CPU:$C063 PRG:4063 0A
|
|
asl a ; CPU:$C064 PRG:4064 0A
|
|
asl a ; CPU:$C065 PRG:4065 0A
|
|
asl a ; CPU:$C066 PRG:4066 0A
|
|
adc Zp84 ; CPU:$C067 PRG:4067 65 84
|
|
sta ObjPtr ; CPU:$C069 PRG:4069 85 13
|
|
lda Zp81 ; CPU:$C06B PRG:406B A5 81
|
|
asl a ; CPU:$C06D PRG:406D 0A
|
|
asl a ; CPU:$C06E PRG:406E 0A
|
|
asl a ; CPU:$C06F PRG:406F 0A
|
|
asl a ; CPU:$C070 PRG:4070 0A
|
|
adc Zp82 ; CPU:$C071 PRG:4071 65 82
|
|
sta ObjectYLo ; CPU:$C073 PRG:4073 85 35
|
|
inc ObjectYLo ; CPU:$C075 PRG:4075 E6 35
|
|
lda Zp8E ; CPU:$C077 PRG:4077 A5 8E
|
|
clc ; CPU:$C079 PRG:4079 18
|
|
adc #$01 ; CPU:$C07A PRG:407A 69 01
|
|
sta ObjectYHi ; CPU:$C07C PRG:407C 85 36
|
|
lda ObjPtr ; CPU:$C07E PRG:407E A5 13
|
|
ldy #$10 ; CPU:$C080 PRG:4080 A0 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C082
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C082:
|
|
sec ; CPU:$C082 PRG:4082 38
|
|
sbc ObjectYHi ; CPU:$C083 PRG:4083 E5 36
|
|
bcs Sub_C08B ; CPU:$C085 PRG:4085 B0 04
|
|
dec ObjectYLo ; CPU:$C087 PRG:4087 C6 35
|
|
beq Sub_C090 ; CPU:$C089 PRG:4089 F0 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C08B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C08B:
|
|
inc Zp8F ; CPU:$C08B PRG:408B E6 8F
|
|
dey ; CPU:$C08D PRG:408D 88
|
|
bne Sub_C082 ; CPU:$C08E PRG:408E D0 F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C090
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C090:
|
|
lda Zp8F ; CPU:$C090 PRG:4090 A5 8F
|
|
bpl Sub_C099 ; CPU:$C092 PRG:4092 10 05
|
|
sec ; CPU:$C094 PRG:4094 38
|
|
sbc #$40 ; CPU:$C095 PRG:4095 E9 40
|
|
sta Zp8F ; CPU:$C097 PRG:4097 85 8F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C099
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C099:
|
|
pla ; CPU:$C099 PRG:4099 68
|
|
tay ; CPU:$C09A PRG:409A A8
|
|
pla ; CPU:$C09B PRG:409B 68
|
|
tax ; CPU:$C09C PRG:409C AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C09D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C09D:
|
|
rts ; CPU:$C09D PRG:409D 60
|
|
ObjParamTable:
|
|
; Enemy/object parameter table (byte pairs read by lda $C09E,x/$C09F,x)
|
|
; ---- data $C09E-$C1FD (352 bytes) ----
|
|
; referenced by `lda $C09E,x` at $C040 (operand $C09E falls inside this region)
|
|
; referenced by `lda $C09F,x` at $C045 (operand $C09F falls inside this region)
|
|
; referenced by `lda $C0FE,x` at $C04B (operand $C0FE falls inside this region)
|
|
; referenced by `lda $C0FF,x` at $C050 (operand $C0FF falls inside this region)
|
|
; referenced by `and $C1EF,x` at $D643 (operand $C1EF falls inside this region)
|
|
.byte $03, $01, $03, $01, $03, $01, $04, $01, $04, $01, $04, $01, $05, $01, $05, $01 ; CPU:$C09E PRG:409E 03 01 03 01 03 01 04 01 04 01 04 01 05 01 05 01
|
|
.byte $05, $01, $02, $19, $02, $19, $02, $19, $04, $01, $04, $01, $04, $04, $04, $04 ; CPU:$C0AE PRG:40AE 05 01 02 19 02 19 02 19 04 01 04 01 04 04 04 04
|
|
.byte $04, $05, $04, $05, $05, $05, $05, $05, $06, $05, $06, $05, $03, $19, $03, $19 ; CPU:$C0BE PRG:40BE 04 05 04 05 05 05 05 05 06 05 06 05 03 19 03 19
|
|
.byte $04, $19, $04, $19, $05, $19, $05, $19, $03, $27, $03, $27, $04, $27, $04, $27 ; CPU:$C0CE PRG:40CE 04 19 04 19 05 19 05 19 03 27 03 27 04 27 04 27
|
|
.byte $05, $27, $05, $27, $03, $1F, $03, $1F, $04, $1F, $04, $1F, $05, $1F, $05, $1F ; CPU:$C0DE PRG:40DE 05 27 05 27 03 1F 03 1F 04 1F 04 1F 05 1F 05 1F
|
|
.byte $03, $13, $03, $13, $04, $13, $04, $13, $05, $13, $05, $13, $03, $36, $03, $36 ; CPU:$C0EE PRG:40EE 03 13 03 13 04 13 04 13 05 13 05 13 03 36 03 36
|
|
.byte $03, $37, $03, $37, $04, $37, $04, $37, $03, $2D, $03, $2D, $04, $2D, $04, $2D ; CPU:$C0FE PRG:40FE 03 37 03 37 04 37 04 37 03 2D 03 2D 04 2D 04 2D
|
|
.byte $05, $2D, $05, $2D, $04, $12, $04, $12, $04, $11, $04, $11, $05, $11, $05, $11 ; CPU:$C10E PRG:410E 05 2D 05 2D 04 12 04 12 04 11 04 11 05 11 05 11
|
|
.byte $05, $17, $05, $17, $06, $17, $06, $17, $02, $3C, $03, $3C, $03, $3C, $04, $3C ; CPU:$C11E PRG:411E 05 17 05 17 06 17 06 17 02 3C 03 3C 03 3C 04 3C
|
|
.byte $04, $3C, $05, $3C, $05, $19, $05, $19, $06, $19, $06, $19, $02, $45, $03, $45 ; CPU:$C12E PRG:412E 04 3C 05 3C 05 19 05 19 06 19 06 19 02 45 03 45
|
|
.byte $03, $45, $04, $45, $04, $45, $05, $45, $05, $2D, $05, $2D, $06, $2D, $06, $2D ; CPU:$C13E PRG:413E 03 45 04 45 04 45 05 45 05 2D 05 2D 06 2D 06 2D
|
|
.byte $04, $27, $04, $27, $05, $27, $05, $27, $06, $27, $06, $27, $05, $0D, $05, $0D ; CPU:$C14E PRG:414E 04 27 04 27 05 27 05 27 06 27 06 27 05 0D 05 0D
|
|
.byte $06, $0D, $06, $0D, $02, $6D, $03, $6C, $03, $6C, $04, $6C, $04, $6C, $05, $6C ; CPU:$C15E PRG:415E 06 0D 06 0D 02 6D 03 6C 03 6C 04 6C 04 6C 05 6C
|
|
.byte $06, $0D, $06, $0D, $06, $07, $06, $07, $06, $07, $06, $07, $02, $4E, $03, $4E ; CPU:$C16E PRG:416E 06 0D 06 0D 06 07 06 07 06 07 06 07 02 4E 03 4E
|
|
.byte $03, $4E, $04, $4E, $04, $4E, $05, $4E, $06, $07, $06, $07, $06, $07, $06, $07 ; CPU:$C17E PRG:417E 03 4E 04 4E 04 4E 05 4E 06 07 06 07 06 07 06 07
|
|
.byte $01, $54, $02, $54, $06, $07, $06, $07, $06, $07, $06, $07, $01, $58, $02, $58 ; CPU:$C18E PRG:418E 01 54 02 54 06 07 06 07 06 07 06 07 01 58 02 58
|
|
.byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$C19E PRG:419E 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
|
|
.byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 ; CPU:$C1AE PRG:41AE 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
|
|
.byte $04, $0B, $05, $0A, $06, $09, $06, $25, $06, $5C, $06, $29, $06, $5E, $06, $64 ; CPU:$C1BE PRG:41BE 04 0B 05 0A 06 09 06 25 06 5C 06 29 06 5E 06 64
|
|
.byte $06, $66, $06, $72, $04, $30, $04, $31, $05, $30, $06, $30, $06, $3F, $06, $48 ; CPU:$C1CE PRG:41CE 06 66 06 72 04 30 04 31 05 30 06 30 06 3F 06 48
|
|
.byte $06, $4B, $02, $54, $03, $54, $04, $54, $02, $58, $03, $58, $04, $58, $04, $58 ; CPU:$C1DE PRG:41DE 06 4B 02 54 03 54 04 54 02 58 03 58 04 58 04 58
|
|
.byte $04, $58, $04, $58, $04, $58, $04, $58, $04, $58, $04, $58, $04, $58, $04, $58 ; CPU:$C1EE PRG:41EE 04 58 04 58 04 58 04 58 04 58 04 58 04 58 04 58
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjInitCall
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjInitCall:
|
|
lda Zp32 ; CPU:$C1FE PRG:41FE A5 32
|
|
bne Sub_C203 ; CPU:$C200 PRG:4200 D0 01
|
|
rts ; CPU:$C202 PRG:4202 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C203
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C203:
|
|
lda Zp3E ; CPU:$C203 PRG:4203 A5 3E
|
|
beq Sub_C22D ; CPU:$C205 PRG:4205 F0 26
|
|
ldx #$00 ; CPU:$C207 PRG:4207 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C209
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C209:
|
|
lda ZpD8,x ; CPU:$C209 PRG:4209 B5 D8
|
|
beq Sub_C213 ; CPU:$C20B PRG:420B F0 06
|
|
inx ; CPU:$C20D PRG:420D E8
|
|
cpx #$07 ; CPU:$C20E PRG:420E E0 07
|
|
bne Sub_C209 ; CPU:$C210 PRG:4210 D0 F7
|
|
rts ; CPU:$C212 PRG:4212 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C213
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C213:
|
|
stx ObjPtr ; CPU:$C213 PRG:4213 86 13
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C215
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C215:
|
|
inx ; CPU:$C215 PRG:4215 E8
|
|
lda ZpD8,x ; CPU:$C216 PRG:4216 B5 D8
|
|
beq Sub_C21F ; CPU:$C218 PRG:4218 F0 05
|
|
cpx #$07 ; CPU:$C21A PRG:421A E0 07
|
|
bne Sub_C215 ; CPU:$C21C PRG:421C D0 F7
|
|
rts ; CPU:$C21E PRG:421E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C21F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C21F:
|
|
sta Zp3E ; CPU:$C21F PRG:421F 85 3E
|
|
ldy ObjPtr ; CPU:$C221 PRG:4221 A4 13
|
|
lda #$25 ; CPU:$C223 PRG:4223 A9 25
|
|
sta a:$00D8,y ; CPU:$C225 PRG:4225 99 D8 00
|
|
lda #$27 ; CPU:$C228 PRG:4228 A9 27
|
|
sta ZpD8,x ; CPU:$C22A PRG:422A 95 D8
|
|
rts ; CPU:$C22C PRG:422C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C22D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C22D:
|
|
lda Zp44 ; CPU:$C22D PRG:422D A5 44
|
|
beq Sub_C23A ; CPU:$C22F PRG:422F F0 09
|
|
lda #$00 ; CPU:$C231 PRG:4231 A9 00
|
|
sta Zp44 ; CPU:$C233 PRG:4233 85 44
|
|
lda #$23 ; CPU:$C235 PRG:4235 A9 23
|
|
jsr ObjPushX ; CPU:$C237 PRG:4237 20 7D C2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C23A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C23A:
|
|
lda Zp3F ; CPU:$C23A PRG:423A A5 3F
|
|
beq Sub_C249 ; CPU:$C23C PRG:423C F0 0B
|
|
lda GameSubMode ; CPU:$C23E PRG:423E A5 1B
|
|
and Zp41 ; CPU:$C240 PRG:4240 25 41
|
|
bne Sub_C249 ; CPU:$C242 PRG:4242 D0 05
|
|
dec Zp3F ; CPU:$C244 PRG:4244 C6 3F
|
|
jsr ObjSubRoutine ; CPU:$C246 PRG:4246 20 65 C2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C249
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C249:
|
|
lda Zp30 ; CPU:$C249 PRG:4249 A5 30
|
|
bne Sub_C24E ; CPU:$C24B PRG:424B D0 01
|
|
rts ; CPU:$C24D PRG:424D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C24E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C24E:
|
|
ldx #$00 ; CPU:$C24E PRG:424E A2 00
|
|
lda Zp31 ; CPU:$C250 PRG:4250 A5 31
|
|
and #$7F ; CPU:$C252 PRG:4252 29 7F
|
|
tay ; CPU:$C254 PRG:4254 A8
|
|
lda Zp30 ; CPU:$C255 PRG:4255 A5 30
|
|
sta ObjUpdateFlag ; CPU:$C257 PRG:4257 85 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C259
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C259:
|
|
lda $C28F,y ; CPU:$C259 PRG:4259 B9 8F C2
|
|
sta ZpD8,x ; CPU:$C25C PRG:425C 95 D8
|
|
iny ; CPU:$C25E PRG:425E C8
|
|
inx ; CPU:$C25F PRG:425F E8
|
|
dec ObjUpdateFlag ; CPU:$C260 PRG:4260 C6 0E
|
|
bne Sub_C259 ; CPU:$C262 PRG:4262 D0 F5
|
|
rts ; CPU:$C264 PRG:4264 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSubRoutine
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSubRoutine:
|
|
ldx #$07 ; CPU:$C265 PRG:4265 A2 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C267
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C267:
|
|
lda ZpD8,x ; CPU:$C267 PRG:4267 B5 D8
|
|
beq Sub_C26F ; CPU:$C269 PRG:4269 F0 04
|
|
dex ; CPU:$C26B PRG:426B CA
|
|
bne Sub_C267 ; CPU:$C26C PRG:426C D0 F9
|
|
rts ; CPU:$C26E PRG:426E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C26F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C26F:
|
|
lda #$29 ; CPU:$C26F PRG:426F A9 29
|
|
sta ZpD8,x ; CPU:$C271 PRG:4271 95 D8
|
|
rts ; CPU:$C273 PRG:4273 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C274
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C274:
|
|
lda (Zp2A),y ; CPU:$C274 PRG:4274 B1 2A
|
|
iny ; CPU:$C276 PRG:4276 C8
|
|
iny ; CPU:$C277 PRG:4277 C8
|
|
jmp ObjPushX ; CPU:$C278 PRG:4278 4C 7D C2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSubRoutine2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSubRoutine2:
|
|
lda #$07 ; CPU:$C27B PRG:427B A9 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjPushX
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjPushX:
|
|
pha ; CPU:$C27D PRG:427D 48
|
|
ldx #$00 ; CPU:$C27E PRG:427E A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C280
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C280:
|
|
lda ZpD8,x ; CPU:$C280 PRG:4280 B5 D8
|
|
beq Sub_C28B ; CPU:$C282 PRG:4282 F0 07
|
|
inx ; CPU:$C284 PRG:4284 E8
|
|
cpx #$08 ; CPU:$C285 PRG:4285 E0 08
|
|
bne Sub_C280 ; CPU:$C287 PRG:4287 D0 F7
|
|
pla ; CPU:$C289 PRG:4289 68
|
|
rts ; CPU:$C28A PRG:428A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C28B:
|
|
pla ; CPU:$C28B PRG:428B 68
|
|
sta ZpD8,x ; CPU:$C28C PRG:428C 95 D8
|
|
rts ; CPU:$C28E PRG:428E 60
|
|
ObjInitDirTable:
|
|
; Object initial direction/speed table (read by lda $C28F,y during object init)
|
|
; ---- data $C28F-$C304 (118 bytes) ----
|
|
; referenced by `lda $C28F,y` at $C259 (operand $C28F falls inside this region)
|
|
.byte $00, $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03, $03, $19, $19, $19 ; CPU:$C28F PRG:428F 00 01 01 01 01 01 01 03 03 03 03 03 03 19 19 19
|
|
.byte $19, $19, $19, $05, $05, $05, $05, $05, $05, $07, $07, $07, $07, $07, $07, $09 ; CPU:$C29F PRG:429F 19 19 19 05 05 05 05 05 05 07 07 07 07 07 07 09
|
|
.byte $09, $09, $09, $09, $09, $03, $03, $0F, $0F, $0F, $0F, $0F, $0F, $0B, $0B, $0B ; CPU:$C2AF PRG:42AF 09 09 09 09 09 03 03 0F 0F 0F 0F 0F 0F 0B 0B 0B
|
|
.byte $0B, $0B, $0B, $0D, $0D, $0D, $11, $11, $11, $13, $13, $13, $15, $15, $15, $15 ; CPU:$C2BF PRG:42BF 0B 0B 0B 0D 0D 0D 11 11 11 13 13 13 15 15 15 15
|
|
.byte $15, $15, $15, $15, $15, $1B, $1B, $1B, $1B, $1B, $1B, $15, $15, $15, $1D, $1D ; CPU:$C2CF PRG:42CF 15 15 15 15 15 1B 1B 1B 1B 1B 1B 15 15 15 1D 1D
|
|
.byte $1D, $1D, $1D, $1D, $1F, $1F, $1F, $1F, $21, $21, $21, $21, $07, $07, $0F, $0F ; CPU:$C2DF PRG:42DF 1D 1D 1D 1D 1F 1F 1F 1F 21 21 21 21 07 07 0F 0F
|
|
.byte $0F, $0F, $19, $19, $1B, $1B, $0F, $0F, $0F, $0F, $1D, $1D, $15, $15, $17, $17 ; CPU:$C2EF PRG:42EF 0F 0F 19 19 1B 1B 0F 0F 0F 0F 1D 1D 15 15 17 17
|
|
.byte $17, $17, $0F, $0F, $0F, $0F ; CPU:$C2FF PRG:42FF 17 17 0F 0F 0F 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C305
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C305:
|
|
ora $1D0D ; CPU:$C305 PRG:4305 0D 0D 1D
|
|
ora $1D1D,x ; CPU:$C308 PRG:4308 1D 1D 1D
|
|
ora $1D1D,x ; CPU:$C30B PRG:430B 1D 1D 1D
|
|
; ---- data $C30E-$C30E (1 bytes) ----
|
|
.byte $1D ; CPU:$C30E PRG:430E 1D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C30F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C30F:
|
|
ldx #$00 ; CPU:$C30F PRG:430F A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C311
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C311:
|
|
lda $0500,x ; CPU:$C311 PRG:4311 BD 00 05
|
|
beq Sub_C322 ; CPU:$C314 PRG:4314 F0 0C
|
|
txa ; CPU:$C316 PRG:4316 8A
|
|
clc ; CPU:$C317 PRG:4317 18
|
|
adc #$10 ; CPU:$C318 PRG:4318 69 10
|
|
tax ; CPU:$C31A PRG:431A AA
|
|
cpx #$80 ; CPU:$C31B PRG:431B E0 80
|
|
bne Sub_C311 ; CPU:$C31D PRG:431D D0 F2
|
|
iny ; CPU:$C31F PRG:431F C8
|
|
iny ; CPU:$C320 PRG:4320 C8
|
|
rts ; CPU:$C321 PRG:4321 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C322
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C322:
|
|
lda #$01 ; CPU:$C322 PRG:4322 A9 01
|
|
sta $0500,x ; CPU:$C324 PRG:4324 9D 00 05
|
|
lda #$04 ; CPU:$C327 PRG:4327 A9 04
|
|
sta $050F,x ; CPU:$C329 PRG:4329 9D 0F 05
|
|
lda #$00 ; CPU:$C32C PRG:432C A9 00
|
|
sta $0501,x ; CPU:$C32E PRG:432E 9D 01 05
|
|
sta $0503,x ; CPU:$C331 PRG:4331 9D 03 05
|
|
sta $0505,x ; CPU:$C334 PRG:4334 9D 05 05
|
|
sta $0508,x ; CPU:$C337 PRG:4337 9D 08 05
|
|
sta $050C,x ; CPU:$C33A PRG:433A 9D 0C 05
|
|
lda (Zp2A),y ; CPU:$C33D PRG:433D B1 2A
|
|
sta $0504,x ; CPU:$C33F PRG:433F 9D 04 05
|
|
iny ; CPU:$C342 PRG:4342 C8
|
|
lda #$FF ; CPU:$C343 PRG:4343 A9 FF
|
|
sta $0506,x ; CPU:$C345 PRG:4345 9D 06 05
|
|
lda #$F1 ; CPU:$C348 PRG:4348 A9 F1
|
|
sta $0507,x ; CPU:$C34A PRG:434A 9D 07 05
|
|
lda (Zp2A),y ; CPU:$C34D PRG:434D B1 2A
|
|
iny ; CPU:$C34F PRG:434F C8
|
|
sty Zp2C ; CPU:$C350 PRG:4350 84 2C
|
|
tay ; CPU:$C352 PRG:4352 A8
|
|
lda $A8F5,y ; CPU:$C353 PRG:4353 B9 F5 A8
|
|
sta $050A,x ; CPU:$C356 PRG:4356 9D 0A 05
|
|
lda $A8F6,y ; CPU:$C359 PRG:4359 B9 F6 A8
|
|
sta $050B,x ; CPU:$C35C PRG:435C 9D 0B 05
|
|
ldy Zp2C ; CPU:$C35F PRG:435F A4 2C
|
|
jmp ObjSpriteAttrs ; CPU:$C361 PRG:4361 4C A0 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C364
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C364:
|
|
jsr ObjSpriteSetup ; CPU:$C364 PRG:4364 20 76 C3
|
|
lda #$00 ; CPU:$C367 PRG:4367 A9 00
|
|
sta $050E,x ; CPU:$C369 PRG:4369 9D 0E 05
|
|
rts ; CPU:$C36C PRG:436C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C36D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C36D:
|
|
jsr ObjSpriteSetup ; CPU:$C36D PRG:436D 20 76 C3
|
|
lda #$01 ; CPU:$C370 PRG:4370 A9 01
|
|
sta $050E,x ; CPU:$C372 PRG:4372 9D 0E 05
|
|
rts ; CPU:$C375 PRG:4375 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteSetup
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteSetup:
|
|
ldx #$00 ; CPU:$C376 PRG:4376 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C378
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C378:
|
|
lda $0500,x ; CPU:$C378 PRG:4378 BD 00 05
|
|
beq Sub_C38B ; CPU:$C37B PRG:437B F0 0E
|
|
txa ; CPU:$C37D PRG:437D 8A
|
|
clc ; CPU:$C37E PRG:437E 18
|
|
adc #$10 ; CPU:$C37F PRG:437F 69 10
|
|
tax ; CPU:$C381 PRG:4381 AA
|
|
cpx #$80 ; CPU:$C382 PRG:4382 E0 80
|
|
bne Sub_C378 ; CPU:$C384 PRG:4384 D0 F2
|
|
iny ; CPU:$C386 PRG:4386 C8
|
|
iny ; CPU:$C387 PRG:4387 C8
|
|
pla ; CPU:$C388 PRG:4388 68
|
|
pla ; CPU:$C389 PRG:4389 68
|
|
rts ; CPU:$C38A PRG:438A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C38B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C38B:
|
|
lda #$00 ; CPU:$C38B PRG:438B A9 00
|
|
sta $0503,x ; CPU:$C38D PRG:438D 9D 03 05
|
|
sta $0505,x ; CPU:$C390 PRG:4390 9D 05 05
|
|
sta $0508,x ; CPU:$C393 PRG:4393 9D 08 05
|
|
lda #$0B ; CPU:$C396 PRG:4396 A9 0B
|
|
sta $050C,x ; CPU:$C398 PRG:4398 9D 0C 05
|
|
lda (Zp2A),y ; CPU:$C39B PRG:439B B1 2A
|
|
sta $0504,x ; CPU:$C39D PRG:439D 9D 04 05
|
|
iny ; CPU:$C3A0 PRG:43A0 C8
|
|
lda #$FF ; CPU:$C3A1 PRG:43A1 A9 FF
|
|
sta $0506,x ; CPU:$C3A3 PRG:43A3 9D 06 05
|
|
lda (Zp2A),y ; CPU:$C3A6 PRG:43A6 B1 2A
|
|
and #$0F ; CPU:$C3A8 PRG:43A8 29 0F
|
|
sta $0500,x ; CPU:$C3AA PRG:43AA 9D 00 05
|
|
sec ; CPU:$C3AD PRG:43AD 38
|
|
sbc #$05 ; CPU:$C3AE PRG:43AE E9 05
|
|
sta $050F,x ; CPU:$C3B0 PRG:43B0 9D 0F 05
|
|
lda (Zp2A),y ; CPU:$C3B3 PRG:43B3 B1 2A
|
|
iny ; CPU:$C3B5 PRG:43B5 C8
|
|
lsr a ; CPU:$C3B6 PRG:43B6 4A
|
|
lsr a ; CPU:$C3B7 PRG:43B7 4A
|
|
lsr a ; CPU:$C3B8 PRG:43B8 4A
|
|
lsr a ; CPU:$C3B9 PRG:43B9 4A
|
|
clc ; CPU:$C3BA PRG:43BA 18
|
|
adc #$F1 ; CPU:$C3BB PRG:43BB 69 F1
|
|
sta $0507,x ; CPU:$C3BD PRG:43BD 9D 07 05
|
|
lda #$00 ; CPU:$C3C0 PRG:43C0 A9 00
|
|
sta $050E,x ; CPU:$C3C2 PRG:43C2 9D 0E 05
|
|
rts ; CPU:$C3C5 PRG:43C5 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjDrawCall
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjDrawCall:
|
|
ldx #$00 ; CPU:$C3C6 PRG:43C6 A2 00
|
|
stx Zp2E ; CPU:$C3C8 PRG:43C8 86 2E
|
|
lda GameSubMode ; CPU:$C3CA PRG:43CA A5 1B
|
|
and #$01 ; CPU:$C3CC PRG:43CC 29 01
|
|
bne Sub_C407 ; CPU:$C3CE PRG:43CE D0 37
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C3D0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C3D0:
|
|
lda $0507,x ; CPU:$C3D0 PRG:43D0 BD 07 05
|
|
clc ; CPU:$C3D3 PRG:43D3 18
|
|
adc Zp25 ; CPU:$C3D4 PRG:43D4 65 25
|
|
bcc Sub_C3E2 ; CPU:$C3D6 PRG:43D6 90 0A
|
|
inc $0506,x ; CPU:$C3D8 PRG:43D8 FE 06 05
|
|
beq Sub_C3E2 ; CPU:$C3DB PRG:43DB F0 05
|
|
lda #$00 ; CPU:$C3DD PRG:43DD A9 00
|
|
sta $0500,x ; CPU:$C3DF PRG:43DF 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C3E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C3E2:
|
|
sta $0507,x ; CPU:$C3E2 PRG:43E2 9D 07 05
|
|
jsr ObjSpriteAttr ; CPU:$C3E5 PRG:43E5 20 2D C4
|
|
txa ; CPU:$C3E8 PRG:43E8 8A
|
|
clc ; CPU:$C3E9 PRG:43E9 18
|
|
adc #$10 ; CPU:$C3EA PRG:43EA 69 10
|
|
tax ; CPU:$C3EC PRG:43EC AA
|
|
cpx #$80 ; CPU:$C3ED PRG:43ED E0 80
|
|
bne Sub_C3D0 ; CPU:$C3EF PRG:43EF D0 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteCheck:
|
|
ldx #$00 ; CPU:$C3F1 PRG:43F1 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C3F3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C3F3:
|
|
lda $0500,x ; CPU:$C3F3 PRG:43F3 BD 00 05
|
|
cmp #$04 ; CPU:$C3F6 PRG:43F6 C9 04
|
|
bne Sub_C3FD ; CPU:$C3F8 PRG:43F8 D0 03
|
|
jsr ObjSpriteIndex ; CPU:$C3FA PRG:43FA 20 99 C6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C3FD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C3FD:
|
|
txa ; CPU:$C3FD PRG:43FD 8A
|
|
clc ; CPU:$C3FE PRG:43FE 18
|
|
adc #$10 ; CPU:$C3FF PRG:43FF 69 10
|
|
tax ; CPU:$C401 PRG:4401 AA
|
|
cpx #$80 ; CPU:$C402 PRG:4402 E0 80
|
|
bne Sub_C3F3 ; CPU:$C404 PRG:4404 D0 ED
|
|
rts ; CPU:$C406 PRG:4406 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C407
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C407:
|
|
ldx #$70 ; CPU:$C407 PRG:4407 A2 70
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C409
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C409:
|
|
lda $0507,x ; CPU:$C409 PRG:4409 BD 07 05
|
|
clc ; CPU:$C40C PRG:440C 18
|
|
adc Zp25 ; CPU:$C40D PRG:440D 65 25
|
|
bcc Sub_C41B ; CPU:$C40F PRG:440F 90 0A
|
|
inc $0506,x ; CPU:$C411 PRG:4411 FE 06 05
|
|
beq Sub_C41B ; CPU:$C414 PRG:4414 F0 05
|
|
lda #$00 ; CPU:$C416 PRG:4416 A9 00
|
|
sta $0500,x ; CPU:$C418 PRG:4418 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C41B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C41B:
|
|
sta $0507,x ; CPU:$C41B PRG:441B 9D 07 05
|
|
jsr ObjSpriteAttr ; CPU:$C41E PRG:441E 20 2D C4
|
|
txa ; CPU:$C421 PRG:4421 8A
|
|
sec ; CPU:$C422 PRG:4422 38
|
|
sbc #$10 ; CPU:$C423 PRG:4423 E9 10
|
|
tax ; CPU:$C425 PRG:4425 AA
|
|
cpx #$F0 ; CPU:$C426 PRG:4426 E0 F0
|
|
bne Sub_C409 ; CPU:$C428 PRG:4428 D0 DF
|
|
jmp ObjSpriteCheck ; CPU:$C42A PRG:442A 4C F1 C3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteAttr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteAttr:
|
|
lda $0500,x ; CPU:$C42D PRG:442D BD 00 05
|
|
and #$1F ; CPU:$C430 PRG:4430 29 1F
|
|
sta $0500,x ; CPU:$C432 PRG:4432 9D 00 05
|
|
asl a ; CPU:$C435 PRG:4435 0A
|
|
tay ; CPU:$C436 PRG:4436 A8
|
|
lda $C441,y ; CPU:$C437 PRG:4437 B9 41 C4
|
|
pha ; CPU:$C43A PRG:443A 48
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C43B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C43B:
|
|
lda $C440,y ; CPU:$C43B PRG:443B B9 40 C4
|
|
pha ; CPU:$C43E PRG:443E 48
|
|
rts ; CPU:$C43F PRG:443F 60
|
|
; ---- data $C440-$C444 (5 bytes) ----
|
|
; referenced by `lda $C441,y` at $C437 (operand $C441 falls inside this region)
|
|
; referenced by `lda $C440,y` at $C43B (operand $C440 falls inside this region)
|
|
.byte $3E, $C4, $D0, $C5, $12 ; CPU:$C440 PRG:4440 3E C4 D0 C5 12
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C445
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C445:
|
|
dec Zp5E ; CPU:$C445 PRG:4445 C6 5E
|
|
dec Zp3E ; CPU:$C447 PRG:4447 C6 3E
|
|
cpy Zp7B ; CPU:$C449 PRG:4449 C4 7B
|
|
dec Zp6C ; CPU:$C44B PRG:444B C6 6C
|
|
cpy Zp69 ; CPU:$C44D PRG:444D C4 69
|
|
cpy Zp77 ; CPU:$C44F PRG:444F C4 77
|
|
cpy Zp8E ; CPU:$C451 PRG:4451 C4 8E
|
|
cpy ZpC3 ; CPU:$C453 PRG:4453 C4 C3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C455
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C455:
|
|
cpy ZpC6 ; CPU:$C455 PRG:4455 C4 C6
|
|
cpy ZpC3 ; CPU:$C457 PRG:4457 C4 C3
|
|
cpy Zp8B ; CPU:$C459 PRG:4459 C4 8B
|
|
cpy ZpAD ; CPU:$C45B PRG:445B C4 AD
|
|
cpy Joypad2Cur2 ; CPU:$C45D PRG:445D C4 0A
|
|
cmp NmiFrameFlag ; CPU:$C45F PRG:445F C5 0D
|
|
cmp Zp52 ; CPU:$C461 PRG:4461 C5 52
|
|
cmp Zp3A ; CPU:$C463 PRG:4463 C5 3A
|
|
cmp Zp52 ; CPU:$C465 PRG:4465 C5 52
|
|
cmp Zp25 ; CPU:$C467 PRG:4467 C5 25
|
|
cmp Zp20 ; CPU:$C469 PRG:4469 C5 20
|
|
adc $20C5,y ; CPU:$C46B PRG:446B 79 C5 20
|
|
ldy ZpC6,x ; CPU:$C46E PRG:446E B4 C6
|
|
lda $0500,x ; CPU:$C470 PRG:4470 BD 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C473
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C473:
|
|
bmi Sub_C4E6 ; CPU:$C473 PRG:4473 30 71
|
|
jmp ObjCommonUpdate ; CPU:$C475 PRG:4475 4C D8 C7
|
|
; ---- data $C478-$C47C (5 bytes) ----
|
|
.byte $20, $B4, $C6, $BD, $00 ; CPU:$C478 PRG:4478 20 B4 C6 BD 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C47D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C47D:
|
|
ora Zp30 ; CPU:$C47D PRG:447D 05 30
|
|
ror Zp29 ; CPU:$C47F PRG:447F 66 29
|
|
rti ; CPU:$C481 PRG:4481 40
|
|
; ---- data $C482-$C499 (24 bytes) ----
|
|
.byte $F0, $05, $A9, $07, $9D, $00, $05, $4C, $D8, $C7, $20, $79, $C5, $20, $B4, $C6 ; CPU:$C482 PRG:4482 F0 05 A9 07 9D 00 05 4C D8 C7 20 79 C5 20 B4 C6
|
|
.byte $BD, $00, $05, $30, $4F, $29, $20, $F0 ; CPU:$C492 PRG:4492 BD 00 05 30 4F 29 20 F0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C49A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C49A:
|
|
bpl Sub_C445 ; CPU:$C49A PRG:449A 10 A9
|
|
bvc Sub_C43B ; CPU:$C49C PRG:449C 50 9D
|
|
ora #$05 ; CPU:$C49E PRG:449E 09 05
|
|
lda $0500,x ; CPU:$C4A0 PRG:44A0 BD 00 05
|
|
and #$1F ; CPU:$C4A3 PRG:44A3 29 1F
|
|
clc ; CPU:$C4A5 PRG:44A5 18
|
|
adc #$06 ; CPU:$C4A6 PRG:44A6 69 06
|
|
sta $0500,x ; CPU:$C4A8 PRG:44A8 9D 00 05
|
|
jmp ObjCommonUpdate ; CPU:$C4AB PRG:44AB 4C D8 C7
|
|
; ---- data $C4AE-$C4D1 (36 bytes) ----
|
|
.byte $20, $B4, $C6, $BD, $00, $05, $30, $30, $29, $20, $F0, $F1, $A9, $38, $9D, $09 ; CPU:$C4AE PRG:44AE 20 B4 C6 BD 00 05 30 30 29 20 F0 F1 A9 38 9D 09
|
|
.byte $05, $A9, $14, $4C, $20, $C5, $20, $79, $C5, $20, $B4, $C6, $BD, $00, $05, $30 ; CPU:$C4BE PRG:44BE 05 A9 14 4C 20 C5 20 79 C5 20 B4 C6 BD 00 05 30
|
|
.byte $17, $29, $40, $F0 ; CPU:$C4CE PRG:44CE 17 29 40 F0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C4D2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C4D2:
|
|
bpl Sub_C47D ; CPU:$C4D2 PRG:44D2 10 A9
|
|
bvc Sub_C473 ; CPU:$C4D4 PRG:44D4 50 9D
|
|
ora #$05 ; CPU:$C4D6 PRG:44D6 09 05
|
|
lda $0500,x ; CPU:$C4D8 PRG:44D8 BD 00 05
|
|
and #$1F ; CPU:$C4DB PRG:44DB 29 1F
|
|
clc ; CPU:$C4DD PRG:44DD 18
|
|
adc #$06 ; CPU:$C4DE PRG:44DE 69 06
|
|
sta $0500,x ; CPU:$C4E0 PRG:44E0 9D 00 05
|
|
jmp ObjCommonUpdate ; CPU:$C4E3 PRG:44E3 4C D8 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C4E6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C4E6:
|
|
lda $050E,x ; CPU:$C4E6 PRG:44E6 BD 0E 05
|
|
bne Sub_C4FB ; CPU:$C4E9 PRG:44E9 D0 10
|
|
lda #$03 ; CPU:$C4EB PRG:44EB A9 03
|
|
sta $0500,x ; CPU:$C4ED PRG:44ED 9D 00 05
|
|
lda #$05 ; CPU:$C4F0 PRG:44F0 A9 05
|
|
; ---- data $C4F2-$C4F3 (2 bytes) ----
|
|
.byte $9D, $0C ; CPU:$C4F2 PRG:44F2 9D 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C4F4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C4F4:
|
|
ora ZpA9 ; CPU:$C4F4 PRG:44F4 05 A9
|
|
php ; CPU:$C4F6 PRG:44F6 08
|
|
sta $050D,x ; CPU:$C4F7 PRG:44F7 9D 0D 05
|
|
rts ; CPU:$C4FA PRG:44FA 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C4FB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C4FB:
|
|
lda #$05 ; CPU:$C4FB PRG:44FB A9 05
|
|
; ---- data $C4FD-$C4FE (2 bytes) ----
|
|
.byte $9D, $00 ; CPU:$C4FD PRG:44FD 9D 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C4FF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C4FF:
|
|
ora ZpA9 ; CPU:$C4FF PRG:44FF 05 A9
|
|
asl $0C9D ; CPU:$C501 PRG:4501 0E 9D 0C
|
|
ora ZpA9 ; CPU:$C504 PRG:4504 05 A9
|
|
php ; CPU:$C506 PRG:4506 08
|
|
sta $050D,x ; CPU:$C507 PRG:4507 9D 0D 05
|
|
rts ; CPU:$C50A PRG:450A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C50B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C50B:
|
|
jsr ObjXUpdate ; CPU:$C50B PRG:450B 20 79 C5
|
|
jsr ObjSpriteY ; CPU:$C50E PRG:450E 20 B4 C6
|
|
lda $0500,x ; CPU:$C511 PRG:4511 BD 00 05
|
|
bmi Sub_C4E6 ; CPU:$C514 PRG:4514 30 D0
|
|
dec $0509,x ; CPU:$C516 PRG:4516 DE 09 05
|
|
bne Sub_C523 ; CPU:$C519 PRG:4519 D0 08
|
|
and #$1F ; CPU:$C51B PRG:451B 29 1F
|
|
sec ; CPU:$C51D PRG:451D 38
|
|
sbc #$09 ; CPU:$C51E PRG:451E E9 09
|
|
sta $0500,x ; CPU:$C520 PRG:4520 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C523
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C523:
|
|
jmp ObjCommonUpdate ; CPU:$C523 PRG:4523 4C D8 C7
|
|
; ---- data $C526-$C53A (21 bytes) ----
|
|
.byte $20, $74, $C5, $20, $B4, $C6, $BD, $00, $05, $30, $B5, $DE, $09, $05, $D0, $3B ; CPU:$C526 PRG:4526 20 74 C5 20 B4 C6 BD 00 05 30 B5 DE 09 05 D0 3B
|
|
.byte $A9, $0E, $4C, $20, $C5 ; CPU:$C536 PRG:4536 A9 0E 4C 20 C5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C53B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C53B:
|
|
jsr ObjYUpdate ; CPU:$C53B PRG:453B 20 74 C5
|
|
jsr ObjSpriteY ; CPU:$C53E PRG:453E 20 B4 C6
|
|
lda $0500,x ; CPU:$C541 PRG:4541 BD 00 05
|
|
bmi Sub_C4E6 ; CPU:$C544 PRG:4544 30 A0
|
|
dec $0509,x ; CPU:$C546 PRG:4546 DE 09 05
|
|
bne Sub_C571 ; CPU:$C549 PRG:4549 D0 26
|
|
and #$1F ; CPU:$C54B PRG:454B 29 1F
|
|
sec ; CPU:$C54D PRG:454D 38
|
|
sbc #$0E ; CPU:$C54E PRG:454E E9 0E
|
|
jmp ObjYCheck ; CPU:$C550 PRG:4550 4C 68 C5
|
|
; ---- data $C553-$C567 (21 bytes) ----
|
|
.byte $20, $A3, $C5, $20, $B4, $C6, $BD, $00, $05, $30, $88, $DE, $09, $05, $D0, $C0 ; CPU:$C553 PRG:4553 20 A3 C5 20 B4 C6 BD 00 05 30 88 DE 09 05 D0 C0
|
|
.byte $29, $1F, $38, $E9, $0B ; CPU:$C563 PRG:4563 29 1F 38 E9 0B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjYCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjYCheck:
|
|
cmp #$06 ; CPU:$C568 PRG:4568 C9 06
|
|
beq Sub_C56E ; CPU:$C56A PRG:456A F0 02
|
|
lda #$07 ; CPU:$C56C PRG:456C A9 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C56E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C56E:
|
|
sta $0500,x ; CPU:$C56E PRG:456E 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C571
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C571:
|
|
jmp ObjCommonUpdate ; CPU:$C571 PRG:4571 4C D8 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjYUpdate
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjYUpdate:
|
|
lda #$E0 ; CPU:$C574 PRG:4574 A9 E0
|
|
jmp ObjXUpdate2 ; CPU:$C576 PRG:4576 4C 7B C5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjXUpdate
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjXUpdate:
|
|
lda #$60 ; CPU:$C579 PRG:4579 A9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjXUpdate2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjXUpdate2:
|
|
clc ; CPU:$C57B PRG:457B 18
|
|
adc $0508,x ; CPU:$C57C PRG:457C 7D 08 05
|
|
sta $0508,x ; CPU:$C57F PRG:457F 9D 08 05
|
|
bcc Sub_C58C ; CPU:$C582 PRG:4582 90 08
|
|
inc $0507,x ; CPU:$C584 PRG:4584 FE 07 05
|
|
bne Sub_C58C ; CPU:$C587 PRG:4587 D0 03
|
|
inc $0506,x ; CPU:$C589 PRG:4589 FE 06 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C58C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C58C:
|
|
lda $0507,x ; CPU:$C58C PRG:458C BD 07 05
|
|
and #$03 ; CPU:$C58F PRG:458F 29 03
|
|
bne Sub_C5A2 ; CPU:$C591 PRG:4591 D0 0F
|
|
inc $050C,x ; CPU:$C593 PRG:4593 FE 0C 05
|
|
lda $050C,x ; CPU:$C596 PRG:4596 BD 0C 05
|
|
cmp #$0E ; CPU:$C599 PRG:4599 C9 0E
|
|
bne Sub_C5A2 ; CPU:$C59B PRG:459B D0 05
|
|
lda #$0B ; CPU:$C59D PRG:459D A9 0B
|
|
sta $050C,x ; CPU:$C59F PRG:459F 9D 0C 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C5A2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C5A2:
|
|
rts ; CPU:$C5A2 PRG:45A2 60
|
|
; ---- data $C5A3-$C625 (131 bytes) ----
|
|
.byte $BD, $08, $05, $38, $E9, $60, $9D, $08, $05, $B0, $0D, $DE, $07, $05, $BD, $07 ; CPU:$C5A3 PRG:45A3 BD 08 05 38 E9 60 9D 08 05 B0 0D DE 07 05 BD 07
|
|
.byte $05, $C9, $FF, $D0, $03, $DE, $06, $05, $A5, $1B, $29, $07, $D0, $0F, $DE, $0C ; CPU:$C5B3 PRG:45B3 05 C9 FF D0 03 DE 06 05 A5 1B 29 07 D0 0F DE 0C
|
|
.byte $05, $BD, $0C, $05, $C9, $0A, $D0, $05, $A9, $0D, $9D, $0C, $05, $60, $20, $B4 ; CPU:$C5C3 PRG:45C3 05 BD 0C 05 C9 0A D0 05 A9 0D 9D 0C 05 60 20 B4
|
|
.byte $C6, $BD, $00, $05, $30, $76, $20, $46, $C7, $20, $D8, $C7, $20, $B4, $C6, $BD ; CPU:$C5D3 PRG:45D3 C6 BD 00 05 30 76 20 46 C7 20 D8 C7 20 B4 C6 BD
|
|
.byte $00, $05, $30, $68, $BD, $06, $05, $D0, $26, $BD, $07, $05, $C5, $91, $B0, $1F ; CPU:$C5E3 PRG:45E3 00 05 30 68 BD 06 05 D0 26 BD 07 05 C5 91 B0 1F
|
|
.byte $BD, $0E, $05, $D0, $0B, $20, $5C, $F5, $25, $97, $18, $69, $30, $9D, $0E, $05 ; CPU:$C5F3 PRG:45F3 BD 0E 05 D0 0B 20 5C F5 25 97 18 69 30 9D 0E 05
|
|
.byte $DE, $0E, $05, $D0, $0A, $A9, $08, $9D, $0D, $05, $A9, $02, $9D, $00, $05, $60 ; CPU:$C603 PRG:4603 DE 0E 05 D0 0A A9 08 9D 0D 05 A9 02 9D 00 05 60
|
|
.byte $20, $B4, $C6, $BD, $00, $05, $30, $34, $20, $46, $C7, $20, $D8, $C7, $20, $B4 ; CPU:$C613 PRG:4613 20 B4 C6 BD 00 05 30 34 20 46 C7 20 D8 C7 20 B4
|
|
.byte $C6, $BD, $00 ; CPU:$C623 PRG:4623 C6 BD 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C626
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C626:
|
|
ora Zp30 ; CPU:$C626 PRG:4626 05 30
|
|
rol ZpDE ; CPU:$C628 PRG:4628 26 DE
|
|
ora $D005 ; CPU:$C62A PRG:462A 0D 05 D0
|
|
jsr $08A9 ; CPU:$C62D PRG:462D 20 A9 08
|
|
sta $050D,x ; CPU:$C630 PRG:4630 9D 0D 05
|
|
inc $050C,x ; CPU:$C633 PRG:4633 FE 0C 05
|
|
lda $050C,x ; CPU:$C636 PRG:4636 BD 0C 05
|
|
cmp #$03 ; CPU:$C639 PRG:4639 C9 03
|
|
bne Sub_C640 ; CPU:$C63B PRG:463B D0 03
|
|
jmp DispatchJsrStoreLdaClc2 ; CPU:$C63D PRG:463D 4C 65 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C640
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C640:
|
|
cmp #$05 ; CPU:$C640 PRG:4640 C9 05
|
|
bne Sub_C64E ; CPU:$C642 PRG:4642 D0 0A
|
|
lda #$00 ; CPU:$C644 PRG:4644 A9 00
|
|
sta $050C,x ; CPU:$C646 PRG:4646 9D 0C 05
|
|
lda #$01 ; CPU:$C649 PRG:4649 A9 01
|
|
sta $0500,x ; CPU:$C64B PRG:464B 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C64E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_C64E:
|
|
rts ; CPU:$C64E PRG:464E 60
|
|
; ---- data $C64F-$C657 (9 bytes) ----
|
|
.byte $A9, $03, $9D, $00, $05, $A9, $05, $9D, $0C ; CPU:$C64F PRG:464F A9 03 9D 00 05 A9 05 9D 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C658
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C658:
|
|
ora ZpA9 ; CPU:$C658 PRG:4658 05 A9
|
|
php ; CPU:$C65A PRG:465A 08
|
|
sta $050D,x ; CPU:$C65B PRG:465B 9D 0D 05
|
|
rts ; CPU:$C65E PRG:465E 60
|
|
; ---- data $C65F-$C698 (58 bytes) ----
|
|
.byte $20, $D8, $C7, $DE, $0D, $05, $D0, $14, $A9, $08, $9D, $0D, $05, $FE, $0C, $05 ; CPU:$C65F PRG:465F 20 D8 C7 DE 0D 05 D0 14 A9 08 9D 0D 05 FE 0C 05
|
|
.byte $BD, $0C, $05, $C9, $0A, $D0, $05, $A9, $04, $9D, $00, $05, $60, $20, $D8, $C7 ; CPU:$C66F PRG:466F BD 0C 05 C9 0A D0 05 A9 04 9D 00 05 60 20 D8 C7
|
|
.byte $DE, $0D, $05, $D0, $14, $A9, $08, $9D, $0D, $05, $FE, $0C, $05, $BD, $0C, $05 ; CPU:$C67F PRG:467F DE 0D 05 D0 14 A9 08 9D 0D 05 FE 0C 05 BD 0C 05
|
|
.byte $C9, $13, $D0, $05, $A9, $00, $9D, $00, $05, $60 ; CPU:$C68F PRG:468F C9 13 D0 05 A9 00 9D 00 05 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteIndex
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteIndex:
|
|
txa ; CPU:$C699 PRG:4699 8A
|
|
lsr a ; CPU:$C69A PRG:469A 4A
|
|
lsr a ; CPU:$C69B PRG:469B 4A
|
|
lsr a ; CPU:$C69C PRG:469C 4A
|
|
lsr a ; CPU:$C69D PRG:469D 4A
|
|
adc GameSubMode ; CPU:$C69E PRG:469E 65 1B
|
|
and #$04 ; CPU:$C6A0 PRG:46A0 29 04
|
|
beq Sub_C6AC ; CPU:$C6A2 PRG:46A2 F0 08
|
|
lda #$13 ; CPU:$C6A4 PRG:46A4 A9 13
|
|
sta $050C,x ; CPU:$C6A6 PRG:46A6 9D 0C 05
|
|
jsr ObjCommonUpdate ; CPU:$C6A9 PRG:46A9 20 D8 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C6AC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C6AC:
|
|
lda #$0A ; CPU:$C6AC PRG:46AC A9 0A
|
|
sta $050C,x ; CPU:$C6AE PRG:46AE 9D 0C 05
|
|
jmp ObjCommonUpdate ; CPU:$C6B1 PRG:46B1 4C D8 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteY
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteY:
|
|
lda $0506,x ; CPU:$C6B4 PRG:46B4 BD 06 05
|
|
bne Sub_C71F ; CPU:$C6B7 PRG:46B7 D0 66
|
|
lda $0507,x ; CPU:$C6B9 PRG:46B9 BD 07 05
|
|
sec ; CPU:$C6BC PRG:46BC 38
|
|
sbc Zp24 ; CPU:$C6BD PRG:46BD E5 24
|
|
clc ; CPU:$C6BF PRG:46BF 18
|
|
adc #$4B ; CPU:$C6C0 PRG:46C0 69 4B
|
|
cmp #$17 ; CPU:$C6C2 PRG:46C2 C9 17
|
|
bcs Sub_C6DF ; CPU:$C6C4 PRG:46C4 B0 19
|
|
lda $0504,x ; CPU:$C6C6 PRG:46C6 BD 04 05
|
|
sec ; CPU:$C6C9 PRG:46C9 38
|
|
sbc Zp23 ; CPU:$C6CA PRG:46CA E5 23
|
|
clc ; CPU:$C6CC PRG:46CC 18
|
|
adc #$0B ; CPU:$C6CD PRG:46CD 69 0B
|
|
cmp #$17 ; CPU:$C6CF PRG:46CF C9 17
|
|
bcs Sub_C6DF ; CPU:$C6D1 PRG:46D1 B0 0C
|
|
; ---- data $C6D3-$C6D3 (1 bytes) ----
|
|
.byte $A9 ; CPU:$C6D3 PRG:46D3 A9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C6D4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C6D4:
|
|
ora (Zp85,x) ; CPU:$C6D4 PRG:46D4 01 85
|
|
rol a:$00BD ; CPU:$C6D6 PRG:46D6 2E BD 00
|
|
ora Joypad1Press ; CPU:$C6D9 PRG:46D9 05 09
|
|
rti ; CPU:$C6DB PRG:46DB 40
|
|
sta $0500,x ; CPU:$C6DC PRG:46DC 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C6DF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C6DF:
|
|
lda $02A0 ; CPU:$C6DF PRG:46DF AD A0 02
|
|
beq Sub_C71F ; CPU:$C6E2 PRG:46E2 F0 3B
|
|
lda $0507,x ; CPU:$C6E4 PRG:46E4 BD 07 05
|
|
sec ; CPU:$C6E7 PRG:46E7 38
|
|
sbc $02A4 ; CPU:$C6E8 PRG:46E8 ED A4 02
|
|
clc ; CPU:$C6EB PRG:46EB 18
|
|
adc #$0C ; CPU:$C6EC PRG:46EC 69 0C
|
|
cmp #$17 ; CPU:$C6EE PRG:46EE C9 17
|
|
bcs Sub_C71F ; CPU:$C6F0 PRG:46F0 B0 2D
|
|
lda $0504,x ; CPU:$C6F2 PRG:46F2 BD 04 05
|
|
sec ; CPU:$C6F5 PRG:46F5 38
|
|
sbc $02A3 ; CPU:$C6F6 PRG:46F6 ED A3 02
|
|
clc ; CPU:$C6F9 PRG:46F9 18
|
|
adc #$0C ; CPU:$C6FA PRG:46FA 69 0C
|
|
cmp #$17 ; CPU:$C6FC PRG:46FC C9 17
|
|
bcs Sub_C71F ; CPU:$C6FE PRG:46FE B0 1F
|
|
lda $02A0 ; CPU:$C700 PRG:4700 AD A0 02
|
|
cmp #$20 ; CPU:$C703 PRG:4703 C9 20
|
|
bne Sub_C717 ; CPU:$C705 PRG:4705 D0 10
|
|
lda $0500,x ; CPU:$C707 PRG:4707 BD 00 05
|
|
ora #$80 ; CPU:$C70A PRG:470A 09 80
|
|
sta $0500,x ; CPU:$C70C PRG:470C 9D 00 05
|
|
lda #$01 ; CPU:$C70F PRG:470F A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C711
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C711:
|
|
sta $0612 ; CPU:$C711 PRG:4711 8D 12 06
|
|
jsr ObjSpriteX ; CPU:$C714 PRG:4714 20 20 C7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C717
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C717:
|
|
lda $0500,x ; CPU:$C717 PRG:4717 BD 00 05
|
|
ora #$20 ; CPU:$C71A PRG:471A 09 20
|
|
sta $0500,x ; CPU:$C71C PRG:471C 9D 00 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C71F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C71F:
|
|
rts ; CPU:$C71F PRG:471F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteX
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteX:
|
|
lda $050F,x ; CPU:$C720 PRG:4720 BD 0F 05
|
|
cmp #$05 ; CPU:$C723 PRG:4723 C9 05
|
|
bcs Sub_C72B ; CPU:$C725 PRG:4725 B0 04
|
|
asl a ; CPU:$C727 PRG:4727 0A
|
|
jmp ObjSpritesInit5 ; CPU:$C728 PRG:4728 4C 54 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C72B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C72B:
|
|
sec ; CPU:$C72B PRG:472B 38
|
|
sbc #$05 ; CPU:$C72C PRG:472C E9 05
|
|
tay ; CPU:$C72E PRG:472E A8
|
|
lda $C741,y ; CPU:$C72F PRG:472F B9 41 C7
|
|
jsr ObjSpritesInit4 ; CPU:$C732 PRG:4732 20 5B BF
|
|
lda $050F,x ; CPU:$C735 PRG:4735 BD 0F 05
|
|
and #$01 ; CPU:$C738 PRG:4738 29 01
|
|
bne Sub_C71F ; CPU:$C73A PRG:473A D0 E3
|
|
lda #$05 ; CPU:$C73C PRG:473C A9 05
|
|
jmp ObjSpritesInit5 ; CPU:$C73E PRG:473E 4C 54 BF
|
|
; ---- data $C741-$C79F (95 bytes) ----
|
|
; referenced by `lda $C741,y` at $C72F (operand $C741 falls inside this region)
|
|
.byte $01, $01, $02, $02, $0A, $BD, $02, $05, $0A, $0A, $29, $7C, $A8, $20, $C4, $C7 ; CPU:$C741 PRG:4741 01 01 02 02 0A BD 02 05 0A 0A 29 7C A8 20 C4 C7
|
|
.byte $A5, $35, $18, $7D, $05, $05, $9D, $05, $05, $A5, $36, $7D, $04, $05, $9D, $04 ; CPU:$C751 PRG:4751 A5 35 18 7D 05 05 9D 05 05 A5 36 7D 04 05 9D 04
|
|
.byte $05, $A5, $13, $7D, $03, $05, $9D, $03, $05, $F0, $06, $A9, $00, $9D, $00, $05 ; CPU:$C761 PRG:4761 05 A5 13 7D 03 05 9D 03 05 F0 06 A9 00 9D 00 05
|
|
.byte $60, $BD, $04, $05, $C9, $F1, $B0, $F3, $C8, $C8, $20, $C4, $C7, $A5, $35, $18 ; CPU:$C771 PRG:4771 60 BD 04 05 C9 F1 B0 F3 C8 C8 20 C4 C7 A5 35 18
|
|
.byte $7D, $08, $05, $9D, $08, $05, $A5, $36, $7D, $07, $05, $9D, $07, $05, $A5, $13 ; CPU:$C781 PRG:4781 7D 08 05 9D 08 05 A5 36 7D 07 05 9D 07 05 A5 13
|
|
.byte $7D, $06, $05, $9D, $06, $05, $30, $02, $D0, $D1, $DE, $09, $05, $D0, $23 ; CPU:$C791 PRG:4791 7D 06 05 9D 06 05 30 02 D0 D1 DE 09 05 D0 23
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjSpriteAttrs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjSpriteAttrs:
|
|
lda $050A,x ; CPU:$C7A0 PRG:47A0 BD 0A 05
|
|
sta VramPtrLo ; CPU:$C7A3 PRG:47A3 85 04
|
|
lda $050B,x ; CPU:$C7A5 PRG:47A5 BD 0B 05
|
|
sta VramCopyCount ; CPU:$C7A8 PRG:47A8 85 05
|
|
lda $0501,x ; CPU:$C7AA PRG:47AA BD 01 05
|
|
sty Zp2C ; CPU:$C7AD PRG:47AD 84 2C
|
|
tay ; CPU:$C7AF PRG:47AF A8
|
|
inc $0501,x ; CPU:$C7B0 PRG:47B0 FE 01 05
|
|
inc $0501,x ; CPU:$C7B3 PRG:47B3 FE 01 05
|
|
lda (VramPtrLo),y ; CPU:$C7B6 PRG:47B6 B1 04
|
|
sta $0502,x ; CPU:$C7B8 PRG:47B8 9D 02 05
|
|
iny ; CPU:$C7BB PRG:47BB C8
|
|
lda (VramPtrLo),y ; CPU:$C7BC PRG:47BC B1 04
|
|
sta $0509,x ; CPU:$C7BE PRG:47BE 9D 09 05
|
|
ldy Zp2C ; CPU:$C7C1 PRG:47C1 A4 2C
|
|
rts ; CPU:$C7C3 PRG:47C3 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C7C4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C7C4:
|
|
lda #$00 ; CPU:$C7C4 PRG:47C4 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C7C6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C7C6:
|
|
sta ObjPtr ; CPU:$C7C6 PRG:47C6 85 13
|
|
lda $C93C,y ; CPU:$C7C8 PRG:47C8 B9 3C C9
|
|
sta ObjectYLo ; CPU:$C7CB PRG:47CB 85 35
|
|
lda $C93D,y ; CPU:$C7CD PRG:47CD B9 3D C9
|
|
sta ObjectYHi ; CPU:$C7D0 PRG:47D0 85 36
|
|
asl a ; CPU:$C7D2 PRG:47D2 0A
|
|
bcc Sub_C7D7 ; CPU:$C7D3 PRG:47D3 90 02
|
|
dec ObjPtr ; CPU:$C7D5 PRG:47D5 C6 13
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C7D7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C7D7:
|
|
rts ; CPU:$C7D7 PRG:47D7 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjCommonUpdate
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjCommonUpdate:
|
|
lda $0506,x ; CPU:$C7D8 PRG:47D8 BD 06 05
|
|
ora $0503,x ; CPU:$C7DB PRG:47DB 1D 03 05
|
|
beq Sub_C7E1 ; CPU:$C7DE PRG:47DE F0 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C7E0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C7E0:
|
|
rts ; CPU:$C7E0 PRG:47E0 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C7E1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C7E1:
|
|
lda $0504,x ; CPU:$C7E1 PRG:47E1 BD 04 05
|
|
cmp #$F1 ; CPU:$C7E4 PRG:47E4 C9 F1
|
|
bcs Sub_C7E0 ; CPU:$C7E6 PRG:47E6 B0 F8
|
|
sta ObjectXLo ; CPU:$C7E8 PRG:47E8 85 37
|
|
lda $0507,x ; CPU:$C7EA PRG:47EA BD 07 05
|
|
cmp #$F0 ; CPU:$C7ED PRG:47ED C9 F0
|
|
bcs Sub_C7E0 ; CPU:$C7EF PRG:47EF B0 EF
|
|
sta ObjectXHi ; CPU:$C7F1 PRG:47F1 85 38
|
|
lda $050C,x ; CPU:$C7F3 PRG:47F3 BD 0C 05
|
|
asl a ; CPU:$C7F6 PRG:47F6 0A
|
|
tay ; CPU:$C7F7 PRG:47F7 A8
|
|
lda $C83A,y ; CPU:$C7F8 PRG:47F8 B9 3A C8
|
|
sta VramPtrLo ; CPU:$C7FB PRG:47FB 85 04
|
|
lda $C83B,y ; CPU:$C7FD PRG:47FD B9 3B C8
|
|
sta VramCopyCount ; CPU:$C800 PRG:4800 85 05
|
|
ldy #$00 ; CPU:$C802 PRG:4802 A0 00
|
|
lda (VramPtrLo),y ; CPU:$C804 PRG:4804 B1 04
|
|
sta ObjUpdateFlag ; CPU:$C806 PRG:4806 85 0E
|
|
stx ObjPtr ; CPU:$C808 PRG:4808 86 13
|
|
iny ; CPU:$C80A PRG:480A C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C80B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C80B:
|
|
ldx ObjectDeltaX ; CPU:$C80B PRG:480B A6 2D
|
|
beq Sub_C837 ; CPU:$C80D PRG:480D F0 28
|
|
lda (VramPtrLo),y ; CPU:$C80F PRG:480F B1 04
|
|
clc ; CPU:$C811 PRG:4811 18
|
|
adc ObjectXHi ; CPU:$C812 PRG:4812 65 38
|
|
sta $0700,x ; CPU:$C814 PRG:4814 9D 00 07
|
|
inx ; CPU:$C817 PRG:4817 E8
|
|
iny ; CPU:$C818 PRG:4818 C8
|
|
lda (VramPtrLo),y ; CPU:$C819 PRG:4819 B1 04
|
|
sta $0700,x ; CPU:$C81B PRG:481B 9D 00 07
|
|
inx ; CPU:$C81E PRG:481E E8
|
|
iny ; CPU:$C81F PRG:481F C8
|
|
lda (VramPtrLo),y ; CPU:$C820 PRG:4820 B1 04
|
|
sta $0700,x ; CPU:$C822 PRG:4822 9D 00 07
|
|
inx ; CPU:$C825 PRG:4825 E8
|
|
iny ; CPU:$C826 PRG:4826 C8
|
|
lda (VramPtrLo),y ; CPU:$C827 PRG:4827 B1 04
|
|
clc ; CPU:$C829 PRG:4829 18
|
|
adc ObjectXLo ; CPU:$C82A PRG:482A 65 37
|
|
sta $0700,x ; CPU:$C82C PRG:482C 9D 00 07
|
|
inx ; CPU:$C82F PRG:482F E8
|
|
iny ; CPU:$C830 PRG:4830 C8
|
|
stx ObjectDeltaX ; CPU:$C831 PRG:4831 86 2D
|
|
dec ObjUpdateFlag ; CPU:$C833 PRG:4833 C6 0E
|
|
bne Sub_C80B ; CPU:$C835 PRG:4835 D0 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C837
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C837:
|
|
ldx ObjPtr ; CPU:$C837 PRG:4837 A6 13
|
|
rts ; CPU:$C839 PRG:4839 60
|
|
; ---- data $C83A-$C8B3 (122 bytes) ----
|
|
; referenced by `lda $C83A,y` at $C7F8 (operand $C83A falls inside this region)
|
|
; referenced by `lda $C83B,y` at $C7FD (operand $C83B falls inside this region)
|
|
.byte $62, $C8, $73, $C8, $88, $C8, $88, $C8, $73, $C8, $9D, $C8, $AE, $C8, $9D, $C8 ; CPU:$C83A PRG:483A 62 C8 73 C8 88 C8 88 C8 73 C8 9D C8 AE C8 9D C8
|
|
.byte $BF, $C8, $D4, $C8, $F8, $C8, $09, $C9, $1A, $C9, $2B, $C9, $9D, $C8, $AE, $C8 ; CPU:$C84A PRG:484A BF C8 D4 C8 F8 C8 09 C9 1A C9 2B C9 9D C8 AE C8
|
|
.byte $9D, $C8, $E9, $C8, $EE, $C8, $F3, $C8, $04, $00, $AC, $01, $00, $00, $AD, $01 ; CPU:$C85A PRG:485A 9D C8 E9 C8 EE C8 F3 C8 04 00 AC 01 00 00 AD 01
|
|
.byte $08, $08, $AE, $01, $00, $08, $AF, $01, $08, $05, $04, $D2, $00, $04, $00, $AC ; CPU:$C86A PRG:486A 08 08 AE 01 00 08 AF 01 08 05 04 D2 00 04 00 AC
|
|
.byte $01, $00, $00, $AD, $01, $08, $08, $AE, $01, $00, $08, $AF, $01, $08, $05, $04 ; CPU:$C87A PRG:487A 01 00 00 AD 01 08 08 AE 01 00 08 AF 01 08 05 04
|
|
.byte $3F, $00, $04, $00, $AC, $01, $00, $00, $AD, $01, $08, $08, $AE, $01, $00, $08 ; CPU:$C88A PRG:488A 3F 00 04 00 AC 01 00 00 AD 01 08 08 AE 01 00 08
|
|
.byte $AF, $01, $08, $04, $00, $E8, $03, $00, $00, $E9, $03, $08, $08, $EA, $03, $00 ; CPU:$C89A PRG:489A AF 01 08 04 00 E8 03 00 00 E9 03 08 08 EA 03 00
|
|
.byte $08, $EB, $03, $08, $04, $00, $E4, $03, $00, $00 ; CPU:$C8AA PRG:48AA 08 EB 03 08 04 00 E4 03 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8B4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C8B4:
|
|
sbc ScrollY ; CPU:$C8B4 PRG:48B4 E5 03
|
|
php ; CPU:$C8B6 PRG:48B6 08
|
|
php ; CPU:$C8B7 PRG:48B7 08
|
|
inc ScrollY ; CPU:$C8B8 PRG:48B8 E6 03
|
|
brk ; CPU:$C8BA PRG:48BA 00
|
|
; ---- data $C8BB-$C8BD (3 bytes) ----
|
|
.byte $08, $E7, $03 ; CPU:$C8BB PRG:48BB 08 E7 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8BE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C8BE:
|
|
php ; CPU:$C8BE PRG:48BE 08
|
|
ora VramPtrLo ; CPU:$C8BF PRG:48BF 05 04
|
|
cpx $0403 ; CPU:$C8C1 PRG:48C1 EC 03 04
|
|
brk ; CPU:$C8C4 PRG:48C4 00
|
|
; ---- data $C8C5-$C8D1 (13 bytes) ----
|
|
.byte $DB, $00, $00, $00, $DB, $40, $08, $08, $DB, $80, $00, $08, $DB ; CPU:$C8C5 PRG:48C5 DB 00 00 00 DB 40 08 08 DB 80 00 08 DB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C8D2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C8D2:
|
|
cpy #$08 ; CPU:$C8D2 PRG:48D2 C0 08
|
|
ora VramPtrLo ; CPU:$C8D4 PRG:48D4 05 04
|
|
sbc $0403 ; CPU:$C8D6 PRG:48D6 ED 03 04
|
|
brk ; CPU:$C8D9 PRG:48D9 00
|
|
; ---- data $C8DA-$C90E (53 bytes) ----
|
|
.byte $DB, $00, $00, $00, $DB, $40, $08, $08, $DB, $80, $00, $08, $DB, $C0, $08, $01 ; CPU:$C8DA PRG:48DA DB 00 00 00 DB 40 08 08 DB 80 00 08 DB C0 08 01
|
|
.byte $04, $EC, $03, $04, $01, $04, $ED, $03, $04, $01, $04, $EE, $03, $04, $04, $00 ; CPU:$C8EA PRG:48EA 04 EC 03 04 01 04 ED 03 04 01 04 EE 03 04 04 00
|
|
.byte $DB, $00, $00, $00, $DB, $40, $08, $08, $DB, $80, $00, $08, $DB, $C0, $08, $04 ; CPU:$C8FA PRG:48FA DB 00 00 00 DB 40 08 08 DB 80 00 08 DB C0 08 04
|
|
.byte $00, $A0, $01, $00, $00 ; CPU:$C90A PRG:490A 00 A0 01 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C90F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C90F:
|
|
lda (PPUMASKShadow,x) ; CPU:$C90F PRG:490F A1 01
|
|
php ; CPU:$C911 PRG:4911 08
|
|
php ; CPU:$C912 PRG:4912 08
|
|
ldx #$01 ; CPU:$C913 PRG:4913 A2 01
|
|
brk ; CPU:$C915 PRG:4915 00
|
|
; ---- data $C916-$C91F (10 bytes) ----
|
|
.byte $08, $A3, $01, $08, $04, $00, $A4, $01, $00, $00 ; CPU:$C916 PRG:4916 08 A3 01 08 04 00 A4 01 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C920
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C920:
|
|
lda PPUMASKShadow ; CPU:$C920 PRG:4920 A5 01
|
|
php ; CPU:$C922 PRG:4922 08
|
|
php ; CPU:$C923 PRG:4923 08
|
|
ldx PPUMASKShadow ; CPU:$C924 PRG:4924 A6 01
|
|
brk ; CPU:$C926 PRG:4926 00
|
|
; ---- data $C927-$C9BB (149 bytes) ----
|
|
; referenced by `lda $C93C,y` at $C7C8 (operand $C93C falls inside this region)
|
|
; referenced by `lda $C93D,y` at $C7CD (operand $C93D falls inside this region)
|
|
.byte $08, $A7, $01, $08, $04, $00, $A8, $01, $00, $00, $A9, $01, $08, $08, $AA, $01 ; CPU:$C927 PRG:4927 08 A7 01 08 04 00 A8 01 00 00 A9 01 08 08 AA 01
|
|
.byte $00, $08, $AB, $01, $08, $00, $00, $80, $00, $20, $00, $80, $00, $40, $00, $80 ; CPU:$C937 PRG:4937 00 08 AB 01 08 00 00 80 00 20 00 80 00 40 00 80
|
|
.byte $00, $60, $00, $80, $00, $80, $00, $80, $00, $80, $00, $60, $00, $80, $00, $40 ; CPU:$C947 PRG:4947 00 60 00 80 00 80 00 80 00 80 00 60 00 80 00 40
|
|
.byte $00, $80, $00, $20, $00, $80, $00, $00, $00, $80, $00, $E0, $FF, $80, $00, $C0 ; CPU:$C957 PRG:4957 00 80 00 20 00 80 00 00 00 80 00 E0 FF 80 00 C0
|
|
.byte $FF, $80, $00, $A0, $FF, $80, $00, $80, $FF, $60, $00, $80, $FF, $40, $00, $80 ; CPU:$C967 PRG:4967 FF 80 00 A0 FF 80 00 80 FF 60 00 80 FF 40 00 80
|
|
.byte $FF, $20, $00, $80, $FF, $00, $00, $80, $FF, $E0, $FF, $80, $FF, $C0, $FF, $80 ; CPU:$C977 PRG:4977 FF 20 00 80 FF 00 00 80 FF E0 FF 80 FF C0 FF 80
|
|
.byte $FF, $A0, $FF, $80, $FF, $80, $FF, $80, $FF, $80, $FF, $A0, $FF, $80, $FF, $C0 ; CPU:$C987 PRG:4987 FF A0 FF 80 FF 80 FF 80 FF 80 FF A0 FF 80 FF C0
|
|
.byte $FF, $80, $FF, $E0, $FF, $80, $FF, $00, $00, $80, $FF, $20, $00, $80, $FF, $40 ; CPU:$C997 PRG:4997 FF 80 FF E0 FF 80 FF 00 00 80 FF 20 00 80 FF 40
|
|
.byte $00, $80, $FF, $60, $00, $80, $FF, $80, $00, $A0, $FF, $80, $00, $C0, $FF, $80 ; CPU:$C9A7 PRG:49A7 00 80 FF 60 00 80 FF 80 00 A0 FF 80 00 C0 FF 80
|
|
.byte $00, $E0, $FF, $80, $00 ; CPU:$C9B7 PRG:49B7 00 E0 FF 80 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: C9bcCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
C9bcCheck:
|
|
ldy #$00 ; CPU:$C9BC PRG:49BC A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCheck:
|
|
lda (Zp2A),y ; CPU:$C9BE PRG:49BE B1 2A
|
|
beq Sub_C9E2 ; CPU:$C9C0 PRG:49C0 F0 20
|
|
sta ObjPtr ; CPU:$C9C2 PRG:49C2 85 13
|
|
lda Zp99 ; CPU:$C9C4 PRG:49C4 A5 99
|
|
and #$FE ; CPU:$C9C6 PRG:49C6 29 FE
|
|
beq Sub_C9E2 ; CPU:$C9C8 PRG:49C8 F0 18
|
|
cmp ObjPtr ; CPU:$C9CA PRG:49CA C5 13
|
|
beq Sub_C9E3 ; CPU:$C9CC PRG:49CC F0 15
|
|
bcs Sub_C9E2 ; CPU:$C9CE PRG:49CE B0 12
|
|
ldx #$04 ; CPU:$C9D0 PRG:49D0 A2 04
|
|
jsr DispatchInc ; CPU:$C9D2 PRG:49D2 20 D8 C9
|
|
jmp DispatchCheck ; CPU:$C9D5 PRG:49D5 4C BE C9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchInc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchInc:
|
|
inc Zp2A ; CPU:$C9D8 PRG:49D8 E6 2A
|
|
bne Sub_C9DE ; CPU:$C9DA PRG:49DA D0 02
|
|
inc Zp2B ; CPU:$C9DC PRG:49DC E6 2B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9DE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C9DE:
|
|
dex ; CPU:$C9DE PRG:49DE CA
|
|
bne DispatchInc ; CPU:$C9DF PRG:49DF D0 F7
|
|
rts ; CPU:$C9E1 PRG:49E1 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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_C9E2:
|
|
rts ; CPU:$C9E2 PRG:49E2 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9E3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C9E3:
|
|
iny ; CPU:$C9E3 PRG:49E3 C8
|
|
lda (Zp2A),y ; CPU:$C9E4 PRG:49E4 B1 2A
|
|
tax ; CPU:$C9E6 PRG:49E6 AA
|
|
iny ; CPU:$C9E7 PRG:49E7 C8
|
|
cmp #$28 ; CPU:$C9E8 PRG:49E8 C9 28
|
|
bcc Sub_C9F7 ; CPU:$C9EA PRG:49EA 90 0B
|
|
lda Zp99 ; CPU:$C9EC PRG:49EC A5 99
|
|
and #$01 ; CPU:$C9EE PRG:49EE 29 01
|
|
bne Sub_C9F7 ; CPU:$C9F0 PRG:49F0 D0 05
|
|
iny ; CPU:$C9F2 PRG:49F2 C8
|
|
iny ; CPU:$C9F3 PRG:49F3 C8
|
|
jmp DispatchCheck ; CPU:$C9F4 PRG:49F4 4C BE C9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_C9F7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_C9F7:
|
|
lda $CA0A,x ; CPU:$C9F7 PRG:49F7 BD 0A CA
|
|
sta VramPtrLo ; CPU:$C9FA PRG:49FA 85 04
|
|
lda $CA0B,x ; CPU:$C9FC PRG:49FC BD 0B CA
|
|
sta VramCopyCount ; CPU:$C9FF PRG:49FF 85 05
|
|
jsr JumpIndirect4 ; CPU:$CA01 PRG:4A01 20 07 CA
|
|
jmp DispatchCheck ; CPU:$CA04 PRG:4A04 4C BE C9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: JumpIndirect4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
JumpIndirect4:
|
|
jmp ($0004) ; CPU:$CA07 PRG:4A07 6C 04 00
|
|
; ---- data $CA0A-$CA61 (88 bytes) ----
|
|
JumpTable4:
|
|
; referenced by `lda $CA0A,x` at $C9F7 (operand $CA0A falls inside this region)
|
|
; referenced by `lda $CA0B,x` at $C9FC (operand $CA0B falls inside this region)
|
|
.byte $24, $CB, $2E, $CB, $38, $CB, $42, $CB, $4C, $CB, $53, $CB, $5D, $CB, $64, $CB ; CPU:$CA0A PRG:4A0A 24 CB 2E CB 38 CB 42 CB 4C CB 53 CB 5D CB 64 CB
|
|
.byte $6E, $CB, $77, $CB, $7E, $CB, $85, $CB, $8C, $CB, $93, $CB, $1A, $CB, $1A, $CB ; CPU:$CA1A PRG:4A1A 6E CB 77 CB 7E CB 85 CB 8C CB 93 CB 1A CB 1A CB
|
|
.byte $0C, $CB, $1A, $CB, $1A, $CB, $02, $CB, $EA, $CA, $80, $CC, $6C, $CA, $80, $CA ; CPU:$CA2A PRG:4A2A 0C CB 1A CB 1A CB 02 CB EA CA 80 CC 6C CA 80 CA
|
|
.byte $9D, $C0, $76, $CA, $88, $CA, $B2, $CA, $B9, $CA, $C0, $CA, $C7, $CA, $CE, $CA ; CPU:$CA3A PRG:4A3A 9D C0 76 CA 88 CA B2 CA B9 CA C0 CA C7 CA CE CA
|
|
.byte $D5, $CA, $DC, $CA, $E3, $CA, $A0, $CA, $AB, $CA, $62, $CA, $0F, $C3, $64, $C3 ; CPU:$CA4A PRG:4A4A D5 CA DC CA E3 CA A0 CA AB CA 62 CA 0F C3 64 C3
|
|
.byte $6D, $C3, $92, $CA, $99, $CA, $74, $C2 ; CPU:$CA5A PRG:4A5A 6D C3 92 CA 99 CA 74 C2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA62
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CA62:
|
|
ldx #$02 ; CPU:$CA62 PRG:4A62 A2 02
|
|
jsr DispatchInc ; CPU:$CA64 PRG:4A64 20 D8 C9
|
|
dey ; CPU:$CA67 PRG:4A67 88
|
|
dey ; CPU:$CA68 PRG:4A68 88
|
|
jmp ObjSubRoutine2 ; CPU:$CA69 PRG:4A69 4C 7B C2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA6C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CA6C:
|
|
ldx #$02 ; CPU:$CA6C PRG:4A6C A2 02
|
|
jsr DispatchInc ; CPU:$CA6E PRG:4A6E 20 D8 C9
|
|
dey ; CPU:$CA71 PRG:4A71 88
|
|
dey ; CPU:$CA72 PRG:4A72 88
|
|
jmp ObjMoveY ; CPU:$CA73 PRG:4A73 4C 2E C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA76
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_CA76:
|
|
ldx #$02 ; CPU:$CA76 PRG:4A76 A2 02
|
|
jsr DispatchInc ; CPU:$CA78 PRG:4A78 20 D8 C9
|
|
dey ; CPU:$CA7B PRG:4A7B 88
|
|
dey ; CPU:$CA7C PRG:4A7C 88
|
|
jmp ObjSpawnInit ; CPU:$CA7D PRG:4A7D 4C 10 C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA80
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CA80:
|
|
jsr ObjSpawnInit2 ; CPU:$CA80 PRG:4A80 20 56 C0
|
|
ldx #$03 ; CPU:$CA83 PRG:4A83 A2 03
|
|
jmp DispatchInc ; CPU:$CA85 PRG:4A85 4C D8 C9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA88
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CA88:
|
|
ldx #$02 ; CPU:$CA88 PRG:4A88 A2 02
|
|
jsr DispatchInc ; CPU:$CA8A PRG:4A8A 20 D8 C9
|
|
dey ; CPU:$CA8D PRG:4A8D 88
|
|
dey ; CPU:$CA8E PRG:4A8E 88
|
|
jmp ObjSetPosition ; CPU:$CA8F PRG:4A8F 4C 5D C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA92
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CA92:
|
|
lda #$01 ; CPU:$CA92 PRG:4A92 A9 01
|
|
sta Zp3E ; CPU:$CA94 PRG:4A94 85 3E
|
|
iny ; CPU:$CA96 PRG:4A96 C8
|
|
iny ; CPU:$CA97 PRG:4A97 C8
|
|
rts ; CPU:$CA98 PRG:4A98 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CA99
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CA99:
|
|
lda #$01 ; CPU:$CA99 PRG:4A99 A9 01
|
|
sta Zp44 ; CPU:$CA9B PRG:4A9B 85 44
|
|
iny ; CPU:$CA9D PRG:4A9D C8
|
|
iny ; CPU:$CA9E PRG:4A9E C8
|
|
rts ; CPU:$CA9F PRG:4A9F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAA0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAA0:
|
|
lda (Zp2A),y ; CPU:$CAA0 PRG:4AA0 B1 2A
|
|
sta Zp41 ; CPU:$CAA2 PRG:4AA2 85 41
|
|
iny ; CPU:$CAA4 PRG:4AA4 C8
|
|
lda (Zp2A),y ; CPU:$CAA5 PRG:4AA5 B1 2A
|
|
sta Zp3F ; CPU:$CAA7 PRG:4AA7 85 3F
|
|
iny ; CPU:$CAA9 PRG:4AA9 C8
|
|
rts ; CPU:$CAAA PRG:4AAA 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAAB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAAB:
|
|
lda #$00 ; CPU:$CAAB PRG:4AAB A9 00
|
|
sta Zp3F ; CPU:$CAAD PRG:4AAD 85 3F
|
|
jmp DispatchStoreY2Rts ; CPU:$CAAF PRG:4AAF 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAB2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_CAB2:
|
|
lda (Zp2A),y ; CPU:$CAB2 PRG:4AB2 B1 2A
|
|
sta Zp91 ; CPU:$CAB4 PRG:4AB4 85 91
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreY2Rts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreY2Rts:
|
|
iny ; CPU:$CAB6 PRG:4AB6 C8
|
|
iny ; CPU:$CAB7 PRG:4AB7 C8
|
|
rts ; CPU:$CAB8 PRG:4AB8 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAB9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAB9:
|
|
lda (Zp2A),y ; CPU:$CAB9 PRG:4AB9 B1 2A
|
|
sta Zp94 ; CPU:$CABB PRG:4ABB 85 94
|
|
jmp DispatchStoreY2Rts ; CPU:$CABD PRG:4ABD 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAC0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAC0:
|
|
lda (Zp2A),y ; CPU:$CAC0 PRG:4AC0 B1 2A
|
|
sta Zp92 ; CPU:$CAC2 PRG:4AC2 85 92
|
|
jmp DispatchStoreY2Rts ; CPU:$CAC4 PRG:4AC4 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAC7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAC7:
|
|
lda (Zp2A),y ; CPU:$CAC7 PRG:4AC7 B1 2A
|
|
sta Zp93 ; CPU:$CAC9 PRG:4AC9 85 93
|
|
jmp DispatchStoreY2Rts ; CPU:$CACB PRG:4ACB 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CACE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CACE:
|
|
lda (Zp2A),y ; CPU:$CACE PRG:4ACE B1 2A
|
|
sta Zp95 ; CPU:$CAD0 PRG:4AD0 85 95
|
|
jmp DispatchStoreY2Rts ; CPU:$CAD2 PRG:4AD2 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAD5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAD5:
|
|
lda (Zp2A),y ; CPU:$CAD5 PRG:4AD5 B1 2A
|
|
sta Zp96 ; CPU:$CAD7 PRG:4AD7 85 96
|
|
jmp DispatchStoreY2Rts ; CPU:$CAD9 PRG:4AD9 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CADC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CADC:
|
|
lda (Zp2A),y ; CPU:$CADC PRG:4ADC B1 2A
|
|
sta Zp97 ; CPU:$CADE PRG:4ADE 85 97
|
|
jmp DispatchStoreY2Rts ; CPU:$CAE0 PRG:4AE0 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAE3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAE3:
|
|
lda (Zp2A),y ; CPU:$CAE3 PRG:4AE3 B1 2A
|
|
sta Zp98 ; CPU:$CAE5 PRG:4AE5 85 98
|
|
jmp DispatchStoreY2Rts ; CPU:$CAE7 PRG:4AE7 4C B6 CA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAEA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAEA:
|
|
jsr DispatchLsrsRts ; CPU:$CAEA PRG:4AEA 20 8D CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CAED
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CAED:
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$CAED PRG:4AED 20 5C F5
|
|
cmp #$D0 ; CPU:$CAF0 PRG:4AF0 C9 D0
|
|
bcs Sub_CAED ; CPU:$CAF2 PRG:4AF2 B0 F9
|
|
clc ; CPU:$CAF4 PRG:4AF4 18
|
|
adc #$10 ; CPU:$CAF5 PRG:4AF5 69 10
|
|
sta $0303,x ; CPU:$CAF7 PRG:4AF7 9D 03 03
|
|
ldx #$02 ; CPU:$CAFA PRG:4AFA A2 02
|
|
jsr DispatchInc ; CPU:$CAFC PRG:4AFC 20 D8 C9
|
|
dey ; CPU:$CAFF PRG:4AFF 88
|
|
dey ; CPU:$CB00 PRG:4B00 88
|
|
rts ; CPU:$CB01 PRG:4B01 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB02
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB02:
|
|
jsr DispatchLsrsRts ; CPU:$CB02 PRG:4B02 20 8D CC
|
|
ldx #$34 ; CPU:$CB05 PRG:4B05 A2 34
|
|
lda #$01 ; CPU:$CB07 PRG:4B07 A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB09 PRG:4B09 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB0C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB0C:
|
|
jsr DispatchLsrsRts ; CPU:$CB0C PRG:4B0C 20 8D CC
|
|
lda #$00 ; CPU:$CB0F PRG:4B0F A9 00
|
|
sta Zp58 ; CPU:$CB11 PRG:4B11 85 58
|
|
ldx #$30 ; CPU:$CB13 PRG:4B13 A2 30
|
|
lda #$01 ; CPU:$CB15 PRG:4B15 A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB17 PRG:4B17 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB1A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB1A:
|
|
jsr DispatchLsrsRts ; CPU:$CB1A PRG:4B1A 20 8D CC
|
|
ldx #$00 ; CPU:$CB1D PRG:4B1D A2 00
|
|
lda #$01 ; CPU:$CB1F PRG:4B1F A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB21 PRG:4B21 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB24
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB24:
|
|
jsr DispatchLsrsRts ; CPU:$CB24 PRG:4B24 20 8D CC
|
|
ldx #$00 ; CPU:$CB27 PRG:4B27 A2 00
|
|
lda #$01 ; CPU:$CB29 PRG:4B29 A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB2B PRG:4B2B 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB2E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB2E:
|
|
jsr DispatchLsrsRts ; CPU:$CB2E PRG:4B2E 20 8D CC
|
|
ldx #$04 ; CPU:$CB31 PRG:4B31 A2 04
|
|
lda #$01 ; CPU:$CB33 PRG:4B33 A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB35 PRG:4B35 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB38
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB38:
|
|
jsr DispatchLsrsRts ; CPU:$CB38 PRG:4B38 20 8D CC
|
|
ldx #$08 ; CPU:$CB3B PRG:4B3B A2 08
|
|
lda #$01 ; CPU:$CB3D PRG:4B3D A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB3F PRG:4B3F 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB42
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB42:
|
|
jsr DispatchLsrsRts ; CPU:$CB42 PRG:4B42 20 8D CC
|
|
ldx #$0C ; CPU:$CB45 PRG:4B45 A2 0C
|
|
lda #$01 ; CPU:$CB47 PRG:4B47 A9 01
|
|
jmp DispatchStoreLsrsB ; CPU:$CB49 PRG:4B49 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB4C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB4C:
|
|
ldx #$10 ; CPU:$CB4C PRG:4B4C A2 10
|
|
lda #$02 ; CPU:$CB4E PRG:4B4E A9 02
|
|
jmp DispatchStoreLsrsB ; CPU:$CB50 PRG:4B50 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB53
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB53:
|
|
jsr DispatchLsrsRts2 ; CPU:$CB53 PRG:4B53 20 E1 CC
|
|
ldx #$18 ; CPU:$CB56 PRG:4B56 A2 18
|
|
lda #$02 ; CPU:$CB58 PRG:4B58 A9 02
|
|
jmp DispatchStoreLsrsB ; CPU:$CB5A PRG:4B5A 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB5D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB5D:
|
|
ldx #$20 ; CPU:$CB5D PRG:4B5D A2 20
|
|
lda #$02 ; CPU:$CB5F PRG:4B5F A9 02
|
|
jmp DispatchStoreLsrsB ; CPU:$CB61 PRG:4B61 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB64
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB64:
|
|
jsr DispatchLsrsRts2 ; CPU:$CB64 PRG:4B64 20 E1 CC
|
|
ldx #$28 ; CPU:$CB67 PRG:4B67 A2 28
|
|
lda #$02 ; CPU:$CB69 PRG:4B69 A9 02
|
|
jmp DispatchStoreLsrsB ; CPU:$CB6B PRG:4B6B 4C 12 CC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB6E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB6E:
|
|
ldx #$38 ; CPU:$CB6E PRG:4B6E A2 38
|
|
lda #$04 ; CPU:$CB70 PRG:4B70 A9 04
|
|
inc Zp61 ; CPU:$CB72 PRG:4B72 E6 61
|
|
jmp DispatchStoreLsrs ; CPU:$CB74 PRG:4B74 4C 9A CB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB77
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB77:
|
|
ldx #$48 ; CPU:$CB77 PRG:4B77 A2 48
|
|
lda #$06 ; CPU:$CB79 PRG:4B79 A9 06
|
|
jmp DispatchStoreLsrs ; CPU:$CB7B PRG:4B7B 4C 9A CB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB7E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB7E:
|
|
ldx #$60 ; CPU:$CB7E PRG:4B7E A2 60
|
|
lda #$06 ; CPU:$CB80 PRG:4B80 A9 06
|
|
jmp DispatchStoreLsrs ; CPU:$CB82 PRG:4B82 4C 9A CB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB85
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB85:
|
|
ldx #$78 ; CPU:$CB85 PRG:4B85 A2 78
|
|
lda #$06 ; CPU:$CB87 PRG:4B87 A9 06
|
|
jmp DispatchStoreLsrs ; CPU:$CB89 PRG:4B89 4C 9A CB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB8C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB8C:
|
|
ldx #$90 ; CPU:$CB8C PRG:4B8C A2 90
|
|
lda #$06 ; CPU:$CB8E PRG:4B8E A9 06
|
|
jmp DispatchStoreLsrs ; CPU:$CB90 PRG:4B90 4C 9A CB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CB93
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CB93:
|
|
jsr DispatchLsrsRts ; CPU:$CB93 PRG:4B93 20 8D CC
|
|
ldx #$A8 ; CPU:$CB96 PRG:4B96 A2 A8
|
|
lda #$04 ; CPU:$CB98 PRG:4B98 A9 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreLsrs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreLsrs:
|
|
sta ObjUpdateFlag ; CPU:$CB9A PRG:4B9A 85 0E
|
|
lda Zp99 ; CPU:$CB9C PRG:4B9C A5 99
|
|
lsr a ; CPU:$CB9E PRG:4B9E 4A
|
|
bcc Sub_CBAB ; CPU:$CB9F PRG:4B9F 90 0A
|
|
lda ObjUpdateFlag ; CPU:$CBA1 PRG:4BA1 A5 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CBA3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CBA3:
|
|
inx ; CPU:$CBA3 PRG:4BA3 E8
|
|
inx ; CPU:$CBA4 PRG:4BA4 E8
|
|
dec ObjUpdateFlag ; CPU:$CBA5 PRG:4BA5 C6 0E
|
|
bne Sub_CBA3 ; CPU:$CBA7 PRG:4BA7 D0 FA
|
|
sta ObjUpdateFlag ; CPU:$CBA9 PRG:4BA9 85 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CBAB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CBAB:
|
|
lda (Zp2A),y ; CPU:$CBAB PRG:4BAB B1 2A
|
|
iny ; CPU:$CBAD PRG:4BAD C8
|
|
pha ; CPU:$CBAE PRG:4BAE 48
|
|
sty Zp2C ; CPU:$CBAF PRG:4BAF 84 2C
|
|
lda (Zp2A),y ; CPU:$CBB1 PRG:4BB1 B1 2A
|
|
sta Zp57 ; CPU:$CBB3 PRG:4BB3 85 57
|
|
pla ; CPU:$CBB5 PRG:4BB5 68
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CBB6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_CBB6:
|
|
pha ; CPU:$CBB6 PRG:4BB6 48
|
|
tay ; CPU:$CBB7 PRG:4BB7 A8
|
|
lda $CD4C,x ; CPU:$CBB8 PRG:4BB8 BD 4C CD
|
|
sta $020B,y ; CPU:$CBBB PRG:4BBB 99 0B 02
|
|
inx ; CPU:$CBBE PRG:4BBE E8
|
|
lda $CD4C,x ; CPU:$CBBF PRG:4BBF BD 4C CD
|
|
sta $020C,y ; CPU:$CBC2 PRG:4BC2 99 0C 02
|
|
inx ; CPU:$CBC5 PRG:4BC5 E8
|
|
tya ; CPU:$CBC6 PRG:4BC6 98
|
|
ldy Zp57 ; CPU:$CBC7 PRG:4BC7 A4 57
|
|
inc Zp57 ; CPU:$CBC9 PRG:4BC9 E6 57
|
|
jsr DispatchLsrsPhi ; CPU:$CBCB PRG:4BCB 20 DA CB
|
|
pla ; CPU:$CBCE PRG:4BCE 68
|
|
clc ; CPU:$CBCF PRG:4BCF 18
|
|
adc #$02 ; CPU:$CBD0 PRG:4BD0 69 02
|
|
dec ObjUpdateFlag ; CPU:$CBD2 PRG:4BD2 C6 0E
|
|
bne Sub_CBB6 ; CPU:$CBD4 PRG:4BD4 D0 E0
|
|
ldy Zp2C ; CPU:$CBD6 PRG:4BD6 A4 2C
|
|
iny ; CPU:$CBD8 PRG:4BD8 C8
|
|
rts ; CPU:$CBD9 PRG:4BD9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsPhi
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsPhi:
|
|
lsr a ; CPU:$CBDA PRG:4BDA 4A
|
|
lsr a ; CPU:$CBDB PRG:4BDB 4A
|
|
bcs Sub_CBF8 ; CPU:$CBDC PRG:4BDC B0 1A
|
|
pha ; CPU:$CBDE PRG:4BDE 48
|
|
lda $B89F,y ; CPU:$CBDF PRG:4BDF B9 9F B8
|
|
and ObjectX ; CPU:$CBE2 PRG:4BE2 25 18
|
|
sta ObjPtr ; CPU:$CBE4 PRG:4BE4 85 13
|
|
pla ; CPU:$CBE6 PRG:4BE6 68
|
|
tay ; CPU:$CBE7 PRG:4BE7 A8
|
|
lda ObjectX ; CPU:$CBE8 PRG:4BE8 A5 18
|
|
eor #$FF ; CPU:$CBEA PRG:4BEA 49 FF
|
|
and $022E,y ; CPU:$CBEC PRG:4BEC 39 2E 02
|
|
ora ObjPtr ; CPU:$CBEF PRG:4BEF 05 13
|
|
sta $022E,y ; CPU:$CBF1 PRG:4BF1 99 2E 02
|
|
sta $0200,y ; CPU:$CBF4 PRG:4BF4 99 00 02
|
|
rts ; CPU:$CBF7 PRG:4BF7 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CBF8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CBF8:
|
|
pha ; CPU:$CBF8 PRG:4BF8 48
|
|
lda $B89F,y ; CPU:$CBF9 PRG:4BF9 B9 9F B8
|
|
and ObjectY ; CPU:$CBFC PRG:4BFC 25 19
|
|
sta ObjPtr ; CPU:$CBFE PRG:4BFE 85 13
|
|
pla ; CPU:$CC00 PRG:4C00 68
|
|
tay ; CPU:$CC01 PRG:4C01 A8
|
|
lda ObjectY ; CPU:$CC02 PRG:4C02 A5 19
|
|
eor #$FF ; CPU:$CC04 PRG:4C04 49 FF
|
|
and $022E,y ; CPU:$CC06 PRG:4C06 39 2E 02
|
|
ora ObjPtr ; CPU:$CC09 PRG:4C09 05 13
|
|
sta $022E,y ; CPU:$CC0B PRG:4C0B 99 2E 02
|
|
sta $0200,y ; CPU:$CC0E PRG:4C0E 99 00 02
|
|
rts ; CPU:$CC11 PRG:4C11 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreLsrsB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreLsrsB:
|
|
sta ObjUpdateFlag ; CPU:$CC12 PRG:4C12 85 0E
|
|
lda Zp99 ; CPU:$CC14 PRG:4C14 A5 99
|
|
lsr a ; CPU:$CC16 PRG:4C16 4A
|
|
bcc Sub_CC23 ; CPU:$CC17 PRG:4C17 90 0A
|
|
lda ObjUpdateFlag ; CPU:$CC19 PRG:4C19 A5 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC1B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_CC1B:
|
|
inx ; CPU:$CC1B PRG:4C1B E8
|
|
inx ; CPU:$CC1C PRG:4C1C E8
|
|
dec ObjUpdateFlag ; CPU:$CC1D PRG:4C1D C6 0E
|
|
bne Sub_CC1B ; CPU:$CC1F PRG:4C1F D0 FA
|
|
sta ObjUpdateFlag ; CPU:$CC21 PRG:4C21 85 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC23
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CC23:
|
|
lda (Zp2A),y ; CPU:$CC23 PRG:4C23 B1 2A
|
|
iny ; CPU:$CC25 PRG:4C25 C8
|
|
sty Zp2C ; CPU:$CC26 PRG:4C26 84 2C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC28
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CC28:
|
|
pha ; CPU:$CC28 PRG:4C28 48
|
|
tay ; CPU:$CC29 PRG:4C29 A8
|
|
lda $CD4C,x ; CPU:$CC2A PRG:4C2A BD 4C CD
|
|
sta $020B,y ; CPU:$CC2D PRG:4C2D 99 0B 02
|
|
inx ; CPU:$CC30 PRG:4C30 E8
|
|
lda $CD4C,x ; CPU:$CC31 PRG:4C31 BD 4C CD
|
|
sta $020C,y ; CPU:$CC34 PRG:4C34 99 0C 02
|
|
inx ; CPU:$CC37 PRG:4C37 E8
|
|
tya ; CPU:$CC38 PRG:4C38 98
|
|
ldy Zp2C ; CPU:$CC39 PRG:4C39 A4 2C
|
|
jsr DispatchLsrsPhiB ; CPU:$CC3B PRG:4C3B 20 4A CC
|
|
pla ; CPU:$CC3E PRG:4C3E 68
|
|
clc ; CPU:$CC3F PRG:4C3F 18
|
|
adc #$02 ; CPU:$CC40 PRG:4C40 69 02
|
|
dec ObjUpdateFlag ; CPU:$CC42 PRG:4C42 C6 0E
|
|
bne Sub_CC28 ; CPU:$CC44 PRG:4C44 D0 E2
|
|
ldy Zp2C ; CPU:$CC46 PRG:4C46 A4 2C
|
|
iny ; CPU:$CC48 PRG:4C48 C8
|
|
rts ; CPU:$CC49 PRG:4C49 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsPhiB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsPhiB:
|
|
lsr a ; CPU:$CC4A PRG:4C4A 4A
|
|
lsr a ; CPU:$CC4B PRG:4C4B 4A
|
|
bcs Sub_CC67 ; CPU:$CC4C PRG:4C4C B0 19
|
|
pha ; CPU:$CC4E PRG:4C4E 48
|
|
lda (Zp2A),y ; CPU:$CC4F PRG:4C4F B1 2A
|
|
and ObjectX ; CPU:$CC51 PRG:4C51 25 18
|
|
sta ObjPtr ; CPU:$CC53 PRG:4C53 85 13
|
|
pla ; CPU:$CC55 PRG:4C55 68
|
|
tay ; CPU:$CC56 PRG:4C56 A8
|
|
lda ObjectX ; CPU:$CC57 PRG:4C57 A5 18
|
|
eor #$FF ; CPU:$CC59 PRG:4C59 49 FF
|
|
and $022E,y ; CPU:$CC5B PRG:4C5B 39 2E 02
|
|
ora ObjPtr ; CPU:$CC5E PRG:4C5E 05 13
|
|
sta $022E,y ; CPU:$CC60 PRG:4C60 99 2E 02
|
|
sta $0200,y ; CPU:$CC63 PRG:4C63 99 00 02
|
|
rts ; CPU:$CC66 PRG:4C66 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC67
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_CC67:
|
|
pha ; CPU:$CC67 PRG:4C67 48
|
|
lda (Zp2A),y ; CPU:$CC68 PRG:4C68 B1 2A
|
|
and ObjectY ; CPU:$CC6A PRG:4C6A 25 19
|
|
sta ObjPtr ; CPU:$CC6C PRG:4C6C 85 13
|
|
pla ; CPU:$CC6E PRG:4C6E 68
|
|
tay ; CPU:$CC6F PRG:4C6F A8
|
|
lda ObjectY ; CPU:$CC70 PRG:4C70 A5 19
|
|
eor #$FF ; CPU:$CC72 PRG:4C72 49 FF
|
|
and $022E,y ; CPU:$CC74 PRG:4C74 39 2E 02
|
|
ora ObjPtr ; CPU:$CC77 PRG:4C77 05 13
|
|
sta $022E,y ; CPU:$CC79 PRG:4C79 99 2E 02
|
|
sta $0200,y ; CPU:$CC7C PRG:4C7C 99 00 02
|
|
rts ; CPU:$CC7F PRG:4C7F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC80
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CC80:
|
|
lda (Zp2A),y ; CPU:$CC80 PRG:4C80 B1 2A
|
|
sta $028B ; CPU:$CC82 PRG:4C82 8D 8B 02
|
|
iny ; CPU:$CC85 PRG:4C85 C8
|
|
lda (Zp2A),y ; CPU:$CC86 PRG:4C86 B1 2A
|
|
sta $028F ; CPU:$CC88 PRG:4C88 8D 8F 02
|
|
iny ; CPU:$CC8B PRG:4C8B C8
|
|
rts ; CPU:$CC8C PRG:4C8C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsRts:
|
|
lda Zp99 ; CPU:$CC8D PRG:4C8D A5 99
|
|
lsr a ; CPU:$CC8F PRG:4C8F 4A
|
|
bcs Sub_CC93 ; CPU:$CC90 PRG:4C90 B0 01
|
|
rts ; CPU:$CC92 PRG:4C92 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC93
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CC93:
|
|
txa ; CPU:$CC93 PRG:4C93 8A
|
|
lsr a ; CPU:$CC94 PRG:4C94 4A
|
|
tax ; CPU:$CC95 PRG:4C95 AA
|
|
lda $CD37,x ; CPU:$CC96 PRG:4C96 BD 37 CD
|
|
sta ObjPtr ; CPU:$CC99 PRG:4C99 85 13
|
|
ldx #$00 ; CPU:$CC9B PRG:4C9B A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CC9D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CC9D:
|
|
lda $0300,x ; CPU:$CC9D PRG:4C9D BD 00 03
|
|
beq Sub_CCAC ; CPU:$CCA0 PRG:4CA0 F0 0A
|
|
txa ; CPU:$CCA2 PRG:4CA2 8A
|
|
clc ; CPU:$CCA3 PRG:4CA3 18
|
|
adc #$08 ; CPU:$CCA4 PRG:4CA4 69 08
|
|
tax ; CPU:$CCA6 PRG:4CA6 AA
|
|
cpx #$80 ; CPU:$CCA7 PRG:4CA7 E0 80
|
|
bne Sub_CC9D ; CPU:$CCA9 PRG:4CA9 D0 F2
|
|
rts ; CPU:$CCAB PRG:4CAB 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CCAC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CCAC:
|
|
lda ObjPtr ; CPU:$CCAC PRG:4CAC A5 13
|
|
sta $0300,x ; CPU:$CCAE PRG:4CAE 9D 00 03
|
|
lda #$02 ; CPU:$CCB1 PRG:4CB1 A9 02
|
|
sta $0301,x ; CPU:$CCB3 PRG:4CB3 9D 01 03
|
|
lda #$00 ; CPU:$CCB6 PRG:4CB6 A9 00
|
|
sta $0307,x ; CPU:$CCB8 PRG:4CB8 9D 07 03
|
|
sta $0306,x ; CPU:$CCBB PRG:4CBB 9D 06 03
|
|
sec ; CPU:$CCBE PRG:4CBE 38
|
|
sbc ScrollY ; CPU:$CCBF PRG:4CBF E5 03
|
|
and #$07 ; CPU:$CCC1 PRG:4CC1 29 07
|
|
clc ; CPU:$CCC3 PRG:4CC3 18
|
|
adc #$EF ; CPU:$CCC4 PRG:4CC4 69 EF
|
|
sta $0302,x ; CPU:$CCC6 PRG:4CC6 9D 02 03
|
|
lda (Zp2A),y ; CPU:$CCC9 PRG:4CC9 B1 2A
|
|
asl a ; CPU:$CCCB PRG:4CCB 0A
|
|
asl a ; CPU:$CCCC PRG:4CCC 0A
|
|
asl a ; CPU:$CCCD PRG:4CCD 0A
|
|
sta $0303,x ; CPU:$CCCE PRG:4CCE 9D 03 03
|
|
lda $0208 ; CPU:$CCD1 PRG:4CD1 AD 08 02
|
|
sta $0304,x ; CPU:$CCD4 PRG:4CD4 9D 04 03
|
|
lda $0209 ; CPU:$CCD7 PRG:4CD7 AD 09 02
|
|
clc ; CPU:$CCDA PRG:4CDA 18
|
|
adc (Zp2A),y ; CPU:$CCDB PRG:4CDB 71 2A
|
|
sta $0305,x ; CPU:$CCDD PRG:4CDD 9D 05 03
|
|
rts ; CPU:$CCE0 PRG:4CE0 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsRts2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsRts2:
|
|
lda Zp99 ; CPU:$CCE1 PRG:4CE1 A5 99
|
|
lsr a ; CPU:$CCE3 PRG:4CE3 4A
|
|
bcs Sub_CCE7 ; CPU:$CCE4 PRG:4CE4 B0 01
|
|
rts ; CPU:$CCE6 PRG:4CE6 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CCE7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CCE7:
|
|
txa ; CPU:$CCE7 PRG:4CE7 8A
|
|
lsr a ; CPU:$CCE8 PRG:4CE8 4A
|
|
tax ; CPU:$CCE9 PRG:4CE9 AA
|
|
lda $CD37,x ; CPU:$CCEA PRG:4CEA BD 37 CD
|
|
sta ObjPtr ; CPU:$CCED PRG:4CED 85 13
|
|
ldx #$00 ; CPU:$CCEF PRG:4CEF A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CCF1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CCF1:
|
|
lda $0300,x ; CPU:$CCF1 PRG:4CF1 BD 00 03
|
|
beq Sub_CD00 ; CPU:$CCF4 PRG:4CF4 F0 0A
|
|
txa ; CPU:$CCF6 PRG:4CF6 8A
|
|
clc ; CPU:$CCF7 PRG:4CF7 18
|
|
adc #$08 ; CPU:$CCF8 PRG:4CF8 69 08
|
|
tax ; CPU:$CCFA PRG:4CFA AA
|
|
cpx #$80 ; CPU:$CCFB PRG:4CFB E0 80
|
|
bne Sub_CCF1 ; CPU:$CCFD PRG:4CFD D0 F2
|
|
rts ; CPU:$CCFF PRG:4CFF 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CD00
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CD00:
|
|
lda ObjPtr ; CPU:$CD00 PRG:4D00 A5 13
|
|
sta $0300,x ; CPU:$CD02 PRG:4D02 9D 00 03
|
|
lda #$02 ; CPU:$CD05 PRG:4D05 A9 02
|
|
sta $0301,x ; CPU:$CD07 PRG:4D07 9D 01 03
|
|
lda ScrollY ; CPU:$CD0A PRG:4D0A A5 03
|
|
and #$07 ; CPU:$CD0C PRG:4D0C 29 07
|
|
clc ; CPU:$CD0E PRG:4D0E 18
|
|
adc #$E7 ; CPU:$CD0F PRG:4D0F 69 E7
|
|
sta $0302,x ; CPU:$CD11 PRG:4D11 9D 02 03
|
|
lda (Zp2A),y ; CPU:$CD14 PRG:4D14 B1 2A
|
|
asl a ; CPU:$CD16 PRG:4D16 0A
|
|
asl a ; CPU:$CD17 PRG:4D17 0A
|
|
asl a ; CPU:$CD18 PRG:4D18 0A
|
|
clc ; CPU:$CD19 PRG:4D19 18
|
|
adc #$08 ; CPU:$CD1A PRG:4D1A 69 08
|
|
sta $0303,x ; CPU:$CD1C PRG:4D1C 9D 03 03
|
|
lda $0208 ; CPU:$CD1F PRG:4D1F AD 08 02
|
|
sta $0304,x ; CPU:$CD22 PRG:4D22 9D 04 03
|
|
lda $0209 ; CPU:$CD25 PRG:4D25 AD 09 02
|
|
clc ; CPU:$CD28 PRG:4D28 18
|
|
adc (Zp2A),y ; CPU:$CD29 PRG:4D29 71 2A
|
|
sta $0305,x ; CPU:$CD2B PRG:4D2B 9D 05 03
|
|
lda #$00 ; CPU:$CD2E PRG:4D2E A9 00
|
|
sta $0306,x ; CPU:$CD30 PRG:4D30 9D 06 03
|
|
sta $0307,x ; CPU:$CD33 PRG:4D33 9D 07 03
|
|
rts ; CPU:$CD36 PRG:4D36 60
|
|
OamSlotTable:
|
|
; OAM sprite slot/index table (read by lda $CD37,x)
|
|
; ---- data $CD37-$CD44 (14 bytes) ----
|
|
; referenced by `lda $CD37,x` at $CC96 (operand $CD37 falls inside this region)
|
|
; referenced by `lda $CD37,x` at $CCEA (operand $CD37 falls inside this region)
|
|
.byte $02, $04, $06, $08, $00, $0A, $00, $0C, $00, $00, $00, $00, $00, $0E ; CPU:$CD37 PRG:4D37 02 04 06 08 00 0A 00 0C 00 00 00 00 00 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CD45
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CD45:
|
|
rol a ; CPU:$CD45 PRG:4D45 2A
|
|
bit $2E32 ; CPU:$CD46 PRG:4D46 2C 32 2E
|
|
bmi Sub_CD81 ; CPU:$CD49 PRG:4D49 30 36
|
|
sec ; CPU:$CD4B PRG:4D4B 38
|
|
; ---- data $CD4C-$CD4C (1 bytes) ----
|
|
.byte $60 ; CPU:$CD4C PRG:4D4C 60
|
|
; ---- data $CD4D-$CD80 (52 bytes) ----
|
|
.byte $61, $62, $63, $64, $65, $66, $67, $68, $69, $6A, $6B, $6C, $6D, $6E, $6F, $73 ; CPU:$CD4D PRG:4D4D 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 73
|
|
.byte $2D, $2D, $76, $2D, $73, $76, $A5, $2D, $79, $7C, $A5, $79, $8D, $8D, $7C, $70 ; CPU:$CD5D PRG:4D5D 2D 2D 76 2D 73 76 A5 2D 79 7C A5 79 8D 8D 7C 70
|
|
.byte $71, $74, $75, $72, $64, $65, $77, $78, $66, $67, $7D, $7A, $7B, $7E, $7F, $5C ; CPU:$CD6D PRG:4D6D 71 74 75 72 64 65 77 78 66 67 7D 7A 7B 7E 7F 5C
|
|
.byte $5D, $5E, $5F, $2C ; CPU:$CD7D PRG:4D7D 5D 5E 5F 2C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CD81
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CD81:
|
|
bit $2C2C ; CPU:$CD81 PRG:4D81 2C 2C 2C
|
|
bit $8481 ; CPU:$CD84 PRG:4D84 2C 81 84
|
|
sta Zp88 ; CPU:$CD87 PRG:4D87 85 88
|
|
; ---- data $CD89-$CE02 (122 bytes) ----
|
|
.byte $89, $8C, $2C, $82, $83, $86, $87, $8A, $8B, $8E, $8F, $2C, $91, $94, $95, $98 ; CPU:$CD89 PRG:4D89 89 8C 2C 82 83 86 87 8A 8B 8E 8F 2C 91 94 95 98
|
|
.byte $99, $9C, $9D, $A0, $A1, $A4, $2C, $92, $93, $96, $97, $9A, $9B, $9E, $9F, $A2 ; CPU:$CD99 PRG:4D99 99 9C 9D A0 A1 A4 2C 92 93 96 97 9A 9B 9E 9F A2
|
|
.byte $A3, $A6, $A7, $A8, $A9, $AC, $AD, $B0, $B1, $B4, $B5, $B8, $B9, $BC, $BD, $AA ; CPU:$CDA9 PRG:4DA9 A3 A6 A7 A8 A9 AC AD B0 B1 B4 B5 B8 B9 BC BD AA
|
|
.byte $AB, $AE, $AF, $B2, $A5, $A5, $B7, $BA, $BB, $BE, $BF, $C0, $C1, $C4, $C5, $C8 ; CPU:$CDB9 PRG:4DB9 AB AE AF B2 A5 A5 B7 BA BB BE BF C0 C1 C4 C5 C8
|
|
.byte $A5, $A5, $CD, $D0, $D1, $D4, $D5, $C2, $C3, $C6, $C7, $CA, $CB, $CE, $CF, $D2 ; CPU:$CDC9 PRG:4DC9 A5 A5 CD D0 D1 D4 D5 C2 C3 C6 C7 CA CB CE CF D2
|
|
.byte $D3, $D6, $D7, $D8, $D9, $DC, $DD, $E0, $E1, $E4, $E5, $E8, $E9, $EC, $ED, $2C ; CPU:$CDD9 PRG:4DD9 D3 D6 D7 D8 D9 DC DD E0 E1 E4 E5 E8 E9 EC ED 2C
|
|
.byte $DB, $DE, $DF, $E2, $E3, $E6, $E7, $EA, $EB, $EE, $2C, $F0, $F1, $F4, $F5, $F8 ; CPU:$CDE9 PRG:4DE9 DB DE DF E2 E3 E6 E7 EA EB EE 2C F0 F1 F4 F5 F8
|
|
.byte $F9, $FC, $FD, $2C, $F3, $F6, $F7, $FA, $FB, $FE ; CPU:$CDF9 PRG:4DF9 F9 FC FD 2C F3 F6 F7 FA FB FE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE03
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE03:
|
|
bit a:$00A2 ; CPU:$CE03 PRG:4E03 2C A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE06
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE06:
|
|
jsr DispatchAndCheck ; CPU:$CE06 PRG:4E06 20 11 CE
|
|
txa ; CPU:$CE09 PRG:4E09 8A
|
|
clc ; CPU:$CE0A PRG:4E0A 18
|
|
adc #$10 ; CPU:$CE0B PRG:4E0B 69 10
|
|
tax ; CPU:$CE0D PRG:4E0D AA
|
|
bne Sub_CE06 ; CPU:$CE0E PRG:4E0E D0 F6
|
|
rts ; CPU:$CE10 PRG:4E10 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAndCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAndCheck:
|
|
lda $0400,x ; CPU:$CE11 PRG:4E11 BD 00 04
|
|
and #$03 ; CPU:$CE14 PRG:4E14 29 03
|
|
beq Sub_CE3D ; CPU:$CE16 PRG:4E16 F0 25
|
|
sec ; CPU:$CE18 PRG:4E18 38
|
|
sbc #$01 ; CPU:$CE19 PRG:4E19 E9 01
|
|
beq Sub_CE3E ; CPU:$CE1B PRG:4E1B F0 21
|
|
sec ; CPU:$CE1D PRG:4E1D 38
|
|
sbc #$01 ; CPU:$CE1E PRG:4E1E E9 01
|
|
beq Sub_CE45 ; CPU:$CE20 PRG:4E20 F0 23
|
|
lda $0407,x ; CPU:$CE22 PRG:4E22 BD 07 04
|
|
clc ; CPU:$CE25 PRG:4E25 18
|
|
adc Zp25 ; CPU:$CE26 PRG:4E26 65 25
|
|
sta $0407,x ; CPU:$CE28 PRG:4E28 9D 07 04
|
|
bcc Sub_CE30 ; CPU:$CE2B PRG:4E2B 90 03
|
|
inc $0407,x ; CPU:$CE2D PRG:4E2D FE 07 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE30
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE30:
|
|
jsr DispatchOraCheck ; CPU:$CE30 PRG:4E30 20 50 CE
|
|
dec $040B,x ; CPU:$CE33 PRG:4E33 DE 0B 04
|
|
bne Sub_CE3D ; CPU:$CE36 PRG:4E36 D0 05
|
|
lda #$01 ; CPU:$CE38 PRG:4E38 A9 01
|
|
sta $0400,x ; CPU:$CE3A PRG:4E3A 9D 00 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE3D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE3D:
|
|
rts ; CPU:$CE3D PRG:4E3D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE3E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE3E:
|
|
jsr DispatchAddStoreLda ; CPU:$CE3E PRG:4E3E 20 3D D0
|
|
jsr DispatchOraCheck ; CPU:$CE41 PRG:4E41 20 50 CE
|
|
rts ; CPU:$CE44 PRG:4E44 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE45
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE45:
|
|
lda #$03 ; CPU:$CE45 PRG:4E45 A9 03
|
|
jsr DispatchStoreB ; CPU:$CE47 PRG:4E47 20 0C D1
|
|
lda #$01 ; CPU:$CE4A PRG:4E4A A9 01
|
|
sta $0400,x ; CPU:$CE4C PRG:4E4C 9D 00 04
|
|
rts ; CPU:$CE4F PRG:4E4F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchOraCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchOraCheck:
|
|
lda $0403,x ; CPU:$CE50 PRG:4E50 BD 03 04
|
|
ora $0406,x ; CPU:$CE53 PRG:4E53 1D 06 04
|
|
bne Sub_CE5F ; CPU:$CE56 PRG:4E56 D0 07
|
|
lda $0404,x ; CPU:$CE58 PRG:4E58 BD 04 04
|
|
cmp #$F9 ; CPU:$CE5B PRG:4E5B C9 F9
|
|
bcc Sub_CE65 ; CPU:$CE5D PRG:4E5D 90 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE5F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE5F:
|
|
lda #$00 ; CPU:$CE5F PRG:4E5F A9 00
|
|
sta $0400,x ; CPU:$CE61 PRG:4E61 9D 00 04
|
|
rts ; CPU:$CE64 PRG:4E64 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE65
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CE65:
|
|
lda #$02 ; CPU:$CE65 PRG:4E65 A9 02
|
|
sta ObjPtr ; CPU:$CE67 PRG:4E67 85 13
|
|
lda $0407,x ; CPU:$CE69 PRG:4E69 BD 07 04
|
|
cmp #$F0 ; CPU:$CE6C PRG:4E6C C9 F0
|
|
bcs Sub_CEC2 ; CPU:$CE6E PRG:4E6E B0 52
|
|
ldy ObjectDeltaX ; CPU:$CE70 PRG:4E70 A4 2D
|
|
beq Sub_CEC2 ; CPU:$CE72 PRG:4E72 F0 4E
|
|
sta $0700,y ; CPU:$CE74 PRG:4E74 99 00 07
|
|
sec ; CPU:$CE77 PRG:4E77 38
|
|
sbc Zp24 ; CPU:$CE78 PRG:4E78 E5 24
|
|
clc ; CPU:$CE7A PRG:4E7A 18
|
|
adc #$02 ; CPU:$CE7B PRG:4E7B 69 02
|
|
cmp #$0D ; CPU:$CE7D PRG:4E7D C9 0D
|
|
bcs Sub_CE83 ; CPU:$CE7F PRG:4E7F B0 02
|
|
dec ObjPtr ; CPU:$CE81 PRG:4E81 C6 13
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CE83
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_CE83:
|
|
iny ; CPU:$CE83 PRG:4E83 C8
|
|
inc $0409,x ; CPU:$CE84 PRG:4E84 FE 09 04
|
|
lda $0409,x ; CPU:$CE87 PRG:4E87 BD 09 04
|
|
ror a ; CPU:$CE8A PRG:4E8A 6A
|
|
ror a ; CPU:$CE8B PRG:4E8B 6A
|
|
and #$01 ; CPU:$CE8C PRG:4E8C 29 01
|
|
ora #$DE ; CPU:$CE8E PRG:4E8E 09 DE
|
|
sta $0700,y ; CPU:$CE90 PRG:4E90 99 00 07
|
|
iny ; CPU:$CE93 PRG:4E93 C8
|
|
lda $0409,x ; CPU:$CE94 PRG:4E94 BD 09 04
|
|
ror a ; CPU:$CE97 PRG:4E97 6A
|
|
and #$01 ; CPU:$CE98 PRG:4E98 29 01
|
|
ora #$02 ; CPU:$CE9A PRG:4E9A 09 02
|
|
sta $0700,y ; CPU:$CE9C PRG:4E9C 99 00 07
|
|
iny ; CPU:$CE9F PRG:4E9F C8
|
|
lda $0404,x ; CPU:$CEA0 PRG:4EA0 BD 04 04
|
|
sta $0700,y ; CPU:$CEA3 PRG:4EA3 99 00 07
|
|
iny ; CPU:$CEA6 PRG:4EA6 C8
|
|
sty ObjectDeltaX ; CPU:$CEA7 PRG:4EA7 84 2D
|
|
sec ; CPU:$CEA9 PRG:4EA9 38
|
|
sbc Zp23 ; CPU:$CEAA PRG:4EAA E5 23
|
|
clc ; CPU:$CEAC PRG:4EAC 18
|
|
adc #$02 ; CPU:$CEAD PRG:4EAD 69 02
|
|
cmp #$0D ; CPU:$CEAF PRG:4EAF C9 0D
|
|
bcs Sub_CEB5 ; CPU:$CEB1 PRG:4EB1 B0 02
|
|
dec ObjPtr ; CPU:$CEB3 PRG:4EB3 C6 13
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CEB5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CEB5:
|
|
lda ObjPtr ; CPU:$CEB5 PRG:4EB5 A5 13
|
|
bne Sub_CEC2 ; CPU:$CEB7 PRG:4EB7 D0 09
|
|
lda Zp3B ; CPU:$CEB9 PRG:4EB9 A5 3B
|
|
bne Sub_CEC2 ; CPU:$CEBB PRG:4EBB D0 05
|
|
inc $0611 ; CPU:$CEBD PRG:4EBD EE 11 06
|
|
inc Zp3B ; CPU:$CEC0 PRG:4EC0 E6 3B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CEC2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CEC2:
|
|
rts ; CPU:$CEC2 PRG:4EC2 60
|
|
; ---- data $CEC3-$CECE (12 bytes) ----
|
|
.byte $20, $F6, $CE, $BD, $82, $03, $18, $69, $02, $9D, $82, $03 ; CPU:$CEC3 PRG:4EC3 20 F6 CE BD 82 03 18 69 02 9D 82 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CECF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CECF:
|
|
jsr DispatchJmpA ; CPU:$CECF PRG:4ECF 20 F6 CE
|
|
lda $0382,x ; CPU:$CED2 PRG:4ED2 BD 82 03
|
|
sec ; CPU:$CED5 PRG:4ED5 38
|
|
sbc #$04 ; CPU:$CED6 PRG:4ED6 E9 04
|
|
sta $0382,x ; CPU:$CED8 PRG:4ED8 9D 82 03
|
|
jsr DispatchJmpA ; CPU:$CEDB PRG:4EDB 20 F6 CE
|
|
lda $0382,x ; CPU:$CEDE PRG:4EDE BD 82 03
|
|
clc ; CPU:$CEE1 PRG:4EE1 18
|
|
adc #$06 ; CPU:$CEE2 PRG:4EE2 69 06
|
|
sta $0382,x ; CPU:$CEE4 PRG:4EE4 9D 82 03
|
|
jsr DispatchJmpA ; CPU:$CEE7 PRG:4EE7 20 F6 CE
|
|
lda $0382,x ; CPU:$CEEA PRG:4EEA BD 82 03
|
|
sec ; CPU:$CEED PRG:4EED 38
|
|
sbc #$08 ; CPU:$CEEE PRG:4EEE E9 08
|
|
sta $0382,x ; CPU:$CEF0 PRG:4EF0 9D 82 03
|
|
jmp DispatchJmpA ; CPU:$CEF3 PRG:4EF3 4C F6 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJmpA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJmpA:
|
|
lda #$03 ; CPU:$CEF6 PRG:4EF6 A9 03
|
|
jmp DispatchStoreJsrStoreLda ; CPU:$CEF8 PRG:4EF8 4C FD CE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaA:
|
|
lda #$02 ; CPU:$CEFB PRG:4EFB A9 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreJsrStoreLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreJsrStoreLda:
|
|
sta Zp39 ; CPU:$CEFD PRG:4EFD 85 39
|
|
jsr DispatchLdyA ; CPU:$CEFF PRG:4EFF 20 54 D1
|
|
lda $0383,x ; CPU:$CF02 PRG:4F02 BD 83 03
|
|
sta $0403,y ; CPU:$CF05 PRG:4F05 99 03 04
|
|
lda $0384,x ; CPU:$CF08 PRG:4F08 BD 84 03
|
|
sta $0404,y ; CPU:$CF0B PRG:4F0B 99 04 04
|
|
lda $0386,x ; CPU:$CF0E PRG:4F0E BD 86 03
|
|
sta $0406,y ; CPU:$CF11 PRG:4F11 99 06 04
|
|
lda $0387,x ; CPU:$CF14 PRG:4F14 BD 87 03
|
|
sta $0407,y ; CPU:$CF17 PRG:4F17 99 07 04
|
|
lda $0382,x ; CPU:$CF1A PRG:4F1A BD 82 03
|
|
sta $0402,y ; CPU:$CF1D PRG:4F1D 99 02 04
|
|
lda #$01 ; CPU:$CF20 PRG:4F20 A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CF22
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CF22:
|
|
sta $0400,y ; CPU:$CF22 PRG:4F22 99 00 04
|
|
txa ; CPU:$CF25 PRG:4F25 8A
|
|
pha ; CPU:$CF26 PRG:4F26 48
|
|
tya ; CPU:$CF27 PRG:4F27 98
|
|
tax ; CPU:$CF28 PRG:4F28 AA
|
|
jsr DispatchStoreStoreStoreStore ; CPU:$CF29 PRG:4F29 20 0E D1
|
|
pla ; CPU:$CF2C PRG:4F2C 68
|
|
tax ; CPU:$CF2D PRG:4F2D AA
|
|
rts ; CPU:$CF2E PRG:4F2E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrStoreLdaClc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrStoreLdaClc:
|
|
jsr DispatchLdyA ; CPU:$CF2F PRG:4F2F 20 54 D1
|
|
lda $0383,x ; CPU:$CF32 PRG:4F32 BD 83 03
|
|
sta $0403,y ; CPU:$CF35 PRG:4F35 99 03 04
|
|
lda $0384,x ; CPU:$CF38 PRG:4F38 BD 84 03
|
|
clc ; CPU:$CF3B PRG:4F3B 18
|
|
adc #$04 ; CPU:$CF3C PRG:4F3C 69 04
|
|
bcs Sub_CF64 ; CPU:$CF3E PRG:4F3E B0 24
|
|
sta $0404,y ; CPU:$CF40 PRG:4F40 99 04 04
|
|
lda $0386,x ; CPU:$CF43 PRG:4F43 BD 86 03
|
|
sta $0406,y ; CPU:$CF46 PRG:4F46 99 06 04
|
|
lda $0387,x ; CPU:$CF49 PRG:4F49 BD 87 03
|
|
clc ; CPU:$CF4C PRG:4F4C 18
|
|
adc #$04 ; CPU:$CF4D PRG:4F4D 69 04
|
|
bcs Sub_CF64 ; CPU:$CF4F PRG:4F4F B0 13
|
|
sta $0407,y ; CPU:$CF51 PRG:4F51 99 07 04
|
|
lda #$01 ; CPU:$CF54 PRG:4F54 A9 01
|
|
sta $0400,y ; CPU:$CF56 PRG:4F56 99 00 04
|
|
txa ; CPU:$CF59 PRG:4F59 8A
|
|
pha ; CPU:$CF5A PRG:4F5A 48
|
|
tya ; CPU:$CF5B PRG:4F5B 98
|
|
tax ; CPU:$CF5C PRG:4F5C AA
|
|
lda #$02 ; CPU:$CF5D PRG:4F5D A9 02
|
|
jsr DispatchJsrSubBcs ; CPU:$CF5F PRG:4F5F 20 88 D0
|
|
pla ; CPU:$CF62 PRG:4F62 68
|
|
tax ; CPU:$CF63 PRG:4F63 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CF64
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CF64:
|
|
rts ; CPU:$CF64 PRG:4F64 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrStoreLdaClc2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrStoreLdaClc2:
|
|
jsr DispatchLdyA ; CPU:$CF65 PRG:4F65 20 54 D1
|
|
lda $0503,x ; CPU:$CF68 PRG:4F68 BD 03 05
|
|
sta $0403,y ; CPU:$CF6B PRG:4F6B 99 03 04
|
|
lda $0504,x ; CPU:$CF6E PRG:4F6E BD 04 05
|
|
clc ; CPU:$CF71 PRG:4F71 18
|
|
adc #$04 ; CPU:$CF72 PRG:4F72 69 04
|
|
bcs Sub_CF9A ; CPU:$CF74 PRG:4F74 B0 24
|
|
sta $0404,y ; CPU:$CF76 PRG:4F76 99 04 04
|
|
lda $0506,x ; CPU:$CF79 PRG:4F79 BD 06 05
|
|
sta $0406,y ; CPU:$CF7C PRG:4F7C 99 06 04
|
|
lda $0507,x ; CPU:$CF7F PRG:4F7F BD 07 05
|
|
clc ; CPU:$CF82 PRG:4F82 18
|
|
adc #$04 ; CPU:$CF83 PRG:4F83 69 04
|
|
bcs Sub_CF9A ; CPU:$CF85 PRG:4F85 B0 13
|
|
sta $0407,y ; CPU:$CF87 PRG:4F87 99 07 04
|
|
lda #$01 ; CPU:$CF8A PRG:4F8A A9 01
|
|
sta $0400,y ; CPU:$CF8C PRG:4F8C 99 00 04
|
|
txa ; CPU:$CF8F PRG:4F8F 8A
|
|
pha ; CPU:$CF90 PRG:4F90 48
|
|
tya ; CPU:$CF91 PRG:4F91 98
|
|
tax ; CPU:$CF92 PRG:4F92 AA
|
|
lda #$02 ; CPU:$CF93 PRG:4F93 A9 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CF95
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CF95:
|
|
jsr DispatchJsrSubBcs ; CPU:$CF95 PRG:4F95 20 88 D0
|
|
pla ; CPU:$CF98 PRG:4F98 68
|
|
tax ; CPU:$CF99 PRG:4F99 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CF9A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CF9A:
|
|
rts ; CPU:$CF9A PRG:4F9A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrStoreLdaClc3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrStoreLdaClc3:
|
|
jsr DispatchLdyA ; CPU:$CF9B PRG:4F9B 20 54 D1
|
|
lda #$00 ; CPU:$CF9E PRG:4F9E A9 00
|
|
sta $0403,y ; CPU:$CFA0 PRG:4FA0 99 03 04
|
|
lda $0303,x ; CPU:$CFA3 PRG:4FA3 BD 03 03
|
|
clc ; CPU:$CFA6 PRG:4FA6 18
|
|
adc #$04 ; CPU:$CFA7 PRG:4FA7 69 04
|
|
bcs Sub_CFD4 ; CPU:$CFA9 PRG:4FA9 B0 29
|
|
sta $0404,y ; CPU:$CFAB PRG:4FAB 99 04 04
|
|
lda $0301,x ; CPU:$CFAE PRG:4FAE BD 01 03
|
|
sta $0406,y ; CPU:$CFB1 PRG:4FB1 99 06 04
|
|
lda $0302,x ; CPU:$CFB4 PRG:4FB4 BD 02 03
|
|
clc ; CPU:$CFB7 PRG:4FB7 18
|
|
adc #$04 ; CPU:$CFB8 PRG:4FB8 69 04
|
|
bcs Sub_CFD4 ; CPU:$CFBA PRG:4FBA B0 18
|
|
sta $0407,y ; CPU:$CFBC PRG:4FBC 99 07 04
|
|
lda #$03 ; CPU:$CFBF PRG:4FBF A9 03
|
|
sta $0400,y ; CPU:$CFC1 PRG:4FC1 99 00 04
|
|
lda #$05 ; CPU:$CFC4 PRG:4FC4 A9 05
|
|
sta $040B,y ; CPU:$CFC6 PRG:4FC6 99 0B 04
|
|
txa ; CPU:$CFC9 PRG:4FC9 8A
|
|
pha ; CPU:$CFCA PRG:4FCA 48
|
|
tya ; CPU:$CFCB PRG:4FCB 98
|
|
tax ; CPU:$CFCC PRG:4FCC AA
|
|
lda #$02 ; CPU:$CFCD PRG:4FCD A9 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CFCF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CFCF:
|
|
jsr DispatchJsrSubBcs ; CPU:$CFCF PRG:4FCF 20 88 D0
|
|
pla ; CPU:$CFD2 PRG:4FD2 68
|
|
tax ; CPU:$CFD3 PRG:4FD3 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CFD4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CFD4:
|
|
rts ; CPU:$CFD4 PRG:4FD4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchTyaPhaLdy
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchTyaPhaLdy:
|
|
tya ; CPU:$CFD5 PRG:4FD5 98
|
|
pha ; CPU:$CFD6 PRG:4FD6 48
|
|
ldy #$00 ; CPU:$CFD7 PRG:4FD7 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CFD9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CFD9:
|
|
lda $0400,y ; CPU:$CFD9 PRG:4FD9 B9 00 04
|
|
and #$03 ; CPU:$CFDC PRG:4FDC 29 03
|
|
beq Sub_CFEA ; CPU:$CFDE PRG:4FDE F0 0A
|
|
tya ; CPU:$CFE0 PRG:4FE0 98
|
|
clc ; CPU:$CFE1 PRG:4FE1 18
|
|
adc #$10 ; CPU:$CFE2 PRG:4FE2 69 10
|
|
tay ; CPU:$CFE4 PRG:4FE4 A8
|
|
bne Sub_CFD9 ; CPU:$CFE5 PRG:4FE5 D0 F2
|
|
pla ; CPU:$CFE7 PRG:4FE7 68
|
|
tay ; CPU:$CFE8 PRG:4FE8 A8
|
|
rts ; CPU:$CFE9 PRG:4FE9 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_CFEA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_CFEA:
|
|
lda #$00 ; CPU:$CFEA PRG:4FEA A9 00
|
|
sta $0403,y ; CPU:$CFEC PRG:4FEC 99 03 04
|
|
sta $0406,y ; CPU:$CFEF PRG:4FEF 99 06 04
|
|
lda Zp45 ; CPU:$CFF2 PRG:4FF2 A5 45
|
|
sta $0404,y ; CPU:$CFF4 PRG:4FF4 99 04 04
|
|
lda Zp46 ; CPU:$CFF7 PRG:4FF7 A5 46
|
|
sta $0407,y ; CPU:$CFF9 PRG:4FF9 99 07 04
|
|
lda #$03 ; CPU:$CFFC PRG:4FFC A9 03
|
|
sta $0400,y ; CPU:$CFFE PRG:4FFE 99 00 04
|
|
lda #$03 ; CPU:$D001 PRG:5001 A9 03
|
|
sta $040B,y ; CPU:$D003 PRG:5003 99 0B 04
|
|
txa ; CPU:$D006 PRG:5006 8A
|
|
pha ; CPU:$D007 PRG:5007 48
|
|
tya ; CPU:$D008 PRG:5008 98
|
|
tax ; CPU:$D009 PRG:5009 AA
|
|
lda #$02 ; CPU:$D00A PRG:500A A9 02
|
|
jsr DispatchJsrSubBcs ; CPU:$D00C PRG:500C 20 88 D0
|
|
pla ; CPU:$D00F PRG:500F 68
|
|
tax ; CPU:$D010 PRG:5010 AA
|
|
pla ; CPU:$D011 PRG:5011 68
|
|
tay ; CPU:$D012 PRG:5012 A8
|
|
rts ; CPU:$D013 PRG:5013 60
|
|
; ---- data $D014-$D017 (4 bytes) ----
|
|
.byte $A2, $00, $A0, $10 ; CPU:$D014 PRG:5014 A2 00 A0 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D018
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D018:
|
|
lda #$02 ; CPU:$D018 PRG:5018 A9 02
|
|
sta $0400,x ; CPU:$D01A PRG:501A 9D 00 04
|
|
tya ; CPU:$D01D PRG:501D 98
|
|
asl a ; CPU:$D01E PRG:501E 0A
|
|
sta $0402,x ; CPU:$D01F PRG:501F 9D 02 04
|
|
lda #$00 ; CPU:$D022 PRG:5022 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D024
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D024:
|
|
sta $0403,x ; CPU:$D024 PRG:5024 9D 03 04
|
|
sta $0406,x ; CPU:$D027 PRG:5027 9D 06 04
|
|
lda ObjectXLo ; CPU:$D02A PRG:502A A5 37
|
|
sta $0404,x ; CPU:$D02C PRG:502C 9D 04 04
|
|
lda ObjectXHi ; CPU:$D02F PRG:502F A5 38
|
|
sta $0407,x ; CPU:$D031 PRG:5031 9D 07 04
|
|
txa ; CPU:$D034 PRG:5034 8A
|
|
clc ; CPU:$D035 PRG:5035 18
|
|
adc #$10 ; CPU:$D036 PRG:5036 69 10
|
|
tax ; CPU:$D038 PRG:5038 AA
|
|
dey ; CPU:$D039 PRG:5039 88
|
|
bne Sub_D018 ; CPU:$D03A PRG:503A D0 DC
|
|
rts ; CPU:$D03C PRG:503C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAddStoreLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAddStoreLda:
|
|
lda $040D,x ; CPU:$D03D PRG:503D BD 0D 04
|
|
clc ; CPU:$D040 PRG:5040 18
|
|
adc $0405,x ; CPU:$D041 PRG:5041 7D 05 04
|
|
sta $0405,x ; CPU:$D044 PRG:5044 9D 05 04
|
|
lda $040C,x ; CPU:$D047 PRG:5047 BD 0C 04
|
|
adc $0404,x ; CPU:$D04A PRG:504A 7D 04 04
|
|
sta $0404,x ; CPU:$D04D PRG:504D 9D 04 04
|
|
lda $040C,x ; CPU:$D050 PRG:5050 BD 0C 04
|
|
bpl Sub_D05A ; CPU:$D053 PRG:5053 10 05
|
|
lda #$FF ; CPU:$D055 PRG:5055 A9 FF
|
|
jmp DispatchAdcStoreLdaAdd ; CPU:$D057 PRG:5057 4C 5C D0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D05A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D05A:
|
|
lda #$00 ; CPU:$D05A PRG:505A A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAdcStoreLdaAdd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAdcStoreLdaAdd:
|
|
adc $0403,x ; CPU:$D05C PRG:505C 7D 03 04
|
|
sta $0403,x ; CPU:$D05F PRG:505F 9D 03 04
|
|
lda $040F,x ; CPU:$D062 PRG:5062 BD 0F 04
|
|
clc ; CPU:$D065 PRG:5065 18
|
|
adc $0408,x ; CPU:$D066 PRG:5066 7D 08 04
|
|
sta $0408,x ; CPU:$D069 PRG:5069 9D 08 04
|
|
lda $040E,x ; CPU:$D06C PRG:506C BD 0E 04
|
|
adc $0407,x ; CPU:$D06F PRG:506F 7D 07 04
|
|
sta $0407,x ; CPU:$D072 PRG:5072 9D 07 04
|
|
lda $040E,x ; CPU:$D075 PRG:5075 BD 0E 04
|
|
bpl Sub_D07F ; CPU:$D078 PRG:5078 10 05
|
|
lda #$FF ; CPU:$D07A PRG:507A A9 FF
|
|
jmp DispatchAdcStoreRts ; CPU:$D07C PRG:507C 4C 81 D0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D07F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D07F:
|
|
lda #$00 ; CPU:$D07F PRG:507F A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAdcStoreRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAdcStoreRts:
|
|
adc $0406,x ; CPU:$D081 PRG:5081 7D 06 04
|
|
sta $0406,x ; CPU:$D084 PRG:5084 9D 06 04
|
|
rts ; CPU:$D087 PRG:5087 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrSubBcs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrSubBcs:
|
|
sta Zp39 ; CPU:$D088 PRG:5088 85 39
|
|
jsr DispatchCheckLdaRts ; CPU:$D08A PRG:508A 20 F8 D0
|
|
sec ; CPU:$D08D PRG:508D 38
|
|
sbc $0404,x ; CPU:$D08E PRG:508E FD 04 04
|
|
bcs Sub_D0BA ; CPU:$D091 PRG:5091 B0 27
|
|
eor #$FF ; CPU:$D093 PRG:5093 49 FF
|
|
clc ; CPU:$D095 PRG:5095 18
|
|
adc #$01 ; CPU:$D096 PRG:5096 69 01
|
|
sta ObjectXLo ; CPU:$D098 PRG:5098 85 37
|
|
jsr DispatchCheckLdaRts2 ; CPU:$D09A PRG:509A 20 02 D1
|
|
sec ; CPU:$D09D PRG:509D 38
|
|
sbc $0407,x ; CPU:$D09E PRG:509E FD 07 04
|
|
bcs Sub_D0D8 ; CPU:$D0A1 PRG:50A1 B0 35
|
|
eor #$FF ; CPU:$D0A3 PRG:50A3 49 FF
|
|
clc ; CPU:$D0A5 PRG:50A5 18
|
|
adc #$01 ; CPU:$D0A6 PRG:50A6 69 01
|
|
sta ObjectXHi ; CPU:$D0A8 PRG:50A8 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0AA PRG:50AA 20 5D ED
|
|
sta ObjPtr ; CPU:$D0AD PRG:50AD 85 13
|
|
lda #$18 ; CPU:$D0AF PRG:50AF A9 18
|
|
sec ; CPU:$D0B1 PRG:50B1 38
|
|
sbc ObjPtr ; CPU:$D0B2 PRG:50B2 E5 13
|
|
sta $0402,x ; CPU:$D0B4 PRG:50B4 9D 02 04
|
|
jmp DispatchStoreStoreStoreStore ; CPU:$D0B7 PRG:50B7 4C 0E D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D0BA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D0BA:
|
|
sta ObjectXLo ; CPU:$D0BA PRG:50BA 85 37
|
|
jsr DispatchCheckLdaRts2 ; CPU:$D0BC PRG:50BC 20 02 D1
|
|
sec ; CPU:$D0BF PRG:50BF 38
|
|
sbc $0407,x ; CPU:$D0C0 PRG:50C0 FD 07 04
|
|
bcs Sub_D0E6 ; CPU:$D0C3 PRG:50C3 B0 21
|
|
eor #$FF ; CPU:$D0C5 PRG:50C5 49 FF
|
|
clc ; CPU:$D0C7 PRG:50C7 18
|
|
adc #$01 ; CPU:$D0C8 PRG:50C8 69 01
|
|
sta ObjectXHi ; CPU:$D0CA PRG:50CA 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0CC PRG:50CC 20 5D ED
|
|
clc ; CPU:$D0CF PRG:50CF 18
|
|
adc #$08 ; CPU:$D0D0 PRG:50D0 69 08
|
|
sta $0402,x ; CPU:$D0D2 PRG:50D2 9D 02 04
|
|
jmp DispatchStoreStoreStoreStore ; CPU:$D0D5 PRG:50D5 4C 0E D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D0D8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D0D8:
|
|
sta ObjectXHi ; CPU:$D0D8 PRG:50D8 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0DA PRG:50DA 20 5D ED
|
|
clc ; CPU:$D0DD PRG:50DD 18
|
|
adc #$18 ; CPU:$D0DE PRG:50DE 69 18
|
|
sta $0402,x ; CPU:$D0E0 PRG:50E0 9D 02 04
|
|
jmp DispatchStoreStoreStoreStore ; CPU:$D0E3 PRG:50E3 4C 0E D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D0E6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D0E6:
|
|
sta ObjectXHi ; CPU:$D0E6 PRG:50E6 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$D0E8 PRG:50E8 20 5D ED
|
|
sta ObjPtr ; CPU:$D0EB PRG:50EB 85 13
|
|
lda #$08 ; CPU:$D0ED PRG:50ED A9 08
|
|
sec ; CPU:$D0EF PRG:50EF 38
|
|
sbc ObjPtr ; CPU:$D0F0 PRG:50F0 E5 13
|
|
sta $0402,x ; CPU:$D0F2 PRG:50F2 9D 02 04
|
|
jmp DispatchStoreStoreStoreStore ; CPU:$D0F5 PRG:50F5 4C 0E D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCheckLdaRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCheckLdaRts:
|
|
lda Zp3B ; CPU:$D0F8 PRG:50F8 A5 3B
|
|
bne Sub_D0FF ; CPU:$D0FA PRG:50FA D0 03
|
|
lda Zp23 ; CPU:$D0FC PRG:50FC A5 23
|
|
rts ; CPU:$D0FE PRG:50FE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D0FF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D0FF:
|
|
lda #$F0 ; CPU:$D0FF PRG:50FF A9 F0
|
|
rts ; CPU:$D101 PRG:5101 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCheckLdaRts2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCheckLdaRts2:
|
|
lda Zp3B ; CPU:$D102 PRG:5102 A5 3B
|
|
bne Sub_D109 ; CPU:$D104 PRG:5104 D0 03
|
|
lda Zp24 ; CPU:$D106 PRG:5106 A5 24
|
|
rts ; CPU:$D108 PRG:5108 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D109
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D109:
|
|
lda #$10 ; CPU:$D109 PRG:5109 A9 10
|
|
rts ; CPU:$D10B PRG:510B 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreB:
|
|
sta Zp39 ; CPU:$D10C PRG:510C 85 39
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreStoreStoreStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreStoreStoreStore:
|
|
lda #$00 ; CPU:$D10E PRG:510E A9 00
|
|
sta $040C,x ; CPU:$D110 PRG:5110 9D 0C 04
|
|
sta $040D,x ; CPU:$D113 PRG:5113 9D 0D 04
|
|
sta $040E,x ; CPU:$D116 PRG:5116 9D 0E 04
|
|
sta $040F,x ; CPU:$D119 PRG:5119 9D 0F 04
|
|
lda Zp39 ; CPU:$D11C PRG:511C A5 39
|
|
bne Sub_D121 ; CPU:$D11E PRG:511E D0 01
|
|
rts ; CPU:$D120 PRG:5120 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D121
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D121:
|
|
lda $0402,x ; CPU:$D121 PRG:5121 BD 02 04
|
|
asl a ; CPU:$D124 PRG:5124 0A
|
|
asl a ; CPU:$D125 PRG:5125 0A
|
|
and #$7F ; CPU:$D126 PRG:5126 29 7F
|
|
tay ; CPU:$D128 PRG:5128 A8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D129
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D129:
|
|
lda $F136,y ; CPU:$D129 PRG:5129 B9 36 F1
|
|
clc ; CPU:$D12C PRG:512C 18
|
|
adc $040D,x ; CPU:$D12D PRG:512D 7D 0D 04
|
|
sta $040D,x ; CPU:$D130 PRG:5130 9D 0D 04
|
|
lda $F137,y ; CPU:$D133 PRG:5133 B9 37 F1
|
|
adc $040C,x ; CPU:$D136 PRG:5136 7D 0C 04
|
|
sta $040C,x ; CPU:$D139 PRG:5139 9D 0C 04
|
|
lda $F138,y ; CPU:$D13C PRG:513C B9 38 F1
|
|
clc ; CPU:$D13F PRG:513F 18
|
|
adc $040F,x ; CPU:$D140 PRG:5140 7D 0F 04
|
|
sta $040F,x ; CPU:$D143 PRG:5143 9D 0F 04
|
|
lda $F139,y ; CPU:$D146 PRG:5146 B9 39 F1
|
|
adc $040E,x ; CPU:$D149 PRG:5149 7D 0E 04
|
|
sta $040E,x ; CPU:$D14C PRG:514C 9D 0E 04
|
|
dec Zp39 ; CPU:$D14F PRG:514F C6 39
|
|
bne Sub_D129 ; CPU:$D151 PRG:5151 D0 D6
|
|
rts ; CPU:$D153 PRG:5153 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyA:
|
|
ldy #$00 ; CPU:$D154 PRG:5154 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D156
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D156:
|
|
lda $0400,y ; CPU:$D156 PRG:5156 B9 00 04
|
|
and #$03 ; CPU:$D159 PRG:5159 29 03
|
|
beq Sub_D166 ; CPU:$D15B PRG:515B F0 09
|
|
tya ; CPU:$D15D PRG:515D 98
|
|
clc ; CPU:$D15E PRG:515E 18
|
|
adc #$10 ; CPU:$D15F PRG:515F 69 10
|
|
tay ; CPU:$D161 PRG:5161 A8
|
|
bne Sub_D156 ; CPU:$D162 PRG:5162 D0 F2
|
|
pla ; CPU:$D164 PRG:5164 68
|
|
pla ; CPU:$D165 PRG:5165 68
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D166
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D166:
|
|
rts ; CPU:$D166 PRG:5166 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjMoveCall
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjMoveCall:
|
|
ldx #$00 ; CPU:$D167 PRG:5167 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D169
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D169:
|
|
lda $0300,x ; CPU:$D169 PRG:5169 BD 00 03
|
|
beq DispatchTxAddTaxCpx ; CPU:$D16C PRG:516C F0 2D
|
|
tay ; CPU:$D16E PRG:516E A8
|
|
lda $0301,x ; CPU:$D16F PRG:516F BD 01 03
|
|
cmp #$02 ; CPU:$D172 PRG:5172 C9 02
|
|
bne Sub_D17E ; CPU:$D174 PRG:5174 D0 08
|
|
lda #$FF ; CPU:$D176 PRG:5176 A9 FF
|
|
sta $0301,x ; CPU:$D178 PRG:5178 9D 01 03
|
|
jmp DispatchTxAddTaxCpx ; CPU:$D17B PRG:517B 4C 9B D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D17E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D17E:
|
|
lda $0302,x ; CPU:$D17E PRG:517E BD 02 03
|
|
clc ; CPU:$D181 PRG:5181 18
|
|
adc Zp25 ; CPU:$D182 PRG:5182 65 25
|
|
bcc Sub_D198 ; CPU:$D184 PRG:5184 90 12
|
|
inc $0301,x ; CPU:$D186 PRG:5186 FE 01 03
|
|
beq Sub_D198 ; CPU:$D189 PRG:5189 F0 0D
|
|
cpy #$0E ; CPU:$D18B PRG:518B C0 0E
|
|
beq Sub_D198 ; CPU:$D18D PRG:518D F0 09
|
|
cpy #$48 ; CPU:$D18F PRG:518F C0 48
|
|
beq Sub_D198 ; CPU:$D191 PRG:5191 F0 05
|
|
lda #$00 ; CPU:$D193 PRG:5193 A9 00
|
|
sta $0300,x ; CPU:$D195 PRG:5195 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D198
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D198:
|
|
sta $0302,x ; CPU:$D198 PRG:5198 9D 02 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchTxAddTaxCpx
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchTxAddTaxCpx:
|
|
txa ; CPU:$D19B PRG:519B 8A
|
|
clc ; CPU:$D19C PRG:519C 18
|
|
adc #$08 ; CPU:$D19D PRG:519D 69 08
|
|
tax ; CPU:$D19F PRG:519F AA
|
|
cpx #$80 ; CPU:$D1A0 PRG:51A0 E0 80
|
|
bne Sub_D169 ; CPU:$D1A2 PRG:51A2 D0 C5
|
|
lda GameSubMode ; CPU:$D1A4 PRG:51A4 A5 1B
|
|
lsr a ; CPU:$D1A6 PRG:51A6 4A
|
|
bcs Sub_D1DB ; CPU:$D1A7 PRG:51A7 B0 32
|
|
ldx #$00 ; CPU:$D1A9 PRG:51A9 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1AB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1AB:
|
|
jsr DispatchLdyPhaLdaPha ; CPU:$D1AB PRG:51AB 20 09 D2
|
|
txa ; CPU:$D1AE PRG:51AE 8A
|
|
clc ; CPU:$D1AF PRG:51AF 18
|
|
adc #$08 ; CPU:$D1B0 PRG:51B0 69 08
|
|
tax ; CPU:$D1B2 PRG:51B2 AA
|
|
cpx #$80 ; CPU:$D1B3 PRG:51B3 E0 80
|
|
bne Sub_D1AB ; CPU:$D1B5 PRG:51B5 D0 F4
|
|
ldx #$00 ; CPU:$D1B7 PRG:51B7 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1B9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1B9:
|
|
lda $0300,x ; CPU:$D1B9 PRG:51B9 BD 00 03
|
|
cmp #$4A ; CPU:$D1BC PRG:51BC C9 4A
|
|
beq Sub_D1D5 ; CPU:$D1BE PRG:51BE F0 15
|
|
cmp #$3A ; CPU:$D1C0 PRG:51C0 C9 3A
|
|
beq Sub_D1C8 ; CPU:$D1C2 PRG:51C2 F0 04
|
|
cmp #$3C ; CPU:$D1C4 PRG:51C4 C9 3C
|
|
bne DispatchTxAddTaxCpx2 ; CPU:$D1C6 PRG:51C6 D0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1C8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1C8:
|
|
jsr DispatchLsrsLsrsAnd ; CPU:$D1C8 PRG:51C8 20 DA D7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchTxAddTaxCpx2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchTxAddTaxCpx2:
|
|
txa ; CPU:$D1CB PRG:51CB 8A
|
|
clc ; CPU:$D1CC PRG:51CC 18
|
|
adc #$08 ; CPU:$D1CD PRG:51CD 69 08
|
|
tax ; CPU:$D1CF PRG:51CF AA
|
|
cpx #$80 ; CPU:$D1D0 PRG:51D0 E0 80
|
|
bne Sub_D1B9 ; CPU:$D1D2 PRG:51D2 D0 E5
|
|
rts ; CPU:$D1D4 PRG:51D4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1D5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1D5:
|
|
jsr DispatchCheckBeqRts ; CPU:$D1D5 PRG:51D5 20 CB D2
|
|
jmp DispatchTxAddTaxCpx2 ; CPU:$D1D8 PRG:51D8 4C CB D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1DB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1DB:
|
|
ldx #$78 ; CPU:$D1DB PRG:51DB A2 78
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1DD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1DD:
|
|
jsr DispatchLdyPhaLdaPha ; CPU:$D1DD PRG:51DD 20 09 D2
|
|
txa ; CPU:$D1E0 PRG:51E0 8A
|
|
sec ; CPU:$D1E1 PRG:51E1 38
|
|
sbc #$08 ; CPU:$D1E2 PRG:51E2 E9 08
|
|
tax ; CPU:$D1E4 PRG:51E4 AA
|
|
bpl Sub_D1DD ; CPU:$D1E5 PRG:51E5 10 F6
|
|
ldx #$78 ; CPU:$D1E7 PRG:51E7 A2 78
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1E9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1E9:
|
|
lda $0300,x ; CPU:$D1E9 PRG:51E9 BD 00 03
|
|
cmp #$4A ; CPU:$D1EC PRG:51EC C9 4A
|
|
beq Sub_D203 ; CPU:$D1EE PRG:51EE F0 13
|
|
cmp #$3A ; CPU:$D1F0 PRG:51F0 C9 3A
|
|
beq Sub_D1F8 ; CPU:$D1F2 PRG:51F2 F0 04
|
|
cmp #$3C ; CPU:$D1F4 PRG:51F4 C9 3C
|
|
bne DispatchSubTaxBpl ; CPU:$D1F6 PRG:51F6 D0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D1F8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D1F8:
|
|
jsr DispatchLsrsLsrsAnd ; CPU:$D1F8 PRG:51F8 20 DA D7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchSubTaxBpl
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchSubTaxBpl:
|
|
txa ; CPU:$D1FB PRG:51FB 8A
|
|
sec ; CPU:$D1FC PRG:51FC 38
|
|
sbc #$08 ; CPU:$D1FD PRG:51FD E9 08
|
|
tax ; CPU:$D1FF PRG:51FF AA
|
|
bpl Sub_D1E9 ; CPU:$D200 PRG:5200 10 E7
|
|
rts ; CPU:$D202 PRG:5202 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D203
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D203:
|
|
jsr DispatchCheckBeqRts ; CPU:$D203 PRG:5203 20 CB D2
|
|
jmp DispatchSubTaxBpl ; CPU:$D206 PRG:5206 4C FB D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyPhaLdaPha
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyPhaLdaPha:
|
|
ldy $0300,x ; CPU:$D209 PRG:5209 BC 00 03
|
|
lda $D216,y ; CPU:$D20C PRG:520C B9 16 D2
|
|
pha ; CPU:$D20F PRG:520F 48
|
|
lda $D215,y ; CPU:$D210 PRG:5210 B9 15 D2
|
|
pha ; CPU:$D213 PRG:5213 48
|
|
rts ; CPU:$D214 PRG:5214 60
|
|
ObjSubPtrTable:
|
|
; Object subroutine pointer table (16-bit entries called via pha/pha/rts)
|
|
; ---- data $D215-$D249 (53 bytes) ----
|
|
; referenced by `lda $D216,y` at $D20C (operand $D216 falls inside this region)
|
|
; referenced by `lda $D215,y` at $D210 (operand $D215 falls inside this region)
|
|
.byte $1F, $D7, $C2, $D9, $79, $DA, $B0, $DA, $C2, $DA, $DD, $DA, $F5, $DA, $3A, $D3 ; CPU:$D215 PRG:5215 1F D7 C2 D9 79 DA B0 DA C2 DA DD DA F5 DA 3A D3
|
|
.byte $27, $DD, $46, $DE, $A9, $DD, $7C, $DB, $CC, $DB, $02, $DC, $44, $DC, $5E, $DC ; CPU:$D225 PRG:5225 27 DD 46 DE A9 DD 7C DB CC DB 02 DC 44 DC 5E DC
|
|
.byte $6A, $DB, $B2, $DB, $3D, $DB, $70, $DC, $75, $DC, $AD, $D8, $AD, $D8, $AD, $D8 ; CPU:$D235 PRG:5235 6A DB B2 DB 3D DB 70 DC 75 DC AD D8 AD D8 AD D8
|
|
.byte $AD, $D8, $2B, $D9, $FB ; CPU:$D245 PRG:5245 AD D8 2B D9 FB
|
|
; ---- data $D24A-$D24A (1 bytes) ----
|
|
.byte $D9 ; CPU:$D24A PRG:524A D9
|
|
jsr $01D7 ; CPU:$D24B PRG:524B 20 D7 01
|
|
.byte $D7, $56 ; CPU:$D24E PRG:524E D7 56 -- dcp Zp56,x (undocumented; ca65 cannot encode)
|
|
.byte $D7, $40 ; CPU:$D250 PRG:5250 D7 40 -- dcp Zp40,x (undocumented; ca65 cannot encode)
|
|
; ---- data $D252-$D2C3 (114 bytes) ----
|
|
.byte $D7, $D2, $D6, $96, $D8, $96, $D8, $96, $D8, $96, $D8, $E8, $D2, $1F, $D7, $62 ; CPU:$D252 PRG:5252 D7 D2 D6 96 D8 96 D8 96 D8 96 D8 E8 D2 1F D7 62
|
|
.byte $D2, $BD, $02, $03, $38, $E9, $06, $B0, $0A, $A9, $00, $9D, $00, $03, $85, $13 ; CPU:$D262 PRG:5262 D2 BD 02 03 38 E9 06 B0 0A A9 00 9D 00 03 85 13
|
|
.byte $4C, $A1, $D2, $9D, $02, $03, $85, $38, $BD, $03, $03, $85, $37, $86, $13, $A2 ; CPU:$D272 PRG:5272 4C A1 D2 9D 02 03 85 38 BD 03 03 85 37 86 13 A2
|
|
.byte $A0, $20, $D9, $D5, $E0, $B0, $D0, $F9, $A6, $13, $A5, $1B, $29, $07, $A8, $B9 ; CPU:$D282 PRG:5282 A0 20 D9 D5 E0 B0 D0 F9 A6 13 A5 1B 29 07 A8 B9
|
|
.byte $C3, $D2, $85, $13, $A5, $3B, $F0, $07, $A9, $00, $9D, $00, $03, $85, $13, $A4 ; CPU:$D292 PRG:5292 C3 D2 85 13 A5 3B F0 07 A9 00 9D 00 03 85 13 A4
|
|
.byte $1A, $A9, $3F, $99, $08, $02, $C8, $A9, $13, $99, $08, $02, $C8, $A9, $01, $99 ; CPU:$D2A2 PRG:52A2 1A A9 3F 99 08 02 C8 A9 13 99 08 02 C8 A9 01 99
|
|
.byte $08, $02, $C8, $A5, $13, $99, $08, $02, $C8, $A9, $00, $99, $08, $02, $84, $1A ; CPU:$D2B2 PRG:52B2 08 02 C8 A5 13 99 08 02 C8 A9 00 99 08 02 84 1A
|
|
.byte $60, $02 ; CPU:$D2C2 PRG:52C2 60 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D2C4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D2C4:
|
|
ora Zp16 ; CPU:$D2C4 PRG:52C4 05 16
|
|
plp ; CPU:$D2C6 PRG:52C6 28
|
|
rol a ; CPU:$D2C7 PRG:52C7 2A
|
|
rol Zp12 ; CPU:$D2C8 PRG:52C8 26 12
|
|
; ---- data $D2CA-$D2CA (1 bytes) ----
|
|
.byte $15 ; CPU:$D2CA PRG:52CA 15
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCheckBeqRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCheckBeqRts:
|
|
lda $0301,x ; CPU:$D2CB PRG:52CB BD 01 03
|
|
beq Sub_D2D1 ; CPU:$D2CE PRG:52CE F0 01
|
|
rts ; CPU:$D2D0 PRG:52D0 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D2D1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D2D1:
|
|
lda $0302,x ; CPU:$D2D1 PRG:52D1 BD 02 03
|
|
sta ObjectXHi ; CPU:$D2D4 PRG:52D4 85 38
|
|
lda $0303,x ; CPU:$D2D6 PRG:52D6 BD 03 03
|
|
sta ObjectXLo ; CPU:$D2D9 PRG:52D9 85 37
|
|
stx ObjPtr ; CPU:$D2DB PRG:52DB 86 13
|
|
ldx #$10 ; CPU:$D2DD PRG:52DD A2 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D2DF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D2DF:
|
|
jsr DispatchLdyBeqLdaAdd ; CPU:$D2DF PRG:52DF 20 D9 D5
|
|
cpx #$20 ; CPU:$D2E2 PRG:52E2 E0 20
|
|
bne Sub_D2DF ; CPU:$D2E4 PRG:52E4 D0 F9
|
|
ldx ObjPtr ; CPU:$D2E6 PRG:52E6 A6 13
|
|
rts ; CPU:$D2E8 PRG:52E8 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D2E9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D2E9:
|
|
lda $0301,x ; CPU:$D2E9 PRG:52E9 BD 01 03
|
|
beq Sub_D2F4 ; CPU:$D2EC PRG:52EC F0 06
|
|
bmi Sub_D2F3 ; CPU:$D2EE PRG:52EE 30 03
|
|
jmp DispatchCmpBneLdaSub ; CPU:$D2F0 PRG:52F0 4C 14 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D2F3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D2F3:
|
|
rts ; CPU:$D2F3 PRG:52F3 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D2F4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D2F4:
|
|
lda $0302,x ; CPU:$D2F4 PRG:52F4 BD 02 03
|
|
sec ; CPU:$D2F7 PRG:52F7 38
|
|
sbc #$50 ; CPU:$D2F8 PRG:52F8 E9 50
|
|
sta ObjectXHi ; CPU:$D2FA PRG:52FA 85 38
|
|
bcs Sub_D301 ; CPU:$D2FC PRG:52FC B0 03
|
|
jmp DispatchStoreStoreStoreStx ; CPU:$D2FE PRG:52FE 4C 28 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D301
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D301:
|
|
lda $0303,x ; CPU:$D301 PRG:5301 BD 03 03
|
|
sta ObjectXLo ; CPU:$D304 PRG:5304 85 37
|
|
lda $0307,x ; CPU:$D306 PRG:5306 BD 07 03
|
|
sta ObjPtr ; CPU:$D309 PRG:5309 85 13
|
|
stx Zp2C ; CPU:$D30B PRG:530B 86 2C
|
|
lda #$00 ; CPU:$D30D PRG:530D A9 00
|
|
sta ObjectYLo ; CPU:$D30F PRG:530F 85 35
|
|
jmp DispatchLdxC ; CPU:$D311 PRG:5311 4C C3 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCmpBneLdaSub
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCmpBneLdaSub:
|
|
cmp #$01 ; CPU:$D314 PRG:5314 C9 01
|
|
bne Sub_D322 ; CPU:$D316 PRG:5316 D0 0A
|
|
lda $0302,x ; CPU:$D318 PRG:5318 BD 02 03
|
|
sec ; CPU:$D31B PRG:531B 38
|
|
sbc #$50 ; CPU:$D31C PRG:531C E9 50
|
|
sta ObjectXHi ; CPU:$D31E PRG:531E 85 38
|
|
bcc Sub_D301 ; CPU:$D320 PRG:5320 90 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D322
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D322:
|
|
lda #$00 ; CPU:$D322 PRG:5322 A9 00
|
|
sta $0300,x ; CPU:$D324 PRG:5324 9D 00 03
|
|
rts ; CPU:$D327 PRG:5327 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreStoreStoreStx
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreStoreStoreStx:
|
|
lda $0303,x ; CPU:$D328 PRG:5328 BD 03 03
|
|
sta ObjectXLo ; CPU:$D32B PRG:532B 85 37
|
|
lda $0307,x ; CPU:$D32D PRG:532D BD 07 03
|
|
sta ObjPtr ; CPU:$D330 PRG:5330 85 13
|
|
stx Zp2C ; CPU:$D332 PRG:5332 86 2C
|
|
lda #$01 ; CPU:$D334 PRG:5334 A9 01
|
|
sta ObjectYLo ; CPU:$D336 PRG:5336 85 35
|
|
jmp DispatchLdxC ; CPU:$D338 PRG:5338 4C C3 D3
|
|
; ---- data $D33B-$D342 (8 bytes) ----
|
|
.byte $A5, $5A, $05, $3B, $D0, $05, $A9, $01 ; CPU:$D33B PRG:533B A5 5A 05 3B D0 05 A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D343
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D343:
|
|
sta $060B ; CPU:$D343 PRG:5343 8D 0B 06
|
|
lda $0301,x ; CPU:$D346 PRG:5346 BD 01 03
|
|
beq Sub_D351 ; CPU:$D349 PRG:5349 F0 06
|
|
bmi Sub_D350 ; CPU:$D34B PRG:534B 30 03
|
|
jmp DispatchCmpBneLdaSub2 ; CPU:$D34D PRG:534D 4C 72 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D350
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D350:
|
|
rts ; CPU:$D350 PRG:5350 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D351
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D351:
|
|
lda $0302,x ; CPU:$D351 PRG:5351 BD 02 03
|
|
sec ; CPU:$D354 PRG:5354 38
|
|
sbc #$50 ; CPU:$D355 PRG:5355 E9 50
|
|
sta ObjectXHi ; CPU:$D357 PRG:5357 85 38
|
|
bcs DispatchStoreJmp ; CPU:$D359 PRG:5359 B0 03
|
|
jmp DispatchLdaD ; CPU:$D35B PRG:535B 4C 83 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreJmp
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreJmp:
|
|
lda #$00 ; CPU:$D35E PRG:535E A9 00
|
|
sta ObjectYLo ; CPU:$D360 PRG:5360 85 35
|
|
jmp DispatchStoreStoreStoreStx4; CPU:$D362 PRG:5362 4C 87 D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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:
|
|
lda #$00 ; CPU:$D365 PRG:5365 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D367
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_D367:
|
|
sta $0300,x ; CPU:$D367 PRG:5367 9D 00 03
|
|
txa ; CPU:$D36A PRG:536A 8A
|
|
pha ; CPU:$D36B PRG:536B 48
|
|
jsr ClearOamInit ; CPU:$D36C PRG:536C 20 D3 B8
|
|
pla ; CPU:$D36F PRG:536F 68
|
|
tax ; CPU:$D370 PRG:5370 AA
|
|
rts ; CPU:$D371 PRG:5371 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCmpBneLdaSub2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCmpBneLdaSub2:
|
|
cmp #$01 ; CPU:$D372 PRG:5372 C9 01
|
|
bne Sub_D365 ; CPU:$D374 PRG:5374 D0 EF
|
|
lda $0302,x ; CPU:$D376 PRG:5376 BD 02 03
|
|
sec ; CPU:$D379 PRG:5379 38
|
|
sbc #$50 ; CPU:$D37A PRG:537A E9 50
|
|
sta ObjectXHi ; CPU:$D37C PRG:537C 85 38
|
|
bcs Sub_D365 ; CPU:$D37E PRG:537E B0 E5
|
|
jmp DispatchStoreJmp ; CPU:$D380 PRG:5380 4C 5E D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaD:
|
|
lda #$01 ; CPU:$D383 PRG:5383 A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D385
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D385:
|
|
sta ObjectYLo ; CPU:$D385 PRG:5385 85 35
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreStoreStoreStx4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreStoreStoreStx4:
|
|
lda $0303,x ; CPU:$D387 PRG:5387 BD 03 03
|
|
sta ObjectXLo ; CPU:$D38A PRG:538A 85 37
|
|
lda $0307,x ; CPU:$D38C PRG:538C BD 07 03
|
|
sta ObjPtr ; CPU:$D38F PRG:538F 85 13
|
|
stx Zp2C ; CPU:$D391 PRG:5391 86 2C
|
|
ldx #$00 ; CPU:$D393 PRG:5393 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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:
|
|
jsr DispatchLdaBne ; CPU:$D395 PRG:5395 20 D5 D5
|
|
cpx #$10 ; CPU:$D398 PRG:5398 E0 10
|
|
bne Sub_D395 ; CPU:$D39A PRG:539A D0 F9
|
|
ldx #$20 ; CPU:$D39C PRG:539C A2 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D39E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D39E:
|
|
lsr ObjPtr ; CPU:$D39E PRG:539E 46 13
|
|
bcs Sub_D3A8 ; CPU:$D3A0 PRG:53A0 B0 06
|
|
jsr DispatchLdaBne ; CPU:$D3A2 PRG:53A2 20 D5 D5
|
|
jmp DispatchCpxBneLdaAndClc ; CPU:$D3A5 PRG:53A5 4C AC D3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3A8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3A8:
|
|
inx ; CPU:$D3A8 PRG:53A8 E8
|
|
inx ; CPU:$D3A9 PRG:53A9 E8
|
|
inx ; CPU:$D3AA PRG:53AA E8
|
|
inx ; CPU:$D3AB PRG:53AB E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCpxBneLdaAndClc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCpxBneLdaAndClc:
|
|
cpx #$30 ; CPU:$D3AC PRG:53AC E0 30
|
|
bne Sub_D39E ; CPU:$D3AE PRG:53AE D0 EE
|
|
lda GameSubMode ; CPU:$D3B0 PRG:53B0 A5 1B
|
|
and #$30 ; CPU:$D3B2 PRG:53B2 29 30
|
|
clc ; CPU:$D3B4 PRG:53B4 18
|
|
adc #$60 ; CPU:$D3B5 PRG:53B5 69 60
|
|
tax ; CPU:$D3B7 PRG:53B7 AA
|
|
lda #$04 ; CPU:$D3B8 PRG:53B8 A9 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3BA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3BA:
|
|
sta ObjUpdateFlag ; CPU:$D3BA PRG:53BA 85 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3BC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3BC:
|
|
jsr DispatchLdaBne ; CPU:$D3BC PRG:53BC 20 D5 D5
|
|
dec ObjUpdateFlag ; CPU:$D3BF PRG:53BF C6 0E
|
|
bne Sub_D3BC ; CPU:$D3C1 PRG:53C1 D0 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdxC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdxC:
|
|
ldx #$30 ; CPU:$D3C3 PRG:53C3 A2 30
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3C5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3C5:
|
|
jsr DispatchLdaBne ; CPU:$D3C5 PRG:53C5 20 D5 D5
|
|
cpx #$60 ; CPU:$D3C8 PRG:53C8 E0 60
|
|
bne Sub_D3C5 ; CPU:$D3CA PRG:53CA D0 F9
|
|
ldx Zp2C ; CPU:$D3CC PRG:53CC A6 2C
|
|
lda $0300,x ; CPU:$D3CE PRG:53CE BD 00 03
|
|
cmp #$0E ; CPU:$D3D1 PRG:53D1 C9 0E
|
|
beq Sub_D3D6 ; CPU:$D3D3 PRG:53D3 F0 01
|
|
rts ; CPU:$D3D5 PRG:53D5 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3D6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3D6:
|
|
ldy #$00 ; CPU:$D3D6 PRG:53D6 A0 00
|
|
jsr DispatchCheckLdaAdd2 ; CPU:$D3D8 PRG:53D8 20 E3 D4
|
|
jsr DispatchCheckLdaAdd2 ; CPU:$D3DB PRG:53DB 20 E3 D4
|
|
jsr DispatchCheckLdaAdd2 ; CPU:$D3DE PRG:53DE 20 E3 D4
|
|
jsr DispatchCheckLdaAdd2 ; CPU:$D3E1 PRG:53E1 20 E3 D4
|
|
lda $0301,x ; CPU:$D3E4 PRG:53E4 BD 01 03
|
|
beq Sub_D3F2 ; CPU:$D3E7 PRG:53E7 F0 09
|
|
lda $0302,x ; CPU:$D3E9 PRG:53E9 BD 02 03
|
|
sec ; CPU:$D3EC PRG:53EC 38
|
|
sbc #$28 ; CPU:$D3ED PRG:53ED E9 28
|
|
bcc Sub_D3FA ; CPU:$D3EF PRG:53EF 90 09
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3F1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3F1:
|
|
rts ; CPU:$D3F1 PRG:53F1 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3F2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3F2:
|
|
lda $0302,x ; CPU:$D3F2 PRG:53F2 BD 02 03
|
|
sec ; CPU:$D3F5 PRG:53F5 38
|
|
sbc #$28 ; CPU:$D3F6 PRG:53F6 E9 28
|
|
bcc Sub_D3F1 ; CPU:$D3F8 PRG:53F8 90 F7
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3FA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3FA:
|
|
sta $0302,x ; CPU:$D3FA PRG:53FA 9D 02 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D3FD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D3FD:
|
|
lda $0303,x ; CPU:$D3FD PRG:53FD BD 03 03
|
|
clc ; CPU:$D400 PRG:5400 18
|
|
adc #$18 ; CPU:$D401 PRG:5401 69 18
|
|
sta $0303,x ; CPU:$D403 PRG:5403 9D 03 03
|
|
jsr DispatchSubSecClcAdd ; CPU:$D406 PRG:5406 20 E1 DC
|
|
lda $0306,x ; CPU:$D409 PRG:5409 BD 06 03
|
|
bne Sub_D421 ; CPU:$D40C PRG:540C D0 13
|
|
lda $0302,x ; CPU:$D40E PRG:540E BD 02 03
|
|
clc ; CPU:$D411 PRG:5411 18
|
|
adc #$28 ; CPU:$D412 PRG:5412 69 28
|
|
sta $0302,x ; CPU:$D414 PRG:5414 9D 02 03
|
|
lda $0303,x ; CPU:$D417 PRG:5417 BD 03 03
|
|
sec ; CPU:$D41A PRG:541A 38
|
|
sbc #$18 ; CPU:$D41B PRG:541B E9 18
|
|
sta $0303,x ; CPU:$D41D PRG:541D 9D 03 03
|
|
rts ; CPU:$D420 PRG:5420 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D421
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D421:
|
|
txa ; CPU:$D421 PRG:5421 8A
|
|
pha ; CPU:$D422 PRG:5422 48
|
|
lda #$04 ; CPU:$D423 PRG:5423 A9 04
|
|
jsr ObjSpritesInit4 ; CPU:$D425 PRG:5425 20 5B BF
|
|
lda #$48 ; CPU:$D428 PRG:5428 A9 48
|
|
sta $0300,x ; CPU:$D42A PRG:542A 9D 00 03
|
|
ldy #$70 ; CPU:$D42D PRG:542D A0 70
|
|
lda $0301,x ; CPU:$D42F PRG:542F BD 01 03
|
|
sta $0301,y ; CPU:$D432 PRG:5432 99 01 03
|
|
lda $0302,x ; CPU:$D435 PRG:5435 BD 02 03
|
|
sta Zp46 ; CPU:$D438 PRG:5438 85 46
|
|
sta $0302,y ; CPU:$D43A PRG:543A 99 02 03
|
|
lda $0303,x ; CPU:$D43D PRG:543D BD 03 03
|
|
sta Zp45 ; CPU:$D440 PRG:5440 85 45
|
|
sta $0303,y ; CPU:$D442 PRG:5442 99 03 03
|
|
; ---- data $D445-$D445 (1 bytes) ----
|
|
.byte $A9 ; CPU:$D445 PRG:5445 A9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D446
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D446:
|
|
lsr a ; CPU:$D446 PRG:5446 4A
|
|
sta $0300,y ; CPU:$D447 PRG:5447 99 00 03
|
|
jsr ClearOamInit ; CPU:$D44A PRG:544A 20 D3 B8
|
|
ldx #$00 ; CPU:$D44D PRG:544D A2 00
|
|
stx Zp61 ; CPU:$D44F PRG:544F 86 61
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D451
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D451:
|
|
lda $0300,x ; CPU:$D451 PRG:5451 BD 00 03
|
|
beq Sub_D462 ; CPU:$D454 PRG:5454 F0 0C
|
|
txa ; CPU:$D456 PRG:5456 8A
|
|
clc ; CPU:$D457 PRG:5457 18
|
|
adc #$08 ; CPU:$D458 PRG:5458 69 08
|
|
tax ; CPU:$D45A PRG:545A AA
|
|
cmp #$80 ; CPU:$D45B PRG:545B C9 80
|
|
bne Sub_D451 ; CPU:$D45D PRG:545D D0 F2
|
|
pla ; CPU:$D45F PRG:545F 68
|
|
tax ; CPU:$D460 PRG:5460 AA
|
|
rts ; CPU:$D461 PRG:5461 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D462
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D462:
|
|
lda #$1A ; CPU:$D462 PRG:5462 A9 1A
|
|
sta $0300,x ; CPU:$D464 PRG:5464 9D 00 03
|
|
lda #$4C ; CPU:$D467 PRG:5467 A9 4C
|
|
sta $0307,x ; CPU:$D469 PRG:5469 9D 07 03
|
|
lda #$01 ; CPU:$D46C PRG:546C A9 01
|
|
sta $0612 ; CPU:$D46E PRG:546E 8D 12 06
|
|
lda #$04 ; CPU:$D471 PRG:5471 A9 04
|
|
sta $0306,x ; CPU:$D473 PRG:5473 9D 06 03
|
|
lda Zp46 ; CPU:$D476 PRG:5476 A5 46
|
|
sta $0302,x ; CPU:$D478 PRG:5478 9D 02 03
|
|
lda Zp45 ; CPU:$D47B PRG:547B A5 45
|
|
sta $0303,x ; CPU:$D47D PRG:547D 9D 03 03
|
|
lda #$00 ; CPU:$D480 PRG:5480 A9 00
|
|
sta $0301,x ; CPU:$D482 PRG:5482 9D 01 03
|
|
pla ; CPU:$D485 PRG:5485 68
|
|
tax ; CPU:$D486 PRG:5486 AA
|
|
ldy #$00 ; CPU:$D487 PRG:5487 A0 00
|
|
lda $0302,x ; CPU:$D489 PRG:5489 BD 02 03
|
|
clc ; CPU:$D48C PRG:548C 18
|
|
adc #$28 ; CPU:$D48D PRG:548D 69 28
|
|
sta $0302,x ; CPU:$D48F PRG:548F 9D 02 03
|
|
sta ObjectXHi ; CPU:$D492 PRG:5492 85 38
|
|
lda $0303,x ; CPU:$D494 PRG:5494 BD 03 03
|
|
sec ; CPU:$D497 PRG:5497 38
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D498
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D498:
|
|
sbc #$18 ; CPU:$D498 PRG:5498 E9 18
|
|
sta $0303,x ; CPU:$D49A PRG:549A 9D 03 03
|
|
sta ObjectXLo ; CPU:$D49D PRG:549D 85 37
|
|
jsr DispatchCheckLdaAdd ; CPU:$D49F PRG:549F 20 A8 D4
|
|
jsr DispatchCheckLdaAdd ; CPU:$D4A2 PRG:54A2 20 A8 D4
|
|
jsr DispatchCheckLdaAdd ; CPU:$D4A5 PRG:54A5 20 A8 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCheckLdaAdd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCheckLdaAdd:
|
|
lda $0301,x ; CPU:$D4A8 PRG:54A8 BD 01 03
|
|
beq Sub_D4B9 ; CPU:$D4AB PRG:54AB F0 0C
|
|
lda ObjectXHi ; CPU:$D4AD PRG:54AD A5 38
|
|
clc ; CPU:$D4AF PRG:54AF 18
|
|
adc $D6C7,y ; CPU:$D4B0 PRG:54B0 79 C7 D6
|
|
bcc Sub_D4C1 ; CPU:$D4B3 PRG:54B3 90 0C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4B5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4B5:
|
|
iny ; CPU:$D4B5 PRG:54B5 C8
|
|
iny ; CPU:$D4B6 PRG:54B6 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4B7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4B7:
|
|
iny ; CPU:$D4B7 PRG:54B7 C8
|
|
rts ; CPU:$D4B8 PRG:54B8 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4B9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4B9:
|
|
lda ObjectXHi ; CPU:$D4B9 PRG:54B9 A5 38
|
|
clc ; CPU:$D4BB PRG:54BB 18
|
|
adc $D6C7,y ; CPU:$D4BC PRG:54BC 79 C7 D6
|
|
bcc Sub_D4B5 ; CPU:$D4BF PRG:54BF 90 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4C1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4C1:
|
|
sta Zp46 ; CPU:$D4C1 PRG:54C1 85 46
|
|
iny ; CPU:$D4C3 PRG:54C3 C8
|
|
lda ObjectXLo ; CPU:$D4C4 PRG:54C4 A5 37
|
|
clc ; CPU:$D4C6 PRG:54C6 18
|
|
adc $D6C7,y ; CPU:$D4C7 PRG:54C7 79 C7 D6
|
|
sta Zp45 ; CPU:$D4CA PRG:54CA 85 45
|
|
iny ; CPU:$D4CC PRG:54CC C8
|
|
lda $D6C7,y ; CPU:$D4CD PRG:54CD B9 C7 D6
|
|
and $0307,x ; CPU:$D4D0 PRG:54D0 3D 07 03
|
|
bne Sub_D4B7 ; CPU:$D4D3 PRG:54D3 D0 E2
|
|
lda $D6C7,y ; CPU:$D4D5 PRG:54D5 B9 C7 D6
|
|
ora $0307,x ; CPU:$D4D8 PRG:54D8 1D 07 03
|
|
sta $0307,x ; CPU:$D4DB PRG:54DB 9D 07 03
|
|
jsr DispatchTaxPhaLdxLda ; CPU:$D4DE PRG:54DE 20 94 D5
|
|
iny ; CPU:$D4E1 PRG:54E1 C8
|
|
rts ; CPU:$D4E2 PRG:54E2 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCheckLdaAdd2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCheckLdaAdd2:
|
|
lda $0301,x ; CPU:$D4E3 PRG:54E3 BD 01 03
|
|
beq Sub_D4F5 ; CPU:$D4E6 PRG:54E6 F0 0D
|
|
lda $0302,x ; CPU:$D4E8 PRG:54E8 BD 02 03
|
|
clc ; CPU:$D4EB PRG:54EB 18
|
|
adc $D6C7,y ; CPU:$D4EC PRG:54EC 79 C7 D6
|
|
bcc Sub_D4FE ; CPU:$D4EF PRG:54EF 90 0D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4F1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4F1:
|
|
iny ; CPU:$D4F1 PRG:54F1 C8
|
|
iny ; CPU:$D4F2 PRG:54F2 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4F3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4F3:
|
|
iny ; CPU:$D4F3 PRG:54F3 C8
|
|
rts ; CPU:$D4F4 PRG:54F4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4F5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4F5:
|
|
lda $0302,x ; CPU:$D4F5 PRG:54F5 BD 02 03
|
|
clc ; CPU:$D4F8 PRG:54F8 18
|
|
adc $D6C7,y ; CPU:$D4F9 PRG:54F9 79 C7 D6
|
|
bcc Sub_D4F1 ; CPU:$D4FC PRG:54FC 90 F3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D4FE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D4FE:
|
|
sta Zp46 ; CPU:$D4FE PRG:54FE 85 46
|
|
iny ; CPU:$D500 PRG:5500 C8
|
|
lda $0303,x ; CPU:$D501 PRG:5501 BD 03 03
|
|
clc ; CPU:$D504 PRG:5504 18
|
|
adc $D6C7,y ; CPU:$D505 PRG:5505 79 C7 D6
|
|
sta Zp45 ; CPU:$D508 PRG:5508 85 45
|
|
iny ; CPU:$D50A PRG:550A C8
|
|
lda $D6C7,y ; CPU:$D50B PRG:550B B9 C7 D6
|
|
and $0307,x ; CPU:$D50E PRG:550E 3D 07 03
|
|
bne Sub_D4F3 ; CPU:$D511 PRG:5511 D0 E0
|
|
lda Zp24 ; CPU:$D513 PRG:5513 A5 24
|
|
sec ; CPU:$D515 PRG:5515 38
|
|
sbc Zp46 ; CPU:$D516 PRG:5516 E5 46
|
|
sec ; CPU:$D518 PRG:5518 38
|
|
sbc #$32 ; CPU:$D519 PRG:5519 E9 32
|
|
cmp #$15 ; CPU:$D51B PRG:551B C9 15
|
|
bcs Sub_D52F ; CPU:$D51D PRG:551D B0 10
|
|
lda Zp23 ; CPU:$D51F PRG:551F A5 23
|
|
sec ; CPU:$D521 PRG:5521 38
|
|
sbc Zp45 ; CPU:$D522 PRG:5522 E5 45
|
|
clc ; CPU:$D524 PRG:5524 18
|
|
adc #$0E ; CPU:$D525 PRG:5525 69 0E
|
|
cmp #$15 ; CPU:$D527 PRG:5527 C9 15
|
|
bcs Sub_D52F ; CPU:$D529 PRG:5529 B0 04
|
|
lda #$01 ; CPU:$D52B PRG:552B A9 01
|
|
sta Zp2E ; CPU:$D52D PRG:552D 85 2E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D52F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D52F:
|
|
lda $02A0 ; CPU:$D52F PRG:552F AD A0 02
|
|
cmp #$20 ; CPU:$D532 PRG:5532 C9 20
|
|
bne Sub_D561 ; CPU:$D534 PRG:5534 D0 2B
|
|
lda Zp46 ; CPU:$D536 PRG:5536 A5 46
|
|
sec ; CPU:$D538 PRG:5538 38
|
|
sbc $02A4 ; CPU:$D539 PRG:5539 ED A4 02
|
|
clc ; CPU:$D53C PRG:553C 18
|
|
adc #$07 ; CPU:$D53D PRG:553D 69 07
|
|
cmp #$15 ; CPU:$D53F PRG:553F C9 15
|
|
bcs Sub_D561 ; CPU:$D541 PRG:5541 B0 1E
|
|
lda Zp45 ; CPU:$D543 PRG:5543 A5 45
|
|
sec ; CPU:$D545 PRG:5545 38
|
|
sbc $02A3 ; CPU:$D546 PRG:5546 ED A3 02
|
|
clc ; CPU:$D549 PRG:5549 18
|
|
adc #$07 ; CPU:$D54A PRG:554A 69 07
|
|
cmp #$15 ; CPU:$D54C PRG:554C C9 15
|
|
bcs Sub_D561 ; CPU:$D54E PRG:554E B0 11
|
|
jsr DispatchTaxPhaLdxLda ; CPU:$D550 PRG:5550 20 94 D5
|
|
lda $D6C7,y ; CPU:$D553 PRG:5553 B9 C7 D6
|
|
ora $0307,x ; CPU:$D556 PRG:5556 1D 07 03
|
|
sta $0307,x ; CPU:$D559 PRG:5559 9D 07 03
|
|
lda #$01 ; CPU:$D55C PRG:555C A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D55E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D55E:
|
|
jsr ObjSpritesInit4 ; CPU:$D55E PRG:555E 20 5B BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D561
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D561:
|
|
lda $D6C7,y ; CPU:$D561 PRG:5561 B9 C7 D6
|
|
iny ; CPU:$D564 PRG:5564 C8
|
|
and $0307,x ; CPU:$D565 PRG:5565 3D 07 03
|
|
beq Sub_D56B ; CPU:$D568 PRG:5568 F0 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D56A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D56A:
|
|
rts ; CPU:$D56A PRG:556A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D56B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D56B:
|
|
lda GameSubMode ; CPU:$D56B PRG:556B A5 1B
|
|
clc ; CPU:$D56D PRG:556D 18
|
|
adc #$02 ; CPU:$D56E PRG:556E 69 02
|
|
and #$03 ; CPU:$D570 PRG:5570 29 03
|
|
bne Sub_D56A ; CPU:$D572 PRG:5572 D0 F6
|
|
lda Zp46 ; CPU:$D574 PRG:5574 A5 46
|
|
cmp Zp91 ; CPU:$D576 PRG:5576 C5 91
|
|
bcs Sub_D56A ; CPU:$D578 PRG:5578 B0 F0
|
|
lda Zp61 ; CPU:$D57A PRG:557A A5 61
|
|
cmp #$FF ; CPU:$D57C PRG:557C C9 FF
|
|
beq Sub_D58A ; CPU:$D57E PRG:557E F0 0A
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$D580 PRG:5580 20 5C F5
|
|
and #$0F ; CPU:$D583 PRG:5583 29 0F
|
|
bne Sub_D56A ; CPU:$D585 PRG:5585 D0 E3
|
|
jmp DispatchTyaPhaLdy ; CPU:$D587 PRG:5587 4C D5 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D58A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D58A:
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$D58A PRG:558A 20 5C F5
|
|
and #$1F ; CPU:$D58D PRG:558D 29 1F
|
|
bne Sub_D56A ; CPU:$D58F PRG:558F D0 D9
|
|
jmp DispatchTyaPhaLdy ; CPU:$D591 PRG:5591 4C D5 CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchTaxPhaLdxLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchTaxPhaLdxLda:
|
|
txa ; CPU:$D594 PRG:5594 8A
|
|
pha ; CPU:$D595 PRG:5595 48
|
|
ldx #$00 ; CPU:$D596 PRG:5596 A2 00
|
|
lda #$01 ; CPU:$D598 PRG:5598 A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D59A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D59A:
|
|
sta $0612 ; CPU:$D59A PRG:559A 8D 12 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D59D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D59D:
|
|
lda $0300,x ; CPU:$D59D PRG:559D BD 00 03
|
|
beq Sub_D5AE ; CPU:$D5A0 PRG:55A0 F0 0C
|
|
txa ; CPU:$D5A2 PRG:55A2 8A
|
|
clc ; CPU:$D5A3 PRG:55A3 18
|
|
adc #$08 ; CPU:$D5A4 PRG:55A4 69 08
|
|
tax ; CPU:$D5A6 PRG:55A6 AA
|
|
cmp #$80 ; CPU:$D5A7 PRG:55A7 C9 80
|
|
bne Sub_D59D ; CPU:$D5A9 PRG:55A9 D0 F2
|
|
pla ; CPU:$D5AB PRG:55AB 68
|
|
tax ; CPU:$D5AC PRG:55AC AA
|
|
rts ; CPU:$D5AD PRG:55AD 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D5AE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D5AE:
|
|
lda #$1A ; CPU:$D5AE PRG:55AE A9 1A
|
|
sta $0300,x ; CPU:$D5B0 PRG:55B0 9D 00 03
|
|
lda #$80 ; CPU:$D5B3 PRG:55B3 A9 80
|
|
sta $0307,x ; CPU:$D5B5 PRG:55B5 9D 07 03
|
|
lda Zp46 ; CPU:$D5B8 PRG:55B8 A5 46
|
|
sec ; CPU:$D5BA PRG:55BA 38
|
|
sbc #$04 ; CPU:$D5BB PRG:55BB E9 04
|
|
sta $0302,x ; CPU:$D5BD PRG:55BD 9D 02 03
|
|
lda #$00 ; CPU:$D5C0 PRG:55C0 A9 00
|
|
sta $0301,x ; CPU:$D5C2 PRG:55C2 9D 01 03
|
|
lda Zp45 ; CPU:$D5C5 PRG:55C5 A5 45
|
|
sec ; CPU:$D5C7 PRG:55C7 38
|
|
sbc #$04 ; CPU:$D5C8 PRG:55C8 E9 04
|
|
sta $0303,x ; CPU:$D5CA PRG:55CA 9D 03 03
|
|
lda #$04 ; CPU:$D5CD PRG:55CD A9 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D5CF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D5CF:
|
|
sta $0306,x ; CPU:$D5CF PRG:55CF 9D 06 03
|
|
pla ; CPU:$D5D2 PRG:55D2 68
|
|
tax ; CPU:$D5D3 PRG:55D3 AA
|
|
rts ; CPU:$D5D4 PRG:55D4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBne
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBne:
|
|
lda ObjectYLo ; CPU:$D5D5 PRG:55D5 A5 35
|
|
bne Sub_D608 ; CPU:$D5D7 PRG:55D7 D0 2F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyBeqLdaAdd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyBeqLdaAdd:
|
|
ldy ObjectDeltaX ; CPU:$D5D9 PRG:55D9 A4 2D
|
|
beq Sub_D603 ; CPU:$D5DB PRG:55DB F0 26
|
|
lda $D617,x ; CPU:$D5DD PRG:55DD BD 17 D6
|
|
clc ; CPU:$D5E0 PRG:55E0 18
|
|
adc ObjectXHi ; CPU:$D5E1 PRG:55E1 65 38
|
|
bcs Sub_D603 ; CPU:$D5E3 PRG:55E3 B0 1E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreIncStoreInc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreIncStoreInc:
|
|
sta $0700,y ; CPU:$D5E5 PRG:55E5 99 00 07
|
|
iny ; CPU:$D5E8 PRG:55E8 C8
|
|
lda $D618,x ; CPU:$D5E9 PRG:55E9 BD 18 D6
|
|
sta $0700,y ; CPU:$D5EC PRG:55EC 99 00 07
|
|
iny ; CPU:$D5EF PRG:55EF C8
|
|
lda $D619,x ; CPU:$D5F0 PRG:55F0 BD 19 D6
|
|
sta $0700,y ; CPU:$D5F3 PRG:55F3 99 00 07
|
|
iny ; CPU:$D5F6 PRG:55F6 C8
|
|
lda $D61A,x ; CPU:$D5F7 PRG:55F7 BD 1A D6
|
|
clc ; CPU:$D5FA PRG:55FA 18
|
|
adc ObjectXLo ; CPU:$D5FB PRG:55FB 65 37
|
|
sta $0700,y ; CPU:$D5FD PRG:55FD 99 00 07
|
|
iny ; CPU:$D600 PRG:5600 C8
|
|
sty ObjectDeltaX ; CPU:$D601 PRG:5601 84 2D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D603
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D603:
|
|
inx ; CPU:$D603 PRG:5603 E8
|
|
inx ; CPU:$D604 PRG:5604 E8
|
|
inx ; CPU:$D605 PRG:5605 E8
|
|
inx ; CPU:$D606 PRG:5606 E8
|
|
rts ; CPU:$D607 PRG:5607 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D608
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D608:
|
|
ldy ObjectDeltaX ; CPU:$D608 PRG:5608 A4 2D
|
|
beq Sub_D603 ; CPU:$D60A PRG:560A F0 F7
|
|
lda $D617,x ; CPU:$D60C PRG:560C BD 17 D6
|
|
clc ; CPU:$D60F PRG:560F 18
|
|
adc ObjectXHi ; CPU:$D610 PRG:5610 65 38
|
|
bcc Sub_D603 ; CPU:$D612 PRG:5612 90 EF
|
|
jmp DispatchStoreIncStoreInc ; CPU:$D614 PRG:5614 4C E5 D5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D617
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D617:
|
|
plp ; CPU:$D617 PRG:5617 28
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D618
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D618:
|
|
beq Sub_D61B ; CPU:$D618 PRG:5618 F0 01
|
|
clc ; CPU:$D61A PRG:561A 18
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D61B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D61B:
|
|
plp ; CPU:$D61B PRG:561B 28
|
|
sbc (PPUMASKShadow),y ; CPU:$D61C PRG:561C F1 01
|
|
jsr $F230 ; CPU:$D61E PRG:561E 20 30 F2
|
|
ora (ObjectX,x) ; CPU:$D621 PRG:5621 01 18
|
|
bmi Sub_D618 ; CPU:$D623 PRG:5623 30 F3
|
|
ora (Zp20,x) ; CPU:$D625 PRG:5625 01 20
|
|
brk ; CPU:$D627 PRG:5627 00
|
|
; ---- data $D628-$D628 (1 bytes) ----
|
|
.byte $F4 ; CPU:$D628 PRG:5628 F4
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D629
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D629:
|
|
ora (PPUCTRLShadow,x) ; CPU:$D629 PRG:5629 01 00
|
|
brk ; CPU:$D62B PRG:562B 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D62C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D62C:
|
|
sbc PPUMASKShadow,x ; CPU:$D62C PRG:562C F5 01
|
|
php ; CPU:$D62E PRG:562E 08
|
|
php ; CPU:$D62F PRG:562F 08
|
|
inc PPUMASKShadow,x ; CPU:$D630 PRG:5630 F6 01
|
|
brk ; CPU:$D632 PRG:5632 00
|
|
; ---- data $D633-$D63D (11 bytes) ----
|
|
.byte $08, $F7, $01, $08, $1B, $EF, $01, $0B, $1B, $EF, $41 ; CPU:$D633 PRG:5633 08 F7 01 08 1B EF 01 0B 1B EF 41
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D63E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D63E:
|
|
and $EF3D ; CPU:$D63E PRG:563E 2D 3D EF
|
|
sta (Joypad2Prev,x) ; CPU:$D641 PRG:5641 81 0B
|
|
and $C1EF,x ; CPU:$D643 PRG:5643 3D EF C1
|
|
and $DA00 ; CPU:$D646 PRG:5646 2D 00 DA
|
|
ora (PPUCTRLShadow,x) ; CPU:$D649 PRG:5649 01 00
|
|
php ; CPU:$D64B PRG:564B 08
|
|
cld ; CPU:$D64C PRG:564C D8
|
|
ora (ZpF8,x) ; CPU:$D64D PRG:564D 01 F8
|
|
bpl Sub_D629 ; CPU:$D64F PRG:564F 10 D8
|
|
ora (ZpF0,x) ; CPU:$D651 PRG:5651 01 F0
|
|
brk ; CPU:$D653 PRG:5653 00
|
|
ObjMoveDeltaTable:
|
|
; Object movement delta table (read by adc $D6C7,y)
|
|
; ---- data $D654-$D6F8 (165 bytes) ----
|
|
; referenced by `adc $D6C7,y` at $D4B0 (operand $D6C7 falls inside this region)
|
|
; referenced by `adc $D6C7,y` at $D4BC (operand $D6C7 falls inside this region)
|
|
; referenced by `adc $D6C7,y` at $D4C7 (operand $D6C7 falls inside this region)
|
|
; referenced by `lda $D6C7,y` at $D4CD (operand $D6C7 falls inside this region)
|
|
; referenced by `lda $D6C7,y` at $D4D5 (operand $D6C7 falls inside this region)
|
|
; referenced by `adc $D6C7,y` at $D4EC (operand $D6C7 falls inside this region)
|
|
; ... and 5 further references from decoded code
|
|
.byte $D9, $41, $38, $08, $D9, $41, $40, $10, $D9, $41, $48, $48, $D9, $81, $F0, $50 ; CPU:$D654 PRG:5654 D9 41 38 08 D9 41 40 10 D9 41 48 48 D9 81 F0 50
|
|
.byte $D9, $81, $F8, $58, $D9, $81, $00, $48, $D9, $C1, $48, $50, $D9, $C1, $40, $58 ; CPU:$D664 PRG:5664 D9 81 F8 58 D9 81 00 48 D9 C1 48 50 D9 C1 40 58
|
|
.byte $D9, $C1, $38, $2C, $93, $23, $F4, $2C, $93, $23, $44, $04, $93, $23, $1C, $54 ; CPU:$D674 PRG:5674 D9 C1 38 2C 93 23 F4 2C 93 23 44 04 93 23 1C 54
|
|
.byte $93, $23, $1C, $2E, $93, $23, $FC, $2C, $93, $23, $3C, $0C, $93, $23, $1C, $4C ; CPU:$D684 PRG:5684 93 23 1C 2E 93 23 FC 2C 93 23 3C 0C 93 23 1C 4C
|
|
.byte $93, $23, $1E, $2E, $93, $23, $FD, $2E, $93, $23, $3A, $0D, $93, $23, $1E, $4B ; CPU:$D694 PRG:5694 93 23 1E 2E 93 23 FD 2E 93 23 3A 0D 93 23 1E 4B
|
|
.byte $93, $23, $1E, $2B, $93, $23, $0B, $2D, $92, $23, $29, $1C, $93, $23, $1B, $38 ; CPU:$D6A4 PRG:56A4 93 23 1E 2B 93 23 0B 2D 92 23 29 1C 93 23 1B 38
|
|
.byte $92, $A3, $1B, $00, $E3, $00, $00, $00, $E3, $40, $08, $08, $E3, $80, $00, $08 ; CPU:$D6B4 PRG:56B4 92 A3 1B 00 E3 00 00 00 E3 40 08 08 E3 80 00 08
|
|
.byte $E3, $C0, $08, $CB, $0B, $01, $CB, $2D, $02, $ED, $0B, $04, $ED, $2D, $08, $A9 ; CPU:$D6C4 PRG:56C4 E3 C0 08 CB 0B 01 CB 2D 02 ED 0B 04 ED 2D 08 A9
|
|
.byte $08, $20, $72, $D7, $BD, $01, $03, $D0, $43, $A5, $23, $38, $FD, $03, $03, $18 ; CPU:$D6D4 PRG:56D4 08 20 72 D7 BD 01 03 D0 43 A5 23 38 FD 03 03 18
|
|
.byte $69, $0E, $C9, $1D, $B0, $36, $A5, $24, $38, $FD, $02, $03, $18, $69, $0E, $C9 ; CPU:$D6E4 PRG:56E4 69 0E C9 1D B0 36 A5 24 38 FD 02 03 18 69 0E C9
|
|
.byte $1D, $B0, $29, $EE, $05 ; CPU:$D6F4 PRG:56F4 1D B0 29 EE 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D6F9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D6F9:
|
|
asl ZpE6 ; CPU:$D6F9 PRG:56F9 06 E6
|
|
sta a:$00A9 ; CPU:$D6FB PRG:56FB 8D A9 00
|
|
sta $0300,x ; CPU:$D6FE PRG:56FE 9D 00 03
|
|
rts ; CPU:$D701 PRG:5701 60
|
|
; referenced by `cmp $D720,y` at $D24A (operand $D720 falls inside this region)
|
|
; ---- data $D702-$D71F (30 bytes) ----
|
|
.byte $A5, $2E, $48, $20, $DC, $DC, $68, $85, $2E, $BD, $06, $03, $F0, $10, $A9, $3E ; CPU:$D702 PRG:5702 A5 2E 48 20 DC DC 68 85 2E BD 06 03 F0 10 A9 3E
|
|
.byte $9D, $00, $03, $A9, $01, $8D, $12, $06, $A9, $01, $20, $5B, $BF, $60 ; CPU:$D712 PRG:5712 9D 00 03 A9 01 8D 12 06 A9 01 20 5B BF 60
|
|
rts ; CPU:$D720 PRG:5720 60
|
|
; ---- data $D721-$D793 (115 bytes) ----
|
|
.byte $20, $DC, $DC, $BD, $06, $03, $F0, $17, $A9, $3A, $9D, $00, $03, $A9, $00, $9D ; CPU:$D721 PRG:5721 20 DC DC BD 06 03 F0 17 A9 3A 9D 00 03 A9 00 9D
|
|
.byte $06, $03, $9D, $07, $03, $A9, $01, $8D, $12, $06, $A9, $02, $20, $5B, $BF, $60 ; CPU:$D731 PRG:5731 06 03 9D 07 03 A9 01 8D 12 06 A9 02 20 5B BF 60
|
|
.byte $20, $6A, $D7, $20, $DC, $DC, $BD, $06, $03, $F0, $0A, $A9, $10, $9D, $00, $03 ; CPU:$D741 PRG:5741 20 6A D7 20 DC DC BD 06 03 F0 0A A9 10 9D 00 03
|
|
.byte $A9, $02, $20, $5B, $BF, $60, $20, $6A, $D7, $FE, $07, $03, $BD, $07, $03, $C9 ; CPU:$D751 PRG:5751 A9 02 20 5B BF 60 20 6A D7 FE 07 03 BD 07 03 C9
|
|
.byte $30, $D0, $05, $A9, $3C, $9D, $00, $03, $60, $BD, $07, $03, $4A, $4A, $4A, $29 ; CPU:$D761 PRG:5761 30 D0 05 A9 3C 9D 00 03 60 BD 07 03 4A 4A 4A 29
|
|
.byte $06, $A8, $B9, $C3, $D7, $85, $04, $B9, $C4, $D7, $85, $05, $A0, $00, $B1, $04 ; CPU:$D771 PRG:5771 06 A8 B9 C3 D7 85 04 B9 C4 D7 85 05 A0 00 B1 04
|
|
.byte $85, $0E, $C8, $BD, $02, $03, $85, $38, $BD, $03, $03, $85, $37, $86, $13, $A6 ; CPU:$D781 PRG:5781 85 0E C8 BD 02 03 85 38 BD 03 03 85 37 86 13 A6
|
|
.byte $2D, $F0, $2A ; CPU:$D791 PRG:5791 2D F0 2A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D794
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D794:
|
|
lda (VramPtrLo),y ; CPU:$D794 PRG:5794 B1 04
|
|
clc ; CPU:$D796 PRG:5796 18
|
|
adc ObjectXHi ; CPU:$D797 PRG:5797 65 38
|
|
bcs Sub_D7BE ; CPU:$D799 PRG:5799 B0 23
|
|
sta $0700,x ; CPU:$D79B PRG:579B 9D 00 07
|
|
inx ; CPU:$D79E PRG:579E E8
|
|
iny ; CPU:$D79F PRG:579F C8
|
|
lda (VramPtrLo),y ; CPU:$D7A0 PRG:57A0 B1 04
|
|
sta $0700,x ; CPU:$D7A2 PRG:57A2 9D 00 07
|
|
inx ; CPU:$D7A5 PRG:57A5 E8
|
|
iny ; CPU:$D7A6 PRG:57A6 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D7A7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D7A7:
|
|
lda (VramPtrLo),y ; CPU:$D7A7 PRG:57A7 B1 04
|
|
sta $0700,x ; CPU:$D7A9 PRG:57A9 9D 00 07
|
|
inx ; CPU:$D7AC PRG:57AC E8
|
|
iny ; CPU:$D7AD PRG:57AD C8
|
|
lda (VramPtrLo),y ; CPU:$D7AE PRG:57AE B1 04
|
|
clc ; CPU:$D7B0 PRG:57B0 18
|
|
adc ObjectXLo ; CPU:$D7B1 PRG:57B1 65 37
|
|
sta $0700,x ; CPU:$D7B3 PRG:57B3 9D 00 07
|
|
iny ; CPU:$D7B6 PRG:57B6 C8
|
|
inx ; CPU:$D7B7 PRG:57B7 E8
|
|
beq Sub_D7BE ; CPU:$D7B8 PRG:57B8 F0 04
|
|
dec ObjUpdateFlag ; CPU:$D7BA PRG:57BA C6 0E
|
|
bne Sub_D794 ; CPU:$D7BC PRG:57BC D0 D6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D7BE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D7BE:
|
|
stx ObjectDeltaX ; CPU:$D7BE PRG:57BE 86 2D
|
|
ldx ObjPtr ; CPU:$D7C0 PRG:57C0 A6 13
|
|
rts ; CPU:$D7C2 PRG:57C2 60
|
|
; ---- data $D7C3-$D7D9 (23 bytes) ----
|
|
.byte $3B, $D8, $45, $D8, $53, $D8, $71, $D8, $CD, $D7, $03, $01, $1C, $02, $00, $00 ; CPU:$D7C3 PRG:57C3 3B D8 45 D8 53 D8 71 D8 CD D7 03 01 1C 02 00 00
|
|
.byte $CD, $03, $08, $08, $CF, $03, $06 ; CPU:$D7D3 PRG:57D3 CD 03 08 08 CF 03 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsLsrsAnd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsLsrsAnd:
|
|
lda $0307,x ; CPU:$D7DA PRG:57DA BD 07 03
|
|
lsr a ; CPU:$D7DD PRG:57DD 4A
|
|
lsr a ; CPU:$D7DE PRG:57DE 4A
|
|
lsr a ; CPU:$D7DF PRG:57DF 4A
|
|
and #$06 ; CPU:$D7E0 PRG:57E0 29 06
|
|
tay ; CPU:$D7E2 PRG:57E2 A8
|
|
lda $D833,y ; CPU:$D7E3 PRG:57E3 B9 33 D8
|
|
sta VramPtrLo ; CPU:$D7E6 PRG:57E6 85 04
|
|
lda $D834,y ; CPU:$D7E8 PRG:57E8 B9 34 D8
|
|
sta VramCopyCount ; CPU:$D7EB PRG:57EB 85 05
|
|
ldy #$00 ; CPU:$D7ED PRG:57ED A0 00
|
|
lda (VramPtrLo),y ; CPU:$D7EF PRG:57EF B1 04
|
|
sta ObjUpdateFlag ; CPU:$D7F1 PRG:57F1 85 0E
|
|
iny ; CPU:$D7F3 PRG:57F3 C8
|
|
lda $0302,x ; CPU:$D7F4 PRG:57F4 BD 02 03
|
|
sta ObjectXHi ; CPU:$D7F7 PRG:57F7 85 38
|
|
lda $0303,x ; CPU:$D7F9 PRG:57F9 BD 03 03
|
|
sta ObjectXLo ; CPU:$D7FC PRG:57FC 85 37
|
|
stx ObjPtr ; CPU:$D7FE PRG:57FE 86 13
|
|
ldx ObjectDeltaX ; CPU:$D800 PRG:5800 A6 2D
|
|
beq Sub_D82E ; CPU:$D802 PRG:5802 F0 2A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D804
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D804:
|
|
lda (VramPtrLo),y ; CPU:$D804 PRG:5804 B1 04
|
|
clc ; CPU:$D806 PRG:5806 18
|
|
adc ObjectXHi ; CPU:$D807 PRG:5807 65 38
|
|
bcs Sub_D82E ; CPU:$D809 PRG:5809 B0 23
|
|
sta $0700,x ; CPU:$D80B PRG:580B 9D 00 07
|
|
inx ; CPU:$D80E PRG:580E E8
|
|
iny ; CPU:$D80F PRG:580F C8
|
|
lda (VramPtrLo),y ; CPU:$D810 PRG:5810 B1 04
|
|
sta $0700,x ; CPU:$D812 PRG:5812 9D 00 07
|
|
inx ; CPU:$D815 PRG:5815 E8
|
|
iny ; CPU:$D816 PRG:5816 C8
|
|
lda (VramPtrLo),y ; CPU:$D817 PRG:5817 B1 04
|
|
sta $0700,x ; CPU:$D819 PRG:5819 9D 00 07
|
|
inx ; CPU:$D81C PRG:581C E8
|
|
iny ; CPU:$D81D PRG:581D C8
|
|
lda (VramPtrLo),y ; CPU:$D81E PRG:581E B1 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D820
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D820:
|
|
clc ; CPU:$D820 PRG:5820 18
|
|
adc ObjectXLo ; CPU:$D821 PRG:5821 65 37
|
|
sta $0700,x ; CPU:$D823 PRG:5823 9D 00 07
|
|
iny ; CPU:$D826 PRG:5826 C8
|
|
inx ; CPU:$D827 PRG:5827 E8
|
|
beq Sub_D82E ; CPU:$D828 PRG:5828 F0 04
|
|
dec ObjUpdateFlag ; CPU:$D82A PRG:582A C6 0E
|
|
bne Sub_D804 ; CPU:$D82C PRG:582C D0 D6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D82E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D82E:
|
|
stx ObjectDeltaX ; CPU:$D82E PRG:582E 86 2D
|
|
ldx ObjPtr ; CPU:$D830 PRG:5830 A6 13
|
|
rts ; CPU:$D832 PRG:5832 60
|
|
; ---- data $D833-$D83A (8 bytes) ----
|
|
; referenced by `lda $D833,y` at $D7E3 (operand $D833 falls inside this region)
|
|
; referenced by `lda $D834,y` at $D7E8 (operand $D834 falls inside this region)
|
|
; 4 x 16-bit pointers to layout records below (read by lda $D833,y / lda $D834,y
|
|
; at $D7E3/$D7E8; the index is masked with #$06).
|
|
ObjDataPtrTable:
|
|
.byte $40, $D8, $4A, $D8, $64, $D8, $82, $D8 ; CPU:$D833 PRG:5833 40 D8 4A D8 64 D8 82 D8
|
|
; ---- data $D83B-$D8DF (165 bytes) ----
|
|
; Object layout records addressed by the table at $D833 (4-byte entries; targets
|
|
; $D840, $D84A, $D864 and $D882).
|
|
ObjLayoutData:
|
|
.byte $01, $04, $41, $01, $04, $01, $08, $43, $00, $08, $01, $04, $45, $01, $04, $02 ; CPU:$D83B PRG:583B 01 04 41 01 04 01 08 43 00 08 01 04 45 01 04 02
|
|
.byte $07, $47, $00, $07, $0D, $43, $00, $0D, $04, $00, $49, $01, $00, $00, $4B, $C1 ; CPU:$D84B PRG:584B 07 47 00 07 0D 43 00 0D 04 00 49 01 00 00 4B C1
|
|
.byte $08, $08, $4B, $01, $00, $08, $4B, $41, $08, $03, $08, $6E, $00, $08, $0A, $47 ; CPU:$D85B PRG:585B 08 08 4B 01 00 08 4B 41 08 03 08 6E 00 08 0A 47
|
|
.byte $00, $0A, $10, $43, $00, $10, $04, $00, $4D, $01, $00, $00, $4F, $C1, $08, $08 ; CPU:$D86B PRG:586B 00 0A 10 43 00 10 04 00 4D 01 00 00 4F C1 08 08
|
|
.byte $4F, $01, $00, $08, $4F, $41, $08, $05, $0E, $B2, $00, $05, $05, $B3, $00, $0E ; CPU:$D87B PRG:587B 4F 01 00 08 4F 41 08 05 0E B2 00 05 05 B3 00 0E
|
|
.byte $0D, $6E, $00, $0D, $0F, $47, $00, $0F, $15, $43, $00, $15, $BD, $00, $03, $48 ; CPU:$D88B PRG:588B 0D 6E 00 0D 0F 47 00 0F 15 43 00 15 BD 00 03 48
|
|
.byte $20, $04, $DA, $BD, $00, $03, $C9, $02, $D0, $08, $68, $38, $E9, $16, $9D, $00 ; CPU:$D89B PRG:589B 20 04 DA BD 00 03 C9 02 D0 08 68 38 E9 16 9D 00
|
|
.byte $03, $48, $68, $BD, $00, $03, $38, $E9, $40, $B0, $03, $18, $69, $16, $A8, $B9 ; CPU:$D8AB PRG:58AB 03 48 68 BD 00 03 38 E9 40 B0 03 18 69 16 A8 B9
|
|
.byte $A7, $D9, $48, $18, $7D, $02, $03, $9D, $02, $03, $B9, $A8, $D9, $48, $18, $7D ; CPU:$D8BB PRG:58BB A7 D9 48 18 7D 02 03 9D 02 03 B9 A8 D9 48 18 7D
|
|
.byte $03, $03, $9D, $03, $03, $20, $DC, $DC, $68, $49, $FF, $38, $7D, $03, $03, $9D ; CPU:$D8CB PRG:58CB 03 03 9D 03 03 20 DC DC 68 49 FF 38 7D 03 03 9D
|
|
.byte $03, $03, $68, $49, $FF ; CPU:$D8DB PRG:58DB 03 03 68 49 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D8E0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D8E0:
|
|
sec ; CPU:$D8E0 PRG:58E0 38
|
|
adc $0302,x ; CPU:$D8E1 PRG:58E1 7D 02 03
|
|
sta $0302,x ; CPU:$D8E4 PRG:58E4 9D 02 03
|
|
lda $0306,x ; CPU:$D8E7 PRG:58E7 BD 06 03
|
|
beq Sub_D8F2 ; CPU:$D8EA PRG:58EA F0 06
|
|
lda #$10 ; CPU:$D8EC PRG:58EC A9 10
|
|
sta $0300,x ; CPU:$D8EE PRG:58EE 9D 00 03
|
|
rts ; CPU:$D8F1 PRG:58F1 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D8F2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D8F2:
|
|
jsr DispatchLdaBne2 ; CPU:$D8F2 PRG:58F2 20 DC DC
|
|
lda $0306,x ; CPU:$D8F5 PRG:58F5 BD 06 03
|
|
beq Sub_D8FF ; CPU:$D8F8 PRG:58F8 F0 05
|
|
inc Zp58 ; CPU:$D8FA PRG:58FA E6 58
|
|
jmp DispatchStoreStoreLdaJsrRts; CPU:$D8FC PRG:58FC 4C EC D9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D8FF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D8FF:
|
|
lda $0302,x ; CPU:$D8FF PRG:58FF BD 02 03
|
|
cmp Zp91 ; CPU:$D902 PRG:5902 C5 91
|
|
bcs Sub_D92B ; CPU:$D904 PRG:5904 B0 25
|
|
lda $0307,x ; CPU:$D906 PRG:5906 BD 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D909
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D909:
|
|
bne Sub_D916 ; CPU:$D909 PRG:5909 D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$D90B PRG:590B 20 5C F5
|
|
and Zp94 ; CPU:$D90E PRG:590E 25 94
|
|
clc ; CPU:$D910 PRG:5910 18
|
|
adc #$40 ; CPU:$D911 PRG:5911 69 40
|
|
sta $0307,x ; CPU:$D913 PRG:5913 9D 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D916
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D916:
|
|
lda $0300,x ; CPU:$D916 PRG:5916 BD 00 03
|
|
cmp #$40 ; CPU:$D919 PRG:5919 C9 40
|
|
bcs Sub_D92B ; CPU:$D91B PRG:591B B0 0E
|
|
dec $0307,x ; CPU:$D91D PRG:591D DE 07 03
|
|
bne Sub_D92B ; CPU:$D920 PRG:5920 D0 09
|
|
lda $0300,x ; CPU:$D922 PRG:5922 BD 00 03
|
|
clc ; CPU:$D925 PRG:5925 18
|
|
adc #$16 ; CPU:$D926 PRG:5926 69 16
|
|
sta $0300,x ; CPU:$D928 PRG:5928 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D92B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D92B:
|
|
rts ; CPU:$D92B PRG:592B 60
|
|
; ---- data $D92C-$D986 (91 bytes) ----
|
|
.byte $8A, $48, $BD, $02, $03, $85, $38, $BD, $03, $03, $85, $37, $A2, $00, $A4, $2D ; CPU:$D92C PRG:592C 8A 48 BD 02 03 85 38 BD 03 03 85 37 A2 00 A4 2D
|
|
.byte $F0, $2C, $BD, $AF, $D9, $18, $65, $38, $99, $00, $07, $C8, $E8, $BD, $AF, $D9 ; CPU:$D93C PRG:593C F0 2C BD AF D9 18 65 38 99 00 07 C8 E8 BD AF D9
|
|
.byte $99, $00, $07, $C8, $E8, $BD, $AF, $D9, $99, $00, $07, $C8, $E8, $BD, $AF, $D9 ; CPU:$D94C PRG:594C 99 00 07 C8 E8 BD AF D9 99 00 07 C8 E8 BD AF D9
|
|
.byte $18, $65, $37, $99, $00, $07, $C8, $E8, $84, $2D, $E0, $14, $D0, $D0, $68, $AA ; CPU:$D95C PRG:595C 18 65 37 99 00 07 C8 E8 84 2D E0 14 D0 D0 68 AA
|
|
.byte $20, $DC, $DC, $BD, $06, $03, $F0, $13, $A9, $10, $9D, $00, $03, $A5, $58, $F0 ; CPU:$D96C PRG:596C 20 DC DC BD 06 03 F0 13 A9 10 9D 00 03 A5 58 F0
|
|
.byte $05, $A9, $06, $4C, $54, $BF, $A9, $02, $4C, $5B, $BF ; CPU:$D97C PRG:597C 05 A9 06 4C 54 BF A9 02 4C 5B BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D987
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D987:
|
|
lda $0302,x ; CPU:$D987 PRG:5987 BD 02 03
|
|
cmp Zp91 ; CPU:$D98A PRG:598A C5 91
|
|
bcs Sub_D9A6 ; CPU:$D98C PRG:598C B0 18
|
|
lda $0307,x ; CPU:$D98E PRG:598E BD 07 03
|
|
bne Sub_D99E ; CPU:$D991 PRG:5991 D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$D993 PRG:5993 20 5C F5
|
|
and Zp92 ; CPU:$D996 PRG:5996 25 92
|
|
clc ; CPU:$D998 PRG:5998 18
|
|
adc #$40 ; CPU:$D999 PRG:5999 69 40
|
|
sta $0307,x ; CPU:$D99B PRG:599B 9D 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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_D99E:
|
|
dec $0307,x ; CPU:$D99E PRG:599E DE 07 03
|
|
bne Sub_D9A6 ; CPU:$D9A1 PRG:59A1 D0 03
|
|
jsr DispatchJsrStoreLdaClc3 ; CPU:$D9A3 PRG:59A3 20 9B CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D9A6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D9A6:
|
|
rts ; CPU:$D9A6 PRG:59A6 60
|
|
; ---- data $D9A7-$D9C2 (28 bytes) ----
|
|
.byte $F0, $00, $00, $10, $00, $F0, $10, $00, $04, $3E, $01, $04, $10, $3C, $00, $06 ; CPU:$D9A7 PRG:59A7 F0 00 00 10 00 F0 10 00 04 3E 01 04 10 3C 00 06
|
|
.byte $06, $3D, $40, $F8, $06, $3D, $00, $10, $F8, $3C, $80, $06 ; CPU:$D9B7 PRG:59B7 06 3D 40 F8 06 3D 00 10 F8 3C 80 06
|
|
jsr DispatchLdaBne2 ; CPU:$D9C3 PRG:59C3 20 DC DC
|
|
lda $0301,x ; CPU:$D9C6 PRG:59C6 BD 01 03
|
|
bne Sub_D9E7 ; CPU:$D9C9 PRG:59C9 D0 1C
|
|
lda $0302,x ; CPU:$D9CB PRG:59CB BD 02 03
|
|
cmp Zp91 ; CPU:$D9CE PRG:59CE C5 91
|
|
bcs Sub_D9E7 ; CPU:$D9D0 PRG:59D0 B0 15
|
|
lda $0307,x ; CPU:$D9D2 PRG:59D2 BD 07 03
|
|
bne Sub_D9E2 ; CPU:$D9D5 PRG:59D5 D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$D9D7 PRG:59D7 20 5C F5
|
|
and Zp94 ; CPU:$D9DA PRG:59DA 25 94
|
|
clc ; CPU:$D9DC PRG:59DC 18
|
|
adc #$60 ; CPU:$D9DD PRG:59DD 69 60
|
|
sta $0307,x ; CPU:$D9DF PRG:59DF 9D 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D9E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D9E2:
|
|
dec $0307,x ; CPU:$D9E2 PRG:59E2 DE 07 03
|
|
beq Sub_D9F7 ; CPU:$D9E5 PRG:59E5 F0 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D9E7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D9E7:
|
|
lda $0306,x ; CPU:$D9E7 PRG:59E7 BD 06 03
|
|
beq Sub_D9F6 ; CPU:$D9EA PRG:59EA F0 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreStoreLdaJsrRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreStoreLdaJsrRts:
|
|
lda #$10 ; CPU:$D9EC PRG:59EC A9 10
|
|
sta $0300,x ; CPU:$D9EE PRG:59EE 9D 00 03
|
|
lda #$03 ; CPU:$D9F1 PRG:59F1 A9 03
|
|
jsr ObjSpritesInit5 ; CPU:$D9F3 PRG:59F3 20 54 BF
|
|
Sub_D9F6:
|
|
rts ; CPU:$D9F6 PRG:59F6 60
|
|
; referenced by `and $DA00` at $D646 (operand $DA00 falls inside this region)
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_D9F7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_D9F7:
|
|
lda #$34 ; CPU:$D9F7 PRG:59F7 A9 34
|
|
sta $0300,x ; CPU:$D9F9 PRG:59F9 9D 00 03
|
|
jsr DispatchLdaBne2 ; CPU:$D9FC PRG:59FC 20 DC DC
|
|
lda $0306,x ; CPU:$D9FF PRG:59FF BD 06 03
|
|
bne DispatchStoreStoreLdaJsrRts; CPU:$DA02 PRG:5A02 D0 E8
|
|
lda $0307,x ; CPU:$DA04 PRG:5A04 BD 07 03
|
|
inc $0307,x ; CPU:$DA07 PRG:5A07 FE 07 03
|
|
lsr a ; CPU:$DA0A PRG:5A0A 4A
|
|
lsr a ; CPU:$DA0B PRG:5A0B 4A
|
|
lsr a ; CPU:$DA0C PRG:5A0C 4A
|
|
cmp #$02 ; CPU:$DA0D PRG:5A0D C9 02
|
|
beq Sub_DA3E ; CPU:$DA0F PRG:5A0F F0 2D
|
|
cmp #$06 ; CPU:$DA11 PRG:5A11 C9 06
|
|
beq Sub_DA6D ; CPU:$DA13 PRG:5A13 F0 58
|
|
tay ; CPU:$DA15 PRG:5A15 A8
|
|
lda $DA73,y ; CPU:$DA16 PRG:5A16 B9 73 DA
|
|
ldy ObjectDeltaX ; CPU:$DA19 PRG:5A19 A4 2D
|
|
beq Sub_DA3D ; CPU:$DA1B PRG:5A1B F0 20
|
|
sta $0701,y ; CPU:$DA1D PRG:5A1D 99 01 07
|
|
lda $0302,x ; CPU:$DA20 PRG:5A20 BD 02 03
|
|
clc ; CPU:$DA23 PRG:5A23 18
|
|
adc #$04 ; CPU:$DA24 PRG:5A24 69 04
|
|
sta $0700,y ; CPU:$DA26 PRG:5A26 99 00 07
|
|
iny ; CPU:$DA29 PRG:5A29 C8
|
|
iny ; CPU:$DA2A PRG:5A2A C8
|
|
lda #$00 ; CPU:$DA2B PRG:5A2B A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DA2D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DA2D:
|
|
sta $0700,y ; CPU:$DA2D PRG:5A2D 99 00 07
|
|
iny ; CPU:$DA30 PRG:5A30 C8
|
|
lda $0303,x ; CPU:$DA31 PRG:5A31 BD 03 03
|
|
clc ; CPU:$DA34 PRG:5A34 18
|
|
adc #$04 ; CPU:$DA35 PRG:5A35 69 04
|
|
sta $0700,y ; CPU:$DA37 PRG:5A37 99 00 07
|
|
iny ; CPU:$DA3A PRG:5A3A C8
|
|
sty ObjectDeltaX ; CPU:$DA3B PRG:5A3B 84 2D
|
|
Sub_DA3D:
|
|
rts ; CPU:$DA3D PRG:5A3D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DA3E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DA3E:
|
|
lda #$20 ; CPU:$DA3E PRG:5A3E A9 20
|
|
sta $0307,x ; CPU:$DA40 PRG:5A40 9D 07 03
|
|
jsr DispatchJsrStoreLdaClc3 ; CPU:$DA43 PRG:5A43 20 9B CF
|
|
ldy ObjectDeltaX ; CPU:$DA46 PRG:5A46 A4 2D
|
|
beq Sub_DA3D ; CPU:$DA48 PRG:5A48 F0 F3
|
|
lda $0302,x ; CPU:$DA4A PRG:5A4A BD 02 03
|
|
clc ; CPU:$DA4D PRG:5A4D 18
|
|
adc #$04 ; CPU:$DA4E PRG:5A4E 69 04
|
|
sta $0700,y ; CPU:$DA50 PRG:5A50 99 00 07
|
|
iny ; CPU:$DA53 PRG:5A53 C8
|
|
lda #$3B ; CPU:$DA54 PRG:5A54 A9 3B
|
|
sta $0700,y ; CPU:$DA56 PRG:5A56 99 00 07
|
|
iny ; CPU:$DA59 PRG:5A59 C8
|
|
lda #$00 ; CPU:$DA5A PRG:5A5A A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DA5C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DA5C:
|
|
sta $0700,y ; CPU:$DA5C PRG:5A5C 99 00 07
|
|
iny ; CPU:$DA5F PRG:5A5F C8
|
|
lda $0303,x ; CPU:$DA60 PRG:5A60 BD 03 03
|
|
clc ; CPU:$DA63 PRG:5A63 18
|
|
adc #$04 ; CPU:$DA64 PRG:5A64 69 04
|
|
sta $0700,y ; CPU:$DA66 PRG:5A66 99 00 07
|
|
iny ; CPU:$DA69 PRG:5A69 C8
|
|
sty ObjectDeltaX ; CPU:$DA6A PRG:5A6A 84 2D
|
|
rts ; CPU:$DA6C PRG:5A6C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DA6D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DA6D:
|
|
lda #$02 ; CPU:$DA6D PRG:5A6D A9 02
|
|
sta $0300,x ; CPU:$DA6F PRG:5A6F 9D 00 03
|
|
rts ; CPU:$DA72 PRG:5A72 60
|
|
; ---- data $DA73-$DA90 (30 bytes) ----
|
|
.byte $D2, $3F, $3F, $3F, $3F, $D2, $24, $A9, $8D, $20, $78, $DC, $20, $DC, $DC, $BD ; CPU:$DA73 PRG:5A73 D2 3F 3F 3F 3F D2 24 A9 8D 20 78 DC 20 DC DC BD
|
|
.byte $06, $03, $F0, $0A, $A9, $10, $9D, $00, $03, $A9, $01, $4C, $5B, $BF ; CPU:$DA83 PRG:5A83 06 03 F0 0A A9 10 9D 00 03 A9 01 4C 5B BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DA91
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DA91:
|
|
lda $0302,x ; CPU:$DA91 PRG:5A91 BD 02 03
|
|
cmp Zp91 ; CPU:$DA94 PRG:5A94 C5 91
|
|
bcs Sub_DAB0 ; CPU:$DA96 PRG:5A96 B0 18
|
|
lda $0307,x ; CPU:$DA98 PRG:5A98 BD 07 03
|
|
bne Sub_DAA8 ; CPU:$DA9B PRG:5A9B D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$DA9D PRG:5A9D 20 5C F5
|
|
and Zp92 ; CPU:$DAA0 PRG:5AA0 25 92
|
|
clc ; CPU:$DAA2 PRG:5AA2 18
|
|
adc #$18 ; CPU:$DAA3 PRG:5AA3 69 18
|
|
sta $0307,x ; CPU:$DAA5 PRG:5AA5 9D 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DAA8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DAA8:
|
|
dec $0307,x ; CPU:$DAA8 PRG:5AA8 DE 07 03
|
|
bne Sub_DAB0 ; CPU:$DAAB PRG:5AAB D0 03
|
|
jsr DispatchJsrStoreLdaClc3 ; CPU:$DAAD PRG:5AAD 20 9B CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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:
|
|
rts ; CPU:$DAB0 PRG:5AB0 60
|
|
jsr DispatchLdaBne2 ; CPU:$DAB1 PRG:5AB1 20 DC DC
|
|
lda $0306,x ; CPU:$DAB4 PRG:5AB4 BD 06 03
|
|
beq Sub_DAB0 ; CPU:$DAB7 PRG:5AB7 F0 F7
|
|
lda #$10 ; CPU:$DAB9 PRG:5AB9 A9 10
|
|
sta $0300,x ; CPU:$DABB PRG:5ABB 9D 00 03
|
|
lda #$01 ; CPU:$DABE PRG:5ABE A9 01
|
|
jmp ObjSpritesInit5 ; CPU:$DAC0 PRG:5AC0 4C 54 BF
|
|
lda #$8E ; CPU:$DAC3 PRG:5AC3 A9 8E
|
|
jsr Sub_DC78 ; CPU:$DAC5 PRG:5AC5 20 78 DC
|
|
jsr DispatchLdaBne2 ; CPU:$DAC8 PRG:5AC8 20 DC DC
|
|
lda $0306,x ; CPU:$DACB PRG:5ACB BD 06 03
|
|
beq Sub_DADD ; CPU:$DACE PRG:5ACE F0 0D
|
|
lda #$10 ; CPU:$DAD0 PRG:5AD0 A9 10
|
|
sta $0300,x ; CPU:$DAD2 PRG:5AD2 9D 00 03
|
|
jsr Sub_C022 ; CPU:$DAD5 PRG:5AD5 20 22 C0
|
|
lda #$02 ; CPU:$DAD8 PRG:5AD8 A9 02
|
|
jsr ObjSpritesInit5 ; CPU:$DADA PRG:5ADA 20 54 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DADD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DADD:
|
|
rts ; CPU:$DADD PRG:5ADD 60
|
|
; ---- data $DADE-$DB19 (60 bytes) ----
|
|
.byte $20, $DC, $DC, $BD, $06, $03, $F0, $0F, $A9, $12, $9D, $00, $03, $A9, $26, $9D ; CPU:$DADE PRG:5ADE 20 DC DC BD 06 03 F0 0F A9 12 9D 00 03 A9 26 9D
|
|
.byte $07, $03, $A9, $03, $20, $54, $BF, $60, $A9, $8C, $20, $78, $DC, $20, $DC, $DC ; CPU:$DAEE PRG:5AEE 07 03 A9 03 20 54 BF 60 A9 8C 20 78 DC 20 DC DC
|
|
.byte $BD, $06, $03, $F0, $10, $A9, $14, $9D, $00, $03, $A9, $A8, $9D, $07, $03, $A9 ; CPU:$DAFE PRG:5AFE BD 06 03 F0 10 A9 14 9D 00 03 A9 A8 9D 07 03 A9
|
|
.byte $02, $20, $5B, $BF, $60, $BD, $02, $03, $C5, $91, $B0, $23 ; CPU:$DB0E PRG:5B0E 02 20 5B BF 60 BD 02 03 C5 91 B0 23
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB1A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DB1A:
|
|
lda $0307,x ; CPU:$DB1A PRG:5B1A BD 07 03
|
|
bne Sub_DB2A ; CPU:$DB1D PRG:5B1D D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$DB1F PRG:5B1F 20 5C F5
|
|
and Zp92 ; CPU:$DB22 PRG:5B22 25 92
|
|
clc ; CPU:$DB24 PRG:5B24 18
|
|
adc #$10 ; CPU:$DB25 PRG:5B25 69 10
|
|
sta $0307,x ; CPU:$DB27 PRG:5B27 9D 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB2A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DB2A:
|
|
dec $0307,x ; CPU:$DB2A PRG:5B2A DE 07 03
|
|
bne Sub_DB3D ; CPU:$DB2D PRG:5B2D D0 0E
|
|
jsr DispatchJsrStoreLdaClc3 ; CPU:$DB2F PRG:5B2F 20 9B CF
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$DB32 PRG:5B32 20 5C F5
|
|
and Zp92 ; CPU:$DB35 PRG:5B35 25 92
|
|
clc ; CPU:$DB37 PRG:5B37 18
|
|
adc #$08 ; CPU:$DB38 PRG:5B38 69 08
|
|
sta $0307,x ; CPU:$DB3A PRG:5B3A 9D 07 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB3D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DB3D:
|
|
rts ; CPU:$DB3D PRG:5B3D 60
|
|
ldy ObjectDeltaX ; CPU:$DB3E PRG:5B3E A4 2D
|
|
beq Sub_DB6A ; CPU:$DB40 PRG:5B40 F0 28
|
|
lda $0302,x ; CPU:$DB42 PRG:5B42 BD 02 03
|
|
clc ; CPU:$DB45 PRG:5B45 18
|
|
adc #$04 ; CPU:$DB46 PRG:5B46 69 04
|
|
sta $0700,y ; CPU:$DB48 PRG:5B48 99 00 07
|
|
iny ; CPU:$DB4B PRG:5B4B C8
|
|
lda #$EE ; CPU:$DB4C PRG:5B4C A9 EE
|
|
sta $0700,y ; CPU:$DB4E PRG:5B4E 99 00 07
|
|
iny ; CPU:$DB51 PRG:5B51 C8
|
|
lda GameSubMode ; CPU:$DB52 PRG:5B52 A5 1B
|
|
and #$04 ; CPU:$DB54 PRG:5B54 29 04
|
|
beq Sub_DB5A ; CPU:$DB56 PRG:5B56 F0 02
|
|
lda #$03 ; CPU:$DB58 PRG:5B58 A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DB5A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DB5A:
|
|
sta $0700,y ; CPU:$DB5A PRG:5B5A 99 00 07
|
|
iny ; CPU:$DB5D PRG:5B5D C8
|
|
lda $0303,x ; CPU:$DB5E PRG:5B5E BD 03 03
|
|
clc ; CPU:$DB61 PRG:5B61 18
|
|
adc #$04 ; CPU:$DB62 PRG:5B62 69 04
|
|
sta $0700,y ; CPU:$DB64 PRG:5B64 99 00 07
|
|
iny ; CPU:$DB67 PRG:5B67 C8
|
|
sty ObjectDeltaX ; CPU:$DB68 PRG:5B68 84 2D
|
|
Sub_DB6A:
|
|
rts ; CPU:$DB6A PRG:5B6A 60
|
|
dec $0306,x ; CPU:$DB6B PRG:5B6B DE 06 03
|
|
bne Sub_DBDC ; CPU:$DB6E PRG:5B6E D0 6C
|
|
lda #$06 ; CPU:$DB70 PRG:5B70 A9 06
|
|
sta $0306,x ; CPU:$DB72 PRG:5B72 9D 06 03
|
|
lda #$22 ; CPU:$DB75 PRG:5B75 A9 22
|
|
sta $0300,x ; CPU:$DB77 PRG:5B77 9D 00 03
|
|
jmp Sub_DBDC ; CPU:$DB7A PRG:5B7A 4C DC DB
|
|
; ---- data $DB7D-$DB8B (15 bytes) ----
|
|
.byte $DE, $06, $03, $D0, $0A, $A9, $04, $9D, $06, $03, $A9, $18, $9D, $00, $03 ; CPU:$DB7D PRG:5B7D DE 06 03 D0 0A A9 04 9D 06 03 A9 18 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyBeqLdaAdd3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyBeqLdaAdd3:
|
|
ldy ObjectDeltaX ; CPU:$DB8C PRG:5B8C A4 2D
|
|
beq Sub_DBB2 ; CPU:$DB8E PRG:5B8E F0 22
|
|
lda $0302,x ; CPU:$DB90 PRG:5B90 BD 02 03
|
|
clc ; CPU:$DB93 PRG:5B93 18
|
|
adc #$04 ; CPU:$DB94 PRG:5B94 69 04
|
|
sta $0700,y ; CPU:$DB96 PRG:5B96 99 00 07
|
|
iny ; CPU:$DB99 PRG:5B99 C8
|
|
lda #$ED ; CPU:$DB9A PRG:5B9A A9 ED
|
|
sta $0700,y ; CPU:$DB9C PRG:5B9C 99 00 07
|
|
iny ; CPU:$DB9F PRG:5B9F C8
|
|
lda #$03 ; CPU:$DBA0 PRG:5BA0 A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBA2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBA2:
|
|
sta $0700,y ; CPU:$DBA2 PRG:5BA2 99 00 07
|
|
iny ; CPU:$DBA5 PRG:5BA5 C8
|
|
lda $0303,x ; CPU:$DBA6 PRG:5BA6 BD 03 03
|
|
clc ; CPU:$DBA9 PRG:5BA9 18
|
|
adc #$04 ; CPU:$DBAA PRG:5BAA 69 04
|
|
sta $0700,y ; CPU:$DBAC PRG:5BAC 99 00 07
|
|
iny ; CPU:$DBAF PRG:5BAF C8
|
|
sty ObjectDeltaX ; CPU:$DBB0 PRG:5BB0 84 2D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBB2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBB2:
|
|
rts ; CPU:$DBB2 PRG:5BB2 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBB3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBB3:
|
|
dec $0306,x ; CPU:$DBB3 PRG:5BB3 DE 06 03
|
|
bne DispatchLdyBeqLdaAdd3 ; CPU:$DBB6 PRG:5BB6 D0 D4
|
|
lda $0307,x ; CPU:$DBB8 PRG:5BB8 BD 07 03
|
|
bpl Sub_DBC7 ; CPU:$DBBB PRG:5BBB 10 0A
|
|
and #$7F ; CPU:$DBBD PRG:5BBD 29 7F
|
|
beq Sub_DBC7 ; CPU:$DBBF PRG:5BBF F0 06
|
|
sta $0300,x ; CPU:$DBC1 PRG:5BC1 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBC4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBC4:
|
|
jmp DispatchLdaLdy ; CPU:$DBC4 PRG:5BC4 4C 76 DC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBC7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBC7:
|
|
sta $0300,x ; CPU:$DBC7 PRG:5BC7 9D 00 03
|
|
jmp DispatchLdyBeqLdaAdd3 ; CPU:$DBCA PRG:5BCA 4C 8C DB
|
|
; ---- data $DBCD-$DBDB (15 bytes) ----
|
|
.byte $DE, $06, $03, $D0, $0A, $A9, $06, $9D, $06, $03, $A9, $1A, $9D, $00, $03 ; CPU:$DBCD PRG:5BCD DE 06 03 D0 0A A9 06 9D 06 03 A9 1A 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBDC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBDC:
|
|
ldy ObjectDeltaX ; CPU:$DBDC PRG:5BDC A4 2D
|
|
beq Sub_DBB2 ; CPU:$DBDE PRG:5BDE F0 D2
|
|
lda $0302,x ; CPU:$DBE0 PRG:5BE0 BD 02 03
|
|
clc ; CPU:$DBE3 PRG:5BE3 18
|
|
adc #$04 ; CPU:$DBE4 PRG:5BE4 69 04
|
|
sta $0700,y ; CPU:$DBE6 PRG:5BE6 99 00 07
|
|
iny ; CPU:$DBE9 PRG:5BE9 C8
|
|
lda #$EC ; CPU:$DBEA PRG:5BEA A9 EC
|
|
sta $0700,y ; CPU:$DBEC PRG:5BEC 99 00 07
|
|
iny ; CPU:$DBEF PRG:5BEF C8
|
|
lda #$03 ; CPU:$DBF0 PRG:5BF0 A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DBF2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DBF2:
|
|
sta $0700,y ; CPU:$DBF2 PRG:5BF2 99 00 07
|
|
iny ; CPU:$DBF5 PRG:5BF5 C8
|
|
lda $0303,x ; CPU:$DBF6 PRG:5BF6 BD 03 03
|
|
clc ; CPU:$DBF9 PRG:5BF9 18
|
|
adc #$04 ; CPU:$DBFA PRG:5BFA 69 04
|
|
sta $0700,y ; CPU:$DBFC PRG:5BFC 99 00 07
|
|
iny ; CPU:$DBFF PRG:5BFF C8
|
|
sty ObjectDeltaX ; CPU:$DC00 PRG:5C00 84 2D
|
|
rts ; CPU:$DC02 PRG:5C02 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchDecBneLdaStoreLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchDecBneLdaStoreLda:
|
|
dec $0306,x ; CPU:$DC03 PRG:5C03 DE 06 03
|
|
bne Sub_DC12 ; CPU:$DC06 PRG:5C06 D0 0A
|
|
lda #$06 ; CPU:$DC08 PRG:5C08 A9 06
|
|
sta $0306,x ; CPU:$DC0A PRG:5C0A 9D 06 03
|
|
lda #$1C ; CPU:$DC0D PRG:5C0D A9 1C
|
|
sta $0300,x ; CPU:$DC0F PRG:5C0F 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC12
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC12:
|
|
ldy ObjectDeltaX ; CPU:$DC12 PRG:5C12 A4 2D
|
|
beq Sub_DC1E ; CPU:$DC14 PRG:5C14 F0 08
|
|
tya ; CPU:$DC16 PRG:5C16 98
|
|
clc ; CPU:$DC17 PRG:5C17 18
|
|
adc #$10 ; CPU:$DC18 PRG:5C18 69 10
|
|
lda #$E8 ; CPU:$DC1A PRG:5C1A A9 E8
|
|
bcc Sub_DC1F ; CPU:$DC1C PRG:5C1C 90 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC1E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC1E:
|
|
rts ; CPU:$DC1E PRG:5C1E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC1F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC1F:
|
|
sta $0701,y ; CPU:$DC1F PRG:5C1F 99 01 07
|
|
clc ; CPU:$DC22 PRG:5C22 18
|
|
adc #$01 ; CPU:$DC23 PRG:5C23 69 01
|
|
sta $0705,y ; CPU:$DC25 PRG:5C25 99 05 07
|
|
clc ; CPU:$DC28 PRG:5C28 18
|
|
adc #$01 ; CPU:$DC29 PRG:5C29 69 01
|
|
sta $0709,y ; CPU:$DC2B PRG:5C2B 99 09 07
|
|
clc ; CPU:$DC2E PRG:5C2E 18
|
|
adc #$01 ; CPU:$DC2F PRG:5C2F 69 01
|
|
sta $070D,y ; CPU:$DC31 PRG:5C31 99 0D 07
|
|
lda #$03 ; CPU:$DC34 PRG:5C34 A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC36
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC36:
|
|
sta $0702,y ; CPU:$DC36 PRG:5C36 99 02 07
|
|
sta $0706,y ; CPU:$DC39 PRG:5C39 99 06 07
|
|
sta $070A,y ; CPU:$DC3C PRG:5C3C 99 0A 07
|
|
sta $070E,y ; CPU:$DC3F PRG:5C3F 99 0E 07
|
|
jmp DispatchStoreStoreStore ; CPU:$DC42 PRG:5C42 4C B1 DC
|
|
dec $0306,x ; CPU:$DC45 PRG:5C45 DE 06 03
|
|
bne Sub_DC54 ; CPU:$DC48 PRG:5C48 D0 0A
|
|
lda #$06 ; CPU:$DC4A PRG:5C4A A9 06
|
|
sta $0306,x ; CPU:$DC4C PRG:5C4C 9D 06 03
|
|
lda #$1E ; CPU:$DC4F PRG:5C4F A9 1E
|
|
sta $0300,x ; CPU:$DC51 PRG:5C51 9D 00 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC54
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC54:
|
|
ldy ObjectDeltaX ; CPU:$DC54 PRG:5C54 A4 2D
|
|
tya ; CPU:$DC56 PRG:5C56 98
|
|
clc ; CPU:$DC57 PRG:5C57 18
|
|
adc #$10 ; CPU:$DC58 PRG:5C58 69 10
|
|
lda #$E4 ; CPU:$DC5A PRG:5C5A A9 E4
|
|
bcc Sub_DC1F ; CPU:$DC5C PRG:5C5C 90 C1
|
|
; ---- data $DC5E-$DC5E (1 bytes) ----
|
|
.byte $60 ; CPU:$DC5E PRG:5C5E 60
|
|
dec $0306,x ; CPU:$DC5F PRG:5C5F DE 06 03
|
|
bne Sub_DC12 ; CPU:$DC62 PRG:5C62 D0 AE
|
|
lda #$06 ; CPU:$DC64 PRG:5C64 A9 06
|
|
sta $0306,x ; CPU:$DC66 PRG:5C66 9D 06 03
|
|
lda #$20 ; CPU:$DC69 PRG:5C69 A9 20
|
|
sta $0300,x ; CPU:$DC6B PRG:5C6B 9D 00 03
|
|
jmp Sub_DC12 ; CPU:$DC6E PRG:5C6E 4C 12 DC
|
|
; ---- data $DC71-$DC75 (5 bytes) ----
|
|
.byte $A9, $E2, $4C, $78, $DC ; CPU:$DC71 PRG:5C71 A9 E2 4C 78 DC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaLdy
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaLdy:
|
|
lda #$E1 ; CPU:$DC76 PRG:5C76 A9 E1
|
|
Sub_DC78:
|
|
ldy ObjectDeltaX ; CPU:$DC78 PRG:5C78 A4 2D
|
|
beq Sub_DC9C ; CPU:$DC7A PRG:5C7A F0 20
|
|
pha ; CPU:$DC7C PRG:5C7C 48
|
|
tya ; CPU:$DC7D PRG:5C7D 98
|
|
clc ; CPU:$DC7E PRG:5C7E 18
|
|
adc #$10 ; CPU:$DC7F PRG:5C7F 69 10
|
|
pla ; CPU:$DC81 PRG:5C81 68
|
|
bcs Sub_DC9C ; CPU:$DC82 PRG:5C82 B0 18
|
|
sta $0701,y ; CPU:$DC84 PRG:5C84 99 01 07
|
|
sta $0705,y ; CPU:$DC87 PRG:5C87 99 05 07
|
|
sta $0709,y ; CPU:$DC8A PRG:5C8A 99 09 07
|
|
sta $070D,y ; CPU:$DC8D PRG:5C8D 99 0D 07
|
|
lda $0301,x ; CPU:$DC90 PRG:5C90 BD 01 03
|
|
bne Sub_DC9C ; CPU:$DC93 PRG:5C93 D0 07
|
|
lda $0302,x ; CPU:$DC95 PRG:5C95 BD 02 03
|
|
cmp #$F0 ; CPU:$DC98 PRG:5C98 C9 F0
|
|
bcc Sub_DC9D ; CPU:$DC9A PRG:5C9A 90 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC9C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC9C:
|
|
rts ; CPU:$DC9C PRG:5C9C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DC9D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DC9D:
|
|
lda #$01 ; CPU:$DC9D PRG:5C9D A9 01
|
|
sta $0702,y ; CPU:$DC9F PRG:5C9F 99 02 07
|
|
lda #$41 ; CPU:$DCA2 PRG:5CA2 A9 41
|
|
sta $0706,y ; CPU:$DCA4 PRG:5CA4 99 06 07
|
|
lda #$81 ; CPU:$DCA7 PRG:5CA7 A9 81
|
|
sta $070A,y ; CPU:$DCA9 PRG:5CA9 99 0A 07
|
|
lda #$C1 ; CPU:$DCAC PRG:5CAC A9 C1
|
|
sta $070E,y ; CPU:$DCAE PRG:5CAE 99 0E 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreStoreStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreStoreStore:
|
|
lda $0302,x ; CPU:$DCB1 PRG:5CB1 BD 02 03
|
|
sta $0700,y ; CPU:$DCB4 PRG:5CB4 99 00 07
|
|
sta $0704,y ; CPU:$DCB7 PRG:5CB7 99 04 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DCBA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DCBA:
|
|
clc ; CPU:$DCBA PRG:5CBA 18
|
|
adc #$08 ; CPU:$DCBB PRG:5CBB 69 08
|
|
sta $0708,y ; CPU:$DCBD PRG:5CBD 99 08 07
|
|
sta $070C,y ; CPU:$DCC0 PRG:5CC0 99 0C 07
|
|
lda $0303,x ; CPU:$DCC3 PRG:5CC3 BD 03 03
|
|
sta $0703,y ; CPU:$DCC6 PRG:5CC6 99 03 07
|
|
sta $070B,y ; CPU:$DCC9 PRG:5CC9 99 0B 07
|
|
clc ; CPU:$DCCC PRG:5CCC 18
|
|
adc #$08 ; CPU:$DCCD PRG:5CCD 69 08
|
|
sta $0707,y ; CPU:$DCCF PRG:5CCF 99 07 07
|
|
sta $070F,y ; CPU:$DCD2 PRG:5CD2 99 0F 07
|
|
tya ; CPU:$DCD5 PRG:5CD5 98
|
|
clc ; CPU:$DCD6 PRG:5CD6 18
|
|
adc #$10 ; CPU:$DCD7 PRG:5CD7 69 10
|
|
sta ObjectDeltaX ; CPU:$DCD9 PRG:5CD9 85 2D
|
|
rts ; CPU:$DCDB PRG:5CDB 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBne2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBne2:
|
|
lda $0301,x ; CPU:$DCDC PRG:5CDC BD 01 03
|
|
bne Sub_DD27 ; CPU:$DCDF PRG:5CDF D0 46
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchSubSecClcAdd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchSubSecClcAdd:
|
|
lda $0302,x ; CPU:$DCE1 PRG:5CE1 BD 02 03
|
|
sec ; CPU:$DCE4 PRG:5CE4 38
|
|
sbc Zp24 ; CPU:$DCE5 PRG:5CE5 E5 24
|
|
clc ; CPU:$DCE7 PRG:5CE7 18
|
|
adc #$4B ; CPU:$DCE8 PRG:5CE8 69 4B
|
|
cmp #$17 ; CPU:$DCEA PRG:5CEA C9 17
|
|
bcs Sub_DCFF ; CPU:$DCEC PRG:5CEC B0 11
|
|
lda $0303,x ; CPU:$DCEE PRG:5CEE BD 03 03
|
|
sec ; CPU:$DCF1 PRG:5CF1 38
|
|
sbc Zp23 ; CPU:$DCF2 PRG:5CF2 E5 23
|
|
clc ; CPU:$DCF4 PRG:5CF4 18
|
|
adc #$0B ; CPU:$DCF5 PRG:5CF5 69 0B
|
|
cmp #$17 ; CPU:$DCF7 PRG:5CF7 C9 17
|
|
bcs Sub_DCFF ; CPU:$DCF9 PRG:5CF9 B0 04
|
|
lda #$01 ; CPU:$DCFB PRG:5CFB A9 01
|
|
sta Zp2E ; CPU:$DCFD PRG:5CFD 85 2E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DCFF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DCFF:
|
|
lda $02A0 ; CPU:$DCFF PRG:5CFF AD A0 02
|
|
cmp #$20 ; CPU:$DD02 PRG:5D02 C9 20
|
|
bne Sub_DD27 ; CPU:$DD04 PRG:5D04 D0 21
|
|
lda $0302,x ; CPU:$DD06 PRG:5D06 BD 02 03
|
|
sec ; CPU:$DD09 PRG:5D09 38
|
|
sbc $02A4 ; CPU:$DD0A PRG:5D0A ED A4 02
|
|
clc ; CPU:$DD0D PRG:5D0D 18
|
|
adc #$0C ; CPU:$DD0E PRG:5D0E 69 0C
|
|
cmp #$17 ; CPU:$DD10 PRG:5D10 C9 17
|
|
bcs Sub_DD27 ; CPU:$DD12 PRG:5D12 B0 13
|
|
lda $0303,x ; CPU:$DD14 PRG:5D14 BD 03 03
|
|
sec ; CPU:$DD17 PRG:5D17 38
|
|
sbc $02A3 ; CPU:$DD18 PRG:5D18 ED A3 02
|
|
clc ; CPU:$DD1B PRG:5D1B 18
|
|
adc #$0C ; CPU:$DD1C PRG:5D1C 69 0C
|
|
cmp #$17 ; CPU:$DD1E PRG:5D1E C9 17
|
|
bcs Sub_DD27 ; CPU:$DD20 PRG:5D20 B0 05
|
|
lda #$01 ; CPU:$DD22 PRG:5D22 A9 01
|
|
sta $0306,x ; CPU:$DD24 PRG:5D24 9D 06 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DD27
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DD27:
|
|
rts ; CPU:$DD27 PRG:5D27 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DD28
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DD28:
|
|
ldy Joypad1Press2 ; CPU:$DD28 PRG:5D28 A4 1A
|
|
lda $0304,x ; CPU:$DD2A PRG:5D2A BD 04 03
|
|
sta $0208,y ; CPU:$DD2D PRG:5D2D 99 08 02
|
|
iny ; CPU:$DD30 PRG:5D30 C8
|
|
lda $0305,x ; CPU:$DD31 PRG:5D31 BD 05 03
|
|
sta $0208,y ; CPU:$DD34 PRG:5D34 99 08 02
|
|
iny ; CPU:$DD37 PRG:5D37 C8
|
|
lda #$02 ; CPU:$DD38 PRG:5D38 A9 02
|
|
sta $0208,y ; CPU:$DD3A PRG:5D3A 99 08 02
|
|
iny ; CPU:$DD3D PRG:5D3D C8
|
|
lda #$C9 ; CPU:$DD3E PRG:5D3E A9 C9
|
|
sta $0208,y ; CPU:$DD40 PRG:5D40 99 08 02
|
|
iny ; CPU:$DD43 PRG:5D43 C8
|
|
lda #$CC ; CPU:$DD44 PRG:5D44 A9 CC
|
|
sta $0208,y ; CPU:$DD46 PRG:5D46 99 08 02
|
|
iny ; CPU:$DD49 PRG:5D49 C8
|
|
lda $0304,x ; CPU:$DD4A PRG:5D4A BD 04 03
|
|
sta $0208,y ; CPU:$DD4D PRG:5D4D 99 08 02
|
|
iny ; CPU:$DD50 PRG:5D50 C8
|
|
lda $0305,x ; CPU:$DD51 PRG:5D51 BD 05 03
|
|
sec ; CPU:$DD54 PRG:5D54 38
|
|
sbc #$20 ; CPU:$DD55 PRG:5D55 E9 20
|
|
sta $0208,y ; CPU:$DD57 PRG:5D57 99 08 02
|
|
bcs Sub_DD79 ; CPU:$DD5A PRG:5D5A B0 1D
|
|
lda $0207,y ; CPU:$DD5C PRG:5D5C B9 07 02
|
|
sec ; CPU:$DD5F PRG:5D5F 38
|
|
sbc #$01 ; CPU:$DD60 PRG:5D60 E9 01
|
|
and #$0B ; CPU:$DD62 PRG:5D62 29 0B
|
|
ora #$20 ; CPU:$DD64 PRG:5D64 09 20
|
|
sta $0207,y ; CPU:$DD66 PRG:5D66 99 07 02
|
|
and #$03 ; CPU:$DD69 PRG:5D69 29 03
|
|
cmp #$03 ; CPU:$DD6B PRG:5D6B C9 03
|
|
bne Sub_DD79 ; CPU:$DD6D PRG:5D6D D0 0A
|
|
lda $0208,y ; CPU:$DD6F PRG:5D6F B9 08 02
|
|
and #$1F ; CPU:$DD72 PRG:5D72 29 1F
|
|
ora #$A0 ; CPU:$DD74 PRG:5D74 09 A0
|
|
sta $0208,y ; CPU:$DD76 PRG:5D76 99 08 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DD79
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DD79:
|
|
iny ; CPU:$DD79 PRG:5D79 C8
|
|
lda #$02 ; CPU:$DD7A PRG:5D7A A9 02
|
|
sta $0208,y ; CPU:$DD7C PRG:5D7C 99 08 02
|
|
iny ; CPU:$DD7F PRG:5D7F C8
|
|
lda #$B3 ; CPU:$DD80 PRG:5D80 A9 B3
|
|
sta $0208,y ; CPU:$DD82 PRG:5D82 99 08 02
|
|
iny ; CPU:$DD85 PRG:5D85 C8
|
|
lda #$B6 ; CPU:$DD86 PRG:5D86 A9 B6
|
|
sta $0208,y ; CPU:$DD88 PRG:5D88 99 08 02
|
|
iny ; CPU:$DD8B PRG:5D8B C8
|
|
lda #$00 ; CPU:$DD8C PRG:5D8C A9 00
|
|
sta $0208,y ; CPU:$DD8E PRG:5D8E 99 08 02
|
|
lda #$1A ; CPU:$DD91 PRG:5D91 A9 1A
|
|
sta $0300,x ; CPU:$DD93 PRG:5D93 9D 00 03
|
|
lda #$24 ; CPU:$DD96 PRG:5D96 A9 24
|
|
sta $0307,x ; CPU:$DD98 PRG:5D98 9D 07 03
|
|
lda #$04 ; CPU:$DD9B PRG:5D9B A9 04
|
|
sta $0306,x ; CPU:$DD9D PRG:5D9D 9D 06 03
|
|
sty Joypad1Press2 ; CPU:$DDA0 PRG:5DA0 84 1A
|
|
lda #$01 ; CPU:$DDA2 PRG:5DA2 A9 01
|
|
sta $0612 ; CPU:$DDA4 PRG:5DA4 8D 12 06
|
|
jmp DispatchDecBneLdaStoreLda ; CPU:$DDA7 PRG:5DA7 4C 03 DC
|
|
; ---- data $DDAA-$DEDF (310 bytes) ----
|
|
.byte $A4, $1A, $BD, $04, $03, $99, $08, $02, $C8, $BD, $05, $03, $38, $E9, $1F, $99 ; CPU:$DDAA PRG:5DAA A4 1A BD 04 03 99 08 02 C8 BD 05 03 38 E9 1F 99
|
|
.byte $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B, $09, $20, $99, $07 ; CPU:$DDBA PRG:5DBA 08 02 B0 1D B9 07 02 38 E9 01 29 0B 09 20 99 07
|
|
.byte $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F, $09, $A0, $99, $08 ; CPU:$DDCA PRG:5DCA 02 29 03 C9 03 D0 0A B9 08 02 29 1F 09 A0 99 08
|
|
.byte $02, $C8, $A9, $02, $99, $08, $02, $C8, $A9, $F2, $99, $08, $02, $C8, $A9, $FF ; CPU:$DDDA PRG:5DDA 02 C8 A9 02 99 08 02 C8 A9 F2 99 08 02 C8 A9 FF
|
|
.byte $99, $08, $02, $C8, $B9, $03, $02, $99, $08, $02, $C8, $B9, $03, $02, $38, $E9 ; CPU:$DDEA PRG:5DEA 99 08 02 C8 B9 03 02 99 08 02 C8 B9 03 02 38 E9
|
|
.byte $20, $99, $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B, $09, $20 ; CPU:$DDFA PRG:5DFA 20 99 08 02 B0 1D B9 07 02 38 E9 01 29 0B 09 20
|
|
.byte $99, $07, $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F, $09, $A0 ; CPU:$DE0A PRG:5E0A 99 07 02 29 03 C9 03 D0 0A B9 08 02 29 1F 09 A0
|
|
.byte $99, $08, $02, $C8, $A9, $02, $99, $08, $02, $C8, $A9, $DA, $99, $08, $02, $C8 ; CPU:$DE1A PRG:5E1A 99 08 02 C8 A9 02 99 08 02 C8 A9 DA 99 08 02 C8
|
|
.byte $A9, $EF, $99, $08, $02, $C8, $A9, $00, $99, $08, $02, $84, $1A, $A9, $1A, $9D ; CPU:$DE2A PRG:5E2A A9 EF 99 08 02 C8 A9 00 99 08 02 84 1A A9 1A 9D
|
|
.byte $00, $03, $A9, $04, $9D, $06, $03, $8D, $12, $06, $4C, $03, $DC, $A9, $A5, $20 ; CPU:$DE3A PRG:5E3A 00 03 A9 04 9D 06 03 8D 12 06 4C 03 DC A9 A5 20
|
|
.byte $5C, $DE, $A9, $1A, $9D, $00, $03, $A9, $04, $9D, $06, $03, $8D, $12, $06, $4C ; CPU:$DE4A PRG:5E4A 5C DE A9 1A 9D 00 03 A9 04 9D 06 03 8D 12 06 4C
|
|
.byte $03, $DC, $85, $13, $A4, $1A, $BD, $04, $03, $99, $08, $02, $C8, $BD, $05, $03 ; CPU:$DE5A PRG:5E5A 03 DC 85 13 A4 1A BD 04 03 99 08 02 C8 BD 05 03
|
|
.byte $38, $E9, $1F, $99, $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B ; CPU:$DE6A PRG:5E6A 38 E9 1F 99 08 02 B0 1D B9 07 02 38 E9 01 29 0B
|
|
.byte $09, $20, $99, $07, $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F ; CPU:$DE7A PRG:5E7A 09 20 99 07 02 29 03 C9 03 D0 0A B9 08 02 29 1F
|
|
.byte $09, $A0, $99, $08, $02, $C8, $A9, $02, $99, $08, $02, $C8, $A5, $13, $99, $08 ; CPU:$DE8A PRG:5E8A 09 A0 99 08 02 C8 A9 02 99 08 02 C8 A5 13 99 08
|
|
.byte $02, $C8, $99, $08, $02, $C8, $B9, $03, $02, $99, $08, $02, $C8, $B9, $03, $02 ; CPU:$DE9A PRG:5E9A 02 C8 99 08 02 C8 B9 03 02 99 08 02 C8 B9 03 02
|
|
.byte $38, $E9, $20, $99, $08, $02, $B0, $1D, $B9, $07, $02, $38, $E9, $01, $29, $0B ; CPU:$DEAA PRG:5EAA 38 E9 20 99 08 02 B0 1D B9 07 02 38 E9 01 29 0B
|
|
.byte $09, $20, $99, $07, $02, $29, $03, $C9, $03, $D0, $0A, $B9, $08, $02, $29, $1F ; CPU:$DEBA PRG:5EBA 09 20 99 07 02 29 03 C9 03 D0 0A B9 08 02 29 1F
|
|
.byte $09, $A0, $99, $08, $02, $C8, $A9, $02, $99, $08, $02, $C8, $A5, $13, $99, $08 ; CPU:$DECA PRG:5ECA 09 A0 99 08 02 C8 A9 02 99 08 02 C8 A5 13 99 08
|
|
.byte $02, $C8, $99, $08, $02, $C8 ; CPU:$DEDA PRG:5EDA 02 C8 99 08 02 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DEE0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DEE0:
|
|
lda #$00 ; CPU:$DEE0 PRG:5EE0 A9 00
|
|
sta $0208,y ; CPU:$DEE2 PRG:5EE2 99 08 02
|
|
sty Joypad1Press2 ; CPU:$DEE5 PRG:5EE5 84 1A
|
|
rts ; CPU:$DEE7 PRG:5EE7 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DEE8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DEE8:
|
|
ldx #$00 ; CPU:$DEE8 PRG:5EE8 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DEEA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DEEA:
|
|
lda $DF0E ; CPU:$DEEA PRG:5EEA AD 0E DF
|
|
sta $0380,x ; CPU:$DEED PRG:5EED 9D 80 03
|
|
lda $DF0F ; CPU:$DEF0 PRG:5EF0 AD 0F DF
|
|
sta $0381,x ; CPU:$DEF3 PRG:5EF3 9D 81 03
|
|
txa ; CPU:$DEF6 PRG:5EF6 8A
|
|
clc ; CPU:$DEF7 PRG:5EF7 18
|
|
adc #$10 ; CPU:$DEF8 PRG:5EF8 69 10
|
|
tax ; CPU:$DEFA PRG:5EFA AA
|
|
cpx #$80 ; CPU:$DEFB PRG:5EFB E0 80
|
|
bne Sub_DEEA ; CPU:$DEFD PRG:5EFD D0 EB
|
|
ldx #$00 ; CPU:$DEFF PRG:5EFF A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_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.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DF01:
|
|
lda #$00 ; CPU:$DF01 PRG:5F01 A9 00
|
|
sta $0400,x ; CPU:$DF03 PRG:5F03 9D 00 04
|
|
txa ; CPU:$DF06 PRG:5F06 8A
|
|
clc ; CPU:$DF07 PRG:5F07 18
|
|
adc #$10 ; CPU:$DF08 PRG:5F08 69 10
|
|
tax ; CPU:$DF0A PRG:5F0A AA
|
|
bne Sub_DF01 ; CPU:$DF0B PRG:5F0B D0 F4
|
|
rts ; CPU:$DF0D PRG:5F0D 60
|
|
; ---- data $DF0E-$DF0F (2 bytes) ----
|
|
; referenced by `lda $DF0E` at $DEEA (operand $DF0E falls inside this region)
|
|
; referenced by `lda $DF0F` at $DEF0 (operand $DF0F falls inside this region)
|
|
.byte $14, $DF ; CPU:$DF0E PRG:5F0E 14 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DF10
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DF10:
|
|
lda #$00 ; CPU:$DF10 PRG:5F10 A9 00
|
|
sta a:$00D8,y ; CPU:$DF12 PRG:5F12 99 D8 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrTaxLsrs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrTaxLsrs:
|
|
jsr PopXY ; CPU:$DF15 PRG:5F15 20 6F DF
|
|
txa ; CPU:$DF18 PRG:5F18 8A
|
|
lsr a ; CPU:$DF19 PRG:5F19 4A
|
|
lsr a ; CPU:$DF1A PRG:5F1A 4A
|
|
lsr a ; CPU:$DF1B PRG:5F1B 4A
|
|
lsr a ; CPU:$DF1C PRG:5F1C 4A
|
|
tay ; CPU:$DF1D PRG:5F1D A8
|
|
asl a ; CPU:$DF1E PRG:5F1E 0A
|
|
eor GameSubMode ; CPU:$DF1F PRG:5F1F 45 1B
|
|
and #$0E ; CPU:$DF21 PRG:5F21 29 0E
|
|
bne DispatchJsrTaxLsrs ; CPU:$DF23 PRG:5F23 D0 F0
|
|
lda a:$00D8,y ; CPU:$DF25 PRG:5F25 B9 D8 00
|
|
beq DispatchJsrTaxLsrs ; CPU:$DF28 PRG:5F28 F0 EB
|
|
bmi Sub_DF10 ; CPU:$DF2A PRG:5F2A 30 E4
|
|
lda a:$00D8,y ; CPU:$DF2C PRG:5F2C B9 D8 00
|
|
cmp #$2A ; CPU:$DF2F PRG:5F2F C9 2A
|
|
bcs Sub_DF10 ; CPU:$DF31 PRG:5F31 B0 DD
|
|
ora #$80 ; CPU:$DF33 PRG:5F33 09 80
|
|
sta a:$00D8,y ; CPU:$DF35 PRG:5F35 99 D8 00
|
|
and #$7E ; CPU:$DF38 PRG:5F38 29 7E
|
|
tay ; CPU:$DF3A PRG:5F3A A8
|
|
lda Data_DF78,y ; CPU:$DF3B PRG:5F3B B9 78 DF
|
|
sta $0380,x ; CPU:$DF3E PRG:5F3E 9D 80 03
|
|
lda $DF79,y ; CPU:$DF41 PRG:5F41 B9 79 DF
|
|
sta $0381,x ; CPU:$DF44 PRG:5F44 9D 81 03
|
|
pha ; CPU:$DF47 PRG:5F47 48
|
|
lda $0380,x ; CPU:$DF48 PRG:5F48 BD 80 03
|
|
pha ; CPU:$DF4B PRG:5F4B 48
|
|
rts ; CPU:$DF4C PRG:5F4C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjIterLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjIterLoop:
|
|
lda Zp32 ; CPU:$DF4D PRG:5F4D A5 32
|
|
beq Sub_DEE8 ; CPU:$DF4F PRG:5F4F F0 97
|
|
ldx #$00 ; CPU:$DF51 PRG:5F51 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DF53
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_DF53:
|
|
jsr PushXY ; CPU:$DF53 PRG:5F53 20 66 DF
|
|
txa ; CPU:$DF56 PRG:5F56 8A
|
|
clc ; CPU:$DF57 PRG:5F57 18
|
|
adc #$10 ; CPU:$DF58 PRG:5F58 69 10
|
|
tax ; CPU:$DF5A PRG:5F5A AA
|
|
lsr a ; CPU:$DF5B PRG:5F5B 4A
|
|
lsr a ; CPU:$DF5C PRG:5F5C 4A
|
|
lsr a ; CPU:$DF5D PRG:5F5D 4A
|
|
lsr a ; CPU:$DF5E PRG:5F5E 4A
|
|
cmp #$08 ; CPU:$DF5F PRG:5F5F C9 08
|
|
bne Sub_DF53 ; CPU:$DF61 PRG:5F61 D0 F0
|
|
jmp $CE04 ; CPU:$DF63 PRG:5F63 4C 04 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: PushXY
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
PushXY:
|
|
lda $0381,x ; CPU:$DF66 PRG:5F66 BD 81 03
|
|
pha ; CPU:$DF69 PRG:5F69 48
|
|
lda $0380,x ; CPU:$DF6A PRG:5F6A BD 80 03
|
|
pha ; CPU:$DF6D PRG:5F6D 48
|
|
rts ; CPU:$DF6E PRG:5F6E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: PopXY
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
PopXY:
|
|
pla ; CPU:$DF6F PRG:5F6F 68
|
|
sta $0380,x ; CPU:$DF70 PRG:5F70 9D 80 03
|
|
pla ; CPU:$DF73 PRG:5F73 68
|
|
sta $0381,x ; CPU:$DF74 PRG:5F74 9D 81 03
|
|
rts ; CPU:$DF77 PRG:5F77 60
|
|
ObjPtrTable:
|
|
; Object/enemy routine pointer table (16-bit entries read by lda $DF78,y/$DF79,y)
|
|
; referenced by `lda $DF78,y` at $DF3B (operand $DF78 falls inside this region)
|
|
; referenced by `lda $DF79,y` at $DF41 (operand $DF79 falls inside this region)
|
|
Data_DF78:
|
|
; ---- data $DF78-$DFA1 (42 bytes) ----
|
|
.byte $A1, $DF, $A6, $DF, $83, $E0, $A2, $E0, $77, $E1, $DA, $E1, $2F, $E2, $1F, $E4 ; CPU:$DF78 PRG:5F78 A1 DF A6 DF 83 E0 A2 E0 77 E1 DA E1 2F E2 1F E4
|
|
.byte $B9, $E4, $00, $E5, $52, $E5, $7D, $E5, $88, $E0, $87, $E2, $31, $E3, $AE, $E5 ; CPU:$DF88 PRG:5F88 B9 E4 00 E5 52 E5 7D E5 88 E0 87 E2 31 E3 AE E5
|
|
.byte $F3, $E5, $D6, $E8, $67, $E6, $88, $E6, $C2, $EA ; CPU:$DF98 PRG:5F98 F3 E5 D6 E8 67 E6 88 E6 C2 EA
|
|
lda #$00 ; CPU:$DFA2 PRG:5FA2 A9 00
|
|
jmp Sub_DFA9 ; CPU:$DFA4 PRG:5FA4 4C A9 DF
|
|
; ---- data $DFA7-$DFA8 (2 bytes) ----
|
|
.byte $A9, $01 ; CPU:$DFA7 PRG:5FA7 A9 01
|
|
Sub_DFA9:
|
|
sta $038B,x ; CPU:$DFA9 PRG:5FA9 9D 8B 03
|
|
jsr DispatchCmpLdaBccLda ; CPU:$DFAC PRG:5FAC 20 51 E1
|
|
lda #$03 ; CPU:$DFAF PRG:5FAF A9 03
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$DFB1 PRG:5FB1 20 69 EC
|
|
lda #$02 ; CPU:$DFB4 PRG:5FB4 A9 02
|
|
sta $038A,x ; CPU:$DFB6 PRG:5FB6 9D 8A 03
|
|
lda #$10 ; CPU:$DFB9 PRG:5FB9 A9 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DFBB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DFBB:
|
|
sta $0382,x ; CPU:$DFBB PRG:5FBB 9D 82 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrLdaBne
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrLdaBne:
|
|
jsr PopXY ; CPU:$DFBE PRG:5FBE 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$DFC1 PRG:5FC1 20 3C EB
|
|
lda $0386,x ; CPU:$DFC4 PRG:5FC4 BD 86 03
|
|
bne DispatchJsrJsrLdaBne ; CPU:$DFC7 PRG:5FC7 D0 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DFC9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DFC9:
|
|
jsr PopXY ; CPU:$DFC9 PRG:5FC9 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$DFCC PRG:5FCC 20 3C EB
|
|
jsr DispatchLdaI ; CPU:$DFCF PRG:5FCF 20 E5 EB
|
|
jsr DispatchLdyE ; CPU:$DFD2 PRG:5FD2 20 87 EB
|
|
lsr a ; CPU:$DFD5 PRG:5FD5 4A
|
|
bcc Sub_DFDB ; CPU:$DFD6 PRG:5FD6 90 03
|
|
jmp DispatchLdaBeqLdaJsr ; CPU:$DFD8 PRG:5FD8 4C 6D E0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DFDB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DFDB:
|
|
lda $0384,x ; CPU:$DFDB PRG:5FDB BD 84 03
|
|
sec ; CPU:$DFDE PRG:5FDE 38
|
|
sbc Zp23 ; CPU:$DFDF PRG:5FDF E5 23
|
|
clc ; CPU:$DFE1 PRG:5FE1 18
|
|
adc #$14 ; CPU:$DFE2 PRG:5FE2 69 14
|
|
cmp #$29 ; CPU:$DFE4 PRG:5FE4 C9 29
|
|
bcs Sub_DFC9 ; CPU:$DFE6 PRG:5FE6 B0 E1
|
|
lda $038B,x ; CPU:$DFE8 PRG:5FE8 BD 8B 03
|
|
beq Sub_DFF0 ; CPU:$DFEB PRG:5FEB F0 03
|
|
jsr DispatchJsrStoreLdaClc ; CPU:$DFED PRG:5FED 20 2F CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DFF0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DFF0:
|
|
ldy #$01 ; CPU:$DFF0 PRG:5FF0 A0 01
|
|
lda $0384,x ; CPU:$DFF2 PRG:5FF2 BD 84 03
|
|
sec ; CPU:$DFF5 PRG:5FF5 38
|
|
sbc Zp23 ; CPU:$DFF6 PRG:5FF6 E5 23
|
|
bcs Sub_DFFC ; CPU:$DFF8 PRG:5FF8 B0 02
|
|
ldy #$FF ; CPU:$DFFA PRG:5FFA A0 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_DFFC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_DFFC:
|
|
tya ; CPU:$DFFC PRG:5FFC 98
|
|
sta $038B,x ; CPU:$DFFD PRG:5FFD 9D 8B 03
|
|
lda $038A,x ; CPU:$E000 PRG:6000 BD 8A 03
|
|
sta $0389,x ; CPU:$E003 PRG:6003 9D 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrJsrLsrsBcs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrJsrLsrsBcs:
|
|
jsr PopXY ; CPU:$E006 PRG:6006 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E009 PRG:6009 20 3C EB
|
|
jsr DispatchLdyE ; CPU:$E00C PRG:600C 20 87 EB
|
|
lsr a ; CPU:$E00F PRG:600F 4A
|
|
bcs DispatchLdaBeqLdaJsr ; CPU:$E010 PRG:6010 B0 5B
|
|
jsr DispatchLdaI ; CPU:$E012 PRG:6012 20 E5 EB
|
|
lda GameSubMode ; CPU:$E015 PRG:6015 A5 1B
|
|
and #$01 ; CPU:$E017 PRG:6017 29 01
|
|
bne Sub_E032 ; CPU:$E019 PRG:6019 D0 17
|
|
lda $0389,x ; CPU:$E01B PRG:601B BD 89 03
|
|
clc ; CPU:$E01E PRG:601E 18
|
|
adc $038B,x ; CPU:$E01F PRG:601F 7D 8B 03
|
|
and #$03 ; CPU:$E022 PRG:6022 29 03
|
|
sta $0389,x ; CPU:$E024 PRG:6024 9D 89 03
|
|
lda $038A,x ; CPU:$E027 PRG:6027 BD 8A 03
|
|
and #$EC ; CPU:$E02A PRG:602A 29 EC
|
|
ora $0389,x ; CPU:$E02C PRG:602C 1D 89 03
|
|
sta $038A,x ; CPU:$E02F PRG:602F 9D 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E032
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E032:
|
|
lda $038B,x ; CPU:$E032 PRG:6032 BD 8B 03
|
|
bmi Sub_E052 ; CPU:$E035 PRG:6035 30 1B
|
|
lda $038C,x ; CPU:$E037 PRG:6037 BD 8C 03
|
|
bmi Sub_E040 ; CPU:$E03A PRG:603A 30 04
|
|
cmp #$04 ; CPU:$E03C PRG:603C C9 04
|
|
bcs DispatchJsrJsrJsrLsrsBcs ; CPU:$E03E PRG:603E B0 C6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E040
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E040:
|
|
lda $038D,x ; CPU:$E040 PRG:6040 BD 8D 03
|
|
clc ; CPU:$E043 PRG:6043 18
|
|
adc $0382,x ; CPU:$E044 PRG:6044 7D 82 03
|
|
sta $038D,x ; CPU:$E047 PRG:6047 9D 8D 03
|
|
bcc DispatchJsrJsrJsrLsrsBcs ; CPU:$E04A PRG:604A 90 BA
|
|
inc $038C,x ; CPU:$E04C PRG:604C FE 8C 03
|
|
jmp DispatchJsrJsrJsrLsrsBcs ; CPU:$E04F PRG:604F 4C 06 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E052
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E052:
|
|
lda $038C,x ; CPU:$E052 PRG:6052 BD 8C 03
|
|
bpl Sub_E05B ; CPU:$E055 PRG:6055 10 04
|
|
cmp #$FD ; CPU:$E057 PRG:6057 C9 FD
|
|
bcc DispatchJsrJsrJsrLsrsBcs ; CPU:$E059 PRG:6059 90 AB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E05B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E05B:
|
|
lda $038D,x ; CPU:$E05B PRG:605B BD 8D 03
|
|
sec ; CPU:$E05E PRG:605E 38
|
|
sbc $0382,x ; CPU:$E05F PRG:605F FD 82 03
|
|
sta $038D,x ; CPU:$E062 PRG:6062 9D 8D 03
|
|
bcs DispatchJsrJsrJsrLsrsBcs ; CPU:$E065 PRG:6065 B0 9F
|
|
dec $038C,x ; CPU:$E067 PRG:6067 DE 8C 03
|
|
jmp DispatchJsrJsrJsrLsrsBcs ; CPU:$E06A PRG:606A 4C 06 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBeqLdaJsr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBeqLdaJsr:
|
|
lda $0382,x ; CPU:$E06D PRG:606D BD 82 03
|
|
cmp #$1C ; CPU:$E070 PRG:6070 C9 1C
|
|
beq Sub_E07C ; CPU:$E072 PRG:6072 F0 08
|
|
lda #$03 ; CPU:$E074 PRG:6074 A9 03
|
|
jsr ObjSpritesInit6 ; CPU:$E076 PRG:6076 20 4D BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E079 PRG:6079 4C 5B E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E07C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E07C:
|
|
lda #$0F ; CPU:$E07C PRG:607C A9 0F
|
|
jsr ObjSpritesInit6 ; CPU:$E07E PRG:607E 20 4D BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E081 PRG:6081 4C 5B E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E084
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E084:
|
|
lda #$00 ; CPU:$E084 PRG:6084 A9 00
|
|
jmp DispatchStoreJsrLdaJsrLda ; CPU:$E086 PRG:6086 4C 8B E0
|
|
; ---- data $E089-$E08A (2 bytes) ----
|
|
.byte $A9, $01 ; CPU:$E089 PRG:6089 A9 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreJsrLdaJsrLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreJsrLdaJsrLda:
|
|
sta $038B,x ; CPU:$E08B PRG:608B 9D 8B 03
|
|
jsr DispatchCmpLdaBccLda ; CPU:$E08E PRG:608E 20 51 E1
|
|
lda #$06 ; CPU:$E091 PRG:6091 A9 06
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$E093 PRG:6093 20 69 EC
|
|
lda #$0A ; CPU:$E096 PRG:6096 A9 0A
|
|
sta $038A,x ; CPU:$E098 PRG:6098 9D 8A 03
|
|
lda #$1C ; CPU:$E09B PRG:609B A9 1C
|
|
sta $0382,x ; CPU:$E09D PRG:609D 9D 82 03
|
|
jmp DispatchJsrJsrLdaBne ; CPU:$E0A0 PRG:60A0 4C BE DF
|
|
jsr DispatchCmpLdaBccLda ; CPU:$E0A3 PRG:60A3 20 51 E1
|
|
lda #$04 ; CPU:$E0A6 PRG:60A6 A9 04
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$E0A8 PRG:60A8 20 69 EC
|
|
lda #$0C ; CPU:$E0AB PRG:60AB A9 0C
|
|
sta $038A,x ; CPU:$E0AD PRG:60AD 9D 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E0B0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E0B0:
|
|
jsr PopXY ; CPU:$E0B0 PRG:60B0 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E0B3 PRG:60B3 20 3C EB
|
|
lda $0386,x ; CPU:$E0B6 PRG:60B6 BD 86 03
|
|
bmi Sub_E0B0 ; CPU:$E0B9 PRG:60B9 30 F5
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E0BB PRG:60BB 20 5C F5
|
|
and #$3F ; CPU:$E0BE PRG:60BE 29 3F
|
|
clc ; CPU:$E0C0 PRG:60C0 18
|
|
adc #$20 ; CPU:$E0C1 PRG:60C1 69 20
|
|
sta $0389,x ; CPU:$E0C3 PRG:60C3 9D 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E0C6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E0C6:
|
|
jsr PopXY ; CPU:$E0C6 PRG:60C6 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E0C9 PRG:60C9 20 3C EB
|
|
jsr DispatchLdaI ; CPU:$E0CC PRG:60CC 20 E5 EB
|
|
jsr DispatchLdyE ; CPU:$E0CF PRG:60CF 20 87 EB
|
|
lsr a ; CPU:$E0D2 PRG:60D2 4A
|
|
bcc Sub_E0DD ; CPU:$E0D3 PRG:60D3 90 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E0D5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E0D5:
|
|
lda #$05 ; CPU:$E0D5 PRG:60D5 A9 05
|
|
jsr ObjSpritesInit6 ; CPU:$E0D7 PRG:60D7 20 4D BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E0DA PRG:60DA 4C 5B E2
|
|
; referenced by `jsr $E0FF` at $EAAD (operand $E0FF falls inside this region)
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E0DD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E0DD:
|
|
dec $0389,x ; CPU:$E0DD PRG:60DD DE 89 03
|
|
bne Sub_E0C6 ; CPU:$E0E0 PRG:60E0 D0 E4
|
|
jsr DispatchJsrStoreLdaClc ; CPU:$E0E2 PRG:60E2 20 2F CF
|
|
lda #$08 ; CPU:$E0E5 PRG:60E5 A9 08
|
|
sta $0389,x ; CPU:$E0E7 PRG:60E7 9D 89 03
|
|
lda #$06 ; CPU:$E0EA PRG:60EA A9 06
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$E0EC PRG:60EC 20 69 EC
|
|
lda #$00 ; CPU:$E0EF PRG:60EF A9 00
|
|
sec ; CPU:$E0F1 PRG:60F1 38
|
|
sbc $038D,x ; CPU:$E0F2 PRG:60F2 FD 8D 03
|
|
sta $038D,x ; CPU:$E0F5 PRG:60F5 9D 8D 03
|
|
lda #$00 ; CPU:$E0F8 PRG:60F8 A9 00
|
|
sbc $038C,x ; CPU:$E0FA PRG:60FA FD 8C 03
|
|
sta $038C,x ; CPU:$E0FD PRG:60FD 9D 8C 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E100
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E100:
|
|
lda #$00 ; CPU:$E100 PRG:6100 A9 00
|
|
sec ; CPU:$E102 PRG:6102 38
|
|
sbc $038F,x ; CPU:$E103 PRG:6103 FD 8F 03
|
|
sta $038F,x ; CPU:$E106 PRG:6106 9D 8F 03
|
|
lda #$00 ; CPU:$E109 PRG:6109 A9 00
|
|
sbc $038E,x ; CPU:$E10B PRG:610B FD 8E 03
|
|
sta $038E,x ; CPU:$E10E PRG:610E 9D 8E 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrJsrLsrsBcs2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrJsrLsrsBcs2:
|
|
jsr PopXY ; CPU:$E111 PRG:6111 20 6F DF
|
|
jsr DispatchLdaI ; CPU:$E114 PRG:6114 20 E5 EB
|
|
jsr DispatchLdyE ; CPU:$E117 PRG:6117 20 87 EB
|
|
lsr a ; CPU:$E11A PRG:611A 4A
|
|
bcs Sub_E0D5 ; CPU:$E11B PRG:611B B0 B8
|
|
dec $0389,x ; CPU:$E11D PRG:611D DE 89 03
|
|
bne DispatchJsrJsrJsrLsrsBcs2 ; CPU:$E120 PRG:6120 D0 EF
|
|
lda #$08 ; CPU:$E122 PRG:6122 A9 08
|
|
sta $0389,x ; CPU:$E124 PRG:6124 9D 89 03
|
|
lda $038A,x ; CPU:$E127 PRG:6127 BD 8A 03
|
|
cmp #$0F ; CPU:$E12A PRG:612A C9 0F
|
|
beq DispatchJsrJsrJsrLsrsBcs3 ; CPU:$E12C PRG:612C F0 06
|
|
inc $038A,x ; CPU:$E12E PRG:612E FE 8A 03
|
|
jmp DispatchJsrJsrJsrLsrsBcs2 ; CPU:$E131 PRG:6131 4C 11 E1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrJsrLsrsBcs3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrJsrLsrsBcs3:
|
|
jsr PopXY ; CPU:$E134 PRG:6134 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E137 PRG:6137 20 3C EB
|
|
jsr DispatchLdyE ; CPU:$E13A PRG:613A 20 87 EB
|
|
lsr a ; CPU:$E13D PRG:613D 4A
|
|
bcs Sub_E0D5 ; CPU:$E13E PRG:613E B0 95
|
|
jsr DispatchLdaI ; CPU:$E140 PRG:6140 20 E5 EB
|
|
jmp DispatchJsrJsrJsrLsrsBcs3 ; CPU:$E143 PRG:6143 4C 34 E1
|
|
; ---- data $E146-$E150 (11 bytes) ----
|
|
.byte $20, $5C, $F5, $29, $E0, $18, $69, $08, $4C, $65, $E1 ; CPU:$E146 PRG:6146 20 5C F5 29 E0 18 69 08 4C 65 E1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCmpLdaBccLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCmpLdaBccLda:
|
|
lda Zp23 ; CPU:$E151 PRG:6151 A5 23
|
|
cmp #$78 ; CPU:$E153 PRG:6153 C9 78
|
|
lda #$90 ; CPU:$E155 PRG:6155 A9 90
|
|
bcc Sub_E15B ; CPU:$E157 PRG:6157 90 02
|
|
lda #$20 ; CPU:$E159 PRG:6159 A9 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E15B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E15B:
|
|
sta ObjPtr ; CPU:$E15B PRG:615B 85 13
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E15D PRG:615D 20 5C F5
|
|
and #$3F ; CPU:$E160 PRG:6160 29 3F
|
|
clc ; CPU:$E162 PRG:6162 18
|
|
adc ObjPtr ; CPU:$E163 PRG:6163 65 13
|
|
sta $0384,x ; CPU:$E165 PRG:6165 9D 84 03
|
|
lda #$00 ; CPU:$E168 PRG:6168 A9 00
|
|
sta $0383,x ; CPU:$E16A PRG:616A 9D 83 03
|
|
lda #$DA ; CPU:$E16D PRG:616D A9 DA
|
|
sta $0387,x ; CPU:$E16F PRG:616F 9D 87 03
|
|
lda #$FF ; CPU:$E172 PRG:6172 A9 FF
|
|
sta $0386,x ; CPU:$E174 PRG:6174 9D 86 03
|
|
rts ; CPU:$E177 PRG:6177 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E178
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E178:
|
|
jsr DispatchCmpLdaBccLda ; CPU:$E178 PRG:6178 20 51 E1
|
|
lda #$E1 ; CPU:$E17B PRG:617B A9 E1
|
|
sta $0387,x ; CPU:$E17D PRG:617D 9D 87 03
|
|
lda #$03 ; CPU:$E180 PRG:6180 A9 03
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$E182 PRG:6182 20 69 EC
|
|
lda #$10 ; CPU:$E185 PRG:6185 A9 10
|
|
sta $038A,x ; CPU:$E187 PRG:6187 9D 8A 03
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E18A PRG:618A 20 5C F5
|
|
and Zp95 ; CPU:$E18D PRG:618D 25 95
|
|
clc ; CPU:$E18F PRG:618F 18
|
|
adc #$30 ; CPU:$E190 PRG:6190 69 30
|
|
sta $0389,x ; CPU:$E192 PRG:6192 9D 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E195
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E195:
|
|
jsr PopXY ; CPU:$E195 PRG:6195 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E198 PRG:6198 20 3C EB
|
|
lda $0386,x ; CPU:$E19B PRG:619B BD 86 03
|
|
bmi Sub_E195 ; CPU:$E19E PRG:619E 30 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrJsrJsrLsrs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrJsrJsrLsrs:
|
|
jsr PopXY ; CPU:$E1A0 PRG:61A0 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E1A3 PRG:61A3 20 3C EB
|
|
jsr DispatchLdaI ; CPU:$E1A6 PRG:61A6 20 E5 EB
|
|
jsr DispatchLdyE ; CPU:$E1A9 PRG:61A9 20 87 EB
|
|
lsr a ; CPU:$E1AC PRG:61AC 4A
|
|
bcs Sub_E1D3 ; CPU:$E1AD PRG:61AD B0 24
|
|
jsr DispatchAndBeqIncLda ; CPU:$E1AF PRG:61AF 20 40 E2
|
|
dec $0389,x ; CPU:$E1B2 PRG:61B2 DE 89 03
|
|
bne DispatchJsrJsrJsrJsrLsrs ; CPU:$E1B5 PRG:61B5 D0 E9
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E1B7 PRG:61B7 20 5C F5
|
|
sta $0382,x ; CPU:$E1BA PRG:61BA 9D 82 03
|
|
lda #$03 ; CPU:$E1BD PRG:61BD A9 03
|
|
jsr DispatchStoreLdaStoreStoreStore ; CPU:$E1BF PRG:61BF 20 E3 EC
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E1C2 PRG:61C2 20 5C F5
|
|
and Zp95 ; CPU:$E1C5 PRG:61C5 25 95
|
|
clc ; CPU:$E1C7 PRG:61C7 18
|
|
adc #$30 ; CPU:$E1C8 PRG:61C8 69 30
|
|
sta $0389,x ; CPU:$E1CA PRG:61CA 9D 89 03
|
|
jsr DispatchJsrStoreLdaClc ; CPU:$E1CD PRG:61CD 20 2F CF
|
|
jmp DispatchJsrJsrJsrJsrLsrs ; CPU:$E1D0 PRG:61D0 4C A0 E1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E1D3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E1D3:
|
|
lda #$07 ; CPU:$E1D3 PRG:61D3 A9 07
|
|
jsr ObjSpritesInit6 ; CPU:$E1D5 PRG:61D5 20 4D BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E1D8 PRG:61D8 4C 5B E2
|
|
; ---- data $E1DB-$E23F (101 bytes) ----
|
|
.byte $20, $51, $E1, $A9, $E1, $9D, $87, $03, $A9, $03, $20, $69, $EC, $A9, $10, $9D ; CPU:$E1DB PRG:61DB 20 51 E1 A9 E1 9D 87 03 A9 03 20 69 EC A9 10 9D
|
|
.byte $8A, $03, $20, $5C, $F5, $25, $95, $18, $69, $30, $9D, $89, $03, $20, $6F, $DF ; CPU:$E1EB PRG:61EB 8A 03 20 5C F5 25 95 18 69 30 9D 89 03 20 6F DF
|
|
.byte $20, $3C, $EB, $BD, $86, $03, $30, $F5, $20, $6F, $DF, $20, $3C, $EB, $20, $E5 ; CPU:$E1FB PRG:61FB 20 3C EB BD 86 03 30 F5 20 6F DF 20 3C EB 20 E5
|
|
.byte $EB, $20, $87, $EB, $4A, $B0, $44, $20, $40, $E2, $DE, $89, $03, $D0, $E9, $A9 ; CPU:$E20B PRG:620B EB 20 87 EB 4A B0 44 20 40 E2 DE 89 03 D0 E9 A9
|
|
.byte $03, $20, $69, $EC, $20, $5C, $F5, $25, $95, $18, $69, $30, $9D, $89, $03, $20 ; CPU:$E21B PRG:621B 03 20 69 EC 20 5C F5 25 95 18 69 30 9D 89 03 20
|
|
.byte $2F, $CF, $4C, $03, $E2, $20, $51, $E1, $A9, $00, $9D, $86, $03, $A9, $F6, $9D ; CPU:$E22B PRG:622B 2F CF 4C 03 E2 20 51 E1 A9 00 9D 86 03 A9 F6 9D
|
|
.byte $87, $03, $4C, $DE, $E1 ; CPU:$E23B PRG:623B 87 03 4C DE E1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAndBeqIncLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAndBeqIncLda:
|
|
lda GameSubMode ; CPU:$E240 PRG:6240 A5 1B
|
|
and #$01 ; CPU:$E242 PRG:6242 29 01
|
|
beq Sub_E255 ; CPU:$E244 PRG:6244 F0 0F
|
|
inc $038A,x ; CPU:$E246 PRG:6246 FE 8A 03
|
|
lda $038A,x ; CPU:$E249 PRG:6249 BD 8A 03
|
|
cmp #$13 ; CPU:$E24C PRG:624C C9 13
|
|
bne Sub_E255 ; CPU:$E24E PRG:624E D0 05
|
|
lda #$10 ; CPU:$E250 PRG:6250 A9 10
|
|
sta $038A,x ; CPU:$E252 PRG:6252 9D 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E255
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E255:
|
|
rts ; CPU:$E255 PRG:6255 60
|
|
; ---- data $E256-$E25A (5 bytes) ----
|
|
.byte $A9, $01, $20, $54, $BF ; CPU:$E256 PRG:6256 A9 01 20 54 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreStoreStoreLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreStoreStoreLda:
|
|
lda #$04 ; CPU:$E25B PRG:625B A9 04
|
|
sta $0389,x ; CPU:$E25D PRG:625D 9D 89 03
|
|
sta $0609 ; CPU:$E260 PRG:6260 8D 09 06
|
|
sta $060A ; CPU:$E263 PRG:6263 8D 0A 06
|
|
lda #$14 ; CPU:$E266 PRG:6266 A9 14
|
|
sta $038A,x ; CPU:$E268 PRG:6268 9D 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E26B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E26B:
|
|
jsr PopXY ; CPU:$E26B PRG:626B 20 6F DF
|
|
jsr DispatchLdaI ; CPU:$E26E PRG:626E 20 E5 EB
|
|
dec $0389,x ; CPU:$E271 PRG:6271 DE 89 03
|
|
bne Sub_E26B ; CPU:$E274 PRG:6274 D0 F5
|
|
lda #$04 ; CPU:$E276 PRG:6276 A9 04
|
|
sta $0389,x ; CPU:$E278 PRG:6278 9D 89 03
|
|
inc $038A,x ; CPU:$E27B PRG:627B FE 8A 03
|
|
lda $038A,x ; CPU:$E27E PRG:627E BD 8A 03
|
|
cmp #$18 ; CPU:$E281 PRG:6281 C9 18
|
|
bne Sub_E26B ; CPU:$E283 PRG:6283 D0 E6
|
|
jmp DispatchJsrTaxLsrs ; CPU:$E285 PRG:6285 4C 15 DF
|
|
; ---- data $E288-$E2CE (71 bytes) ----
|
|
.byte $20, $51, $E1, $A9, $04, $20, $69, $EC, $A9, $18, $9D, $8A, $03, $20, $5C, $F5 ; CPU:$E288 PRG:6288 20 51 E1 A9 04 20 69 EC A9 18 9D 8A 03 20 5C F5
|
|
.byte $29, $1F, $18, $69, $20, $9D, $89, $03, $A9, $00, $9D, $8B, $03, $20, $6F, $DF ; CPU:$E298 PRG:6298 29 1F 18 69 20 9D 89 03 A9 00 9D 8B 03 20 6F DF
|
|
.byte $20, $3C, $EB, $BD, $86, $03, $30, $F5, $20, $6F, $DF, $20, $3C, $EB, $20, $87 ; CPU:$E2A8 PRG:62A8 20 3C EB BD 86 03 30 F5 20 6F DF 20 3C EB 20 87
|
|
.byte $EB, $4A, $90, $03, $4C, $0A, $E3, $20, $E5, $EB, $DE, $89, $03, $D0, $E9, $A9 ; CPU:$E2B8 PRG:62B8 EB 4A 90 03 4C 0A E3 20 E5 EB DE 89 03 D0 E9 A9
|
|
.byte $18, $9D, $89, $03, $FD, $82, $03 ; CPU:$E2C8 PRG:62C8 18 9D 89 03 FD 82 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaBneJsrAnd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaBneJsrAnd:
|
|
jsr PopXY ; CPU:$E2CF PRG:62CF 20 6F DF
|
|
lda $038B,x ; CPU:$E2D2 PRG:62D2 BD 8B 03
|
|
bne Sub_E2E2 ; CPU:$E2D5 PRG:62D5 D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E2D7 PRG:62D7 20 5C F5
|
|
and Zp96 ; CPU:$E2DA PRG:62DA 25 96
|
|
clc ; CPU:$E2DC PRG:62DC 18
|
|
adc #$10 ; CPU:$E2DD PRG:62DD 69 10
|
|
sta $038B,x ; CPU:$E2DF PRG:62DF 9D 8B 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E2E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E2E2:
|
|
dec $038B,x ; CPU:$E2E2 PRG:62E2 DE 8B 03
|
|
bne Sub_E2EA ; CPU:$E2E5 PRG:62E5 D0 03
|
|
jsr DispatchJsrStoreLdaClc ; CPU:$E2E7 PRG:62E7 20 2F CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E2EA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E2EA:
|
|
lda $038E,x ; CPU:$E2EA PRG:62EA BD 8E 03
|
|
bpl Sub_E2F3 ; CPU:$E2ED PRG:62ED 10 04
|
|
cmp #$FD ; CPU:$E2EF PRG:62EF C9 FD
|
|
bcc Sub_E301 ; CPU:$E2F1 PRG:62F1 90 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E2F3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E2F3:
|
|
lda $038F,x ; CPU:$E2F3 PRG:62F3 BD 8F 03
|
|
sec ; CPU:$E2F6 PRG:62F6 38
|
|
sbc #$20 ; CPU:$E2F7 PRG:62F7 E9 20
|
|
sta $038F,x ; CPU:$E2F9 PRG:62F9 9D 8F 03
|
|
bcs Sub_E301 ; CPU:$E2FC PRG:62FC B0 03
|
|
dec $038E,x ; CPU:$E2FE PRG:62FE DE 8E 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E301
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E301:
|
|
jsr DispatchAddStoreLda6 ; CPU:$E301 PRG:6301 20 3C EB
|
|
jsr DispatchLdyE ; CPU:$E304 PRG:6304 20 87 EB
|
|
lsr a ; CPU:$E307 PRG:6307 4A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E308
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E308:
|
|
bcc Sub_E312 ; CPU:$E308 PRG:6308 90 08
|
|
lda #$03 ; CPU:$E30A PRG:630A A9 03
|
|
jsr ObjSpritesInit5 ; CPU:$E30C PRG:630C 20 54 BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E30F PRG:630F 4C 5B E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E312
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E312:
|
|
jsr DispatchLdaI ; CPU:$E312 PRG:6312 20 E5 EB
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E315 PRG:6315 20 5C F5
|
|
dec $0389,x ; CPU:$E318 PRG:6318 DE 89 03
|
|
bne DispatchJsrLdaBneJsrAnd ; CPU:$E31B PRG:631B D0 B2
|
|
lda #$08 ; CPU:$E31D PRG:631D A9 08
|
|
sta $0389,x ; CPU:$E31F PRG:631F 9D 89 03
|
|
lda $038A,x ; CPU:$E322 PRG:6322 BD 8A 03
|
|
clc ; CPU:$E325 PRG:6325 18
|
|
adc #$01 ; CPU:$E326 PRG:6326 69 01
|
|
cmp #$1C ; CPU:$E328 PRG:6328 C9 1C
|
|
beq DispatchJsrLdaBneJsrAnd ; CPU:$E32A PRG:632A F0 A3
|
|
sta $038A,x ; CPU:$E32C PRG:632C 9D 8A 03
|
|
jmp DispatchJsrLdaBneJsrAnd ; CPU:$E32F PRG:632F 4C CF E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E332
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E332:
|
|
jsr DispatchCmpLdaBccLda ; CPU:$E332 PRG:6332 20 51 E1
|
|
lda #$05 ; CPU:$E335 PRG:6335 A9 05
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$E337 PRG:6337 20 69 EC
|
|
lda #$1C ; CPU:$E33A PRG:633A A9 1C
|
|
sta $038A,x ; CPU:$E33C PRG:633C 9D 8A 03
|
|
lda #$00 ; CPU:$E33F PRG:633F A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E341
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E341:
|
|
sta $038B,x ; CPU:$E341 PRG:6341 9D 8B 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E344
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E344:
|
|
jsr PopXY ; CPU:$E344 PRG:6344 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E347 PRG:6347 20 3C EB
|
|
lda $0386,x ; CPU:$E34A PRG:634A BD 86 03
|
|
bmi Sub_E344 ; CPU:$E34D PRG:634D 30 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E34F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E34F:
|
|
jsr PopXY ; CPU:$E34F PRG:634F 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E352 PRG:6352 20 3C EB
|
|
jsr DispatchLdyE ; CPU:$E355 PRG:6355 20 87 EB
|
|
lsr a ; CPU:$E358 PRG:6358 4A
|
|
bcc Sub_E35E ; CPU:$E359 PRG:6359 90 03
|
|
jmp DispatchLdaJsrJmpF ; CPU:$E35B PRG:635B 4C FB E3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E35E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E35E:
|
|
jsr DispatchLdaI ; CPU:$E35E PRG:635E 20 E5 EB
|
|
lda $038B,x ; CPU:$E361 PRG:6361 BD 8B 03
|
|
bne Sub_E371 ; CPU:$E364 PRG:6364 D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E366 PRG:6366 20 5C F5
|
|
and Zp98 ; CPU:$E369 PRG:6369 25 98
|
|
clc ; CPU:$E36B PRG:636B 18
|
|
adc #$10 ; CPU:$E36C PRG:636C 69 10
|
|
sta $038B,x ; CPU:$E36E PRG:636E 9D 8B 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E371
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E371:
|
|
dec $038B,x ; CPU:$E371 PRG:6371 DE 8B 03
|
|
bne Sub_E379 ; CPU:$E374 PRG:6374 D0 03
|
|
jsr DispatchJsrStoreLdaClc ; CPU:$E376 PRG:6376 20 2F CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E379
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E379:
|
|
lda $0384,x ; CPU:$E379 PRG:6379 BD 84 03
|
|
sec ; CPU:$E37C PRG:637C 38
|
|
sbc Zp23 ; CPU:$E37D PRG:637D E5 23
|
|
clc ; CPU:$E37F PRG:637F 18
|
|
adc #$20 ; CPU:$E380 PRG:6380 69 20
|
|
cmp #$41 ; CPU:$E382 PRG:6382 C9 41
|
|
bcs Sub_E34F ; CPU:$E384 PRG:6384 B0 C9
|
|
lda #$18 ; CPU:$E386 PRG:6386 A9 18
|
|
sta $0389,x ; CPU:$E388 PRG:6388 9D 89 03
|
|
ldy #$20 ; CPU:$E38B PRG:638B A0 20
|
|
lda $0384,x ; CPU:$E38D PRG:638D BD 84 03
|
|
sec ; CPU:$E390 PRG:6390 38
|
|
sbc Zp23 ; CPU:$E391 PRG:6391 E5 23
|
|
bcs Sub_E397 ; CPU:$E393 PRG:6393 B0 02
|
|
ldy #$E0 ; CPU:$E395 PRG:6395 A0 E0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E397
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E397:
|
|
tya ; CPU:$E397 PRG:6397 98
|
|
sta $0382,x ; CPU:$E398 PRG:6398 9D 82 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaBneJsrAnd3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaBneJsrAnd3:
|
|
jsr PopXY ; CPU:$E39B PRG:639B 20 6F DF
|
|
lda $038B,x ; CPU:$E39E PRG:639E BD 8B 03
|
|
bne Sub_E3AE ; CPU:$E3A1 PRG:63A1 D0 0B
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$E3A3 PRG:63A3 20 5C F5
|
|
and Zp98 ; CPU:$E3A6 PRG:63A6 25 98
|
|
clc ; CPU:$E3A8 PRG:63A8 18
|
|
adc #$10 ; CPU:$E3A9 PRG:63A9 69 10
|
|
sta $038B,x ; CPU:$E3AB PRG:63AB 9D 8B 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E3AE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E3AE:
|
|
dec $038B,x ; CPU:$E3AE PRG:63AE DE 8B 03
|
|
bne Sub_E3B6 ; CPU:$E3B1 PRG:63B1 D0 03
|
|
jsr DispatchJsrStoreLdaClc ; CPU:$E3B3 PRG:63B3 20 2F CF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E3B6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E3B6:
|
|
lda $038E,x ; CPU:$E3B6 PRG:63B6 BD 8E 03
|
|
bpl Sub_E3BF ; CPU:$E3B9 PRG:63B9 10 04
|
|
cmp #$FD ; CPU:$E3BB PRG:63BB C9 FD
|
|
bcc Sub_E3CD ; CPU:$E3BD PRG:63BD 90 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E3BF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E3BF:
|
|
lda $038F,x ; CPU:$E3BF PRG:63BF BD 8F 03
|
|
sec ; CPU:$E3C2 PRG:63C2 38
|
|
sbc #$40 ; CPU:$E3C3 PRG:63C3 E9 40
|
|
sta $038F,x ; CPU:$E3C5 PRG:63C5 9D 8F 03
|
|
bcs Sub_E3CD ; CPU:$E3C8 PRG:63C8 B0 03
|
|
dec $038E,x ; CPU:$E3CA PRG:63CA DE 8E 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E3CD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E3CD:
|
|
lda $038C,x ; CPU:$E3CD PRG:63CD BD 8C 03
|
|
cmp #$04 ; CPU:$E3D0 PRG:63D0 C9 04
|
|
beq Sub_E3F2 ; CPU:$E3D2 PRG:63D2 F0 1E
|
|
cmp #$FC ; CPU:$E3D4 PRG:63D4 C9 FC
|
|
beq Sub_E3F2 ; CPU:$E3D6 PRG:63D6 F0 1A
|
|
lda $038D,x ; CPU:$E3D8 PRG:63D8 BD 8D 03
|
|
clc ; CPU:$E3DB PRG:63DB 18
|
|
adc $0382,x ; CPU:$E3DC PRG:63DC 7D 82 03
|
|
sta $038D,x ; CPU:$E3DF PRG:63DF 9D 8D 03
|
|
ldy #$00 ; CPU:$E3E2 PRG:63E2 A0 00
|
|
lda $0382,x ; CPU:$E3E4 PRG:63E4 BD 82 03
|
|
bpl Sub_E3EB ; CPU:$E3E7 PRG:63E7 10 02
|
|
ldy #$FF ; CPU:$E3E9 PRG:63E9 A0 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E3EB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E3EB:
|
|
tya ; CPU:$E3EB PRG:63EB 98
|
|
adc $038C,x ; CPU:$E3EC PRG:63EC 7D 8C 03
|
|
sta $038C,x ; CPU:$E3EF PRG:63EF 9D 8C 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E3F2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E3F2:
|
|
jsr DispatchAddStoreLda6 ; CPU:$E3F2 PRG:63F2 20 3C EB
|
|
jsr DispatchLdyE ; CPU:$E3F5 PRG:63F5 20 87 EB
|
|
lsr a ; CPU:$E3F8 PRG:63F8 4A
|
|
bcc Sub_E403 ; CPU:$E3F9 PRG:63F9 90 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaJsrJmpF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaJsrJmpF:
|
|
lda #$07 ; CPU:$E3FB PRG:63FB A9 07
|
|
jsr ObjSpritesInit5 ; CPU:$E3FD PRG:63FD 20 54 BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E400 PRG:6400 4C 5B E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E403
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E403:
|
|
jsr DispatchLdaI ; CPU:$E403 PRG:6403 20 E5 EB
|
|
dec $0389,x ; CPU:$E406 PRG:6406 DE 89 03
|
|
; ---- data $E409-$E409 (1 bytes) ----
|
|
.byte $D0 ; CPU:$E409 PRG:6409 D0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E40A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E40A:
|
|
.byte $90, $A9 ; CPU:$E40A PRG:640A 90 A9 -- bcc $E3B5 (target falls inside jsr operand at $E3B3; dead code)
|
|
php ; CPU:$E40C PRG:640C 08
|
|
sta $0389,x ; CPU:$E40D PRG:640D 9D 89 03
|
|
lda $038A,x ; CPU:$E410 PRG:6410 BD 8A 03
|
|
clc ; CPU:$E413 PRG:6413 18
|
|
adc #$01 ; CPU:$E414 PRG:6414 69 01
|
|
cmp #$20 ; CPU:$E416 PRG:6416 C9 20
|
|
beq DispatchJsrLdaBneJsrAnd3 ; CPU:$E418 PRG:6418 F0 81
|
|
sta $038A,x ; CPU:$E41A PRG:641A 9D 8A 03
|
|
jmp DispatchJsrLdaBneJsrAnd3 ; CPU:$E41D PRG:641D 4C 9B E3
|
|
; ---- data $E420-$E44B (44 bytes) ----
|
|
.byte $20, $51, $E1, $A9, $08, $20, $69, $EC, $A9, $2C, $9D, $8A, $03, $BD, $82, $03 ; CPU:$E420 PRG:6420 20 51 E1 A9 08 20 69 EC A9 2C 9D 8A 03 BD 82 03
|
|
.byte $18, $69, $03, $29, $1F, $C9, $07, $90, $13, $BD, $82, $03, $C9, $10, $A9, $03 ; CPU:$E430 PRG:6430 18 69 03 29 1F C9 07 90 13 BD 82 03 C9 10 A9 03
|
|
.byte $90, $02, $A9, $1D, $9D, $82, $03, $A9, $08, $20, $E3, $EC ; CPU:$E440 PRG:6440 90 02 A9 1D 9D 82 03 A9 08 20 E3 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrLdaBmiJsr
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrLdaBmiJsr:
|
|
jsr PopXY ; CPU:$E44C PRG:644C 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E44F PRG:644F 20 3C EB
|
|
lda $0386,x ; CPU:$E452 PRG:6452 BD 86 03
|
|
bmi DispatchJsrJsrLdaBmiJsr ; CPU:$E455 PRG:6455 30 F5
|
|
jsr DispatchLdyD ; CPU:$E457 PRG:6457 20 CC E9
|
|
lsr a ; CPU:$E45A PRG:645A 4A
|
|
bcc Sub_E465 ; CPU:$E45B PRG:645B 90 08
|
|
lda #$01 ; CPU:$E45D PRG:645D A9 01
|
|
jsr ObjSpritesInit6 ; CPU:$E45F PRG:645F 20 4D BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E462 PRG:6462 4C 5B E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E465
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E465:
|
|
jsr DispatchLdaI ; CPU:$E465 PRG:6465 20 E5 EB
|
|
inc $0389,x ; CPU:$E468 PRG:6468 FE 89 03
|
|
lda $0389,x ; CPU:$E46B PRG:646B BD 89 03
|
|
and #$03 ; CPU:$E46E PRG:646E 29 03
|
|
bne DispatchJsrJsrLdaBmiJsr ; CPU:$E470 PRG:6470 D0 DA
|
|
inc $038A,x ; CPU:$E472 PRG:6472 FE 8A 03
|
|
lda $038A,x ; CPU:$E475 PRG:6475 BD 8A 03
|
|
and #$03 ; CPU:$E478 PRG:6478 29 03
|
|
ora #$2C ; CPU:$E47A PRG:647A 09 2C
|
|
sta $038A,x ; CPU:$E47C PRG:647C 9D 8A 03
|
|
jmp DispatchJsrJsrLdaBmiJsr ; CPU:$E47F PRG:647F 4C 4C E4
|
|
; ---- data $E482-$E4E3 (98 bytes) ----
|
|
.byte $A9, $30, $9D, $8A, $03, $20, $5C, $F5, $29, $7F, $C9, $60, $B0, $04, $C9, $20 ; CPU:$E482 PRG:6482 A9 30 9D 8A 03 20 5C F5 29 7F C9 60 B0 04 C9 20
|
|
.byte $B0, $08, $20, $5C, $F5, $29, $3F, $18, $69, $20, $9D, $87, $03, $20, $5C, $F5 ; CPU:$E492 PRG:6492 B0 08 20 5C F5 29 3F 18 69 20 9D 87 03 20 5C F5
|
|
.byte $C9, $F0, $90, $08, $20, $5C, $F5, $29, $7F, $18, $69, $60, $9D, $84, $03, $A9 ; CPU:$E4A2 PRG:64A2 C9 F0 90 08 20 5C F5 29 7F 18 69 60 9D 84 03 A9
|
|
.byte $00, $9D, $83, $03, $9D, $86, $03, $60, $20, $82, $E4, $A9, $0A, $9D, $8B, $03 ; CPU:$E4B2 PRG:64B2 00 9D 83 03 9D 86 03 60 20 82 E4 A9 0A 9D 8B 03
|
|
.byte $20, $6F, $DF, $20, $9E, $E5, $BD, $8A, $03, $C9, $3C, $D0, $F3, $EE, $0D, $06 ; CPU:$E4C2 PRG:64C2 20 6F DF 20 9E E5 BD 8A 03 C9 3C D0 F3 EE 0D 06
|
|
.byte $20, $5C, $F5, $29, $3F, $18, $69, $10, $9D, $89, $03, $A9, $00, $9D, $82, $03 ; CPU:$E4D2 PRG:64D2 20 5C F5 29 3F 18 69 10 9D 89 03 A9 00 9D 82 03
|
|
.byte $A9, $03 ; CPU:$E4E2 PRG:64E2 A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E4E4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E4E4:
|
|
jsr DispatchStoreLdaStoreStoreStore ; CPU:$E4E4 PRG:64E4 20 E3 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E4E7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E4E7:
|
|
jsr PopXY ; CPU:$E4E7 PRG:64E7 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E4EA PRG:64EA 20 3C EB
|
|
jsr DispatchLdaI ; CPU:$E4ED PRG:64ED 20 E5 EB
|
|
jsr DispatchLdyD ; CPU:$E4F0 PRG:64F0 20 CC E9
|
|
lsr a ; CPU:$E4F3 PRG:64F3 4A
|
|
bcc Sub_E4F9 ; CPU:$E4F4 PRG:64F4 90 03
|
|
jmp DispatchLdaJsrJmpG ; CPU:$E4F6 PRG:64F6 4C 32 E5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E4F9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E4F9:
|
|
dec $0389,x ; CPU:$E4F9 PRG:64F9 DE 89 03
|
|
bne Sub_E4E7 ; CPU:$E4FC PRG:64FC D0 E9
|
|
jmp DispatchJsrJsrJmp3 ; CPU:$E4FE PRG:64FE 4C 48 E5
|
|
; ---- data $E501-$E51F (31 bytes) ----
|
|
.byte $20, $82, $E4, $A9, $14, $9D, $8B, $03, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A ; CPU:$E501 PRG:6501 20 82 E4 A9 14 9D 8B 03 20 6F DF 20 9E E5 BD 8A
|
|
.byte $03, $C9, $3C, $D0, $F3, $EE, $0D, $06, $A9, $00, $9D, $82, $03, $A9, $03 ; CPU:$E511 PRG:6511 03 C9 3C D0 F3 EE 0D 06 A9 00 9D 82 03 A9 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E520
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E520:
|
|
jsr DispatchStoreLdaStoreStoreStore ; CPU:$E520 PRG:6520 20 E3 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E523
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E523:
|
|
jsr PopXY ; CPU:$E523 PRG:6523 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$E526 PRG:6526 20 3C EB
|
|
jsr DispatchLdaI ; CPU:$E529 PRG:6529 20 E5 EB
|
|
jsr DispatchLdyD ; CPU:$E52C PRG:652C 20 CC E9
|
|
lsr a ; CPU:$E52F PRG:652F 4A
|
|
bcc Sub_E53B ; CPU:$E530 PRG:6530 90 09
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaJsrJmpG
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaJsrJmpG:
|
|
lda $038B,x ; CPU:$E532 PRG:6532 BD 8B 03
|
|
jsr ObjSpritesInit6 ; CPU:$E535 PRG:6535 20 4D BF
|
|
jmp DispatchStoreStoreStoreLda ; CPU:$E538 PRG:6538 4C 5B E2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E53B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E53B:
|
|
lda Zp23 ; CPU:$E53B PRG:653B A5 23
|
|
sec ; CPU:$E53D PRG:653D 38
|
|
sbc $0384,x ; CPU:$E53E PRG:653E FD 84 03
|
|
clc ; CPU:$E541 PRG:6541 18
|
|
adc #$15 ; CPU:$E542 PRG:6542 69 15
|
|
cmp #$33 ; CPU:$E544 PRG:6544 C9 33
|
|
bcs Sub_E523 ; CPU:$E546 PRG:6546 B0 DB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrJmp3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrJmp3:
|
|
lda #$01 ; CPU:$E548 PRG:6548 A9 01
|
|
jsr DispatchStoreJsrSubBcsEor ; CPU:$E54A PRG:654A 20 69 EC
|
|
jsr DispatchLdaA ; CPU:$E54D PRG:654D 20 FB CE
|
|
jmp DispatchJsrLdaCmpBccLda ; CPU:$E550 PRG:6550 4C 3C E6
|
|
; ---- data $E553-$E599 (71 bytes) ----
|
|
.byte $20, $82, $E4, $A9, $0F, $9D, $8B, $03, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A ; CPU:$E553 PRG:6553 20 82 E4 A9 0F 9D 8B 03 20 6F DF 20 9E E5 BD 8A
|
|
.byte $03, $C9, $3C, $D0, $F3, $EE, $0D, $06, $20, $5C, $F5, $29, $3F, $18, $69, $10 ; CPU:$E563 PRG:6563 03 C9 3C D0 F3 EE 0D 06 20 5C F5 29 3F 18 69 10
|
|
.byte $9D, $89, $03, $A9, $03, $20, $69, $EC, $4C, $E7, $E4, $20, $82, $E4, $A9, $1E ; CPU:$E573 PRG:6573 9D 89 03 A9 03 20 69 EC 4C E7 E4 20 82 E4 A9 1E
|
|
.byte $9D, $8B, $03, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A, $03, $C9, $3C, $D0, $F3 ; CPU:$E583 PRG:6583 9D 8B 03 20 6F DF 20 9E E5 BD 8A 03 C9 3C D0 F3
|
|
.byte $EE, $0D, $06, $A9, $03, $20, $69 ; CPU:$E593 PRG:6593 EE 0D 06 A9 03 20 69
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E59A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E59A:
|
|
cpx $234C ; CPU:$E59A PRG:659A EC 4C 23
|
|
sbc Zp20 ; CPU:$E59D PRG:659D E5 20
|
|
sbc ZpEB ; CPU:$E59F PRG:659F E5 EB
|
|
inc $0389,x ; CPU:$E5A1 PRG:65A1 FE 89 03
|
|
lda $0389,x ; CPU:$E5A4 PRG:65A4 BD 89 03
|
|
and #$01 ; CPU:$E5A7 PRG:65A7 29 01
|
|
bne Sub_E5AE ; CPU:$E5A9 PRG:65A9 D0 03
|
|
inc $038A,x ; CPU:$E5AB PRG:65AB FE 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E5AE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E5AE:
|
|
rts ; CPU:$E5AE PRG:65AE 60
|
|
; ---- data $E5AF-$E63B (141 bytes) ----
|
|
.byte $20, $82, $E4, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A, $03, $C9, $3C, $D0, $F3 ; CPU:$E5AF PRG:65AF 20 82 E4 20 6F DF 20 9E E5 BD 8A 03 C9 3C D0 F3
|
|
.byte $EE, $0D, $06, $FE, $8A, $03, $20, $5C, $F5, $29, $3F, $18, $69, $10, $9D, $89 ; CPU:$E5BF PRG:65BF EE 0D 06 FE 8A 03 20 5C F5 29 3F 18 69 10 9D 89
|
|
.byte $03, $A9, $03, $20, $69, $EC, $20, $6F, $DF, $20, $3C, $EB, $20, $E5, $EB, $20 ; CPU:$E5CF PRG:65CF 03 A9 03 20 69 EC 20 6F DF 20 3C EB 20 E5 EB 20
|
|
.byte $CC, $E9, $4A, $90, $08, $A9, $06, $20, $54, $BF, $4C, $5B, $E2, $DE, $89, $03 ; CPU:$E5DF PRG:65DF CC E9 4A 90 08 A9 06 20 54 BF 4C 5B E2 DE 89 03
|
|
.byte $D0, $E4, $4C, $34, $E6, $20, $82, $E4, $20, $6F, $DF, $20, $9E, $E5, $BD, $8A ; CPU:$E5EF PRG:65EF D0 E4 4C 34 E6 20 82 E4 20 6F DF 20 9E E5 BD 8A
|
|
.byte $03, $C9, $3C, $D0, $F3, $EE, $0D, $06, $FE, $8A, $03, $A9, $03, $20, $69, $EC ; CPU:$E5FF PRG:65FF 03 C9 3C D0 F3 EE 0D 06 FE 8A 03 A9 03 20 69 EC
|
|
.byte $20, $6F, $DF, $20, $3C, $EB, $20, $E5, $EB, $20, $CC, $E9, $4A, $90, $08, $A9 ; CPU:$E60F PRG:660F 20 6F DF 20 3C EB 20 E5 EB 20 CC E9 4A 90 08 A9
|
|
.byte $0F, $20, $54, $BF, $4C, $5B, $E2, $20, $F8, $D0, $38, $FD, $84, $03, $18, $69 ; CPU:$E61F PRG:661F 0F 20 54 BF 4C 5B E2 20 F8 D0 38 FD 84 03 18 69
|
|
.byte $15, $C9, $33, $B0, $DB, $A9, $01, $20, $69, $EC, $20, $C3, $CE ; CPU:$E62F PRG:662F 15 C9 33 B0 DB A9 01 20 69 EC 20 C3 CE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaCmpBccLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaCmpBccLda:
|
|
jsr PopXY ; CPU:$E63C PRG:663C 20 6F DF
|
|
lda $038A,x ; CPU:$E63F PRG:663F BD 8A 03
|
|
cmp #$3C ; CPU:$E642 PRG:6642 C9 3C
|
|
bcc Sub_E64B ; CPU:$E644 PRG:6644 90 05
|
|
lda #$3B ; CPU:$E646 PRG:6646 A9 3B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E648
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E648:
|
|
sta $038A,x ; CPU:$E648 PRG:6648 9D 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E64B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E64B:
|
|
jsr DispatchLdaI ; CPU:$E64B PRG:664B 20 E5 EB
|
|
jsr PopXY ; CPU:$E64E PRG:664E 20 6F DF
|
|
dec $0389,x ; CPU:$E651 PRG:6651 DE 89 03
|
|
lda $0389,x ; CPU:$E654 PRG:6654 BD 89 03
|
|
and #$01 ; CPU:$E657 PRG:6657 29 01
|
|
bne Sub_E64B ; CPU:$E659 PRG:6659 D0 F0
|
|
dec $038A,x ; CPU:$E65B PRG:665B DE 8A 03
|
|
lda $038A,x ; CPU:$E65E PRG:665E BD 8A 03
|
|
cmp #$2F ; CPU:$E661 PRG:6661 C9 2F
|
|
bne Sub_E64B ; CPU:$E663 PRG:6663 D0 E6
|
|
jmp DispatchJsrTaxLsrs ; CPU:$E665 PRG:6665 4C 15 DF
|
|
; ---- data $E668-$E6B8 (81 bytes) ----
|
|
; referenced by `lda $E680,y` at $E86D (operand $E680 falls inside this region)
|
|
.byte $A9, $F0, $9D, $8B, $03, $A9, $E0, $9D, $84, $03, $20, $6F, $DF, $A5, $3A, $F0 ; CPU:$E668 PRG:6668 A9 F0 9D 8B 03 A9 E0 9D 84 03 20 6F DF A5 3A F0
|
|
.byte $F9, $A9, $00, $85, $3A, $4C, $9C, $E6, $24, $27, $26, $25, $24, $27, $26, $25 ; CPU:$E678 PRG:6678 F9 A9 00 85 3A 4C 9C E6 24 27 26 25 24 27 26 25
|
|
.byte $24, $A9, $10, $9D, $84, $03, $9D, $8B, $03, $A9, $01, $85, $3A, $20, $6F, $DF ; CPU:$E688 PRG:6688 24 A9 10 9D 84 03 9D 8B 03 A9 01 85 3A 20 6F DF
|
|
.byte $A5, $3A, $D0, $F9, $A9, $00, $9D, $83, $03, $9D, $85, $03, $9D, $88, $03, $A9 ; CPU:$E698 PRG:6698 A5 3A D0 F9 A9 00 9D 83 03 9D 85 03 9D 88 03 A9
|
|
.byte $20, $9D, $8A, $03, $A9, $FF, $9D, $86, $03, $A5, $24, $18, $69, $20, $9D, $87 ; CPU:$E6A8 PRG:66A8 20 9D 8A 03 A9 FF 9D 86 03 A5 24 18 69 20 9D 87
|
|
.byte $03 ; CPU:$E6B8 PRG:66B8 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaOraBneLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaOraBneLda:
|
|
jsr PopXY ; CPU:$E6B9 PRG:66B9 20 6F DF
|
|
lda $0386,x ; CPU:$E6BC PRG:66BC BD 86 03
|
|
ora $0383,x ; CPU:$E6BF PRG:66BF 1D 83 03
|
|
bne Sub_E6CE ; CPU:$E6C2 PRG:66C2 D0 0A
|
|
lda $0384,x ; CPU:$E6C4 PRG:66C4 BD 84 03
|
|
cmp #$F1 ; CPU:$E6C7 PRG:66C7 C9 F1
|
|
bcs Sub_E6CE ; CPU:$E6C9 PRG:66C9 B0 03
|
|
jsr DispatchLdaI ; CPU:$E6CB PRG:66CB 20 E5 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E6CE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E6CE:
|
|
ldy #$03 ; CPU:$E6CE PRG:66CE A0 03
|
|
lda Zp24 ; CPU:$E6D0 PRG:66D0 A5 24
|
|
sec ; CPU:$E6D2 PRG:66D2 38
|
|
sbc #$10 ; CPU:$E6D3 PRG:66D3 E9 10
|
|
sec ; CPU:$E6D5 PRG:66D5 38
|
|
sbc $0387,x ; CPU:$E6D6 PRG:66D6 FD 87 03
|
|
sta ObjectXLo ; CPU:$E6D9 PRG:66D9 85 37
|
|
lda $0386,x ; CPU:$E6DB PRG:66DB BD 86 03
|
|
bmi Sub_E6FD ; CPU:$E6DE PRG:66DE 30 1D
|
|
lda ObjectXLo ; CPU:$E6E0 PRG:66E0 A5 37
|
|
cmp #$03 ; CPU:$E6E2 PRG:66E2 C9 03
|
|
bcc Sub_E744 ; CPU:$E6E4 PRG:66E4 90 5E
|
|
cmp #$FE ; CPU:$E6E6 PRG:66E6 C9 FE
|
|
bcs Sub_E744 ; CPU:$E6E8 PRG:66E8 B0 5A
|
|
lda Zp24 ; CPU:$E6EA PRG:66EA A5 24
|
|
sec ; CPU:$E6EC PRG:66EC 38
|
|
sbc #$10 ; CPU:$E6ED PRG:66ED E9 10
|
|
sec ; CPU:$E6EF PRG:66EF 38
|
|
sbc $0387,x ; CPU:$E6F0 PRG:66F0 FD 87 03
|
|
bcs Sub_E6FD ; CPU:$E6F3 PRG:66F3 B0 08
|
|
eor #$FF ; CPU:$E6F5 PRG:66F5 49 FF
|
|
sta ObjectXLo ; CPU:$E6F7 PRG:66F7 85 37
|
|
inc ObjectXLo ; CPU:$E6F9 PRG:66F9 E6 37
|
|
ldy #$FF ; CPU:$E6FB PRG:66FB A0 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E6FD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E6FD:
|
|
tya ; CPU:$E6FD PRG:66FD 98
|
|
clc ; CPU:$E6FE PRG:66FE 18
|
|
adc $0387,x ; CPU:$E6FF PRG:66FF 7D 87 03
|
|
sta $0387,x ; CPU:$E702 PRG:6702 9D 87 03
|
|
bcc Sub_E70D ; CPU:$E705 PRG:6705 90 06
|
|
tya ; CPU:$E707 PRG:6707 98
|
|
bmi Sub_E70D ; CPU:$E708 PRG:6708 30 03
|
|
inc $0386,x ; CPU:$E70A PRG:670A FE 86 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E70D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E70D:
|
|
jsr DispatchDecLdaBplIncInc ; CPU:$E70D PRG:670D 20 87 E8
|
|
lda Zp23 ; CPU:$E710 PRG:6710 A5 23
|
|
clc ; CPU:$E712 PRG:6712 18
|
|
adc $038B,x ; CPU:$E713 PRG:6713 7D 8B 03
|
|
cmp #$F1 ; CPU:$E716 PRG:6716 C9 F1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E718
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E718:
|
|
bcc Sub_E722 ; CPU:$E718 PRG:6718 90 08
|
|
lda $038B,x ; CPU:$E71A PRG:671A BD 8B 03
|
|
eor #$FF ; CPU:$E71D PRG:671D 49 FF
|
|
clc ; CPU:$E71F PRG:671F 18
|
|
adc #$01 ; CPU:$E720 PRG:6720 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E722
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E722:
|
|
sec ; CPU:$E722 PRG:6722 38
|
|
sbc $0384,x ; CPU:$E723 PRG:6723 FD 84 03
|
|
beq DispatchJsrLdaOraBneLda ; CPU:$E726 PRG:6726 F0 91
|
|
sta ObjectXHi ; CPU:$E728 PRG:6728 85 38
|
|
bcs Sub_E73B ; CPU:$E72A PRG:672A B0 0F
|
|
eor #$FF ; CPU:$E72C PRG:672C 49 FF
|
|
sta ObjectXHi ; CPU:$E72E PRG:672E 85 38
|
|
inc ObjectXHi ; CPU:$E730 PRG:6730 E6 38
|
|
jsr DispatchLdaStoreLdaStoreLdy; CPU:$E732 PRG:6732 20 3F ED
|
|
jsr DispatchLdyB ; CPU:$E735 PRG:6735 20 A9 E8
|
|
jmp DispatchJsrLdaOraBneLda ; CPU:$E738 PRG:6738 4C B9 E6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E73B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E73B:
|
|
jsr DispatchLdaStoreLdaStoreLdy; CPU:$E73B PRG:673B 20 3F ED
|
|
jsr DispatchLdyC ; CPU:$E73E PRG:673E 20 C0 E8
|
|
jmp DispatchJsrLdaOraBneLda ; CPU:$E741 PRG:6741 4C B9 E6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E744
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E744:
|
|
lda #$F0 ; CPU:$E744 PRG:6744 A9 F0
|
|
sta $0389,x ; CPU:$E746 PRG:6746 9D 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E749
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
Sub_E749:
|
|
jsr PopXY ; CPU:$E749 PRG:6749 20 6F DF
|
|
lda $0384,x ; CPU:$E74C PRG:674C BD 84 03
|
|
cmp #$F1 ; CPU:$E74F PRG:674F C9 F1
|
|
bcs Sub_E756 ; CPU:$E751 PRG:6751 B0 03
|
|
jsr DispatchLdaI ; CPU:$E753 PRG:6753 20 E5 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E756
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E756:
|
|
lda Zp23 ; CPU:$E756 PRG:6756 A5 23
|
|
clc ; CPU:$E758 PRG:6758 18
|
|
adc $038B,x ; CPU:$E759 PRG:6759 7D 8B 03
|
|
sta $0384,x ; CPU:$E75C PRG:675C 9D 84 03
|
|
lda Zp24 ; CPU:$E75F PRG:675F A5 24
|
|
sec ; CPU:$E761 PRG:6761 38
|
|
sbc #$10 ; CPU:$E762 PRG:6762 E9 10
|
|
sta $0387,x ; CPU:$E764 PRG:6764 9D 87 03
|
|
jsr DispatchLdaCmpBcsCmpBcs ; CPU:$E767 PRG:6767 20 55 E8
|
|
dec $0389,x ; CPU:$E76A PRG:676A DE 89 03
|
|
bne Sub_E749 ; CPU:$E76D PRG:676D D0 DA
|
|
ldy #$28 ; CPU:$E76F PRG:676F A0 28
|
|
lda $038B,x ; CPU:$E771 PRG:6771 BD 8B 03
|
|
bpl Sub_E778 ; CPU:$E774 PRG:6774 10 02
|
|
ldy #$24 ; CPU:$E776 PRG:6776 A0 24
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E778
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E778:
|
|
tya ; CPU:$E778 PRG:6778 98
|
|
sta $038A,x ; CPU:$E779 PRG:6779 9D 8A 03
|
|
lda #$20 ; CPU:$E77C PRG:677C A9 20
|
|
sta $0389,x ; CPU:$E77E PRG:677E 9D 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E781
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E781:
|
|
jsr PopXY ; CPU:$E781 PRG:6781 20 6F DF
|
|
lda $0384,x ; CPU:$E784 PRG:6784 BD 84 03
|
|
cmp #$F1 ; CPU:$E787 PRG:6787 C9 F1
|
|
bcs Sub_E78E ; CPU:$E789 PRG:6789 B0 03
|
|
jsr DispatchLdaI ; CPU:$E78B PRG:678B 20 E5 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E78E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E78E:
|
|
lda Zp23 ; CPU:$E78E PRG:678E A5 23
|
|
clc ; CPU:$E790 PRG:6790 18
|
|
adc $038B,x ; CPU:$E791 PRG:6791 7D 8B 03
|
|
sta $0384,x ; CPU:$E794 PRG:6794 9D 84 03
|
|
lda Zp24 ; CPU:$E797 PRG:6797 A5 24
|
|
sec ; CPU:$E799 PRG:6799 38
|
|
sbc #$10 ; CPU:$E79A PRG:679A E9 10
|
|
sta $0387,x ; CPU:$E79C PRG:679C 9D 87 03
|
|
dec $0389,x ; CPU:$E79F PRG:679F DE 89 03
|
|
bne Sub_E781 ; CPU:$E7A2 PRG:67A2 D0 DD
|
|
lda #$04 ; CPU:$E7A4 PRG:67A4 A9 04
|
|
sta $0389,x ; CPU:$E7A6 PRG:67A6 9D 89 03
|
|
inc $038A,x ; CPU:$E7A9 PRG:67A9 FE 8A 03
|
|
lda $038A,x ; CPU:$E7AC PRG:67AC BD 8A 03
|
|
and #$03 ; CPU:$E7AF PRG:67AF 29 03
|
|
cmp #$03 ; CPU:$E7B1 PRG:67B1 C9 03
|
|
bne Sub_E781 ; CPU:$E7B3 PRG:67B3 D0 CC
|
|
lda $038B,x ; CPU:$E7B5 PRG:67B5 BD 8B 03
|
|
sta $0389,x ; CPU:$E7B8 PRG:67B8 9D 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E7BB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E7BB:
|
|
jsr PopXY ; CPU:$E7BB PRG:67BB 20 6F DF
|
|
lda $0384,x ; CPU:$E7BE PRG:67BE BD 84 03
|
|
cmp #$F1 ; CPU:$E7C1 PRG:67C1 C9 F1
|
|
bcs Sub_E7C8 ; CPU:$E7C3 PRG:67C3 B0 03
|
|
jsr DispatchLdaI ; CPU:$E7C5 PRG:67C5 20 E5 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E7C8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E7C8:
|
|
lda $0389,x ; CPU:$E7C8 PRG:67C8 BD 89 03
|
|
clc ; CPU:$E7CB PRG:67CB 18
|
|
adc Zp23 ; CPU:$E7CC PRG:67CC 65 23
|
|
sta $0384,x ; CPU:$E7CE PRG:67CE 9D 84 03
|
|
lda Zp24 ; CPU:$E7D1 PRG:67D1 A5 24
|
|
sec ; CPU:$E7D3 PRG:67D3 38
|
|
sbc #$10 ; CPU:$E7D4 PRG:67D4 E9 10
|
|
sta $0387,x ; CPU:$E7D6 PRG:67D6 9D 87 03
|
|
dec $0389,x ; CPU:$E7D9 PRG:67D9 DE 89 03
|
|
lda $038B,x ; CPU:$E7DC PRG:67DC BD 8B 03
|
|
bpl Sub_E7E7 ; CPU:$E7DF PRG:67DF 10 06
|
|
inc $0389,x ; CPU:$E7E1 PRG:67E1 FE 89 03
|
|
inc $0389,x ; CPU:$E7E4 PRG:67E4 FE 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E7E7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E7E7:
|
|
lda $0389,x ; CPU:$E7E7 PRG:67E7 BD 89 03
|
|
and #$07 ; CPU:$E7EA PRG:67EA 29 07
|
|
bne Sub_E7BB ; CPU:$E7EC PRG:67EC D0 CD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E7EE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E7EE:
|
|
jsr PopXY ; CPU:$E7EE PRG:67EE 20 6F DF
|
|
lda $0384,x ; CPU:$E7F1 PRG:67F1 BD 84 03
|
|
cmp #$F1 ; CPU:$E7F4 PRG:67F4 C9 F1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E7F6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E7F6:
|
|
bcs Sub_E7FB ; CPU:$E7F6 PRG:67F6 B0 03
|
|
jsr DispatchLdaI ; CPU:$E7F8 PRG:67F8 20 E5 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E7FB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E7FB:
|
|
lda $038B,x ; CPU:$E7FB PRG:67FB BD 8B 03
|
|
cmp #$80 ; CPU:$E7FE PRG:67FE C9 80
|
|
ror a ; CPU:$E800 PRG:6800 6A
|
|
adc Zp23 ; CPU:$E801 PRG:6801 65 23
|
|
sta $0384,x ; CPU:$E803 PRG:6803 9D 84 03
|
|
lda Zp24 ; CPU:$E806 PRG:6806 A5 24
|
|
sec ; CPU:$E808 PRG:6808 38
|
|
sbc #$10 ; CPU:$E809 PRG:6809 E9 10
|
|
sta $0387,x ; CPU:$E80B PRG:680B 9D 87 03
|
|
lda $038B,x ; CPU:$E80E PRG:680E BD 8B 03
|
|
bpl Sub_E81B ; CPU:$E811 PRG:6811 10 08
|
|
inc $0389,x ; CPU:$E813 PRG:6813 FE 89 03
|
|
bne Sub_E7EE ; CPU:$E816 PRG:6816 D0 D6
|
|
jmp DispatchJsrTaxLsrs ; CPU:$E818 PRG:6818 4C 15 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E81B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E81B:
|
|
dec $0389,x ; CPU:$E81B PRG:681B DE 89 03
|
|
bne Sub_E7EE ; CPU:$E81E PRG:681E D0 CE
|
|
lda $0384,x ; CPU:$E820 PRG:6820 BD 84 03
|
|
sec ; CPU:$E823 PRG:6823 38
|
|
sbc #$08 ; CPU:$E824 PRG:6824 E9 08
|
|
sta $0384,x ; CPU:$E826 PRG:6826 9D 84 03
|
|
lda #$20 ; CPU:$E829 PRG:6829 A9 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E82B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E82B:
|
|
sta $038A,x ; CPU:$E82B PRG:682B 9D 8A 03
|
|
sta $0606 ; CPU:$E82E PRG:682E 8D 06 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaSubStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaSubStore:
|
|
jsr PopXY ; CPU:$E831 PRG:6831 20 6F DF
|
|
lda $0387,x ; CPU:$E834 PRG:6834 BD 87 03
|
|
sec ; CPU:$E837 PRG:6837 38
|
|
sbc #$08 ; CPU:$E838 PRG:6838 E9 08
|
|
sta $0387,x ; CPU:$E83A PRG:683A 9D 87 03
|
|
bcs Sub_E845 ; CPU:$E83D PRG:683D B0 06
|
|
dec $0386,x ; CPU:$E83F PRG:683F DE 86 03
|
|
jmp DispatchJsrG ; CPU:$E842 PRG:6842 4C 4F E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E845
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E845:
|
|
lda $0384,x ; CPU:$E845 PRG:6845 BD 84 03
|
|
cmp #$F1 ; CPU:$E848 PRG:6848 C9 F1
|
|
bcc DispatchJsrG ; CPU:$E84A PRG:684A 90 03
|
|
jmp DispatchJsrLdaSubStore ; CPU:$E84C PRG:684C 4C 31 E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrG
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrG:
|
|
jsr DispatchLdaI ; CPU:$E84F PRG:684F 20 E5 EB
|
|
; ---- data $E852-$E852 (1 bytes) ----
|
|
.byte $4C ; CPU:$E852 PRG:6852 4C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E853
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E853:
|
|
and (SpriteAttr),y ; CPU:$E853 PRG:6853 31 E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaCmpBcsCmpBcs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaCmpBcsCmpBcs:
|
|
lda $0389,x ; CPU:$E855 PRG:6855 BD 89 03
|
|
cmp #$78 ; CPU:$E858 PRG:6858 C9 78
|
|
bcs DispatchDecLdaBplIncInc ; CPU:$E85A PRG:685A B0 2B
|
|
cmp #$5A ; CPU:$E85C PRG:685C C9 5A
|
|
bcs Sub_E883 ; CPU:$E85E PRG:685E B0 23
|
|
cmp #$41 ; CPU:$E860 PRG:6860 C9 41
|
|
bcs Sub_E87E ; CPU:$E862 PRG:6862 B0 1A
|
|
lsr a ; CPU:$E864 PRG:6864 4A
|
|
lsr a ; CPU:$E865 PRG:6865 4A
|
|
lsr a ; CPU:$E866 PRG:6866 4A
|
|
tay ; CPU:$E867 PRG:6867 A8
|
|
lda $038B,x ; CPU:$E868 PRG:6868 BD 8B 03
|
|
bpl Sub_E873 ; CPU:$E86B PRG:686B 10 06
|
|
lda $E680,y ; CPU:$E86D PRG:686D B9 80 E6
|
|
jmp DispatchCmpBeqLda ; CPU:$E870 PRG:6870 4C 76 E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E873
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E873:
|
|
lda $E8A0,y ; CPU:$E873 PRG:6873 B9 A0 E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCmpBeqLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCmpBeqLda:
|
|
cmp $038A,x ; CPU:$E876 PRG:6876 DD 8A 03
|
|
beq Sub_E89F ; CPU:$E879 PRG:6879 F0 24
|
|
lda $0389,x ; CPU:$E87B PRG:687B BD 89 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E87E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E87E:
|
|
and #$03 ; CPU:$E87E PRG:687E 29 03
|
|
beq DispatchDecLdaBplIncInc ; CPU:$E880 PRG:6880 F0 05
|
|
rts ; CPU:$E882 PRG:6882 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E883
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E883:
|
|
and #$01 ; CPU:$E883 PRG:6883 29 01
|
|
bne Sub_E89F ; CPU:$E885 PRG:6885 D0 18
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchDecLdaBplIncInc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchDecLdaBplIncInc:
|
|
dec $038A,x ; CPU:$E887 PRG:6887 DE 8A 03
|
|
lda $038B,x ; CPU:$E88A PRG:688A BD 8B 03
|
|
bpl Sub_E895 ; CPU:$E88D PRG:688D 10 06
|
|
inc $038A,x ; CPU:$E88F PRG:688F FE 8A 03
|
|
inc $038A,x ; CPU:$E892 PRG:6892 FE 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E895
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E895:
|
|
lda $038A,x ; CPU:$E895 PRG:6895 BD 8A 03
|
|
and #$03 ; CPU:$E898 PRG:6898 29 03
|
|
ora #$20 ; CPU:$E89A PRG:689A 09 20
|
|
sta $038A,x ; CPU:$E89C PRG:689C 9D 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E89F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E89F:
|
|
rts ; CPU:$E89F PRG:689F 60
|
|
; ---- data $E8A0-$E8A8 (9 bytes) ----
|
|
; referenced by `lda $E8A0,y` at $E873 (operand $E8A0 falls inside this region)
|
|
.byte $24, $25, $26, $27, $24, $25, $26, $27, $24 ; CPU:$E8A0 PRG:68A0 24 25 26 27 24 25 26 27 24
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyB:
|
|
ldy #$03 ; CPU:$E8A9 PRG:68A9 A0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E8AB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E8AB:
|
|
lda $0385,x ; CPU:$E8AB PRG:68AB BD 85 03
|
|
sec ; CPU:$E8AE PRG:68AE 38
|
|
sbc ObjectYLo ; CPU:$E8AF PRG:68AF E5 35
|
|
sta $0385,x ; CPU:$E8B1 PRG:68B1 9D 85 03
|
|
lda $0384,x ; CPU:$E8B4 PRG:68B4 BD 84 03
|
|
sbc ObjectYHi ; CPU:$E8B7 PRG:68B7 E5 36
|
|
sta $0384,x ; CPU:$E8B9 PRG:68B9 9D 84 03
|
|
dey ; CPU:$E8BC PRG:68BC 88
|
|
bne Sub_E8AB ; CPU:$E8BD PRG:68BD D0 EC
|
|
rts ; CPU:$E8BF PRG:68BF 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyC:
|
|
ldy #$03 ; CPU:$E8C0 PRG:68C0 A0 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E8C2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E8C2:
|
|
lda $0385,x ; CPU:$E8C2 PRG:68C2 BD 85 03
|
|
clc ; CPU:$E8C5 PRG:68C5 18
|
|
adc ObjectYLo ; CPU:$E8C6 PRG:68C6 65 35
|
|
sta $0385,x ; CPU:$E8C8 PRG:68C8 9D 85 03
|
|
lda $0384,x ; CPU:$E8CB PRG:68CB BD 84 03
|
|
adc ObjectYHi ; CPU:$E8CE PRG:68CE 65 36
|
|
sta $0384,x ; CPU:$E8D0 PRG:68D0 9D 84 03
|
|
dey ; CPU:$E8D3 PRG:68D3 88
|
|
bne Sub_E8C2 ; CPU:$E8D4 PRG:68D4 D0 EC
|
|
rts ; CPU:$E8D6 PRG:68D6 60
|
|
; ---- data $E8D7-$E982 (172 bytes) ----
|
|
.byte $20, $46, $E1, $A9, $00, $9D, $82, $03, $A9, $06, $20, $E3, $EC, $20, $5C, $F5 ; CPU:$E8D7 PRG:68D7 20 46 E1 A9 00 9D 82 03 A9 06 20 E3 EC 20 5C F5
|
|
.byte $29, $1F, $18, $69, $14, $9D, $89, $03, $A9, $13, $9D, $8A, $03, $20, $6F, $DF ; CPU:$E8E7 PRG:68E7 29 1F 18 69 14 9D 89 03 A9 13 9D 8A 03 20 6F DF
|
|
.byte $20, $3C, $EB, $BD, $86, $03, $30, $F5, $20, $E5, $EB, $20, $87, $EB, $4A, $90 ; CPU:$E8F7 PRG:68F7 20 3C EB BD 86 03 30 F5 20 E5 EB 20 87 EB 4A 90
|
|
.byte $08, $A9, $01, $20, $5B, $BF, $4C, $5B, $E2, $BD, $87, $03, $C5, $24, $B0, $05 ; CPU:$E907 PRG:6907 08 A9 01 20 5B BF 4C 5B E2 BD 87 03 C5 24 B0 05
|
|
.byte $DE, $89, $03, $D0, $D8, $BD, $84, $03, $18, $69, $04, $85, $37, $BD, $87, $03 ; CPU:$E917 PRG:6917 DE 89 03 D0 D8 BD 84 03 18 69 04 85 37 BD 87 03
|
|
.byte $18, $69, $04, $85, $38, $A2, $00, $A0, $00, $B9, $93, $EA, $9D, $80, $03, $C8 ; CPU:$E927 PRG:6927 18 69 04 85 38 A2 00 A0 00 B9 93 EA 9D 80 03 C8
|
|
.byte $B9, $93, $EA, $9D, $81, $03, $C8, $B9, $93, $EA, $9D, $8D, $03, $C8, $B9, $93 ; CPU:$E937 PRG:6937 B9 93 EA 9D 81 03 C8 B9 93 EA 9D 8D 03 C8 B9 93
|
|
.byte $EA, $9D, $8C, $03, $C8, $B9, $93, $EA, $9D, $8F, $03, $C8, $B9, $93, $EA, $9D ; CPU:$E947 PRG:6947 EA 9D 8C 03 C8 B9 93 EA 9D 8F 03 C8 B9 93 EA 9D
|
|
.byte $8E, $03, $C8, $A9, $00, $9D, $83, $03, $9D, $86, $03, $A5, $37, $9D, $84, $03 ; CPU:$E957 PRG:6957 8E 03 C8 A9 00 9D 83 03 9D 86 03 A5 37 9D 84 03
|
|
.byte $A5, $38, $9D, $87, $03, $A9, $08, $9D, $89, $03, $8A, $18, $69, $10, $AA, $4A ; CPU:$E967 PRG:6967 A5 38 9D 87 03 A9 08 9D 89 03 8A 18 69 10 AA 4A
|
|
.byte $4A, $4A, $4A, $C9, $08, $D0, $B2, $20, $14, $D0, $A9, $00 ; CPU:$E977 PRG:6977 4A 4A 4A C9 08 D0 B2 20 14 D0 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E983
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E983:
|
|
sta Zp30 ; CPU:$E983 PRG:6983 85 30
|
|
ldx #$F0 ; CPU:$E985 PRG:6985 A2 F0
|
|
stx $060C ; CPU:$E987 PRG:6987 8E 0C 06
|
|
rts ; CPU:$E98A PRG:698A 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaOraBeq
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaOraBeq:
|
|
lda $0386,x ; CPU:$E98B PRG:698B BD 86 03
|
|
ora $0383,x ; CPU:$E98E PRG:698E 1D 83 03
|
|
beq Sub_E998 ; CPU:$E991 PRG:6991 F0 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E993
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E993:
|
|
pla ; CPU:$E993 PRG:6993 68
|
|
pla ; CPU:$E994 PRG:6994 68
|
|
jmp DispatchJsrTaxLsrs ; CPU:$E995 PRG:6995 4C 15 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E998
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E998:
|
|
lda $0384,x ; CPU:$E998 PRG:6998 BD 84 03
|
|
cmp #$F8 ; CPU:$E99B PRG:699B C9 F8
|
|
bcs Sub_E993 ; CPU:$E99D PRG:699D B0 F4
|
|
lda $0387,x ; CPU:$E99F PRG:699F BD 87 03
|
|
ldy ObjectDeltaX ; CPU:$E9A2 PRG:69A2 A4 2D
|
|
beq Sub_E9CB ; CPU:$E9A4 PRG:69A4 F0 25
|
|
sta $0700,y ; CPU:$E9A6 PRG:69A6 99 00 07
|
|
iny ; CPU:$E9A9 PRG:69A9 C8
|
|
lda #$DC ; CPU:$E9AA PRG:69AA A9 DC
|
|
sta $0700,y ; CPU:$E9AC PRG:69AC 99 00 07
|
|
iny ; CPU:$E9AF PRG:69AF C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9B0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E9B0:
|
|
lda GameSubMode ; CPU:$E9B0 PRG:69B0 A5 1B
|
|
lsr a ; CPU:$E9B2 PRG:69B2 4A
|
|
and #$08 ; CPU:$E9B3 PRG:69B3 29 08
|
|
eor GameSubMode ; CPU:$E9B5 PRG:69B5 45 1B
|
|
asl a ; CPU:$E9B7 PRG:69B7 0A
|
|
asl a ; CPU:$E9B8 PRG:69B8 0A
|
|
asl a ; CPU:$E9B9 PRG:69B9 0A
|
|
and #$C0 ; CPU:$E9BA PRG:69BA 29 C0
|
|
ora #$03 ; CPU:$E9BC PRG:69BC 09 03
|
|
sta $0700,y ; CPU:$E9BE PRG:69BE 99 00 07
|
|
iny ; CPU:$E9C1 PRG:69C1 C8
|
|
lda $0384,x ; CPU:$E9C2 PRG:69C2 BD 84 03
|
|
sta $0700,y ; CPU:$E9C5 PRG:69C5 99 00 07
|
|
iny ; CPU:$E9C8 PRG:69C8 C8
|
|
sty ObjectDeltaX ; CPU:$E9C9 PRG:69C9 84 2D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9CB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E9CB:
|
|
rts ; CPU:$E9CB PRG:69CB 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyD:
|
|
ldy #$00 ; CPU:$E9CC PRG:69CC A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9CE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E9CE:
|
|
lda $02A6,y ; CPU:$E9CE PRG:69CE B9 A6 02
|
|
beq Sub_E9F5 ; CPU:$E9D1 PRG:69D1 F0 22
|
|
lda $0384,x ; CPU:$E9D3 PRG:69D3 BD 84 03
|
|
sec ; CPU:$E9D6 PRG:69D6 38
|
|
sbc $02A7,y ; CPU:$E9D7 PRG:69D7 F9 A7 02
|
|
clc ; CPU:$E9DA PRG:69DA 18
|
|
adc #$06 ; CPU:$E9DB PRG:69DB 69 06
|
|
cmp #$15 ; CPU:$E9DD PRG:69DD C9 15
|
|
bcs Sub_E9F5 ; CPU:$E9DF PRG:69DF B0 14
|
|
lda $0387,x ; CPU:$E9E1 PRG:69E1 BD 87 03
|
|
sec ; CPU:$E9E4 PRG:69E4 38
|
|
sbc $02A8,y ; CPU:$E9E5 PRG:69E5 F9 A8 02
|
|
clc ; CPU:$E9E8 PRG:69E8 18
|
|
adc #$06 ; CPU:$E9E9 PRG:69E9 69 06
|
|
cmp #$1D ; CPU:$E9EB PRG:69EB C9 1D
|
|
; ---- data $E9ED-$E9ED (1 bytes) ----
|
|
.byte $B0 ; CPU:$E9ED PRG:69ED B0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9EE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E9EE:
|
|
asl ZpA9 ; CPU:$E9EE PRG:69EE 06 A9
|
|
ora (Zp99,x) ; CPU:$E9F0 PRG:69F0 01 99
|
|
ldx ScrollX ; CPU:$E9F2 PRG:69F2 A6 02
|
|
rts ; CPU:$E9F4 PRG:69F4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_E9F5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_E9F5:
|
|
iny ; CPU:$E9F5 PRG:69F5 C8
|
|
iny ; CPU:$E9F6 PRG:69F6 C8
|
|
iny ; CPU:$E9F7 PRG:69F7 C8
|
|
cpy #$09 ; CPU:$E9F8 PRG:69F8 C0 09
|
|
bne Sub_E9CE ; CPU:$E9FA PRG:69FA D0 D2
|
|
lda Zp3B ; CPU:$E9FC PRG:69FC A5 3B
|
|
bne Sub_EA1F ; CPU:$E9FE PRG:69FE D0 1F
|
|
lda $0384,x ; CPU:$EA00 PRG:6A00 BD 84 03
|
|
sec ; CPU:$EA03 PRG:6A03 38
|
|
sbc Zp23 ; CPU:$EA04 PRG:6A04 E5 23
|
|
clc ; CPU:$EA06 PRG:6A06 18
|
|
adc #$02 ; CPU:$EA07 PRG:6A07 69 02
|
|
cmp #$0D ; CPU:$EA09 PRG:6A09 C9 0D
|
|
bcs Sub_EA1F ; CPU:$EA0B PRG:6A0B B0 12
|
|
lda $0387,x ; CPU:$EA0D PRG:6A0D BD 87 03
|
|
sec ; CPU:$EA10 PRG:6A10 38
|
|
sbc Zp24 ; CPU:$EA11 PRG:6A11 E5 24
|
|
clc ; CPU:$EA13 PRG:6A13 18
|
|
adc #$02 ; CPU:$EA14 PRG:6A14 69 02
|
|
cmp #$0D ; CPU:$EA16 PRG:6A16 C9 0D
|
|
bcs Sub_EA1F ; CPU:$EA18 PRG:6A18 B0 05
|
|
inc $0611 ; CPU:$EA1A PRG:6A1A EE 11 06
|
|
inc Zp3B ; CPU:$EA1D PRG:6A1D E6 3B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EA1F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EA1F:
|
|
lda #$00 ; CPU:$EA1F PRG:6A1F A9 00
|
|
rts ; CPU:$EA21 PRG:6A21 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrJsrJsrJsrLsrs4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrJsrJsrJsrLsrs4:
|
|
jsr PopXY ; CPU:$EA22 PRG:6A22 20 6F DF
|
|
jsr DispatchAddStoreLda6 ; CPU:$EA25 PRG:6A25 20 3C EB
|
|
jsr DispatchLdaOraBeq ; CPU:$EA28 PRG:6A28 20 8B E9
|
|
jsr DispatchLdyD ; CPU:$EA2B PRG:6A2B 20 CC E9
|
|
lsr a ; CPU:$EA2E PRG:6A2E 4A
|
|
bcc Sub_EA3E ; CPU:$EA2F PRG:6A2F 90 0D
|
|
lda #$01 ; CPU:$EA31 PRG:6A31 A9 01
|
|
sta $0609 ; CPU:$EA33 PRG:6A33 8D 09 06
|
|
sta $060A ; CPU:$EA36 PRG:6A36 8D 0A 06
|
|
lda #$05 ; CPU:$EA39 PRG:6A39 A9 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EA3B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EA3B:
|
|
jsr ObjSpritesInit5 ; CPU:$EA3B PRG:6A3B 20 54 BF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EA3E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EA3E:
|
|
jsr DispatchCheckLdaRts ; CPU:$EA3E PRG:6A3E 20 F8 D0
|
|
cmp $0384,x ; CPU:$EA41 PRG:6A41 DD 84 03
|
|
beq DispatchJsrCmpBeqBcsLda2 ; CPU:$EA44 PRG:6A44 F0 21
|
|
bcs Sub_EA59 ; CPU:$EA46 PRG:6A46 B0 11
|
|
lda $038D,x ; CPU:$EA48 PRG:6A48 BD 8D 03
|
|
sec ; CPU:$EA4B PRG:6A4B 38
|
|
sbc #$20 ; CPU:$EA4C PRG:6A4C E9 20
|
|
sta $038D,x ; CPU:$EA4E PRG:6A4E 9D 8D 03
|
|
bcs DispatchJsrCmpBeqBcsLda2 ; CPU:$EA51 PRG:6A51 B0 14
|
|
dec $038C,x ; CPU:$EA53 PRG:6A53 DE 8C 03
|
|
jmp DispatchJsrCmpBeqBcsLda2 ; CPU:$EA56 PRG:6A56 4C 67 EA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EA59
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EA59:
|
|
lda $038D,x ; CPU:$EA59 PRG:6A59 BD 8D 03
|
|
clc ; CPU:$EA5C PRG:6A5C 18
|
|
adc #$20 ; CPU:$EA5D PRG:6A5D 69 20
|
|
sta $038D,x ; CPU:$EA5F PRG:6A5F 9D 8D 03
|
|
bcc DispatchJsrCmpBeqBcsLda2 ; CPU:$EA62 PRG:6A62 90 03
|
|
inc $038C,x ; CPU:$EA64 PRG:6A64 FE 8C 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrCmpBeqBcsLda2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrCmpBeqBcsLda2:
|
|
jsr DispatchCheckLdaRts2 ; CPU:$EA67 PRG:6A67 20 02 D1
|
|
cmp $0387,x ; CPU:$EA6A PRG:6A6A DD 87 03
|
|
beq DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA6D PRG:6A6D F0 B3
|
|
bcs Sub_EA82 ; CPU:$EA6F PRG:6A6F B0 11
|
|
lda $038F,x ; CPU:$EA71 PRG:6A71 BD 8F 03
|
|
sec ; CPU:$EA74 PRG:6A74 38
|
|
sbc #$20 ; CPU:$EA75 PRG:6A75 E9 20
|
|
sta $038F,x ; CPU:$EA77 PRG:6A77 9D 8F 03
|
|
bcs DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA7A PRG:6A7A B0 A6
|
|
dec $038E,x ; CPU:$EA7C PRG:6A7C DE 8E 03
|
|
jmp DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA7F PRG:6A7F 4C 22 EA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EA82
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EA82:
|
|
lda $038F,x ; CPU:$EA82 PRG:6A82 BD 8F 03
|
|
clc ; CPU:$EA85 PRG:6A85 18
|
|
adc #$20 ; CPU:$EA86 PRG:6A86 69 20
|
|
sta $038F,x ; CPU:$EA88 PRG:6A88 9D 8F 03
|
|
bcc DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA8B PRG:6A8B 90 95
|
|
inc $038E,x ; CPU:$EA8D PRG:6A8D FE 8E 03
|
|
jmp DispatchJsrJsrJsrJsrLsrs4 ; CPU:$EA90 PRG:6A90 4C 22 EA
|
|
; ---- data $EA93-$EA9E (12 bytes) ----
|
|
.byte $14, $DF, $00, $00, $00, $00, $14, $DF, $00, $00, $00, $00 ; CPU:$EA93 PRG:6A93 14 DF 00 00 00 00 14 DF 00 00 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EA9F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EA9F:
|
|
and (ZpEA,x) ; CPU:$EA9F PRG:6A9F 21 EA
|
|
cpx #$00 ; CPU:$EAA1 PRG:6AA1 E0 00
|
|
cpx #$00 ; CPU:$EAA3 PRG:6AA3 E0 00
|
|
and (ZpEA,x) ; CPU:$EAA5 PRG:6AA5 21 EA
|
|
cpx #$00 ; CPU:$EAA7 PRG:6AA7 E0 00
|
|
jsr $21FF ; CPU:$EAA9 PRG:6AA9 20 FF 21
|
|
nop ; CPU:$EAAC PRG:6AAC EA
|
|
jsr $E0FF ; CPU:$EAAD PRG:6AAD 20 FF E0
|
|
brk ; CPU:$EAB0 PRG:6AB0 00
|
|
; ---- data $EAB1-$EAE2 (50 bytes) ----
|
|
.byte $21, $EA, $20, $FF, $20, $FF, $14, $DF, $00, $00, $00, $00, $14, $DF, $00, $00 ; CPU:$EAB1 PRG:6AB1 21 EA 20 FF 20 FF 14 DF 00 00 00 00 14 DF 00 00
|
|
.byte $00, $00, $A9, $E9, $9D, $87, $03, $A9, $FF, $9D, $86, $03, $20, $5C, $F5, $C9 ; CPU:$EAC1 PRG:6AC1 00 00 A9 E9 9D 87 03 A9 FF 9D 86 03 20 5C F5 C9
|
|
.byte $D2, $90, $03, $38, $E9, $80, $C9, $0A, $B0, $03, $18, $69, $50, $9D, $84, $03 ; CPU:$EAD1 PRG:6AD1 D2 90 03 38 E9 80 C9 0A B0 03 18 69 50 9D 84 03
|
|
.byte $A9, $00 ; CPU:$EAE1 PRG:6AE1 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EAE3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EAE3:
|
|
sta $0383,x ; CPU:$EAE3 PRG:6AE3 9D 83 03
|
|
sta $0382,x ; CPU:$EAE6 PRG:6AE6 9D 82 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrIncBneInc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrIncBneInc:
|
|
jsr PopXY ; CPU:$EAE9 PRG:6AE9 20 6F DF
|
|
inc $0387,x ; CPU:$EAEC PRG:6AEC FE 87 03
|
|
bne Sub_EAF4 ; CPU:$EAEF PRG:6AEF D0 03
|
|
inc $0386,x ; CPU:$EAF1 PRG:6AF1 FE 86 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EAF4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EAF4:
|
|
lda $0386,x ; CPU:$EAF4 PRG:6AF4 BD 86 03
|
|
beq Sub_EAFE ; CPU:$EAF7 PRG:6AF7 F0 05
|
|
bmi DispatchJsrIncBneInc ; CPU:$EAF9 PRG:6AF9 30 EE
|
|
jmp DispatchJsrTaxLsrs ; CPU:$EAFB PRG:6AFB 4C 15 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EAFE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EAFE:
|
|
jsr DispatchLdyE ; CPU:$EAFE PRG:6AFE 20 87 EB
|
|
lsr a ; CPU:$EB01 PRG:6B01 4A
|
|
bcc Sub_EB0C ; CPU:$EB02 PRG:6B02 90 08
|
|
lda #$01 ; CPU:$EB04 PRG:6B04 A9 01
|
|
sta $0607 ; CPU:$EB06 PRG:6B06 8D 07 06
|
|
sta $0608 ; CPU:$EB09 PRG:6B09 8D 08 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB0C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB0C:
|
|
lda $0384,x ; CPU:$EB0C PRG:6B0C BD 84 03
|
|
clc ; CPU:$EB0F PRG:6B0F 18
|
|
adc #$08 ; CPU:$EB10 PRG:6B10 69 08
|
|
sta $0384,x ; CPU:$EB12 PRG:6B12 9D 84 03
|
|
jsr DispatchLdyE ; CPU:$EB15 PRG:6B15 20 87 EB
|
|
lsr a ; CPU:$EB18 PRG:6B18 4A
|
|
bcc Sub_EB21 ; CPU:$EB19 PRG:6B19 90 06
|
|
inc $0607 ; CPU:$EB1B PRG:6B1B EE 07 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB1E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB1E:
|
|
inc $0608 ; CPU:$EB1E PRG:6B1E EE 08 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB21
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB21:
|
|
lda $0384,x ; CPU:$EB21 PRG:6B21 BD 84 03
|
|
sec ; CPU:$EB24 PRG:6B24 38
|
|
sbc #$08 ; CPU:$EB25 PRG:6B25 E9 08
|
|
sta $0384,x ; CPU:$EB27 PRG:6B27 9D 84 03
|
|
txa ; CPU:$EB2A PRG:6B2A 8A
|
|
lsr a ; CPU:$EB2B PRG:6B2B 4A
|
|
clc ; CPU:$EB2C PRG:6B2C 18
|
|
adc GameSubMode ; CPU:$EB2D PRG:6B2D 65 1B
|
|
lsr a ; CPU:$EB2F PRG:6B2F 4A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB30
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB30:
|
|
lsr a ; CPU:$EB30 PRG:6B30 4A
|
|
lsr a ; CPU:$EB31 PRG:6B31 4A
|
|
and #$03 ; CPU:$EB32 PRG:6B32 29 03
|
|
ora #$04 ; CPU:$EB34 PRG:6B34 09 04
|
|
jsr DispatchLsrsTayStoreLda ; CPU:$EB36 PRG:6B36 20 E8 EB
|
|
jmp DispatchJsrIncBneInc ; CPU:$EB39 PRG:6B39 4C E9 EA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAddStoreLda6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAddStoreLda6:
|
|
lda $038D,x ; CPU:$EB3C PRG:6B3C BD 8D 03
|
|
clc ; CPU:$EB3F PRG:6B3F 18
|
|
adc $0385,x ; CPU:$EB40 PRG:6B40 7D 85 03
|
|
sta $0385,x ; CPU:$EB43 PRG:6B43 9D 85 03
|
|
lda $038C,x ; CPU:$EB46 PRG:6B46 BD 8C 03
|
|
adc $0384,x ; CPU:$EB49 PRG:6B49 7D 84 03
|
|
sta $0384,x ; CPU:$EB4C PRG:6B4C 9D 84 03
|
|
lda $038C,x ; CPU:$EB4F PRG:6B4F BD 8C 03
|
|
bpl Sub_EB59 ; CPU:$EB52 PRG:6B52 10 05
|
|
lda #$FF ; CPU:$EB54 PRG:6B54 A9 FF
|
|
jmp DispatchAdcStoreLdaAdd2 ; CPU:$EB56 PRG:6B56 4C 5B EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB59
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB59:
|
|
lda #$00 ; CPU:$EB59 PRG:6B59 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAdcStoreLdaAdd2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAdcStoreLdaAdd2:
|
|
adc $0383,x ; CPU:$EB5B PRG:6B5B 7D 83 03
|
|
sta $0383,x ; CPU:$EB5E PRG:6B5E 9D 83 03
|
|
lda $038F,x ; CPU:$EB61 PRG:6B61 BD 8F 03
|
|
clc ; CPU:$EB64 PRG:6B64 18
|
|
adc $0388,x ; CPU:$EB65 PRG:6B65 7D 88 03
|
|
sta $0388,x ; CPU:$EB68 PRG:6B68 9D 88 03
|
|
lda $038E,x ; CPU:$EB6B PRG:6B6B BD 8E 03
|
|
adc $0387,x ; CPU:$EB6E PRG:6B6E 7D 87 03
|
|
sta $0387,x ; CPU:$EB71 PRG:6B71 9D 87 03
|
|
lda $038E,x ; CPU:$EB74 PRG:6B74 BD 8E 03
|
|
bpl Sub_EB7E ; CPU:$EB77 PRG:6B77 10 05
|
|
lda #$FF ; CPU:$EB79 PRG:6B79 A9 FF
|
|
jmp DispatchAdcStoreRts2 ; CPU:$EB7B PRG:6B7B 4C 80 EB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB7E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB7E:
|
|
lda #$00 ; CPU:$EB7E PRG:6B7E A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAdcStoreRts2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAdcStoreRts2:
|
|
adc $0386,x ; CPU:$EB80 PRG:6B80 7D 86 03
|
|
sta $0386,x ; CPU:$EB83 PRG:6B83 9D 86 03
|
|
rts ; CPU:$EB86 PRG:6B86 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyE:
|
|
ldy #$00 ; CPU:$EB87 PRG:6B87 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EB89
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EB89:
|
|
lda $02A6,y ; CPU:$EB89 PRG:6B89 B9 A6 02
|
|
beq Sub_EBB8 ; CPU:$EB8C PRG:6B8C F0 2A
|
|
lda $0384,x ; CPU:$EB8E PRG:6B8E BD 84 03
|
|
sec ; CPU:$EB91 PRG:6B91 38
|
|
sbc $02A7,y ; CPU:$EB92 PRG:6B92 F9 A7 02
|
|
clc ; CPU:$EB95 PRG:6B95 18
|
|
adc #$0E ; CPU:$EB96 PRG:6B96 69 0E
|
|
cmp #$1D ; CPU:$EB98 PRG:6B98 C9 1D
|
|
bcs Sub_EBB8 ; CPU:$EB9A PRG:6B9A B0 1C
|
|
lda $0387,x ; CPU:$EB9C PRG:6B9C BD 87 03
|
|
cmp #$F0 ; CPU:$EB9F PRG:6B9F C9 F0
|
|
bcs Sub_EBB8 ; CPU:$EBA1 PRG:6BA1 B0 15
|
|
cmp #$10 ; CPU:$EBA3 PRG:6BA3 C9 10
|
|
bcc Sub_EBB8 ; CPU:$EBA5 PRG:6BA5 90 11
|
|
sec ; CPU:$EBA7 PRG:6BA7 38
|
|
sbc $02A8,y ; CPU:$EBA8 PRG:6BA8 F9 A8 02
|
|
clc ; CPU:$EBAB PRG:6BAB 18
|
|
adc #$0E ; CPU:$EBAC PRG:6BAC 69 0E
|
|
cmp #$25 ; CPU:$EBAE PRG:6BAE C9 25
|
|
bcs Sub_EBB8 ; CPU:$EBB0 PRG:6BB0 B0 06
|
|
lda #$01 ; CPU:$EBB2 PRG:6BB2 A9 01
|
|
sta $02A6,y ; CPU:$EBB4 PRG:6BB4 99 A6 02
|
|
rts ; CPU:$EBB7 PRG:6BB7 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EBB8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EBB8:
|
|
iny ; CPU:$EBB8 PRG:6BB8 C8
|
|
iny ; CPU:$EBB9 PRG:6BB9 C8
|
|
iny ; CPU:$EBBA PRG:6BBA C8
|
|
cpy #$09 ; CPU:$EBBB PRG:6BBB C0 09
|
|
bne Sub_EB89 ; CPU:$EBBD PRG:6BBD D0 CA
|
|
lda Zp3B ; CPU:$EBBF PRG:6BBF A5 3B
|
|
bne Sub_EBE2 ; CPU:$EBC1 PRG:6BC1 D0 1F
|
|
lda $0384,x ; CPU:$EBC3 PRG:6BC3 BD 84 03
|
|
sec ; CPU:$EBC6 PRG:6BC6 38
|
|
sbc Zp23 ; CPU:$EBC7 PRG:6BC7 E5 23
|
|
clc ; CPU:$EBC9 PRG:6BC9 18
|
|
adc #$0B ; CPU:$EBCA PRG:6BCA 69 0B
|
|
cmp #$17 ; CPU:$EBCC PRG:6BCC C9 17
|
|
bcs Sub_EBE2 ; CPU:$EBCE PRG:6BCE B0 12
|
|
lda $0387,x ; CPU:$EBD0 PRG:6BD0 BD 87 03
|
|
sec ; CPU:$EBD3 PRG:6BD3 38
|
|
sbc Zp24 ; CPU:$EBD4 PRG:6BD4 E5 24
|
|
clc ; CPU:$EBD6 PRG:6BD6 18
|
|
adc #$0B ; CPU:$EBD7 PRG:6BD7 69 0B
|
|
cmp #$17 ; CPU:$EBD9 PRG:6BD9 C9 17
|
|
bcs Sub_EBE2 ; CPU:$EBDB PRG:6BDB B0 05
|
|
inc $0611 ; CPU:$EBDD PRG:6BDD EE 11 06
|
|
inc Zp3B ; CPU:$EBE0 PRG:6BE0 E6 3B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EBE2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EBE2:
|
|
lda #$00 ; CPU:$EBE2 PRG:6BE2 A9 00
|
|
rts ; CPU:$EBE4 PRG:6BE4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaI
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaI:
|
|
lda $038A,x ; CPU:$EBE5 PRG:6BE5 BD 8A 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsTayStoreLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsTayStoreLda:
|
|
asl a ; CPU:$EBE8 PRG:6BE8 0A
|
|
tay ; CPU:$EBE9 PRG:6BE9 A8
|
|
lda $ED8C,y ; CPU:$EBEA PRG:6BEA B9 8C ED
|
|
sta VramPtrLo ; CPU:$EBED PRG:6BED 85 04
|
|
lda $ED8D,y ; CPU:$EBEF PRG:6BEF B9 8D ED
|
|
sta VramCopyCount ; CPU:$EBF2 PRG:6BF2 85 05
|
|
lda $0386,x ; CPU:$EBF4 PRG:6BF4 BD 86 03
|
|
ora $0383,x ; CPU:$EBF7 PRG:6BF7 1D 83 03
|
|
bne Sub_EC03 ; CPU:$EBFA PRG:6BFA D0 07
|
|
lda $0384,x ; CPU:$EBFC PRG:6BFC BD 84 03
|
|
cmp #$F1 ; CPU:$EBFF PRG:6BFF C9 F1
|
|
bcc Sub_EC08 ; CPU:$EC01 PRG:6C01 90 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC03
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC03:
|
|
pla ; CPU:$EC03 PRG:6C03 68
|
|
pla ; CPU:$EC04 PRG:6C04 68
|
|
jmp DispatchJsrTaxLsrs ; CPU:$EC05 PRG:6C05 4C 15 DF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC08
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC08:
|
|
lda $0387,x ; CPU:$EC08 PRG:6C08 BD 87 03
|
|
ldy #$00 ; CPU:$EC0B PRG:6C0B A0 00
|
|
lda (VramPtrLo),y ; CPU:$EC0D PRG:6C0D B1 04
|
|
sta ObjUpdateFlag ; CPU:$EC0F PRG:6C0F 85 0E
|
|
lda $0384,x ; CPU:$EC11 PRG:6C11 BD 84 03
|
|
sta Zp33 ; CPU:$EC14 PRG:6C14 85 33
|
|
lda $0387,x ; CPU:$EC16 PRG:6C16 BD 87 03
|
|
sta Zp34 ; CPU:$EC19 PRG:6C19 85 34
|
|
stx ObjPtr ; CPU:$EC1B PRG:6C1B 86 13
|
|
ldx ObjectDeltaX ; CPU:$EC1D PRG:6C1D A6 2D
|
|
beq Sub_EC2A ; CPU:$EC1F PRG:6C1F F0 09
|
|
lda ObjUpdateFlag ; CPU:$EC21 PRG:6C21 A5 0E
|
|
asl a ; CPU:$EC23 PRG:6C23 0A
|
|
asl a ; CPU:$EC24 PRG:6C24 0A
|
|
clc ; CPU:$EC25 PRG:6C25 18
|
|
adc ObjectDeltaX ; CPU:$EC26 PRG:6C26 65 2D
|
|
bcc Sub_EC34 ; CPU:$EC28 PRG:6C28 90 0A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC2A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC2A:
|
|
ldx ObjPtr ; CPU:$EC2A PRG:6C2A A6 13
|
|
rts ; CPU:$EC2C PRG:6C2C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC2D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC2D:
|
|
iny ; CPU:$EC2D PRG:6C2D C8
|
|
iny ; CPU:$EC2E PRG:6C2E C8
|
|
iny ; CPU:$EC2F PRG:6C2F C8
|
|
dec ObjUpdateFlag ; CPU:$EC30 PRG:6C30 C6 0E
|
|
beq Sub_EC64 ; CPU:$EC32 PRG:6C32 F0 30
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC34
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC34:
|
|
iny ; CPU:$EC34 PRG:6C34 C8
|
|
lda (VramPtrLo),y ; CPU:$EC35 PRG:6C35 B1 04
|
|
bmi Sub_EC41 ; CPU:$EC37 PRG:6C37 30 08
|
|
clc ; CPU:$EC39 PRG:6C39 18
|
|
adc Zp34 ; CPU:$EC3A PRG:6C3A 65 34
|
|
bcs Sub_EC2D ; CPU:$EC3C PRG:6C3C B0 EF
|
|
jmp DispatchStoreIncIncLdaStoreInc ; CPU:$EC3E PRG:6C3E 4C 44 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC41
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC41:
|
|
clc ; CPU:$EC41 PRG:6C41 18
|
|
adc Zp34 ; CPU:$EC42 PRG:6C42 65 34
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreIncIncLdaStoreInc
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreIncIncLdaStoreInc:
|
|
sta $0700,x ; CPU:$EC44 PRG:6C44 9D 00 07
|
|
inx ; CPU:$EC47 PRG:6C47 E8
|
|
iny ; CPU:$EC48 PRG:6C48 C8
|
|
lda (VramPtrLo),y ; CPU:$EC49 PRG:6C49 B1 04
|
|
sta $0700,x ; CPU:$EC4B PRG:6C4B 9D 00 07
|
|
inx ; CPU:$EC4E PRG:6C4E E8
|
|
iny ; CPU:$EC4F PRG:6C4F C8
|
|
lda (VramPtrLo),y ; CPU:$EC50 PRG:6C50 B1 04
|
|
sta $0700,x ; CPU:$EC52 PRG:6C52 9D 00 07
|
|
inx ; CPU:$EC55 PRG:6C55 E8
|
|
iny ; CPU:$EC56 PRG:6C56 C8
|
|
lda (VramPtrLo),y ; CPU:$EC57 PRG:6C57 B1 04
|
|
clc ; CPU:$EC59 PRG:6C59 18
|
|
adc Zp33 ; CPU:$EC5A PRG:6C5A 65 33
|
|
sta $0700,x ; CPU:$EC5C PRG:6C5C 9D 00 07
|
|
inx ; CPU:$EC5F PRG:6C5F E8
|
|
dec ObjUpdateFlag ; CPU:$EC60 PRG:6C60 C6 0E
|
|
bne Sub_EC34 ; CPU:$EC62 PRG:6C62 D0 D0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC64
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC64:
|
|
stx ObjectDeltaX ; CPU:$EC64 PRG:6C64 86 2D
|
|
ldx ObjPtr ; CPU:$EC66 PRG:6C66 A6 13
|
|
rts ; CPU:$EC68 PRG:6C68 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreJsrSubBcsEor
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreJsrSubBcsEor:
|
|
sta Zp39 ; CPU:$EC69 PRG:6C69 85 39
|
|
jsr DispatchCheckLdaRts ; CPU:$EC6B PRG:6C6B 20 F8 D0
|
|
sec ; CPU:$EC6E PRG:6C6E 38
|
|
sbc $0384,x ; CPU:$EC6F PRG:6C6F FD 84 03
|
|
bcs Sub_ECA0 ; CPU:$EC72 PRG:6C72 B0 2C
|
|
eor #$FF ; CPU:$EC74 PRG:6C74 49 FF
|
|
clc ; CPU:$EC76 PRG:6C76 18
|
|
adc #$01 ; CPU:$EC77 PRG:6C77 69 01
|
|
sta ObjectXLo ; CPU:$EC79 PRG:6C79 85 37
|
|
jsr DispatchCheckLdaRts2 ; CPU:$EC7B PRG:6C7B 20 02 D1
|
|
sec ; CPU:$EC7E PRG:6C7E 38
|
|
sbc $0387,x ; CPU:$EC7F PRG:6C7F FD 87 03
|
|
bcs Sub_ECC3 ; CPU:$EC82 PRG:6C82 B0 3F
|
|
ldy $0386,x ; CPU:$EC84 PRG:6C84 BC 86 03
|
|
bmi Sub_ECC3 ; CPU:$EC87 PRG:6C87 30 3A
|
|
eor #$FF ; CPU:$EC89 PRG:6C89 49 FF
|
|
clc ; CPU:$EC8B PRG:6C8B 18
|
|
adc #$01 ; CPU:$EC8C PRG:6C8C 69 01
|
|
sta ObjectXHi ; CPU:$EC8E PRG:6C8E 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$EC90 PRG:6C90 20 5D ED
|
|
sta ObjPtr ; CPU:$EC93 PRG:6C93 85 13
|
|
; ---- data $EC95-$EC95 (1 bytes) ----
|
|
.byte $A9 ; CPU:$EC95 PRG:6C95 A9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EC96
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EC96:
|
|
clc ; CPU:$EC96 PRG:6C96 18
|
|
sec ; CPU:$EC97 PRG:6C97 38
|
|
sbc ObjPtr ; CPU:$EC98 PRG:6C98 E5 13
|
|
sta $0382,x ; CPU:$EC9A PRG:6C9A 9D 82 03
|
|
jmp Sub_ECE5 ; CPU:$EC9D PRG:6C9D 4C E5 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ECA0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ECA0:
|
|
sta ObjectXLo ; CPU:$ECA0 PRG:6CA0 85 37
|
|
jsr DispatchCheckLdaRts2 ; CPU:$ECA2 PRG:6CA2 20 02 D1
|
|
sec ; CPU:$ECA5 PRG:6CA5 38
|
|
sbc $0387,x ; CPU:$ECA6 PRG:6CA6 FD 87 03
|
|
bcs Sub_ECD1 ; CPU:$ECA9 PRG:6CA9 B0 26
|
|
ldy $0386,x ; CPU:$ECAB PRG:6CAB BC 86 03
|
|
bmi Sub_ECD1 ; CPU:$ECAE PRG:6CAE 30 21
|
|
eor #$FF ; CPU:$ECB0 PRG:6CB0 49 FF
|
|
clc ; CPU:$ECB2 PRG:6CB2 18
|
|
adc #$01 ; CPU:$ECB3 PRG:6CB3 69 01
|
|
sta ObjectXHi ; CPU:$ECB5 PRG:6CB5 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$ECB7 PRG:6CB7 20 5D ED
|
|
clc ; CPU:$ECBA PRG:6CBA 18
|
|
adc #$08 ; CPU:$ECBB PRG:6CBB 69 08
|
|
sta $0382,x ; CPU:$ECBD PRG:6CBD 9D 82 03
|
|
jmp Sub_ECE5 ; CPU:$ECC0 PRG:6CC0 4C E5 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ECC3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ECC3:
|
|
sta ObjectXHi ; CPU:$ECC3 PRG:6CC3 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$ECC5 PRG:6CC5 20 5D ED
|
|
clc ; CPU:$ECC8 PRG:6CC8 18
|
|
adc #$18 ; CPU:$ECC9 PRG:6CC9 69 18
|
|
sta $0382,x ; CPU:$ECCB PRG:6CCB 9D 82 03
|
|
jmp Sub_ECE5 ; CPU:$ECCE PRG:6CCE 4C E5 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ECD1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ECD1:
|
|
sta ObjectXHi ; CPU:$ECD1 PRG:6CD1 85 38
|
|
jsr DispatchJsrLdaCmpBccBneLda ; CPU:$ECD3 PRG:6CD3 20 5D ED
|
|
sta ObjPtr ; CPU:$ECD6 PRG:6CD6 85 13
|
|
lda #$08 ; CPU:$ECD8 PRG:6CD8 A9 08
|
|
sec ; CPU:$ECDA PRG:6CDA 38
|
|
sbc ObjPtr ; CPU:$ECDB PRG:6CDB E5 13
|
|
sta $0382,x ; CPU:$ECDD PRG:6CDD 9D 82 03
|
|
jmp Sub_ECE5 ; CPU:$ECE0 PRG:6CE0 4C E5 EC
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreLdaStoreStoreStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreLdaStoreStoreStore:
|
|
sta Zp39 ; CPU:$ECE3 PRG:6CE3 85 39
|
|
Sub_ECE5:
|
|
lda #$00 ; CPU:$ECE5 PRG:6CE5 A9 00
|
|
sta $038C,x ; CPU:$ECE7 PRG:6CE7 9D 8C 03
|
|
sta $038D,x ; CPU:$ECEA PRG:6CEA 9D 8D 03
|
|
sta $038E,x ; CPU:$ECED PRG:6CED 9D 8E 03
|
|
sta $038F,x ; CPU:$ECF0 PRG:6CF0 9D 8F 03
|
|
lda Zp39 ; CPU:$ECF3 PRG:6CF3 A5 39
|
|
bne Sub_ECF8 ; CPU:$ECF5 PRG:6CF5 D0 01
|
|
rts ; CPU:$ECF7 PRG:6CF7 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ECF8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ECF8:
|
|
lda $0382,x ; CPU:$ECF8 PRG:6CF8 BD 82 03
|
|
asl a ; CPU:$ECFB PRG:6CFB 0A
|
|
asl a ; CPU:$ECFC PRG:6CFC 0A
|
|
and #$7F ; CPU:$ECFD PRG:6CFD 29 7F
|
|
tay ; CPU:$ECFF PRG:6CFF A8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED00
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED00:
|
|
lda $F136,y ; CPU:$ED00 PRG:6D00 B9 36 F1
|
|
clc ; CPU:$ED03 PRG:6D03 18
|
|
adc $038D,x ; CPU:$ED04 PRG:6D04 7D 8D 03
|
|
sta $038D,x ; CPU:$ED07 PRG:6D07 9D 8D 03
|
|
lda $F137,y ; CPU:$ED0A PRG:6D0A B9 37 F1
|
|
adc $038C,x ; CPU:$ED0D PRG:6D0D 7D 8C 03
|
|
sta $038C,x ; CPU:$ED10 PRG:6D10 9D 8C 03
|
|
lda $F138,y ; CPU:$ED13 PRG:6D13 B9 38 F1
|
|
clc ; CPU:$ED16 PRG:6D16 18
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED17
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED17:
|
|
adc $038F,x ; CPU:$ED17 PRG:6D17 7D 8F 03
|
|
sta $038F,x ; CPU:$ED1A PRG:6D1A 9D 8F 03
|
|
lda $F139,y ; CPU:$ED1D PRG:6D1D B9 39 F1
|
|
adc $038E,x ; CPU:$ED20 PRG:6D20 7D 8E 03
|
|
sta $038E,x ; CPU:$ED23 PRG:6D23 9D 8E 03
|
|
dec Zp39 ; CPU:$ED26 PRG:6D26 C6 39
|
|
bne Sub_ED00 ; CPU:$ED28 PRG:6D28 D0 D6
|
|
lda $038C,x ; CPU:$ED2A PRG:6D2A BD 8C 03
|
|
asl a ; CPU:$ED2D PRG:6D2D 0A
|
|
ror $038C,x ; CPU:$ED2E PRG:6D2E 7E 8C 03
|
|
ror $038D,x ; CPU:$ED31 PRG:6D31 7E 8D 03
|
|
lda $038E,x ; CPU:$ED34 PRG:6D34 BD 8E 03
|
|
asl a ; CPU:$ED37 PRG:6D37 0A
|
|
ror $038E,x ; CPU:$ED38 PRG:6D38 7E 8E 03
|
|
ror $038F,x ; CPU:$ED3B PRG:6D3B 7E 8F 03
|
|
rts ; CPU:$ED3E PRG:6D3E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaStoreLdaStoreLdy
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaStoreLdaStoreLdy:
|
|
lda ObjectXHi ; CPU:$ED3F PRG:6D3F A5 38
|
|
sta ObjectYHi ; CPU:$ED41 PRG:6D41 85 36
|
|
lda #$00 ; CPU:$ED43 PRG:6D43 A9 00
|
|
sta ObjectYLo ; CPU:$ED45 PRG:6D45 85 35
|
|
ldy #$10 ; CPU:$ED47 PRG:6D47 A0 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED49
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED49:
|
|
asl ObjectYLo ; CPU:$ED49 PRG:6D49 06 35
|
|
rol ObjectYHi ; CPU:$ED4B PRG:6D4B 26 36
|
|
rol a ; CPU:$ED4D PRG:6D4D 2A
|
|
bcs Sub_ED54 ; CPU:$ED4E PRG:6D4E B0 04
|
|
cmp ObjectXLo ; CPU:$ED50 PRG:6D50 C5 37
|
|
bcc Sub_ED59 ; CPU:$ED52 PRG:6D52 90 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED54
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED54:
|
|
sec ; CPU:$ED54 PRG:6D54 38
|
|
sbc ObjectXLo ; CPU:$ED55 PRG:6D55 E5 37
|
|
inc ObjectYLo ; CPU:$ED57 PRG:6D57 E6 35
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED59
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED59:
|
|
dey ; CPU:$ED59 PRG:6D59 88
|
|
bne Sub_ED49 ; CPU:$ED5A PRG:6D5A D0 ED
|
|
rts ; CPU:$ED5C PRG:6D5C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaCmpBccBneLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaCmpBccBneLda:
|
|
jsr DispatchLdaStoreLdaStoreLdy; CPU:$ED5D PRG:6D5D 20 3F ED
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED60
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED60:
|
|
lda $ED7D,y ; CPU:$ED60 PRG:6D60 B9 7D ED
|
|
cmp ObjectYHi ; CPU:$ED63 PRG:6D63 C5 36
|
|
bcc Sub_ED73 ; CPU:$ED65 PRG:6D65 90 0C
|
|
bne Sub_ED70 ; CPU:$ED67 PRG:6D67 D0 07
|
|
lda $ED7C,y ; CPU:$ED69 PRG:6D69 B9 7C ED
|
|
cmp ObjectYLo ; CPU:$ED6C PRG:6D6C C5 35
|
|
bcc Sub_ED73 ; CPU:$ED6E PRG:6D6E 90 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED70
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED70:
|
|
tya ; CPU:$ED70 PRG:6D70 98
|
|
lsr a ; CPU:$ED71 PRG:6D71 4A
|
|
rts ; CPU:$ED72 PRG:6D72 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_ED73
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_ED73:
|
|
iny ; CPU:$ED73 PRG:6D73 C8
|
|
iny ; CPU:$ED74 PRG:6D74 C8
|
|
cpy #$10 ; CPU:$ED75 PRG:6D75 C0 10
|
|
bne Sub_ED60 ; CPU:$ED77 PRG:6D77 D0 E7
|
|
lda #$08 ; CPU:$ED79 PRG:6D79 A9 08
|
|
rts ; CPU:$ED7B PRG:6D7B 60
|
|
EnemyPtrTable:
|
|
; Enemy routine pointer table (16-bit entries mostly in $F0xx-$F1xx)
|
|
; ---- data $ED7C-$EE27 (172 bytes) ----
|
|
; referenced by `lda $ED8C,y` at $EBEA (operand $ED8C falls inside this region)
|
|
; referenced by `lda $ED8D,y` at $EBEF (operand $ED8D falls inside this region)
|
|
; referenced by `lda $ED7D,y` at $ED60 (operand $ED7D falls inside this region)
|
|
; referenced by `lda $ED7C,y` at $ED69 (operand $ED7C falls inside this region)
|
|
.byte $19, $00, $4E, $00, $89, $00, $D2, $00, $38, $01, $DF, $01, $4C, $03, $27, $0A ; CPU:$ED7C PRG:6D7C 19 00 4E 00 89 00 D2 00 38 01 DF 01 4C 03 27 0A
|
|
.byte $02, $F1, $29, $F1, $18, $F1, $0B, $F1, $AA, $F0, $C3, $F0, $DC, $F0, $E9, $F0 ; CPU:$ED8C PRG:6D8C 02 F1 29 F1 18 F1 0B F1 AA F0 C3 F0 DC F0 E9 F0
|
|
.byte $90, $F0, $9D, $F0, $6E, $F0, $7F, $F0, $1A, $F0, $2F, $F0, $44, $F0, $59, $F0 ; CPU:$ED9C PRG:6D9C 90 F0 9D F0 6E F0 7F F0 1A F0 2F F0 44 F0 59 F0
|
|
.byte $E7, $EF, $F8, $EF, $09, $F0, $66, $EE, $AF, $EF, $C0, $EF, $D1, $EF, $E2, $EF ; CPU:$EDAC PRG:6DAC E7 EF F8 EF 09 F0 66 EE AF EF C0 EF D1 EF E2 EF
|
|
.byte $73, $EF, $84, $EF, $91, $EF, $9E, $EF, $3B, $EF, $4C, $EF, $59, $EF, $62, $EF ; CPU:$EDBC PRG:6DBC 73 EF 84 EF 91 EF 9E EF 3B EF 4C EF 59 EF 62 EF
|
|
.byte $87, $EE, $98, $EE, $A9, $EE, $BA, $EE, $CB, $EE, $DC, $EE, $ED, $EE, $FA, $EE ; CPU:$EDCC PRG:6DCC 87 EE 98 EE A9 EE BA EE CB EE DC EE ED EE FA EE
|
|
.byte $03, $EF, $14, $EF, $25, $EF, $32, $EF, $52, $EE, $57, $EE, $5C, $EE, $61, $EE ; CPU:$EDDC PRG:6DDC 03 EF 14 EF 25 EF 32 EF 52 EE 57 EE 5C EE 61 EE
|
|
.byte $16, $EE, $1B, $EE, $20, $EE, $25, $EE, $2A, $EE, $2F, $EE, $34, $EE, $39, $EE ; CPU:$EDEC PRG:6DEC 16 EE 1B EE 20 EE 25 EE 2A EE 2F EE 34 EE 39 EE
|
|
.byte $3E, $EE, $43, $EE, $48, $EE, $4D, $EE, $08, $EE, $0D, $EE, $01, $00, $D7, $00 ; CPU:$EDFC PRG:6DFC 3E EE 43 EE 48 EE 4D EE 08 EE 0D EE 01 00 D7 00
|
|
.byte $00, $02, $00, $D2, $03, $00, $00, $D7, $00, $00, $01, $00, $D4, $00, $00, $01 ; CPU:$EE0C PRG:6E0C 00 02 00 D2 03 00 00 D7 00 00 01 00 D4 00 00 01
|
|
.byte $00, $D4, $40, $00, $01, $00, $D4, $80, $00, $01, $00, $D4 ; CPU:$EE1C PRG:6E1C 00 D4 40 00 01 00 D4 80 00 01 00 D4
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE28
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE28:
|
|
cpy #$00 ; CPU:$EE28 PRG:6E28 C0 00
|
|
ora (PPUCTRLShadow,x) ; CPU:$EE2A PRG:6E2A 01 00
|
|
cmp PPUCTRLShadow,x ; CPU:$EE2C PRG:6E2C D5 00
|
|
brk ; CPU:$EE2E PRG:6E2E 00
|
|
; ---- data $EE2F-$EE3B (13 bytes) ----
|
|
.byte $01, $00, $D5, $40, $00, $01, $00, $D5, $80, $00, $01, $00, $D5 ; CPU:$EE2F PRG:6E2F 01 00 D5 40 00 01 00 D5 80 00 01 00 D5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE3C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE3C:
|
|
cpy #$00 ; CPU:$EE3C PRG:6E3C C0 00
|
|
ora (PPUCTRLShadow,x) ; CPU:$EE3E PRG:6E3E 01 00
|
|
dec PPUCTRLShadow,x ; CPU:$EE40 PRG:6E40 D6 00
|
|
brk ; CPU:$EE42 PRG:6E42 00
|
|
; ---- data $EE43-$EE4F (13 bytes) ----
|
|
.byte $01, $00, $D6, $40, $00, $01, $00, $D6, $80, $00, $01, $00, $D6 ; CPU:$EE43 PRG:6E43 01 00 D6 40 00 01 00 D6 80 00 01 00 D6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE50
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE50:
|
|
cpy #$00 ; CPU:$EE50 PRG:6E50 C0 00
|
|
ora (PPUCTRLShadow,x) ; CPU:$EE52 PRG:6E52 01 00
|
|
cpx #$02 ; CPU:$EE54 PRG:6E54 E0 02
|
|
brk ; CPU:$EE56 PRG:6E56 00
|
|
; ---- data $EE57-$EE6B (21 bytes) ----
|
|
.byte $01, $00, $E0, $42, $00, $01, $00, $E0, $03, $00, $01, $00, $E0, $43, $00, $08 ; CPU:$EE57 PRG:6E57 01 00 E0 42 00 01 00 E0 03 00 01 00 E0 43 00 08
|
|
.byte $00, $94, $01, $00, $00 ; CPU:$EE67 PRG:6E67 00 94 01 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE6C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE6C:
|
|
stx ZpC1,y ; CPU:$EE6C PRG:6E6C 96 C1
|
|
php ; CPU:$EE6E PRG:6E6E 08
|
|
php ; CPU:$EE6F PRG:6E6F 08
|
|
stx PPUMASKShadow,y ; CPU:$EE70 PRG:6E70 96 01
|
|
brk ; CPU:$EE72 PRG:6E72 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE73
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE73:
|
|
php ; CPU:$EE73 PRG:6E73 08
|
|
stx Zp41,y ; CPU:$EE74 PRG:6E74 96 41
|
|
php ; CPU:$EE76 PRG:6E76 08
|
|
brk ; CPU:$EE77 PRG:6E77 00
|
|
; ---- data $EE78-$EE7B (4 bytes) ----
|
|
.byte $86, $00, $00, $00 ; CPU:$EE78 PRG:6E78 86 00 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE7C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE7C:
|
|
stx Zp40 ; CPU:$EE7C PRG:6E7C 86 40
|
|
php ; CPU:$EE7E PRG:6E7E 08
|
|
php ; CPU:$EE7F PRG:6E7F 08
|
|
stx Zp80 ; CPU:$EE80 PRG:6E80 86 80
|
|
brk ; CPU:$EE82 PRG:6E82 00
|
|
; ---- data $EE83-$EE8C (10 bytes) ----
|
|
.byte $08, $86, $C0, $08, $04, $00, $B0, $01, $00, $00 ; CPU:$EE83 PRG:6E83 08 86 C0 08 04 00 B0 01 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE8D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE8D:
|
|
lda (PPUMASKShadow),y ; CPU:$EE8D PRG:6E8D B1 01
|
|
php ; CPU:$EE8F PRG:6E8F 08
|
|
php ; CPU:$EE90 PRG:6E90 08
|
|
lda (ZpC1),y ; CPU:$EE91 PRG:6E91 B1 C1
|
|
brk ; CPU:$EE93 PRG:6E93 00
|
|
; ---- data $EE94-$EE9D (10 bytes) ----
|
|
.byte $08, $B1, $81, $08, $04, $00, $B4, $01, $00, $00 ; CPU:$EE94 PRG:6E94 08 B1 81 08 04 00 B4 01 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EE9E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EE9E:
|
|
lda PPUMASKShadow,x ; CPU:$EE9E PRG:6E9E B5 01
|
|
php ; CPU:$EEA0 PRG:6EA0 08
|
|
php ; CPU:$EEA1 PRG:6EA1 08
|
|
ldx PPUMASKShadow,y ; CPU:$EEA2 PRG:6EA2 B6 01
|
|
brk ; CPU:$EEA4 PRG:6EA4 00
|
|
; ---- data $EEA5-$EED0 (44 bytes) ----
|
|
.byte $08, $B7, $01, $08, $04, $00, $B8, $01, $00, $00, $B9, $01, $08, $08, $BA, $01 ; CPU:$EEA5 PRG:6EA5 08 B7 01 08 04 00 B8 01 00 00 B9 01 08 08 BA 01
|
|
.byte $00, $08, $BB, $01, $08, $04, $00, $BC, $01, $00, $00, $BD, $01, $08, $08, $BE ; CPU:$EEB5 PRG:6EB5 00 08 BB 01 08 04 00 BC 01 00 00 BD 01 08 08 BE
|
|
.byte $01, $00, $08, $BF, $01, $08, $04, $00, $B0, $01, $00, $00 ; CPU:$EEC5 PRG:6EC5 01 00 08 BF 01 08 04 00 B0 01 00 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EED1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EED1:
|
|
lda (PPUMASKShadow),y ; CPU:$EED1 PRG:6ED1 B1 01
|
|
php ; CPU:$EED3 PRG:6ED3 08
|
|
php ; CPU:$EED4 PRG:6ED4 08
|
|
lda (ZpC1),y ; CPU:$EED5 PRG:6ED5 B1 C1
|
|
brk ; CPU:$EED7 PRG:6ED7 00
|
|
; ---- data $EED8-$EF08 (49 bytes) ----
|
|
.byte $08, $B1, $81, $08, $04, $00, $C0, $41, $08, $00, $C1, $41, $00, $08, $C2, $41 ; CPU:$EED8 PRG:6ED8 08 B1 81 08 04 00 C0 41 08 00 C1 41 00 08 C2 41
|
|
.byte $08, $08, $C3, $41, $00, $03, $00, $C4, $41, $08, $04, $C5, $41, $00, $08, $C6 ; CPU:$EEE8 PRG:6EE8 08 08 C3 41 00 03 00 C4 41 08 04 C5 41 00 08 C6
|
|
.byte $41, $08, $02, $00, $B0, $01, $08, $08, $B1, $C1, $08, $04, $00, $B0, $01, $00 ; CPU:$EEF8 PRG:6EF8 41 08 02 00 B0 01 08 08 B1 C1 08 04 00 B0 01 00
|
|
.byte $00 ; CPU:$EF08 PRG:6F08 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EF09
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EF09:
|
|
lda (PPUMASKShadow),y ; CPU:$EF09 PRG:6F09 B1 01
|
|
php ; CPU:$EF0B PRG:6F0B 08
|
|
php ; CPU:$EF0C PRG:6F0C 08
|
|
lda (ZpC1),y ; CPU:$EF0D PRG:6F0D B1 C1
|
|
brk ; CPU:$EF0F PRG:6F0F 00
|
|
; ---- data $EF10-$EF2A (27 bytes) ----
|
|
.byte $08, $B1, $81, $08, $04, $00, $C0, $01, $00, $00, $C1, $01, $08, $08, $C2, $01 ; CPU:$EF10 PRG:6F10 08 B1 81 08 04 00 C0 01 00 00 C1 01 08 08 C2 01
|
|
.byte $00, $08, $C3, $01, $08, $03, $00, $C4, $01, $00, $04 ; CPU:$EF20 PRG:6F20 00 08 C3 01 08 03 00 C4 01 00 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EF2B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EF2B:
|
|
cmp PPUMASKShadow ; CPU:$EF2B PRG:6F2B C5 01
|
|
php ; CPU:$EF2D PRG:6F2D 08
|
|
php ; CPU:$EF2E PRG:6F2E 08
|
|
dec PPUMASKShadow ; CPU:$EF2F PRG:6F2F C6 01
|
|
brk ; CPU:$EF31 PRG:6F31 00
|
|
; ---- data $EF32-$EF34 (3 bytes) ----
|
|
.byte $02, $00, $B1 ; CPU:$EF32 PRG:6F32 02 00 B1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EF35
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EF35:
|
|
ora (PPUCTRLShadow,x) ; CPU:$EF35 PRG:6F35 01 00
|
|
php ; CPU:$EF37 PRG:6F37 08
|
|
lda (Zp81),y ; CPU:$EF38 PRG:6F38 B1 81
|
|
brk ; CPU:$EF3A PRG:6F3A 00
|
|
SpriteLayoutData2:
|
|
; Sprite layout records: 4-byte entries (x offset, y offset, tile index, attribute),
|
|
; e.g. $04 $00 $7C $01 at $EF3B; the same record format as the table at $F9BD.
|
|
; No instruction reference is known: the only operand found, `and $EF3D` at $D63E,
|
|
; sits in a misdecoded data region (see the Pass 1 residue notes in README.md).
|
|
; ---- data $EF3B-$EFC5 (139 bytes) ----
|
|
.byte $04, $00, $7C, $01, $00, $00, $7D, $01, $08, $08, $7E, $01, $00, $08, $7F, $01 ; CPU:$EF3B PRG:6F3B 04 00 7C 01 00 00 7D 01 08 08 7E 01 00 08 7F 01
|
|
.byte $08, $03, $04, $80, $01, $00, $04, $81, $01, $08, $0C, $82, $01, $04, $02, $04 ; CPU:$EF4B PRG:6F4B 08 03 04 80 01 00 04 81 01 08 0C 82 01 04 02 04
|
|
.byte $84, $01, $00, $04, $85, $01, $08, $04, $00, $88, $01, $00, $00, $89, $01, $08 ; CPU:$EF5B PRG:6F5B 84 01 00 04 85 01 08 04 00 88 01 00 00 89 01 08
|
|
.byte $08, $8A, $01, $00, $08, $8B, $01, $08, $04, $00, $5C, $01, $00, $00, $5D, $01 ; CPU:$EF6B PRG:6F6B 08 8A 01 00 08 8B 01 08 04 00 5C 01 00 00 5D 01
|
|
.byte $08, $08, $5F, $41, $00, $08, $5F, $01, $08, $03, $04, $60, $01, $00, $04, $61 ; CPU:$EF7B PRG:6F7B 08 08 5F 41 00 08 5F 01 08 03 04 60 01 00 04 61
|
|
.byte $01, $08, $0C, $62, $01, $04, $03, $04, $64, $01, $04, $0C, $66, $01, $00, $0C ; CPU:$EF8B PRG:6F8B 01 08 0C 62 01 04 03 04 64 01 04 0C 66 01 00 0C
|
|
.byte $67, $01, $08, $04, $00, $69, $41, $00, $00, $69, $01, $08, $08, $6A, $01, $00 ; CPU:$EF9B PRG:6F9B 67 01 08 04 00 69 41 00 00 69 01 08 08 6A 01 00
|
|
.byte $08, $6B, $01, $08, $04, $00, $63, $01, $00, $00, $63, $41, $08, $08, $63, $81 ; CPU:$EFAB PRG:6FAB 08 6B 01 08 04 00 63 01 00 00 63 41 08 08 63 81
|
|
.byte $00, $08, $63, $C1, $08, $04, $00, $65, $01, $00, $00 ; CPU:$EFBB PRG:6FBB 00 08 63 C1 08 04 00 65 01 00 00
|
|
; ---- data $EFC6-$EFCC (7 bytes) ----
|
|
.byte $65, $41, $08, $08, $65, $81, $00 ; CPU:$EFC6 PRG:6FC6 65 41 08 08 65 81 00
|
|
; ---- data $EFCD-$EFFD (49 bytes) ----
|
|
.byte $08, $65, $C1, $08, $04, $00, $77, $01, $00, $00, $77, $41, $08, $08, $77, $81 ; CPU:$EFCD PRG:6FCD 08 65 C1 08 04 00 77 01 00 00 77 41 08 08 77 81
|
|
.byte $00, $08, $77, $C1, $08, $01, $04, $7B, $01, $04, $04, $00, $50, $01, $00, $00 ; CPU:$EFDD PRG:6FDD 00 08 77 C1 08 01 04 7B 01 04 04 00 50 01 00 00
|
|
.byte $51, $01, $08, $08, $52, $01, $00, $08, $53, $01, $08, $04, $00, $54, $01, $00 ; CPU:$EFED PRG:6FED 51 01 08 08 52 01 00 08 53 01 08 04 00 54 01 00
|
|
.byte $00 ; CPU:$EFFD PRG:6FFD 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_EFFE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_EFFE:
|
|
eor PPUMASKShadow,x ; CPU:$EFFE PRG:6FFE 55 01
|
|
php ; CPU:$F000 PRG:7000 08
|
|
php ; CPU:$F001 PRG:7001 08
|
|
lsr PPUMASKShadow,x ; CPU:$F002 PRG:7002 56 01
|
|
brk ; CPU:$F004 PRG:7004 00
|
|
; ---- data $F005-$F017 (19 bytes) ----
|
|
.byte $08, $57, $01, $08, $04, $00, $58, $01, $00, $00, $59, $01, $08, $08, $5A, $01 ; CPU:$F005 PRG:7005 08 57 01 08 04 00 58 01 00 00 59 01 08 08 5A 01
|
|
.byte $00, $08, $5B ; CPU:$F015 PRG:7015 00 08 5B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F018
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F018:
|
|
ora (Joypad2Cur,x) ; CPU:$F018 PRG:7018 01 08
|
|
; ---- data $F01A-$F01F (6 bytes) ----
|
|
.byte $05, $00, $FD, $01, $FE, $00 ; CPU:$F01A PRG:701A 05 00 FD 01 FE 00
|
|
; ---- data $F020-$F029 (10 bytes) ----
|
|
.byte $40, $01, $06, $08, $FF, $01, $FE, $08, $42, $01 ; CPU:$F020 PRG:7020 40 01 06 08 FF 01 FE 08 42 01
|
|
; ---- data $F02A-$F034 (11 bytes) ----
|
|
.byte $06, $03, $38, $01, $07, $05, $00, $FD, $01, $FE, $00 ; CPU:$F02A PRG:702A 06 03 38 01 07 05 00 FD 01 FE 00
|
|
; ---- data $F035-$F039 (5 bytes) ----
|
|
.byte $44, $01, $06, $08, $FF ; CPU:$F035 PRG:7035 44 01 06 08 FF
|
|
; ---- data $F03A-$F049 (16 bytes) ----
|
|
.byte $01, $FE, $08, $46, $01, $06, $03, $38, $01, $07, $05, $00, $FD, $01, $FE, $00 ; CPU:$F03A PRG:703A 01 FE 08 46 01 06 03 38 01 07 05 00 FD 01 FE 00
|
|
; ---- data $F04A-$F053 (10 bytes) ----
|
|
.byte $48, $01, $06, $08, $FF, $01, $FE, $08, $4A, $01 ; CPU:$F04A PRG:704A 48 01 06 08 FF 01 FE 08 4A 01
|
|
; ---- data $F054-$F058 (5 bytes) ----
|
|
.byte $06, $03, $38, $01, $07 ; CPU:$F054 PRG:7054 06 03 38 01 07
|
|
ora PPUCTRLShadow ; CPU:$F059 PRG:7059 05 00
|
|
sbc $FE01,x ; CPU:$F05B PRG:705B FD 01 FE
|
|
brk ; CPU:$F05E PRG:705E 00
|
|
; ---- data $F05F-$F0E1 (131 bytes) ----
|
|
.byte $4C, $01, $06, $08, $FF, $01, $FE, $08, $4E, $01, $06, $03, $38, $01, $07, $04 ; CPU:$F05F PRG:705F 4C 01 06 08 FF 01 FE 08 4E 01 06 03 38 01 07 04
|
|
.byte $03, $6C, $01, $FC, $00, $6D, $01, $04, $03, $6C, $01, $08, $08, $6F, $01, $04 ; CPU:$F06F PRG:706F 03 6C 01 FC 00 6D 01 04 03 6C 01 08 08 6F 01 04
|
|
.byte $04, $00, $70, $01, $00, $00, $71, $01, $08, $08, $72, $01, $00, $08, $73, $01 ; CPU:$F07F PRG:707F 04 00 70 01 00 00 71 01 08 08 72 01 00 08 73 01
|
|
.byte $08, $03, $00, $74, $01, $00, $00, $75, $01, $08, $08, $76, $01, $04, $03, $00 ; CPU:$F08F PRG:708F 08 03 00 74 01 00 00 75 01 08 08 76 01 04 03 00
|
|
.byte $78, $01, $00, $00, $79, $01, $08, $08, $7A, $01, $04, $06, $00, $83, $00, $FE ; CPU:$F09F PRG:709F 78 01 00 00 79 01 08 08 7A 01 04 06 00 83 00 FE
|
|
.byte $00, $8F, $00, $06, $00, $8F, $00, $0E, $08, $83, $00, $FE, $08, $8F, $00, $06 ; CPU:$F0AF PRG:70AF 00 8F 00 06 00 8F 00 0E 08 83 00 FE 08 8F 00 06
|
|
.byte $08, $8F, $00, $0E, $06, $FE, $91, $00, $00, $FE, $91, $00, $08, $FE, $91, $00 ; CPU:$F0BF PRG:70BF 08 8F 00 0E 06 FE 91 00 00 FE 91 00 08 FE 91 00
|
|
.byte $10, $06, $92, $00, $00, $06, $93, $00, $08, $06, $92, $40, $10, $03, $01, $90 ; CPU:$F0CF PRG:70CF 10 06 92 00 00 06 93 00 08 06 92 40 10 03 01 90
|
|
.byte $00, $00, $01 ; CPU:$F0DF PRG:70DF 00 00 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F0E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F0E2:
|
|
bcc Sub_F0E4 ; CPU:$F0E2 PRG:70E2 90 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F0E4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F0E4:
|
|
php ; CPU:$F0E4 PRG:70E4 08
|
|
ora (Zp90,x) ; CPU:$F0E5 PRG:70E5 01 90
|
|
brk ; CPU:$F0E7 PRG:70E7 00
|
|
EnemySpawnTable:
|
|
; Enemy spawn parameter table (4-byte entries read by lda $F136..$F139,y)
|
|
; referenced by `lda $F136,y` at $D129 (operand $F136 falls inside this region)
|
|
; referenced by `lda $F137,y` at $D133 (operand $F137 falls inside this region)
|
|
; referenced by `lda $F138,y` at $D13C (operand $F138 falls inside this region)
|
|
; referenced by `lda $F139,y` at $D146 (operand $F139 falls inside this region)
|
|
; referenced by `lda $F136,y` at $ED00 (operand $F136 falls inside this region)
|
|
; referenced by `lda $F137,y` at $ED0A (operand $F137 falls inside this region)
|
|
; ... and 4 further references from decoded code
|
|
; ---- data $F0E8-$F1D9 (242 bytes) ----
|
|
.byte $10, $06, $02, $95, $00, $00, $02, $8F, $00, $08, $02, $95, $40, $10, $0A, $97 ; CPU:$F0E8 PRG:70E8 10 06 02 95 00 00 02 8F 00 08 02 95 40 10 0A 97
|
|
.byte $00, $00, $0A, $97, $00, $08, $0A, $97, $00, $10, $02, $00, $38, $01, $01, $08 ; CPU:$F0F8 PRG:70F8 00 00 0A 97 00 08 0A 97 00 10 02 00 38 01 01 08
|
|
.byte $3A, $01, $01, $03, $00, $36, $81, $04, $08, $36, $01, $04, $04, $35, $01, $0B ; CPU:$F108 PRG:7108 3A 01 01 03 00 36 81 04 08 36 01 04 04 35 01 0B
|
|
.byte $04, $00, $30, $01, $00, $00, $31, $01, $08, $08, $32, $01, $00, $08, $33, $01 ; CPU:$F118 PRG:7118 04 00 30 01 00 00 31 01 08 08 32 01 00 08 33 01
|
|
.byte $08, $03, $00, $34, $01, $04, $08, $34, $81, $04, $04, $35, $01, $03, $00, $00 ; CPU:$F128 PRG:7128 08 03 00 34 01 04 08 34 81 04 04 35 01 03 00 00
|
|
.byte $00, $01, $32, $00, $FA, $00, $62, $00, $EC, $00, $8E, $00, $D4, $00, $B4, $00 ; CPU:$F138 PRG:7138 00 01 32 00 FA 00 62 00 EC 00 8E 00 D4 00 B4 00
|
|
.byte $B4, $00, $D4, $00, $8E, $00, $EC, $00, $62, $00, $FA, $00, $32, $00, $00, $01 ; CPU:$F148 PRG:7148 B4 00 D4 00 8E 00 EC 00 62 00 FA 00 32 00 00 01
|
|
.byte $00, $00, $FA, $00, $CE, $FF, $EC, $00, $9E, $FF, $D4, $00, $72, $FF, $B4, $00 ; CPU:$F158 PRG:7158 00 00 FA 00 CE FF EC 00 9E FF D4 00 72 FF B4 00
|
|
.byte $4C, $FF, $8E, $00, $2C, $FF, $62, $00, $14, $FF, $32, $00, $06, $FF, $00, $00 ; CPU:$F168 PRG:7168 4C FF 8E 00 2C FF 62 00 14 FF 32 00 06 FF 00 00
|
|
.byte $00, $FF, $CE, $FF, $06, $FF, $9E, $FF, $14, $FF, $72, $FF, $2C, $FF, $4C, $FF ; CPU:$F178 PRG:7178 00 FF CE FF 06 FF 9E FF 14 FF 72 FF 2C FF 4C FF
|
|
.byte $4C, $FF, $2C, $FF, $72, $FF, $14, $FF, $9E, $FF, $06, $FF, $CE, $FF, $00, $FF ; CPU:$F188 PRG:7188 4C FF 2C FF 72 FF 14 FF 9E FF 06 FF CE FF 00 FF
|
|
.byte $00, $00, $06, $FF, $32, $00, $14, $FF, $62, $00, $2C, $FF, $8E, $00, $4C, $FF ; CPU:$F198 PRG:7198 00 00 06 FF 32 00 14 FF 62 00 2C FF 8E 00 4C FF
|
|
.byte $B4, $00, $72, $FF, $D4, $00, $9E, $FF, $EC, $00, $CE, $FF, $FA, $00, $C5, $F1 ; CPU:$F1A8 PRG:71A8 B4 00 72 FF D4 00 9E FF EC 00 CE FF FA 00 C5 F1
|
|
.byte $CF, $F1, $D9, $F1, $E0, $F1, $E0, $F1, $ED, $F1, $ED, $F1, $ED, $F1, $20, $DA ; CPU:$F1B8 PRG:71B8 CF F1 D9 F1 E0 F1 E0 F1 ED F1 ED F1 ED F1 20 DA
|
|
.byte $F1, $A9, $01, $A0, $00, $4C, $93, $F5, $20, $DA, $F1, $A9, $02, $A0, $00, $4C ; CPU:$F1C8 PRG:71C8 F1 A9 01 A0 00 4C 93 F5 20 DA F1 A9 02 A0 00 4C
|
|
.byte $93, $F5 ; CPU:$F1D8 PRG:71D8 93 F5
|
|
ldx #$40 ; CPU:$F1DA PRG:71DA A2 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyJmp
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyJmp:
|
|
ldy #$01 ; CPU:$F1DC PRG:71DC A0 01
|
|
jmp DispatchStoreLdaTayLdaStoreIny ; CPU:$F1DE PRG:71DE 4C 93 F5
|
|
; ---- data $F1E1-$F1ED (13 bytes) ----
|
|
.byte $A5, $5B, $10, $08, $A9, $B4, $85, $5A, $A9, $02, $85, $5B, $60 ; CPU:$F1E1 PRG:71E1 A5 5B 10 08 A9 B4 85 5A A9 02 85 5B 60
|
|
lda #$00 ; CPU:$F1EE PRG:71EE A9 00
|
|
sta GameMode ; CPU:$F1F0 PRG:71F0 85 10
|
|
sta Zp42 ; CPU:$F1F2 PRG:71F2 85 42
|
|
rts ; CPU:$F1F4 PRG:71F4 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F1F5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F1F5:
|
|
jsr DispatchLdaBneStoreStoreLdxLdy ; CPU:$F1F5 PRG:71F5 20 1D F6
|
|
lda Zp5B ; CPU:$F1F8 PRG:71F8 A5 5B
|
|
dec Zp5A ; CPU:$F1FA PRG:71FA C6 5A
|
|
bne Sub_F201 ; CPU:$F1FC PRG:71FC D0 03
|
|
clc ; CPU:$F1FE PRG:71FE 18
|
|
adc #$03 ; CPU:$F1FF PRG:71FF 69 03
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F201
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F201:
|
|
and #$07 ; CPU:$F201 PRG:7201 29 07
|
|
asl a ; CPU:$F203 PRG:7203 0A
|
|
tax ; CPU:$F204 PRG:7204 AA
|
|
lda $F1B7,x ; CPU:$F205 PRG:7205 BD B7 F1
|
|
pha ; CPU:$F208 PRG:7208 48
|
|
lda $F1B6,x ; CPU:$F209 PRG:7209 BD B6 F1
|
|
pha ; CPU:$F20C PRG:720C 48
|
|
rts ; CPU:$F20D PRG:720D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F20E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F20E:
|
|
stx Zp3B ; CPU:$F20E PRG:720E 86 3B
|
|
lda Zp42 ; CPU:$F210 PRG:7210 A5 42
|
|
asl a ; CPU:$F212 PRG:7212 0A
|
|
tax ; CPU:$F213 PRG:7213 AA
|
|
lda $A3F1,x ; CPU:$F214 PRG:7214 BD F1 A3
|
|
pha ; CPU:$F217 PRG:7217 48
|
|
lda $A3F0,x ; CPU:$F218 PRG:7218 BD F0 A3
|
|
pha ; CPU:$F21B PRG:721B 48
|
|
rts ; CPU:$F21C PRG:721C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: InputRead
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
InputRead:
|
|
ldx GameMode ; CPU:$F21D PRG:721D A6 10
|
|
beq Sub_F20E ; CPU:$F21F PRG:721F F0 ED
|
|
dex ; CPU:$F221 PRG:7221 CA
|
|
beq Sub_F227 ; CPU:$F222 PRG:7222 F0 03
|
|
jmp DispatchLdaBeqDecLdxStx ; CPU:$F224 PRG:7224 4C 4D F3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F227
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F227:
|
|
lda Zp5A ; CPU:$F227 PRG:7227 A5 5A
|
|
bne Sub_F1F5 ; CPU:$F229 PRG:7229 D0 CA
|
|
sta PPUMASK ; CPU:$F22B PRG:722B 8D 01 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F22E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F22E:
|
|
jsr DispatchLdaStoreStoreStoreDec ; CPU:$F22E PRG:722E 20 55 F2
|
|
lda Zp14 ; CPU:$F231 PRG:7231 A5 14
|
|
beq Sub_F252 ; CPU:$F233 PRG:7233 F0 1D
|
|
jsr NmiOamDmaCopy ; CPU:$F235 PRG:7235 20 0A FE
|
|
lda Zp14 ; CPU:$F238 PRG:7238 A5 14
|
|
cmp #$01 ; CPU:$F23A PRG:723A C9 01
|
|
bne Sub_F22E ; CPU:$F23C PRG:723C D0 F0
|
|
lda Zp3B ; CPU:$F23E PRG:723E A5 3B
|
|
beq Sub_F251 ; CPU:$F240 PRG:7240 F0 0F
|
|
lda ResetHi ; CPU:$F242 PRG:7242 A5 3C
|
|
and #$01 ; CPU:$F244 PRG:7244 29 01
|
|
eor #$01 ; CPU:$F246 PRG:7246 49 01
|
|
ldx ZpA7 ; CPU:$F248 PRG:7248 A6 A7
|
|
beq Sub_F251 ; CPU:$F24A PRG:724A F0 05
|
|
sta ResetHi ; CPU:$F24C PRG:724C 85 3C
|
|
jsr DispatchLdxLdaTayLdaStoreTya ; CPU:$F24E PRG:724E 20 7F F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F251
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F251:
|
|
rts ; CPU:$F251 PRG:7251 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F252
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F252:
|
|
jmp ObjSpawnInit ; CPU:$F252 PRG:7252 4C 10 C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaStoreStoreStoreDec
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaStoreStoreStoreDec:
|
|
lda #$01 ; CPU:$F255 PRG:7255 A9 01
|
|
sta $0600 ; CPU:$F257 PRG:7257 8D 00 06
|
|
sta $0601 ; CPU:$F25A PRG:725A 8D 01 06
|
|
sta $0602 ; CPU:$F25D PRG:725D 8D 02 06
|
|
dec Zp14 ; CPU:$F260 PRG:7260 C6 14
|
|
bne DispatchLdyJsrLdxLdaStoreIny ; CPU:$F262 PRG:7262 D0 4B
|
|
lda Zp60 ; CPU:$F264 PRG:7264 A5 60
|
|
bne Sub_F26C ; CPU:$F266 PRG:7266 D0 04
|
|
lda #$D2 ; CPU:$F268 PRG:7268 A9 D2
|
|
sta Zp3D ; CPU:$F26A PRG:726A 85 3D
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F26C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F26C:
|
|
lda #$02 ; CPU:$F26C PRG:726C A9 02
|
|
sta GameMode ; CPU:$F26E PRG:726E 85 10
|
|
lda Zp99 ; CPU:$F270 PRG:7270 A5 99
|
|
cmp #$40 ; CPU:$F272 PRG:7272 C9 40
|
|
bcc Sub_F278 ; CPU:$F274 PRG:7274 90 02
|
|
dec Zp90 ; CPU:$F276 PRG:7276 C6 90
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F278
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F278:
|
|
lda #$01 ; CPU:$F278 PRG:7278 A9 01
|
|
sta Zp14 ; CPU:$F27A PRG:727A 85 14
|
|
lda #$78 ; CPU:$F27C PRG:727C A9 78
|
|
sta Zp23 ; CPU:$F27E PRG:727E 85 23
|
|
lda #$D0 ; CPU:$F280 PRG:7280 A9 D0
|
|
sta Zp24 ; CPU:$F282 PRG:7282 85 24
|
|
lda PPUCTRLShadow ; CPU:$F284 PRG:7284 A5 00
|
|
eor #$FF ; CPU:$F286 PRG:7286 49 FF
|
|
and #$10 ; CPU:$F288 PRG:7288 29 10
|
|
ora #$02 ; CPU:$F28A PRG:728A 09 02
|
|
sta NmiToggle ; CPU:$F28C PRG:728C 85 0F
|
|
ldx #$00 ; CPU:$F28E PRG:728E A2 00
|
|
lda #$00 ; CPU:$F290 PRG:7290 A9 00
|
|
sta Zp3F ; CPU:$F292 PRG:7292 85 3F
|
|
sta Zp3E ; CPU:$F294 PRG:7294 85 3E
|
|
sta Zp44 ; CPU:$F296 PRG:7296 85 44
|
|
sta Zp3A ; CPU:$F298 PRG:7298 85 3A
|
|
sta Zp99 ; CPU:$F29A PRG:729A 85 99
|
|
sta Zp3B ; CPU:$F29C PRG:729C 85 3B
|
|
sta Zp32 ; CPU:$F29E PRG:729E 85 32
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F2A0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F2A0:
|
|
sta $0300,x ; CPU:$F2A0 PRG:72A0 9D 00 03
|
|
sta $0400,x ; CPU:$F2A3 PRG:72A3 9D 00 04
|
|
sta $0500,x ; CPU:$F2A6 PRG:72A6 9D 00 05
|
|
inx ; CPU:$F2A9 PRG:72A9 E8
|
|
bne Sub_F2A0 ; CPU:$F2AA PRG:72AA D0 F4
|
|
jmp ObjSpawnInit ; CPU:$F2AC PRG:72AC 4C 10 C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyJsrLdxLdaStoreIny
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyJsrLdxLdaStoreIny:
|
|
ldy Joypad1Press2 ; CPU:$F2AF PRG:72AF A4 1A
|
|
jsr DispatchDecLdaBplLdaStore ; CPU:$F2B1 PRG:72B1 20 00 F3
|
|
ldx #$20 ; CPU:$F2B4 PRG:72B4 A2 20
|
|
lda #$20 ; CPU:$F2B6 PRG:72B6 A9 20
|
|
sta $0208,y ; CPU:$F2B8 PRG:72B8 99 08 02
|
|
iny ; CPU:$F2BB PRG:72BB C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F2BC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F2BC:
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$F2BC PRG:72BC 20 5C F5
|
|
and #$03 ; CPU:$F2BF PRG:72BF 29 03
|
|
ora #$54 ; CPU:$F2C1 PRG:72C1 09 54
|
|
sta $0208,y ; CPU:$F2C3 PRG:72C3 99 08 02
|
|
iny ; CPU:$F2C6 PRG:72C6 C8
|
|
dex ; CPU:$F2C7 PRG:72C7 CA
|
|
bne Sub_F2BC ; CPU:$F2C8 PRG:72C8 D0 F2
|
|
jsr DispatchLdaCmpBmiClcAdd ; CPU:$F2CA PRG:72CA 20 31 F3
|
|
lda Zp15 ; CPU:$F2CD PRG:72CD A5 15
|
|
lsr a ; CPU:$F2CF PRG:72CF 4A
|
|
ldx #$F0 ; CPU:$F2D0 PRG:72D0 A2 F0
|
|
cmp #$0F ; CPU:$F2D2 PRG:72D2 C9 0F
|
|
bmi Sub_F2D9 ; CPU:$F2D4 PRG:72D4 30 03
|
|
clc ; CPU:$F2D6 PRG:72D6 18
|
|
adc #$01 ; CPU:$F2D7 PRG:72D7 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F2D9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F2D9:
|
|
and #$01 ; CPU:$F2D9 PRG:72D9 29 01
|
|
beq Sub_F2DF ; CPU:$F2DB PRG:72DB F0 02
|
|
ldx #$0F ; CPU:$F2DD PRG:72DD A2 0F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F2DF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F2DF:
|
|
stx ObjectX ; CPU:$F2DF PRG:72DF 86 18
|
|
lda #$08 ; CPU:$F2E1 PRG:72E1 A9 08
|
|
sta $0208,y ; CPU:$F2E3 PRG:72E3 99 08 02
|
|
iny ; CPU:$F2E6 PRG:72E6 C8
|
|
ldx #$00 ; CPU:$F2E7 PRG:72E7 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F2E9
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F2E9:
|
|
lda $0200,x ; CPU:$F2E9 PRG:72E9 BD 00 02
|
|
and ObjectX ; CPU:$F2EC PRG:72EC 25 18
|
|
sta $0208,y ; CPU:$F2EE PRG:72EE 99 08 02
|
|
sta $0200,x ; CPU:$F2F1 PRG:72F1 9D 00 02
|
|
iny ; CPU:$F2F4 PRG:72F4 C8
|
|
inx ; CPU:$F2F5 PRG:72F5 E8
|
|
cpx #$08 ; CPU:$F2F6 PRG:72F6 E0 08
|
|
bne Sub_F2E9 ; CPU:$F2F8 PRG:72F8 D0 EF
|
|
sty Joypad1Press2 ; CPU:$F2FA PRG:72FA 84 1A
|
|
sta $0208,y ; CPU:$F2FC PRG:72FC 99 08 02
|
|
rts ; CPU:$F2FF PRG:72FF 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchDecLdaBplLdaStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchDecLdaBplLdaStore:
|
|
dec Zp15 ; CPU:$F300 PRG:7300 C6 15
|
|
lda Zp15 ; CPU:$F302 PRG:7302 A5 15
|
|
bpl Sub_F30A ; CPU:$F304 PRG:7304 10 04
|
|
lda #$3B ; CPU:$F306 PRG:7306 A9 3B
|
|
sta Zp15 ; CPU:$F308 PRG:7308 85 15
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F30A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F30A:
|
|
cmp #$1E ; CPU:$F30A PRG:730A C9 1E
|
|
bcc Sub_F311 ; CPU:$F30C PRG:730C 90 03
|
|
clc ; CPU:$F30E PRG:730E 18
|
|
adc #$22 ; CPU:$F30F PRG:730F 69 22
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F311
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F311:
|
|
sta ObjectYLo ; CPU:$F311 PRG:7311 85 35
|
|
lda #$00 ; CPU:$F313 PRG:7313 A9 00
|
|
sta ObjectYHi ; CPU:$F315 PRG:7315 85 36
|
|
sec ; CPU:$F317 PRG:7317 38
|
|
ror ObjectYLo ; CPU:$F318 PRG:7318 66 35
|
|
ror ObjectYHi ; CPU:$F31A PRG:731A 66 36
|
|
lsr ObjectYLo ; CPU:$F31C PRG:731C 46 35
|
|
ror ObjectYHi ; CPU:$F31E PRG:731E 66 36
|
|
lsr ObjectYLo ; CPU:$F320 PRG:7320 46 35
|
|
ror ObjectYHi ; CPU:$F322 PRG:7322 66 36
|
|
lda ObjectYLo ; CPU:$F324 PRG:7324 A5 35
|
|
sta $0208,y ; CPU:$F326 PRG:7326 99 08 02
|
|
iny ; CPU:$F329 PRG:7329 C8
|
|
lda ObjectYHi ; CPU:$F32A PRG:732A A5 36
|
|
sta $0208,y ; CPU:$F32C PRG:732C 99 08 02
|
|
iny ; CPU:$F32F PRG:732F C8
|
|
rts ; CPU:$F330 PRG:7330 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaCmpBmiClcAdd
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaCmpBmiClcAdd:
|
|
lda Zp15 ; CPU:$F331 PRG:7331 A5 15
|
|
cmp #$1E ; CPU:$F333 PRG:7333 C9 1E
|
|
bmi Sub_F33A ; CPU:$F335 PRG:7335 30 03
|
|
clc ; CPU:$F337 PRG:7337 18
|
|
adc #$02 ; CPU:$F338 PRG:7338 69 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F33A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F33A:
|
|
ror a ; CPU:$F33A PRG:733A 6A
|
|
and #$1E ; CPU:$F33B PRG:733B 29 1E
|
|
tax ; CPU:$F33D PRG:733D AA
|
|
lda $F53D,x ; CPU:$F33E PRG:733E BD 3D F5
|
|
sta $0208,y ; CPU:$F341 PRG:7341 99 08 02
|
|
iny ; CPU:$F344 PRG:7344 C8
|
|
lda $F53C,x ; CPU:$F345 PRG:7345 BD 3C F5
|
|
sta $0208,y ; CPU:$F348 PRG:7348 99 08 02
|
|
iny ; CPU:$F34B PRG:734B C8
|
|
rts ; CPU:$F34C PRG:734C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBeqDecLdxStx
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBeqDecLdxStx:
|
|
lda Zp3D ; CPU:$F34D PRG:734D A5 3D
|
|
beq Sub_F381 ; CPU:$F34F PRG:734F F0 30
|
|
dec Zp3D ; CPU:$F351 PRG:7351 C6 3D
|
|
ldx #$00 ; CPU:$F353 PRG:7353 A2 00
|
|
stx Zp32 ; CPU:$F355 PRG:7355 86 32
|
|
ldx #$80 ; CPU:$F357 PRG:7357 A2 80
|
|
lda ResetHi ; CPU:$F359 PRG:7359 A5 3C
|
|
and #$01 ; CPU:$F35B PRG:735B 29 01
|
|
clc ; CPU:$F35D PRG:735D 18
|
|
adc #$01 ; CPU:$F35E PRG:735E 69 01
|
|
ldy #$00 ; CPU:$F360 PRG:7360 A0 00
|
|
jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F362 PRG:7362 20 93 F5
|
|
ldy #$02 ; CPU:$F365 PRG:7365 A0 02
|
|
jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F367 PRG:7367 20 93 F5
|
|
lda Zp8D ; CPU:$F36A PRG:736A A5 8D
|
|
sec ; CPU:$F36C PRG:736C 38
|
|
sbc #$01 ; CPU:$F36D PRG:736D E9 01
|
|
ldy #$03 ; CPU:$F36F PRG:736F A0 03
|
|
jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F371 PRG:7371 20 93 F5
|
|
ldy #$04 ; CPU:$F374 PRG:7374 A0 04
|
|
jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F376 PRG:7376 20 93 F5
|
|
ldy #$05 ; CPU:$F379 PRG:7379 A0 05
|
|
jsr DispatchStoreLdaTayLdaStoreIny ; CPU:$F37B PRG:737B 20 93 F5
|
|
jmp DispatchLdaStoreLdaClcAddStore ; CPU:$F37E PRG:737E 4C 85 F3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F381
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F381:
|
|
lda #$01 ; CPU:$F381 PRG:7381 A9 01
|
|
sta Zp32 ; CPU:$F383 PRG:7383 85 32
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaStoreLdaClcAddStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaStoreLdaClcAddStore:
|
|
lda #$01 ; CPU:$F385 PRG:7385 A9 01
|
|
sta $0610 ; CPU:$F387 PRG:7387 8D 10 06
|
|
lda Zp26 ; CPU:$F38A PRG:738A A5 26
|
|
clc ; CPU:$F38C PRG:738C 18
|
|
adc Zp27 ; CPU:$F38D PRG:738D 65 27
|
|
sta Zp25 ; CPU:$F38F PRG:738F 85 25
|
|
and #$0F ; CPU:$F391 PRG:7391 29 0F
|
|
sta Zp26 ; CPU:$F393 PRG:7393 85 26
|
|
lsr Zp25 ; CPU:$F395 PRG:7395 46 25
|
|
lsr Zp25 ; CPU:$F397 PRG:7397 46 25
|
|
lsr Zp25 ; CPU:$F399 PRG:7399 46 25
|
|
lsr Zp25 ; CPU:$F39B PRG:739B 46 25
|
|
bne Sub_F3A0 ; CPU:$F39D PRG:739D D0 01
|
|
rts ; CPU:$F39F PRG:739F 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F3A0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F3A0:
|
|
lda ScrollY ; CPU:$F3A0 PRG:73A0 A5 03
|
|
sec ; CPU:$F3A2 PRG:73A2 38
|
|
sbc Zp25 ; CPU:$F3A3 PRG:73A3 E5 25
|
|
cmp #$F0 ; CPU:$F3A5 PRG:73A5 C9 F0
|
|
bcc Sub_F3B0 ; CPU:$F3A7 PRG:73A7 90 07
|
|
ldx #$02 ; CPU:$F3A9 PRG:73A9 A2 02
|
|
stx NmiToggle ; CPU:$F3AB PRG:73AB 86 0F
|
|
sec ; CPU:$F3AD PRG:73AD 38
|
|
sbc #$10 ; CPU:$F3AE PRG:73AE E9 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F3B0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F3B0:
|
|
sta ScrollY ; CPU:$F3B0 PRG:73B0 85 03
|
|
lda #$00 ; CPU:$F3B2 PRG:73B2 A9 00
|
|
sta Zp6E ; CPU:$F3B4 PRG:73B4 85 6E
|
|
lda Zp29 ; CPU:$F3B6 PRG:73B6 A5 29
|
|
clc ; CPU:$F3B8 PRG:73B8 18
|
|
adc Zp25 ; CPU:$F3B9 PRG:73B9 65 25
|
|
sta Zp29 ; CPU:$F3BB PRG:73BB 85 29
|
|
sec ; CPU:$F3BD PRG:73BD 38
|
|
sbc #$08 ; CPU:$F3BE PRG:73BE E9 08
|
|
bcs Sub_F3C7 ; CPU:$F3C0 PRG:73C0 B0 05
|
|
Sub_F3C2:
|
|
lda #$01 ; CPU:$F3C2 PRG:73C2 A9 01
|
|
sta Zp6E ; CPU:$F3C4 PRG:73C4 85 6E
|
|
rts ; CPU:$F3C6 PRG:73C6 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F3C7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F3C7:
|
|
sta Zp29 ; CPU:$F3C7 PRG:73C7 85 29
|
|
lda Zp99 ; CPU:$F3C9 PRG:73C9 A5 99
|
|
bne Sub_F3FA ; CPU:$F3CB PRG:73CB D0 2D
|
|
lda Zp14 ; CPU:$F3CD PRG:73CD A5 14
|
|
beq Sub_F3D6 ; CPU:$F3CF PRG:73CF F0 05
|
|
dec Zp14 ; CPU:$F3D1 PRG:73D1 C6 14
|
|
jmp DispatchLdyJsrLdxLdaStoreIny ; CPU:$F3D3 PRG:73D3 4C AF F2
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F3D6
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F3D6:
|
|
inc Zp90 ; CPU:$F3D6 PRG:73D6 E6 90
|
|
lda Zp90 ; CPU:$F3D8 PRG:73D8 A5 90
|
|
cmp #$10 ; CPU:$F3DA PRG:73DA C9 10
|
|
bne Sub_F3E2 ; CPU:$F3DC PRG:73DC D0 04
|
|
lda #$06 ; CPU:$F3DE PRG:73DE A9 06
|
|
sta Zp90 ; CPU:$F3E0 PRG:73E0 85 90
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F3E2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F3E2:
|
|
asl a ; CPU:$F3E2 PRG:73E2 0A
|
|
tax ; CPU:$F3E3 PRG:73E3 AA
|
|
lda $A8D5,x ; CPU:$F3E4 PRG:73E4 BD D5 A8
|
|
sta Zp2A ; CPU:$F3E7 PRG:73E7 85 2A
|
|
lda $A8D6,x ; CPU:$F3E9 PRG:73E9 BD D6 A8
|
|
sta Zp2B ; CPU:$F3EC PRG:73EC 85 2B
|
|
ldy #$00 ; CPU:$F3EE PRG:73EE A0 00
|
|
lda (Zp2A),y ; CPU:$F3F0 PRG:73F0 B1 2A
|
|
sta Zp12 ; CPU:$F3F2 PRG:73F2 85 12
|
|
inc Zp2A ; CPU:$F3F4 PRG:73F4 E6 2A
|
|
bne Sub_F3FA ; CPU:$F3F6 PRG:73F6 D0 02
|
|
inc Zp2B ; CPU:$F3F8 PRG:73F8 E6 2B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F3FA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F3FA:
|
|
lda #$04 ; CPU:$F3FA PRG:73FA A9 04
|
|
sta Zp14 ; CPU:$F3FC PRG:73FC 85 14
|
|
ldy Joypad1Press2 ; CPU:$F3FE PRG:73FE A4 1A
|
|
jsr DispatchDecLdaBplLdaStore ; CPU:$F400 PRG:7400 20 00 F3
|
|
lda #$20 ; CPU:$F403 PRG:7403 A9 20
|
|
sta $0208,y ; CPU:$F405 PRG:7405 99 08 02
|
|
iny ; CPU:$F408 PRG:7408 C8
|
|
dec Zp99 ; CPU:$F409 PRG:7409 C6 99
|
|
lda Zp99 ; CPU:$F40B PRG:740B A5 99
|
|
and #$FE ; CPU:$F40D PRG:740D 29 FE
|
|
sta VramPtrLo ; CPU:$F40F PRG:740F 85 04
|
|
lda #$04 ; CPU:$F411 PRG:7411 A9 04
|
|
sta VramCopyCount ; CPU:$F413 PRG:7413 85 05
|
|
ldx #$05 ; CPU:$F415 PRG:7415 A2 05
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F417
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F417:
|
|
asl VramPtrLo ; CPU:$F417 PRG:7417 06 04
|
|
rol VramCopyCount ; CPU:$F419 PRG:7419 26 05
|
|
dex ; CPU:$F41B PRG:741B CA
|
|
bne Sub_F417 ; CPU:$F41C PRG:741C D0 F9
|
|
lda VramPtrLo ; CPU:$F41E PRG:741E A5 04
|
|
adc Zp12 ; CPU:$F420 PRG:7420 65 12
|
|
sta VramPtrLo ; CPU:$F422 PRG:7422 85 04
|
|
lda Zp15 ; CPU:$F424 PRG:7424 A5 15
|
|
lsr a ; CPU:$F426 PRG:7426 4A
|
|
ldx #$03 ; CPU:$F427 PRG:7427 A2 03
|
|
cmp #$0F ; CPU:$F429 PRG:7429 C9 0F
|
|
bmi Sub_F430 ; CPU:$F42B PRG:742B 30 03
|
|
clc ; CPU:$F42D PRG:742D 18
|
|
adc #$01 ; CPU:$F42E PRG:742E 69 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F430
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F430:
|
|
and #$01 ; CPU:$F430 PRG:7430 29 01
|
|
beq Sub_F436 ; CPU:$F432 PRG:7432 F0 02
|
|
ldx #$30 ; CPU:$F434 PRG:7434 A2 30
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F436
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F436:
|
|
txa ; CPU:$F436 PRG:7436 8A
|
|
sta ObjectX ; CPU:$F437 PRG:7437 85 18
|
|
asl a ; CPU:$F439 PRG:7439 0A
|
|
asl a ; CPU:$F43A PRG:743A 0A
|
|
sta ObjectY ; CPU:$F43B PRG:743B 85 19
|
|
lda #$08 ; CPU:$F43D PRG:743D A9 08
|
|
sta ObjUpdateFlag ; CPU:$F43F PRG:743F 85 0E
|
|
lda Zp99 ; CPU:$F441 PRG:7441 A5 99
|
|
and #$01 ; CPU:$F443 PRG:7443 29 01
|
|
beq Sub_F4AA ; CPU:$F445 PRG:7445 F0 63
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F447
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F447:
|
|
ldx #$00 ; CPU:$F447 PRG:7447 A2 00
|
|
lda (VramPtrLo,x) ; CPU:$F449 PRG:7449 A1 04
|
|
tax ; CPU:$F44B PRG:744B AA
|
|
lda $A1EE,x ; CPU:$F44C PRG:744C BD EE A1
|
|
sta $0208,y ; CPU:$F44F PRG:744F 99 08 02
|
|
iny ; CPU:$F452 PRG:7452 C8
|
|
lda $A2E5,x ; CPU:$F453 PRG:7453 BD E5 A2
|
|
sta $0208,y ; CPU:$F456 PRG:7456 99 08 02
|
|
iny ; CPU:$F459 PRG:7459 C8
|
|
jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F45A PRG:745A 20 2B F5
|
|
and ObjectX ; CPU:$F45D PRG:745D 25 18
|
|
sta ObjPtr ; CPU:$F45F PRG:745F 85 13
|
|
lda #$08 ; CPU:$F461 PRG:7461 A9 08
|
|
sec ; CPU:$F463 PRG:7463 38
|
|
sbc ObjUpdateFlag ; CPU:$F464 PRG:7464 E5 0E
|
|
tax ; CPU:$F466 PRG:7466 AA
|
|
lda ObjectX ; CPU:$F467 PRG:7467 A5 18
|
|
eor #$FF ; CPU:$F469 PRG:7469 49 FF
|
|
and $0200,x ; CPU:$F46B PRG:746B 3D 00 02
|
|
ora ObjPtr ; CPU:$F46E PRG:746E 05 13
|
|
sta $0200,x ; CPU:$F470 PRG:7470 9D 00 02
|
|
inc VramPtrLo ; CPU:$F473 PRG:7473 E6 04
|
|
ldx #$00 ; CPU:$F475 PRG:7475 A2 00
|
|
lda (VramPtrLo,x) ; CPU:$F477 PRG:7477 A1 04
|
|
tax ; CPU:$F479 PRG:7479 AA
|
|
lda $A1EE,x ; CPU:$F47A PRG:747A BD EE A1
|
|
sta $0208,y ; CPU:$F47D PRG:747D 99 08 02
|
|
iny ; CPU:$F480 PRG:7480 C8
|
|
lda $A2E5,x ; CPU:$F481 PRG:7481 BD E5 A2
|
|
sta $0208,y ; CPU:$F484 PRG:7484 99 08 02
|
|
iny ; CPU:$F487 PRG:7487 C8
|
|
jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F488 PRG:7488 20 2B F5
|
|
and ObjectY ; CPU:$F48B PRG:748B 25 19
|
|
sta ObjPtr ; CPU:$F48D PRG:748D 85 13
|
|
lda #$08 ; CPU:$F48F PRG:748F A9 08
|
|
sec ; CPU:$F491 PRG:7491 38
|
|
sbc ObjUpdateFlag ; CPU:$F492 PRG:7492 E5 0E
|
|
tax ; CPU:$F494 PRG:7494 AA
|
|
lda ObjectY ; CPU:$F495 PRG:7495 A5 19
|
|
eor #$FF ; CPU:$F497 PRG:7497 49 FF
|
|
and $0200,x ; CPU:$F499 PRG:7499 3D 00 02
|
|
ora ObjPtr ; CPU:$F49C PRG:749C 05 13
|
|
sta $0200,x ; CPU:$F49E PRG:749E 9D 00 02
|
|
inc VramPtrLo ; CPU:$F4A1 PRG:74A1 E6 04
|
|
dec ObjUpdateFlag ; CPU:$F4A3 PRG:74A3 C6 0E
|
|
bne Sub_F447 ; CPU:$F4A5 PRG:74A5 D0 A0
|
|
jmp DispatchJsrLdaStoreInyLdx ; CPU:$F4A7 PRG:74A7 4C 0A F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F4AA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F4AA:
|
|
ldx #$00 ; CPU:$F4AA PRG:74AA A2 00
|
|
lda (VramPtrLo,x) ; CPU:$F4AC PRG:74AC A1 04
|
|
tax ; CPU:$F4AE PRG:74AE AA
|
|
lda $A000,x ; CPU:$F4AF PRG:74AF BD 00 A0
|
|
sta $0208,y ; CPU:$F4B2 PRG:74B2 99 08 02
|
|
iny ; CPU:$F4B5 PRG:74B5 C8
|
|
lda $A0F7,x ; CPU:$F4B6 PRG:74B6 BD F7 A0
|
|
sta $0208,y ; CPU:$F4B9 PRG:74B9 99 08 02
|
|
iny ; CPU:$F4BC PRG:74BC C8
|
|
jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F4BD PRG:74BD 20 2B F5
|
|
and ObjectX ; CPU:$F4C0 PRG:74C0 25 18
|
|
sta ObjPtr ; CPU:$F4C2 PRG:74C2 85 13
|
|
lda #$08 ; CPU:$F4C4 PRG:74C4 A9 08
|
|
sec ; CPU:$F4C6 PRG:74C6 38
|
|
sbc ObjUpdateFlag ; CPU:$F4C7 PRG:74C7 E5 0E
|
|
tax ; CPU:$F4C9 PRG:74C9 AA
|
|
lda ObjectX ; CPU:$F4CA PRG:74CA A5 18
|
|
eor #$FF ; CPU:$F4CC PRG:74CC 49 FF
|
|
and $0200,x ; CPU:$F4CE PRG:74CE 3D 00 02
|
|
ora ObjPtr ; CPU:$F4D1 PRG:74D1 05 13
|
|
sta $0200,x ; CPU:$F4D3 PRG:74D3 9D 00 02
|
|
inc VramPtrLo ; CPU:$F4D6 PRG:74D6 E6 04
|
|
ldx #$00 ; CPU:$F4D8 PRG:74D8 A2 00
|
|
lda (VramPtrLo,x) ; CPU:$F4DA PRG:74DA A1 04
|
|
tax ; CPU:$F4DC PRG:74DC AA
|
|
lda $A000,x ; CPU:$F4DD PRG:74DD BD 00 A0
|
|
sta $0208,y ; CPU:$F4E0 PRG:74E0 99 08 02
|
|
iny ; CPU:$F4E3 PRG:74E3 C8
|
|
lda $A0F7,x ; CPU:$F4E4 PRG:74E4 BD F7 A0
|
|
sta $0208,y ; CPU:$F4E7 PRG:74E7 99 08 02
|
|
iny ; CPU:$F4EA PRG:74EA C8
|
|
jsr DispatchTaxLdxCmpBccInxInx ; CPU:$F4EB PRG:74EB 20 2B F5
|
|
and ObjectY ; CPU:$F4EE PRG:74EE 25 19
|
|
sta ObjPtr ; CPU:$F4F0 PRG:74F0 85 13
|
|
lda #$08 ; CPU:$F4F2 PRG:74F2 A9 08
|
|
sec ; CPU:$F4F4 PRG:74F4 38
|
|
sbc ObjUpdateFlag ; CPU:$F4F5 PRG:74F5 E5 0E
|
|
tax ; CPU:$F4F7 PRG:74F7 AA
|
|
lda ObjectY ; CPU:$F4F8 PRG:74F8 A5 19
|
|
eor #$FF ; CPU:$F4FA PRG:74FA 49 FF
|
|
and $0200,x ; CPU:$F4FC PRG:74FC 3D 00 02
|
|
ora ObjPtr ; CPU:$F4FF PRG:74FF 05 13
|
|
sta $0200,x ; CPU:$F501 PRG:7501 9D 00 02
|
|
inc VramPtrLo ; CPU:$F504 PRG:7504 E6 04
|
|
dec ObjUpdateFlag ; CPU:$F506 PRG:7506 C6 0E
|
|
bne Sub_F4AA ; CPU:$F508 PRG:7508 D0 A0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrLdaStoreInyLdx
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrLdaStoreInyLdx:
|
|
jsr DispatchLdaCmpBmiClcAdd ; CPU:$F50A PRG:750A 20 31 F3
|
|
lda #$08 ; CPU:$F50D PRG:750D A9 08
|
|
sta $0208,y ; CPU:$F50F PRG:750F 99 08 02
|
|
iny ; CPU:$F512 PRG:7512 C8
|
|
ldx #$00 ; CPU:$F513 PRG:7513 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F515
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F515:
|
|
lda $0200,x ; CPU:$F515 PRG:7515 BD 00 02
|
|
sta $0208,y ; CPU:$F518 PRG:7518 99 08 02
|
|
iny ; CPU:$F51B PRG:751B C8
|
|
inx ; CPU:$F51C PRG:751C E8
|
|
cpx #$08 ; CPU:$F51D PRG:751D E0 08
|
|
bne Sub_F515 ; CPU:$F51F PRG:751F D0 F4
|
|
sty Joypad1Press2 ; CPU:$F521 PRG:7521 84 1A
|
|
lda #$00 ; CPU:$F523 PRG:7523 A9 00
|
|
sta $0208,y ; CPU:$F525 PRG:7525 99 08 02
|
|
jmp C9bcCheck ; CPU:$F528 PRG:7528 4C BC C9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchTaxLdxCmpBccInxInx
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchTaxLdxCmpBccInxInx:
|
|
txa ; CPU:$F52B PRG:752B 8A
|
|
ldx #$00 ; CPU:$F52C PRG:752C A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchCmpBccInxInxJmpLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchCmpBccInxInxJmpLda:
|
|
cmp $A3DC,x ; CPU:$F52E PRG:752E DD DC A3
|
|
bcc Sub_F538 ; CPU:$F531 PRG:7531 90 05
|
|
inx ; CPU:$F533 PRG:7533 E8
|
|
inx ; CPU:$F534 PRG:7534 E8
|
|
jmp DispatchCmpBccInxInxJmpLda ; CPU:$F535 PRG:7535 4C 2E F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F538
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F538:
|
|
lda $A3DD,x ; CPU:$F538 PRG:7538 BD DD A3
|
|
rts ; CPU:$F53B PRG:753B 60
|
|
AttrAddrTable:
|
|
; 16 x 16-bit PPU attribute-table addresses ($23C0-$23F8 and $2BC0-$2BF8), read by
|
|
; lda $F53C,x / lda $F53D,x at $F345 / $F33E and stored into the $0208 buffer.
|
|
; ---- data $F53C-$F55B (32 bytes) ----
|
|
; referenced by `lda $F53D,x` at $F33E (operand $F53D falls inside this region)
|
|
; referenced by `lda $F53C,x` at $F345 (operand $F53C falls inside this region)
|
|
.byte $C0, $23, $C8, $23, $D0, $23, $D8, $23, $E0, $23, $E8, $23, $F0, $23, $F8, $23 ; CPU:$F53C PRG:753C C0 23 C8 23 D0 23 D8 23 E0 23 E8 23 F0 23 F8 23
|
|
.byte $C0, $2B, $C8, $2B, $D0, $2B, $D8, $2B, $E0, $2B, $E8, $2B, $F0, $2B, $F8, $2B ; CPU:$F54C PRG:754C C0 2B C8 2B D0 2B D8 2B E0 2B E8 2B F0 2B F8 2B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaEorEorAslAslRol
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaEorEorAslAslRol:
|
|
lda Zp1C ; CPU:$F55C PRG:755C A5 1C
|
|
eor Zp1D ; CPU:$F55E PRG:755E 45 1D
|
|
eor #$FF ; CPU:$F560 PRG:7560 49 FF
|
|
asl a ; CPU:$F562 PRG:7562 0A
|
|
asl a ; CPU:$F563 PRG:7563 0A
|
|
rol Zp1C ; CPU:$F564 PRG:7564 26 1C
|
|
rol Zp1D ; CPU:$F566 PRG:7566 26 1D
|
|
lda Zp1E ; CPU:$F568 PRG:7568 A5 1E
|
|
asl a ; CPU:$F56A PRG:756A 0A
|
|
asl a ; CPU:$F56B PRG:756B 0A
|
|
sec ; CPU:$F56C PRG:756C 38
|
|
adc Zp1E ; CPU:$F56D PRG:756D 65 1E
|
|
sta Zp1E ; CPU:$F56F PRG:756F 85 1E
|
|
adc Zp1C ; CPU:$F571 PRG:7571 65 1C
|
|
rts ; CPU:$F573 PRG:7573 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdxLdaStoreLdaCmpBcs
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdxLdaStoreLdaCmpBcs:
|
|
ldx #$00 ; CPU:$F574 PRG:7574 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F576
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F576:
|
|
lda #$F0 ; CPU:$F576 PRG:7576 A9 F0
|
|
sta $0714,x ; CPU:$F578 PRG:7578 9D 14 07
|
|
lda $0721,x ; CPU:$F57B PRG:757B BD 21 07
|
|
cmp #$24 ; CPU:$F57E PRG:757E C9 24
|
|
bcs Sub_F587 ; CPU:$F580 PRG:7580 B0 05
|
|
lda #$F0 ; CPU:$F582 PRG:7582 A9 F0
|
|
sta $0720,x ; CPU:$F584 PRG:7584 9D 20 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F587
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F587:
|
|
inx ; CPU:$F587 PRG:7587 E8
|
|
inx ; CPU:$F588 PRG:7588 E8
|
|
inx ; CPU:$F589 PRG:7589 E8
|
|
inx ; CPU:$F58A PRG:758A E8
|
|
cpx #$0C ; CPU:$F58B PRG:758B E0 0C
|
|
bne Sub_F576 ; CPU:$F58D PRG:758D D0 E7
|
|
ldy #$06 ; CPU:$F58F PRG:758F A0 06
|
|
ldx #$00 ; CPU:$F591 PRG:7591 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreLdaTayLdaStoreIny
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreLdaTayLdaStoreIny:
|
|
sta ObjPtr ; CPU:$F593 PRG:7593 85 13
|
|
lda $F5D8,y ; CPU:$F595 PRG:7595 B9 D8 F5
|
|
tay ; CPU:$F598 PRG:7598 A8
|
|
lda $F5DF,y ; CPU:$F599 PRG:7599 B9 DF F5
|
|
sta ObjectXHi ; CPU:$F59C PRG:759C 85 38
|
|
iny ; CPU:$F59E PRG:759E C8
|
|
lda $F5DF,y ; CPU:$F59F PRG:759F B9 DF F5
|
|
sta ObjectXLo ; CPU:$F5A2 PRG:75A2 85 37
|
|
iny ; CPU:$F5A4 PRG:75A4 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaCmpBeqCmpBneRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaCmpBeqCmpBneRts:
|
|
lda $F5DF,y ; CPU:$F5A5 PRG:75A5 B9 DF F5
|
|
cmp #$24 ; CPU:$F5A8 PRG:75A8 C9 24
|
|
beq Sub_F5CD ; CPU:$F5AA PRG:75AA F0 21
|
|
cmp #$FF ; CPU:$F5AC PRG:75AC C9 FF
|
|
bne Sub_F5B1 ; CPU:$F5AE PRG:75AE D0 01
|
|
rts ; CPU:$F5B0 PRG:75B0 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F5B1
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F5B1:
|
|
cmp #$FE ; CPU:$F5B1 PRG:75B1 C9 FE
|
|
bne Sub_F5B7 ; CPU:$F5B3 PRG:75B3 D0 02
|
|
lda ObjPtr ; CPU:$F5B5 PRG:75B5 A5 13
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F5B7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F5B7:
|
|
sta $0701,x ; CPU:$F5B7 PRG:75B7 9D 01 07
|
|
lda ObjectXHi ; CPU:$F5BA PRG:75BA A5 38
|
|
sta $0700,x ; CPU:$F5BC PRG:75BC 9D 00 07
|
|
inx ; CPU:$F5BF PRG:75BF E8
|
|
inx ; CPU:$F5C0 PRG:75C0 E8
|
|
lda #$00 ; CPU:$F5C1 PRG:75C1 A9 00
|
|
sta $0700,x ; CPU:$F5C3 PRG:75C3 9D 00 07
|
|
inx ; CPU:$F5C6 PRG:75C6 E8
|
|
lda ObjectXLo ; CPU:$F5C7 PRG:75C7 A5 37
|
|
sta $0700,x ; CPU:$F5C9 PRG:75C9 9D 00 07
|
|
inx ; CPU:$F5CC PRG:75CC E8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F5CD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F5CD:
|
|
lda ObjectXLo ; CPU:$F5CD PRG:75CD A5 37
|
|
clc ; CPU:$F5CF PRG:75CF 18
|
|
adc #$08 ; CPU:$F5D0 PRG:75D0 69 08
|
|
sta ObjectXLo ; CPU:$F5D2 PRG:75D2 85 37
|
|
iny ; CPU:$F5D4 PRG:75D4 C8
|
|
jmp DispatchLdaCmpBeqCmpBneRts ; CPU:$F5D5 PRG:75D5 4C A5 F5
|
|
TextTileData:
|
|
; Text strings as font tile indices (tile $0A = 'A', $0B = 'B', ... $24 = space).
|
|
; $FE/$FF and $5C/$6x/$7x/$8x/$9x/$A5 bytes are control codes. Decoded strings:
|
|
; "PLAYER", "GAME OVER", "READY", "SOLVALOU", "LEFT", "PAUSE".
|
|
; ---- data $F5D8-$F61C (69 bytes) ----
|
|
; referenced by `lda $F5D8,y` at $F595 (operand $F5D8 falls inside this region)
|
|
; referenced by `lda $F5DF,y` at $F599 (operand $F5DF falls inside this region)
|
|
; referenced by `lda $F5DF,y` at $F59F (operand $F5DF falls inside this region)
|
|
; referenced by `lda $F5DF,y` at $F5A5 (operand $F5DF falls inside this region)
|
|
.byte $00, $0B, $17, $20, $24, $2F, $36, $58, $60, $19, $15, $0A, $22, $0E, $1B, $24 ; CPU:$F5D8 PRG:75D8 00 0B 17 20 24 2F 36 58 60 19 15 0A 22 0E 1B 24
|
|
.byte $FE, $FF, $68, $5C, $10, $0A, $16, $0E, $24, $18, $1F, $0E, $1B, $FF, $68, $68 ; CPU:$F5E8 PRG:75E8 FE FF 68 5C 10 0A 16 0E 24 18 1F 0E 1B FF 68 68
|
|
.byte $1B, $0E, $0A, $0D, $22, $27, $FF, $78, $80, $FE, $FF, $88, $60, $1C, $18, $15 ; CPU:$F5F8 PRG:75F8 1B 0E 0A 0D 22 27 FF 78 80 FE FF 88 60 1C 18 15
|
|
.byte $1F, $0A, $15, $18, $1E, $FF, $98, $70, $15, $0E, $0F, $1D, $FF, $70, $68, $19 ; CPU:$F608 PRG:7608 1F 0A 15 18 1E FF 98 70 15 0E 0F 1D FF 70 68 19
|
|
.byte $0A, $1E, $1C, $0E, $FF ; CPU:$F618 PRG:7618 0A 1E 1C 0E FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBneStoreStoreLdxLdy
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBneStoreStoreLdxLdy:
|
|
lda Zp60 ; CPU:$F61D PRG:761D A5 60
|
|
bne Sub_F634 ; CPU:$F61F PRG:761F D0 13
|
|
sta ObjectXLo ; CPU:$F621 PRG:7621 85 37
|
|
sta ObjectXHi ; CPU:$F623 PRG:7623 85 38
|
|
ldx #$20 ; CPU:$F625 PRG:7625 A2 20
|
|
ldy #$22 ; CPU:$F627 PRG:7627 A0 22
|
|
lda ResetHi ; CPU:$F629 PRG:7629 A5 3C
|
|
and #$01 ; CPU:$F62B PRG:762B 29 01
|
|
beq Sub_F631 ; CPU:$F62D PRG:762D F0 02
|
|
ldy #$24 ; CPU:$F62F PRG:762F A0 24
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F631
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F631:
|
|
jmp DispatchLdaStoreLdaStoreLdyLda ; CPU:$F631 PRG:7631 4C 20 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F634
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F634:
|
|
rts ; CPU:$F634 PRG:7634 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ObjUpdateCall
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ObjUpdateCall:
|
|
ldx #$20 ; CPU:$F635 PRG:7635 A2 20
|
|
lda GameSubMode ; CPU:$F637 PRG:7637 A5 1B
|
|
and #$10 ; CPU:$F639 PRG:7639 29 10
|
|
bne Sub_F640 ; CPU:$F63B PRG:763B D0 03
|
|
jsr DispatchLdaBneStoreStoreLdxLdy ; CPU:$F63D PRG:763D 20 1D F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F640
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F640:
|
|
lda Zp3B ; CPU:$F640 PRG:7640 A5 3B
|
|
beq Sub_F650 ; CPU:$F642 PRG:7642 F0 0C
|
|
lda ZpEE ; CPU:$F644 PRG:7644 A5 EE
|
|
beq Sub_F64E ; CPU:$F646 PRG:7646 F0 06
|
|
jsr ObjSpawnInit ; CPU:$F648 PRG:7648 20 10 C0
|
|
jmp DispatchJsrStxLdaStoreStoreLda2 ; CPU:$F64B PRG:764B 4C F8 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F64E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F64E:
|
|
sta Zp3B ; CPU:$F64E PRG:764E 85 3B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F650
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F650:
|
|
lda ResetHi ; CPU:$F650 PRG:7650 A5 3C
|
|
and #$01 ; CPU:$F652 PRG:7652 29 01
|
|
asl a ; CPU:$F654 PRG:7654 0A
|
|
asl a ; CPU:$F655 PRG:7655 0A
|
|
tay ; CPU:$F656 PRG:7656 A8
|
|
lda a:$0006,y ; CPU:$F657 PRG:7657 B9 06 00
|
|
ldy Zp60 ; CPU:$F65A PRG:765A A4 60
|
|
beq Sub_F6DC ; CPU:$F65C PRG:765C F0 7E
|
|
ldy #$00 ; CPU:$F65E PRG:765E A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F660
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F660:
|
|
lda $0300,y ; CPU:$F660 PRG:7660 B9 00 03
|
|
beq Sub_F669 ; CPU:$F663 PRG:7663 F0 04
|
|
cmp #$24 ; CPU:$F665 PRG:7665 C9 24
|
|
bne Sub_F694 ; CPU:$F667 PRG:7667 D0 2B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F669
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F669:
|
|
tya ; CPU:$F669 PRG:7669 98
|
|
clc ; CPU:$F66A PRG:766A 18
|
|
adc #$08 ; CPU:$F66B PRG:766B 69 08
|
|
tay ; CPU:$F66D PRG:766D A8
|
|
cmp #$80 ; CPU:$F66E PRG:766E C9 80
|
|
bne Sub_F660 ; CPU:$F670 PRG:7670 D0 EE
|
|
lda GameSubMode ; CPU:$F672 PRG:7672 A5 1B
|
|
and #$1F ; CPU:$F674 PRG:7674 29 1F
|
|
bne Sub_F6D8 ; CPU:$F676 PRG:7676 D0 60
|
|
lda Zp23 ; CPU:$F678 PRG:7678 A5 23
|
|
cmp #$30 ; CPU:$F67A PRG:767A C9 30
|
|
bcc Sub_F68A ; CPU:$F67C PRG:767C 90 0C
|
|
cmp #$C8 ; CPU:$F67E PRG:767E C9 C8
|
|
bcs Sub_F68F ; CPU:$F680 PRG:7680 B0 0D
|
|
jsr DispatchLdaEorEorAslAslRol ; CPU:$F682 PRG:7682 20 5C F5
|
|
and #$F2 ; CPU:$F685 PRG:7685 29 F2
|
|
jmp DispatchStoreLdaOraStaJsrLda ; CPU:$F687 PRG:7687 4C D6 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F68A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F68A:
|
|
lda #$A2 ; CPU:$F68A PRG:768A A9 A2
|
|
jmp DispatchStoreLdaOraStaJsrLda ; CPU:$F68C PRG:768C 4C D6 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F68F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F68F:
|
|
lda #$62 ; CPU:$F68F PRG:768F A9 62
|
|
jmp DispatchStoreLdaOraStaJsrLda ; CPU:$F691 PRG:7691 4C D6 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F694
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F694:
|
|
lda #$03 ; CPU:$F694 PRG:7694 A9 03
|
|
sta Zp59 ; CPU:$F696 PRG:7696 85 59
|
|
lda $0301,y ; CPU:$F698 PRG:7698 B9 01 03
|
|
bne Sub_F669 ; CPU:$F69B PRG:769B D0 CC
|
|
lda $0302,y ; CPU:$F69D PRG:769D B9 02 03
|
|
clc ; CPU:$F6A0 PRG:76A0 18
|
|
adc #$40 ; CPU:$F6A1 PRG:76A1 69 40
|
|
bcs Sub_F6B7 ; CPU:$F6A3 PRG:76A3 B0 12
|
|
sec ; CPU:$F6A5 PRG:76A5 38
|
|
sbc Zp24 ; CPU:$F6A6 PRG:76A6 E5 24
|
|
bcs Sub_F6B3 ; CPU:$F6A8 PRG:76A8 B0 09
|
|
cmp #$F8 ; CPU:$F6AA PRG:76AA C9 F8
|
|
bcs Sub_F6BB ; CPU:$F6AC PRG:76AC B0 0D
|
|
lda #$10 ; CPU:$F6AE PRG:76AE A9 10
|
|
jmp DispatchStoreLdaSecSbcBcsCmp ; CPU:$F6B0 PRG:76B0 4C B9 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6B3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6B3:
|
|
cmp #$08 ; CPU:$F6B3 PRG:76B3 C9 08
|
|
bcc Sub_F6BB ; CPU:$F6B5 PRG:76B5 90 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6B7
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6B7:
|
|
lda #$20 ; CPU:$F6B7 PRG:76B7 A9 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreLdaSecSbcBcsCmp
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreLdaSecSbcBcsCmp:
|
|
sta Zp59 ; CPU:$F6B9 PRG:76B9 85 59
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6BB
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6BB:
|
|
lda $0303,y ; CPU:$F6BB PRG:76BB B9 03 03
|
|
sec ; CPU:$F6BE PRG:76BE 38
|
|
sbc Zp23 ; CPU:$F6BF PRG:76BF E5 23
|
|
bcs Sub_F6CC ; CPU:$F6C1 PRG:76C1 B0 09
|
|
cmp #$F8 ; CPU:$F6C3 PRG:76C3 C9 F8
|
|
bcs Sub_F6D8 ; CPU:$F6C5 PRG:76C5 B0 11
|
|
lda #$40 ; CPU:$F6C7 PRG:76C7 A9 40
|
|
jmp DispatchOraAndStore ; CPU:$F6C9 PRG:76C9 4C D2 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6CC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6CC:
|
|
cmp #$08 ; CPU:$F6CC PRG:76CC C9 08
|
|
bcc Sub_F6D8 ; CPU:$F6CE PRG:76CE 90 08
|
|
lda #$80 ; CPU:$F6D0 PRG:76D0 A9 80
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchOraAndStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchOraAndStore:
|
|
ora Zp59 ; CPU:$F6D2 PRG:76D2 05 59
|
|
and #$FE ; CPU:$F6D4 PRG:76D4 29 FE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchStoreLdaOraStaJsrLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchStoreLdaOraStaJsrLda:
|
|
sta Zp59 ; CPU:$F6D6 PRG:76D6 85 59
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6D8
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6D8:
|
|
lda Zp59 ; CPU:$F6D8 PRG:76D8 A5 59
|
|
ora Zp2E ; CPU:$F6DA PRG:76DA 05 2E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6DC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6DC:
|
|
sta Zp59 ; CPU:$F6DC PRG:76DC 85 59
|
|
jsr DispatchLsrsLsrsLsrsAndTayLda ; CPU:$F6DE PRG:76DE 20 8F F8
|
|
lda #$07 ; CPU:$F6E1 PRG:76E1 A9 07
|
|
jsr DispatchAslTayLdaStoreLdaStore2 ; CPU:$F6E3 PRG:76E3 20 16 F9
|
|
jsr DispatchLdaBneLdaRorBcsLda2; CPU:$F6E6 PRG:76E6 20 65 F7
|
|
jsr DispatchLdyLdaAndBneLdaStore ; CPU:$F6E9 PRG:76E9 20 F4 F7
|
|
stx ObjectDeltaX ; CPU:$F6EC PRG:76EC 86 2D
|
|
rts ; CPU:$F6EE PRG:76EE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F6EF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F6EF:
|
|
lda #$00 ; CPU:$F6EF PRG:76EF A9 00
|
|
sta GameMode ; CPU:$F6F1 PRG:76F1 85 10
|
|
sta Zp42 ; CPU:$F6F3 PRG:76F3 85 42
|
|
sta Zp3B ; CPU:$F6F5 PRG:76F5 85 3B
|
|
rts ; CPU:$F6F7 PRG:76F7 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchJsrStxLdaStoreStoreLda2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchJsrStxLdaStoreStoreLda2:
|
|
jsr DispatchLdaBneStoreStoreLdxLdy ; CPU:$F6F8 PRG:76F8 20 1D F6
|
|
stx ObjectDeltaX ; CPU:$F6FB PRG:76FB 86 2D
|
|
lda #$00 ; CPU:$F6FD PRG:76FD A9 00
|
|
sta Zp30 ; CPU:$F6FF PRG:76FF 85 30
|
|
sta Zp59 ; CPU:$F701 PRG:7701 85 59
|
|
lda Zp3B ; CPU:$F703 PRG:7703 A5 3B
|
|
inc Zp3B ; CPU:$F705 PRG:7705 E6 3B
|
|
lsr a ; CPU:$F707 PRG:7707 4A
|
|
lsr a ; CPU:$F708 PRG:7708 4A
|
|
cmp #$07 ; CPU:$F709 PRG:7709 C9 07
|
|
bcc Sub_F759 ; CPU:$F70B PRG:770B 90 4C
|
|
cmp #$0F ; CPU:$F70D PRG:770D C9 0F
|
|
bcc Sub_F758 ; CPU:$F70F PRG:770F 90 47
|
|
jsr ClearOamInit ; CPU:$F711 PRG:7711 20 D3 B8
|
|
lda Zp60 ; CPU:$F714 PRG:7714 A5 60
|
|
bne Sub_F6EF ; CPU:$F716 PRG:7716 D0 D7
|
|
dec Zp3B ; CPU:$F718 PRG:7718 C6 3B
|
|
lda Zp15 ; CPU:$F71A PRG:771A A5 15
|
|
and #$01 ; CPU:$F71C PRG:771C 29 01
|
|
beq Sub_F758 ; CPU:$F71E PRG:771E F0 38
|
|
lda ScrollY ; CPU:$F720 PRG:7720 A5 03
|
|
sec ; CPU:$F722 PRG:7722 38
|
|
sbc #$01 ; CPU:$F723 PRG:7723 E9 01
|
|
and #$07 ; CPU:$F725 PRG:7725 29 07
|
|
bne Sub_F758 ; CPU:$F727 PRG:7727 D0 2F
|
|
lda Zp8F ; CPU:$F729 PRG:7729 A5 8F
|
|
sec ; CPU:$F72B PRG:772B 38
|
|
sbc Zp66 ; CPU:$F72C PRG:772C E5 66
|
|
bpl Sub_F732 ; CPU:$F72E PRG:772E 10 02
|
|
lda #$00 ; CPU:$F730 PRG:7730 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F732
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F732:
|
|
sta Zp8F ; CPU:$F732 PRG:7732 85 8F
|
|
lda #$00 ; CPU:$F734 PRG:7734 A9 00
|
|
sta Zp5A ; CPU:$F736 PRG:7736 85 5A
|
|
inc Zp8E ; CPU:$F738 PRG:7738 E6 8E
|
|
dec Zp8D ; CPU:$F73A PRG:773A C6 8D
|
|
bne Sub_F750 ; CPU:$F73C PRG:773C D0 12
|
|
lda #$96 ; CPU:$F73E PRG:773E A9 96
|
|
sta Zp5A ; CPU:$F740 PRG:7740 85 5A
|
|
lda ResetHi ; CPU:$F742 PRG:7742 A5 3C
|
|
and #$01 ; CPU:$F744 PRG:7744 29 01
|
|
sta Zp5B ; CPU:$F746 PRG:7746 85 5B
|
|
lda ZpA7 ; CPU:$F748 PRG:7748 A5 A7
|
|
bne Sub_F750 ; CPU:$F74A PRG:774A D0 04
|
|
lda #$02 ; CPU:$F74C PRG:774C A9 02
|
|
sta Zp5B ; CPU:$F74E PRG:774E 85 5B
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F750
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F750:
|
|
lda #$1F ; CPU:$F750 PRG:7750 A9 1F
|
|
sta Zp14 ; CPU:$F752 PRG:7752 85 14
|
|
lda #$01 ; CPU:$F754 PRG:7754 A9 01
|
|
sta GameMode ; CPU:$F756 PRG:7756 85 10
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F758
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F758:
|
|
rts ; CPU:$F758 PRG:7758 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F759
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F759:
|
|
jsr DispatchAslTayLdaStoreLdaStore2 ; CPU:$F759 PRG:7759 20 16 F9
|
|
jsr DispatchLdaBneLdaRorBcsLda2; CPU:$F75C PRG:775C 20 65 F7
|
|
jsr DispatchLdyLdaAndBneLdaStore ; CPU:$F75F PRG:775F 20 F4 F7
|
|
stx ObjectDeltaX ; CPU:$F762 PRG:7762 86 2D
|
|
rts ; CPU:$F764 PRG:7764 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBneLdaRorBcsLda2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBneLdaRorBcsLda2:
|
|
lda $02A0 ; CPU:$F765 PRG:7765 AD A0 02
|
|
bne Sub_F79E ; CPU:$F768 PRG:7768 D0 34
|
|
lda Zp59 ; CPU:$F76A PRG:776A A5 59
|
|
ror a ; CPU:$F76C PRG:776C 6A
|
|
bcs Sub_F77F ; CPU:$F76D PRG:776D B0 10
|
|
lda Zp2E ; CPU:$F76F PRG:776F A5 2E
|
|
beq Sub_F779 ; CPU:$F771 PRG:7771 F0 06
|
|
lda GameSubMode ; CPU:$F773 PRG:7773 A5 1B
|
|
lsr a ; CPU:$F775 PRG:7775 4A
|
|
lsr a ; CPU:$F776 PRG:7776 4A
|
|
and #$01 ; CPU:$F777 PRG:7777 29 01
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F779
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F779:
|
|
clc ; CPU:$F779 PRG:7779 18
|
|
adc #$08 ; CPU:$F77A PRG:777A 69 08
|
|
jmp DispatchAslTayLdaStoreLdaStore2 ; CPU:$F77C PRG:777C 4C 16 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F77F
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F77F:
|
|
inc $02A0 ; CPU:$F77F PRG:777F EE A0 02
|
|
lda Zp23 ; CPU:$F782 PRG:7782 A5 23
|
|
sta $02A3 ; CPU:$F784 PRG:7784 8D A3 02
|
|
inc $02A3 ; CPU:$F787 PRG:7787 EE A3 02
|
|
clc ; CPU:$F78A PRG:778A 18
|
|
adc #$04 ; CPU:$F78B PRG:778B 69 04
|
|
sta $02A1 ; CPU:$F78D PRG:778D 8D A1 02
|
|
lda Zp24 ; CPU:$F790 PRG:7790 A5 24
|
|
sta $02A2 ; CPU:$F792 PRG:7792 8D A2 02
|
|
sec ; CPU:$F795 PRG:7795 38
|
|
sbc #$3F ; CPU:$F796 PRG:7796 E9 3F
|
|
sta $02A4 ; CPU:$F798 PRG:7798 8D A4 02
|
|
inc $060F ; CPU:$F79B PRG:779B EE 0F 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F79E
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F79E:
|
|
lda #$0A ; CPU:$F79E PRG:779E A9 0A
|
|
jsr DispatchAslTayLdaStoreLdaStore2 ; CPU:$F7A0 PRG:77A0 20 16 F9
|
|
ldy #$16 ; CPU:$F7A3 PRG:77A3 A0 16
|
|
lda $02A3 ; CPU:$F7A5 PRG:77A5 AD A3 02
|
|
sta ObjectXLo ; CPU:$F7A8 PRG:77A8 85 37
|
|
lda $02A4 ; CPU:$F7AA PRG:77AA AD A4 02
|
|
sta ObjectXHi ; CPU:$F7AD PRG:77AD 85 38
|
|
clc ; CPU:$F7AF PRG:77AF 18
|
|
adc Zp25 ; CPU:$F7B0 PRG:77B0 65 25
|
|
sta $02A4 ; CPU:$F7B2 PRG:77B2 8D A4 02
|
|
jsr DispatchLdaStoreLdaStoreLdyLda ; CPU:$F7B5 PRG:77B5 20 20 F9
|
|
ldy $02A0 ; CPU:$F7B8 PRG:77B8 AC A0 02
|
|
lda $02A2 ; CPU:$F7BB PRG:77BB AD A2 02
|
|
sta $0700,x ; CPU:$F7BE PRG:77BE 9D 00 07
|
|
clc ; CPU:$F7C1 PRG:77C1 18
|
|
adc Zp25 ; CPU:$F7C2 PRG:77C2 65 25
|
|
sec ; CPU:$F7C4 PRG:77C4 38
|
|
sbc $F976,y ; CPU:$F7C5 PRG:77C5 F9 76 F9
|
|
sta $02A2 ; CPU:$F7C8 PRG:77C8 8D A2 02
|
|
inx ; CPU:$F7CB PRG:77CB E8
|
|
lda $F956,y ; CPU:$F7CC PRG:77CC B9 56 F9
|
|
sta $0700,x ; CPU:$F7CF PRG:77CF 9D 00 07
|
|
inx ; CPU:$F7D2 PRG:77D2 E8
|
|
lda GameSubMode ; CPU:$F7D3 PRG:77D3 A5 1B
|
|
and #$01 ; CPU:$F7D5 PRG:77D5 29 01
|
|
ora #$02 ; CPU:$F7D7 PRG:77D7 09 02
|
|
sta $0700,x ; CPU:$F7D9 PRG:77D9 9D 00 07
|
|
inx ; CPU:$F7DC PRG:77DC E8
|
|
lda $02A1 ; CPU:$F7DD PRG:77DD AD A1 02
|
|
sta $0700,x ; CPU:$F7E0 PRG:77E0 9D 00 07
|
|
inx ; CPU:$F7E3 PRG:77E3 E8
|
|
inc $02A0 ; CPU:$F7E4 PRG:77E4 EE A0 02
|
|
lda $02A0 ; CPU:$F7E7 PRG:77E7 AD A0 02
|
|
cmp #$21 ; CPU:$F7EA PRG:77EA C9 21
|
|
bne Sub_F7F3 ; CPU:$F7EC PRG:77EC D0 05
|
|
lda #$00 ; CPU:$F7EE PRG:77EE A9 00
|
|
sta $02A0 ; CPU:$F7F0 PRG:77F0 8D A0 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F7F3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F7F3:
|
|
rts ; CPU:$F7F3 PRG:77F3 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyLdaAndBneLdaStore
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyLdaAndBneLdaStore:
|
|
ldy #$00 ; CPU:$F7F4 PRG:77F4 A0 00
|
|
lda Zp59 ; CPU:$F7F6 PRG:77F6 A5 59
|
|
and #$02 ; CPU:$F7F8 PRG:77F8 29 02
|
|
bne Sub_F804 ; CPU:$F7FA PRG:77FA D0 08
|
|
lda #$FE ; CPU:$F7FC PRG:77FC A9 FE
|
|
sta $02A5 ; CPU:$F7FE PRG:77FE 8D A5 02
|
|
jmp DispatchLdyJsrLdyJsrLdyLda ; CPU:$F801 PRG:7801 4C 35 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F804
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F804:
|
|
inc $02A5 ; CPU:$F804 PRG:7804 EE A5 02
|
|
bne DispatchLdyJsrLdyJsrLdyLda ; CPU:$F807 PRG:7807 D0 2C
|
|
lda #$F0 ; CPU:$F809 PRG:7809 A9 F0
|
|
clc ; CPU:$F80B PRG:780B 18
|
|
adc Zp60 ; CPU:$F80C PRG:780C 65 60
|
|
sta $02A5 ; CPU:$F80E PRG:780E 8D A5 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F811
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F811:
|
|
lda $02A6,y ; CPU:$F811 PRG:7811 B9 A6 02
|
|
beq Sub_F820 ; CPU:$F814 PRG:7814 F0 0A
|
|
iny ; CPU:$F816 PRG:7816 C8
|
|
iny ; CPU:$F817 PRG:7817 C8
|
|
iny ; CPU:$F818 PRG:7818 C8
|
|
cpy #$09 ; CPU:$F819 PRG:7819 C0 09
|
|
bne Sub_F811 ; CPU:$F81B PRG:781B D0 F4
|
|
jmp DispatchLdyJsrLdyJsrLdyLda ; CPU:$F81D PRG:781D 4C 35 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F820
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F820:
|
|
lda #$FF ; CPU:$F820 PRG:7820 A9 FF
|
|
sta $02A6,y ; CPU:$F822 PRG:7822 99 A6 02
|
|
lda Zp23 ; CPU:$F825 PRG:7825 A5 23
|
|
sta $02A7,y ; CPU:$F827 PRG:7827 99 A7 02
|
|
lda Zp24 ; CPU:$F82A PRG:782A A5 24
|
|
clc ; CPU:$F82C PRG:782C 18
|
|
adc #$0A ; CPU:$F82D PRG:782D 69 0A
|
|
sta $02A8,y ; CPU:$F82F PRG:782F 99 A8 02
|
|
inc $060E ; CPU:$F832 PRG:7832 EE 0E 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdyJsrLdyJsrLdyLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdyJsrLdyJsrLdyLda:
|
|
ldy #$00 ; CPU:$F835 PRG:7835 A0 00
|
|
jsr DispatchLdaBmiBeqLdaStoreLda2 ; CPU:$F837 PRG:7837 20 41 F8
|
|
ldy #$03 ; CPU:$F83A PRG:783A A0 03
|
|
jsr DispatchLdaBmiBeqLdaStoreLda2 ; CPU:$F83C PRG:783C 20 41 F8
|
|
ldy #$06 ; CPU:$F83F PRG:783F A0 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBmiBeqLdaStoreLda2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBmiBeqLdaStoreLda2:
|
|
lda $02A6,y ; CPU:$F841 PRG:7841 B9 A6 02
|
|
bmi Sub_F85D ; CPU:$F844 PRG:7844 30 17
|
|
beq Sub_F85C ; CPU:$F846 PRG:7846 F0 14
|
|
lda #$00 ; CPU:$F848 PRG:7848 A9 00
|
|
sta $02A6,y ; CPU:$F84A PRG:784A 99 A6 02
|
|
lda $02A7,y ; CPU:$F84D PRG:784D B9 A7 02
|
|
sta ObjectXLo ; CPU:$F850 PRG:7850 85 37
|
|
lda $02A8,y ; CPU:$F852 PRG:7852 B9 A8 02
|
|
sta ObjectXHi ; CPU:$F855 PRG:7855 85 38
|
|
ldy #$20 ; CPU:$F857 PRG:7857 A0 20
|
|
jsr DispatchLdaStoreLdaStoreLdyLda ; CPU:$F859 PRG:7859 20 20 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F85C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F85C:
|
|
rts ; CPU:$F85C PRG:785C 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F85D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F85D:
|
|
lda $02A7,y ; CPU:$F85D PRG:785D B9 A7 02
|
|
sta ObjectXLo ; CPU:$F860 PRG:7860 85 37
|
|
lda $02A8,y ; CPU:$F862 PRG:7862 B9 A8 02
|
|
sta ObjectXHi ; CPU:$F865 PRG:7865 85 38
|
|
clc ; CPU:$F867 PRG:7867 18
|
|
adc Zp28 ; CPU:$F868 PRG:7868 65 28
|
|
bcs Sub_F871 ; CPU:$F86A PRG:786A B0 05
|
|
lda #$00 ; CPU:$F86C PRG:786C A9 00
|
|
sta $02A6,y ; CPU:$F86E PRG:786E 99 A6 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F871
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F871:
|
|
sta $02A8,y ; CPU:$F871 PRG:7871 99 A8 02
|
|
lda GameSubMode ; CPU:$F874 PRG:7874 A5 1B
|
|
and #$03 ; CPU:$F876 PRG:7876 29 03
|
|
ora #$0C ; CPU:$F878 PRG:7878 09 0C
|
|
asl a ; CPU:$F87A PRG:787A 0A
|
|
tay ; CPU:$F87B PRG:787B A8
|
|
jmp DispatchLdaStoreLdaStoreLdyLda ; CPU:$F87C PRG:787C 4C 20 F9
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdxLdaTayLdaStoreTya
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdxLdaTayLdaStoreTya:
|
|
ldx #$19 ; CPU:$F87F PRG:787F A2 19
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F881
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F881:
|
|
lda Zp80,x ; CPU:$F881 PRG:7881 B5 80
|
|
tay ; CPU:$F883 PRG:7883 A8
|
|
lda Zp9A,x ; CPU:$F884 PRG:7884 B5 9A
|
|
sta Zp80,x ; CPU:$F886 PRG:7886 95 80
|
|
tya ; CPU:$F888 PRG:7888 98
|
|
sta Zp9A,x ; CPU:$F889 PRG:7889 95 9A
|
|
dex ; CPU:$F88B PRG:788B CA
|
|
bpl Sub_F881 ; CPU:$F88C PRG:788C 10 F3
|
|
rts ; CPU:$F88E PRG:788E 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLsrsLsrsLsrsAndTayLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLsrsLsrsLsrsAndTayLda:
|
|
lsr a ; CPU:$F88F PRG:788F 4A
|
|
lsr a ; CPU:$F890 PRG:7890 4A
|
|
lsr a ; CPU:$F891 PRG:7891 4A
|
|
and #$1E ; CPU:$F892 PRG:7892 29 1E
|
|
tay ; CPU:$F894 PRG:7894 A8
|
|
lda $F89F,y ; CPU:$F895 PRG:7895 B9 9F F8
|
|
pha ; CPU:$F898 PRG:7898 48
|
|
lda $F89E,y ; CPU:$F899 PRG:7899 B9 9E F8
|
|
pha ; CPU:$F89C PRG:789C 48
|
|
rts ; CPU:$F89D PRG:789D 60
|
|
HandlerPtrTable:
|
|
; 16 x 16-bit handler pointers called through pha/pha/rts; each stored value is the
|
|
; target address minus one, because RTS adds one to the popped address.
|
|
; referenced by `lda $F89F,y` at $F895 (operand $F89F falls inside this region)
|
|
; referenced by `lda $F89E,y` at $F899 (operand $F89E falls inside this region)
|
|
; ---- data $F89E-$F8BD (32 bytes) ----
|
|
.byte $DC, $F8, $C0, $F8, $D0, $F8, $DC, $F8, $DD, $F8, $BD, $F8, $E9, $F8, $DC, $F8 ; CPU:$F89E PRG:789E DC F8 C0 F8 D0 F8 DC F8 DD F8 BD F8 E9 F8 DC F8
|
|
.byte $F9, $F8, $05, $F9, $CD, $F8, $DC, $F8, $DC, $F8, $DC, $F8, $DC, $F8, $DC, $F8 ; CPU:$F8AE PRG:78AE F9 F8 05 F9 CD F8 DC F8 DC F8 DC F8 DC F8 DC F8
|
|
jsr Sub_F8ED ; CPU:$F8BE PRG:78BE 20 ED F8
|
|
Sub_F8C1:
|
|
dec Zp24 ; CPU:$F8C1 PRG:78C1 C6 24
|
|
lda Zp24 ; CPU:$F8C3 PRG:78C3 A5 24
|
|
cmp #$50 ; CPU:$F8C5 PRG:78C5 C9 50
|
|
bcs Sub_F8DD ; CPU:$F8C7 PRG:78C7 B0 14
|
|
lda #$50 ; CPU:$F8C9 PRG:78C9 A9 50
|
|
sta Zp24 ; CPU:$F8CB PRG:78CB 85 24
|
|
rts ; CPU:$F8CD PRG:78CD 60
|
|
jsr Sub_F909 ; CPU:$F8CE PRG:78CE 20 09 F9
|
|
Sub_F8D1:
|
|
inc Zp24 ; CPU:$F8D1 PRG:78D1 E6 24
|
|
lda Zp24 ; CPU:$F8D3 PRG:78D3 A5 24
|
|
cmp #$D8 ; CPU:$F8D5 PRG:78D5 C9 D8
|
|
bcc Sub_F8DD ; CPU:$F8D7 PRG:78D7 90 04
|
|
lda #$D8 ; CPU:$F8D9 PRG:78D9 A9 D8
|
|
sta Zp24 ; CPU:$F8DB PRG:78DB 85 24
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F8DD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F8DD:
|
|
rts ; CPU:$F8DD PRG:78DD 60
|
|
lda GameSubMode ; CPU:$F8DE PRG:78DE A5 1B
|
|
and #$01 ; CPU:$F8E0 PRG:78E0 29 01
|
|
bne Sub_F8ED ; CPU:$F8E2 PRG:78E2 D0 09
|
|
jsr Sub_F8ED ; CPU:$F8E4 PRG:78E4 20 ED F8
|
|
jmp Sub_F8ED ; CPU:$F8E7 PRG:78E7 4C ED F8
|
|
jsr Sub_F8D1 ; CPU:$F8EA PRG:78EA 20 D1 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F8ED
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F8ED:
|
|
dec Zp23 ; CPU:$F8ED PRG:78ED C6 23
|
|
lda Zp23 ; CPU:$F8EF PRG:78EF A5 23
|
|
cmp #$04 ; CPU:$F8F1 PRG:78F1 C9 04
|
|
bcs Sub_F8DD ; CPU:$F8F3 PRG:78F3 B0 E8
|
|
; ---- data $F8F5-$F8F9 (5 bytes) ----
|
|
.byte $A9, $04, $85, $23, $60 ; CPU:$F8F5 PRG:78F5 A9 04 85 23 60
|
|
lda GameSubMode ; CPU:$F8FA PRG:78FA A5 1B
|
|
and #$01 ; CPU:$F8FC PRG:78FC 29 01
|
|
bne Sub_F909 ; CPU:$F8FE PRG:78FE D0 09
|
|
jsr Sub_F909 ; CPU:$F900 PRG:7900 20 09 F9
|
|
jmp Sub_F909 ; CPU:$F903 PRG:7903 4C 09 F9
|
|
jsr Sub_F8C1 ; CPU:$F906 PRG:7906 20 C1 F8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F909
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F909:
|
|
inc Zp23 ; CPU:$F909 PRG:7909 E6 23
|
|
lda Zp23 ; CPU:$F90B PRG:790B A5 23
|
|
cmp #$EC ; CPU:$F90D PRG:790D C9 EC
|
|
bcc Sub_F8DD ; CPU:$F90F PRG:790F 90 CC
|
|
; ---- data $F911-$F915 (5 bytes) ----
|
|
.byte $A9, $EC, $85, $23, $60 ; CPU:$F911 PRG:7911 A9 EC 85 23 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchAslTayLdaStoreLdaStore2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchAslTayLdaStoreLdaStore2:
|
|
asl a ; CPU:$F916 PRG:7916 0A
|
|
tay ; CPU:$F917 PRG:7917 A8
|
|
lda Zp23 ; CPU:$F918 PRG:7918 A5 23
|
|
sta ObjectXLo ; CPU:$F91A PRG:791A 85 37
|
|
lda Zp24 ; CPU:$F91C PRG:791C A5 24
|
|
sta ObjectXHi ; CPU:$F91E PRG:791E 85 38
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaStoreLdaStoreLdyLda
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaStoreLdaStoreLdyLda:
|
|
lda $F997,y ; CPU:$F920 PRG:7920 B9 97 F9
|
|
sta VramPtrLo ; CPU:$F923 PRG:7923 85 04
|
|
lda $F998,y ; CPU:$F925 PRG:7925 B9 98 F9
|
|
sta VramCopyCount ; CPU:$F928 PRG:7928 85 05
|
|
ldy #$00 ; CPU:$F92A PRG:792A A0 00
|
|
lda (VramPtrLo),y ; CPU:$F92C PRG:792C B1 04
|
|
sta ObjUpdateFlag ; CPU:$F92E PRG:792E 85 0E
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_F930
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_F930:
|
|
iny ; CPU:$F930 PRG:7930 C8
|
|
lda (VramPtrLo),y ; CPU:$F931 PRG:7931 B1 04
|
|
clc ; CPU:$F933 PRG:7933 18
|
|
adc ObjectXHi ; CPU:$F934 PRG:7934 65 38
|
|
sta $0700,x ; CPU:$F936 PRG:7936 9D 00 07
|
|
inx ; CPU:$F939 PRG:7939 E8
|
|
iny ; CPU:$F93A PRG:793A C8
|
|
lda (VramPtrLo),y ; CPU:$F93B PRG:793B B1 04
|
|
sta $0700,x ; CPU:$F93D PRG:793D 9D 00 07
|
|
inx ; CPU:$F940 PRG:7940 E8
|
|
iny ; CPU:$F941 PRG:7941 C8
|
|
lda (VramPtrLo),y ; CPU:$F942 PRG:7942 B1 04
|
|
sta $0700,x ; CPU:$F944 PRG:7944 9D 00 07
|
|
inx ; CPU:$F947 PRG:7947 E8
|
|
iny ; CPU:$F948 PRG:7948 C8
|
|
lda (VramPtrLo),y ; CPU:$F949 PRG:7949 B1 04
|
|
clc ; CPU:$F94B PRG:794B 18
|
|
adc ObjectXLo ; CPU:$F94C PRG:794C 65 37
|
|
sta $0700,x ; CPU:$F94E PRG:794E 9D 00 07
|
|
inx ; CPU:$F951 PRG:7951 E8
|
|
dec ObjUpdateFlag ; CPU:$F952 PRG:7952 C6 0E
|
|
bne Sub_F930 ; CPU:$F954 PRG:7954 D0 DA
|
|
rts ; CPU:$F956 PRG:7956 60
|
|
; ---- data $F957-$F976 (32 bytes) ----
|
|
; referenced by `sbc $F976,y` at $F7C5 (operand $F976 falls inside this region)
|
|
; 32 speed bytes indexed by object number through the base $F956 (index 1 -> $F957);
|
|
; read by lda $F956,y at $F7CC and stored to $0700,x.
|
|
ObjSpeedTable:
|
|
.byte $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D0, $D1, $D1, $D1, $D1, $D1, $D1 ; CPU:$F957 PRG:7957 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D1 D1 D1 D1 D1 D1
|
|
.byte $DF, $DF, $DF, $DF, $DF, $DE, $DE, $DE, $DE, $DE, $D3, $D3, $D3, $D3, $D2, $D2 ; CPU:$F967 PRG:7967 DF DF DF DF DF DE DE DE DE DE D3 D3 D3 D3 D2 D2
|
|
; ---- data $F977-$F996 (32 bytes) ----
|
|
; 32 speed bytes indexed through the base $F976 (index 1 -> $F977); subtracted
|
|
; from $02A2 by sbc $F976,y at $F7C5.
|
|
ObjSpeedTable2:
|
|
.byte $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $02 ; CPU:$F977 PRG:7977 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 02
|
|
.byte $02, $02, $02, $02, $02, $02, $03, $03, $03, $03, $03, $03, $04, $04, $04, $04 ; CPU:$F987 PRG:7987 02 02 02 02 02 02 03 03 03 03 03 03 04 04 04 04
|
|
; ---- data $F997-$F9BC (38 bytes) ----
|
|
; referenced by `lda $F997,y` at $F920 (operand $F997 falls inside this region)
|
|
; referenced by `lda $F998,y` at $F925 (operand $F998 falls inside this region)
|
|
; 19 x 16-bit pointers to the records at $F9BD-$FAF5 (read by lda $F997,y /
|
|
; lda $F998,y at $F920 / $F925).
|
|
SpriteLayoutPtrTable:
|
|
.byte $BD, $F9, $DE, $F9, $EF, $F9, $00, $FA, $29, $FA, $EF, $F9, $DE, $F9, $6A, $FA ; CPU:$F997 PRG:7997 BD F9 DE F9 EF F9 00 FA 29 FA EF F9 DE F9 6A FA
|
|
.byte $7B, $FA, $8C, $FA, $9D, $FA, $A6, $FA, $AF, $FA, $B8, $FA, $C1, $FA, $CA, $FA ; CPU:$F9A7 PRG:79A7 7B FA 8C FA 9D FA A6 FA AF FA B8 FA C1 FA CA FA
|
|
.byte $D3, $FA, $DC, $FA, $E9, $FA ; CPU:$F9B7 PRG:79B7 D3 FA DC FA E9 FA
|
|
; ---- data $F9BD-$FAF5 (313 bytes) ----
|
|
; Sprite layout records: 4-byte entries (x offset, y offset, tile index, attribute).
|
|
SpriteLayoutData:
|
|
.byte $08, $00, $37, $03, $00, $00, $39, $03, $08, $08, $5E, $03, $00, $08, $3B, $03 ; CPU:$F9BD PRG:79BD 08 00 37 03 00 00 39 03 08 08 5E 03 00 08 3B 03
|
|
.byte $08, $00, $2A, $82, $00, $00, $2B, $82, $08, $08, $28, $82, $00, $08, $29, $82 ; CPU:$F9CD PRG:79CD 08 00 2A 82 00 00 2B 82 08 08 28 82 00 08 29 82
|
|
.byte $08, $04, $00, $39, $43, $00, $00, $37, $43, $08, $08, $3B, $43, $00, $08, $39 ; CPU:$F9DD PRG:79DD 08 04 00 39 43 00 00 37 43 08 08 3B 43 00 08 39
|
|
.byte $83, $08, $04, $00, $68, $03, $00, $00, $3B, $83, $08, $08, $37, $83, $00, $08 ; CPU:$F9ED PRG:79ED 83 08 04 00 68 03 00 00 3B 83 08 08 37 83 00 08
|
|
.byte $68, $C3, $08, $0A, $00, $FC, $03, $00, $F8, $C8, $03, $08, $F8, $C9, $03, $10 ; CPU:$F9FD PRG:79FD 68 C3 08 0A 00 FC 03 00 F8 C8 03 08 F8 C9 03 10
|
|
.byte $00, $CA, $03, $08, $00, $CB, $03, $10, $08, $CB, $C3, $F8, $08, $CA, $C3, $00 ; CPU:$FA0D PRG:7A0D 00 CA 03 08 00 CB 03 10 08 CB C3 F8 08 CA C3 00
|
|
.byte $08, $FC, $C3, $08, $10, $C9, $C3, $F8, $10, $C8, $C3, $00, $10, $F8, $C9, $43 ; CPU:$FA1D PRG:7A1D 08 FC C3 08 10 C9 C3 F8 10 C8 C3 00 10 F8 C9 43
|
|
.byte $F8, $F8, $C8, $43, $00, $F8, $C8, $03, $08, $F8, $C9, $03, $10, $00, $CB, $43 ; CPU:$FA2D PRG:7A2D F8 F8 C8 43 00 F8 C8 03 08 F8 C9 03 10 00 CB 43
|
|
.byte $F8, $00, $CA, $43, $00, $00, $CA, $03, $08, $00, $CB, $03, $10, $08, $CB, $C3 ; CPU:$FA3D PRG:7A3D F8 00 CA 43 00 00 CA 03 08 00 CB 03 10 08 CB C3
|
|
.byte $F8, $08, $CA, $C3, $00, $08, $CA, $83, $08, $08, $CB, $83, $10, $10, $C9, $C3 ; CPU:$FA4D PRG:7A4D F8 08 CA C3 00 08 CA 83 08 08 CB 83 10 10 C9 C3
|
|
.byte $F8, $10, $C8, $C3, $00, $10, $C8, $83, $08, $10, $C9, $83, $10, $04, $00, $28 ; CPU:$FA5D PRG:7A5D F8 10 C8 C3 00 10 C8 83 08 10 C9 83 10 04 00 28
|
|
.byte $02, $00, $00, $29, $02, $08, $08, $2A, $02, $00, $08, $2B, $02, $08, $04, $C0 ; CPU:$FA6D PRG:7A6D 02 00 00 29 02 08 08 2A 02 00 08 2B 02 08 04 C0
|
|
.byte $2C, $02, $00, $C0, $2C, $42, $08, $C8, $2C, $82, $00, $C8, $2C, $C2, $08, $04 ; CPU:$FA7D PRG:7A7D 2C 02 00 C0 2C 42 08 C8 2C 82 00 C8 2C C2 08 04
|
|
.byte $C0, $2F, $02, $00, $C0, $2F, $42, $08, $C8, $2F, $82, $00, $C8, $2F, $C2, $08 ; CPU:$FA8D PRG:7A8D C0 2F 02 00 C0 2F 42 08 C8 2F 82 00 C8 2F C2 08
|
|
.byte $02, $C1, $2D, $02, $01, $C7, $2D, $C2, $07, $02, $00, $2E, $03, $00, $06, $2E ; CPU:$FA9D PRG:7A9D 02 C1 2D 02 01 C7 2D C2 07 02 00 2E 03 00 06 2E
|
|
.byte $C3, $06, $02, $00, $DE, $02, $00, $00, $DF, $03, $08, $02, $00, $DE, $03, $00 ; CPU:$FAAD PRG:7AAD C3 06 02 00 DE 02 00 00 DF 03 08 02 00 DE 03 00
|
|
.byte $00, $DF, $02, $08, $02, $00, $DF, $02, $00, $00, $DE, $03, $08, $02, $00, $DF ; CPU:$FABD PRG:7ABD 00 DF 02 08 02 00 DF 02 00 00 DE 03 08 02 00 DF
|
|
.byte $03, $00, $00, $DE, $02, $08, $02, $00, $7B, $01, $00, $00, $7B, $01, $08, $03 ; CPU:$FACD PRG:7ACD 03 00 00 DE 02 08 02 00 7B 01 00 00 7B 01 08 03
|
|
.byte $10, $01, $02, $18, $10, $1E, $02, $20, $10, $19, $02, $28, $03, $10, $02, $02 ; CPU:$FADD PRG:7ADD 10 01 02 18 10 1E 02 20 10 19 02 28 03 10 02 02
|
|
.byte $A8, $10, $1E, $02, $B0, $10, $19, $02, $B8 ; CPU:$FAED PRG:7AED A8 10 1E 02 B0 10 19 02 B8
|
|
; -----------------------------------------------------------------------------
|
|
; 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:$FAF6 PRG:7AF6 78
|
|
cld ; CPU:$FAF7 PRG:7AF7 D8
|
|
ldx #$FF ; CPU:$FAF8 PRG:7AF8 A2 FF
|
|
txs ; CPU:$FAFA PRG:7AFA 9A
|
|
lda #$10 ; CPU:$FAFB PRG:7AFB A9 10
|
|
sta PPUCTRL ; CPU:$FAFD PRG:7AFD 8D 00 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: WaitVblank
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
WaitVblank:
|
|
lda PPUSTATUS ; CPU:$FB00 PRG:7B00 AD 02 20
|
|
bpl WaitVblank ; CPU:$FB03 PRG:7B03 10 FB
|
|
ldx #$07 ; CPU:$FB05 PRG:7B05 A2 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyResetVars
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyResetVars:
|
|
lda Zp4B,x ; CPU:$FB07 PRG:7B07 B5 4B
|
|
sta $0110,x ; CPU:$FB09 PRG:7B09 9D 10 01
|
|
lda Zp80,x ; CPU:$FB0C PRG:7B0C B5 80
|
|
sta $0120,x ; CPU:$FB0E PRG:7B0E 9D 20 01
|
|
lda Zp9A,x ; CPU:$FB11 PRG:7B11 B5 9A
|
|
sta $0130,x ; CPU:$FB13 PRG:7B13 9D 30 01
|
|
dex ; CPU:$FB16 PRG:7B16 CA
|
|
bpl CopyResetVars ; CPU:$FB17 PRG:7B17 10 EE
|
|
lda Zp5E ; CPU:$FB19 PRG:7B19 A5 5E
|
|
sta $0140 ; CPU:$FB1B PRG:7B1B 8D 40 01
|
|
lda ObjIndex ; CPU:$FB1E PRG:7B1E A5 63
|
|
sta $0141 ; CPU:$FB20 PRG:7B20 8D 41 01
|
|
lda ResetHi ; CPU:$FB23 PRG:7B23 A5 3C
|
|
sta $0142 ; CPU:$FB25 PRG:7B25 8D 42 01
|
|
ldy #$07 ; CPU:$FB28 PRG:7B28 A0 07
|
|
sty VramCopyCount ; CPU:$FB2A PRG:7B2A 84 05
|
|
ldy #$00 ; CPU:$FB2C PRG:7B2C A0 00
|
|
sty VramPtrLo ; CPU:$FB2E PRG:7B2E 84 04
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearVramByte
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearVramByte:
|
|
lda #$00 ; CPU:$FB30 PRG:7B30 A9 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ClearVramLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ClearVramLoop:
|
|
sta (VramPtrLo),y ; CPU:$FB32 PRG:7B32 91 04
|
|
iny ; CPU:$FB34 PRG:7B34 C8
|
|
bne ClearVramLoop ; CPU:$FB35 PRG:7B35 D0 FB
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: VramClearLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
VramClearLoop:
|
|
dec VramCopyCount ; CPU:$FB37 PRG:7B37 C6 05
|
|
lda VramCopyCount ; CPU:$FB39 PRG:7B39 A5 05
|
|
cmp #$01 ; CPU:$FB3B PRG:7B3B C9 01
|
|
beq VramClearLoop ; CPU:$FB3D PRG:7B3D F0 F8
|
|
lda VramCopyCount ; CPU:$FB3F PRG:7B3F A5 05
|
|
bpl ClearVramByte ; CPU:$FB41 PRG:7B41 10 ED
|
|
jsr SetOamPtrs ; CPU:$FB43 PRG:7B43 20 AB B8
|
|
lda #$06 ; CPU:$FB46 PRG:7B46 A9 06
|
|
sta PPUMASK ; CPU:$FB48 PRG:7B48 8D 01 20
|
|
lda #$1E ; CPU:$FB4B PRG:7B4B A9 1E
|
|
sta PPUMASKShadow ; CPU:$FB4D PRG:7B4D 85 01
|
|
lda #$10 ; CPU:$FB4F PRG:7B4F A9 10
|
|
sta PPUCTRL ; CPU:$FB51 PRG:7B51 8D 00 20
|
|
sta PPUCTRLShadow ; CPU:$FB54 PRG:7B54 85 00
|
|
lda #$00 ; CPU:$FB56 PRG:7B56 A9 00
|
|
sta PPUSCROLL ; CPU:$FB58 PRG:7B58 8D 05 20
|
|
sta ScrollX ; CPU:$FB5B PRG:7B5B 85 02
|
|
sta PPUSCROLL ; CPU:$FB5D PRG:7B5D 8D 05 20
|
|
sta ScrollY ; CPU:$FB60 PRG:7B60 85 03
|
|
lda #$00 ; CPU:$FB62 PRG:7B62 A9 00
|
|
sta PPUMASK ; CPU:$FB64 PRG:7B64 8D 01 20
|
|
lda PPUSTATUS ; CPU:$FB67 PRG:7B67 AD 02 20
|
|
lda #$3F ; CPU:$FB6A PRG:7B6A A9 3F
|
|
sta PPUADDR ; CPU:$FB6C PRG:7B6C 8D 06 20
|
|
lda #$00 ; CPU:$FB6F PRG:7B6F A9 00
|
|
sta PPUADDR ; CPU:$FB71 PRG:7B71 8D 06 20
|
|
ldy #$00 ; CPU:$FB74 PRG:7B74 A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyPaletteToOam
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyPaletteToOam:
|
|
lda PaletteData,y ; CPU:$FB76 PRG:7B76 B9 E6 FE
|
|
sta $0280,y ; CPU:$FB79 PRG:7B79 99 80 02
|
|
sta PPUDATA ; CPU:$FB7C PRG:7B7C 8D 07 20
|
|
iny ; CPU:$FB7F PRG:7B7F C8
|
|
cpy #$20 ; CPU:$FB80 PRG:7B80 C0 20
|
|
bne CopyPaletteToOam ; CPU:$FB82 PRG:7B82 D0 F2
|
|
lda #$F8 ; CPU:$FB84 PRG:7B84 A9 F8
|
|
sta Zp28 ; CPU:$FB86 PRG:7B86 85 28
|
|
lda #$08 ; CPU:$FB88 PRG:7B88 A9 08
|
|
sta Zp27 ; CPU:$FB8A PRG:7B8A 85 27
|
|
sta SpriteAttr ; CPU:$FB8C PRG:7B8C 85 E8
|
|
lda #$02 ; CPU:$FB8E PRG:7B8E A9 02
|
|
sta Zp4E ; CPU:$FB90 PRG:7B90 85 4E
|
|
inc Zp5E ; CPU:$FB92 PRG:7B92 E6 5E
|
|
ldx #$08 ; CPU:$FB94 PRG:7B94 A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CompareResetVars
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CompareResetVars:
|
|
lda $0100,x ; CPU:$FB96 PRG:7B96 BD 00 01
|
|
cmp $FC45,x ; CPU:$FB99 PRG:7B99 DD 45 FC
|
|
bne CopyResetLoop ; CPU:$FB9C PRG:7B9C D0 26
|
|
dex ; CPU:$FB9E PRG:7B9E CA
|
|
bpl CompareResetVars ; CPU:$FB9F PRG:7B9F 10 F5
|
|
ldx #$07 ; CPU:$FBA1 PRG:7BA1 A2 07
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyResetVars2
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyResetVars2:
|
|
lda $0110,x ; CPU:$FBA3 PRG:7BA3 BD 10 01
|
|
sta Zp4B,x ; CPU:$FBA6 PRG:7BA6 95 4B
|
|
lda $0120,x ; CPU:$FBA8 PRG:7BA8 BD 20 01
|
|
sta Zp80,x ; CPU:$FBAB PRG:7BAB 95 80
|
|
lda $0130,x ; CPU:$FBAD PRG:7BAD BD 30 01
|
|
sta Zp9A,x ; CPU:$FBB0 PRG:7BB0 95 9A
|
|
dex ; CPU:$FBB2 PRG:7BB2 CA
|
|
bpl CopyResetVars2 ; CPU:$FBB3 PRG:7BB3 10 EE
|
|
lda $0140 ; CPU:$FBB5 PRG:7BB5 AD 40 01
|
|
sta Zp5E ; CPU:$FBB8 PRG:7BB8 85 5E
|
|
lda $0141 ; CPU:$FBBA PRG:7BBA AD 41 01
|
|
sta ObjIndex ; CPU:$FBBD PRG:7BBD 85 63
|
|
lda $0142 ; CPU:$FBBF PRG:7BBF AD 42 01
|
|
sta ResetHi ; CPU:$FBC2 PRG:7BC2 85 3C
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyResetLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyResetLoop:
|
|
ldx #$08 ; CPU:$FBC4 PRG:7BC4 A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: CopyResetByte
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
CopyResetByte:
|
|
lda $FC45,x ; CPU:$FBC6 PRG:7BC6 BD 45 FC
|
|
sta $0100,x ; CPU:$FBC9 PRG:7BC9 9D 00 01
|
|
dex ; CPU:$FBCC PRG:7BCC CA
|
|
bpl CopyResetByte ; CPU:$FBCD PRG:7BCD 10 F7
|
|
lda ObjIndex ; CPU:$FBCF PRG:7BCF A5 63
|
|
and #$80 ; CPU:$FBD1 PRG:7BD1 29 80
|
|
eor #$80 ; CPU:$FBD3 PRG:7BD3 49 80
|
|
sta ZpEE ; CPU:$FBD5 PRG:7BD5 85 EE
|
|
lda ObjIndex ; CPU:$FBD7 PRG:7BD7 A5 63
|
|
lsr a ; CPU:$FBD9 PRG:7BD9 4A
|
|
lsr a ; CPU:$FBDA PRG:7BDA 4A
|
|
and #$1C ; CPU:$FBDB PRG:7BDB 29 1C
|
|
tax ; CPU:$FBDD PRG:7BDD AA
|
|
lda $FC25,x ; CPU:$FBDE PRG:7BDE BD 25 FC
|
|
sta Zp53 ; CPU:$FBE1 PRG:7BE1 85 53
|
|
lda $FC26,x ; CPU:$FBE3 PRG:7BE3 BD 26 FC
|
|
sta Zp54 ; CPU:$FBE6 PRG:7BE6 85 54
|
|
lda $FC27,x ; CPU:$FBE8 PRG:7BE8 BD 27 FC
|
|
sta Zp55 ; CPU:$FBEB PRG:7BEB 85 55
|
|
lda $FC28,x ; CPU:$FBED PRG:7BED BD 28 FC
|
|
sta Zp56 ; CPU:$FBF0 PRG:7BF0 85 56
|
|
lda ObjIndex ; CPU:$FBF2 PRG:7BF2 A5 63
|
|
and #$03 ; CPU:$FBF4 PRG:7BF4 29 03
|
|
tax ; CPU:$FBF6 PRG:7BF6 AA
|
|
lda $FC21,x ; CPU:$FBF7 PRG:7BF7 BD 21 FC
|
|
sta Zp5F ; CPU:$FBFA PRG:7BFA 85 5F
|
|
lda ObjIndex ; CPU:$FBFC PRG:7BFC A5 63
|
|
lsr a ; CPU:$FBFE PRG:7BFE 4A
|
|
lsr a ; CPU:$FBFF PRG:7BFF 4A
|
|
and #$03 ; CPU:$FC00 PRG:7C00 29 03
|
|
tax ; CPU:$FC02 PRG:7C02 AA
|
|
lda $FC19,x ; CPU:$FC03 PRG:7C03 BD 19 FC
|
|
sta Zp40 ; CPU:$FC06 PRG:7C06 85 40
|
|
lda $FC1D,x ; CPU:$FC08 PRG:7C08 BD 1D FC
|
|
sta Zp66 ; CPU:$FC0B PRG:7C0B 85 66
|
|
lda PPUCTRLShadow ; CPU:$FC0D PRG:7C0D A5 00
|
|
ora #$80 ; CPU:$FC0F PRG:7C0F 09 80
|
|
sta PPUCTRLShadow ; CPU:$FC11 PRG:7C11 85 00
|
|
sta PPUCTRL ; CPU:$FC13 PRG:7C13 8D 00 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiSpinLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiSpinLoop:
|
|
jmp NmiSpinLoop ; CPU:$FC16 PRG:7C16 4C 16 FC
|
|
; ---- data $FC19-$FC4D (53 bytes) ----
|
|
ResetVarTable:
|
|
; referenced by `cmp $FC45,x` at $FB99 (operand $FC45 falls inside this region)
|
|
; referenced by `lda $FC45,x` at $FBC6 (operand $FC45 falls inside this region)
|
|
; referenced by `lda $FC25,x` at $FBDE (operand $FC25 falls inside this region)
|
|
; referenced by `lda $FC26,x` at $FBE3 (operand $FC26 falls inside this region)
|
|
; referenced by `lda $FC27,x` at $FBE8 (operand $FC27 falls inside this region)
|
|
; referenced by `lda $FC28,x` at $FBED (operand $FC28 falls inside this region)
|
|
; ... and 3 further references from decoded code
|
|
.byte $01, $FF, $05, $09, $10, $18, $08, $00, $03, $01, $02, $05, $00, $02, $00, $06 ; CPU:$FC19 PRG:7C19 01 FF 05 09 10 18 08 00 03 01 02 05 00 02 00 06
|
|
.byte $00, $02, $00, $05, $00, $02, $00, $08, $00, $03, $00, $08, $00, $03, $01, $02 ; CPU:$FC29 PRG:7C29 00 02 00 05 00 02 00 08 00 03 00 08 00 03 01 02
|
|
.byte $00, $04, $00, $08, $00, $04, $01, $00, $00, $05, $01, $05, $4B, $65, $69, $20 ; CPU:$FC39 PRG:7C39 00 04 00 08 00 04 01 00 00 05 01 05 4B 65 69 20
|
|
.byte $43, $72, $6F, $73, $73 ; CPU:$FC49 PRG:7C49 43 72 6F 73 73
|
|
; -----------------------------------------------------------------------------
|
|
; 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:
|
|
lda PPUCTRLShadow ; CPU:$FC4E PRG:7C4E A5 00
|
|
eor NmiToggle ; CPU:$FC50 PRG:7C50 45 0F
|
|
and #$7F ; CPU:$FC52 PRG:7C52 29 7F
|
|
sta PPUCTRL ; CPU:$FC54 PRG:7C54 8D 00 20
|
|
sta PPUCTRLShadow ; CPU:$FC57 PRG:7C57 85 00
|
|
lda #$00 ; CPU:$FC59 PRG:7C59 A9 00
|
|
sta OAMADDR ; CPU:$FC5B PRG:7C5B 8D 03 20
|
|
lda #$07 ; CPU:$FC5E PRG:7C5E A9 07
|
|
sta OAMDMA ; CPU:$FC60 PRG:7C60 8D 14 40
|
|
lda #$00 ; CPU:$FC63 PRG:7C63 A9 00
|
|
sta PPUMASK ; CPU:$FC65 PRG:7C65 8D 01 20
|
|
jsr NmiOamDmaCopy ; CPU:$FC68 PRG:7C68 20 0A FE
|
|
lda #$3F ; CPU:$FC6B PRG:7C6B A9 3F
|
|
sta PPUADDR ; CPU:$FC6D PRG:7C6D 8D 06 20
|
|
lda #$00 ; CPU:$FC70 PRG:7C70 A9 00
|
|
sta PPUADDR ; CPU:$FC72 PRG:7C72 8D 06 20
|
|
sta PPUADDR ; CPU:$FC75 PRG:7C75 8D 06 20
|
|
sta PPUADDR ; CPU:$FC78 PRG:7C78 8D 06 20
|
|
lda PPUSTATUS ; CPU:$FC7B PRG:7C7B AD 02 20
|
|
lda ScrollX ; CPU:$FC7E PRG:7C7E A5 02
|
|
sta PPUSCROLL ; CPU:$FC80 PRG:7C80 8D 05 20
|
|
lda ScrollY ; CPU:$FC83 PRG:7C83 A5 03
|
|
sta PPUSCROLL ; CPU:$FC85 PRG:7C85 8D 05 20
|
|
lda PPUCTRLShadow ; CPU:$FC88 PRG:7C88 A5 00
|
|
sta PPUCTRL ; CPU:$FC8A PRG:7C8A 8D 00 20
|
|
lda PPUMASKShadow ; CPU:$FC8D PRG:7C8D A5 01
|
|
sta PPUMASK ; CPU:$FC8F PRG:7C8F 8D 01 20
|
|
lda #$00 ; CPU:$FC92 PRG:7C92 A9 00
|
|
sta Zp25 ; CPU:$FC94 PRG:7C94 85 25
|
|
sta NmiToggle ; CPU:$FC96 PRG:7C96 85 0F
|
|
jsr ReadJoypad ; CPU:$FC98 PRG:7C98 20 37 FE
|
|
lda GameMode ; CPU:$FC9B PRG:7C9B A5 10
|
|
bne Sub_FCCA ; CPU:$FC9D PRG:7C9D D0 2B
|
|
sta FrameToggle ; CPU:$FC9F PRG:7C9F 85 22
|
|
lda Joypad2Cur2 ; CPU:$FCA1 PRG:7CA1 A5 0A
|
|
and #$03 ; CPU:$FCA3 PRG:7CA3 29 03
|
|
beq NmiClearOam ; CPU:$FCA5 PRG:7CA5 F0 67
|
|
lda NmiFrameFlag ; CPU:$FCA7 PRG:7CA7 A5 0D
|
|
beq NmiClearOam ; CPU:$FCA9 PRG:7CA9 F0 63
|
|
ldy NmiCounter ; CPU:$FCAB PRG:7CAB A4 ED
|
|
lda $FF06,y ; CPU:$FCAD PRG:7CAD B9 06 FF
|
|
beq NmiClearOam ; CPU:$FCB0 PRG:7CB0 F0 5C
|
|
sta SpriteAttr ; CPU:$FCB2 PRG:7CB2 85 E8
|
|
cmp NmiFrameFlag ; CPU:$FCB4 PRG:7CB4 C5 0D
|
|
beq Sub_FCBF ; CPU:$FCB6 PRG:7CB6 F0 07
|
|
lda #$00 ; CPU:$FCB8 PRG:7CB8 A9 00
|
|
sta NmiCounter ; CPU:$FCBA PRG:7CBA 85 ED
|
|
jmp NmiClearOam ; CPU:$FCBC PRG:7CBC 4C 0E FD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FCBF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FCBF:
|
|
inc NmiCounter ; CPU:$FCBF PRG:7CBF E6 ED
|
|
iny ; CPU:$FCC1 PRG:7CC1 C8
|
|
lda $FF06,y ; CPU:$FCC2 PRG:7CC2 B9 06 FF
|
|
sta SpriteAttr ; CPU:$FCC5 PRG:7CC5 85 E8
|
|
jmp NmiClearOam ; CPU:$FCC7 PRG:7CC7 4C 0E FD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FCCA
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FCCA:
|
|
lda Zp60 ; CPU:$FCCA PRG:7CCA A5 60
|
|
beq Sub_FCDC ; CPU:$FCCC PRG:7CCC F0 0E
|
|
lda Joypad1Press ; CPU:$FCCE PRG:7CCE A5 09
|
|
and #$0C ; CPU:$FCD0 PRG:7CD0 29 0C
|
|
beq Sub_FCDC ; CPU:$FCD2 PRG:7CD2 F0 08
|
|
lda #$00 ; CPU:$FCD4 PRG:7CD4 A9 00
|
|
sta GameMode ; CPU:$FCD6 PRG:7CD6 85 10
|
|
lda #$07 ; CPU:$FCD8 PRG:7CD8 A9 07
|
|
sta Zp42 ; CPU:$FCDA PRG:7CDA 85 42
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FCDC
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FCDC:
|
|
lda Zp3D ; CPU:$FCDC PRG:7CDC A5 3D
|
|
ora Zp5A ; CPU:$FCDE PRG:7CDE 05 5A
|
|
ora Zp3B ; CPU:$FCE0 PRG:7CE0 05 3B
|
|
bne Sub_FD0A ; CPU:$FCE2 PRG:7CE2 D0 26
|
|
lda GameMode ; CPU:$FCE4 PRG:7CE4 A5 10
|
|
cmp #$02 ; CPU:$FCE6 PRG:7CE6 C9 02
|
|
bne Sub_FD0A ; CPU:$FCE8 PRG:7CE8 D0 20
|
|
lda Joypad1Press ; CPU:$FCEA PRG:7CEA A5 09
|
|
and #$08 ; CPU:$FCEC PRG:7CEC 29 08
|
|
beq Sub_FCFF ; CPU:$FCEE PRG:7CEE F0 0F
|
|
inc FrameToggle ; CPU:$FCF0 PRG:7CF0 E6 22
|
|
jsr ClearOamInit ; CPU:$FCF2 PRG:7CF2 20 D3 B8
|
|
lda FrameToggle ; CPU:$FCF5 PRG:7CF5 A5 22
|
|
ror a ; CPU:$FCF7 PRG:7CF7 6A
|
|
bcc Sub_FCFF ; CPU:$FCF8 PRG:7CF8 90 05
|
|
lda #$01 ; CPU:$FCFA PRG:7CFA A9 01
|
|
sta $0613 ; CPU:$FCFC PRG:7CFC 8D 13 06
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FCFF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FCFF:
|
|
lda FrameToggle ; CPU:$FCFF PRG:7CFF A5 22
|
|
ror a ; CPU:$FD01 PRG:7D01 6A
|
|
bcc NmiClearOam ; CPU:$FD02 PRG:7D02 90 0A
|
|
jsr JoypadRts ; CPU:$FD04 PRG:7D04 20 B9 FE
|
|
jmp NmiGameModeCheck ; CPU:$FD07 PRG:7D07 4C 3E FD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FD0A
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FD0A:
|
|
lda #$00 ; CPU:$FD0A PRG:7D0A A9 00
|
|
sta FrameToggle ; CPU:$FD0C PRG:7D0C 85 22
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiClearOam
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiClearOam:
|
|
ldx #$00 ; CPU:$FD0E PRG:7D0E A2 00
|
|
lda #$F0 ; CPU:$FD10 PRG:7D10 A9 F0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiClearOamLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiClearOamLoop:
|
|
sta $0700,x ; CPU:$FD12 PRG:7D12 9D 00 07
|
|
inx ; CPU:$FD15 PRG:7D15 E8
|
|
inx ; CPU:$FD16 PRG:7D16 E8
|
|
inx ; CPU:$FD17 PRG:7D17 E8
|
|
inx ; CPU:$FD18 PRG:7D18 E8
|
|
bne NmiClearOamLoop ; CPU:$FD19 PRG:7D19 D0 F7
|
|
jsr InputRead ; CPU:$FD1B PRG:7D1B 20 1D F2
|
|
lda GameMode ; CPU:$FD1E PRG:7D1E A5 10
|
|
cmp #$02 ; CPU:$FD20 PRG:7D20 C9 02
|
|
beq NmiGameMode2Update ; CPU:$FD22 PRG:7D22 F0 0B
|
|
cmp #$01 ; CPU:$FD24 PRG:7D24 C9 01
|
|
bne NmiGameModeCheck ; CPU:$FD26 PRG:7D26 D0 16
|
|
lda #$80 ; CPU:$FD28 PRG:7D28 A9 80
|
|
sta ObjectDeltaX ; CPU:$FD2A PRG:7D2A 85 2D
|
|
jmp NmiCallObjMove ; CPU:$FD2C PRG:7D2C 4C 3B FD
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiGameMode2Update
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiGameMode2Update:
|
|
jsr ObjUpdateCall ; CPU:$FD2F PRG:7D2F 20 35 F6
|
|
jsr ObjInitCall ; CPU:$FD32 PRG:7D32 20 FE C1
|
|
jsr ObjIterLoop ; CPU:$FD35 PRG:7D35 20 4D DF
|
|
jsr ObjDrawCall ; CPU:$FD38 PRG:7D38 20 C6 C3
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiCallObjMove
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiCallObjMove:
|
|
jsr ObjMoveCall ; CPU:$FD3B PRG:7D3B 20 67 D1
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiGameModeCheck
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiGameModeCheck:
|
|
lda GameMode ; CPU:$FD3E PRG:7D3E A5 10
|
|
beq Sub_FD87 ; CPU:$FD40 PRG:7D40 F0 45
|
|
lda GameSubMode ; CPU:$FD42 PRG:7D42 A5 1B
|
|
lsr a ; CPU:$FD44 PRG:7D44 4A
|
|
lsr a ; CPU:$FD45 PRG:7D45 4A
|
|
and #$07 ; CPU:$FD46 PRG:7D46 29 07
|
|
tax ; CPU:$FD48 PRG:7D48 AA
|
|
lda $FE02,x ; CPU:$FD49 PRG:7D49 BD 02 FE
|
|
sta $0295 ; CPU:$FD4C PRG:7D4C 8D 95 02
|
|
lda Zp6E ; CPU:$FD4F PRG:7D4F A5 6E
|
|
beq Sub_FD7C ; CPU:$FD51 PRG:7D51 F0 29
|
|
ldy Joypad1Press2 ; CPU:$FD53 PRG:7D53 A4 1A
|
|
lda #$3F ; CPU:$FD55 PRG:7D55 A9 3F
|
|
sta $0208,y ; CPU:$FD57 PRG:7D57 99 08 02
|
|
iny ; CPU:$FD5A PRG:7D5A C8
|
|
lda #$00 ; CPU:$FD5B PRG:7D5B A9 00
|
|
sta $0208,y ; CPU:$FD5D PRG:7D5D 99 08 02
|
|
iny ; CPU:$FD60 PRG:7D60 C8
|
|
lda #$20 ; CPU:$FD61 PRG:7D61 A9 20
|
|
sta $0208,y ; CPU:$FD63 PRG:7D63 99 08 02
|
|
iny ; CPU:$FD66 PRG:7D66 C8
|
|
ldx #$00 ; CPU:$FD67 PRG:7D67 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FD69
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FD69:
|
|
lda $0280,x ; CPU:$FD69 PRG:7D69 BD 80 02
|
|
sta $0208,y ; CPU:$FD6C PRG:7D6C 99 08 02
|
|
iny ; CPU:$FD6F PRG:7D6F C8
|
|
inx ; CPU:$FD70 PRG:7D70 E8
|
|
cpx #$20 ; CPU:$FD71 PRG:7D71 E0 20
|
|
bne Sub_FD69 ; CPU:$FD73 PRG:7D73 D0 F4
|
|
lda #$00 ; CPU:$FD75 PRG:7D75 A9 00
|
|
sta $0208,y ; CPU:$FD77 PRG:7D77 99 08 02
|
|
sty Joypad1Press2 ; CPU:$FD7A PRG:7D7A 84 1A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FD7C
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FD7C:
|
|
jsr GameModeDispatch ; CPU:$FD7C PRG:7D7C 20 FB BE
|
|
lda FrameToggle ; CPU:$FD7F PRG:7D7F A5 22
|
|
ror a ; CPU:$FD81 PRG:7D81 6A
|
|
bcc Sub_FD87 ; CPU:$FD82 PRG:7D82 90 03
|
|
jsr DispatchLdxLdaStoreLdaCmpBcs ; CPU:$FD84 PRG:7D84 20 74 F5
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FD87
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FD87:
|
|
inc GameSubMode ; CPU:$FD87 PRG:7D87 E6 1B
|
|
lda Zp60 ; CPU:$FD89 PRG:7D89 A5 60
|
|
beq Sub_FD90 ; CPU:$FD8B PRG:7D8B F0 03
|
|
jsr ClearOamInit ; CPU:$FD8D PRG:7D8D 20 D3 B8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FD90
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FD90:
|
|
jsr DispatchLdaBneStoreLdaOraBeq ; CPU:$FD90 PRG:7D90 20 BD FD
|
|
jsr ClearZpVars ; CPU:$FD93 PRG:7D93 20 EF B8
|
|
lda SpriteAttr ; CPU:$FD96 PRG:7D96 A5 E8
|
|
bne Sub_FD9D ; CPU:$FD98 PRG:7D98 D0 03
|
|
jsr ObjNullRoutine ; CPU:$FD9A PRG:7D9A 20 0F C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FD9D
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FD9D:
|
|
lda GameSubMode ; CPU:$FD9D PRG:7D9D A5 1B
|
|
lsr a ; CPU:$FD9F PRG:7D9F 4A
|
|
ldx #$00 ; CPU:$FDA0 PRG:7DA0 A2 00
|
|
bcc Sub_FDAE ; CPU:$FDA2 PRG:7DA2 90 0A
|
|
ldx #$80 ; CPU:$FDA4 PRG:7DA4 A2 80
|
|
lda Zp3D ; CPU:$FDA6 PRG:7DA6 A5 3D
|
|
ora Zp5A ; CPU:$FDA8 PRG:7DA8 05 5A
|
|
bne Sub_FDAE ; CPU:$FDAA PRG:7DAA D0 02
|
|
ldx #$20 ; CPU:$FDAC PRG:7DAC A2 20
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FDAE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FDAE:
|
|
stx Zp2F ; CPU:$FDAE PRG:7DAE 86 2F
|
|
jsr JoypadDone ; CPU:$FDB0 PRG:7DB0 20 7E FE
|
|
lda PPUCTRLShadow ; CPU:$FDB3 PRG:7DB3 A5 00
|
|
ora #$80 ; CPU:$FDB5 PRG:7DB5 09 80
|
|
sta PPUCTRLShadow ; CPU:$FDB7 PRG:7DB7 85 00
|
|
sta PPUCTRL ; CPU:$FDB9 PRG:7DB9 8D 00 20
|
|
rti ; CPU:$FDBC PRG:7DBC 40
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: DispatchLdaBneStoreLdaOraBeq
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
DispatchLdaBneStoreLdaOraBeq:
|
|
lda $060B ; CPU:$FDBD PRG:7DBD AD 0B 06
|
|
bne Sub_FDC4 ; CPU:$FDC0 PRG:7DC0 D0 02
|
|
sta Zp61 ; CPU:$FDC2 PRG:7DC2 85 61
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FDC4
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FDC4:
|
|
lda Zp3B ; CPU:$FDC4 PRG:7DC4 A5 3B
|
|
ora Zp5A ; CPU:$FDC6 PRG:7DC6 05 5A
|
|
beq Sub_FDCE ; CPU:$FDC8 PRG:7DC8 F0 04
|
|
lda #$00 ; CPU:$FDCA PRG:7DCA A9 00
|
|
sta Zp61 ; CPU:$FDCC PRG:7DCC 85 61
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FDCE
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FDCE:
|
|
lda Zp61 ; CPU:$FDCE PRG:7DCE A5 61
|
|
beq Sub_FDE0 ; CPU:$FDD0 PRG:7DD0 F0 0E
|
|
bpl Sub_FDEF ; CPU:$FDD2 PRG:7DD2 10 1B
|
|
dec Zp62 ; CPU:$FDD4 PRG:7DD4 C6 62
|
|
bne Sub_FDDF ; CPU:$FDD6 PRG:7DD6 D0 07
|
|
inc Zp61 ; CPU:$FDD8 PRG:7DD8 E6 61
|
|
beq Sub_FDDF ; CPU:$FDDA PRG:7DDA F0 03
|
|
jsr ObjSpawnInit ; CPU:$FDDC PRG:7DDC 20 10 C0
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FDDF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FDDF:
|
|
rts ; CPU:$FDDF PRG:7DDF 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FDE0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FDE0:
|
|
lda Zp27 ; CPU:$FDE0 PRG:7DE0 A5 27
|
|
cmp #$08 ; CPU:$FDE2 PRG:7DE2 C9 08
|
|
beq Sub_FDDF ; CPU:$FDE4 PRG:7DE4 F0 F9
|
|
lda GameSubMode ; CPU:$FDE6 PRG:7DE6 A5 1B
|
|
and #$07 ; CPU:$FDE8 PRG:7DE8 29 07
|
|
bne Sub_FDDF ; CPU:$FDEA PRG:7DEA D0 F3
|
|
inc Zp27 ; CPU:$FDEC PRG:7DEC E6 27
|
|
rts ; CPU:$FDEE PRG:7DEE 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FDEF
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FDEF:
|
|
lda GameSubMode ; CPU:$FDEF PRG:7DEF A5 1B
|
|
and #$0F ; CPU:$FDF1 PRG:7DF1 29 0F
|
|
bne Sub_FDDF ; CPU:$FDF3 PRG:7DF3 D0 EA
|
|
dec Zp27 ; CPU:$FDF5 PRG:7DF5 C6 27
|
|
bpl Sub_FDDF ; CPU:$FDF7 PRG:7DF7 10 E6
|
|
inc Zp27 ; CPU:$FDF9 PRG:7DF9 E6 27
|
|
lda #$FE ; CPU:$FDFB PRG:7DFB A9 FE
|
|
sta Zp61 ; CPU:$FDFD PRG:7DFD 85 61
|
|
sta Zp62 ; CPU:$FDFF PRG:7DFF 85 62
|
|
rts ; CPU:$FE01 PRG:7E01 60
|
|
OamIndexTable:
|
|
; OAM sprite index table (read by lda $FE02,x)
|
|
; ---- data $FE02-$FE09 (8 bytes) ----
|
|
; referenced by `lda $FE02,x` at $FD49 (operand $FE02 falls inside this region)
|
|
.byte $1F, $08, $07, $06, $16, $06, $07, $08 ; CPU:$FE02 PRG:7E02 1F 08 07 06 16 06 07 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiOamDmaCopy
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiOamDmaCopy:
|
|
ldy #$00 ; CPU:$FE0A PRG:7E0A A0 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: NmiOamAddrLoop
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
NmiOamAddrLoop:
|
|
lda PPUSTATUS ; CPU:$FE0C PRG:7E0C AD 02 20
|
|
lda $0208,y ; CPU:$FE0F PRG:7E0F B9 08 02
|
|
beq Sub_FE31 ; CPU:$FE12 PRG:7E12 F0 1D
|
|
sta PPUADDR ; CPU:$FE14 PRG:7E14 8D 06 20
|
|
iny ; CPU:$FE17 PRG:7E17 C8
|
|
lda $0208,y ; CPU:$FE18 PRG:7E18 B9 08 02
|
|
sta PPUADDR ; CPU:$FE1B PRG:7E1B 8D 06 20
|
|
iny ; CPU:$FE1E PRG:7E1E C8
|
|
lda $0208,y ; CPU:$FE1F PRG:7E1F B9 08 02
|
|
tax ; CPU:$FE22 PRG:7E22 AA
|
|
iny ; CPU:$FE23 PRG:7E23 C8
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE24
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE24:
|
|
lda $0208,y ; CPU:$FE24 PRG:7E24 B9 08 02
|
|
sta PPUDATA ; CPU:$FE27 PRG:7E27 8D 07 20
|
|
iny ; CPU:$FE2A PRG:7E2A C8
|
|
dex ; CPU:$FE2B PRG:7E2B CA
|
|
bne Sub_FE24 ; CPU:$FE2C PRG:7E2C D0 F6
|
|
jmp NmiOamAddrLoop ; CPU:$FE2E PRG:7E2E 4C 0C FE
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE31
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE31:
|
|
sta Joypad1Press2 ; CPU:$FE31 PRG:7E31 85 1A
|
|
sta $0208 ; CPU:$FE33 PRG:7E33 8D 08 02
|
|
rts ; CPU:$FE36 PRG:7E36 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: ReadJoypad
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
ReadJoypad:
|
|
ldx #$02 ; CPU:$FE37 PRG:7E37 A2 02
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE39
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE39:
|
|
lda Joypad1Cur,x ; CPU:$FE39 PRG:7E39 B5 06
|
|
sta Joypad1Prev,x ; CPU:$FE3B PRG:7E3B 95 07
|
|
lda Joypad2Cur2,x ; CPU:$FE3D PRG:7E3D B5 0A
|
|
sta Joypad2Prev,x ; CPU:$FE3F PRG:7E3F 95 0B
|
|
dex ; CPU:$FE41 PRG:7E41 CA
|
|
bpl Sub_FE39 ; CPU:$FE42 PRG:7E42 10 F5
|
|
lda #$01 ; CPU:$FE44 PRG:7E44 A9 01
|
|
sta JOY1 ; CPU:$FE46 PRG:7E46 8D 16 40
|
|
lda #$00 ; CPU:$FE49 PRG:7E49 A9 00
|
|
sta JOY1 ; CPU:$FE4B PRG:7E4B 8D 16 40
|
|
ldx #$08 ; CPU:$FE4E PRG:7E4E A2 08
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE50
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE50:
|
|
lda JOY1 ; CPU:$FE50 PRG:7E50 AD 16 40
|
|
ror a ; CPU:$FE53 PRG:7E53 6A
|
|
bcs Sub_FE57 ; CPU:$FE54 PRG:7E54 B0 01
|
|
ror a ; CPU:$FE56 PRG:7E56 6A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE57
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE57:
|
|
ror Joypad1Cur ; CPU:$FE57 PRG:7E57 66 06
|
|
lda $4017 ; CPU:$FE59 PRG:7E59 AD 17 40
|
|
ror a ; CPU:$FE5C PRG:7E5C 6A
|
|
bcs Sub_FE60 ; CPU:$FE5D PRG:7E5D B0 01
|
|
ror a ; CPU:$FE5F PRG:7E5F 6A
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE60
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE60:
|
|
ror Joypad2Cur2 ; CPU:$FE60 PRG:7E60 66 0A
|
|
dex ; CPU:$FE62 PRG:7E62 CA
|
|
bne Sub_FE50 ; CPU:$FE63 PRG:7E63 D0 EB
|
|
lda Joypad1Press ; CPU:$FE65 PRG:7E65 A5 09
|
|
ora Joypad2Cur ; CPU:$FE67 PRG:7E67 05 08
|
|
eor #$FF ; CPU:$FE69 PRG:7E69 49 FF
|
|
and Joypad1Prev ; CPU:$FE6B PRG:7E6B 25 07
|
|
and Joypad1Cur ; CPU:$FE6D PRG:7E6D 25 06
|
|
sta Joypad1Press ; CPU:$FE6F PRG:7E6F 85 09
|
|
lda NmiFrameFlag ; CPU:$FE71 PRG:7E71 A5 0D
|
|
ora UnusedZp0C ; CPU:$FE73 PRG:7E73 05 0C
|
|
eor #$FF ; CPU:$FE75 PRG:7E75 49 FF
|
|
and Joypad2Prev ; CPU:$FE77 PRG:7E77 25 0B
|
|
and Joypad2Cur2 ; CPU:$FE79 PRG:7E79 25 0A
|
|
sta NmiFrameFlag ; CPU:$FE7B PRG:7E7B 85 0D
|
|
rts ; CPU:$FE7D PRG:7E7D 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: JoypadDone
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
JoypadDone:
|
|
lda Zp2F ; CPU:$FE7E PRG:7E7E A5 2F
|
|
bne Sub_FE83 ; CPU:$FE80 PRG:7E80 D0 01
|
|
rts ; CPU:$FE82 PRG:7E82 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE83
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE83:
|
|
bmi Sub_FEA3 ; CPU:$FE83 PRG:7E83 30 1E
|
|
tax ; CPU:$FE85 PRG:7E85 AA
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE86
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE86:
|
|
lda $06FF,x ; CPU:$FE86 PRG:7E86 BD FF 06
|
|
pha ; CPU:$FE89 PRG:7E89 48
|
|
dex ; CPU:$FE8A PRG:7E8A CA
|
|
bne Sub_FE86 ; CPU:$FE8B PRG:7E8B D0 F9
|
|
ldy #$00 ; CPU:$FE8D PRG:7E8D A0 00
|
|
ldx Zp2F ; CPU:$FE8F PRG:7E8F A6 2F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE91
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE91:
|
|
lda $0700,x ; CPU:$FE91 PRG:7E91 BD 00 07
|
|
sta $0700,y ; CPU:$FE94 PRG:7E94 99 00 07
|
|
iny ; CPU:$FE97 PRG:7E97 C8
|
|
inx ; CPU:$FE98 PRG:7E98 E8
|
|
bne Sub_FE91 ; CPU:$FE99 PRG:7E99 D0 F6
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FE9B
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FE9B:
|
|
pla ; CPU:$FE9B PRG:7E9B 68
|
|
sta $0700,y ; CPU:$FE9C PRG:7E9C 99 00 07
|
|
iny ; CPU:$FE9F PRG:7E9F C8
|
|
bne Sub_FE9B ; CPU:$FEA0 PRG:7EA0 D0 F9
|
|
rts ; CPU:$FEA2 PRG:7EA2 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FEA3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FEA3:
|
|
ldx #$00 ; CPU:$FEA3 PRG:7EA3 A2 00
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FEA5
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FEA5:
|
|
lda $0700,x ; CPU:$FEA5 PRG:7EA5 BD 00 07
|
|
pha ; CPU:$FEA8 PRG:7EA8 48
|
|
lda $0780,x ; CPU:$FEA9 PRG:7EA9 BD 80 07
|
|
sta $0700,x ; CPU:$FEAC PRG:7EAC 9D 00 07
|
|
pla ; CPU:$FEAF PRG:7EAF 68
|
|
sta $0780,x ; CPU:$FEB0 PRG:7EB0 9D 80 07
|
|
inx ; CPU:$FEB3 PRG:7EB3 E8
|
|
cpx #$80 ; CPU:$FEB4 PRG:7EB4 E0 80
|
|
bne Sub_FEA5 ; CPU:$FEB6 PRG:7EB6 D0 ED
|
|
rts ; CPU:$FEB8 PRG:7EB8 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: JoypadRts
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in Pass 1 unless implied by the caller.
|
|
; Returns: Undetermined in Pass 1; status flags and registers may carry results.
|
|
; Clobbers: Undetermined in Pass 1.
|
|
; -----------------------------------------------------------------------------
|
|
JoypadRts:
|
|
lda Zp2F ; CPU:$FEB9 PRG:7EB9 A5 2F
|
|
bmi Sub_FEA3 ; CPU:$FEBB PRG:7EBB 30 E6
|
|
bne Sub_FEC0 ; CPU:$FEBD PRG:7EBD D0 01
|
|
rts ; CPU:$FEBF PRG:7EBF 60
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FEC0
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FEC0:
|
|
tay ; CPU:$FEC0 PRG:7EC0 A8
|
|
ldx #$FF ; CPU:$FEC1 PRG:7EC1 A2 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FEC3
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FEC3:
|
|
lda $0700,x ; CPU:$FEC3 PRG:7EC3 BD 00 07
|
|
pha ; CPU:$FEC6 PRG:7EC6 48
|
|
dex ; CPU:$FEC7 PRG:7EC7 CA
|
|
dey ; CPU:$FEC8 PRG:7EC8 88
|
|
bne Sub_FEC3 ; CPU:$FEC9 PRG:7EC9 D0 F8
|
|
ldy #$FF ; CPU:$FECB PRG:7ECB A0 FF
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FECD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FECD:
|
|
lda $0700,x ; CPU:$FECD PRG:7ECD BD 00 07
|
|
sta $0700,y ; CPU:$FED0 PRG:7ED0 99 00 07
|
|
dex ; CPU:$FED3 PRG:7ED3 CA
|
|
dey ; CPU:$FED4 PRG:7ED4 88
|
|
cpx #$FF ; CPU:$FED5 PRG:7ED5 E0 FF
|
|
bne Sub_FECD ; CPU:$FED7 PRG:7ED7 D0 F4
|
|
ldy #$00 ; CPU:$FED9 PRG:7ED9 A0 00
|
|
ldx Zp2F ; CPU:$FEDB PRG:7EDB A6 2F
|
|
; -----------------------------------------------------------------------------
|
|
; Routine: Sub_FEDD
|
|
; Global: Contextual control-flow entry identified from its parent routine and incoming branch usage.
|
|
; Local: Continues its parent routine along the condition or operation encoded in this label,
|
|
; then returns, branches again, or rejoins shared code as documented by the instructions.
|
|
; Parameters: Undetermined in 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_FEDD:
|
|
pla ; CPU:$FEDD PRG:7EDD 68
|
|
sta $0700,y ; CPU:$FEDE PRG:7EDE 99 00 07
|
|
iny ; CPU:$FEE1 PRG:7EE1 C8
|
|
dex ; CPU:$FEE2 PRG:7EE2 CA
|
|
bne Sub_FEDD ; CPU:$FEE3 PRG:7EE3 D0 F8
|
|
rts ; CPU:$FEE5 PRG:7EE5 60
|
|
; ---- data $FEE6-$FF05 (32 bytes) ----
|
|
; referenced by `lda $FEE6,y` at $FB76 (operand $FEE6 falls inside this region)
|
|
; 32 bytes of palette data copied to PPUDATA and the $0280 mirror by the routine
|
|
; that reads it with lda $FEE6,y at $FB76.
|
|
PaletteData:
|
|
.byte $0F, $0A, $27, $1A, $0F, $0A, $1A, $11, $0F, $30, $00, $07, $0F, $30, $00, $11 ; CPU:$FEE6 PRG:7EE6 0F 0A 27 1A 0F 0A 1A 11 0F 30 00 07 0F 30 00 11
|
|
.byte $0F, $3F, $30, $00, $0F, $3F, $00, $10, $0F, $02, $16, $30, $0F, $16, $28, $30 ; CPU:$FEF6 PRG:7EF6 0F 3F 30 00 0F 3F 00 10 0F 02 16 30 0F 16 28 30
|
|
; ---- data $FF06-$FF1C (23 bytes) ----
|
|
; referenced by `lda $FF06,y` at $FCAD (operand $FF06 falls inside this region)
|
|
; referenced by `lda $FF06,y` at $FCC2 (operand $FF06 falls inside this region)
|
|
; OAM attribute bytes read with lda $FF06,y at $FCAD / $FCC2.
|
|
OamAttrTable:
|
|
.byte $80, $80, $80, $80, $80, $80, $80, $80, $80, $10, $10, $40, $40, $20, $20, $20 ; CPU:$FF06 PRG:7F06 80 80 80 80 80 80 80 80 80 10 10 40 40 20 20 20
|
|
.byte $20, $20, $20, $20, $20, $20, $00 ; CPU:$FF16 PRG:7F16 20 20 20 20 20 20 00
|
|
; -----------------------------------------------------------------------------
|
|
; 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:$FF1D PRG:7F1D 40
|
|
; ---- data $FF1E-$FFFF (226 bytes) ----
|
|
.byte $43, $4F, $50, $59, $52, $49, $47, $48, $54, $20, $31, $39, $38, $33, $20, $31 ; CPU:$FF1E PRG:7F1E 43 4F 50 59 52 49 47 48 54 20 31 39 38 33 20 31
|
|
.byte $39, $38, $34, $20, $4E, $41, $4D, $43, $4F, $20, $4C, $54, $44, $2E, $20, $41 ; CPU:$FF2E PRG:7F2E 39 38 34 20 4E 41 4D 43 4F 20 4C 54 44 2E 20 41
|
|
.byte $4C, $4C, $20, $52, $49, $47, $48, $54, $53, $20, $52, $45, $53, $45, $52, $56 ; CPU:$FF3E PRG:7F3E 4C 4C 20 52 49 47 48 54 53 20 52 45 53 45 52 56
|
|
.byte $45, $44, $20, $20, $4D, $41, $49, $4E, $3A, $20, $4B, $45, $49, $20, $43, $52 ; CPU:$FF4E PRG:7F4E 45 44 20 20 4D 41 49 4E 3A 20 4B 45 49 20 43 52
|
|
.byte $4F, $53, $53, $0D, $20, $53, $4F, $55, $4E, $44, $3A, $20, $55, $48, $4F, $48 ; CPU:$FF5E PRG:7F5E 4F 53 53 0D 20 53 4F 55 4E 44 3A 20 55 48 4F 48
|
|
.byte $4F, $59, $20, $4F, $48, $4E, $4F, $47, $49, $0D, $41, $53, $53, $49, $53, $54 ; CPU:$FF6E PRG:7F6E 4F 59 20 4F 48 4E 4F 47 49 0D 41 53 53 49 53 54
|
|
.byte $3A, $20, $45, $56, $45, $5A, $4F, $4F, $20, $45, $4E, $44, $20, $26, $20, $48 ; CPU:$FF7E PRG:7F7E 3A 20 45 56 45 5A 4F 4F 20 45 4E 44 20 26 20 48
|
|
.byte $41, $4C, $20, $55, $44, $41, $47, $41, $57, $41, $0D, $54, $45, $53, $54, $45 ; CPU:$FF8E PRG:7F8E 41 4C 20 55 44 41 47 41 57 41 0D 54 45 53 54 45
|
|
.byte $52, $3A, $20, $53, $48, $49, $44, $41, $53, $48, $49, $20, $59, $41, $4D, $41 ; CPU:$FF9E PRG:7F9E 52 3A 20 53 48 49 44 41 53 48 49 20 59 41 4D 41
|
|
.byte $4D, $4F, $0D, $0C ; CPU:$FFAE PRG:7FAE 4D 4F 0D 0C
|
|
.res $0048, $FF
|
|
.byte $4E, $FC, $F6, $FA ; CPU:$FFFA PRG:7FFA 4E FC F6 FA
|
|
.byte $1D, $FF ; CPU:$FFFE PRG:7FFE 1D FF
|