Pass 3 named the 10 data regions in prg.s, then the project was promoted
out of _wip/ so `make` now proves header + PRG + CHR against the original
ROM instead of only the PRG bank.
Data regions named:
LevelPtrTable $C000-$C03B (60 B) level header data
ObjectPtrTable $C03C-$C043 (8 B) 4 pointer pairs
LevelDataPtrTable $C044-$C79D (1882 B) level data pointers
SpriteInitPtrTable labelled at $C4B0 see residue note
UnreachedCode_D650 $D650-$D696 (71 B) unreached code
UnreachedCode_E144 $E144-$E165 (34 B) unreached code
MusicDataTable $F55B-$FA47 (1261 B) music/sound data
APUDataTable $FAE6-$FB74 (143 B) APU pulse/noise tables
SfxDataTable $FE59-$FFEF (407 B) sound-effect data
VectorTable $FFF6-$FFFF (10 B) padding + NMI/RESET/IRQ
Promotion (per the AGENTS.md checklist):
- git mv "_wip/Donkey Kong (JU)" "Donkey Kong (JU)"
- add copilot/rom.nes -> ../Donkey Kong (JU).nes symlink
- add header.s / chr.s (one-line .incbin of header.bin / chr.bin)
- linker.cfg gains HEADER ($0000/16 B) and CHR ($0000/8 KB)
- Makefile switched from `cmp reconstructed_prg.bin prg.bin` to
`cmp reconstructed.nes rom.nes`
- no _tools path change (this Makefile never referenced _tools/)
and no `make regen` pipeline exists for it
Doc corrections:
- project OVERVIEW.md said Mirroring Vertical; header byte 6 = $00
means Horizontal (the root index was right) — fixed
- root OVERVIEW.md: row 18 now BYTE-IDENTICAL, tier paragraph and
summary table refreshed (they had drifted around the Lunar Pool and
Urban Champion promotions), new per-project detail entry
- counts corrected to 19 top-level / 17 _wip in OVERVIEW.md,
TODO.md and AGENTS.md
Residue recorded rather than guessed:
- Pass 2 is partial: 919 Label_ definitions remain (214 semantic
labels applied); noted in TODO.md so nobody reads the promotion as
full semantic naming
- SpriteInitPtrTable's label sits at $C4B0: the routine at $C807 reads
$C4A7,x/$C4A8,x, but that table starts mid-row and a label there
would split the canonical 16-byte audit-comment line
Verification:
make clean && make -> "Byte-identical ROM verified."
verify_pass1.py -> 19/19 top-level build, Donkey Kong (JU) OK
(6014 instr / 12505 B), all comments canonical
Doc-drift sweep: build tiers, mirroring, and stale status tails
Reconciled the docs against verified reality after the Lunar Pool / Urban
Champion / Donkey Kong (JU) promotions and the 2026-10-19 audit-comment
standardization. No source behaviour changed except the two build fixes below.
Build tier (whole-ROM vs PRG-only)
- AGENTS.md: the 17 `_wip/` projects are real disassemblies at the PRG-build
tier, not "skeletons"; header.s/chr.s/rom.nes are promotion additions;
verify_pass1.py covers the top-level projects.
- Root OVERVIEW.md: `_wip` prose, audit-comment narrative and summary table
refreshed (37.5% figure, SEEDED vs OK wording, re-trace false alarm).
- Promoted projects whose build blocks still claimed `make` emits
`reconstructed_prg.bin` compared to `prg.bin` (Balloon Fight, Baseball,
CIRCUS, Clu Clu Land, Excitebike, NES PowerPad, Pac-Man (USA), Tennis):
now describe the whole-ROM `reconstructed.nes` vs `rom.nes`.
- Lunar Pool / Urban Champion / CIRCUS also had stale `cd "_wip/..."`
build paths and "Promotion" items; retargeted to their top-level folders.
Mirroring (header byte 6 bit 0: 0 = Horizontal, 1 = Vertical)
- Corrected DK Jr. prose "horizontal mirroring (flag 6 = $01)" -> vertical,
and both `_wip/Pac-Man` variant notes "Both use vertical mirroring" ->
horizontal (both are byte-6 = $00).
- Re-audited every project OVERVIEW: 0 rows and 0 prose claims now disagree.
Stale status tails
- Retitled/restatused the `_wip` OVERVIEWs to their real `prg.s` (Golf,
Ice Climber (U), Lode Runner, Millipede, Pac-Man Tengen, Pac-Man (U),
Popeye 0/1, Raid, Raid a2, Hogan's Alley, Mario Bros); Golf's
skeleton-era contents rows and Next Steps corrected.
- Dropped the skeleton-era "## Next Steps (per `PROMPTS.md`)" heading and
the "(from the skeleton)" wording across all project OVERVIEWs.
- Rewrote Lunar Pool / Urban Champion Next Steps (both already Pass 1-3
complete and promoted; their tails still described pending Pass 2 and
promotion); fixed root row 13 (Wild Gunman) and row 20 (Duck Hunt).
Also lands two code fixes carried with this sweep:
- `_wip/Hogan's Alley (JU)`: $E9F1-$E9FD and $EA13-$EA14 reclassified as
data with canonical audit comments (the seeded build had decoded a data
table base as code, breaking the build since 2ae09f7). `make` ->
BYTE-IDENTICAL again; reconstructed_prg.bin/.lbl refreshed.
- `_wip/Pyramid (U)`: `Label_D72E` -> `NMI:` (byte-identical).
Verification:
make (Hogan's Alley, Pyramid) -> BYTE-IDENTICAL, BYTE-IDENTICAL
_tools/verify_pass1.py -> 19/19 build, all canonical,
"No truncated or unfaithful Pass 1"
mirroring audit (rows + prose) -> 0 mismatches
Donkey Kong (JU): complete Pass 2 — all 919 Label_ definitions named
The last non-zero Label_ residue in the repo is now gone. Every one of the
919 address-derived definitions in copilot/prg.s is replaced:
* 319 routine entry points (jsr/jmp targets):
- 102 named from observed behaviour (LoadSpriteInitPointerToZp00 $C807,
CopyVramDataToBuffer $CBDF, CheckSpriteListCollision $D8AD,
UpdateRandomSeed $F4ED, ReadControllers $F50E, UpdateSoundEngine $FA48, ...)
- 217 left as SubC<addr> — honest residue where the body is too
context-dependent to name without guessing (Golf: 108, Mario Bros: 223)
- the 77 already-named entries untouched
* 600 internal branch targets named <Routine>_Block / <Routine>_Block_n in
address order within their owning routine (DK Jr./Balloon Fight convention).
Ownership is control-flow containment, so a loop that physically precedes
its own entry lands correctly (FlushPpuBuffer_Block $F1EC under $F228).
* Two proposal collisions disambiguated by indexing zero-page slot:
UpdateObjectListZp5D/DispatchObjectStateZp5E ($DA16/$DA4C) vs
UpdateObjectListZpAE/DispatchObjectStateZpAF ($E1E9/$E250).
jsr/jmp operands stay numeric (Wild Gunman style); only branch operands are
symbolic. Applied with _tools/pass2.py apply (919 defs + 2,622 refs rewritten,
comments re-aligned); the ROM still rebuilds byte-identically and
verify_pass1.py reports 19/19 canonical with no truncated split.
Docs synced: project OVERVIEW.md gains a Pass 2 Details section, root
OVERVIEW.md rows + conventions, TODO.md section 4 closed. dk_full_map.tsv now
records the complete applied map (its zp rows remain unapplied proposals).
_wip status correction: five false "Pass 2 complete" claims + map audit
The `_wip` tier's "Pass 2 complete" headers counted their draft maps' rows, not
the names actually present in `prg.s`, and described the count of *neutral*
`ZpXX` slots in `locals.inc` as "zero-page semantic aliases". Verified against
the sources and corrected in the root inventory rows, the project OVERVIEWs and
TODO:
project named/total Label_ left drafted map
Pinball (JU) 180 / 681 501 210 rows, 179 applied
Ice Climber (JE) 76 / 973 897 255 rows, 76 applied
Donkey Kong Jr. Math 64 / 1035 971 243 rows, 62 applied
Duck Hunt (JUE) 31 / 472 441 272 rows, 31 applied
Ice Climber (U) 2 / 973 971 none - Pass 2 not started
No `_wip` project is Pass 2 complete. Ice Climber (U) was the worst case: the
2026-10-19 sweep itself restated it "Pass 2 complete" while describing its 971
`Label_` definitions in the same paragraph - a copy-paste from (JE); (U) has no
map file at all.
Drafted maps audited row by row against the committed split: they are not
applicable. 100/243 (DK Jr. Math), 96/255 (Ice Climber (JE)) and 17/210
(Pinball) rows point at addresses that are not instruction boundaries - they
were built against an older code/data split - while most of the rest are
unlabelled boundaries that no operand references, or (Duck Hunt) competing
candidate names for one label (`Label_C2BF` alone carries 205). Rows that are
both insertable and corroborated by control flow: 0 in every map. Recorded as
stale and kept for provenance; Pass 2 here needs a fresh map derived from the
committed split.
Also corrected while verifying:
- Mario Bros entry counts (docs said 252 / 90 + 165 / 477 sites / 156 neutral
slots; the file holds 262 distinct `jsr`/`jmp` targets = 39 semantic + 223
`SubC<addr>`, 478 sites, 151 slots).
- root `_wip` prose line/label ranges (4,482-17,180 lines, 192-971 `Label_`,
11,126 total) and the Ice Climber code figure (74.6% / 6,112 instr, not
74.7% / 6,113).
- TODO §4 re-scoped to the promoted tier, with the `_wip` residue table added.
Verification: `make` across all 17 `_wip` projects -> BYTE-IDENTICAL (17/17);
`_tools/verify_pass1.py` -> 19/19 build, all canonical, "No truncated or
unfaithful Pass 1 found". No source bytes changed.
Balloon Fight (JU): apply locals.inc/symbols.inc names to prg.s (Pass 3)
Substitutes symbol names for 922 numeric operands: 125 hardware registers
(symbols.inc) and 797 of 813 zero-page/RAM operands (locals.inc). The 15
multi-alias addresses were resolved per routine; 16 operands stay numeric
because $13 is used there as a plain high-byte scratch beside Temp12 and
none of its three aliases fits.
- _tools/apply_symbols.py: the substitution tool (dry run by default;
--sites supplies per-routine choices for multi-alias addresses, --report
lists the residue). Only the operand token is rewritten, so the
`; CPU:$.... PRG:.... XX XX` audit comments survive byte for byte.
- prg.s: operand tokens only. make prints "Byte-identical ROM verified."
- OVERVIEW.md (project): instruction quotes now match prg.s, new
alias-reuse table, and section 10 rewritten from the stale "497 Label_"
prose to the real naming state and the 16-site residue.
- OVERVIEW.md (root), TODO.md, AGENTS.md: status, counts, tool list.
verify_pass1.py: 19/19 OK, all audit comments canonical.
Bomberman (U): apply locals.inc/symbols.inc names to prg.s (Pass 3)
Substitutes 362 zero-page operands in copilot/prg.s with the names already
declared in copilot/locals.inc: 354 from single-name addresses and 8 from the
two multi-alias addresses, resolved per site:
$E0/$E1 IndirectPtrLo/Hi in the RAM-clear loop
(InitializeSystemAndRunMainLoop -> Main_WriteSoundDispatchIndex_C317,
which writes $00 across $0100-$07FF via (ptr),y),
SoundDelay0 (the base of the per-channel delay table, indexed by X)
in the sound engine;
No symbols.inc substitution was needed: copilot/prg.s contains no numeric
hardware operands ($2000-$4017) at all. All 362 operands were already written
with two hex digits, so no ca65 `a:` prefix was required.
make -> Byte-identical ROM verified. Operand token only; mnemonics, spacing and
the trailing `; CPU:$.... PRG:.... XX XX` audit comments are untouched.
Remaining numeric operands (758) address bytes that no .inc file names:
505 zero-page (133 addresses), 171 RAM $0100-$07FF (46 addresses) and 82
table reads in $8000+ (54 addresses).
Bomberman (U): substitute 24 in-file table labels at ROM operand sites
Uses the new `--labels` option of `apply_symbols.py` with the
ld65 `-Ln` output (`reconstructed.lbl`). Only labels that prg.s
actually defines and that live in the PRG (+) are considered,
so CHR/header segment labels cannot leak in.
24 numeric operands (`lda ,x`, `adc ,y`, etc.) now read
`lda SystemPaletteData,x`, `adc GameplayObjectClassTable,y`, etc.
All 24 point at exact label addresses; the remaining 58 ROM-space
numeric operands point at interior bytes or unlabelled tables and
stay numeric.
make -> Byte-identical ROM verified.
Bomberman (U): update docs for Pass 3 symbol application
- Project OVERVIEW.md: corrected source file from main.s to prg.s/header.s/chr.s;
output name from reconstructed_bomberman.nes to reconstructed.nes;
rewritten §10 Zero-Page/RAM Symbols table to match locals.inc (with aliases
and unnamed residue documented);
fixed §4 step 1/4 to use IndirectPtrLo/Hi and SoundDelay0 names;
fixed §11 InesHeader location (now header.s);
added §2 Pass 3 summary table;
added §13 notes on legacy main.s and Main_WriteSoundDispatchIndex_C317 misnomer.
- Root OVERVIEW.md §3: updated source line count (7,553), file list, and added
Pass 3 summary.
Both builds verified byte-identical.
Pass 3 symbol application to all 19 top-level projects (2026-10-19)
Ran _tools/apply_symbols.py --write on all 19 promoted projects to substitute
symbolic names from symbols.inc (hardware registers) and locals.inc (zero-page
RAM aliases, forward references) into prg.s operands. The tool preserves the
canonical audit comments (; CPU:$XXXX PRG:XXXX AA BB) and preserves byte
identity — all projects still rebuild byte-identical to their original ROMs.
Per-project operand substitutions:
Baseball (UE) 121 (85 single + 36 hardware)
Tennis (JU) 18 (18 single)
Pac-Man (USA) (Namco) 524 (524 single; 727 multi-alias residues)
CIRCUS 118 (38 single + 80 hardware; 23 multi-alias residues)
Wild Gunman (U) 76 (11 single + 65 hardware)
Joypad Test Cartridge (U) 47 (47 hardware)
NES PowerPad Test Card (U) 89 (89 hardware)
MUSCLE (U) 220 (91 single + 129 hardware)
Lunar Pool (U) 45 (18 single + 27 hardware)
Donkey Kong (JU) 75 (17 single + 58 hardware)
Urban Champion (JU) 70 (4 single + 66 hardware)
Already had symbols applied: Balloon Fight, Bomberman, Burger Time,
Clu Clu Land, Defender 2, Donkey Kong 3, Donkey Kong Jr.
Skipped: Excitebike (JU) — inline prg.s definitions conflict with locals.inc
values and source operands don't match ROM byte encodings; automatic
substitution breaks byte identity.
Documentation updated:
OVERVIEW.md — added Pass 3 symbol notes to all 19 project entries,
added Urban Champion as section #36
TODO.md — current state now reflects complete symbol application across
the promoted tier
Verification: python3 _tools/verify_pass1.py reports all 19 projects OK/SEEDED,
all canonical comments, no truncated or unfaithful Pass 1.
1026 lines
29 KiB
Plaintext
1026 lines
29 KiB
Plaintext
al 00FFF6 .VectorTable
|
|
al 00FFF0 .IrqHandler
|
|
al 00FE59 .SfxDataTable
|
|
al 00FE55 .InitSoundEffect_Block_12
|
|
al 00FE4F .InitSoundEffect_Block_11
|
|
al 00FE58 .InitSoundEffect_Block_13
|
|
al 00FE2E .InitSoundEffect_Block_9
|
|
al 00FE1D .InitSoundEffect_Block_8
|
|
al 00FE03 .SilenceTriangleAndNoise_Block
|
|
al 00FE00 .SilenceTriangleAndNoise
|
|
al 00FE09 .InitSoundEffect_Block_7
|
|
al 00FE31 .InitSoundEffect_Block_10
|
|
al 00FDCF .InitSoundEffect_Block_4
|
|
al 00FDC1 .InitSoundEffect_Block_3
|
|
al 00FDB8 .InitSoundEffect_Block_2
|
|
al 00FDE9 .InitSoundEffect_Block_6
|
|
al 00FDD8 .InitSoundEffect_Block_5
|
|
al 00FDA4 .InitSoundEffect_Block_1
|
|
al 00FD67 .InitSoundEffect
|
|
al 00FD9B .InitSoundEffect_Block
|
|
al 00FD62 .SubCFC90_Block_17
|
|
al 00FD3A .SubCFC90_Block_15
|
|
al 00FD1D .SubCFC90_Block_13
|
|
al 00FD35 .SubCFC90_Block_14
|
|
al 00FD18 .SubCFC90_Block_12
|
|
al 00FD58 .SubCFC90_Block_16
|
|
al 00FCD1 .SubCFC90_Block_6
|
|
al 00FD00 .SubCFC90_Block_10
|
|
al 00FCC6 .SubCFC90_Block_5
|
|
al 00FCDD .SubCFC90_Block_8
|
|
al 00FCDB .SubCFC90_Block_7
|
|
al 00FCF0 .SubCFC90_Block_9
|
|
al 00FCBE .SubCFC90_Block_4
|
|
al 00FCBA .SubCFC90_Block_3
|
|
al 00FD0B .SubCFC90_Block_11
|
|
al 00FC90 .SubCFC90
|
|
al 00FC9D .SubCFC90_Block_2
|
|
al 00FC7F .SubCFC90_Block_1
|
|
al 00FC73 .SubCFC90_Block
|
|
al 00FC41 .ProcessSoundCommands_Block_15
|
|
al 00FC30 .ProcessSoundCommands_Block_14
|
|
al 00FC16 .ProcessSoundCommands_Block_11
|
|
al 00FC51 .ProcessSoundCommands_Block_18
|
|
al 00FC62 .ProcessSoundCommands_Block_19
|
|
al 00FC19 .ProcessSoundCommands_Block_12
|
|
al 00FC28 .ProcessSoundCommands_Block_13
|
|
al 00FC4B .ProcessSoundCommands_Block_17
|
|
al 00FBF2 .ProcessSoundCommands
|
|
al 00FC44 .ProcessSoundCommands_Block_16
|
|
al 00FBD9 .ProcessSoundCommands_Block_10
|
|
al 00FBD4 .ProcessSoundCommands_Block_9
|
|
al 00FBC2 .ProcessSoundCommands_Block_8
|
|
al 00FBB7 .ProcessSoundCommands_Block_7
|
|
al 00FBAF .ProcessSoundCommands_Block_5
|
|
al 00FBB2 .ProcessSoundCommands_Block_6
|
|
al 00FBA7 .ProcessSoundCommands_Block_4
|
|
al 00FBA0 .ProcessSoundCommands_Block_3
|
|
al 00FB89 .ProcessSoundCommands_Block_2
|
|
al 00FB7E .ProcessSoundCommands_Block_1
|
|
al 00FB75 .ProcessSoundCommands_Block
|
|
al 00FAE6 .APUDataTable
|
|
al 00FAE0 .SilencePulse1
|
|
al 00FAD7 .SubCFAD7
|
|
al 00FAD5 .SubCFAD5
|
|
al 00FACA .LookupNotePeriod
|
|
al 00FAC4 .DecodeNotePeriod
|
|
al 00FABA .WriteTriangleNote
|
|
al 00FAB3 .WritePulse2Note
|
|
al 00FAB2 .WriteTriangleNote_Block_1
|
|
al 00FAA1 .WriteTriangleNote_Block
|
|
al 00FA9F .WriteNoteFrequency
|
|
al 00FA95 .WritePulse1Control
|
|
al 00FA93 .WritePulse1ControlDefault
|
|
al 00FA8F .SubCFA8F
|
|
al 00FA8E .FindHighestSetBit_Block_1
|
|
al 00FA88 .FindHighestSetBit_Block
|
|
al 00FA86 .FindHighestSetBit
|
|
al 00FA82 .UpdateSoundEngine_Block_3
|
|
al 00FA7F .UpdateSoundEngine_Block_2
|
|
al 00FA6B .UpdateSoundEngine_Block_1
|
|
al 00FA64 .UpdateSoundEngine_Block
|
|
al 00FA48 .UpdateSoundEngine
|
|
al 00F55B .MusicDataTable
|
|
al 00F55A .ReadControllerShift_Block_2
|
|
al 00F549 .ReadControllerShift_Block_1
|
|
al 00F524 .ReadControllerShift_Block
|
|
al 00F522 .ReadControllerShift
|
|
al 00F50E .ReadControllers
|
|
al 00F4FD .UpdateRandomSeed_Block
|
|
al 00F4ED .UpdateRandomSeed
|
|
al 00F4C2 .QueuePpuByteWrite
|
|
al 00F4BE .UpdateTimers_Block_1
|
|
al 00F4B8 .UpdateTimers_Block
|
|
al 00F4AC .UpdateTimers
|
|
al 00F493 .CompareBcdValues_Block_4
|
|
al 00F49F .CompareBcdValues_Block_5
|
|
al 00F47E .CompareBcdValues_Block_3
|
|
al 00F4A9 .CompareBcdValues_Block_8
|
|
al 00F4A4 .CompareBcdValues_Block_7
|
|
al 00F453 .CompareBcdValues_Block_1
|
|
al 00F479 .CompareBcdValues_Block_2
|
|
al 00F4A0 .CompareBcdValues_Block_6
|
|
al 00F44A .CompareBcdValues_Block
|
|
al 00F435 .CompareBcdValues
|
|
al 00F426 .SplitBcdByte
|
|
al 00F423 .SubtractBcdNibble_Block_1
|
|
al 00F417 .SubtractBcdNibble_Block
|
|
al 00F404 .SubtractBcdNibble
|
|
al 00F3FB .AddBcdNibble_Block_1
|
|
al 00F3FF .AddBcdNibble_Block_2
|
|
al 00F3EE .AddBcdNibble_Block
|
|
al 00F3E3 .AddBcdNibble
|
|
al 00F3E2 .ApplyBcdAddSub_Block_5
|
|
al 00F3C6 .ApplyBcdAddSub_Block_4
|
|
al 00F3C0 .ApplyBcdAddSub_Block_3
|
|
al 00F36B .ApplyBcdAddSub_Block
|
|
al 00F392 .ApplyBcdAddSub_Block_2
|
|
al 00F38E .ApplyBcdAddSub_Block_1
|
|
al 00F35E .ApplyBcdAddSub
|
|
al 00F355 .AddBcdValue_Block_1
|
|
al 00F342 .AddBcdValue
|
|
al 00F344 .AddBcdValue_Block
|
|
al 00F33E .SubtractBcdValue
|
|
al 00F33D .CheckPpuBufferOverflow_Block
|
|
al 00F32F .CheckPpuBufferOverflow
|
|
al 00F32D .AdvancePpuBufferWrite
|
|
al 00F303 .DrawVramBlock_Block_1
|
|
al 00F2EA .DrawVramBlock_Block
|
|
al 00F2D7 .DrawVramBlock
|
|
al 00F2D6 .DrawLevelBlock_Block_7
|
|
al 00F2BE .DrawLevelBlock_Block_5
|
|
al 00F2B4 .DrawLevelBlock_Block_4
|
|
al 00F2B0 .DrawLevelBlock_Block_3
|
|
al 00F2C4 .DrawLevelBlock_Block_6
|
|
al 00F29A .DrawLevelBlock_Block_2
|
|
al 00F296 .DrawLevelBlock_Block_1
|
|
al 00F28E .DrawLevelBlock_Block
|
|
al 00F24E .DrawLevelBlock
|
|
al 00F248 .DrawLevelBlocks_Block_1
|
|
al 00F23F .DrawLevelBlocks_Block
|
|
al 00F23C .DrawLevelBlocks
|
|
al 00F228 .FlushPpuBuffer
|
|
al 00F214 .FlushPpuBuffer_Block_4
|
|
al 00F211 .FlushPpuBuffer_Block_3
|
|
al 00F20E .FlushPpuBuffer_Block_2
|
|
al 00F202 .FlushPpuBuffer_Block_1
|
|
al 00F1EC .FlushPpuBuffer_Block
|
|
al 00F1E5 .ClearNametable_Block_1
|
|
al 00F1CE .ClearNametable_Block
|
|
al 00F1B4 .ClearNametable
|
|
al 00F19F .HideSpriteGrid_Block_1
|
|
al 00F197 .HideSpriteGrid_Block
|
|
al 00F195 .HideSpriteGrid
|
|
al 00F16F .DrawSpriteMaskedGrid_Block_1
|
|
al 00F16A .DrawSpriteMaskedGrid_Block
|
|
al 00F161 .DrawSpriteMaskedGrid
|
|
al 00F141 .DrawSpriteGrid_Block_1
|
|
al 00F13B .DrawSpriteGrid_Block
|
|
al 00F139 .DrawSpriteGrid
|
|
al 00F124 .DrawSpriteTileRun_Block
|
|
al 00F11E .DrawSpriteTileRun
|
|
al 00F10E .HideSpriteRange_Block
|
|
al 00F10A .HideSpriteRange
|
|
al 00F0F2 .DrawSpritePatternReturn
|
|
al 00F0E9 .SubCF0E9
|
|
al 00F0E6 .DrawSpritePattern_Block_2
|
|
al 00F0DC .DrawSpritePattern_Block_1
|
|
al 00F0CB .DrawSpritePattern_Block
|
|
al 00F0EF .DrawSpritePattern_Block_3
|
|
al 00F094 .DrawSpritePatternMode15
|
|
al 00F092 .SetSpritePatternParams
|
|
al 00F08E .DrawSpritePatternMode4
|
|
al 00F08C .SetSpriteDrawOffsetMode4
|
|
al 00F088 .DrawSpritePatternMode1
|
|
al 00F086 .SetSpriteDrawOffsetMode1
|
|
al 00F096 .DrawSpritePattern
|
|
al 00F082 .DrawSpritePatternMode0
|
|
al 00F080 .SetSpriteDrawOffset
|
|
al 00F078 .DrawSpriteByMode
|
|
al 00F075 .SubCF075
|
|
al 00F070 .SubCF070
|
|
al 00F069 .ReadPtrBytePlusZp01
|
|
al 00F063 .ReadPtrBytePlusZp00
|
|
al 00F062 .SubCF062
|
|
al 00F059 .SubCF059
|
|
al 00F057 .SubCEFF3_Block_2
|
|
al 00F018 .SubCEFF3_Block_1
|
|
al 00EFF3 .SubCEFF3
|
|
al 00EFEF .CheckObjectOverlap
|
|
al 00EFF5 .SubCEFF3_Block
|
|
al 00EFEB .SubCEFEB
|
|
al 00EFE8 .LoadObjectRect
|
|
al 00EFE2 .ComputeOamOffset
|
|
al 00EFDD .ComputeOamOffsetFromZpAE
|
|
al 00EFD7 .SubCEFD7
|
|
al 00EFD5 .ComputeOamOffsetFromZp5D
|
|
al 00EFAD .SubCEFAD
|
|
al 00EFA2 .SubCEFA2
|
|
al 00EFA0 .SubCEF72_Block_2
|
|
al 00EF89 .SubCEF89
|
|
al 00EF87 .SubCEF72_Block
|
|
al 00EF94 .SubCEF72_Block_1
|
|
al 00EF72 .SubCEF72
|
|
al 00EF71 .SubCEF51_Block
|
|
al 00EF51 .SubCEF51
|
|
al 00EF38 .SubCEF38
|
|
al 00EF2E .SubCEEF7_Block
|
|
al 00EF2F .SubCEEF7_Block_1
|
|
al 00EEF7 .SubCEEF7
|
|
al 00EEE6 .SubCEE8D_Block_2
|
|
al 00EED9 .SubCEE8D_Block_1
|
|
al 00EEE7 .SubCEE8D_Block_3
|
|
al 00EE8D .SubCEE8D
|
|
al 00EEF0 .SubCEE8D_Block_4
|
|
al 00EED8 .SubCEE8D_Block
|
|
al 00EE80 .CheckPlayerCollision_Block
|
|
al 00EE79 .CheckPlayerCollision
|
|
al 00EE6C .SetSpriteAttributes
|
|
al 00EE5C .SubCEE29_Block_2
|
|
al 00EE51 .SubCEE29_Block_1
|
|
al 00EE38 .SubCEE29_Block
|
|
al 00EE29 .SubCEE29
|
|
al 00EE26 .SubCEE0C_Block_1
|
|
al 00EE1A .SubCEE0C_Block
|
|
al 00EE0C .SubCEE0C
|
|
al 00EE0B .SubCEDEB_Block_1
|
|
al 00EE07 .SubCEDEB_Block
|
|
al 00EDEB .SubCEDEB
|
|
al 00EDD2 .SubCEDC5_Block
|
|
al 00EDC5 .SubCEDC5
|
|
al 00EDC4 .SubCED93_Block_2
|
|
al 00EDB5 .SubCED93_Block_1
|
|
al 00EDAD .SubCED93_Block
|
|
al 00ED93 .SubCED93
|
|
al 00ED8A .SubCED8A
|
|
al 00ED87 .SubCED87
|
|
al 00ED74 .SubCED38_Block_1
|
|
al 00ED38 .SubCED38
|
|
al 00ED85 .SubCED38_Block_2
|
|
al 00ED57 .SubCED38_Block
|
|
al 00ED16 .SubCED16
|
|
al 00ED34 .SubCED07_Block
|
|
al 00ED07 .SubCED07
|
|
al 00ECFD .SubCECFD
|
|
al 00ECF7 .SubCECD3_Block_1
|
|
al 00ECE8 .SubCECD3_Block
|
|
al 00ECD3 .SubCECD3
|
|
al 00ECD1 .SubCECBF_Block_1
|
|
al 00ECC6 .SubCECBF_Block
|
|
al 00ECBF .SubCECBF
|
|
al 00ECBE .SubCEC97_Block_1
|
|
al 00ECAF .SubCEC97_Block
|
|
al 00EC80 .UpdateMusic2
|
|
al 00EC76 .SubCEC48_Block_1
|
|
al 00EC97 .SubCEC97
|
|
al 00ECA7 .SubCEC48_Block_2
|
|
al 00EC5B .SubCEC48_Block
|
|
al 00EC48 .SubCEC48
|
|
al 00EC44 .SubCEC44
|
|
al 00EC3E .SubCEC29_Block_1
|
|
al 00EC3B .SubCEC29_Block
|
|
al 00EC29 .SubCEC29
|
|
al 00EC12 .SubCEC12
|
|
al 00EC03 .SubCEBDA_Block_1
|
|
al 00EC0A .SubCEBDA_Block_2
|
|
al 00EC16 .SubCEBDA_Block_3
|
|
al 00EBED .SubCEBDA_Block
|
|
al 00EBDA .SubCEBDA
|
|
al 00EBC4 .SubCEBB6_Block_1
|
|
al 00EBBB .SubCEBB6_Block
|
|
al 00EBB6 .SubCEBB6
|
|
al 00EBA8 .SubCEBA8
|
|
al 00EBA6 .SubCEBA6
|
|
al 00EBA1 .SubCEBA1
|
|
al 00EB9C .SubCEB9C
|
|
al 00EB97 .SubCEB97
|
|
al 00EB92 .SubCEB92
|
|
al 00EB8E .SubCEB8E
|
|
al 00EB89 .SubCEB89
|
|
al 00EB85 .SubCEB85
|
|
al 00EB6F .SubCEB06_Block_3
|
|
al 00EB7B .SubCEB06_Block_5
|
|
al 00EB74 .SubCEB06_Block_4
|
|
al 00EB4E .SubCEB2B_Block_4
|
|
al 00EB47 .SubCEB2B_Block_3
|
|
al 00EB40 .SubCEB2B_Block_2
|
|
al 00EB39 .SubCEB2B_Block_1
|
|
al 00EB32 .SubCEB2B_Block
|
|
al 00EB2B .SubCEB2B
|
|
al 00EB4F .SubCEB06_Block_1
|
|
al 00EB54 .SubCEB06_Block_2
|
|
al 00EB0C .SubCEB06_Block
|
|
al 00EB06 .SubCEB06
|
|
al 00EB05 .SubCEAF7_Block
|
|
al 00EAF7 .SubCEAF7
|
|
al 00EAEC .LoadSpritePosition
|
|
al 00EAE1 .LoadSprite0Position
|
|
al 00EADB .SetSpriteSizeAndDraw
|
|
al 00EAD6 .SetSpriteSize
|
|
al 00EAD4 .SetSpriteTile
|
|
al 00EAD1 .UpdateSoundChannel4
|
|
al 00EACD .ClearSpriteDestOffset
|
|
al 00EACC .ReadPatternBitAlt_Return_Block
|
|
al 00EAC8 .ReadPatternBitAlt_Return
|
|
al 00EABF .ReadPatternBitAlt_Block
|
|
al 00EAB2 .ReadPatternBitAlt
|
|
al 00EAAE .AdvancePatternBitAlt_Block
|
|
al 00EAA1 .AdvancePatternBitAlt
|
|
al 00EAA0 .SubCEA8A_Block
|
|
al 00EA8A .SubCEA8A
|
|
al 00EA88 .SubCEA5F_Block_2
|
|
al 00EA72 .SubCEA5F_Block_1
|
|
al 00EA64 .SubCEA5F_Block
|
|
al 00EA5F .SubCEA5F
|
|
al 00EA5E .SubCEA34_Block
|
|
al 00EA34 .SubCEA34
|
|
al 00EA2F .UpdateSoundChannels
|
|
al 00EA2A .SubCEA01_Block_1
|
|
al 00EA11 .SubCEA01_Block
|
|
al 00EA01 .SubCEA01
|
|
al 00EA00 .SubCE9F3_Block
|
|
al 00E9EA .SubCE9EA
|
|
al 00E9DA .SubCE9DA
|
|
al 00E9F3 .SubCE9F3
|
|
al 00E9BE .SubCE986_Block_1
|
|
al 00E9B4 .SubCE986_Block
|
|
al 00E9F0 .SubCE986_Block_2
|
|
al 00E986 .SubCE986
|
|
al 00E981 .SubCE981
|
|
al 00E97A .SetSpritePairY
|
|
al 00E971 .SubCE971
|
|
al 00E968 .SubCE968
|
|
al 00E95B .SubCE945_Block
|
|
al 00E945 .SubCE945
|
|
al 00E92E .SubCE918_Block
|
|
al 00E967 .SubCE945_Block_1
|
|
al 00E918 .SubCE918
|
|
al 00E93B .SubCE84F_Block_6
|
|
al 00E8F8 .SubCE8EA_Block
|
|
al 00E8EA .SubCE8EA
|
|
al 00E8E3 .SubCE84F_Block_4
|
|
al 00E8FC .SubCE8EA_Block_1
|
|
al 00E8C4 .SubCE84F_Block_3
|
|
al 00E90E .SubCE84F_Block_5
|
|
al 00E901 .SubCE8EA_Block_2
|
|
al 00E89B .SubCE890_Block
|
|
al 00E890 .SubCE890
|
|
al 00E889 .SubCE84F_Block_1
|
|
al 00E8A4 .SubCE890_Block_1
|
|
al 00E86A .SubCE84F_Block
|
|
al 00E8A9 .SubCE84F_Block_2
|
|
al 00E84F .SubCE84F
|
|
al 00E84B .SubCE834_Block
|
|
al 00E834 .SubCE834
|
|
al 00E833 .ReadPatternBit_Return_Block
|
|
al 00E82F .ReadPatternBit_Return
|
|
al 00E826 .ReadPatternBit_Block
|
|
al 00E819 .ReadPatternBit
|
|
al 00E815 .AdvancePatternBit_Block
|
|
al 00E806 .AdvancePatternBit
|
|
al 00E7F9 .SubCE7E2_Block_1
|
|
al 00E7E2 .SubCE7E2
|
|
al 00E7F2 .SubCE7E2_Block
|
|
al 00E7AE .SubCE7A3_Block
|
|
al 00E7A3 .SubCE7A3
|
|
al 00E7A0 .SubCE770_Block_2
|
|
al 00E79D .SubCE770_Block_1
|
|
al 00E790 .SubCE770_Block
|
|
al 00E770 .SubCE770
|
|
al 00E769 .SubCE747_Block_2
|
|
al 00E758 .SubCE758
|
|
al 00E755 .SubCE747_Block
|
|
al 00E75C .SubCE747_Block_1
|
|
al 00E747 .SubCE747
|
|
al 00E73C .SubCE73C
|
|
al 00E72D .SubCE72D
|
|
al 00E72E .SubCE702_Block_2
|
|
al 00E721 .SubCE702_Block_1
|
|
al 00E735 .SubCE702_Block_3
|
|
al 00E719 .SubCE702_Block
|
|
al 00E702 .SubCE702
|
|
al 00E6FB .SubCE6DE_Block_2
|
|
al 00E6F3 .SubCE6DE_Block_1
|
|
al 00E6DE .SubCE6DE
|
|
al 00E6DB .SubCE6C6_Block
|
|
al 00E6E3 .SubCE6DE_Block
|
|
al 00E6C6 .SubCE6C6
|
|
al 00E6C3 .SubCE6A5_Block_1
|
|
al 00E6BC .SubCE6A5_Block
|
|
al 00E6A5 .SubCE6A5
|
|
al 00E69E .SubCE69E
|
|
al 00E697 .SubCE697
|
|
al 00E68A .SubCE66D_Block_1
|
|
al 00E67A .SubCE66D_Block
|
|
al 00E66D .SubCE66D
|
|
al 00E65D .SubCE626_Block_3
|
|
al 00E64D .SubCE626_Block_2
|
|
al 00E640 .SubCE626_Block_1
|
|
al 00E62F .SubCE626_Block
|
|
al 00E626 .SubCE626
|
|
al 00E623 .SubCE611_Block_1
|
|
al 00E620 .SubCE611_Block
|
|
al 00E611 .SubCE611
|
|
al 00E60C .SubCE5FA_Block
|
|
al 00E609 .UpdateMusicEngine
|
|
al 00E5FA .SubCE5FA
|
|
al 00E60F .SubCE5E8_Block
|
|
al 00E5E8 .SubCE5E8
|
|
al 00E5DB .SubCE5DB
|
|
al 00E5D9 .SubCE59F_Block_2
|
|
al 00E5E5 .SubCE5DB_Block
|
|
al 00E5BE .SubCE59F_Block_1
|
|
al 00E5B4 .SubCE59F_Block
|
|
al 00E59F .SubCE59F
|
|
al 00E594 .SubCE594
|
|
al 00E592 .SubCE592
|
|
al 00E572 .SubCE572
|
|
al 00E570 .SubCE538_Block_4
|
|
al 00E564 .SubCE538_Block_3
|
|
al 00E553 .SubCE538_Block_2
|
|
al 00E545 .SubCE538_Block
|
|
al 00E548 .SubCE538_Block_1
|
|
al 00E538 .SubCE538
|
|
al 00E532 .SubCE532
|
|
al 00E530 .SubCE50C_Block_2
|
|
al 00E522 .SubCE50C_Block
|
|
al 00E527 .SubCE50C_Block_1
|
|
al 00E50C .SubCE50C
|
|
al 00E4F9 .SubCE4D6_Block
|
|
al 00E4D6 .SubCE4D6
|
|
al 00E4D3 .SubCE47A_Block_5
|
|
al 00E4C0 .SubCE47A_Block_4
|
|
al 00E4A8 .SubCE47A_Block_2
|
|
al 00E49B .SubCE47A_Block_1
|
|
al 00E48E .SubCE47A_Block
|
|
al 00E4B5 .SubCE47A_Block_3
|
|
al 00E47A .SubCE47A
|
|
al 00E466 .SubCE44B_Block_1
|
|
al 00E46D .SubCE46D
|
|
al 00E451 .SubCE44B_Block
|
|
al 00E44B .SubCE44B
|
|
al 00E429 .SubCE41B_Block
|
|
al 00E436 .SubCE41B_Block_1
|
|
al 00E41B .SubCE41B
|
|
al 00E413 .SubCE413
|
|
al 00E411 .SubCE3ED_Block_1
|
|
al 00E403 .CheckGameState_3
|
|
al 00E408 .SubCE3ED_Block
|
|
al 00E3E6 .SubCE3C0_Block_2
|
|
al 00E3DD .SubCE3C0_Block_1
|
|
al 00E3ED .SubCE3ED
|
|
al 00E3CE .SubCE3C0_Block
|
|
al 00E3C0 .SubCE3C0
|
|
al 00E3BA .SubCE3AF_Block
|
|
al 00E3AF .SubCE3AF
|
|
al 00E3AA .SubCE39B_Block
|
|
al 00E39B .SubCE39B
|
|
al 00E396 .SubCE387_Block
|
|
al 00E387 .SubCE387
|
|
al 00E385 .SubCE368_Block_1
|
|
al 00E374 .SubCE368_Block
|
|
al 00E368 .SubCE368
|
|
al 00E365 .SubCE365
|
|
al 00E363 .SubCE34B_Block
|
|
al 00E34B .SubCE34B
|
|
al 00E349 .SubCE325_Block_2
|
|
al 00E33B .SubCE325_Block
|
|
al 00E340 .SubCE325_Block_1
|
|
al 00E325 .SubCE325
|
|
al 00E323 .SubCE2F9_Block_2
|
|
al 00E31A .SubCE2F9_Block_1
|
|
al 00E305 .SubCE2F9_Block
|
|
al 00E2F9 .SubCE2F9
|
|
al 00E2F6 .SubCE2F6
|
|
al 00E2F4 .SubCE2DD_Block_1
|
|
al 00E2EB .SubCE2DD_Block
|
|
al 00E2D9 .SubCE2B6_Block
|
|
al 00E2DD .SubCE2DD
|
|
al 00E2B6 .SubCE2B6
|
|
al 00E2B3 .DispatchObjectState_Loop_Block_4
|
|
al 00E29C .SubCE29C
|
|
al 00E28C .InitSound_3_Block
|
|
al 00E28A .InitSound_3
|
|
al 00E280 .SubCE280
|
|
al 00E278 .UpdateBallTrajectory
|
|
al 00E2A1 .DispatchObjectState_Loop_Block_3
|
|
al 00E29A .DispatchObjectState_Loop_Block_2
|
|
al 00E295 .DispatchObjectState_Loop_Block_1
|
|
al 00E28F .DispatchObjectState_Loop_Block
|
|
al 00E292 .SubCE292
|
|
al 00E254 .DispatchObjectState_Loop
|
|
al 00E250 .DispatchObjectStateZpAF
|
|
al 00E24F .SubCE225_Block_2
|
|
al 00E237 .SubCE225_Block_1
|
|
al 00E21F .SubCE21F
|
|
al 00E228 .SubCE225_Block
|
|
al 00E213 .UpdateObjectListZpAE_Block_1
|
|
al 00E200 .UpdateObjectListZpAE_Block
|
|
al 00E225 .SubCE225
|
|
al 00E1E9 .UpdateObjectListZpAE
|
|
al 00E1E5 .InitObjectListZpAE
|
|
al 00E1E0 .SubCE1E0
|
|
al 00E1D7 .SubCE1D7
|
|
al 00E1D5 .SubCE19A_Block_2
|
|
al 00E1E4 .SubCE1E0_Block
|
|
al 00E1BF .SubCE19A_Block_1
|
|
al 00E19F .SubCE19A_Block
|
|
al 00E19A .SubCE19A
|
|
al 00E199 .CountObjectTypes_Loop_Block_2
|
|
al 00E187 .CountObjectTypes_Loop_Block_1
|
|
al 00E17F .CountObjectTypes_Loop_Block
|
|
al 00E172 .CountObjectTypes_Loop
|
|
al 00E16A .CountObjectTypes_Block
|
|
al 00E166 .CountObjectTypes
|
|
al 00E144 .UnreachedCode_E144
|
|
al 00E141 .SubCE141
|
|
al 00E13E .SubCE130_Block
|
|
al 00E130 .SubCE130
|
|
al 00E12B .SearchTableForByte_Return
|
|
al 00E124 .SearchTableForByte_Loop_Block
|
|
al 00E129 .SearchTableForByte_Loop_Block_1
|
|
al 00E116 .SearchTableForByte_Loop
|
|
al 00E112 .SearchTableForByte
|
|
al 00E10F .SubCE10F
|
|
al 00E107 .SubCE0F1_Block
|
|
al 00E0F1 .SubCE0F1
|
|
al 00E0EC .SubCE0EC
|
|
al 00E109 .SubCE0F1_Block_1
|
|
al 00E0E9 .SubCE0AE_Block_3
|
|
al 00E0DD .SubCE0AE_Block_2
|
|
al 00E0D1 .SubCE0AE_Block_1
|
|
al 00E0CB .SubCE0AE_Block
|
|
al 00E0AE .SubCE0AE
|
|
al 00E0AB .SubCE0A1_Block
|
|
al 00E0A1 .SubCE0A1
|
|
al 00E09F .SubCE090_Block
|
|
al 00E090 .SubCE090
|
|
al 00E07B .SubCE07B
|
|
al 00E08D .SubCE07B_Block_1
|
|
al 00E08A .SubCE07B_Block
|
|
al 00E06A .SubCE06A
|
|
al 00E079 .SubCE05A_Block
|
|
al 00E05A .SubCE05A
|
|
al 00E057 .SubCE048_Block
|
|
al 00E048 .SubCE048
|
|
al 00E045 .SubCE02F_Block_1
|
|
al 00E041 .SubCE02F_Block
|
|
al 00E02F .SubCE02F
|
|
al 00E016 .FindYRowIndex
|
|
al 00E015 .SubCE011_Block
|
|
al 00E011 .SubCE011
|
|
al 00E008 .SubCDFFB_Block
|
|
al 00DFFB .SubCDFFB
|
|
al 00DFF7 .SubCDFE8_Block
|
|
al 00DFE8 .SubCDFE8
|
|
al 00DFE4 .CheckPeriodicEventForObject
|
|
al 00DFE3 .SubCDFC3_Block
|
|
al 00DFC3 .SubCDFC3
|
|
al 00DFB8 .SubCDFAD_Block
|
|
al 00DFAD .SubCDFAD
|
|
al 00DF89 .SubCDF72_Block_2
|
|
al 00DF7D .SubCDF72_Block_1
|
|
al 00DF7B .SubCDF72_Block
|
|
al 00DF72 .SubCDF72
|
|
al 00DF8F .SubCDF72_Block_3
|
|
al 00DF6C .SubCDF40_Block_5
|
|
al 00DF60 .SubCDF40_Block_4
|
|
al 00DF5E .SubCDF40_Block_3
|
|
al 00DF55 .SubCDF40_Block_2
|
|
al 00DF4C .SubCDF40_Block_1
|
|
al 00DF45 .SubCDF40_Block
|
|
al 00DF40 .SubCDF40
|
|
al 00DF35 .SubCDF27_Block
|
|
al 00DF27 .SubCDF27
|
|
al 00DF25 .HandleObjectState40_Block_1
|
|
al 00DF0F .HandleObjectState40_Block
|
|
al 00DF07 .HandleObjectState40
|
|
al 00DEDC .SubCDEA5_Block
|
|
al 00DEFB .SubCDEFB
|
|
al 00DEED .SubCDEA5_Block_2
|
|
al 00DEF2 .SubCDEA5_Block_3
|
|
al 00DEE8 .SubCDEA5_Block_1
|
|
al 00DEA5 .SubCDEA5
|
|
al 00DE9F .SubCDE86_Block_1
|
|
al 00DE90 .SubCDE86_Block
|
|
al 00DEA4 .SubCDEA4
|
|
al 00DE86 .SubCDE86
|
|
al 00DE82 .SubCDE82
|
|
al 00DE73 .SubCDE73
|
|
al 00DE6A .SubCDE6A
|
|
al 00DE68 .SubCDE56_Block
|
|
al 00DE50 .SubCDE27_Block_1
|
|
al 00DE56 .SubCDE56
|
|
al 00DE36 .SubCDE27_Block
|
|
al 00DE27 .SubCDE27
|
|
al 00DE1A .SubCDE1A
|
|
al 00DE85 .SubCDE82_Block
|
|
al 00DE0D .SubCDE0D
|
|
al 00DE0B .SubCDDB2_Block_3
|
|
al 00DE10 .SubCDE0D_Block
|
|
al 00DDF5 .SubCDDB2_Block_2
|
|
al 00DE13 .SubCDDB2_Block_4
|
|
al 00DDC9 .SubCDDB2_Block
|
|
al 00DDB2 .SubCDDB2
|
|
al 00DDB0 .HandleObjectStateC0_Block_2
|
|
al 00DDAB .HandleObjectStateC0_Block_1
|
|
al 00DDD7 .SubCDDB2_Block_1
|
|
al 00DD98 .HandleObjectStateC0_Block
|
|
al 00DD8B .HandleObjectStateC0
|
|
al 00DD7F .SubCDD7F
|
|
al 00DD6A .UpdateSpritePosition68_Block_3
|
|
al 00DD73 .UpdateSpritePosition68_Block_4
|
|
al 00DD59 .UpdateSpritePosition68_Block_1
|
|
al 00DD60 .UpdateSpritePosition68_Block_2
|
|
al 00DD3A .UpdateSpritePosition68_Block
|
|
al 00DD32 .UpdateSpritePosition68
|
|
al 00DD06 .SubCDD06
|
|
al 00DD25 .SubCDD06_Block_1
|
|
al 00DD13 .SubCDD06_Block
|
|
al 00DCF3 .SubCDCF3
|
|
al 00DD00 .HandleObjectState10_Block_1
|
|
al 00DCD8 .HandleObjectState10_Block
|
|
al 00DCD0 .HandleObjectState10
|
|
al 00DCC9 .SubCDCC9
|
|
al 00DCBC .SubCDC90_Block
|
|
al 00DCCF .SubCDCC9_Block
|
|
al 00DC8E .HandleObjectState08_Block_1
|
|
al 00DC90 .SubCDC90
|
|
al 00DC71 .HandleObjectState08_Block
|
|
al 00DC69 .HandleObjectState08
|
|
al 00DC51 .SubCDC51
|
|
al 00DC4F .HandleObjectState02_Block
|
|
al 00DC68 .SubCDC51_Block
|
|
al 00DC30 .HandleObjectState02
|
|
al 00DC2D .SubCDC2D
|
|
al 00DC2B .UpdateObjectAnimationFrame_Block_3
|
|
al 00DC16 .UpdateObjectAnimationFrame_Block_1
|
|
al 00DC1B .UpdateObjectAnimationFrame_Block_2
|
|
al 00DBFB .UpdateObjectAnimationFrame_Block
|
|
al 00DBEE .UpdateObjectAnimationFrame
|
|
al 00DBE7 .SubCDBE7
|
|
al 00DBCD .UpdateSpritePosition57_Block
|
|
al 00DBED .SubCDBE7_Block
|
|
al 00DBB6 .UpdateSpritePosition57
|
|
al 00DBA3 .SubCDB50_Block
|
|
al 00DBAC .SubCDB50_Block_1
|
|
al 00DB50 .SubCDB50
|
|
al 00DB4E .HandleObjectState01_Block_1
|
|
al 00DB34 .HandleObjectState01_Block
|
|
al 00DB2C .HandleObjectState01
|
|
al 00DB2B .SubCDB2B
|
|
al 00DB21 .HandleObjectState81_Block
|
|
al 00DB00 .HandleObjectState81
|
|
al 00DAF7 .SubCDAF7
|
|
al 00DAF2 .SubCDAD5_Block
|
|
al 00DAD5 .SubCDAD5
|
|
al 00DAC3 .HandleObjectState80_Block
|
|
al 00DAFF .SubCDAF7_Block
|
|
al 00DA9C .HandleObjectState80
|
|
al 00DA98 .DispatchObjectStateZp5E_Block_8
|
|
al 00DA95 .DispatchObjectStateZp5E_Block_7
|
|
al 00DA92 .DispatchObjectStateZp5E_Block_6
|
|
al 00DA8F .DispatchObjectStateZp5E_Block_5
|
|
al 00DA89 .DispatchObjectStateZp5E_Block_4
|
|
al 00DA86 .DispatchObjectStateZp5E_Block_3
|
|
al 00DA83 .DispatchObjectStateZp5E_Block_2
|
|
al 00DA80 .DispatchObjectStateZp5E_Block_1
|
|
al 00DA7D .DispatchObjectStateZp5E_Block
|
|
al 00DA4C .DispatchObjectStateZp5E
|
|
al 00DA40 .UpdateObjectListZp5D_Block_2
|
|
al 00DA3D .UpdateObjectListZp5D_Block_1
|
|
al 00DA1D .UpdateObjectListZp5D_Block
|
|
al 00DA16 .UpdateObjectListZp5D
|
|
al 00DA13 .SubCDA0F_Block
|
|
al 00DA0F .SubCDA0F
|
|
al 00DA06 .SubCD9F9_Block
|
|
al 00D9F9 .SubCD9F9
|
|
al 00D9F5 .SubCD9E8_Block
|
|
al 00D9E8 .SubCD9E8
|
|
al 00D9E6 .CheckPeriodicEvent
|
|
al 00D9D4 .SubCD9D4
|
|
al 00D9D0 .SubCD990_Block_2
|
|
al 00D9E3 .SubCD9E3
|
|
al 00D9E0 .SubCD9D4_Block
|
|
al 00D9AF .SubCD990_Block_1
|
|
al 00D99D .SubCD990_Block
|
|
al 00D990 .SubCD990
|
|
al 00D98D .SubCD98D
|
|
al 00D986 .SubCD93C_Block_1
|
|
al 00D98B .SubCD93C_Block_2
|
|
al 00D964 .SubCD93C_Block
|
|
al 00D93C .SubCD93C
|
|
al 00D93B .SubCD92D_Block
|
|
al 00D92D .SubCD92D
|
|
al 00D938 .SubCD91A_Block
|
|
al 00D91A .SubCD91A
|
|
al 00D911 .SubCD8EB_Block_1
|
|
al 00D914 .SubCD8EB_Block_2
|
|
al 00D904 .SubCD8EB_Block
|
|
al 00D917 .SubCD917
|
|
al 00D8EB .SubCD8EB
|
|
al 00D8E8 .SubCD8E8
|
|
al 00D8E6 .SubCD8B9_Block_1
|
|
al 00D8E1 .SubCD8B9_Block
|
|
al 00D8B9 .SubCD8B9
|
|
al 00D8AD .CheckSpriteListCollision
|
|
al 00D8A7 .SubCD87D_Block
|
|
al 00D8A8 .SubCD8A8
|
|
al 00D87D .SubCD87D
|
|
al 00D86F .SubCD800_Block_7
|
|
al 00D856 .SubCD800_Block_5
|
|
al 00D867 .SubCD800_Block_6
|
|
al 00D849 .SubCD800_Block_4
|
|
al 00D827 .SubCD800_Block_3
|
|
al 00D81E .SubCD800_Block_2
|
|
al 00D80E .SubCD800_Block_1
|
|
al 00D805 .SubCD800_Block
|
|
al 00D800 .SubCD800
|
|
al 00D7F2 .SubCD7F2
|
|
al 00D7DA .SubCD7DA
|
|
al 00D7D3 .SubCD7BF_Block
|
|
al 00D7BF .SubCD7BF
|
|
al 00D7BA .SubCD7BA
|
|
al 00D7B8 .SubCD7AD_Block
|
|
al 00D7AD .SubCD7AD
|
|
al 00D79B .SubCD79B
|
|
al 00D795 .SubCD769_Block_1
|
|
al 00D786 .SubCD769_Block
|
|
al 00D769 .SubCD769
|
|
al 00D767 .SubCD753_Block
|
|
al 00D753 .SubCD753
|
|
al 00D74F .SubCD713_Block_2
|
|
al 00D732 .SubCD713_Block
|
|
al 00D73E .SubCD713_Block_1
|
|
al 00D713 .SubCD713
|
|
al 00D705 .SubCD705
|
|
al 00D703 .SubCD6C6_Block_5
|
|
al 00D6FE .SubCD6C6_Block_4
|
|
al 00D6F2 .SubCD6C6_Block_3
|
|
al 00D710 .SubCD6C6_Block_7
|
|
al 00D70A .SubCD6C6_Block_6
|
|
al 00D6E8 .SubCD6C6_Block_2
|
|
al 00D6D9 .SubCD6C6_Block_1
|
|
al 00D6CD .SubCD6C6_Block
|
|
al 00D6C6 .SubCD6C6
|
|
al 00D6B7 .SubCD6B7
|
|
al 00D6B1 .SubCD697_Block
|
|
al 00D6C5 .SubCD6B7_Block
|
|
al 00D697 .SubCD697
|
|
al 00D650 .UnreachedCode_D650
|
|
al 00D642 .SubCD60D_Block
|
|
al 00D64F .SubCD60D_Block_1
|
|
al 00D60D .SubCD60D
|
|
al 00D5F6 .SubCD5F6
|
|
al 00D5F1 .SubCD5F1
|
|
al 00D5CC .SubCD5B3_Block
|
|
al 00D5E2 .SubCD5B3_Block_1
|
|
al 00D5B3 .SubCD5B3
|
|
al 00D5AF .SubCD56C_Block_4
|
|
al 00D59A .SubCD56C_Block_2
|
|
al 00D5A1 .SubCD56C_Block_3
|
|
al 00D58C .SubCD56C_Block_1
|
|
al 00D56C .SubCD56C
|
|
al 00D56A .SubCD547_Block_2
|
|
al 00D570 .SubCD56C_Block
|
|
al 00D55A .SubCD547_Block_1
|
|
al 00D551 .SubCD547_Block
|
|
al 00D547 .SubCD547
|
|
al 00D544 .SubCD50A_Block
|
|
al 00D50A .SubCD50A
|
|
al 00D509 .SubCD501_Block
|
|
al 00D501 .SubCD501
|
|
al 00D4F9 .SubCD4F9
|
|
al 00D4EE .SubCD4EE
|
|
al 00D4ED .UpdateSpritePosition49_Block
|
|
al 00D4CF .UpdateSpritePosition49
|
|
al 00D4CC .SubCD4CC
|
|
al 00D4C6 .SubCD4B1_Block
|
|
al 00D4B1 .SubCD4B1
|
|
al 00D49F .SubCD49F
|
|
al 00D49D .SubCD432_Block_5
|
|
al 00D478 .SubCD478
|
|
al 00D476 .SubCD432_Block_3
|
|
al 00D471 .SubCD432_Block_2
|
|
al 00D48B .SubCD432_Block_4
|
|
al 00D45A .SubCD432_Block_1
|
|
al 00D445 .SubCD432_Block
|
|
al 00D432 .SubCD432
|
|
al 00D42C .SubCD42C
|
|
al 00D426 .SubCD40D_Block
|
|
al 00D40D .SubCD40D
|
|
al 00D3FB .SubCD3FB
|
|
al 00D3F9 .UpdateSpritePosition44_Block_6
|
|
al 00D3D2 .SubCD3D2
|
|
al 00D3D0 .UpdateSpritePosition44_Block_4
|
|
al 00D3BB .UpdateSpritePosition44_Block_2
|
|
al 00D3E7 .UpdateSpritePosition44_Block_5
|
|
al 00D3AF .UpdateSpritePosition44_Block_1
|
|
al 00D3CD .UpdateSpritePosition44_Block_3
|
|
al 00D39C .UpdateSpritePosition44_Block
|
|
al 00D38B .UpdateSpritePosition43_Block
|
|
al 00D38E .UpdateSpritePosition44
|
|
al 00D37E .UpdateSpritePosition43
|
|
al 00D37B .UpdateSpritePosition42_3
|
|
al 00D373 .UpdateSpritePosition42_1_Block
|
|
al 00D36A .UpdateSpritePosition42_1
|
|
al 00D360 .UpdateSpritePosition41
|
|
al 00D35E .UpdateSpritePosition40_Block_2
|
|
al 00D353 .UpdateSpritePosition40_Block_1
|
|
al 00D34E .UpdateSpritePosition40_Block
|
|
al 00D365 .UpdateSpritePosition40_Block_3
|
|
al 00D32F .UpdateSpritePosition40
|
|
al 00D326 .UpdateSpritePosition39
|
|
al 00D323 .UpdateSpritePosition38
|
|
al 00D2FD .UpdateSpritePosition37
|
|
al 00D2F0 .UpdateSpritePosition36_Block
|
|
al 00D2DF .UpdateSpritePosition36
|
|
al 00D2DD .UpdateSpritePosition35_Block
|
|
al 00D2CB .UpdateSpritePosition35
|
|
al 00D2CA .UpdateSpritePosition34_Block
|
|
al 00D28B .UpdateSpritePosition34
|
|
al 00D288 .UpdateSpritePosition33_Block
|
|
al 00D275 .UpdateSpritePosition33
|
|
al 00D25D .UpdateSpritePosition32
|
|
al 00D25B .UpdateSpritePosition31_Block_3
|
|
al 00D26D .UpdateSpritePosition31_Block_5
|
|
al 00D262 .UpdateSpritePosition31_Block_4
|
|
al 00D23E .UpdateSpritePosition31_Block_2
|
|
al 00D227 .UpdateSpritePosition31_Block
|
|
al 00D233 .UpdateSpritePosition31_Block_1
|
|
al 00D208 .UpdateSpritePosition31
|
|
al 00D205 .UpdateSpritePosition30_Block_4
|
|
al 00D1F9 .UpdateSpritePosition30_Block_3
|
|
al 00D1F3 .UpdateSpritePosition30_Block_2
|
|
al 00D1E2 .UpdateSpritePosition30_Block
|
|
al 00D1E5 .UpdateSpritePosition30_Block_1
|
|
al 00D1CF .UpdateSpritePosition30
|
|
al 00D1CC .UpdateSpritePosition29_Block_3
|
|
al 00D1C9 .UpdateSpritePosition29_Block_2
|
|
al 00D1C6 .UpdateSpritePosition29_Block_1
|
|
al 00D1C3 .UpdateSpritePosition29_Block
|
|
al 00D1AA .UpdateSpritePosition29
|
|
al 00D1BB .UpdateSpritePosition28_Block
|
|
al 00D1A4 .UpdateSpritePosition28
|
|
al 00D19A .UpdateSpritePosition27
|
|
al 00D199 .UpdateSpritePosition26_Block_1
|
|
al 00D189 .UpdateSpritePosition26_Block
|
|
al 00D175 .UpdateSpritePosition26
|
|
al 00D166 .UpdateSpritePosition24_Block_4
|
|
al 00D169 .UpdateSpritePosition25
|
|
al 00D14B .UpdateSpritePosition24_Block_3
|
|
al 00D139 .UpdateSpritePosition24_Block_2
|
|
al 00D11D .UpdateSpritePosition23_Block_6
|
|
al 00D115 .UpdateSpritePosition23_Block_5
|
|
al 00D11F .UpdateSpritePosition24
|
|
al 00D101 .UpdateSpritePosition23_Block_4
|
|
al 00D0F4 .UpdateSpritePosition23_Block_2
|
|
al 00D0F8 .UpdateSpritePosition23_Block_3
|
|
al 00D0DD .UpdateSpritePosition23_Block
|
|
al 00D0E4 .UpdateSpritePosition23_Block_1
|
|
al 00D130 .UpdateSpritePosition24_Block
|
|
al 00D138 .UpdateSpritePosition24_Block_1
|
|
al 00D0C0 .UpdateSpritePosition23
|
|
al 00D0B5 .UpdateSpritePosition22_3
|
|
al 00D0AA .UpdateSpritePosition22_1_Block_2
|
|
al 00D0A5 .UpdateSpritePosition22_1_Block_1
|
|
al 00D086 .UpdateSpritePosition22_1
|
|
al 00D065 .UpdateSpritePosition21_3_Block_1
|
|
al 00D074 .UpdateSpritePosition21_3_Block_2
|
|
al 00D0BF .UpdateSpritePosition22_3_Block
|
|
al 00D063 .UpdateSpritePosition21_3_Block
|
|
al 00D092 .UpdateSpritePosition22_1_Block
|
|
al 00D04C .UpdateSpritePosition21_3
|
|
al 00D04B .UpdateSpritePosition21_1_Block
|
|
al 00D041 .UpdateSpritePosition21_1
|
|
al 00D032 .UpdateSpritePosition20
|
|
al 00D02A .UpdateSpritePosition19_Block
|
|
al 00D008 .UpdateSpritePosition19
|
|
al 00CFF9 .UpdateSpritePosition18_Block_1
|
|
al 00CFCD .UpdateSpritePosition18_Block
|
|
al 00CFC6 .UpdateSpritePosition18
|
|
al 00CFB8 .UpdateSpritePosition17_Block_1
|
|
al 00CFAC .UpdateSpritePosition17_Block
|
|
al 00CFA8 .UpdateSpritePosition17
|
|
al 00CFA1 .UpdateSpritePosition15_Block_6
|
|
al 00CF9B .UpdateSpritePosition15_Block_5
|
|
al 00CF87 .UpdateSpritePosition16
|
|
al 00CF79 .UpdateSpritePosition15_Block_1
|
|
al 00CF7A .UpdateSpritePosition15_Block_2
|
|
al 00CF92 .UpdateSpritePosition15_Block_4
|
|
al 00CF55 .UpdateSpritePosition15_Block
|
|
al 00CF8F .UpdateSpritePosition15_Block_3
|
|
al 00CF42 .UpdateSpritePosition15
|
|
al 00CF2B .UpdateSpritePosition14
|
|
al 00CF2A .UpdateSpritePosition13_3_Block
|
|
al 00CF1C .UpdateSpritePosition13_3
|
|
al 00CF19 .UpdateSpritePosition13_1
|
|
al 00CF13 .UpdateSpritePosition12
|
|
al 00CF0D .UpdateSpritePosition11_Block_1
|
|
al 00CF01 .UpdateSpritePosition11_Block
|
|
al 00CED3 .UpdateSpritePosition10_Block_7
|
|
al 00CED6 .UpdateSpritePosition11
|
|
al 00CEC1 .UpdateSpritePosition10_Block_6
|
|
al 00CEB8 .UpdateSpritePosition10_Block_5
|
|
al 00CEB1 .UpdateSpritePosition10_Block_4
|
|
al 00CEA2 .UpdateSpritePosition10_Block_2
|
|
al 00CEAE .UpdateSpritePosition10_Block_3
|
|
al 00CE8B .UpdateSpritePosition10_Block
|
|
al 00CE94 .UpdateSpritePosition10_Block_1
|
|
al 00CE7C .UpdateSpritePosition10
|
|
al 00CE2F .UpdateSpritePosition9_Block
|
|
al 00CE24 .UpdateSpritePosition9
|
|
al 00CE1F .UpdateSpritePosition8_Block
|
|
al 00CE0E .UpdateSpritePosition8
|
|
al 00CDF3 .UpdateSpritePosition6_Block_2
|
|
al 00CDEF .UpdateSpritePosition6_Block_1
|
|
al 00CDCA .UpdateSpritePosition7
|
|
al 00CDD7 .UpdateSpritePosition6_Block
|
|
al 00CDB1 .UpdateSpritePosition6
|
|
al 00CDAE .UpdateSpritePosition5_Block
|
|
al 00CD9D .UpdateSpritePosition5
|
|
al 00CD89 .UpdateSpritePosition4
|
|
al 00CD7F .UpdateSpritePosition3
|
|
al 00CD76 .UpdateSpritePosition2
|
|
al 00CD6F .UpdateSpritePosition
|
|
al 00CD6C .UpdateGameTimer_Block_7
|
|
al 00CD69 .UpdateGameTimer_Block_6
|
|
al 00CD66 .UpdateGameTimer_Block_5
|
|
al 00CD61 .UpdateGameTimer_Block_4
|
|
al 00CD58 .UpdateGameTimer_Block_3
|
|
al 00CD4F .UpdateGameTimer_Block_2
|
|
al 00CD4A .UpdateGameTimer_Block_1
|
|
al 00CD45 .UpdateGameTimer_Block
|
|
al 00CD22 .UpdateGameTimer
|
|
al 00CD13 .CheckGameState_1_Block_1
|
|
al 00CD07 .CheckGameState_1_Block
|
|
al 00CCF4 .CheckGameState_1
|
|
al 00CCF3 .UpdateScroll8_Block
|
|
al 00CCD6 .UpdateScroll8
|
|
al 00CCC1 .UpdateScroll7
|
|
al 00CCA6 .InitScroll_Block_2
|
|
al 00CC99 .InitScroll_Block_1
|
|
al 00CC4A .InitScroll_Block
|
|
al 00CC47 .InitScroll
|
|
al 00CC34 .UpdateScroll6
|
|
al 00CC24 .SubCCC24
|
|
al 00CC23 .UpdateScroll5
|
|
al 00CC04 .UpdateScroll4
|
|
al 00CC03 .UpdateOAM3
|
|
al 00CBF7 .UpdateOAM2
|
|
al 00CBF5 .UpdateOAM
|
|
al 00CBEB .CopyVramDataToBuffer_Block
|
|
al 00CBDF .CopyVramDataToBuffer
|
|
al 00CBF4 .UpdateScroll3
|
|
al 00CBCA .UpdateScroll2
|
|
al 00CBBD .UpdateScroll
|
|
al 00CBB7 .WaitVBlank_1
|
|
al 00CBAE .ClearZeropage
|
|
al 00CB9E .HandleController_Block_7
|
|
al 00CB7B .HandleController_Block_6
|
|
al 00CB46 .HandleController_Block_3
|
|
al 00CB47 .HandleController_Block_4
|
|
al 00CB58 .HandleController_Block_5
|
|
al 00CB36 .HandleController_Block_1
|
|
al 00CB39 .HandleController_Block_2
|
|
al 00CB30 .HandleController_Block
|
|
al 00CB1B .HandleController
|
|
al 00CB15 .UpdateSpriteData_Block_5
|
|
al 00CAF6 .UpdateSpriteData_Block_2
|
|
al 00CAFA .UpdateSpriteData_Block_3
|
|
al 00CAE7 .UpdateSpriteData_Block_1
|
|
al 00CB18 .UpdateSpriteData_Block_6
|
|
al 00CB02 .UpdateSpriteData_Block_4
|
|
al 00CAD8 .UpdateSpriteData_Block
|
|
al 00CAC9 .UpdateSpriteData
|
|
al 00CABB .CopyFromOAM_Block
|
|
al 00CAB9 .CopyFromOAM
|
|
al 00CAAB .CopyToOAM_Block
|
|
al 00CAA9 .CopyToOAM
|
|
al 00CA99 .UpdateSprites_Block_6
|
|
al 00CA94 .UpdateSprites_Block_5
|
|
al 00CA53 .UpdateSprites2
|
|
al 00CA79 .UpdateSprites_Block_4
|
|
al 00CA64 .UpdateSprites_Block_3
|
|
al 00CA5F .UpdateSprites_Block_2
|
|
al 00CA5A .UpdateSprites_Block_1
|
|
al 00CA4A .UpdateSprites_Block
|
|
al 00CA30 .UpdateSprites
|
|
al 00CA26 .InitGameState_Block_1
|
|
al 00CA06 .InitGameState_Block
|
|
al 00C9B1 .InitGameState
|
|
al 00C9AD .UpdateGameState3_Block_1
|
|
al 00C991 .UpdateGameState3_Block
|
|
al 00C989 .UpdateGameState2_Block_2
|
|
al 00C976 .UpdateGameState2_Block
|
|
al 00C985 .UpdateGameState2_Block_1
|
|
al 00C95C .UpdateGameState_Block
|
|
al 00C98A .UpdateGameState3
|
|
al 00C95D .UpdateGameState2
|
|
al 00C940 .UpdateGameState
|
|
al 00C914 .InitLevel
|
|
al 00C8FE .InitSound_1
|
|
al 00C8F3 .InitAPU
|
|
al 00C8E8 .NmiFrameEnd
|
|
al 00C8CB .NmiFrameUpdate2
|
|
al 00C8D7 .NmiFrameUpdate4
|
|
al 00C8A5 .NmiHandler_Block
|
|
al 00C8D4 .NmiFrameUpdate3
|
|
al 00C8C1 .NmiFrameUpdate
|
|
al 00C85F .NmiHandler
|
|
al 00C853 .LoadObjectPointerToZp08
|
|
al 00C847 .LoadObjectPointerToZp02
|
|
al 00C831 .LoadObjectAndLevelPointers
|
|
al 00C823 .LoadObjectPointerToZp00AndDraw
|
|
al 00C815 .LoadObjectPointerToZp02AndDraw
|
|
al 00C807 .LoadSpriteInitPointerToZp00
|
|
al 00C7E7 .InitPPURegisters
|
|
al 00C7E1 .GameLoopEntry
|
|
al 00C7B9 .Reset_Block_1
|
|
al 00C7A8 .Reset_Block
|
|
al 00C79E .Reset
|
|
al 00C4B0 .SpriteInitPtrTable
|
|
al 00C044 .LevelDataPtrTable
|
|
al 00C03C .ObjectPtrTable
|
|
al 00C000 .LevelPtrTable
|