- Apply symbols.inc hardware register names to Defender 2 (U) (51 operands)
- Apply symbols.inc hardware register names to Donkey Kong 3 (JUE) (36 operands)
- Add APU register symbols (-) to Defender 2 (U) and Donkey Kong 3 (JUE) symbols.inc
- Apply symbols to Donkey Kong Jr. Math (U) (80 operands: 11 single + 69 hardware)
- Apply symbols to Excitebike (JU) (786 operands: 785 single + 1 hardware)
- Add promotion criteria to PROMPTS.md: symbol/local substitution,
ROM-specific semantic naming, and verification checklist
Add branch/jump target naming requirement to PROMPTS.md
All branches and jumps must target symbolic labels with descriptive names
derived from program flow role (e.g., _Loop, _Next, _Done, _Store, _Return),
never raw address literals. Adds criterion 8 to verification checklist.
Rename all OVERVIEW.md to README.md; add root README content to top-level
- Rename all OVERVIEW.md files to README.md throughout the repo (47 files)
- Prepend README.md content to top-level OVERVIEW.md before rename
- Fix apply_symbols.py NAME_RE regex to handle spaced assignments
- Apply symbols.inc to Defender 2 (U) (51 hardware operands)
- Apply symbols.inc to Donkey Kong 3 (JUE) (36 hardware operands)
- Apply symbols.inc to Donkey Kong Jr. Math (U) (80 operands: 11 single + 69 hardware)
- Apply symbols.inc to Excitebike (JU) (786 operands: 785 single + 1 hardware)
- Add missing Zp18/FrameCounter aliases to Excitebike prg.s
- Build all 27 top-level projects: byte-identical
Promote Donkey Kong Jr. Math back to _wip tier
Moves code from `copilot` folder and verifies each builds after
Add pre-commit hook for byte-identical verification
Add .git/hooks/pre-commit that runs 'make' then 'make clean' in each
project directory before committing. This ensures every project builds
byte-identical before any commit is accepted.
Also includes all file moves from the Donkey Kong Jr. Math (U) demotion
and other file restructuring from the session.
moves code out of copilot folder, its all AI generated.
Moves NROM games into NROM folder
removes copilot folder from Lunar Pool
Adds makefile to build all projects recursively
Updates docs to reflect changes in layout
Repromotes Donkey Kong Jr Math
Repromotes Excitebike
Promotes Popeye (JU) (PRG 1)
Updates Makefile to provide summary of build failure/success
Promote Raid on Bungeling Bay (U): Pass 2/3 partial, whole-ROM byte-identical
Move _wip/NROM/Raid on Bungeling Bay (U) to NROM/ and switch the build
from a PRG-only compare to a whole-ROM one:
- header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
- linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
areas ahead of PRG ($C000, $4000)
- rom.nes symlink to the space-containing original ROM name
- Makefile builds header.o/prg.o/chr.o into reconstructed.nes and
compares it against rom.nes ('Byte-identical ROM verified.')
- one leftover neutral indirect operand jmp (Zp01) at $E2EC becomes
jmp (IndDispatch01); apply_symbols.py reports 0 substitutions pending
README.md / TODO.md / AGENTS.md updated: 29 promoted, 7 in _wip/.
Pac-Man (U): Pass 2 complete (label renaming) + Pass 3 partial (ZP aliases, table names)
Pass 2 — fresh map derived from the committed split, not from any drafted
map (the drafted maps in other projects were audited and found not
applicable):
- all 194 address-derived Label_XXXX definitions renamed to semantic
routine-entry names plus <Routine>_<Role>_<addr> internal branch
targets; zero Label_ remains
- all 49 jsr/jmp call sites resolved from raw $XXXX to labels; zero
raw $XXXX call operands remain
- routinemap.tsv / derived_names.tsv record the derivation
Pass 3 (partial):
- 15 proven semantic zero-page aliases added to locals.inc
(GameState, NmiFlag, ScrollX/Y, PpuCtrlShadow, OamDmaPage,
CocktailModeFlag, ActivePlayerFlag, GameplaySuspended, FrameCounter,
StateTimer, Player1/2Input, ActiveInput, CopyrightVerified)
- 112 operands substituted into prg.s (11 single + 101 hardware)
- key data tables named: ProgrammerSig ($C0EB), GameStateDispatchTable
($C253), TitleScreenData ($C2FD), EntityPtrTable ($D912),
AudioCommandTable ($EFDD)
Also corrects the README's claim that the RESET vector points at padding:
$FF00 holds real boot code (sei/cld, PPU off, double vblank wait, then
jmp ColdStart at $C042).
.gitignore: ignore reconstructed_prg.bin (build artifact of the _wip
Makefiles; '**/reconstructed.*' does not match the underscore form).
Promote Pac-Man (U): Pass 2/3 complete, whole-ROM byte-identical
Move _wip/NROM/Pac-Man (U) to NROM/ and switch the build from a PRG-only
compare to a whole-ROM one:
- header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
- linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
areas ahead of PRG ($C000, $4000)
- rom.nes symlink to 'Pac-Man (U) [!].nes' (the original ROM name
contains a space and brackets)
- Makefile builds header.o/prg.o/chr.o into reconstructed.nes and
compares it against rom.nes
- reconstructed.nes is 24,592 bytes, MD5 a69d310f8cae9397fbd39f204672b5c7
- equal to the original ROM; the header/prg/chr splits were checked
against the original before promotion and are byte-exact
Pass 3 residue closed. The last 7 multi-alias zero-page operands are
resolved per site through a new sites.tsv, each proven from context
rather than guessed:
- jmp ($0010) at $C250/$D3CA/$D90F/$D9B6 -> (DispatchPtrLo); each
is immediately preceded by sta DispatchPtrLo/sta DispatchPtrHi
- jmp ($00FE) at $EFDA -> (AudioHandlerPtrLo); preceded by
sta AudioHandlerPtrLo/sta AudioHandlerPtrHi
- sta a:$0000,y at $C048/$C089 -> a:Zp00,y; the literal zero-page
base in the two ZP clear loops, so the neutral name is used rather
than the semantic WorkPtrLo. The 'a:' prefix survives the
substitution, so the bytes stay 99 00 00 (sta abs,Y)
apply_symbols.py now reports 119 operands substituted (101 hardware,
11 single-name, 7 site) and 0 residue.
New tool _tools/align_audit_comments.py: re-aligns the audit comment to
column 35 after a substitution lengthens an operand (nesdis.py pads each
instruction to 31 characters). Whitespace-only, so the byte identity
cannot change. 405 lines re-aligned in this project; all 2,387 audit
comments still match prg.bin at the stated PRG offset, 0 mismatches.
Docs: root README.md / TODO.md / AGENTS.md updated - 30 promoted, 6 in
_wip/; a per-project detail entry for Pac-Man (U) added; the stale
'Donkey Kong 3 (JUE) has no README.md' claim corrected (it has a
318-line one).
Promote Raid on Bungeling Bay (U) [a2]: Pass 3 complete, whole-ROM byte-identical
Move _wip/NROM/Raid on Bungeling Bay (U) [a2] to NROM/ and switch the build
from a PRG-only compare to a whole-ROM one:
- header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
- linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
areas ahead of PRG ($C000, $4000)
- rom.nes symlink to 'Raid on Bungeling Bay (U) [a2].nes' (the original
ROM name contains spaces and brackets)
- reconstructed.nes is 24,592 bytes, MD5 659d340a1e9d420eee28df13319b0094
- equal to the original ROM; the header/prg/chr splits were checked
against the original before promotion and are byte-exact
Pass 3 - 15 semantic zero-page aliases, each applied only at the sites
where its role is proven:
- PpuCtrlShadow ($C2), 15 sites: the reset entry primes it right after
'sta PPUCTRL', and every other use is an ora/and/eor followed by
'sta PPUCTRL'
- NmiPathSelector ($C4), 5 sites: written 1 at $C3E9 and 0 at $C962
- GameState ($D6), 6 sites: 'cmp #$02' and used as an index at $C4C7
- FrameSubCounter ($55), 6 sites: set to $0A at $C520, decremented per
NMI at $C07B
- PrngPeriodCounter ($EA) / PrngSeedB ($EB) / PrngState ($EC), 13 sites:
the PRNG state
- PtrLo ($00) / PtrHi ($01), 8 sites: the 16-bit pair $1C13 and $1610
compared at $E785/$E791
- IndDispatch01 ($01) / IndDispatch02 ($02), 3 sites: the computed
dispatch at $E2EC
- IndDispatch1B ($1B) / IndDispatch1C ($1C), 6 sites: the dispatch at
$E7A3
- IndDispatch17 ($17) / IndDispatch19 ($19): the dispatches at $E79D
and $E7A0
Addresses that carry two names keep the neutral ZpXX name where the other
role applies - $01 is PtrHi at the 16-bit compare and IndDispatch01 at the
dispatch; $17 is IndDispatch17 at the dispatch and Zp17 for the absolute
RAM $0017 store in the copy loop at $E895/$E8D0.
New tool _tools/apply_zp_aliases.py does the per-site substitution:
apply_symbols.py only rewrites *numeric* operands, so it cannot rename an
operand that is already written as a neutral ZpXX name. The tool keeps the
ca65 'a:' prefix (dropping it would turn 'sta a:Zp17,y' into a zero-page
store and change the bytes) and rewrites only the operand token, so the
audit comment survives byte for byte.
Naming correction in the promoted sibling. Finishing this dump showed that
$EA was misnamed 'VBlankWaitCounter': the routine at $C412 is the game's
pseudo-random generator (the classic eor/asl/php/lsr/plp/rol scrambler,
called from thirteen gameplay sites, twice in a row at $CDF4/$CDF9 with the
second result masked #$07), so $EA is the scrambler's phase counter.
Renamed PrngPeriodCounter in both dumps and named $EB/$EC PrngSeedB /
PrngState. The sibling's two 'sta a:IndDispatch17,y' operands were also
wrong - they are absolute stores to RAM $0017, not the dispatch pointer -
and are now 'a:Zp17,y', matching the file's 'a:' = absolute convention.
Audit-comment alignment re-done with _tools/align_audit_comments.py (1,040
lines here, 1,080 in the sibling). Both files still match prg.bin at every
stated PRG offset: 5,467 and 5,483 audit comments, 0 mismatches.
Docs: root README.md / TODO.md / AGENTS.md updated - 31 promoted, 5 in
_wip/; per-project detail entries added for both Raid dumps.
Promote Pac-Man (Tengen) (U): Pass 2/3 from scratch, whole-ROM byte-identical
Move _wip/NROM/Pac-Man (Tengen) (U) to NROM/ and switch the build from a
PRG-only compare to a whole-ROM one:
- header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
- linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
areas ahead of PRG ($C000, $4000)
- rom.nes symlink to 'Pac-Man (Tengen) (U) [!].nes'
- reconstructed.nes is 24,592 bytes, MD5 d34e7a74d8d2c231b6cc601210e28ad0
- equal to the original ROM; the header/prg/chr splits were checked
against the original before promotion and are byte-exact
Disassembled from scratch. No name, map or file was carried over from the
sibling 'Pac-Man (U)' dump; the map was derived from this dump's own
committed split and the two were only compared afterwards.
Pass 2 (new tool _tools/apply_pass2_map.py):
- all 194 Label_XXXX definitions renamed to semantic routine entries plus
<Routine>_<Role> branch targets; zero Label_ remains
- all 48 raw $XXXX jsr/jmp operands resolved to labels; zero raw $XXXX
call or branch operands remain
- the map is in routinemap.tsv
Pass 3:
- 30 semantic zero-page aliases, each applied only at the sites where its
role is proven (per-site choice in sites.tsv; the addresses that carry
two roles keep the neutral ZpXX name elsewhere). _tools/
derive_zp_aliases.py records how the set was derived, and locals.inc
records the reason for every remaining neutral slot
- 28 data tables named (new tool _tools/name_data_region.py), including
CharacterDataTable ($C66A) and CharacterNameStrings ($C67E), where the
ROM itself names Blinky, Pinky, Inky and Clyde - which is why the four
indexed entities are called ghosts and not 'actors'
- apply_symbols.py reports 0 substitutions pending and 0 residue
- audit-comment alignment re-done with _tools/align_audit_comments.py;
all 2,479 audit comments still match prg.bin at the stated PRG offset
Pass 1 correction - six command handlers recovered (new tool
_tools/recode_region.py). ScriptCommandTable ($EFDD) is read by the traced
instruction at $EFCC, and six of its entries point at $F00A, $F022, $F03A,
$F052, $F062 and $F072 - all of which the tracer had left as data, and two
of which it had mis-split across the 'jmp $EF61' at $F01F and $F04F.
Those 120 bytes are code here, decoded straight from the ROM; the six
handlers tile $F00A-$F081 exactly. The same gap exists in the promoted
'Pac-Man (U)' dump, which has not been corrected - recorded in both READMEs.
Residue (documented, not guessed): the unreached main game logic at
$C45A-$C55F is still .byte data. It is code - the tracer's own decoder
walks it cleanly and the dispatch table at $C511 points into it - but
nothing reaches it, so it cannot be entered without a guess. The same gap
exists in the promoted 'Pac-Man (U)' dump. Re-deriving it is a Pass 1 job;
a Mesen Code Data Logger capture is the tool the repo uses for it.
Docs: root README.md / TODO.md / AGENTS.md updated - 32 promoted, 4 in
_wip/; a per-project detail entry added for the Tengen dump.
Promote Pyramid (U): Pass 1 corrected, Pass 2/3 complete, whole-ROM byte-identical
Move _wip/NROM/Pyramid (U) to NROM/ and switch the build from a PRG-only
compare to a whole-ROM one:
- header.s/chr.s added (one-line .incbin of header.bin / chr.bin)
- linker.cfg gains HEADER ($0000, $0010) and CHR ($0000, $2000)
areas ahead of PRG ($C000, $4000)
- rom.nes symlink to 'Pyramid (U) (Sachen).nes'
- reconstructed.nes is 24,592 bytes, MD5 aa285ff17f25dd05da5996b7466c59e2
- equal to the original ROM; the header/prg/chr splits were checked
against the original before promotion and are byte-exact
Pass 1 correction - the committed split was a strict subset of the correct
one. This game dispatches through 'jmp' trampoline tables that live
*inside* the data regions, and the tracer cannot follow a jmp there, so
828 bytes of code were still marked as data. Four such tables were found
($C01E 3 entries, $C02A 6, $C042 2, $C054 5) plus ten more entries at
$C000-$C01B; all sixteen targets decode as valid instructions. Seeding
them, the $C800 boot mainline and six further code starts recovers the
whole lot, plus a five-byte stub at $DF89 (lda $33 / jmp $DECB) that sat
in a hole between two routines. The re-trace loses NO committed code byte
and takes the split from 34.5% to 39.6% (3,130 instructions / 6,493 code
bytes). 'make regen' reproduces it, so the split stays verifiable.
Pass 2 - a fresh map derived from this dump's own committed split:
- 428 Label_XXXX definitions renamed; zero Label_ residue
- 320 raw $XXXX jsr/jmp operands resolved; zero raw $XXXX branch
operands remain
- 431 routine entries and the 32 data blocks named from the code
- the internal branch-target names are derived mechanically from the
branch that reaches them by the new _tools/derive_branch_names.py
(beq -> OnZero, bne -> OnNonzero, bcc/bcs -> the carry cases, a
backwards branch -> Loop)
- recorded in routinemap.tsv
Pass 3:
- 24 semantic zero-page aliases, each applied only where its role is
proven; the 57 slots that stay neutral are each listed with the reason
in locals.inc (the neutral set lives in zp_aliases.inc so that
'make regen' can rebuild locals.inc from prg.bin)
- 32 data tables named - TaskVectorTable1/2, LevelScriptData,
MusicPeriodTable, SoundEnvelopeTable, the actor tables - recorded in
data_region_names.tsv
- apply_symbols.py reports 0 substitutions pending and 0 residue; no
hardware register is left as a raw literal
- the audit comments are now canonical on every line, data included
(the old file carried only 'PRG:$xxxx' on its 1,358 data lines);
all 3,762 audit comments match prg.bin at their stated PRG offset
Kept as-is, not 'cleaned up':
- sta $4100 stays a raw operand. The iNES header claims mapper 0 but
the boot code writes past the NES register space; the ROM does not
explain it, so it is recorded rather than guessed
- the 'A'/'V' check on RAM $0120/$0121 and its seed/clear routines
are named for what they do, not for what they are for
- the ninth entry of the $C3A6 task vector table ($D820) is a junk
slot and stays data
Docs: root README.md / TODO.md / AGENTS.md updated - 33 promoted, 3 in
_wip/; a per-project detail entry added.
Hogan's Alley (JU): Pass 1 correction, Pass 2, Pass 3, promoted to NROM/
The light-gun game whose engine dispatches through *inline* tables:
`IndirectCall` at $C34D pops the return address of the `jsr` that called
it and reads a 16-bit handler pointer from the word that follows, so all
six handler tables ($C124 19 entries, $C219 4, $C89C 14, $CDD1 1, $D234 2,
$D3D6 14) live inside the code stream and the static tracer cannot follow
them.
Pass 1 correction. The committed split was a strict subset of the correct
one -- 41.8% of the PRG was classified as code. A fresh Mesen Code Data
Logger capture was merged with the four captures already in the folder
(hogans_merged.cdl, the OR of five per-byte flag arrays, 6,544 code bytes)
and _tools/cdl_reclass.py rewrote the split to match what the CPU actually
fetched: 1,216 bytes moved from data to code, five the other way, 59 labels
emitted. The split is now 49.1% code (3,950 instructions, 8,041 bytes).
The four branch targets the reclassifier could not prove were turned into
labels by the new _tools/resolve_raw_branches.py.
Pass 2. 206 routine entries hand-named from this dump's own code and 413
internal branch targets derived mechanically by _tools/derive_branch_names.py:
630 Label_XXXX definitions gone, 484 raw $XXXX call operands resolved, 15
call targets the tracer had never labelled given a label. Recorded in
routinemap.tsv. No SubC<addr> residue was needed -- every entry the engine
reaches is named after what it does.
Pass 3. 60 semantic zero-page aliases, each applied only where its role is
proven (zp_aliases.inc, zp_alias_sites.tsv); the slots that stay neutral are
each listed with the reason. All 34 data blocks named
(data_region_names.tsv). apply_symbols.py reports 1 residue: `sta a:$00B4,y`
at $C203, the same address as Zp40/ActorPalette but forced to absolute
addressing, so it must stay numeric.
Promotion. header.s, chr.s and a HEADER/PRG/CHR linker.cfg added, rom.nes
symlinked to the original ROM; the whole-ROM cmp passes on the first
promoted build. There is deliberately no `make regen` target: the Pass 1
split here is the static trace corrected by a CDL capture, and the base the
correction was applied to is not what the current _tools/nesdis.py
produces, so prg.s is the maintained source of truth.
Tools changed:
nesdis.py --split/--note/--provenance options, so a data
region can carry its own name and explanation;
a forced-data address is no longer reported as a
recovered routine entry
apply_pass2_map.py can create the label for a call target the tracer
left unlabelled; no longer double-labels it
apply_zp_aliases.py --at-file, an address-based per-site list
derive_branch_names.py keeps the map's own header instead of writing a
fixed one
resolve_raw_branches.py new: turns `bXX *+$NN` operands into labels
build_hogans_map.py new: the hand-written Pass 2 map builder
The existing regen pipelines (MUSCLE (U), Urban Champion (JU)) still
reproduce prg.s byte for byte.
Apply the symbols.inc register names at Pass 1; fix a dropped byte in cdl_reclass
nesdis.py now names the hardware registers as it renders the operands, so a
project's Pass 1 output already reads `lda PPUSTATUS` instead of `lda $2002`
and the Pass 3 apply_symbols.py step has nothing left to do for them.
* nesdis.py --symbols FILE reads a symbols.inc-style file and substitutes
the register names. Only unambiguous entries in the $2000-$4017 window
are used: $4017 is both JOY2 and APUFRAMECOUNTER, so it stays numeric
and apply_symbols.py reports it as multi-alias residue, exactly as
before. The default is the symbols.inc next to --out, so a new project
gets the names without asking; --no-symbols opts out.
* The renderer records the operand's numeric value on the Insn, because
operand_value() used to re-parse the operand text and could no longer
read a name.
* The controller bit masks in symbols.inc (PAD_A and friends) are
constants, not addresses, and are still never substituted.
MUSCLE (U) and Urban Champion (JU) keep --no-symbols: their committed
prg.s was produced with the registers named by the Pass 3 apply_symbols.py
step, and the columns in those files reflect the in-place substitution.
Adding the missing apply_symbols.py step to both regen pipelines makes
them reproduce their committed prg.s byte for byte again - neither did
before this change (MUSCLE was 440 lines out, Urban Champion 772).
cdl_reclass.py had a bug that cost a byte: a region whose last source row
straddled the region's end was replaced by a regeneration of the region
only, so the tail of that row was dropped. Mario Bros (JU) hit it at
$C595, where the rebuild came out one byte short and every label after it
shifted. A region now covers the whole rows it replaces.
pass2.py reflow takes an optional column argument; the default is
unchanged (the ';' lands on the same column as before).
Mario Bros (JU): Pass 1 correction, Pass 2, Pass 3, promoted to NROM/
A two-player platformer whose handler tables are *inline*: the pointers sit
in the middle of the code stream, right after the `jsr` that reads them, so
the static tracer could never follow them.
Pass 1 correction. The committed split was a strict subset of the correct
one -- only 72.0% of the PRG was classified as code. A Mesen Code Data
Logger capture of this ROM (mario_mesen.cdl, 10,915 code bytes) showed
1,010 bytes the tracer had left as data were code; two branch targets the
capture never reached ($E4CB and $E639) were forced with --override for 57
more, so 1,067 bytes moved from data to code and 22 moved the other way.
The split is now 78.4% code (6,210 instructions, 12,847 bytes). The three
branch targets the reclassifier could not prove were turned into labels by
_resolve_raw_branches.py, which now refuses to put a label on a `.byte` row.
Pass 2. 206 routine entries and 519 internal branch targets: 931
Label_XXXX definitions gone, 51 raw $XXXX call operands resolved and 12 call
targets the tracer had never labelled given a label. Zero SubC residue --
the 185 entries a previous session had left as address-derived residue were
all named from this dump's own code. Recorded in routinemap.tsv.
Pass 3. 25 semantic zero-page aliases, each applied only where its role is
proven (zp_aliases.inc); the slots that stay neutral are each listed with the
reason. 35 data tables named -- GameStateHandlerTable, EnemyBehaviourTable,
EnemyScriptTable, EnemyTypePointerTable, SoundRoutineTable,
NoteFrequencyTable and the rest -- and recorded in
data_region_names.tsv. apply_symbols.py reports 0 residue.
Promotion. header.s, chr.s and a HEADER/PRG/CHR linker.cfg added, rom.nes
symlinked to the original ROM; the whole-ROM cmp passes on the first
promoted build. There is deliberately no `make regen` target: the Pass 1
split here is the static trace corrected by a CDL capture, and the base the
correction was applied to is not what the current _tools/nesdis.py
produces, so prg.s is the maintained source of truth.
Tools:
apply_pass2_map.py renames a label of any spelling -- SubC<addr> is
the honest residue form -- and its references
follow it; one combined pattern, so a 16,000-line
file does not need a substitution per label
resolve_raw_branches.py refuses to label a data row
build_mario_map.py new: the hand-written Pass 2 map builder
Remove the old _wip/NROM/Mario Bros (JU) folder (promoted to NROM/)
Mario Bros (JU): add the promoted-tier header, CHR, rom.nes symlink and zero-page aliases
Moves _ROMS/<ROM> into _wip/<MAPPER>/<ROM>
Sync the docs and the skeleton tool with the 857-project _wip tier
The _wip/ tier now holds 857 projects across 30 mapper folders, all
building byte-identical for the whole ROM. README.md, TODO.md and
AGENTS.md still described the old 39-project tier, so bring them in line
with WIP.md, which carries the tier's index.
The tier is no longer 39 projects of NROM-256 with a 16/32 KB PRG:
only two projects have a 16 KB PRG, 151 have 32 KB, 523 have 128 KB and
one has 1.5 MB, so most of it is a banked mapper whose image does not fit
the 6502's address space. Those projects link their MEMORY areas at .nes
file offsets rather than CPU addresses, which is the only option and the
honest model; the 39 older projects keep the CPU-address layout because
their PRG really is one contiguous window.
make_skeleton.py gains the two layouts (--layout flat|cpu), the board
name for the mapper, and a fix for find_rom() mistaking the build
output reconstructed.nes for the source ROM.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1327 lines
38 KiB
Plaintext
1327 lines
38 KiB
Plaintext
label Label_C7A8 Reset_Block
|
|
label Label_C7B9 Reset_Block_1
|
|
label Label_C807 LoadSpriteInitPointerToZp00
|
|
label Label_C815 LoadObjectPointerToZp02AndDraw
|
|
label Label_C823 LoadObjectPointerToZp00AndDraw
|
|
label Label_C831 LoadObjectAndLevelPointers
|
|
label Label_C847 LoadObjectPointerToZp02
|
|
label Label_C853 LoadObjectPointerToZp08
|
|
label Label_C8A5 NmiHandler_Block
|
|
label Label_C95C UpdateGameState_Block
|
|
label Label_C976 UpdateGameState2_Block
|
|
label Label_C985 UpdateGameState2_Block_1
|
|
label Label_C989 UpdateGameState2_Block_2
|
|
label Label_C991 UpdateGameState3_Block
|
|
label Label_C9AD UpdateGameState3_Block_1
|
|
label Label_C9B1 InitGameState
|
|
label Label_CA06 InitGameState_Block
|
|
label Label_CA26 InitGameState_Block_1
|
|
label Label_CA4A UpdateSprites_Block
|
|
label Label_CA5A UpdateSprites_Block_1
|
|
label Label_CA5F UpdateSprites_Block_2
|
|
label Label_CA64 UpdateSprites_Block_3
|
|
label Label_CA79 UpdateSprites_Block_4
|
|
label Label_CA94 UpdateSprites_Block_5
|
|
label Label_CA99 UpdateSprites_Block_6
|
|
label Label_CAAB CopyToOAM_Block
|
|
label Label_CABB CopyFromOAM_Block
|
|
label Label_CAD8 UpdateSpriteData_Block
|
|
label Label_CAE7 UpdateSpriteData_Block_1
|
|
label Label_CAF6 UpdateSpriteData_Block_2
|
|
label Label_CAFA UpdateSpriteData_Block_3
|
|
label Label_CB02 UpdateSpriteData_Block_4
|
|
label Label_CB15 UpdateSpriteData_Block_5
|
|
label Label_CB18 UpdateSpriteData_Block_6
|
|
label Label_CB30 HandleController_Block
|
|
label Label_CB36 HandleController_Block_1
|
|
label Label_CB39 HandleController_Block_2
|
|
label Label_CB46 HandleController_Block_3
|
|
label Label_CB47 HandleController_Block_4
|
|
label Label_CB58 HandleController_Block_5
|
|
label Label_CB7B HandleController_Block_6
|
|
label Label_CB9E HandleController_Block_7
|
|
label Label_CBDF CopyVramDataToBuffer
|
|
label Label_CBEB CopyVramDataToBuffer_Block
|
|
label Label_CC24 SubCCC24
|
|
label Label_CC4A InitScroll_Block
|
|
label Label_CC99 InitScroll_Block_1
|
|
label Label_CCA6 InitScroll_Block_2
|
|
label Label_CCF3 UpdateScroll8_Block
|
|
label Label_CD07 CheckGameState_1_Block
|
|
label Label_CD13 CheckGameState_1_Block_1
|
|
label Label_CD45 UpdateGameTimer_Block
|
|
label Label_CD4A UpdateGameTimer_Block_1
|
|
label Label_CD4F UpdateGameTimer_Block_2
|
|
label Label_CD58 UpdateGameTimer_Block_3
|
|
label Label_CD61 UpdateGameTimer_Block_4
|
|
label Label_CD66 UpdateGameTimer_Block_5
|
|
label Label_CD69 UpdateGameTimer_Block_6
|
|
label Label_CD6C UpdateGameTimer_Block_7
|
|
label Label_CDAE UpdateSpritePosition5_Block
|
|
label Label_CDD7 UpdateSpritePosition6_Block
|
|
label Label_CDEF UpdateSpritePosition6_Block_1
|
|
label Label_CDF3 UpdateSpritePosition6_Block_2
|
|
label Label_CE1F UpdateSpritePosition8_Block
|
|
label Label_CE2F UpdateSpritePosition9_Block
|
|
label Label_CE8B UpdateSpritePosition10_Block
|
|
label Label_CE94 UpdateSpritePosition10_Block_1
|
|
label Label_CEA2 UpdateSpritePosition10_Block_2
|
|
label Label_CEAE UpdateSpritePosition10_Block_3
|
|
label Label_CEB1 UpdateSpritePosition10_Block_4
|
|
label Label_CEB8 UpdateSpritePosition10_Block_5
|
|
label Label_CEC1 UpdateSpritePosition10_Block_6
|
|
label Label_CED3 UpdateSpritePosition10_Block_7
|
|
label Label_CF01 UpdateSpritePosition11_Block
|
|
label Label_CF0D UpdateSpritePosition11_Block_1
|
|
label Label_CF2A UpdateSpritePosition13_3_Block
|
|
label Label_CF55 UpdateSpritePosition15_Block
|
|
label Label_CF79 UpdateSpritePosition15_Block_1
|
|
label Label_CF7A UpdateSpritePosition15_Block_2
|
|
label Label_CF8F UpdateSpritePosition15_Block_3
|
|
label Label_CF92 UpdateSpritePosition15_Block_4
|
|
label Label_CF9B UpdateSpritePosition15_Block_5
|
|
label Label_CFA1 UpdateSpritePosition15_Block_6
|
|
label Label_CFAC UpdateSpritePosition17_Block
|
|
label Label_CFB8 UpdateSpritePosition17_Block_1
|
|
label Label_CFCD UpdateSpritePosition18_Block
|
|
label Label_CFF9 UpdateSpritePosition18_Block_1
|
|
label Label_D02A UpdateSpritePosition19_Block
|
|
label Label_D04B UpdateSpritePosition21_1_Block
|
|
label Label_D063 UpdateSpritePosition21_3_Block
|
|
label Label_D065 UpdateSpritePosition21_3_Block_1
|
|
label Label_D074 UpdateSpritePosition21_3_Block_2
|
|
label Label_D092 UpdateSpritePosition22_1_Block
|
|
label Label_D0A5 UpdateSpritePosition22_1_Block_1
|
|
label Label_D0AA UpdateSpritePosition22_1_Block_2
|
|
label Label_D0BF UpdateSpritePosition22_3_Block
|
|
label Label_D0DD UpdateSpritePosition23_Block
|
|
label Label_D0E4 UpdateSpritePosition23_Block_1
|
|
label Label_D0F4 UpdateSpritePosition23_Block_2
|
|
label Label_D0F8 UpdateSpritePosition23_Block_3
|
|
label Label_D101 UpdateSpritePosition23_Block_4
|
|
label Label_D115 UpdateSpritePosition23_Block_5
|
|
label Label_D11D UpdateSpritePosition23_Block_6
|
|
label Label_D130 UpdateSpritePosition24_Block
|
|
label Label_D138 UpdateSpritePosition24_Block_1
|
|
label Label_D139 UpdateSpritePosition24_Block_2
|
|
label Label_D14B UpdateSpritePosition24_Block_3
|
|
label Label_D166 UpdateSpritePosition24_Block_4
|
|
label Label_D189 UpdateSpritePosition26_Block
|
|
label Label_D199 UpdateSpritePosition26_Block_1
|
|
label Label_D1BB UpdateSpritePosition28_Block
|
|
label Label_D1C3 UpdateSpritePosition29_Block
|
|
label Label_D1C6 UpdateSpritePosition29_Block_1
|
|
label Label_D1C9 UpdateSpritePosition29_Block_2
|
|
label Label_D1CC UpdateSpritePosition29_Block_3
|
|
label Label_D1E2 UpdateSpritePosition30_Block
|
|
label Label_D1E5 UpdateSpritePosition30_Block_1
|
|
label Label_D1F3 UpdateSpritePosition30_Block_2
|
|
label Label_D1F9 UpdateSpritePosition30_Block_3
|
|
label Label_D205 UpdateSpritePosition30_Block_4
|
|
label Label_D227 UpdateSpritePosition31_Block
|
|
label Label_D233 UpdateSpritePosition31_Block_1
|
|
label Label_D23E UpdateSpritePosition31_Block_2
|
|
label Label_D25B UpdateSpritePosition31_Block_3
|
|
label Label_D262 UpdateSpritePosition31_Block_4
|
|
label Label_D26D UpdateSpritePosition31_Block_5
|
|
label Label_D288 UpdateSpritePosition33_Block
|
|
label Label_D2CA UpdateSpritePosition34_Block
|
|
label Label_D2DD UpdateSpritePosition35_Block
|
|
label Label_D2F0 UpdateSpritePosition36_Block
|
|
label Label_D34E UpdateSpritePosition40_Block
|
|
label Label_D353 UpdateSpritePosition40_Block_1
|
|
label Label_D35E UpdateSpritePosition40_Block_2
|
|
label Label_D365 UpdateSpritePosition40_Block_3
|
|
label Label_D373 UpdateSpritePosition42_1_Block
|
|
label Label_D38B UpdateSpritePosition43_Block
|
|
label Label_D39C UpdateSpritePosition44_Block
|
|
label Label_D3AF UpdateSpritePosition44_Block_1
|
|
label Label_D3BB UpdateSpritePosition44_Block_2
|
|
label Label_D3CD UpdateSpritePosition44_Block_3
|
|
label Label_D3D0 UpdateSpritePosition44_Block_4
|
|
label Label_D3D2 SubCD3D2
|
|
label Label_D3E7 UpdateSpritePosition44_Block_5
|
|
label Label_D3F9 UpdateSpritePosition44_Block_6
|
|
label Label_D3FB SubCD3FB
|
|
label Label_D40D SubCD40D
|
|
label Label_D426 SubCD40D_Block
|
|
label Label_D42C SubCD42C
|
|
label Label_D432 SubCD432
|
|
label Label_D445 SubCD432_Block
|
|
label Label_D45A SubCD432_Block_1
|
|
label Label_D471 SubCD432_Block_2
|
|
label Label_D476 SubCD432_Block_3
|
|
label Label_D478 SubCD478
|
|
label Label_D48B SubCD432_Block_4
|
|
label Label_D49D SubCD432_Block_5
|
|
label Label_D49F SubCD49F
|
|
label Label_D4B1 SubCD4B1
|
|
label Label_D4C6 SubCD4B1_Block
|
|
label Label_D4CC SubCD4CC
|
|
label Label_D4ED UpdateSpritePosition49_Block
|
|
label Label_D4EE SubCD4EE
|
|
label Label_D4F9 SubCD4F9
|
|
label Label_D501 SubCD501
|
|
label Label_D509 SubCD501_Block
|
|
label Label_D50A SubCD50A
|
|
label Label_D544 SubCD50A_Block
|
|
label Label_D547 SubCD547
|
|
label Label_D551 SubCD547_Block
|
|
label Label_D55A SubCD547_Block_1
|
|
label Label_D56A SubCD547_Block_2
|
|
label Label_D56C SubCD56C
|
|
label Label_D570 SubCD56C_Block
|
|
label Label_D58C SubCD56C_Block_1
|
|
label Label_D59A SubCD56C_Block_2
|
|
label Label_D5A1 SubCD56C_Block_3
|
|
label Label_D5AF SubCD56C_Block_4
|
|
label Label_D5B3 SubCD5B3
|
|
label Label_D5CC SubCD5B3_Block
|
|
label Label_D5E2 SubCD5B3_Block_1
|
|
label Label_D5F1 SubCD5F1
|
|
label Label_D5F6 SubCD5F6
|
|
label Label_D60D SubCD60D
|
|
label Label_D642 SubCD60D_Block
|
|
label Label_D64F SubCD60D_Block_1
|
|
label Label_D697 SubCD697
|
|
label Label_D6B1 SubCD697_Block
|
|
label Label_D6B7 SubCD6B7
|
|
label Label_D6C5 SubCD6B7_Block
|
|
label Label_D6C6 SubCD6C6
|
|
label Label_D6CD SubCD6C6_Block
|
|
label Label_D6D9 SubCD6C6_Block_1
|
|
label Label_D6E8 SubCD6C6_Block_2
|
|
label Label_D6F2 SubCD6C6_Block_3
|
|
label Label_D6FE SubCD6C6_Block_4
|
|
label Label_D703 SubCD6C6_Block_5
|
|
label Label_D705 SubCD705
|
|
label Label_D70A SubCD6C6_Block_6
|
|
label Label_D710 SubCD6C6_Block_7
|
|
label Label_D713 SubCD713
|
|
label Label_D732 SubCD713_Block
|
|
label Label_D73E SubCD713_Block_1
|
|
label Label_D74F SubCD713_Block_2
|
|
label Label_D753 SubCD753
|
|
label Label_D767 SubCD753_Block
|
|
label Label_D769 SubCD769
|
|
label Label_D786 SubCD769_Block
|
|
label Label_D795 SubCD769_Block_1
|
|
label Label_D79B SubCD79B
|
|
label Label_D7AD SubCD7AD
|
|
label Label_D7B8 SubCD7AD_Block
|
|
label Label_D7BA SubCD7BA
|
|
label Label_D7BF SubCD7BF
|
|
label Label_D7D3 SubCD7BF_Block
|
|
label Label_D7DA SubCD7DA
|
|
label Label_D7F2 SubCD7F2
|
|
label Label_D800 SubCD800
|
|
label Label_D805 SubCD800_Block
|
|
label Label_D80E SubCD800_Block_1
|
|
label Label_D81E SubCD800_Block_2
|
|
label Label_D827 SubCD800_Block_3
|
|
label Label_D849 SubCD800_Block_4
|
|
label Label_D856 SubCD800_Block_5
|
|
label Label_D867 SubCD800_Block_6
|
|
label Label_D86F SubCD800_Block_7
|
|
label Label_D87D SubCD87D
|
|
label Label_D8A7 SubCD87D_Block
|
|
label Label_D8A8 SubCD8A8
|
|
label Label_D8AD CheckSpriteListCollision
|
|
label Label_D8B9 SubCD8B9
|
|
label Label_D8E1 SubCD8B9_Block
|
|
label Label_D8E6 SubCD8B9_Block_1
|
|
label Label_D8E8 SubCD8E8
|
|
label Label_D8EB SubCD8EB
|
|
label Label_D904 SubCD8EB_Block
|
|
label Label_D911 SubCD8EB_Block_1
|
|
label Label_D914 SubCD8EB_Block_2
|
|
label Label_D917 SubCD917
|
|
label Label_D91A SubCD91A
|
|
label Label_D92D SubCD92D
|
|
label Label_D938 SubCD91A_Block
|
|
label Label_D93B SubCD92D_Block
|
|
label Label_D93C SubCD93C
|
|
label Label_D964 SubCD93C_Block
|
|
label Label_D986 SubCD93C_Block_1
|
|
label Label_D98B SubCD93C_Block_2
|
|
label Label_D98D SubCD98D
|
|
label Label_D990 SubCD990
|
|
label Label_D99D SubCD990_Block
|
|
label Label_D9AF SubCD990_Block_1
|
|
label Label_D9D0 SubCD990_Block_2
|
|
label Label_D9D4 SubCD9D4
|
|
label Label_D9E0 SubCD9D4_Block
|
|
label Label_D9E3 SubCD9E3
|
|
label Label_D9E6 CheckPeriodicEvent
|
|
label Label_D9E8 SubCD9E8
|
|
label Label_D9F5 SubCD9E8_Block
|
|
label Label_D9F9 SubCD9F9
|
|
label Label_DA06 SubCD9F9_Block
|
|
label Label_DA0F SubCDA0F
|
|
label Label_DA13 SubCDA0F_Block
|
|
label Label_DA16 UpdateObjectListZp5D
|
|
label Label_DA1D UpdateObjectListZp5D_Block
|
|
label Label_DA3D UpdateObjectListZp5D_Block_1
|
|
label Label_DA40 UpdateObjectListZp5D_Block_2
|
|
label Label_DA4C DispatchObjectStateZp5E
|
|
label Label_DA7D DispatchObjectStateZp5E_Block
|
|
label Label_DA80 DispatchObjectStateZp5E_Block_1
|
|
label Label_DA83 DispatchObjectStateZp5E_Block_2
|
|
label Label_DA86 DispatchObjectStateZp5E_Block_3
|
|
label Label_DA89 DispatchObjectStateZp5E_Block_4
|
|
label Label_DA8F DispatchObjectStateZp5E_Block_5
|
|
label Label_DA92 DispatchObjectStateZp5E_Block_6
|
|
label Label_DA95 DispatchObjectStateZp5E_Block_7
|
|
label Label_DA98 DispatchObjectStateZp5E_Block_8
|
|
label Label_DA9C HandleObjectState80
|
|
label Label_DAC3 HandleObjectState80_Block
|
|
label Label_DAD5 SubCDAD5
|
|
label Label_DAF2 SubCDAD5_Block
|
|
label Label_DAF7 SubCDAF7
|
|
label Label_DAFF SubCDAF7_Block
|
|
label Label_DB00 HandleObjectState81
|
|
label Label_DB21 HandleObjectState81_Block
|
|
label Label_DB2B SubCDB2B
|
|
label Label_DB2C HandleObjectState01
|
|
label Label_DB34 HandleObjectState01_Block
|
|
label Label_DB4E HandleObjectState01_Block_1
|
|
label Label_DB50 SubCDB50
|
|
label Label_DBA3 SubCDB50_Block
|
|
label Label_DBAC SubCDB50_Block_1
|
|
label Label_DBCD UpdateSpritePosition57_Block
|
|
label Label_DBE7 SubCDBE7
|
|
label Label_DBED SubCDBE7_Block
|
|
label Label_DBEE UpdateObjectAnimationFrame
|
|
label Label_DBFB UpdateObjectAnimationFrame_Block
|
|
label Label_DC16 UpdateObjectAnimationFrame_Block_1
|
|
label Label_DC1B UpdateObjectAnimationFrame_Block_2
|
|
label Label_DC2B UpdateObjectAnimationFrame_Block_3
|
|
label Label_DC2D SubCDC2D
|
|
label Label_DC30 HandleObjectState02
|
|
label Label_DC4F HandleObjectState02_Block
|
|
label Label_DC51 SubCDC51
|
|
label Label_DC68 SubCDC51_Block
|
|
label Label_DC69 HandleObjectState08
|
|
label Label_DC71 HandleObjectState08_Block
|
|
label Label_DC8E HandleObjectState08_Block_1
|
|
label Label_DC90 SubCDC90
|
|
label Label_DCBC SubCDC90_Block
|
|
label Label_DCC9 SubCDCC9
|
|
label Label_DCCF SubCDCC9_Block
|
|
label Label_DCD0 HandleObjectState10
|
|
label Label_DCD8 HandleObjectState10_Block
|
|
label Label_DCF3 SubCDCF3
|
|
label Label_DD00 HandleObjectState10_Block_1
|
|
label Label_DD06 SubCDD06
|
|
label Label_DD13 SubCDD06_Block
|
|
label Label_DD25 SubCDD06_Block_1
|
|
label Label_DD3A UpdateSpritePosition68_Block
|
|
label Label_DD59 UpdateSpritePosition68_Block_1
|
|
label Label_DD60 UpdateSpritePosition68_Block_2
|
|
label Label_DD6A UpdateSpritePosition68_Block_3
|
|
label Label_DD73 UpdateSpritePosition68_Block_4
|
|
label Label_DD7F SubCDD7F
|
|
label Label_DD8B HandleObjectStateC0
|
|
label Label_DD98 HandleObjectStateC0_Block
|
|
label Label_DDAB HandleObjectStateC0_Block_1
|
|
label Label_DDB0 HandleObjectStateC0_Block_2
|
|
label Label_DDB2 SubCDDB2
|
|
label Label_DDC9 SubCDDB2_Block
|
|
label Label_DDD7 SubCDDB2_Block_1
|
|
label Label_DDF5 SubCDDB2_Block_2
|
|
label Label_DE0B SubCDDB2_Block_3
|
|
label Label_DE0D SubCDE0D
|
|
label Label_DE10 SubCDE0D_Block
|
|
label Label_DE13 SubCDDB2_Block_4
|
|
label Label_DE1A SubCDE1A
|
|
label Label_DE27 SubCDE27
|
|
label Label_DE36 SubCDE27_Block
|
|
label Label_DE50 SubCDE27_Block_1
|
|
label Label_DE56 SubCDE56
|
|
label Label_DE68 SubCDE56_Block
|
|
label Label_DE6A SubCDE6A
|
|
label Label_DE73 SubCDE73
|
|
label Label_DE82 SubCDE82
|
|
label Label_DE85 SubCDE82_Block
|
|
label Label_DE86 SubCDE86
|
|
label Label_DE90 SubCDE86_Block
|
|
label Label_DE9F SubCDE86_Block_1
|
|
label Label_DEA4 SubCDEA4
|
|
label Label_DEA5 SubCDEA5
|
|
label Label_DEDC SubCDEA5_Block
|
|
label Label_DEE8 SubCDEA5_Block_1
|
|
label Label_DEED SubCDEA5_Block_2
|
|
label Label_DEF2 SubCDEA5_Block_3
|
|
label Label_DEFB SubCDEFB
|
|
label Label_DF07 HandleObjectState40
|
|
label Label_DF0F HandleObjectState40_Block
|
|
label Label_DF25 HandleObjectState40_Block_1
|
|
label Label_DF27 SubCDF27
|
|
label Label_DF35 SubCDF27_Block
|
|
label Label_DF40 SubCDF40
|
|
label Label_DF45 SubCDF40_Block
|
|
label Label_DF4C SubCDF40_Block_1
|
|
label Label_DF55 SubCDF40_Block_2
|
|
label Label_DF5E SubCDF40_Block_3
|
|
label Label_DF60 SubCDF40_Block_4
|
|
label Label_DF6C SubCDF40_Block_5
|
|
label Label_DF72 SubCDF72
|
|
label Label_DF7B SubCDF72_Block
|
|
label Label_DF7D SubCDF72_Block_1
|
|
label Label_DF89 SubCDF72_Block_2
|
|
label Label_DF8F SubCDF72_Block_3
|
|
label Label_DFAD SubCDFAD
|
|
label Label_DFB8 SubCDFAD_Block
|
|
label Label_DFC3 SubCDFC3
|
|
label Label_DFE3 SubCDFC3_Block
|
|
label Label_DFE4 CheckPeriodicEventForObject
|
|
label Label_DFE8 SubCDFE8
|
|
label Label_DFF7 SubCDFE8_Block
|
|
label Label_DFFB SubCDFFB
|
|
label Label_E008 SubCDFFB_Block
|
|
label Label_E011 SubCE011
|
|
label Label_E015 SubCE011_Block
|
|
label Label_E016 FindYRowIndex
|
|
label Label_E02F SubCE02F
|
|
label Label_E041 SubCE02F_Block
|
|
label Label_E045 SubCE02F_Block_1
|
|
label Label_E048 SubCE048
|
|
label Label_E057 SubCE048_Block
|
|
label Label_E05A SubCE05A
|
|
label Label_E06A SubCE06A
|
|
label Label_E079 SubCE05A_Block
|
|
label Label_E07B SubCE07B
|
|
label Label_E08A SubCE07B_Block
|
|
label Label_E08D SubCE07B_Block_1
|
|
label Label_E090 SubCE090
|
|
label Label_E09F SubCE090_Block
|
|
label Label_E0A1 SubCE0A1
|
|
label Label_E0AB SubCE0A1_Block
|
|
label Label_E0AE SubCE0AE
|
|
label Label_E0CB SubCE0AE_Block
|
|
label Label_E0D1 SubCE0AE_Block_1
|
|
label Label_E0DD SubCE0AE_Block_2
|
|
label Label_E0E9 SubCE0AE_Block_3
|
|
label Label_E0EC SubCE0EC
|
|
label Label_E0F1 SubCE0F1
|
|
label Label_E107 SubCE0F1_Block
|
|
label Label_E109 SubCE0F1_Block_1
|
|
label Label_E10F SubCE10F
|
|
label Label_E112 SearchTableForByte
|
|
label Label_E116 SearchTableForByte_Loop
|
|
label Label_E124 SearchTableForByte_Loop_Block
|
|
label Label_E129 SearchTableForByte_Loop_Block_1
|
|
label Label_E12B SearchTableForByte_Return
|
|
label Label_E130 SubCE130
|
|
label Label_E13E SubCE130_Block
|
|
label Label_E141 SubCE141
|
|
label Label_E166 CountObjectTypes
|
|
label Label_E16A CountObjectTypes_Block
|
|
label Label_E172 CountObjectTypes_Loop
|
|
label Label_E17F CountObjectTypes_Loop_Block
|
|
label Label_E187 CountObjectTypes_Loop_Block_1
|
|
label Label_E199 CountObjectTypes_Loop_Block_2
|
|
label Label_E19A SubCE19A
|
|
label Label_E19F SubCE19A_Block
|
|
label Label_E1BF SubCE19A_Block_1
|
|
label Label_E1D5 SubCE19A_Block_2
|
|
label Label_E1D7 SubCE1D7
|
|
label Label_E1E0 SubCE1E0
|
|
label Label_E1E4 SubCE1E0_Block
|
|
label Label_E1E5 InitObjectListZpAE
|
|
label Label_E1E9 UpdateObjectListZpAE
|
|
label Label_E200 UpdateObjectListZpAE_Block
|
|
label Label_E213 UpdateObjectListZpAE_Block_1
|
|
label Label_E21F SubCE21F
|
|
label Label_E225 SubCE225
|
|
label Label_E228 SubCE225_Block
|
|
label Label_E237 SubCE225_Block_1
|
|
label Label_E24F SubCE225_Block_2
|
|
label Label_E250 DispatchObjectStateZpAF
|
|
label Label_E254 DispatchObjectState_Loop
|
|
label Label_E280 SubCE280
|
|
label Label_E28C InitSound_3_Block
|
|
label Label_E28F DispatchObjectState_Loop_Block
|
|
label Label_E292 SubCE292
|
|
label Label_E295 DispatchObjectState_Loop_Block_1
|
|
label Label_E29A DispatchObjectState_Loop_Block_2
|
|
label Label_E29C SubCE29C
|
|
label Label_E2A1 DispatchObjectState_Loop_Block_3
|
|
label Label_E2B3 DispatchObjectState_Loop_Block_4
|
|
label Label_E2B6 SubCE2B6
|
|
label Label_E2D9 SubCE2B6_Block
|
|
label Label_E2DD SubCE2DD
|
|
label Label_E2EB SubCE2DD_Block
|
|
label Label_E2F4 SubCE2DD_Block_1
|
|
label Label_E2F6 SubCE2F6
|
|
label Label_E2F9 SubCE2F9
|
|
label Label_E305 SubCE2F9_Block
|
|
label Label_E31A SubCE2F9_Block_1
|
|
label Label_E323 SubCE2F9_Block_2
|
|
label Label_E325 SubCE325
|
|
label Label_E33B SubCE325_Block
|
|
label Label_E340 SubCE325_Block_1
|
|
label Label_E349 SubCE325_Block_2
|
|
label Label_E34B SubCE34B
|
|
label Label_E363 SubCE34B_Block
|
|
label Label_E365 SubCE365
|
|
label Label_E368 SubCE368
|
|
label Label_E374 SubCE368_Block
|
|
label Label_E385 SubCE368_Block_1
|
|
label Label_E387 SubCE387
|
|
label Label_E396 SubCE387_Block
|
|
label Label_E39B SubCE39B
|
|
label Label_E3AA SubCE39B_Block
|
|
label Label_E3AF SubCE3AF
|
|
label Label_E3BA SubCE3AF_Block
|
|
label Label_E3C0 SubCE3C0
|
|
label Label_E3CE SubCE3C0_Block
|
|
label Label_E3DD SubCE3C0_Block_1
|
|
label Label_E3E6 SubCE3C0_Block_2
|
|
label Label_E3ED SubCE3ED
|
|
label Label_E408 SubCE3ED_Block
|
|
label Label_E411 SubCE3ED_Block_1
|
|
label Label_E413 SubCE413
|
|
label Label_E41B SubCE41B
|
|
label Label_E429 SubCE41B_Block
|
|
label Label_E436 SubCE41B_Block_1
|
|
label Label_E44B SubCE44B
|
|
label Label_E451 SubCE44B_Block
|
|
label Label_E466 SubCE44B_Block_1
|
|
label Label_E46D SubCE46D
|
|
label Label_E47A SubCE47A
|
|
label Label_E48E SubCE47A_Block
|
|
label Label_E49B SubCE47A_Block_1
|
|
label Label_E4A8 SubCE47A_Block_2
|
|
label Label_E4B5 SubCE47A_Block_3
|
|
label Label_E4C0 SubCE47A_Block_4
|
|
label Label_E4D3 SubCE47A_Block_5
|
|
label Label_E4D6 SubCE4D6
|
|
label Label_E4F9 SubCE4D6_Block
|
|
label Label_E50C SubCE50C
|
|
label Label_E522 SubCE50C_Block
|
|
label Label_E527 SubCE50C_Block_1
|
|
label Label_E530 SubCE50C_Block_2
|
|
label Label_E532 SubCE532
|
|
label Label_E538 SubCE538
|
|
label Label_E545 SubCE538_Block
|
|
label Label_E548 SubCE538_Block_1
|
|
label Label_E553 SubCE538_Block_2
|
|
label Label_E564 SubCE538_Block_3
|
|
label Label_E570 SubCE538_Block_4
|
|
label Label_E572 SubCE572
|
|
label Label_E592 SubCE592
|
|
label Label_E594 SubCE594
|
|
label Label_E59F SubCE59F
|
|
label Label_E5B4 SubCE59F_Block
|
|
label Label_E5BE SubCE59F_Block_1
|
|
label Label_E5D9 SubCE59F_Block_2
|
|
label Label_E5DB SubCE5DB
|
|
label Label_E5E5 SubCE5DB_Block
|
|
label Label_E5E8 SubCE5E8
|
|
label Label_E5FA SubCE5FA
|
|
label Label_E60C SubCE5FA_Block
|
|
label Label_E60F SubCE5E8_Block
|
|
label Label_E611 SubCE611
|
|
label Label_E620 SubCE611_Block
|
|
label Label_E623 SubCE611_Block_1
|
|
label Label_E626 SubCE626
|
|
label Label_E62F SubCE626_Block
|
|
label Label_E640 SubCE626_Block_1
|
|
label Label_E64D SubCE626_Block_2
|
|
label Label_E65D SubCE626_Block_3
|
|
label Label_E66D SubCE66D
|
|
label Label_E67A SubCE66D_Block
|
|
label Label_E68A SubCE66D_Block_1
|
|
label Label_E697 SubCE697
|
|
label Label_E69E SubCE69E
|
|
label Label_E6A5 SubCE6A5
|
|
label Label_E6BC SubCE6A5_Block
|
|
label Label_E6C3 SubCE6A5_Block_1
|
|
label Label_E6C6 SubCE6C6
|
|
label Label_E6DB SubCE6C6_Block
|
|
label Label_E6DE SubCE6DE
|
|
label Label_E6E3 SubCE6DE_Block
|
|
label Label_E6F3 SubCE6DE_Block_1
|
|
label Label_E6FB SubCE6DE_Block_2
|
|
label Label_E702 SubCE702
|
|
label Label_E719 SubCE702_Block
|
|
label Label_E721 SubCE702_Block_1
|
|
label Label_E72D SubCE72D
|
|
label Label_E72E SubCE702_Block_2
|
|
label Label_E735 SubCE702_Block_3
|
|
label Label_E73C SubCE73C
|
|
label Label_E747 SubCE747
|
|
label Label_E755 SubCE747_Block
|
|
label Label_E758 SubCE758
|
|
label Label_E75C SubCE747_Block_1
|
|
label Label_E769 SubCE747_Block_2
|
|
label Label_E770 SubCE770
|
|
label Label_E790 SubCE770_Block
|
|
label Label_E79D SubCE770_Block_1
|
|
label Label_E7A0 SubCE770_Block_2
|
|
label Label_E7A3 SubCE7A3
|
|
label Label_E7AE SubCE7A3_Block
|
|
label Label_E7E2 SubCE7E2
|
|
label Label_E7F2 SubCE7E2_Block
|
|
label Label_E7F9 SubCE7E2_Block_1
|
|
label Label_E806 AdvancePatternBit
|
|
label Label_E815 AdvancePatternBit_Block
|
|
label Label_E819 ReadPatternBit
|
|
label Label_E826 ReadPatternBit_Block
|
|
label Label_E82F ReadPatternBit_Return
|
|
label Label_E833 ReadPatternBit_Return_Block
|
|
label Label_E834 SubCE834
|
|
label Label_E84B SubCE834_Block
|
|
label Label_E84F SubCE84F
|
|
label Label_E86A SubCE84F_Block
|
|
label Label_E889 SubCE84F_Block_1
|
|
label Label_E890 SubCE890
|
|
label Label_E89B SubCE890_Block
|
|
label Label_E8A4 SubCE890_Block_1
|
|
label Label_E8A9 SubCE84F_Block_2
|
|
label Label_E8C4 SubCE84F_Block_3
|
|
label Label_E8E3 SubCE84F_Block_4
|
|
label Label_E8EA SubCE8EA
|
|
label Label_E8F8 SubCE8EA_Block
|
|
label Label_E8FC SubCE8EA_Block_1
|
|
label Label_E901 SubCE8EA_Block_2
|
|
label Label_E90E SubCE84F_Block_5
|
|
label Label_E918 SubCE918
|
|
label Label_E92E SubCE918_Block
|
|
label Label_E93B SubCE84F_Block_6
|
|
label Label_E945 SubCE945
|
|
label Label_E95B SubCE945_Block
|
|
label Label_E967 SubCE945_Block_1
|
|
label Label_E968 SubCE968
|
|
label Label_E971 SubCE971
|
|
label Label_E97A SetSpritePairY
|
|
label Label_E981 SubCE981
|
|
label Label_E986 SubCE986
|
|
label Label_E9B4 SubCE986_Block
|
|
label Label_E9BE SubCE986_Block_1
|
|
label Label_E9DA SubCE9DA
|
|
label Label_E9EA SubCE9EA
|
|
label Label_E9F0 SubCE986_Block_2
|
|
label Label_E9F3 SubCE9F3
|
|
label Label_EA00 SubCE9F3_Block
|
|
label Label_EA01 SubCEA01
|
|
label Label_EA11 SubCEA01_Block
|
|
label Label_EA2A SubCEA01_Block_1
|
|
label Label_EA34 SubCEA34
|
|
label Label_EA5E SubCEA34_Block
|
|
label Label_EA5F SubCEA5F
|
|
label Label_EA64 SubCEA5F_Block
|
|
label Label_EA72 SubCEA5F_Block_1
|
|
label Label_EA88 SubCEA5F_Block_2
|
|
label Label_EA8A SubCEA8A
|
|
label Label_EAA0 SubCEA8A_Block
|
|
label Label_EAA1 AdvancePatternBitAlt
|
|
label Label_EAAE AdvancePatternBitAlt_Block
|
|
label Label_EAB2 ReadPatternBitAlt
|
|
label Label_EABF ReadPatternBitAlt_Block
|
|
label Label_EAC8 ReadPatternBitAlt_Return
|
|
label Label_EACC ReadPatternBitAlt_Return_Block
|
|
label Label_EACD ClearSpriteDestOffset
|
|
label Label_EAD4 SetSpriteTile
|
|
label Label_EAD6 SetSpriteSize
|
|
label Label_EADB SetSpriteSizeAndDraw
|
|
label Label_EAE1 LoadSprite0Position
|
|
label Label_EAEC LoadSpritePosition
|
|
label Label_EAF7 SubCEAF7
|
|
label Label_EB05 SubCEAF7_Block
|
|
label Label_EB06 SubCEB06
|
|
label Label_EB0C SubCEB06_Block
|
|
label Label_EB2B SubCEB2B
|
|
label Label_EB32 SubCEB2B_Block
|
|
label Label_EB39 SubCEB2B_Block_1
|
|
label Label_EB40 SubCEB2B_Block_2
|
|
label Label_EB47 SubCEB2B_Block_3
|
|
label Label_EB4E SubCEB2B_Block_4
|
|
label Label_EB4F SubCEB06_Block_1
|
|
label Label_EB54 SubCEB06_Block_2
|
|
label Label_EB6F SubCEB06_Block_3
|
|
label Label_EB74 SubCEB06_Block_4
|
|
label Label_EB7B SubCEB06_Block_5
|
|
label Label_EB85 SubCEB85
|
|
label Label_EB89 SubCEB89
|
|
label Label_EB8E SubCEB8E
|
|
label Label_EB92 SubCEB92
|
|
label Label_EB97 SubCEB97
|
|
label Label_EB9C SubCEB9C
|
|
label Label_EBA1 SubCEBA1
|
|
label Label_EBA6 SubCEBA6
|
|
label Label_EBA8 SubCEBA8
|
|
label Label_EBB6 SubCEBB6
|
|
label Label_EBBB SubCEBB6_Block
|
|
label Label_EBC4 SubCEBB6_Block_1
|
|
label Label_EBDA SubCEBDA
|
|
label Label_EBED SubCEBDA_Block
|
|
label Label_EC03 SubCEBDA_Block_1
|
|
label Label_EC0A SubCEBDA_Block_2
|
|
label Label_EC12 SubCEC12
|
|
label Label_EC16 SubCEBDA_Block_3
|
|
label Label_EC29 SubCEC29
|
|
label Label_EC3B SubCEC29_Block
|
|
label Label_EC3E SubCEC29_Block_1
|
|
label Label_EC44 SubCEC44
|
|
label Label_EC48 SubCEC48
|
|
label Label_EC5B SubCEC48_Block
|
|
label Label_EC76 SubCEC48_Block_1
|
|
label Label_EC97 SubCEC97
|
|
label Label_ECA7 SubCEC48_Block_2
|
|
label Label_ECAF SubCEC97_Block
|
|
label Label_ECBE SubCEC97_Block_1
|
|
label Label_ECBF SubCECBF
|
|
label Label_ECC6 SubCECBF_Block
|
|
label Label_ECD1 SubCECBF_Block_1
|
|
label Label_ECD3 SubCECD3
|
|
label Label_ECE8 SubCECD3_Block
|
|
label Label_ECF7 SubCECD3_Block_1
|
|
label Label_ECFD SubCECFD
|
|
label Label_ED07 SubCED07
|
|
label Label_ED16 SubCED16
|
|
label Label_ED34 SubCED07_Block
|
|
label Label_ED38 SubCED38
|
|
label Label_ED57 SubCED38_Block
|
|
label Label_ED74 SubCED38_Block_1
|
|
label Label_ED85 SubCED38_Block_2
|
|
label Label_ED87 SubCED87
|
|
label Label_ED8A SubCED8A
|
|
label Label_ED93 SubCED93
|
|
label Label_EDAD SubCED93_Block
|
|
label Label_EDB5 SubCED93_Block_1
|
|
label Label_EDC4 SubCED93_Block_2
|
|
label Label_EDC5 SubCEDC5
|
|
label Label_EDD2 SubCEDC5_Block
|
|
label Label_EDEB SubCEDEB
|
|
label Label_EE07 SubCEDEB_Block
|
|
label Label_EE0B SubCEDEB_Block_1
|
|
label Label_EE0C SubCEE0C
|
|
label Label_EE1A SubCEE0C_Block
|
|
label Label_EE26 SubCEE0C_Block_1
|
|
label Label_EE29 SubCEE29
|
|
label Label_EE38 SubCEE29_Block
|
|
label Label_EE51 SubCEE29_Block_1
|
|
label Label_EE5C SubCEE29_Block_2
|
|
label Label_EE6C SetSpriteAttributes
|
|
label Label_EE79 CheckPlayerCollision
|
|
label Label_EE80 CheckPlayerCollision_Block
|
|
label Label_EE8D SubCEE8D
|
|
label Label_EED8 SubCEE8D_Block
|
|
label Label_EED9 SubCEE8D_Block_1
|
|
label Label_EEE6 SubCEE8D_Block_2
|
|
label Label_EEE7 SubCEE8D_Block_3
|
|
label Label_EEF0 SubCEE8D_Block_4
|
|
label Label_EEF7 SubCEEF7
|
|
label Label_EF2E SubCEEF7_Block
|
|
label Label_EF2F SubCEEF7_Block_1
|
|
label Label_EF38 SubCEF38
|
|
label Label_EF51 SubCEF51
|
|
label Label_EF71 SubCEF51_Block
|
|
label Label_EF72 SubCEF72
|
|
label Label_EF87 SubCEF72_Block
|
|
label Label_EF89 SubCEF89
|
|
label Label_EF94 SubCEF72_Block_1
|
|
label Label_EFA0 SubCEF72_Block_2
|
|
label Label_EFA2 SubCEFA2
|
|
label Label_EFAD SubCEFAD
|
|
label Label_EFD5 ComputeOamOffsetFromZp5D
|
|
label Label_EFD7 SubCEFD7
|
|
label Label_EFDD ComputeOamOffsetFromZpAE
|
|
label Label_EFE2 ComputeOamOffset
|
|
label Label_EFE8 LoadObjectRect
|
|
label Label_EFEB SubCEFEB
|
|
label Label_EFEF CheckObjectOverlap
|
|
label Label_EFF3 SubCEFF3
|
|
label Label_EFF5 SubCEFF3_Block
|
|
label Label_F018 SubCEFF3_Block_1
|
|
label Label_F057 SubCEFF3_Block_2
|
|
label Label_F059 SubCF059
|
|
label Label_F062 SubCF062
|
|
label Label_F063 ReadPtrBytePlusZp00
|
|
label Label_F069 ReadPtrBytePlusZp01
|
|
label Label_F070 SubCF070
|
|
label Label_F075 SubCF075
|
|
label Label_F078 DrawSpriteByMode
|
|
label Label_F080 SetSpriteDrawOffset
|
|
label Label_F082 DrawSpritePatternMode0
|
|
label Label_F086 SetSpriteDrawOffsetMode1
|
|
label Label_F088 DrawSpritePatternMode1
|
|
label Label_F08C SetSpriteDrawOffsetMode4
|
|
label Label_F08E DrawSpritePatternMode4
|
|
label Label_F092 SetSpritePatternParams
|
|
label Label_F094 DrawSpritePatternMode15
|
|
label Label_F096 DrawSpritePattern
|
|
label Label_F0CB DrawSpritePattern_Block
|
|
label Label_F0DC DrawSpritePattern_Block_1
|
|
label Label_F0E6 DrawSpritePattern_Block_2
|
|
label Label_F0E9 SubCF0E9
|
|
label Label_F0EF DrawSpritePattern_Block_3
|
|
label Label_F0F2 DrawSpritePatternReturn
|
|
label Label_F10A HideSpriteRange
|
|
label Label_F10E HideSpriteRange_Block
|
|
label Label_F11E DrawSpriteTileRun
|
|
label Label_F124 DrawSpriteTileRun_Block
|
|
label Label_F139 DrawSpriteGrid
|
|
label Label_F13B DrawSpriteGrid_Block
|
|
label Label_F141 DrawSpriteGrid_Block_1
|
|
label Label_F161 DrawSpriteMaskedGrid
|
|
label Label_F16A DrawSpriteMaskedGrid_Block
|
|
label Label_F16F DrawSpriteMaskedGrid_Block_1
|
|
label Label_F195 HideSpriteGrid
|
|
label Label_F197 HideSpriteGrid_Block
|
|
label Label_F19F HideSpriteGrid_Block_1
|
|
label Label_F1B4 ClearNametable
|
|
label Label_F1CE ClearNametable_Block
|
|
label Label_F1E5 ClearNametable_Block_1
|
|
label Label_F1EC FlushPpuBuffer_Block
|
|
label Label_F202 FlushPpuBuffer_Block_1
|
|
label Label_F20E FlushPpuBuffer_Block_2
|
|
label Label_F211 FlushPpuBuffer_Block_3
|
|
label Label_F214 FlushPpuBuffer_Block_4
|
|
label Label_F228 FlushPpuBuffer
|
|
label Label_F23C DrawLevelBlocks
|
|
label Label_F23F DrawLevelBlocks_Block
|
|
label Label_F248 DrawLevelBlocks_Block_1
|
|
label Label_F24E DrawLevelBlock
|
|
label Label_F28E DrawLevelBlock_Block
|
|
label Label_F296 DrawLevelBlock_Block_1
|
|
label Label_F29A DrawLevelBlock_Block_2
|
|
label Label_F2B0 DrawLevelBlock_Block_3
|
|
label Label_F2B4 DrawLevelBlock_Block_4
|
|
label Label_F2BE DrawLevelBlock_Block_5
|
|
label Label_F2C4 DrawLevelBlock_Block_6
|
|
label Label_F2D6 DrawLevelBlock_Block_7
|
|
label Label_F2D7 DrawVramBlock
|
|
label Label_F2EA DrawVramBlock_Block
|
|
label Label_F303 DrawVramBlock_Block_1
|
|
label Label_F32D AdvancePpuBufferWrite
|
|
label Label_F32F CheckPpuBufferOverflow
|
|
label Label_F33D CheckPpuBufferOverflow_Block
|
|
label Label_F33E SubtractBcdValue
|
|
label Label_F342 AddBcdValue
|
|
label Label_F344 AddBcdValue_Block
|
|
label Label_F355 AddBcdValue_Block_1
|
|
label Label_F35E ApplyBcdAddSub
|
|
label Label_F36B ApplyBcdAddSub_Block
|
|
label Label_F38E ApplyBcdAddSub_Block_1
|
|
label Label_F392 ApplyBcdAddSub_Block_2
|
|
label Label_F3C0 ApplyBcdAddSub_Block_3
|
|
label Label_F3C6 ApplyBcdAddSub_Block_4
|
|
label Label_F3E2 ApplyBcdAddSub_Block_5
|
|
label Label_F3E3 AddBcdNibble
|
|
label Label_F3EE AddBcdNibble_Block
|
|
label Label_F3FB AddBcdNibble_Block_1
|
|
label Label_F3FF AddBcdNibble_Block_2
|
|
label Label_F404 SubtractBcdNibble
|
|
label Label_F417 SubtractBcdNibble_Block
|
|
label Label_F423 SubtractBcdNibble_Block_1
|
|
label Label_F426 SplitBcdByte
|
|
label Label_F435 CompareBcdValues
|
|
label Label_F44A CompareBcdValues_Block
|
|
label Label_F453 CompareBcdValues_Block_1
|
|
label Label_F479 CompareBcdValues_Block_2
|
|
label Label_F47E CompareBcdValues_Block_3
|
|
label Label_F493 CompareBcdValues_Block_4
|
|
label Label_F49F CompareBcdValues_Block_5
|
|
label Label_F4A0 CompareBcdValues_Block_6
|
|
label Label_F4A4 CompareBcdValues_Block_7
|
|
label Label_F4A9 CompareBcdValues_Block_8
|
|
label Label_F4AC UpdateTimers
|
|
label Label_F4B8 UpdateTimers_Block
|
|
label Label_F4BE UpdateTimers_Block_1
|
|
label Label_F4C2 QueuePpuByteWrite
|
|
label Label_F4ED UpdateRandomSeed
|
|
label Label_F4FD UpdateRandomSeed_Block
|
|
label Label_F50E ReadControllers
|
|
label Label_F522 ReadControllerShift
|
|
label Label_F524 ReadControllerShift_Block
|
|
label Label_F549 ReadControllerShift_Block_1
|
|
label Label_F55A ReadControllerShift_Block_2
|
|
label Label_FA48 UpdateSoundEngine
|
|
label Label_FA64 UpdateSoundEngine_Block
|
|
label Label_FA6B UpdateSoundEngine_Block_1
|
|
label Label_FA7F UpdateSoundEngine_Block_2
|
|
label Label_FA82 UpdateSoundEngine_Block_3
|
|
label Label_FA86 FindHighestSetBit
|
|
label Label_FA88 FindHighestSetBit_Block
|
|
label Label_FA8E FindHighestSetBit_Block_1
|
|
label Label_FA8F SubCFA8F
|
|
label Label_FA93 WritePulse1ControlDefault
|
|
label Label_FA95 WritePulse1Control
|
|
label Label_FA9F WriteNoteFrequency
|
|
label Label_FAA1 WriteTriangleNote_Block
|
|
label Label_FAB2 WriteTriangleNote_Block_1
|
|
label Label_FAB3 WritePulse2Note
|
|
label Label_FABA WriteTriangleNote
|
|
label Label_FAC4 DecodeNotePeriod
|
|
label Label_FACA LookupNotePeriod
|
|
label Label_FAD5 SubCFAD5
|
|
label Label_FAD7 SubCFAD7
|
|
label Label_FAE0 SilencePulse1
|
|
label Label_FB75 ProcessSoundCommands_Block
|
|
label Label_FB7E ProcessSoundCommands_Block_1
|
|
label Label_FB89 ProcessSoundCommands_Block_2
|
|
label Label_FBA0 ProcessSoundCommands_Block_3
|
|
label Label_FBA7 ProcessSoundCommands_Block_4
|
|
label Label_FBAF ProcessSoundCommands_Block_5
|
|
label Label_FBB2 ProcessSoundCommands_Block_6
|
|
label Label_FBB7 ProcessSoundCommands_Block_7
|
|
label Label_FBC2 ProcessSoundCommands_Block_8
|
|
label Label_FBD4 ProcessSoundCommands_Block_9
|
|
label Label_FBD9 ProcessSoundCommands_Block_10
|
|
label Label_FBF2 ProcessSoundCommands
|
|
label Label_FC16 ProcessSoundCommands_Block_11
|
|
label Label_FC19 ProcessSoundCommands_Block_12
|
|
label Label_FC28 ProcessSoundCommands_Block_13
|
|
label Label_FC30 ProcessSoundCommands_Block_14
|
|
label Label_FC41 ProcessSoundCommands_Block_15
|
|
label Label_FC44 ProcessSoundCommands_Block_16
|
|
label Label_FC4B ProcessSoundCommands_Block_17
|
|
label Label_FC51 ProcessSoundCommands_Block_18
|
|
label Label_FC62 ProcessSoundCommands_Block_19
|
|
label Label_FC73 SubCFC90_Block
|
|
label Label_FC7F SubCFC90_Block_1
|
|
label Label_FC90 SubCFC90
|
|
label Label_FC9D SubCFC90_Block_2
|
|
label Label_FCBA SubCFC90_Block_3
|
|
label Label_FCBE SubCFC90_Block_4
|
|
label Label_FCC6 SubCFC90_Block_5
|
|
label Label_FCD1 SubCFC90_Block_6
|
|
label Label_FCDB SubCFC90_Block_7
|
|
label Label_FCDD SubCFC90_Block_8
|
|
label Label_FCF0 SubCFC90_Block_9
|
|
label Label_FD00 SubCFC90_Block_10
|
|
label Label_FD0B SubCFC90_Block_11
|
|
label Label_FD18 SubCFC90_Block_12
|
|
label Label_FD1D SubCFC90_Block_13
|
|
label Label_FD35 SubCFC90_Block_14
|
|
label Label_FD3A SubCFC90_Block_15
|
|
label Label_FD58 SubCFC90_Block_16
|
|
label Label_FD62 SubCFC90_Block_17
|
|
label Label_FD67 InitSoundEffect
|
|
label Label_FD9B InitSoundEffect_Block
|
|
label Label_FDA4 InitSoundEffect_Block_1
|
|
label Label_FDB8 InitSoundEffect_Block_2
|
|
label Label_FDC1 InitSoundEffect_Block_3
|
|
label Label_FDCF InitSoundEffect_Block_4
|
|
label Label_FDD8 InitSoundEffect_Block_5
|
|
label Label_FDE9 InitSoundEffect_Block_6
|
|
label Label_FE00 SilenceTriangleAndNoise
|
|
label Label_FE03 SilenceTriangleAndNoise_Block
|
|
label Label_FE09 InitSoundEffect_Block_7
|
|
label Label_FE1D InitSoundEffect_Block_8
|
|
label Label_FE2E InitSoundEffect_Block_9
|
|
label Label_FE31 InitSoundEffect_Block_10
|
|
label Label_FE4F InitSoundEffect_Block_11
|
|
label Label_FE55 InitSoundEffect_Block_12
|
|
label Label_FE58 InitSoundEffect_Block_13
|
|
zp Zp00 TempPtrLo
|
|
zp Zp01 TempPtrHi
|
|
zp Zp02 TempReg
|
|
zp Zp03 TempReg2
|
|
zp Zp04 TempReg3
|
|
zp Zp05 TempReg3
|
|
zp Zp06 TempReg4
|
|
zp Zp07 TempReg5
|
|
zp Zp08 TempReg6
|
|
zp Zp09 TempReg7
|
|
zp Zp0A TempReg8
|
|
zp Zp0B TempReg9
|
|
zp Zp0C TempReg10
|
|
zp Zp0D TempReg11
|
|
zp Zp0E TempReg12
|
|
zp Zp0F TempReg13
|
|
zp Zp10 PPUCtrlShadow
|
|
zp Zp11 PPUMaskShadow
|
|
zp Zp12 PPUScrollX
|
|
zp Zp13 PPUScrollY
|
|
zp Zp10 PPUCtrlShadow
|
|
zp Zp11 PPUMaskShadow
|
|
zp Zp12 PPUScrollX
|
|
zp Zp13 PPUScrollY
|
|
zp Zp14 TempReg14
|
|
zp Zp15 TempReg15
|
|
zp Zp16 TempReg16
|
|
zp Zp17 TempReg17
|
|
zp Zp18 TempReg18
|
|
zp Zp19 TempReg19
|
|
zp Zp1A TempReg20
|
|
zp Zp1B TempReg21
|
|
zp Zp1C TempReg22
|
|
zp Zp1D TempReg23
|
|
zp Zp1E TempReg24
|
|
zp Zp1F TempReg25
|
|
zp Zp20 TempReg26
|
|
zp Zp21 TempReg27
|
|
zp Zp22 TempReg28
|
|
zp Zp23 TempReg29
|
|
zp Zp24 TempReg30
|
|
zp Zp25 TempReg31
|
|
zp Zp26 TempReg32
|
|
zp Zp27 TempReg33
|
|
zp Zp28 TempReg34
|
|
zp Zp29 TempReg35
|
|
zp Zp2A TempReg36
|
|
zp Zp2B TempReg37
|
|
zp Zp2C TempReg38
|
|
zp Zp2D TempReg39
|
|
zp Zp2E TempReg40
|
|
zp Zp2F TempReg41
|
|
zp Zp2F TempReg42
|
|
zp Zp30 TempReg43
|
|
zp Zp31 TempReg44
|
|
zp Zp32 TempReg45
|
|
zp Zp33 TempReg46
|
|
zp Zp34 TempReg47
|
|
zp Zp35 TempReg48
|
|
zp Zp36 TempReg49
|
|
zp Zp37 TempReg50
|
|
zp Zp38 TempReg51
|
|
zp Zp39 TempReg52
|
|
zp Zp3A TempReg53
|
|
zp Zp3B TempReg54
|
|
zp Zp3C TempReg55
|
|
zp Zp3D TempReg56
|
|
zp Zp3E TempReg57
|
|
zp Zp3F TempReg58
|
|
zp Zp40 TempReg59
|
|
zp Zp41 TempReg60
|
|
zp Zp42 TempReg61
|
|
zp Zp43 TempReg62
|
|
zp Zp44 TempReg63
|
|
zp Zp45 TempReg64
|
|
zp Zp46 TempReg65
|
|
zp Zp47 TempReg66
|
|
zp Zp48 TempReg67
|
|
zp Zp49 TempReg68
|
|
zp Zp4A TempReg69
|
|
zp Zp4B TempReg70
|
|
zp Zp4C TempReg71
|
|
zp Zp4D TempReg72
|
|
zp Zp4E TempReg73
|
|
zp Zp4F TempReg74
|
|
zp Zp50 TempReg75
|
|
zp Zp51 TempReg76
|
|
zp Zp52 TempReg77
|
|
zp Zp53 TempReg78
|
|
zp Zp54 TempReg79
|
|
zp Zp55 TempReg80
|
|
zp Zp56 TempReg81
|
|
zp Zp57 TempReg82
|
|
zp Zp58 TempReg83
|
|
zp Zp59 TempReg84
|
|
zp Zp5A TempReg85
|
|
zp Zp5B TempReg86
|
|
zp Zp5C TempReg87
|
|
zp Zp5D TempReg88
|
|
zp Zp5E TempReg89
|
|
zp Zp5F TempReg90
|
|
zp Zp5F TempReg91
|
|
zp Zp60 TempReg92
|
|
zp Zp61 TempReg93
|
|
zp Zp62 TempReg94
|
|
zp Zp63 TempReg95
|
|
zp Zp64 TempReg96
|
|
zp Zp65 TempReg96
|
|
zp Zp66 TempReg97
|
|
zp Zp67 TempReg98
|
|
zp Zp68 TempReg99
|
|
zp Zp69 TempReg100
|
|
zp Zp6A TempReg101
|
|
zp Zp6B TempReg102
|
|
zp Zp6C TempReg103
|
|
zp Zp6D TempReg104
|
|
zp Zp6E TempReg105
|
|
zp Zp6F TempReg106
|
|
zp Zp70 TempReg107
|
|
zp Zp71 TempReg108
|
|
zp Zp72 TempReg109
|
|
zp Zp73 TempReg110
|
|
zp Zp74 TempReg111
|
|
zp Zp75 TempReg111
|
|
zp Zp76 TempReg112
|
|
zp Zp77 TempReg113
|
|
zp Zp78 TempReg114
|
|
zp Zp79 TempReg115
|
|
zp Zp7A TempReg116
|
|
zp Zp7B TempReg117
|
|
zp Zp7C TempReg118
|
|
zp Zp7D TempReg119
|
|
zp Zp7E TempReg120
|
|
zp Zp7F TempReg121
|
|
zp Zp80 TempReg122
|
|
zp Zp81 TempReg123
|
|
zp Zp82 TempReg124
|
|
zp Zp83 TempReg125
|
|
zp Zp84 TempReg126
|
|
zp Zp85 TempReg127
|
|
zp Zp86 TempReg128
|
|
zp Zp87 TempReg129
|
|
zp Zp88 TempReg130
|
|
zp Zp89 TempReg131
|
|
zp Zp8A TempReg132
|
|
zp Zp8B TempReg133
|
|
zp Zp8C TempReg134
|
|
zp Zp8D TempReg135
|
|
zp Zp8E TempReg136
|
|
zp Zp8F TempReg137
|
|
zp Zp90 TempReg138
|
|
zp Zp91 TempReg139
|
|
zp Zp92 TempReg140
|
|
zp Zp93 TempReg141
|
|
zp Zp94 TempReg141
|
|
zp Zp95 TempReg142
|
|
zp Zp96 TempReg143
|
|
zp Zp97 TempReg144
|
|
zp Zp98 TempReg145
|
|
zp Zp99 TempReg146
|
|
zp Zp9A TempReg147
|
|
zp Zp9B TempReg148
|
|
zp Zp9C TempReg149
|
|
zp Zp9D TempReg150
|
|
zp Zp9E TempReg151
|
|
zp Zp9F TempReg152
|
|
zp ZpA0 TempReg153
|
|
zp ZpA1 TempReg154
|
|
zp ZpA2 TempReg155
|
|
zp ZpA3 TempReg156
|
|
zp ZpA4 TempReg157
|
|
zp ZpA5 TempReg158
|
|
zp ZpA6 TempReg159
|
|
zp ZpA7 TempReg160
|
|
zp ZpA8 TempReg161
|
|
zp ZpA9 TempReg162
|
|
zp ZpAA TempReg163
|
|
zp ZpAB TempReg164
|
|
zp ZpAC TempReg165
|
|
zp ZpAD TempReg166
|
|
zp ZpAE TempReg167
|
|
zp ZpAF TempReg168
|
|
zp ZpB0 TempReg169
|
|
zp ZpB1 TempReg170
|
|
zp ZpB2 TempReg171
|
|
zp ZpB3 TempReg172
|
|
zp ZpB4 TempReg173
|
|
zp ZpB5 TempReg174
|
|
zp ZpB6 TempReg175
|
|
zp ZpB7 TempReg176
|
|
zp ZpB8 TempReg177
|
|
zp ZpB9 TempReg177
|
|
zp ZpBA TempReg178
|
|
zp ZpBB TempReg179
|
|
zp ZpBC TempReg180
|
|
zp ZpBD TempReg181
|
|
zp ZpBE TempReg182
|
|
zp ZpBF TempReg183
|
|
zp ZpC0 TempReg184
|
|
zp ZpC1 TempReg185
|
|
zp ZpC2 TempReg186
|
|
zp ZpC3 TempReg187
|
|
zp ZpC4 TempReg188
|
|
zp ZpC5 TempReg189
|
|
zp ZpC6 TempReg190
|
|
zp ZpC7 TempReg191
|
|
zp ZpC8 TempReg192
|
|
zp ZpC9 TempReg193
|
|
zp ZpCA TempReg194
|
|
zp ZpCB TempReg195
|
|
zp ZpCC TempReg196
|
|
zp ZpCD TempReg197
|
|
zp ZpCE TempReg198
|
|
zp ZpCF TempReg199
|
|
zp ZpD0 TempReg185
|
|
zp ZpD1 TempReg186
|
|
zp ZpD2 TempReg187
|
|
zp ZpD3 TempReg188
|
|
zp ZpD4 TempReg189
|
|
zp ZpD5 TempReg190
|
|
zp ZpD6 TempReg191
|
|
zp ZpD7 TempReg192
|
|
zp ZpD8 TempReg193
|
|
zp ZpD9 TempReg194
|
|
zp ZpDA TempReg195
|
|
zp ZpDB TempReg196
|
|
zp ZpDC TempReg197
|
|
zp ZpDD TempReg198
|
|
zp ZpDE TempReg199
|
|
zp ZpDF TempReg200
|
|
zp ZpE0 TempReg201
|
|
zp ZpE1 TempReg202
|
|
zp ZpE2 TempReg203
|
|
zp ZpE3 TempReg204
|
|
zp ZpE4 TempReg205
|
|
zp ZpE5 TempReg206
|
|
zp ZpE6 TempReg207
|
|
zp ZpE7 TempReg208
|
|
zp ZpE8 TempReg209
|
|
zp ZpE9 TempReg210
|
|
zp ZpEA TempReg211
|
|
zp ZpEB TempReg212
|
|
zp ZpEC TempReg213
|
|
zp ZpED TempReg214
|
|
zp ZpEE TempReg215
|
|
zp ZpEF TempReg216
|
|
zp ZpF0 TempReg217
|
|
zp ZpF1 TempReg218
|
|
zp ZpF2 TempReg219
|
|
zp ZpF3 TempReg220
|
|
zp ZpF4 TempReg221
|
|
zp ZpF5 TempReg222
|
|
zp ZpF6 TempReg223
|
|
zp ZpF7 TempReg224
|
|
zp ZpF8 TempReg225
|
|
zp ZpF9 TempReg226
|
|
zp ZpFA TempReg227
|
|
zp ZpFB TempReg228
|
|
zp ZpFC TempReg229
|
|
zp ZpFD TempReg230
|
|
zp ZpFE TempReg231
|
|
zp ZpFF TempReg232
|
|
zp Zp00 Zp00
|
|
zp Zp01 Zp01
|
|
zp Zp02 Zp02
|
|
zp Zp03 Zp03
|
|
zp Zp04 Zp04
|
|
zp Zp05 Zp05
|
|
zp Zp06 Zp06
|
|
zp Zp07 Zp07
|
|
zp Zp08 Zp08
|
|
zp Zp09 Zp09
|
|
zp Zp0A Zp0A
|
|
zp Zp0B Zp0B
|
|
zp Zp0C Zp0C
|
|
zp Zp0F Zp0F
|
|
zp Zp10 Zp10
|
|
zp Zp11 Zp11
|
|
zp Zp12 Zp12
|
|
zp Zp13 Zp13
|
|
zp Zp14 Zp14
|
|
zp Zp15 Zp15
|
|
zp Zp18 Zp18
|
|
zp Zp19 Zp19
|
|
zp Zp1A Zp1A
|
|
zp Zp1B Zp1B
|
|
zp Zp1C Zp1C
|
|
zp Zp1D Zp1D
|
|
zp Zp1E Zp1E
|
|
zp Zp1F Zp1F
|
|
zp Zp20 Zp20
|
|
zp Zp21 Zp21
|
|
zp Zp22 Zp22
|
|
zp Zp23 Zp23
|
|
zp Zp24 Zp24
|
|
zp Zp25 Zp25
|
|
zp Zp26 Zp26
|
|
zp Zp27 Zp27
|
|
zp Zp2C Zp2C
|
|
zp Zp2E Zp2E
|
|
zp Zp34 Zp34
|
|
zp Zp35 Zp35
|
|
zp Zp36 Zp36
|
|
zp Zp37 Zp37
|
|
zp Zp38 Zp38
|
|
zp Zp39 Zp39
|
|
zp Zp3A Zp3A
|
|
zp Zp3B Zp3B
|
|
zp Zp3F Zp3F
|
|
zp Zp40 Zp40
|
|
zp Zp41 Zp41
|
|
zp Zp43 Zp43
|
|
zp Zp44 Zp44
|
|
zp Zp45 Zp45
|
|
zp Zp46 Zp46
|
|
zp Zp47 Zp47
|
|
zp Zp48 Zp48
|
|
zp Zp49 Zp49
|
|
zp Zp4A Zp4A
|
|
zp Zp4B Zp4B
|
|
zp Zp4C Zp4C
|
|
zp Zp4D Zp4D
|
|
zp Zp4E Zp4E
|
|
zp Zp4F Zp4F
|
|
zp Zp50 Zp50
|
|
zp Zp51 Zp51
|
|
zp Zp52 Zp52
|
|
zp Zp53 Zp53
|
|
zp Zp54 Zp54
|
|
zp Zp55 Zp55
|
|
zp Zp56 Zp56
|
|
zp Zp57 Zp57
|
|
zp Zp58 Zp58
|
|
zp Zp59 Zp59
|
|
zp Zp5A Zp5A
|
|
zp Zp5B Zp5B
|
|
zp Zp5C Zp5C
|
|
zp Zp5D Zp5D
|
|
zp Zp5E Zp5E
|
|
zp Zp68 Zp68
|
|
zp Zp72 Zp72
|
|
zp Zp7D Zp7D
|
|
zp Zp7E Zp7E
|
|
zp Zp85 Zp85
|
|
zp Zp86 Zp86
|
|
zp Zp88 Zp88
|
|
zp Zp8A Zp8A
|
|
zp Zp94 Zp94
|
|
zp Zp95 Zp95
|
|
zp Zp96 Zp96
|
|
zp Zp97 Zp97
|
|
zp Zp98 Zp98
|
|
zp Zp99 Zp99
|
|
zp Zp9A Zp9A
|
|
zp Zp9B Zp9B
|
|
zp Zp9C Zp9C
|
|
zp Zp9D Zp9D
|
|
zp Zp9E Zp9E
|
|
zp Zp9F Zp9F
|
|
zp ZpA0 ZpA0
|
|
zp ZpA1 ZpA1
|
|
zp ZpA2 ZpA2
|
|
zp ZpA3 ZpA3
|
|
zp ZpAD ZpAD
|
|
zp ZpAE ZpAE
|
|
zp ZpAF ZpAF
|
|
zp ZpB3 ZpB3
|
|
zp ZpB7 ZpB7
|
|
zp ZpB8 ZpB8
|
|
zp ZpB9 ZpB9
|
|
zp ZpBE ZpBE
|
|
zp ZpBF ZpBF
|
|
zp ZpC0 ZpC0
|
|
zp ZpC1 ZpC1
|
|
zp ZpC2 ZpC2
|
|
zp ZpCC ZpCC
|
|
zp ZpCD ZpCD
|
|
zp ZpCE ZpCE
|
|
zp ZpCF ZpCF
|
|
zp ZpD0 ZpD0
|
|
zp ZpD2 ZpD2
|
|
zp ZpD3 ZpD3
|
|
zp ZpD4 ZpD4
|
|
zp ZpD5 ZpD5
|
|
zp ZpD8 ZpD8
|
|
zp ZpD9 ZpD9
|
|
zp ZpDA ZpDA
|
|
zp ZpDB ZpDB
|
|
zp ZpE0 ZpE0
|
|
zp ZpE4 ZpE4
|
|
zp ZpE8 ZpE8
|
|
zp ZpEC ZpEC
|
|
zp ZpF0 ZpF0
|
|
zp ZpF1 ZpF1
|
|
zp ZpF2 ZpF2
|
|
zp ZpF3 ZpF3
|
|
zp ZpF5 ZpF5
|
|
zp ZpF6 ZpF6
|
|
zp ZpF7 ZpF7
|
|
zp ZpF8 ZpF8
|
|
zp ZpF9 ZpF9
|
|
zp ZpFA ZpFA
|
|
zp ZpFB ZpFB
|
|
zp ZpFC ZpFC
|
|
zp ZpFD ZpFD
|
|
zp ZpFE ZpFE
|
|
zp ZpFF ZpFF
|