Xevious (U): Pass 1 disassembly
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).
This commit is contained in:
1 parent
df11857075
commit
691b2bc23c
198 files changed
+84517
-25902
No files matched your search
@@ -0,0 +1,941 @@
|
||||
|
||||
F6FD Reset
|
||||
F803 NmiHandler
|
||||
|
||||
F719 ClearRam
|
||||
F743 ClearOam
|
||||
F74F MainLoop
|
||||
F757 MainLoop_NextSlot
|
||||
F77A MainLoop_RunTask
|
||||
F780 TaskDispatch
|
||||
F78D FrameEnd
|
||||
F7DE EnableNmi
|
||||
F7A0 TaskSlotStart
|
||||
F7CA TaskSlotClear
|
||||
F7EA TaskFrameWait
|
||||
F8BC InitDisplay
|
||||
F8D7 WaitVblankStart
|
||||
F8DC WaitVblankEnd
|
||||
F8E6 FrameDelay
|
||||
F8F5 NmiPaletteUpdate
|
||||
D0F1 PollControllers
|
||||
|
||||
D32B EventTaskInit
|
||||
8004 EventTaskRun
|
||||
924C EventTaskB
|
||||
A8C8 GameModeTask
|
||||
E0D5 OlympicsScheduler
|
||||
|
||||
F7F5 DelayFrames
|
||||
BE63 AudioChannelLoop
|
||||
A792 ObjectUpdate
|
||||
A56F ObjectDraw
|
||||
FBE3 OamCopy
|
||||
985E SpritePosition
|
||||
A2DD ObjectState
|
||||
F7CA TaskSlotClear
|
||||
A12E SpriteDraw
|
||||
F7A0 TaskSlotStart
|
||||
BEBF ClearObjectSlot
|
||||
83EF SpriteSetup
|
||||
FC2B SpriteTile
|
||||
FA9D PaletteLoad
|
||||
C2C2 ObjectCollision
|
||||
BF89 SoundNote
|
||||
A870 EventState
|
||||
8000 ShortDelay
|
||||
|
||||
EF7C EventInit
|
||||
BE75 SoundChannelStep
|
||||
BEDD SoundChanInit
|
||||
|
||||
# ---- indirect-dispatch entry points (reached via push-pointer tables,
|
||||
# not via direct jsr/jmp/branch; exact per-routine role not statically
|
||||
# classified, so the address-derived Sub_ form is the honest residue) ----
|
||||
8A08 Sub_8A08
|
||||
8D18 Sub_8D18
|
||||
A02B Sub_A02B
|
||||
BFE8 Sub_BFE8
|
||||
BFF0 Sub_BFF0
|
||||
BFF8 Sub_BFF8
|
||||
C00A Sub_C00A
|
||||
C015 Sub_C015
|
||||
C029 Sub_C029
|
||||
C037 Sub_C037
|
||||
C04F Sub_C04F
|
||||
C057 Sub_C057
|
||||
C07B Sub_C07B
|
||||
C083 Sub_C083
|
||||
C097 Sub_C097
|
||||
C0AD Sub_C0AD
|
||||
C0D1 Sub_C0D1
|
||||
C0F8 Sub_C0F8
|
||||
C129 Sub_C129
|
||||
C134 Sub_C134
|
||||
E0EF Sub_E0EF
|
||||
E16D Sub_E16D
|
||||
E20D Sub_E20D
|
||||
E2DE Sub_E2DE
|
||||
E42A Sub_E42A
|
||||
E52C Sub_E52C
|
||||
|
||||
|
||||
# ---- derived internal branch-target names ----
|
||||
8000 ShortDelay
|
||||
8004 EventTaskRun
|
||||
801B EventTaskRun_Loop
|
||||
8050 EventTaskRun_Loop2
|
||||
8058 EventTaskRun_OnNonzero
|
||||
8059 EventTaskRun_Loop3
|
||||
8068 EventTaskRun_Loop4
|
||||
8075 EventTaskRun_Loop5
|
||||
8078 EventTaskRun_Loop6
|
||||
80A7 EventTaskRun_Loop7
|
||||
80AF EventTaskRun_Loop8
|
||||
80B4 EventTaskRun_Loop9
|
||||
80C4 EventTaskRun_Loop10
|
||||
80FE EventTaskRun_Loop11
|
||||
8118 Sub_8118
|
||||
815A EventTaskRun_Loop12
|
||||
8170 EventTaskRun_Loop13
|
||||
8183 EventTaskRun_Loop14
|
||||
8184 EventTaskRun_Loop15
|
||||
8189 EventTaskRun_Loop16
|
||||
81D3 Sub_81D3
|
||||
81EE EventTaskRun_Loop17
|
||||
8219 EventTaskRun_Loop18
|
||||
8221 EventTaskRun_Loop19
|
||||
8249 EventTaskRun_Loop20
|
||||
8265 EventTaskRun_Loop21
|
||||
826C EventTaskRun_Loop22
|
||||
827C EventTaskRun_Loop23
|
||||
827D EventTaskRun_Loop24
|
||||
82B9 EventTaskRun_Loop25
|
||||
82BA Sub_82BA
|
||||
8357 EventTaskRun_Loop26
|
||||
8358 Sub_8358
|
||||
8377 EventTaskRun_OnNonzero2
|
||||
83B2 EventTaskRun_Loop27
|
||||
83C3 EventTaskRun_Loop28
|
||||
83C6 Sub_83C6
|
||||
83EF SpriteSetup
|
||||
8409 Sub_8409
|
||||
8416 SpriteSetup_Loop
|
||||
8428 SpriteSetup_Loop2
|
||||
842F SpriteSetup_Loop3
|
||||
843A SpriteSetup_Loop4
|
||||
8443 SpriteSetup_Loop5
|
||||
8450 SpriteSetup_Loop6
|
||||
8466 SpriteSetup_Loop7
|
||||
8473 SpriteSetup_Loop8
|
||||
847B SpriteSetup_Loop9
|
||||
8485 SpriteSetup_Loop10
|
||||
848B SpriteSetup_Loop11
|
||||
848E SpriteSetup_Loop12
|
||||
849B SpriteSetup_Loop13
|
||||
84AC SpriteSetup_Loop14
|
||||
84B7 SpriteSetup_Loop15
|
||||
84C2 SpriteSetup_Loop16
|
||||
84C5 Sub_84C5
|
||||
84D1 SpriteSetup_Loop17
|
||||
84DB SpriteSetup_Loop18
|
||||
84DE SpriteSetup_Loop19
|
||||
8512 SpriteSetup_Loop20
|
||||
8528 SpriteSetup_Loop21
|
||||
852B SpriteSetup_Loop22
|
||||
8539 SpriteSetup_Loop23
|
||||
8547 SpriteSetup_Loop24
|
||||
8557 SpriteSetup_Loop25
|
||||
8575 SpriteSetup_Loop26
|
||||
857E SpriteSetup_Loop27
|
||||
8581 Sub_8581
|
||||
858B SpriteSetup_Loop28
|
||||
85B3 Sub_85B3
|
||||
85C1 Sub_85C1
|
||||
85CC Sub_85CC
|
||||
85D3 SpriteSetup_Loop29
|
||||
85E8 SpriteSetup_Loop30
|
||||
8600 SpriteSetup_Loop31
|
||||
8612 SpriteSetup_Loop32
|
||||
8613 SpriteSetup_Loop33
|
||||
8620 SpriteSetup_Loop34
|
||||
8626 SpriteSetup_OnCarryClear
|
||||
8627 Sub_8627
|
||||
8636 SpriteSetup_Loop35
|
||||
864E SpriteSetup_Loop36
|
||||
865E SpriteSetup_Loop37
|
||||
865F SpriteSetup_Loop38
|
||||
8660 Sub_8660
|
||||
866E SpriteSetup_Loop39
|
||||
8677 Sub_8677
|
||||
868C SpriteSetup_Loop40
|
||||
868F SpriteSetup_Loop41
|
||||
86B0 SpriteSetup_Loop42
|
||||
86B6 SpriteSetup_Loop43
|
||||
86BA SpriteSetup_Loop44
|
||||
86EC SpriteSetup_Loop45
|
||||
86F1 Sub_86F1
|
||||
870B SpriteSetup_Loop46
|
||||
874E Sub_874E
|
||||
8758 SpriteSetup_Loop47
|
||||
875B Sub_875B
|
||||
879B Sub_879B
|
||||
87A7 SpriteSetup_Loop48
|
||||
87AA Sub_87AA
|
||||
87EA Sub_87EA
|
||||
87F6 Sub_87F6
|
||||
881F SpriteSetup_Loop49
|
||||
8868 Sub_8868
|
||||
88A8 Sub_88A8
|
||||
88F9 Sub_88F9
|
||||
8908 Sub_8908
|
||||
8910 Sub_8910
|
||||
8ABC Sub_8ABC
|
||||
8AC7 Sub_8AC7
|
||||
8AD5 SpriteSetup_Loop50
|
||||
8ADE Sub_8ADE
|
||||
8AEA SpriteSetup_Loop51
|
||||
8D42 Sub_8D42
|
||||
8D45 Sub_8D45
|
||||
8D93 SpriteSetup_Loop52
|
||||
9141 Sub_9141
|
||||
9150 SpriteSetup_Loop53
|
||||
91CF Sub_91CF
|
||||
9216 SpriteSetup_Loop54
|
||||
924C EventTaskB
|
||||
9275 EventTaskB_Loop
|
||||
927D EventTaskB_OnNonzero
|
||||
927E EventTaskB_Loop2
|
||||
928D EventTaskB_Loop3
|
||||
9294 EventTaskB_Loop4
|
||||
92E2 Sub_92E2
|
||||
92F8 EventTaskB_Loop5
|
||||
931E EventTaskB_Loop6
|
||||
931F EventTaskB_Loop7
|
||||
9346 EventTaskB_Loop8
|
||||
9347 EventTaskB_Loop9
|
||||
9364 EventTaskB_Loop10
|
||||
937B EventTaskB_Loop11
|
||||
937C EventTaskB_Loop12
|
||||
93A9 EventTaskB_Loop13
|
||||
93B5 EventTaskB_Loop14
|
||||
93BD Sub_93BD
|
||||
9452 EventTaskB_Loop15
|
||||
9453 Sub_9453
|
||||
9477 EventTaskB_OnNonzero2
|
||||
94B2 EventTaskB_Loop16
|
||||
94BE Sub_94BE
|
||||
94E3 Sub_94E3
|
||||
94FF Sub_94FF
|
||||
950E EventTaskB_Loop17
|
||||
9515 EventTaskB_Loop18
|
||||
9520 EventTaskB_Loop19
|
||||
9529 EventTaskB_Loop20
|
||||
953B EventTaskB_Loop21
|
||||
9555 EventTaskB_Loop22
|
||||
9563 EventTaskB_Loop23
|
||||
9585 EventTaskB_Loop24
|
||||
959E EventTaskB_Loop25
|
||||
95B2 Sub_95B2
|
||||
95B9 EventTaskB_Loop26
|
||||
95BC EventTaskB_Loop27
|
||||
95CB EventTaskB_OnNonzero3
|
||||
95E1 EventTaskB_Loop28
|
||||
95EB EventTaskB_OnNonzero4
|
||||
9601 EventTaskB_Loop29
|
||||
9621 EventTaskB_Loop30
|
||||
9631 Sub_9631
|
||||
9649 EventTaskB_Loop31
|
||||
96CC Sub_96CC
|
||||
971A Sub_971A
|
||||
9721 EventTaskB_Loop32
|
||||
9757 EventTaskB_Loop33
|
||||
9771 EventTaskB_OnCarrySet
|
||||
9772 EventTaskB_Loop34
|
||||
97A3 EventTaskB_Loop35
|
||||
97BD EventTaskB_Loop36
|
||||
97EA EventTaskB_Loop37
|
||||
97EE EventTaskB_Loop38
|
||||
9803 EventTaskB_Loop39
|
||||
9810 Sub_9810
|
||||
981D Sub_981D
|
||||
985D EventTaskB_Loop40
|
||||
985E SpritePosition
|
||||
9865 SpritePosition_Loop
|
||||
986B SpritePosition_Loop2
|
||||
9889 SpritePosition_Loop3
|
||||
98DB Sub_98DB
|
||||
98FE SpritePosition_Loop4
|
||||
990E SpritePosition_Loop5
|
||||
9910 Sub_9910
|
||||
9933 SpritePosition_Loop6
|
||||
993F SpritePosition_Loop7
|
||||
9941 Sub_9941
|
||||
9957 SpritePosition_Loop8
|
||||
9959 SpritePosition_OnNonzero
|
||||
9964 Sub_9964
|
||||
99B7 SpritePosition_Loop9
|
||||
99C4 SpritePosition_Loop10
|
||||
99CC Sub_99CC
|
||||
9A18 SpritePosition_Loop11
|
||||
9A41 Sub_9A41
|
||||
9A80 Sub_9A80
|
||||
9AC6 SpritePosition_Loop12
|
||||
9B23 Sub_9B23
|
||||
9B5A Sub_9B5A
|
||||
9B6D SpritePosition_Loop13
|
||||
9B76 SpritePosition_OnNonzero2
|
||||
9B7D SpritePosition_Loop14
|
||||
9B8E SpritePosition_Loop15
|
||||
9B90 SpritePosition_OnNonzero3
|
||||
9BA5 SpritePosition_OnZero
|
||||
9BDC SpritePosition_OnNonzero4
|
||||
9BF5 Sub_9BF5
|
||||
9C33 Sub_9C33
|
||||
9C46 SpritePosition_Loop16
|
||||
9C4F SpritePosition_OnNonzero5
|
||||
9C56 SpritePosition_Loop17
|
||||
9C6C SpritePosition_Loop18
|
||||
9C6E SpritePosition_OnNonzero6
|
||||
9C89 Sub_9C89
|
||||
9C91 SpritePosition_Loop19
|
||||
9C9B Sub_9C9B
|
||||
9CB4 SpritePosition_Loop20
|
||||
9CB7 Sub_9CB7
|
||||
9CC1 SpritePosition_OnNonzero7
|
||||
9CCE SpritePosition_OnNonzero8
|
||||
9CDB SpritePosition_OnNonzero9
|
||||
9CE8 SpritePosition_OnNonzero10
|
||||
9CF5 SpritePosition_OnNonzero11
|
||||
9D02 SpritePosition_OnNonzero12
|
||||
9D0E Sub_9D0E
|
||||
9D10 SpritePosition_OnNonzero13
|
||||
9D22 SpritePosition_OnNonzero14
|
||||
9D34 SpritePosition_OnNonzero15
|
||||
9D46 SpritePosition_OnNonzero16
|
||||
9D58 SpritePosition_OnNonzero17
|
||||
9D6A SpritePosition_OnNonzero18
|
||||
9D7B Sub_9D7B
|
||||
9D84 SpritePosition_Loop21
|
||||
9D8F SpritePosition_Loop22
|
||||
9D9C SpritePosition_Loop23
|
||||
9DCE SpritePosition_Loop24
|
||||
9DFE SpritePosition_Loop25
|
||||
9E30 SpritePosition_Loop26
|
||||
9E65 Sub_9E65
|
||||
9E93 SpritePosition_Loop27
|
||||
9EBA SpritePosition_Loop28
|
||||
9EC9 SpritePosition_Loop29
|
||||
9ED0 SpritePosition_Loop30
|
||||
9F04 SpritePosition_Loop31
|
||||
A04B Sub_A04B
|
||||
A059 SpritePosition_Loop32
|
||||
A062 SpritePosition_Loop33
|
||||
A079 SpritePosition_Loop34
|
||||
A089 Sub_A089
|
||||
A092 SpritePosition_Loop35
|
||||
A0AE SpritePosition_Loop36
|
||||
A0B1 SpritePosition_Loop37
|
||||
A0CB SpritePosition_Loop38
|
||||
A0CE SpritePosition_Loop39
|
||||
A0ED SpritePosition_Loop40
|
||||
A0F1 SpritePosition_Loop41
|
||||
A10C SpritePosition_OnNonzero19
|
||||
A114 Sub_A114
|
||||
A12E SpriteDraw
|
||||
A147 SpriteDraw_Loop
|
||||
A14B Sub_A14B
|
||||
A169 Sub_A169
|
||||
A16E SpriteDraw_Loop2
|
||||
A182 SpriteDraw_OnNonzero
|
||||
A1BF SpriteDraw_Loop3
|
||||
A1C8 SpriteDraw_OnNonzero2
|
||||
A1D6 Sub_A1D6
|
||||
A1DB SpriteDraw_Loop4
|
||||
A1F3 SpriteDraw_OnNonzero3
|
||||
A247 SpriteDraw_OnNonzero4
|
||||
A274 SpriteDraw_OnNonzero5
|
||||
A2A1 SpriteDraw_OnNonzero6
|
||||
A2DD ObjectState
|
||||
A31A Sub_A31A
|
||||
A32E ObjectState_Loop
|
||||
A333 ObjectState_Loop2
|
||||
A356 ObjectState_Loop3
|
||||
A35B ObjectState_Loop4
|
||||
A37E Sub_A37E
|
||||
A3B1 ObjectState_Loop5
|
||||
A3BB ObjectState_Loop6
|
||||
A3BC Sub_A3BC
|
||||
A3EC ObjectState_Loop7
|
||||
A3F6 ObjectState_Loop8
|
||||
A3F7 Sub_A3F7
|
||||
A41E ObjectState_Loop9
|
||||
A42E ObjectState_Loop10
|
||||
A440 ObjectState_Loop11
|
||||
A448 Sub_A448
|
||||
A453 ObjectState_Loop12
|
||||
A45E ObjectState_Loop13
|
||||
A45F Sub_A45F
|
||||
A46F ObjectState_Loop14
|
||||
A481 ObjectState_Loop15
|
||||
A48C Sub_A48C
|
||||
A4C5 ObjectState_Loop16
|
||||
A4C6 ObjectState_Loop17
|
||||
A4E3 ObjectState_Loop18
|
||||
A4E4 Sub_A4E4
|
||||
A524 ObjectState_Loop19
|
||||
A527 ObjectState_Loop20
|
||||
A534 ObjectState_Loop21
|
||||
A539 ObjectState_Loop22
|
||||
A546 ObjectState_Loop23
|
||||
A56F ObjectDraw
|
||||
A592 ObjectDraw_Loop
|
||||
A59E ObjectDraw_Loop2
|
||||
A614 Sub_A614
|
||||
A630 ObjectDraw_Loop3
|
||||
A635 Sub_A635
|
||||
A643 ObjectDraw_Loop4
|
||||
A649 Sub_A649
|
||||
A66F ObjectDraw_Loop5
|
||||
A67E ObjectDraw_Loop6
|
||||
A68A Sub_A68A
|
||||
A68B Sub_A68B
|
||||
A6F0 Sub_A6F0
|
||||
A705 Sub_A705
|
||||
A70D ObjectDraw_Loop7
|
||||
A789 Sub_A789
|
||||
A792 ObjectUpdate
|
||||
A79E ObjectUpdate_OnNonzero
|
||||
A7AC Sub_A7AC
|
||||
A7E9 ObjectUpdate_OnNonzero2
|
||||
A82B Sub_A82B
|
||||
A83A ObjectUpdate_OnNonzero3
|
||||
A853 ObjectUpdate_Loop
|
||||
A86F ObjectUpdate_Loop2
|
||||
A870 EventState
|
||||
A8C8 GameModeTask
|
||||
A905 GameModeTask_Loop
|
||||
A908 GameModeTask_Loop2
|
||||
A918 GameModeTask_Loop3
|
||||
A91F GameModeTask_Loop4
|
||||
A92F GameModeTask_Loop5
|
||||
A936 GameModeTask_Loop6
|
||||
A937 Sub_A937
|
||||
A946 GameModeTask_Loop7
|
||||
A96F GameModeTask_Loop8
|
||||
A971 GameModeTask_Loop9
|
||||
A97F Sub_A97F
|
||||
A98E GameModeTask_Loop10
|
||||
A9B7 GameModeTask_Loop11
|
||||
A9B9 GameModeTask_Loop12
|
||||
A9D0 Sub_A9D0
|
||||
A9E7 GameModeTask_Loop13
|
||||
AA03 GameModeTask_Loop14
|
||||
AA33 GameModeTask_Loop15
|
||||
AA35 GameModeTask_Loop16
|
||||
AA39 GameModeTask_Loop17
|
||||
AA5D GameModeTask_Loop18
|
||||
AA6B GameModeTask_Loop19
|
||||
AA75 GameModeTask_Loop20
|
||||
AA85 GameModeTask_Loop21
|
||||
AA90 GameModeTask_Loop22
|
||||
AA9A GameModeTask_Loop23
|
||||
AAA5 Sub_AAA5
|
||||
AABC GameModeTask_Loop24
|
||||
AAD8 GameModeTask_Loop25
|
||||
AB0A GameModeTask_Loop26
|
||||
AB0C GameModeTask_Loop27
|
||||
AB10 GameModeTask_Loop28
|
||||
AB34 GameModeTask_Loop29
|
||||
AB42 GameModeTask_Loop30
|
||||
AB4C GameModeTask_Loop31
|
||||
AB5C GameModeTask_Loop32
|
||||
AB67 GameModeTask_Loop33
|
||||
AB71 GameModeTask_Loop34
|
||||
AB7C Sub_AB7C
|
||||
ABD1 GameModeTask_Loop35
|
||||
ABD6 GameModeTask_Loop36
|
||||
ABF0 Sub_ABF0
|
||||
AC47 GameModeTask_Loop37
|
||||
AC4C GameModeTask_Loop38
|
||||
AD0C Sub_AD0C
|
||||
AD34 GameModeTask_Loop39
|
||||
AD44 GameModeTask_Loop40
|
||||
AD51 GameModeTask_Loop41
|
||||
AD52 Sub_AD52
|
||||
AD61 GameModeTask_Loop42
|
||||
AD86 Sub_AD86
|
||||
ADA3 GameModeTask_Loop43
|
||||
ADA7 GameModeTask_Loop44
|
||||
ADB1 Sub_ADB1
|
||||
ADC4 GameModeTask_Loop45
|
||||
AE14 Sub_AE14
|
||||
AE3D GameModeTask_Loop46
|
||||
AE4C GameModeTask_Loop47
|
||||
AE58 GameModeTask_Loop48
|
||||
AE61 GameModeTask_Loop49
|
||||
AE6A GameModeTask_Loop50
|
||||
AE73 GameModeTask_Loop51
|
||||
AE7C GameModeTask_Loop52
|
||||
AE85 GameModeTask_Loop53
|
||||
AE86 Sub_AE86
|
||||
AEC2 Sub_AEC2
|
||||
AEFE Sub_AEFE
|
||||
AF3A Sub_AF3A
|
||||
AF76 Sub_AF76
|
||||
AFB2 Sub_AFB2
|
||||
AFEE Sub_AFEE
|
||||
BE63 AudioChannelLoop
|
||||
BE66 AudioChannelLoop_OnNonzero
|
||||
BE75 SoundChannelStep
|
||||
BEBB SoundChannelStep_Loop
|
||||
BEBF ClearObjectSlot
|
||||
BEC9 ClearObjectSlot_OnNonnegative
|
||||
BED0 ClearObjectSlot_OnNonnegative2
|
||||
BEDD SoundChanInit
|
||||
BEE4 Sub_BEE4
|
||||
BEEB Sub_BEEB
|
||||
BEF2 SoundChanInit_OnNonnegative
|
||||
BF00 SoundChanInit_Loop
|
||||
BF04 Sub_BF04
|
||||
BF22 SoundChanInit_Loop2
|
||||
BF25 SoundChanInit_Loop3
|
||||
BF3D SoundChanInit_Loop4
|
||||
BF40 SoundChanInit_Loop5
|
||||
BF5F SoundChanInit_Loop6
|
||||
BF6D SoundChanInit_Loop7
|
||||
BF70 SoundChanInit_Loop8
|
||||
BF77 SoundChanInit_Loop9
|
||||
BF84 SoundChanInit_OnZero
|
||||
BF89 SoundNote
|
||||
BFA2 SoundNote_Loop
|
||||
BFB5 SoundNote_Loop2
|
||||
C000 SoundNote_Loop3
|
||||
C02F SoundNote_OnNonzero
|
||||
C047 SoundNote_Loop4
|
||||
C0E5 SoundNote_Loop5
|
||||
C105 SoundNote_OnNonzero2
|
||||
C111 SoundNote_Loop6
|
||||
C126 SoundNote_Loop7
|
||||
C168 SoundNote_Loop8
|
||||
C169 SoundNote_Loop9
|
||||
C16C SoundNote_OnNonnegative
|
||||
C174 SoundNote_Loop10
|
||||
C189 Sub_C189
|
||||
C1B8 SoundNote_Loop11
|
||||
C1BA SoundNote_Loop12
|
||||
C1C0 SoundNote_Loop13
|
||||
C1D0 SoundNote_Loop14
|
||||
C1F9 SoundNote_Loop15
|
||||
C216 SoundNote_Loop16
|
||||
C21B SoundNote_OnCarryClear
|
||||
C23A SoundNote_Loop17
|
||||
C243 SoundNote_Loop18
|
||||
C24D SoundNote_Loop19
|
||||
C24F SoundNote_Loop20
|
||||
C267 Sub_C267
|
||||
C272 SoundNote_Loop21
|
||||
C289 Sub_C289
|
||||
C2BF Sub_C2BF
|
||||
C2C2 ObjectCollision
|
||||
C2CB ObjectCollision_Loop
|
||||
C2CC Sub_C2CC
|
||||
C2D3 Sub_C2D3
|
||||
C2FE ObjectCollision_Loop2
|
||||
C2FF Sub_C2FF
|
||||
C30E Sub_C30E
|
||||
C320 ObjectCollision_Loop3
|
||||
C33A Sub_C33A
|
||||
C343 ObjectCollision_Loop4
|
||||
C373 ObjectCollision_Loop5
|
||||
C390 ObjectCollision_Loop6
|
||||
C3A5 ObjectCollision_Loop7
|
||||
C3A7 ObjectCollision_Loop8
|
||||
C3B2 ObjectCollision_Loop9
|
||||
C3BB ObjectCollision_Loop10
|
||||
C3C2 Sub_C3C2
|
||||
C3D4 Sub_C3D4
|
||||
C3DD ObjectCollision_Loop11
|
||||
C3FE ObjectCollision_Loop12
|
||||
C3FF Sub_C3FF
|
||||
C418 ObjectCollision_Loop13
|
||||
C419 Sub_C419
|
||||
C41D ObjectCollision_OnNonzero
|
||||
C42D ObjectCollision_Loop14
|
||||
CF36 Sub_CF36
|
||||
CF7D ObjectCollision_Loop15
|
||||
CF92 ObjectCollision_Loop16
|
||||
CF97 Sub_CF97
|
||||
CF99 ObjectCollision_OnNonzero2
|
||||
CFBA Sub_CFBA
|
||||
CFC2 ObjectCollision_OnNonzero3
|
||||
CFF8 ObjectCollision_Loop17
|
||||
CFF9 Sub_CFF9
|
||||
D007 ObjectCollision_Loop18
|
||||
D017 ObjectCollision_Loop19
|
||||
D022 ObjectCollision_Loop20
|
||||
D02D ObjectCollision_Loop21
|
||||
D03D ObjectCollision_Loop22
|
||||
D048 ObjectCollision_Loop23
|
||||
D053 ObjectCollision_Loop24
|
||||
D054 Sub_D054
|
||||
D065 ObjectCollision_Loop25
|
||||
D077 Sub_D077
|
||||
D08E Sub_D08E
|
||||
D098 ObjectCollision_OnNonzero4
|
||||
D0A5 ObjectCollision_Loop26
|
||||
D0AE ObjectCollision_Loop27
|
||||
D0AF Sub_D0AF
|
||||
D0BD ObjectCollision_Loop28
|
||||
D0C7 ObjectCollision_Loop29
|
||||
D0D5 ObjectCollision_Loop30
|
||||
D0DF ObjectCollision_Loop31
|
||||
D0F0 ObjectCollision_Loop32
|
||||
D0F1 PollControllers
|
||||
D103 PollControllers_Loop
|
||||
D13B Sub_D13B
|
||||
D151 PollControllers_Loop2
|
||||
D15A Sub_D15A
|
||||
D17D PollControllers_Loop3
|
||||
D17E Sub_D17E
|
||||
D19B PollControllers_Loop4
|
||||
D1AD PollControllers_Loop5
|
||||
D1AE Sub_D1AE
|
||||
D1C2 PollControllers_Loop6
|
||||
D1DC PollControllers_Loop7
|
||||
D1DD Sub_D1DD
|
||||
D1EC PollControllers_OnNonzero
|
||||
D1FA PollControllers_Loop8
|
||||
D221 Sub_D221
|
||||
D22D PollControllers_Loop9
|
||||
D23F PollControllers_Loop10
|
||||
D240 Sub_D240
|
||||
D25D Sub_D25D
|
||||
D269 PollControllers_Loop11
|
||||
D27C PollControllers_OnNonzero2
|
||||
D28A PollControllers_Loop12
|
||||
D299 PollControllers_Loop13
|
||||
D2B2 PollControllers_Loop14
|
||||
D2BE Sub_D2BE
|
||||
D2D6 PollControllers_Loop15
|
||||
D2F8 PollControllers_Loop16
|
||||
D304 PollControllers_Loop17
|
||||
D32B EventTaskInit
|
||||
D334 EventTaskInit_Loop
|
||||
D370 EventTaskInit_Loop2
|
||||
D390 EventTaskInit_OnNonzero
|
||||
D3D5 EventTaskInit_OnNonzero2
|
||||
D42C EventTaskInit_Loop3
|
||||
D43B Sub_D43B
|
||||
D460 EventTaskInit_Loop4
|
||||
D468 EventTaskInit_Loop5
|
||||
D496 EventTaskInit_Loop6
|
||||
D4B9 EventTaskInit_Loop7
|
||||
D4BC EventTaskInit_Loop8
|
||||
D4C9 EventTaskInit_Loop9
|
||||
D4E3 EventTaskInit_Loop10
|
||||
D507 EventTaskInit_OnNonzero3
|
||||
D52F EventTaskInit_Loop11
|
||||
D563 EventTaskInit_Loop12
|
||||
D565 Sub_D565
|
||||
D686 Sub_D686
|
||||
D690 EventTaskInit_Loop13
|
||||
D6C2 EventTaskInit_Loop14
|
||||
D6D3 Sub_D6D3
|
||||
D6DD EventTaskInit_Loop15
|
||||
D6F3 EventTaskInit_Loop16
|
||||
D6F4 Sub_D6F4
|
||||
D721 EventTaskInit_Loop17
|
||||
D738 Sub_D738
|
||||
D759 EventTaskInit_Loop18
|
||||
D75A EventTaskInit_Loop19
|
||||
D770 Sub_D770
|
||||
D78C EventTaskInit_Loop20
|
||||
D790 EventTaskInit_OnNonzero4
|
||||
D7A5 EventTaskInit_OnNonzero5
|
||||
D7B0 EventTaskInit_Loop21
|
||||
D7B3 EventTaskInit_Loop22
|
||||
D7C0 EventTaskInit_OnNonzero6
|
||||
D7CF Sub_D7CF
|
||||
D7DB EventTaskInit_OnNonzero7
|
||||
D7EA EventTaskInit_OnNonzero8
|
||||
D801 EventTaskInit_Loop23
|
||||
D80F Sub_D80F
|
||||
D822 EventTaskInit_Loop24
|
||||
D82B EventTaskInit_OnNonzero9
|
||||
D832 EventTaskInit_Loop25
|
||||
D83B EventTaskInit_Loop26
|
||||
D847 EventTaskInit_Loop27
|
||||
D855 Sub_D855
|
||||
D868 EventTaskInit_Loop28
|
||||
D876 EventTaskInit_OnNonzero10
|
||||
D87D EventTaskInit_Loop29
|
||||
D889 Sub_D889
|
||||
D88C EventTaskInit_Loop30
|
||||
D88E EventTaskInit_OnNonzero11
|
||||
D89D EventTaskInit_Loop31
|
||||
D8A8 EventTaskInit_OnNonzero12
|
||||
D8F2 Sub_D8F2
|
||||
D8F4 EventTaskInit_OnNonzero13
|
||||
D907 Sub_D907
|
||||
D90F EventTaskInit_OnNonzero14
|
||||
D977 Sub_D977
|
||||
D979 EventTaskInit_OnNonzero15
|
||||
D9BD EventTaskInit_Loop32
|
||||
E0D5 OlympicsScheduler
|
||||
E0EE OlympicsScheduler_Loop
|
||||
E109 Sub_E109
|
||||
E114 OlympicsScheduler_Loop2
|
||||
E117 OlympicsScheduler_Loop3
|
||||
E13C OlympicsScheduler_OnNonzero
|
||||
E144 OlympicsScheduler_OnNonzero2
|
||||
E178 OlympicsScheduler_Loop4
|
||||
E18C OlympicsScheduler_Loop5
|
||||
E19D OlympicsScheduler_Loop6
|
||||
E1AE OlympicsScheduler_Loop7
|
||||
E1B9 OlympicsScheduler_Loop8
|
||||
E1C3 OlympicsScheduler_OnNonzero3
|
||||
E1C4 OlympicsScheduler_Loop9
|
||||
E1EA OlympicsScheduler_Loop10
|
||||
E21D OlympicsScheduler_Loop11
|
||||
E225 OlympicsScheduler_Loop12
|
||||
E233 Sub_E233
|
||||
E245 OlympicsScheduler_Loop13
|
||||
E25F OlympicsScheduler_Loop14
|
||||
E268 OlympicsScheduler_Loop15
|
||||
E27E Sub_E27E
|
||||
E290 OlympicsScheduler_Loop16
|
||||
E298 OlympicsScheduler_Loop17
|
||||
E2B2 Sub_E2B2
|
||||
E2EA OlympicsScheduler_Loop18
|
||||
E328 OlympicsScheduler_Loop19
|
||||
E329 OlympicsScheduler_Loop20
|
||||
E36F OlympicsScheduler_Loop21
|
||||
E38B OlympicsScheduler_Loop22
|
||||
E395 Sub_E395
|
||||
E3B4 OlympicsScheduler_Loop23
|
||||
E3D3 OlympicsScheduler_Loop24
|
||||
E402 OlympicsScheduler_Loop25
|
||||
E405 OlympicsScheduler_Loop26
|
||||
E423 OlympicsScheduler_Loop27
|
||||
E424 OlympicsScheduler_Loop28
|
||||
E427 Sub_E427
|
||||
E434 OlympicsScheduler_Loop29
|
||||
E44D OlympicsScheduler_Loop30
|
||||
E456 OlympicsScheduler_Loop31
|
||||
E466 OlympicsScheduler_Loop32
|
||||
E46E OlympicsScheduler_Loop33
|
||||
E492 OlympicsScheduler_OnNonzero4
|
||||
E4A4 OlympicsScheduler_Loop34
|
||||
E4A7 OlympicsScheduler_Loop35
|
||||
E4AF OlympicsScheduler_Loop36
|
||||
E4BA OlympicsScheduler_Loop37
|
||||
E4E9 OlympicsScheduler_Loop38
|
||||
E4EB Sub_E4EB
|
||||
E515 OlympicsScheduler_OnNonnegative
|
||||
E54F OlympicsScheduler_Loop39
|
||||
E553 OlympicsScheduler_OnNonzero5
|
||||
E554 OlympicsScheduler_Loop40
|
||||
E55F Sub_E55F
|
||||
E566 OlympicsScheduler_OnNonzero6
|
||||
E569 OlympicsScheduler_Loop41
|
||||
E581 OlympicsScheduler_OnCarryClear
|
||||
E587 OlympicsScheduler_Loop42
|
||||
E592 OlympicsScheduler_Loop43
|
||||
E5B5 OlympicsScheduler_Loop44
|
||||
E5CB OlympicsScheduler_Loop45
|
||||
E5D2 OlympicsScheduler_Loop46
|
||||
E5E4 OlympicsScheduler_Loop47
|
||||
E5E6 OlympicsScheduler_Loop48
|
||||
E5F1 OlympicsScheduler_Loop49
|
||||
E60A Sub_E60A
|
||||
E625 Sub_E625
|
||||
E62C Sub_E62C
|
||||
E638 OlympicsScheduler_OnNonzero7
|
||||
E642 OlympicsScheduler_OnNonzero8
|
||||
E674 OlympicsScheduler_OnNonzero9
|
||||
E67C OlympicsScheduler_OnNonzero10
|
||||
E695 OlympicsScheduler_Loop50
|
||||
E6A2 OlympicsScheduler_Loop51
|
||||
E6A8 Sub_E6A8
|
||||
E6B2 OlympicsScheduler_OnCarrySet
|
||||
E6B6 OlympicsScheduler_OnNonnegative2
|
||||
E6CB OlympicsScheduler_Loop52
|
||||
E6CC Sub_E6CC
|
||||
E709 Sub_E709
|
||||
E72B OlympicsScheduler_Loop53
|
||||
E735 OlympicsScheduler_OnCarryClear2
|
||||
E73B OlympicsScheduler_Loop54
|
||||
E745 Sub_E745
|
||||
E772 Sub_E772
|
||||
E7AE Sub_E7AE
|
||||
E7B6 OlympicsScheduler_Loop55
|
||||
E7E1 OlympicsScheduler_Loop56
|
||||
E7FD OlympicsScheduler_Loop57
|
||||
E807 OlympicsScheduler_Loop58
|
||||
E819 OlympicsScheduler_Loop59
|
||||
E835 OlympicsScheduler_Loop60
|
||||
E839 OlympicsScheduler_Loop61
|
||||
E83D OlympicsScheduler_Loop62
|
||||
E844 OlympicsScheduler_Loop63
|
||||
E85A Sub_E85A
|
||||
E866 OlympicsScheduler_Loop64
|
||||
E880 Sub_E880
|
||||
E89F Sub_E89F
|
||||
E8C0 Sub_E8C0
|
||||
E8C6 OlympicsScheduler_Loop65
|
||||
E8D8 OlympicsScheduler_Loop66
|
||||
E8E0 OlympicsScheduler_Loop67
|
||||
E8EB OlympicsScheduler_Loop68
|
||||
E8FA Sub_E8FA
|
||||
E90B Sub_E90B
|
||||
E918 OlympicsScheduler_Loop69
|
||||
E943 Sub_E943
|
||||
E94E OlympicsScheduler_OnCarryClear3
|
||||
E957 OlympicsScheduler_Loop70
|
||||
E95C OlympicsScheduler_OnCarryClear4
|
||||
E965 OlympicsScheduler_Loop71
|
||||
E978 OlympicsScheduler_OnNonnegative3
|
||||
EB04 Sub_EB04
|
||||
EB2D OlympicsScheduler_Loop72
|
||||
EB3B OlympicsScheduler_Loop73
|
||||
EB4D OlympicsScheduler_Loop74
|
||||
EB4E Sub_EB4E
|
||||
EB5C OlympicsScheduler_OnNonzero11
|
||||
EB70 OlympicsScheduler_Loop75
|
||||
EB74 OlympicsScheduler_Loop76
|
||||
EB78 OlympicsScheduler_OnCarryClear5
|
||||
EB7A OlympicsScheduler_OnCarryClear6
|
||||
EB89 OlympicsScheduler_OnNonzero12
|
||||
EB9B OlympicsScheduler_Loop77
|
||||
EBA5 Sub_EBA5
|
||||
EBBA OlympicsScheduler_Loop78
|
||||
EBC5 OlympicsScheduler_Loop79
|
||||
EBC8 OlympicsScheduler_Loop80
|
||||
EBC9 Sub_EBC9
|
||||
EBF5 OlympicsScheduler_OnCarryClear7
|
||||
EC0E Sub_EC0E
|
||||
EC22 Sub_EC22
|
||||
EC24 OlympicsScheduler_OnCarrySet2
|
||||
EC44 OlympicsScheduler_Loop81
|
||||
EC5E OlympicsScheduler_Loop82
|
||||
EC68 OlympicsScheduler_Loop83
|
||||
EC6F OlympicsScheduler_OnNonzero13
|
||||
EC84 OlympicsScheduler_Loop84
|
||||
EC86 OlympicsScheduler_Loop85
|
||||
EC8B OlympicsScheduler_Loop86
|
||||
EC8C Sub_EC8C
|
||||
EC96 OlympicsScheduler_Loop87
|
||||
ECB5 OlympicsScheduler_Loop88
|
||||
ECF0 OlympicsScheduler_Loop89
|
||||
ED01 OlympicsScheduler_Loop90
|
||||
ED31 OlympicsScheduler_Loop91
|
||||
ED35 Sub_ED35
|
||||
ED53 Sub_ED53
|
||||
ED59 OlympicsScheduler_Loop92
|
||||
ED5A Sub_ED5A
|
||||
ED62 OlympicsScheduler_Loop93
|
||||
ED64 OlympicsScheduler_OnCarryClear8
|
||||
ED96 OlympicsScheduler_Loop94
|
||||
ED9F Sub_ED9F
|
||||
EDC6 OlympicsScheduler_OnCarryClear9
|
||||
EDF7 OlympicsScheduler_OnNonzero14
|
||||
EE1B Sub_EE1B
|
||||
EE3D Sub_EE3D
|
||||
EE52 Sub_EE52
|
||||
EE6E Sub_EE6E
|
||||
EE7A Sub_EE7A
|
||||
EE90 OlympicsScheduler_Loop95
|
||||
EEA5 OlympicsScheduler_Loop96
|
||||
EEA6 OlympicsScheduler_OnNonzero15
|
||||
EEB1 OlympicsScheduler_Loop97
|
||||
EEC0 OlympicsScheduler_OnNonzero16
|
||||
EECB OlympicsScheduler_Loop98
|
||||
EEE0 OlympicsScheduler_Loop99
|
||||
EEF8 OlympicsScheduler_OnNonzero17
|
||||
EF23 OlympicsScheduler_Loop100
|
||||
EF25 OlympicsScheduler_Loop101
|
||||
EF29 OlympicsScheduler_OnNonzero18
|
||||
EF3F OlympicsScheduler_Loop102
|
||||
EF4C Sub_EF4C
|
||||
EF7C EventInit
|
||||
EFC6 Sub_EFC6
|
||||
EFD7 Sub_EFD7
|
||||
EFD9 Sub_EFD9
|
||||
F00C Sub_F00C
|
||||
F014 EventInit_OnNonzero
|
||||
F6FD Reset
|
||||
F719 ClearRam
|
||||
F743 ClearOam
|
||||
F74F MainLoop
|
||||
F757 MainLoop_NextSlot
|
||||
F77A MainLoop_RunTask
|
||||
F780 TaskDispatch
|
||||
F78D FrameEnd
|
||||
F7A0 TaskSlotStart
|
||||
F7BE TaskSlotStart_OnNonzero
|
||||
F7C5 TaskSlotStart_Loop
|
||||
F7CA TaskSlotClear
|
||||
F7DE EnableNmi
|
||||
F7EA TaskFrameWait
|
||||
F7F5 DelayFrames
|
||||
F7F9 DelayFrames_OnNonzero
|
||||
F803 NmiHandler
|
||||
F83F NmiHandler_Loop
|
||||
F84F NmiHandler_Loop2
|
||||
F859 NmiHandler_OnNonzero
|
||||
F868 NmiHandler_OnZero
|
||||
F8A8 Sub_F8A8
|
||||
F8BC InitDisplay
|
||||
F8D7 WaitVblankStart
|
||||
F8DC WaitVblankEnd
|
||||
F8E6 FrameDelay
|
||||
F8F5 NmiPaletteUpdate
|
||||
F91F NmiPaletteUpdate_OnNonzero
|
||||
F939 NmiPaletteUpdate_Loop
|
||||
F957 NmiPaletteUpdate_Loop2
|
||||
F963 NmiPaletteUpdate_OnNonzero2
|
||||
F970 NmiPaletteUpdate_Loop3
|
||||
F999 NmiPaletteUpdate_OnNonzero3
|
||||
F9A3 NmiPaletteUpdate_Loop4
|
||||
F9CA NmiPaletteUpdate_OnNonzero4
|
||||
F9D6 NmiPaletteUpdate_Loop5
|
||||
F9E0 Sub_F9E0
|
||||
F9FC NmiPaletteUpdate_Loop6
|
||||
F9FF NmiPaletteUpdate_Loop7
|
||||
FA14 NmiPaletteUpdate_Loop8
|
||||
FA32 NmiPaletteUpdate_OnNonzero5
|
||||
FA4C NmiPaletteUpdate_Loop9
|
||||
FA55 NmiPaletteUpdate_Loop10
|
||||
FA59 NmiPaletteUpdate_OnNonzero6
|
||||
FA69 NmiPaletteUpdate_Loop11
|
||||
FA88 NmiPaletteUpdate_Loop12
|
||||
FA91 NmiPaletteUpdate_Loop13
|
||||
FA9D PaletteLoad
|
||||
FAAF PaletteLoad_Loop
|
||||
FABB Sub_FABB
|
||||
FABD Sub_FABD
|
||||
FACB PaletteLoad_Loop2
|
||||
FAE8 PaletteLoad_Loop3
|
||||
FAFB PaletteLoad_Loop4
|
||||
FB1E Sub_FB1E
|
||||
FB37 PaletteLoad_Loop5
|
||||
FB52 PaletteLoad_Loop6
|
||||
FB58 PaletteLoad_OnNonzero
|
||||
FB6A PaletteLoad_OnNonzero2
|
||||
FB72 PaletteLoad_Loop7
|
||||
FB96 PaletteLoad_Loop8
|
||||
FB97 Sub_FB97
|
||||
FBAB Sub_FBAB
|
||||
FBB9 PaletteLoad_Loop9
|
||||
FBCB PaletteLoad_Loop10
|
||||
FBE3 OamCopy
|
||||
FC0D OamCopy_OnNonzero
|
||||
FC2A OamCopy_Loop
|
||||
FC2B SpriteTile
|
||||
FC2D SpriteTile_OnNonzero
|
||||
FC39 Sub_FC39
|
||||
FC45 Sub_FC45
|
||||
FC4E Sub_FC4E
|
||||
FC52 SpriteTile_OnNonzero2
|
||||
FC63 Sub_FC63
|
||||
|
Reference in new issue
Block a user