Adds overview for WIP projects

Promote Ice Climber (JE) and Ice Climber (U) to top-level

- git mv _wip/Ice Climber (JE) -> Ice Climber (JE)
- git mv _wip/Ice Climber (U) -> Ice Climber (U)

- Added header.s / chr.s (one-line .incbin each)
- Added HEADER/PRG/CHR linker.cfg with proper memory layout
- Added copilot/rom.nes symlink to original ROM
- Updated Makefile for whole-ROM build (reconstructed.nes vs rom.nes)
- Updated _tools paths from ../../../_tools/ to ../../_tools/

Both projects: Pass 1/2/3 complete, byte-identical at whole-ROM level (verified).

Root OVERVIEW.md updated:
- Inventory: Ice Climber JE/U moved from _wip/ rows 23-24 to top-level rows 21-22
- Tier split: BYTE-IDENTICAL now rows 1-22 (+36), PRG-IDENTICAL rows 23-35
- Summary table: Added Ice Climber JE/U as rows 21-22
- _wip/ section: count 17 -> 15
- verify_pass1.py scope: 19 -> 22 top-level projects

All 22 top-level projects verified byte-identical.

Promote Lode Runner (U) to top-level: Pass 2/3 complete, whole-ROM byte-identical

- git mv _wip/Lode Runner (U) -> Lode Runner (U)

- Added header.s / chr.s (one-line .incbin each)
- Added HEADER/PRG/CHR linker.cfg with proper memory layout
- Added copilot/rom.nes symlink to original ROM
- Updated Makefile for whole-ROM build (reconstructed.nes vs rom.nes)

Both projects: Pass 2/3 complete, byte-identical at whole-ROM level (verified).

Root OVERVIEW.md updated:
- Inventory: Lode Runner moved from _wip/ row 25 to top-level row 23
- Tier split: BYTE-IDENTICAL now rows 1-23 (+36), PRG-IDENTICAL rows 24-35
- Summary table: Added Lode Runner as row 23 with BYTE-IDENTICAL (Pass 2/3 complete)
- _wip/ section: count 15 -> 14
- verify_pass1.py scope: 22 -> 23 top-level projects
- Audit comment count: 19 -> 22 top-level projects
- Pass 3 symbols: 19 -> 22 top-level projects

All 23 top-level projects verified byte-identical.

TODO.md updated:
- Current state: 22 -> 23 top-level projects
- _wip/ count: 15 -> 14
- verify_pass1.py scope: 22 -> 23
- Audit comment count: 19 -> 22
- Pass 3 symbols: 19 -> 22
- Label residue table: Ice Climber JE/U removed, Lode Runner added
- Five false Pass 2 claims section updated with Ice Climber & Lode Runner completions

Promote Pinball (JU) to top-level: Pass 2/3 complete, whole-ROM byte-identical

- git mv _wip/Pinball (JU) -> Pinball (JU)

- Added header.s / chr.s (one-line .incbin each)
- Added HEADER/PRG/CHR linker.cfg with proper memory layout
- Added copilot/rom.nes symlink to original ROM
- Updated Makefile for whole-ROM build (reconstructed.nes vs rom.nes)

Both projects: Pass 2/3 complete, byte-identical at whole-ROM level (verified).

Root OVERVIEW.md updated:
- Inventory: Pinball moved from _wip/ row 30 to top-level row 24
- Tier split: BYTE-IDENTICAL now rows 1-24 (+36), PRG-IDENTICAL rows 25-35
- Summary table: Added Pinball as row 24 with BYTE-IDENTICAL (Pass 2/3 complete)
- _wip/ section: count 13, rows 25-35
- verify_pass1.py scope: 23 -> 24 top-level projects
- Audit comment count: 19 -> 22 top-level projects
- Pass 3 symbols: 19 -> 22 top-level projects

All 24 top-level projects verified byte-identical.

TODO.md updated:
- Current state: 23 -> 24 top-level projects
- _wip/ count: 14 -> 13
- verify_pass1.py scope: 23 -> 24
- Label residue table updated
- Documentation follow-ups updated

Promote Millipede (U) and Popeye (JU) (PRG 0) to top-level

Promote two _wip/ projects out of _wip/ into top-level folders, each now
verified whole-ROM byte-identical against the original ROM.

- Millipede (U): moves all copilot files up, adds header.s, chr.s,
  linker.cfg with PRG+HEADER+CHR areas, rom.nes copy, and switches the
  Makefile from PRG-only cmp to whole-ROM cmp. Makefile _tools depth
  adjusted (../../../../_tools/ -> ../../_tools/).
- Popeye (JU) (PRG 0): same promotion treatment.
- AGENTS.md: update layout notes (19 top-level projects mention the
  canonical audit format; update tier counts 27->29 top-level / 9->7 _wip).
- OVERVIEW.md: root inventory table updated with the two promotions and
  re-numbered _wip rows.
- TODO.md: handoff updates.
- Remaining _wip projects: assorted pass 2/3 edits (prg.s, locals.inc,
  reconstructed.lbl, reconstructed_prg.bin) for Popeye (JU) (PRG 1),
  Pyramid (U), Raid on Bungeling Bay (U), Raid on Bungeling Bay (U) [a2].
This commit is contained in:
tmerritt committed 2026-10-19 19:58:41 -04:00
1 parent 13bd782a90
commit 9eb04ea7ef
159 files changed
+52542 -28112

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
CA65 ?= ca65
LD65 ?= ld65
all: reconstructed.nes verify
prg.o: prg.s symbols.inc locals.inc
$(CA65) -g -o $@ $<
header.o: header.s
$(CA65) -g -o $@ $<
chr.o: chr.s
$(CA65) -g -o $@ $<
reconstructed.nes: header.o prg.o chr.o linker.cfg
$(LD65) -C linker.cfg -m reconstructed.map -Ln reconstructed.lbl -o $@ header.o prg.o chr.o
verify: reconstructed.nes
cmp reconstructed.nes rom.nes
@echo "Byte-identical ROM verified."
clean:
rm -f *.o reconstructed.nes reconstructed.map reconstructed.lbl
.PHONY: all verify clean
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
.segment "CHR"
.incbin "chr.bin"
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
.segment "HEADER"
.incbin "header.bin"
+10
View File
@@ -0,0 +1,10 @@
MEMORY {
HEADER: start = $0000, size = $0010, fill = yes;
PRG: start = $C000, size = $4000, fill = yes;
CHR: start = $0000, size = $2000, fill = yes;
}
SEGMENTS {
HEADER: load = HEADER, type = ro;
PRG: load = PRG, type = ro;
CHR: load = CHR, type = ro;
}
+209
View File
@@ -0,0 +1,209 @@
; Popeye (JU) (PRG 0) application-specific RAM aliases - Pass 1
; Generated from every direct zero-page operand in reachable code:
; ref counts are reads/writes, `where` lists the referencing addresses.
; ZpXX names indicate storage with a role not yet unique enough for a behavioral name;
; Pass 2 replaces them with names derived from observed usage.
Zp00 = $00 ; 122 refs; reads=44 writes=78; used at $C660, C663, C773, C882, +114 more
Zp01 = $01 ; 99 refs; reads=22 writes=77; used at $C65C, C668, C777, C88E, +89 more
Zp02 = $02 ; 101 refs; reads=27 writes=74; used at $C893, CD47, CE39, CEF9, +96 more
Zp03 = $03 ; 49 refs; reads=9 writes=40; used at $CE3D, CF1A, D076, D0D2, +45 more
Zp04 = $04 ; 37 refs; reads=7 writes=30; used at $CE41, D0D6, D0EB, D81B, +32 more
Zp05 = $05 ; 23 refs; reads=8 writes=15; used at $CE78, CF50, D004, D3C6, +18 more
Zp06 = $06 ; 23 refs; reads=12 writes=11; used at $CE83, D3CE, D400, D48B, +18 more
Zp07 = $07 ; 8 refs; reads=4 writes=4; used at $E73F, E8F8, E906, EA20, +3 more
Zp08 = $08 ; 9 refs; reads=6 writes=3; used at $E2E5, E2F5, E315, E333, +5 more
Zp09 = $09 ; 4 refs; reads=1 writes=3; used at $E2EC, EA03, EA05, EA0C
Zp0A = $0A ; 23 refs; reads=8 writes=15; used at $D58B, D5FD, D771, D7B0, +18 more
Zp0B = $0B ; 40 refs; reads=22 writes=18; used at $D603, D62A, D8E5, D8F9, +33 more
Zp0C = $0C ; 8 refs; reads=4 writes=4; used at $D573, D591, D5EB, D607, +4 more
Zp0D = $0D ; 4 refs; reads=2 writes=2; used at $E337, E3D8, E3FA, E404
Zp0E = $0E ; 3 refs; reads=1 writes=2; used at $E2B0, E313, E389
Zp0F = $0F ; 18 refs; reads=10 writes=8; used at $CE6C, CE97, CEA3, E0A4, +13 more
Zp10 = $10 ; 11 refs; reads=5 writes=6; used at $C677, C67E, C6DC, C701, +7 more
Zp11 = $11 ; 7 refs; reads=3 writes=4; used at $C70A, C8B1, C8BB, CCC3, +3 more
Zp12 = $12 ; 3 refs; reads=1 writes=2; used at $C6E3, DDC3, EF0E
Zp13 = $13 ; 3 refs; reads=1 writes=2; used at $C6E8, DDCA, EF13
Zp14 = $14 ; 2 refs; reads=1 writes=1; used at $EEB4, EEB8
Zp15 = $15 ; 8 refs; reads=6 writes=2; used at $C7D0, CB90, CC85, CCA5, +4 more
Zp16 = $16 ; 1 refs; reads=0 writes=1; used at $FFF0
Zp18 = $18 ; 11 refs; reads=8 writes=3; used at $C8F3, CBA7, D1CD, D228, +6 more
Zp19 = $19 ; 4 refs; reads=2 writes=2; used at $C8EF, EE7A, EE86
Zp1A = $1A ; 3 refs; reads=1 writes=2; used at $C7A6, CB4E, CB5A
Zp1B = $1B ; 5 refs; reads=2 writes=3; used at $CB56, CB69, CB6D, CB77
Zp1C = $1C ; 4 refs; reads=2 writes=2; used at $CB54, CB72, CB79
Zp1D = $1D ; 17 refs; reads=14 writes=3; used at $C7A8, C7C9, C803, C84B, +13 more
Zp1E = $1E ; 6 refs; reads=3 writes=3; used at $C7B7, C805, CB5C, CB5E, +1 more
Zp1F = $1F ; 4 refs; reads=1 writes=3; used at $C7D2, CCAD, CCB3, CCE1
Zp20 = $20 ; 1 refs; reads=0 writes=1; used at $F061
Zp21 = $21 ; 3 refs; reads=1 writes=2; used at $C86D, CDB2, F065
Zp22 = $22 ; 3 refs; reads=1 writes=2; used at $C872, CDB7, F069
Zp23 = $23 ; 3 refs; reads=1 writes=2; used at $C877, CDBC, F06D
Zp24 = $24 ; 8 refs; reads=6 writes=2; used at $C807, EF43, EF6A, EF9E, +4 more
Zp25 = $25 ; 10 refs; reads=6 writes=4; used at $C809, EF5E, EF67, EF85, +6 more
Zp26 = $26 ; 10 refs; reads=6 writes=4; used at $C80B, EF53, EF5C, EF7A, +6 more
Zp27 = $27 ; 10 refs; reads=6 writes=4; used at $C80D, EF48, EF51, EF6F, +6 more
Zp28 = $28 ; 1 refs; reads=0 writes=1; used at $C80F
Zp29 = $29 ; 1 refs; reads=0 writes=1; used at $C811
Zp2A = $2A ; 1 refs; reads=0 writes=1; used at $C813
Zp2B = $2B ; 1 refs; reads=0 writes=1; used at $C815
Zp2C = $2C ; 3 refs; reads=1 writes=2; used at $C79A, CBC6, CBD1
Zp2D = $2D ; 2 refs; reads=1 writes=1; used at $C79C, CC73
Zp2E = $2E ; 4 refs; reads=2 writes=2; used at $C79E, C9E1, CAB3, E7D7
Zp2F = $2F ; 1 refs; reads=0 writes=1; used at $C7A0
Zp30 = $30 ; 6 refs; reads=1 writes=5; used at $C732, C7A2, C82A, C9EF, +2 more
Zp31 = $31 ; 4 refs; reads=1 writes=3; used at $C73C, C7A4, CB01, CB28
Zp32 = $32 ; 4 refs; reads=1 writes=3; used at $C7AA, C9D6, CACF, CAF8
Zp33 = $33 ; 1 refs; reads=0 writes=1; used at $C7AC
Zp34 = $34 ; 3 refs; reads=1 writes=2; used at $EE60, EE66
Zp35 = $35 ; 6 refs; reads=3 writes=3; used at $D1C2, D1C8, DE3B, EE6A, +1 more
Zp36 = $36 ; 4 refs; reads=2 writes=2; used at $CD07, CD16, D21D, D223
Zp38 = $38 ; 2 refs; reads=1 writes=1; used at $D23A, D240
Zp39 = $39 ; 2 refs; reads=1 writes=1; used at $D280, D286
Zp3A = $3A ; 3 refs; reads=1 writes=2; used at $E069, E072, E7F9
Zp3B = $3B ; 4 refs; reads=1 writes=3; used at $D14B, D35E, DB15, E44E
Zp3C = $3C ; 2 refs; reads=1 writes=1; used at $D308, D30E
Zp3D = $3D ; 2 refs; reads=1 writes=1; used at $E48E, E4A5
Zp3E = $3E ; 5 refs; reads=3 writes=2; used at $CC33, CC39, D3D7, E1BA, +1 more
Zp3F = $3F ; 2 refs; reads=1 writes=1; used at $D521, E6ED
Zp40 = $40 ; 3 refs; reads=2 writes=1; used at $D494, E4BA, E4DE
Zp41 = $41 ; 4 refs; reads=2 writes=2; used at $D5B5, D5BB, E694, E69A
Zp42 = $42 ; 2 refs; reads=1 writes=1; used at $E6F2, E6FF
Zp43 = $43 ; 9 refs; reads=8 writes=1; used at $C72A, C730, D2EE, D7A8, +5 more
Zp44 = $44 ; 2 refs; reads=1 writes=1; used at $DAAB, DAC8
Zp45 = $45 ; 2 refs; reads=1 writes=1; used at $E200, E206
Zp46 = $46 ; 4 refs; reads=1 writes=3; used at $C7B0, C7C1, C7C3, C7E3
Zp47 = $47 ; 2 refs; reads=1 writes=1; used at $CE53, CE9B
Zp49 = $49 ; 6 refs; reads=1 writes=5; used at $C863, C8AB, C97A, CAF1, +2 more
Zp4A = $4A ; 5 refs; reads=3 writes=2; used at $CDEE, CDFD, CE09, CE21, +1 more
Zp4C = $4C ; 5 refs; reads=3 writes=2; used at $CEE4, D066, DF33, E60B, +1 more
Zp4D = $4D ; 3 refs; reads=2 writes=1; used at $E410, E41D, E440
Zp4F = $4F ; 2 refs; reads=0 writes=2; used at $CC50, CD5E
Zp56 = $56 ; 5 refs; reads=1 writes=4; used at $EA7E, EA87, EA99, EA9F, +1 more
Zp57 = $57 ; 1 refs; reads=1 writes=0; used at $EABB
Zp58 = $58 ; 1 refs; reads=1 writes=0; used at $EAB5
Zp59 = $59 ; 1 refs; reads=1 writes=0; used at $EACC
Zp5A = $5A ; 2 refs; reads=2 writes=0; used at $EAA6, EAB7
Zp5B = $5B ; 2 refs; reads=2 writes=0; used at $EABD, EACE
Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $EAAC
Zp5D = $5D ; 1 refs; reads=1 writes=0; used at $EAC3
Zp5E = $5E ; 10 refs; reads=8 writes=2; used at $CF5C, D00C, EA2F, EA4E, +5 more
Zp60 = $60 ; 4 refs; reads=1 writes=3; used at $C671, C746, C826, CDE7
Zp61 = $61 ; 11 refs; reads=9 writes=2; used at $C781, C7EA, C7EC, C7F4, +6 more
Zp62 = $62 ; 5 refs; reads=1 writes=4; used at $C7DE, C7E5, C7FE, C847, +1 more
Zp63 = $63 ; 8 refs; reads=1 writes=7; used at $C675, C74A, C828, C9F4, +4 more
Zp64 = $64 ; 51 refs; reads=50 writes=1; used at $C93E, C954, C981, C9B1, +47 more
Zp65 = $65 ; 12 refs; reads=11 writes=1; used at $C941, CA05, CA0F, CAE0, +8 more
Zp66 = $66 ; 9 refs; reads=7 writes=2; used at $C830, C83A, C8DE, C963, +5 more
Zp67 = $67 ; 26 refs; reads=23 writes=3; used at $C849, C8E5, C929, C9A9, +22 more
Zp68 = $68 ; 4 refs; reads=2 writes=2; used at $C857, CAFA, CBF4
Zp69 = $69 ; 1 refs; reads=0 writes=1; used at $C859
Zp6A = $6A ; 10 refs; reads=6 writes=4; used at $C817, C8E7, C9AB, CB05, +5 more
Zp6C = $6C ; 10 refs; reads=7 writes=3; used at $C81F, CB14, CBD3, CBDB, +4 more
Zp6D = $6D ; 1 refs; reads=0 writes=1; used at $C83E
Zp6E = $6E ; 16 refs; reads=9 writes=7; used at $C819, C8E9, CADC, CAE4, +9 more
Zp6F = $6F ; 8 refs; reads=5 writes=3; used at $C8ED, D0BC, DADC, DAEA, +4 more
Zp70 = $70 ; 3 refs; reads=1 writes=2; used at $C90C, E69C, E6AD
Zp71 = $71 ; 5 refs; reads=3 writes=2; used at $C76A, C793, C81D, C8A2, +1 more
Zp72 = $72 ; 10 refs; reads=5 writes=5; used at $D141, D358, D4A4, D4A6, +6 more
Zp73 = $73 ; 5 refs; reads=2 writes=3; used at $CB9A, D143, D35A, D695, +1 more
Zp74 = $74 ; 5 refs; reads=1 writes=4; used at $C82C, C8BD, C94C, C97E, +1 more
Zp75 = $75 ; 10 refs; reads=6 writes=4; used at $C9A7, C9AF, C9BD, C9C4, +5 more
Zp76 = $76 ; 8 refs; reads=4 writes=4; used at $CC1E, CDEA, CDF2, CE11, +4 more
Zp77 = $77 ; 3 refs; reads=1 writes=2; used at $CE14, DB4A, DFD3
Zp78 = $78 ; 9 refs; reads=4 writes=5; used at $C948, D109, D331, D339, +2 more
Zp79 = $79 ; 2 refs; reads=1 writes=1; used at $CC29, E452
Zp7A = $7A ; 11 refs; reads=10 writes=1; used at $CB92, CD92, CD9A, D751, +7 more
Zp7B = $7B ; 13 refs; reads=12 writes=1; used at $C939, D102, D1C0, D21B, +9 more
Zp7C = $7C ; 19 refs; reads=14 writes=5; used at $C918, CF64, CF83, CFB4, +15 more
Zp7D = $7D ; 45 refs; reads=30 writes=15; used at $C908, CD8C, CDA1, CDA5, +41 more
Zp7E = $7E ; 7 refs; reads=4 writes=3; used at $D765, D773, D7F4, D7FC, +2 more
Zp7F = $7F ; 18 refs; reads=11 writes=7; used at $D839, D863, D883, D88A, +11 more
Zp80 = $80 ; 4 refs; reads=2 writes=2; used at $D821, D836, E79D
Zp81 = $81 ; 9 refs; reads=7 writes=2; used at $D857, D896, D8C4, D93E, +5 more
Zp82 = $82 ; 23 refs; reads=16 writes=7; used at $CA25, D176, D292, D2B5, +19 more
Zp83 = $83 ; 32 refs; reads=20 writes=12; used at $CA29, D477, D486, D49B, +21 more
Zp84 = $84 ; 9 refs; reads=5 writes=4; used at $D781, D788, D79B, D7A2, +5 more
Zp85 = $85 ; 2 refs; reads=1 writes=1; used at $DAAF, DACA
Zp86 = $86 ; 3 refs; reads=1 writes=2; used at $D236, D26F, D27B
Zp87 = $87 ; 1 refs; reads=0 writes=1; used at $C910
Zp88 = $88 ; 3 refs; reads=1 writes=2; used at $D8C2, D940, D9E5
Zp8A = $8A ; 1 refs; reads=0 writes=1; used at $C912
Zp8B = $8B ; 2 refs; reads=1 writes=1; used at $CC22, DB3C
Zp8D = $8D ; 3 refs; reads=1 writes=2; used at $D799, D79E, E7AA
Zp8E = $8E ; 5 refs; reads=2 writes=3; used at $D6F1, D702, D710, D729, +1 more
Zp8F = $8F ; 6 refs; reads=4 writes=2; used at $D963, D965, D99A, D9A3, +1 more
Zp90 = $90 ; 4 refs; reads=2 writes=2; used at $D875, D877, EC87
Zp91 = $91 ; 4 refs; reads=3 writes=1; used at $DA2A, DA58, DA9A, ECC0
Zp92 = $92 ; 15 refs; reads=12 writes=3; used at $CEEA, D014, D01F, D03F, +11 more
Zp93 = $93 ; 33 refs; reads=22 writes=11; used at $C9FE, CABE, CFF9, D12A, +29 more
Zp94 = $94 ; 20 refs; reads=8 writes=12; used at $CE2A, CFF4, D03A, D045, +16 more
Zp97 = $97 ; 53 refs; reads=36 writes=17; used at $CA32, CF22, D02C, D17A, +43 more
Zp98 = $98 ; 33 refs; reads=21 writes=12; used at $CA2E, D032, D2C4, DBB0, +23 more
Zp99 = $99 ; 3 refs; reads=1 writes=2; used at $DC23, DC28, E7CF
Zp9A = $9A ; 5 refs; reads=3 writes=2; used at $DC10, DC17, DC25, DC2C, +1 more
Zp9C = $9C ; 27 refs; reads=17 writes=10; used at $DC61, DC6D, DC7A, DCB6, +17 more
Zp9D = $9D ; 8 refs; reads=5 writes=3; used at $DBF9, DC00, DC0A, DC4A, +3 more
Zp9E = $9E ; 11 refs; reads=6 writes=5; used at $DDEE, DE22, DE24, DE26, +3 more
Zp9F = $9F ; 3 refs; reads=1 writes=2; used at $DCBF, DCC5, DCEC
ZpA0 = $A0 ; 5 refs; reads=2 writes=3; used at $DED3, DEDA, DEF6, DF0F
ZpA3 = $A3 ; 3 refs; reads=1 writes=2; used at $DC5D, DC69, E7C9
ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $DFBB
ZpA5 = $A5 ; 3 refs; reads=2 writes=1; used at $DFF8, E02D
ZpA6 = $A6 ; 3 refs; reads=1 writes=2; used at $DBC5, DBD6, E7CB
ZpA7 = $A7 ; 5 refs; reads=2 writes=3; used at $DCEF, EBEB, EC33, EC38, +1 more
ZpA8 = $A8 ; 7 refs; reads=4 writes=3; used at $C91C, DD6B, DD6D, DD77, +2 more
ZpA9 = $A9 ; 10 refs; reads=7 writes=3; used at $C90A, E0A6, E0FD, E12B, +6 more
ZpAA = $AA ; 14 refs; reads=8 writes=6; used at $CA0A, E056, E0B4, E17B, +6 more
ZpAB = $AB ; 7 refs; reads=4 writes=3; used at $E076, E07D, E146, E14D, +2 more
ZpAC = $AC ; 3 refs; reads=1 writes=2; used at $E065, E07A, E7F3
ZpAD = $AD ; 5 refs; reads=2 writes=3; used at $C914, E153, E164, E171, +1 more
ZpAE = $AE ; 4 refs; reads=2 writes=2; used at $E14F, E158, E15D, E7FD
ZpAF = $AF ; 17 refs; reads=10 writes=7; used at $CA4B, CA7E, D04E, D4B2, +11 more
ZpB0 = $B0 ; 14 refs; reads=7 writes=7; used at $CA4F, CA86, D052, DF73, +8 more
ZpB1 = $B1 ; 4 refs; reads=2 writes=2; used at $D465, D47F, E4B6, E4D1
ZpB2 = $B2 ; 4 refs; reads=2 writes=2; used at $CA44, E4CA, E4CC, E872
ZpB3 = $B3 ; 5 refs; reads=2 writes=3; used at $D496, E4DA, E66D, E675, +1 more
ZpB4 = $B4 ; 4 refs; reads=2 writes=2; used at $CF5A, D4C3, DA01, E5F7
ZpB5 = $B5 ; 2 refs; reads=1 writes=1; used at $E45A, E48C
ZpB6 = $B6 ; 5 refs; reads=1 writes=4; used at $D0CC, D447, DAC1, E060, +1 more
ZpB7 = $B7 ; 5 refs; reads=3 writes=2; used at $D42D, E046, E105
ZpB8 = $B8 ; 3 refs; reads=2 writes=1; used at $E0FB, E2DD, E2E8
ZpC0 = $C0 ; 7 refs; reads=4 writes=3; used at $E0FF, E101, E350, E397, +3 more
ZpC8 = $C8 ; 2 refs; reads=1 writes=1; used at $E327, E32C
ZpD0 = $D0 ; 11 refs; reads=5 writes=6; used at $E2D1, E395, E3B0, E3B4, +4 more
ZpD8 = $D8 ; 7 refs; reads=4 writes=3; used at $E2CF, E368, E38D, E393, +2 more
ZpE0 = $E0 ; 18 refs; reads=16 writes=2; used at $CBA1, D0C4, D11C, D15C, +14 more
ZpE1 = $E1 ; 10 refs; reads=8 writes=2; used at $CD98, D0A7, D379, D469, +6 more
ZpE2 = $E2 ; 6 refs; reads=3 writes=3; used at $D0C8, DE17, DE1B, DE1E, +2 more
ZpE7 = $E7 ; 16 refs; reads=9 writes=7; used at $C946, CAAB, D107, D2DC, +10 more
ZpE8 = $E8 ; 13 refs; reads=5 writes=8; used at $CA82, CAA7, D0F2, D4CA, +9 more
ZpE9 = $E9 ; 3 refs; reads=1 writes=2; used at $D0F4, E74B, E750
ZpEA = $EA ; 4 refs; reads=2 writes=2; used at $D0F6, E709, E70E
ZpEB = $EB ; 1 refs; reads=0 writes=1; used at $D0F8
ZpEC = $EC ; 6 refs; reads=2 writes=4; used at $D0FA, E568, E592, E5AF, +1 more
ZpED = $ED ; 1 refs; reads=0 writes=1; used at $D0FC
ZpEE = $EE ; 1 refs; reads=0 writes=1; used at $D0FE
ZpEF = $EF ; 1 refs; reads=0 writes=1; used at $D100
ZpF0 = $F0 ; 11 refs; reads=2 writes=9; used at $F99B, F9B1, F9D1, F9DF, +7 more
ZpF1 = $F1 ; 27 refs; reads=10 writes=17; used at $F868, F876, F878, F8CC, +17 more
ZpF2 = $F2 ; 1 refs; reads=0 writes=1; used at $F8D0
ZpF3 = $F3 ; 8 refs; reads=3 writes=5; used at $FAB4, FAC2, FAC8, FB2D, +2 more
ZpF4 = $F4 ; 10 refs; reads=5 writes=5; used at $FAB7, FADB, FADD, FB1A, +5 more
ZpF5 = $F5 ; 11 refs; reads=6 writes=5; used at $FB7D, FB8E, FB90, FBA2, +4 more
ZpF6 = $F6 ; 4 refs; reads=1 writes=3; used at $FB63, FB6B, FB73, FC39
ZpF7 = $F7 ; 8 refs; reads=6 writes=2; used at $FB81, FB92, FBA6, FBE8, +4 more
ZpF8 = $F8 ; 2 refs; reads=0 writes=2; used at $FB85, FBED
ZpF9 = $F9 ; 10 refs; reads=5 writes=5; used at $F891, F898, FAF4, FBF2, +4 more
ZpFA = $FA ; 9 refs; reads=5 writes=4; used at $F8A1, FBF7, FC13, FC27, +3 more
ZpFB = $FB ; 10 refs; reads=1 writes=9; used at $CBD7, CCBC, D06A, D147, +6 more
ZpFC = $FC ; 11 refs; reads=5 writes=6; used at $CB0F, CBB1, D170, D3F0, +7 more
ZpFD = $FD ; 7 refs; reads=1 writes=6; used at $C7BD, C9DC, C9EB, CB2F, +3 more
ZpFE = $FE ; 12 refs; reads=4 writes=8; used at $DB4E, DEC9, DFCB, E5E0, +5 more
ZpFF = $FF ; 37 refs; reads=14 writes=23; used at $D12E, D3DB, D4AA, D508, +25 more
; Semantic aliases (Pass 3)
PtrLo = $00 ; semantic alias for Zp00
PtrHi = $01 ; semantic alias for Zp01
Ptr2Lo = $02 ; semantic alias for Zp02
Ptr2Hi = $03 ; semantic alias for Zp03
Binary file not shown.
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,884 @@
al 00FFF0 .IrqHandler
al 00FCCE .VectorPageData
al 00FCCD .SubCFC2D_Block_FCCD
al 00FCC7 .SubCFC2D_Block_FCC7
al 00FCB1 .SubCFC2D_Block_FCB1
al 00FC96 .SubCFC2D_Block_FC96
al 00FC9F .SubCFC2D_Block_FC9F
al 00FC78 .SubCFC2D_Block_FC78
al 00FCC1 .SubCFC2D_Block_FCC1
al 00FCA0 .SubCFC2D_Block_FCA0
al 00FC4C .SubCFC2D_Block_FC4C
al 00FC2D .SubCFC2D
al 00FC3C .SubCFC2D_Block_FC3C
al 00FC24 .SubCFBC7_Block_FC24
al 00FC55 .SubCFC2D_Block_FC55
al 00FC05 .SubCFBC7_Block_FC05
al 00FC13 .SubCFBC7_Block_FC13
al 00FBD3 .SubCFBC7_Block_FBD3
al 00FBC7 .SubCFBC7
al 00FBC6 .SubCFB5F_Block_FBC6
al 00FBA8 .SubCFB5F_Block_FBA8
al 00FBB8 .SubCFB5F_Block_FBB8
al 00FB8E .SubCFB5F_Block_FB8E
al 00FB75 .SubCFB5F_Block_FB75
al 00FB89 .SubCFB5F_Block_FB89
al 00FB6B .SubCFB5F_Block_FB6B
al 00FB5F .SubCFB5F
al 00FB48 .SubCFAE8_Block_FB48
al 00FB3D .SubCFAE8_Block_FB3D
al 00FB4A .SubCFAE8_Block_FB4A
al 00FB40 .SubCFAE8_Block_FB40
al 00FB25 .SubCFAE8_Block_FB25
al 00FB21 .SubCFAE8_Block_FB21
al 00FB33 .SubCFAE8_Block_FB33
al 00FB09 .SubCFAE8_Block_FB09
al 00FB1A .SubCFAE8_Block_FB1A
al 00FAE8 .SubCFAE8
al 00FB58 .SubCFAE8_Block_FB58
al 00FADF .SubCFA3D_Block_FADF
al 00FADB .SubCFA3D_Block_FADB
al 00FB06 .SubCFAE8_Block_FB06
al 00FAC2 .SubCFA3D_Block_FAC2
al 00FAD1 .SubCFA3D_Block_FAD1
al 00FAAF .SubCFA3D_Block_FAAF
al 00FAA5 .SubCFA3D_Block_FAA5
al 00FA75 .SubCFA3D_Block_FA75
al 00FA6A .SubCFA3D_Block_FA6A
al 00FA60 .SubCFA3D_Block_FA60
al 00FA65 .SubCFA3D_Block_FA65
al 00FA3D .SubCFA3D
al 00FA8D .SubCFA3D_Block_FA8D
al 00FA7A .SubCFA3D_Block_FA7A
al 00FA43 .SubCFA3D_Block_FA43
al 00FA50 .SubCFA3D_Block_FA50
al 00FA87 .SubCFA3D_Block_FA87
al 00F9FE .SubCF9FE
al 00FA2D .SubCF9FE_Block_FA2D
al 00F9ED .SubCF995_Block_F9ED
al 00F9F9 .SubCF995_Block_F9F9
al 00F9DF .SubCF995_Block_F9DF
al 00F9D1 .SubCF995_Block_F9D1
al 00FA37 .SubCF9FE_Block_FA37
al 00FA3A .SubCF9FE_Block_FA3A
al 00F9C0 .SubCF995_Block_F9C0
al 00F9B1 .SubCF995_Block_F9B1
al 00F9CF .SubCF995_Block_F9CF
al 00F9AA .SubCF995_Block_F9AA
al 00F9A7 .SubCF995_Block_F9A7
al 00F99B .SubCF995_Block_F99B
al 00F995 .SubCF995
al 00F98E .SubCF98E
al 00F98C .SubCF98C
al 00F98B .SubCF983_Block_F98B
al 00F985 .SubCF983_Block_F985
al 00F983 .SubCF983
al 00F970 .SubCF970
al 00F8D9 .SubCF8A1_Block_F8D9
al 00F8D4 .SubCF8A1_Block_F8D4
al 00F8BE .SubCF8A1_Block_F8BE
al 00F8A1 .SubCF8A1
al 00F8BB .SubCF8A1_Block_F8BB
al 00F89A .SubCF858_Block_F89A
al 00F8FD .SubCF8A1_Block_F8FD
al 00F891 .SubCF858_Block_F891
al 00F889 .SubCF858_Block_F889
al 00F88E .SubCF858_Block_F88E
al 00F895 .SubCF858_Block_F895
al 00F876 .SubCF858_Block_F876
al 00F863 .SubCF858_Block_F863
al 00F858 .SubCF858
al 00F852 .SubCF852
al 00F84E .SubCF84E
al 00F84A .SubCF84A
al 00F849 .SubCF838_Block_F849
al 00F83A .SubCF838_Block_F83A
al 00F838 .SubCF838
al 00F835 .SubCF835
al 00F833 .SubCF833
al 00F088 .AudioData
al 00F071 .SubCF071
al 00F06F .SubCF002_Block_F06F
al 00F07B .SubCF071_Block_F07B
al 00F05A .SubCF002_Block_F05A
al 00F085 .SubCF071_Block_F085
al 00F080 .SubCF071_Block_F080
al 00F02F .SubCF002_Block_F02F
al 00F055 .SubCF002_Block_F055
al 00F07C .SubCF071_Block_F07C
al 00F026 .SubCF002_Block_F026
al 00F002 .SubCF002
al 00EFFF .SubCEFE0_Block_EFFF
al 00EFF3 .SubCEFE0_Block_EFF3
al 00EFE0 .SubCEFE0
al 00EFD7 .SubCEFBF_Block_EFD7
al 00EFDB .SubCEFBF_Block_EFDB
al 00EFCA .SubCEFBF_Block_EFCA
al 00EFBF .SubCEFBF
al 00EFBE .SubCEF3A_Block_EFBE
al 00EFA2 .SubCEF3A_Block_EFA2
al 00EF9C .SubCEF3A_Block_EF9C
al 00EF47 .SubCEF3A_Block_EF47
al 00EF6E .SubCEF3A_Block_EF6E
al 00EF6A .SubCEF3A_Block_EF6A
al 00EF3A .SubCEF3A
al 00EF30 .SubCEF19_Block_EF30
al 00EF1F .SubCEF19_Block_EF1F
al 00EF19 .SubCEF19
al 00EF05 .SubCEF05
al 00EEF1 .SubCEE9D_Block_EEF1
al 00EEEE .SubCEE9D_Block_EEEE
al 00EEEB .SubCEE9D_Block_EEEB
al 00EEDF .SubCEE9D_Block_EEDF
al 00EEC9 .SubCEE9D_Block_EEC9
al 00EEC8 .SubCEE9D_Block_EEC8
al 00EE9F .SubCEE9D_Block_EE9F
al 00EE9D .SubCEE9D
al 00EE89 .SubCEE89
al 00EE84 .SubCEE74_Block_EE84
al 00EE74 .SubCEE74
al 00EE70 .SubCEE5E_Block_EE70
al 00EE6A .SubCEE5E_Block_EE6A
al 00EE5E .SubCEE5E
al 00EE5D .SubCEE4F_Block_EE5D
al 00EE4F .SubCEE4F
al 00EE4D .SubCEE4D
al 00EE21 .SubCEDF5_Block_EE21
al 00EE0A .SubCEDF5_Block_EE0A
al 00EDF5 .SubCEDF5
al 00EDF4 .SubCED88_Block_EDF4
al 00EDE3 .SubCED88_Block_EDE3
al 00EDC4 .SubCED88_Block_EDC4
al 00ED88 .SubCED88
al 00ED82 .SubCED77_Block_ED82
al 00ED79 .SubCED77_Block_ED79
al 00ED77 .SubCED77
al 00ED70 .SubCED3F_Block_ED70
al 00ED59 .SubCED3F_Block_ED59
al 00ED3F .SubCED3F
al 00ED34 .SubCED34
al 00ED20 .SubCED20
al 00ED1C .SubCED03_Block_ED1C
al 00ED1F .SubCED03_Block_ED1F
al 00ED03 .SubCED03
al 00ECF7 .SubCECC3_Block_ECF7
al 00ED02 .SubCECC3_Block_ED02
al 00ECC3 .SubCECC3
al 00ECBE .SubCECBE
al 00ECC2 .SubCECBE_Block_ECC2
al 00ECA6 .SubCECA6
al 00ECA5 .SubCEC8A_Block_ECA5
al 00EC8A .SubCEC8A
al 00EC81 .SubCEC81
al 00EC89 .SubCEC81_Block_EC89
al 00EC77 .SubCEC77
al 00EC6C .SubCEC6C
al 00EC6B .SubCEC5E_Block_EC6B
al 00EC5E .SubCEC5E
al 00EC56 .SubCEC56
al 00EC4F .SubCEC08_Block_EC4F
al 00EC33 .SubCEC08_Block_EC33
al 00EC5B .SubCEC5B
al 00EC16 .SubCEC08_Block_EC16
al 00EC08 .SubCEC08
al 00EC05 .SubCEBF5_Block_EC05
al 00EC03 .SubCEBF5_Block_EC03
al 00EBF5 .SubCEBF5
al 00EBE0 .SubCEBD6_Block_EBE0
al 00EBD6 .SubCEBD6
al 00EBCE .SubCEBA4_Block_EBCE
al 00EBF2 .SubCEBD6_Block_EBF2
al 00EBB2 .SubCEBA4_Block_EBB2
al 00EBA4 .SubCEBA4
al 00EB9B .SubCEB9B
al 00EBA3 .SubCEB9B_Block_EBA3
al 00EB89 .SubCEB89
al 00EB88 .SubCEB73_Block_EB88
al 00EB73 .SubCEB73
al 00EB6D .SubCEB35_Block_EB6D
al 00EB61 .SubCEB35_Block_EB61
al 00EB4F .SubCEB35_Block_EB4F
al 00EB72 .SubCEB35_Block_EB72
al 00EB35 .SubCEB35
al 00EB2E .SubCEB2E
al 00EB23 .SubCEB23
al 00EB1A .SubCEB1A
al 00EB0C .SubCEB02_Block_EB0C
al 00EB02 .SubCEB02
al 00EAF7 .SubCEAF7
al 00EAFC .SubCEAF7_Block_EAFC
al 00EAF4 .SubCEAD8_Block_EAF4
al 00EAFF .SubCEAF7_Block_EAFF
al 00EAD8 .SubCEAD8
al 00EAD2 .SubCEAA4_Block_EAD2
al 00EACC .SubCEAA4_Block_EACC
al 00EAD5 .SubCEAD5
al 00EABB .SubCEAA4_Block_EABB
al 00EAB5 .SubCEAA4_Block_EAB5
al 00EAA4 .SubCEAA4
al 00EA97 .SubCEA97
al 00EA94 .SubCEA8C_Block_EA94
al 00EA8C .SubCEA8C
al 00EA79 .SubCEA79
al 00EA76 .SubCEA6E_Block_EA76
al 00EA6E .SubCEA6E
al 00EA67 .SubCEA67
al 00EA5D .SubCEA5D
al 00EA4E .SubCEA4E
al 00EA43 .SubCEA27_Block_EA43
al 00EA35 .SubCEA27_Block_EA35
al 00EA62 .SubCEA5D_Block_EA62
al 00EA27 .SubCEA27
al 00EA25 .SubCEA25
al 00EA05 .SubCE9FD_Block_EA05
al 00E9FF .SubCE9FD_Block_E9FF
al 00E9FD .SubCE9FD
al 00E9DD .SubCE9D7_Block_E9DD
al 00E9D7 .SubCE9D7
al 00E9AF .SubCE9A1_Block_E9AF
al 00E9AA .SubCE9A1_Block_E9AA
al 00E9A1 .SubCE9A1
al 00E97B .SubCE96D_Block_E97B
al 00E976 .SubCE96D_Block_E976
al 00E96D .SubCE96D
al 00E958 .SubCE952_Block_E958
al 00E952 .SubCE952
al 00E940 .SubCE936_Block_E940
al 00E936 .SubCE936
al 00E92E .SubCE92E
al 00E92B .SubCE8EA_Block_E92B
al 00E91F .SubCE8EA_Block_E91F
al 00E925 .SubCE8EA_Block_E925
al 00E906 .SubCE8EA_Block_E906
al 00E8EA .SubCE8EA
al 00E8E8 .SubCE8D8_Block_E8E8
al 00E8DD .SubCE8D8_Block_E8DD
al 00E8D8 .SubCE8D8
al 00E8CF .SubCE8CF
al 00E8C6 .SubCE8C6
al 00E8C4 .SubCE8C4
al 00E8BC .SubCE8BC
al 00E8B3 .SubCE8B3
al 00E8AA .SubCE8AA
al 00E8A8 .SubCE8A8
al 00E8A0 .SubCE8A0
al 00E89B .SubCE89B
al 00E899 .SubCE899
al 00E887 .SubCE887
al 00E872 .SubCE872
al 00E859 .SubCE859
al 00E854 .SubCE854
al 00E84D .SubCE84D
al 00E845 .SubCE845
al 00E840 .SubCE80C_Block_E840
al 00E821 .SubCE80C_Block_E821
al 00E80C .SubCE80C
al 00E7F1 .SubCE7F1
al 00E7EC .SubCE7EC
al 00E7DD .SubCE7BD_Block_E7DD
al 00E7BD .SubCE7BD
al 00E7B2 .SubCE7B2
al 00E79F .SubCE79F
al 00E79B .SubCE79B
al 00E797 .SubCE797
al 00E796 .SubCE77D_Block_E796
al 00E77D .SubCE77D
al 00E77B .SubCE77B
al 00E765 .SubCE765
al 00E755 .SubCE741_Block_E755
al 00E74B .SubCE741_Block_E74B
al 00E741 .SubCE741
al 00E723 .SubCE723
al 00E722 .SubCE722
al 00E71F .SubCE6E6_Block_E71F
al 00E70E .SubCE6E6_Block_E70E
al 00E6F7 .SubCE6E6_Block_E6F7
al 00E6FD .SubCE6E6_Block_E6FD
al 00E6F2 .SubCE6E6_Block_E6F2
al 00E6E6 .SubCE6E6
al 00E6B0 .SubCE694_Block_E6B0
al 00E6A9 .SubCE694_Block_E6A9
al 00E6E5 .SubCE694_Block_E6E5
al 00E694 .SubCE694
al 00E689 .SubCE689
al 00E677 .SubCE66D_Block_E677
al 00E66D .SubCE66D
al 00E66A .SubCE5F7_Block_E66A
al 00E693 .SubCE689_Block_E693
al 00E682 .SubCE66D_Block_E682
al 00E678 .SubCE66D_Block_E678
al 00E63D .SubCE5F7_Block_E63D
al 00E631 .SubCE5F7_Block_E631
al 00E610 .SubCE5F7_Block_E610
al 00E5F7 .SubCE5F7
al 00E5F6 .SubCE5E6_Block_E5F6
al 00E5E6 .SubCE5E6
al 00E5E4 .SubCE5E4
al 00E5DE .SubCE561_Block_E5DE
al 00E5D0 .SubCE561_Block_E5D0
al 00E5B4 .SubCE561_Block_E5B4
al 00E5E2 .SubCE561_Block_E5E2
al 00E5BC .SubCE561_Block_E5BC
al 00E592 .SubCE561_Block_E592
al 00E561 .SubCE561
al 00E56F .SubCE561_Block_E56F
al 00E553 .SubCE540_Block_E553
al 00E54C .SubCE540_Block_E54C
al 00E540 .SubCE540
al 00E53A .SubCE53A
al 00E526 .SubCE526
al 00E51F .SubCE4F4_Block_E51F
al 00E524 .SubCE4F4_Block_E524
al 00E539 .SubCE526_Block_E539
al 00E512 .SubCE4F4_Block_E512
al 00E500 .SubCE4F4_Block_E500
al 00E4F4 .SubCE4F4
al 00E4EF .SubCE4D4_Block_E4EF
al 00E4F3 .SubCE4D4_Block_E4F3
al 00E4D4 .SubCE4D4
al 00E4CE .SubCE4B4_Block_E4CE
al 00E4C8 .SubCE4B4_Block_E4C8
al 00E4D1 .SubCE4B4_Block_E4D1
al 00E4B4 .SubCE4B4
al 00E4B3 .SubCE488_Block_E4B3
al 00E4A3 .SubCE488_Block_E4A3
al 00E488 .SubCE488
al 00E44C .SubCE410_Block_E44C
al 00E436 .SubCE410_Block_E436
al 00E41D .SubCE410_Block_E41D
al 00E43E .SubCE410_Block_E43E
al 00E410 .SubCE410
al 00E406 .SubCE406
al 00E404 .SubCE3F4_Block_E404
al 00E3F4 .SubCE3F4
al 00E3D8 .SubCE3D8
al 00E3C9 .SubCE3AB_Block_E3C9
al 00E3C0 .SubCE3AB_Block_E3C0
al 00E3B7 .SubCE3AB_Block_E3B7
al 00E3A5 .SubCE389_Block_E3A5
al 00E3AB .SubCE3AB
al 00E389 .SubCE389
al 00E381 .SubCE381
al 00E37F .SubCE365_Block_E37F
al 00E371 .SubCE365_Block_E371
al 00E365 .SubCE365
al 00E35E .SubCE34E_Block_E35E
al 00E34E .SubCE34E
al 00E333 .SubCE313_Block_E333
al 00E324 .SubCE313_Block_E324
al 00E313 .SubCE313
al 00E30E .SubCE2EE_Block_E30E
al 00E327 .SubCE313_Block_E327
al 00E2FA .SubCE2EE_Block_E2FA
al 00E2EE .SubCE2EE
al 00E2CD .SubCE296_Block_E2CD
al 00E2DD .SubCE296_Block_E2DD
al 00E2BC .SubCE296_Block_E2BC
al 00E296 .SubCE296
al 00E2A4 .SubCE296_Block_E2A4
al 00E28F .SubCE265_Block_E28F
al 00E2A3 .SubCE296_Block_E2A3
al 00E265 .SubCE265
al 00E260 .SubCE260
al 00E258 .SubCE258
al 00E24D .SubCE24D
al 00E240 .SubCE240
al 00E233 .SubCE233
al 00E223 .SubCE223
al 00E21A .SubCE1FC_Block_E21A
al 00E232 .SubCE223_Block_E232
al 00E1FC .SubCE1FC
al 00E1F0 .SubCE1A7_Block_E1F0
al 00E1F3 .SubCE1F3
al 00E1CC .SubCE1A7_Block_E1CC
al 00E1BE .SubCE1A7_Block_E1BE
al 00E1AC .SubCE1A7_Block_E1AC
al 00E1A7 .SubCE1A7
al 00E197 .SubCE197
al 00E19D .SubCE19D
al 00E191 .SubCE182_Block_E191
al 00E182 .SubCE182
al 00E180 .SubCE171_Block_E180
al 00E171 .SubCE171
al 00E16E .SubCE140_Block_E16E
al 00E158 .SubCE140_Block_E158
al 00E1A4 .SubCE19D_Block_E1A4
al 00E140 .SubCE140
al 00E134 .SubCE134
al 00E131 .SubCE125_Block_E131
al 00E125 .SubCE125
al 00E120 .SubCE120
al 00E11D .SubCE0F5_Block_E11D
al 00E0F5 .SubCE0F5
al 00E0EB .SubCE0B3_Block_E0EB
al 00E0DE .SubCE0B3_Block_E0DE
al 00E0D2 .SubCE0B3_Block_E0D2
al 00E0B3 .SubCE0B3
al 00E0B1 .SubCE046_Block_E0B1
al 00E0A4 .SubCE046_Block_E0A4
al 00E091 .SubCE046_Block_E091
al 00E08D .SubCE046_Block_E08D
al 00E086 .SubCE046_Block_E086
al 00E070 .SubCE046_Block_E070
al 00E07D .SubCE046_Block_E07D
al 00E065 .SubCE046_Block_E065
al 00E05F .SubCE046_Block_E05F
al 00E060 .SubCE046_Block_E060
al 00E04D .SubCE046_Block_E04D
al 00E046 .SubCE046
al 00E040 .SubCE040
al 00E039 .SubCDFD6_Block_E039
al 00E00C .SubCDFD6_Block_E00C
al 00E018 .SubCDFD6_Block_E018
al 00E029 .SubCDFD6_Block_E029
al 00DFEE .SubCDFD6_Block_DFEE
al 00DFD6 .SubCDFD6
al 00DFCD .SubCDF95_Block_DFCD
al 00DFC0 .SubCDF95_Block_DFC0
al 00DF95 .SubCDF95
al 00DF88 .SubCDF88
al 00DF6A .SubCDF33_Block_DF6A
al 00DF7A .SubCDF33_Block_DF7A
al 00DF33 .SubCDF33
al 00DF2D .SubCDF14_Block_DF2D
al 00DF14 .SubCDF14
al 00DF03 .SubCDEF6_Block_DF03
al 00DEF6 .SubCDEF6
al 00DEDE .SubCDEDE
al 00DEDA .SubCDEB0_Block_DEDA
al 00DEEE .SubCDEDE_Block_DEEE
al 00DF0D .SubCDEF6_Block_DF0D
al 00DEBB .SubCDEB0_Block_DEBB
al 00DEB0 .SubCDEB0
al 00DEA1 .SubCDEA1
al 00DE98 .SubCDE98
al 00DE96 .SubCDE79_Block_DE96
al 00DEAA .SubCDEA1_Block_DEAA
al 00DE89 .SubCDE79_Block_DE89
al 00DE79 .SubCDE79
al 00DE77 .SubCDE6A_Block_DE77
al 00DE6A .SubCDE6A
al 00DE68 .SubCDE40_Block_DE68
al 00DEA7 .SubCDEA1_Block_DEA7
al 00DE81 .SubCDE79_Block_DE81
al 00DE40 .SubCDE40
al 00DE17 .SubCDE17
al 00DE0D .SubCDDE8_Block_DE0D
al 00DDE8 .SubCDDE8
al 00DDE6 .SubCDDCD_Block_DDE6
al 00DDEE .SubCDDE8_Block_DDEE
al 00DE31 .SubCDE17_Block_DE31
al 00DE36 .SubCDE17_Block_DE36
al 00DDCD .SubCDDCD
al 00DDAC .SubCDDAC
al 00DD8C .SubCDD8C
al 00DD8A .SubCDD23_Block_DD8A
al 00DD80 .SubCDD23_Block_DD80
al 00DD77 .SubCDD23_Block_DD77
al 00DD61 .SubCDD23_Block_DD61
al 00DD6B .SubCDD23_Block_DD6B
al 00DD39 .SubCDD23_Block_DD39
al 00DD95 .SubCDD8C_Block_DD95
al 00DD23 .SubCDD23
al 00DD20 .SubCDD17_Block_DD20
al 00DD17 .SubCDD17
al 00DD0E .SubCDD0E
al 00DD05 .SubCDD05
al 00DCFB .SubCDCEF_Block_DCFB
al 00DCEF .SubCDCEF
al 00DCE7 .SubCDCE7
al 00DCE1 .SubCDCB2_Block_DCE1
al 00DCEE .SubCDCE7_Block_DCEE
al 00DCC8 .SubCDCB2_Block_DCC8
al 00DCB2 .SubCDCB2
al 00DCA4 .SubCDCA4
al 00DCA1 .SubCDC7A_Block_DCA1
al 00DC8D .SubCDC7A_Block_DC8D
al 00DCBB .SubCDCB2_Block_DCBB
al 00DC72 .SubCDC57_Block_DC72
al 00DC7A .SubCDC7A
al 00DC57 .SubCDC57
al 00DC54 .SubCDC2A_Block_DC54
al 00DC38 .SubCDC2A_Block_DC38
al 00DC2A .SubCDC2A
al 00DC25 .SubCDBEA_Block_DC25
al 00DC23 .SubCDBEA_Block_DC23
al 00DC15 .SubCDBEA_Block_DC15
al 00DC4A .SubCDC2A_Block_DC4A
al 00DBF5 .SubCDBEA_Block_DBF5
al 00DBEA .SubCDBEA
al 00DBDF .SubCDBDF
al 00DBE7 .SubCDBDF_Block_DBE7
al 00DBD4 .SubCDBC3_Block_DBD4
al 00DBD9 .SubCDBC3_Block_DBD9
al 00DBC3 .SubCDBC3
al 00DBC0 .SubCDB62_Block_DBC0
al 00DBB7 .SubCDB62_Block_DBB7
al 00DBA3 .SubCDB62_Block_DBA3
al 00DB9C .SubCDB62_Block_DB9C
al 00DB95 .SubCDB62_Block_DB95
al 00DB8E .SubCDB62_Block_DB8E
al 00DB87 .SubCDB62_Block_DB87
al 00DB80 .SubCDB62_Block_DB80
al 00DB79 .SubCDB62_Block_DB79
al 00DB72 .SubCDB62_Block_DB72
al 00DB62 .SubCDB62
al 00DB50 .SubCDB34_Block_DB50
al 00DB34 .SubCDB34
al 00DB32 .SubCDB0C_Block_DB32
al 00DB2D .SubCDB0C_Block_DB2D
al 00DB51 .SubCDB34_Block_DB51
al 00DB3A .SubCDB34_Block_DB3A
al 00DB0C .SubCDB0C
al 00DAF9 .SubCDAF9
al 00DAF6 .SubCDAA7_Block_DAF6
al 00DAE5 .SubCDAA7_Block_DAE5
al 00DAC6 .SubCDAA7_Block_DAC6
al 00DAF8 .SubCDAA7_Block_DAF8
al 00DAC3 .SubCDAA7_Block_DAC3
al 00DAA7 .SubCDAA7
al 00DA9F .SubCDA9F
al 00DA81 .SubCDA81
al 00DA8E .SubCDA81_Block_DA8E
al 00DA4B .SubCDA01_Block_DA4B
al 00DA37 .SubCDA01_Block_DA37
al 00DA60 .SubCDA01_Block_DA60
al 00DA15 .SubCDA01_Block_DA15
al 00DA0B .SubCDA01_Block_DA0B
al 00DA01 .SubCDA01
al 00D9F1 .SubCD9D9_Block_D9F1
al 00D9FA .SubCD9D9_Block_D9FA
al 00D9D9 .SubCD9D9
al 00D9C8 .SubCD9C8
al 00D9A9 .SubCD9A9
al 00D9BC .SubCD9A9_Block_D9BC
al 00D9A3 .SubCD992_Block_D9A3
al 00D992 .SubCD992
al 00D983 .SubCD961_Block_D983
al 00D988 .SubCD961_Block_D988
al 00D961 .SubCD961
al 00D959 .SubCD938_Block_D959
al 00D96B .SubCD961_Block_D96B
al 00D938 .SubCD938
al 00D925 .SubCD925
al 00D92D .SubCD925_Block_D92D
al 00D8EF .SubCD8EF
al 00D8F7 .SubCD8EF_Block_D8F7
al 00D902 .SubCD8EF_Block_D902
al 00D8E2 .SubCD8E2
al 00D8DF .SubCD8BC_Block_D8DF
al 00D90F .SubCD8EF_Block_D90F
al 00D918 .SubCD8EF_Block_D918
al 00D8CD .SubCD8BC_Block_D8CD
al 00D8BC .SubCD8BC
al 00D8B3 .SubCD8B3
al 00D8B0 .SubCD852_Block_D8B0
al 00D896 .SubCD852_Block_D896
al 00D8AD .SubCD852_Block_D8AD
al 00D87D .SubCD852_Block_D87D
al 00D857 .SubCD852_Block_D857
al 00D852 .SubCD852
al 00D84C .SubCD839_Block_D84C
al 00D85D .SubCD852_Block_D85D
al 00D839 .SubCD839
al 00D836 .SubCD801_Block_D836
al 00D82B .SubCD801_Block_D82B
al 00D801 .SubCD801
al 00D7FE .SubCD7F4_Block_D7FE
al 00D7F4 .SubCD7F4
al 00D7E7 .SubCD7E7
al 00D7D6 .SubCD7B2_Block_D7D6
al 00D7D0 .SubCD7B2_Block_D7D0
al 00D7E0 .SubCD7B2_Block_D7E0
al 00D7C2 .SubCD7B2_Block_D7C2
al 00D7B2 .SubCD7B2
al 00D799 .SubCD799
al 00D79B .SubCD799_Block_D79B
al 00D793 .SubCD751_Block_D793
al 00D788 .SubCD751_Block_D788
al 00D76F .SubCD751_Block_D76F
al 00D751 .SubCD751
al 00D736 .SubCD736
al 00D73E .SubCD736_Block_D73E
al 00D721 .SubCD6EF_Block_D721
al 00D728 .SubCD6EF_Block_D728
al 00D700 .SubCD6EF_Block_D700
al 00D729 .SubCD6EF_Block_D729
al 00D6EF .SubCD6EF
al 00D6EE .SubCD690_Block_D6EE
al 00D6E2 .SubCD690_Block_D6E2
al 00D6D7 .SubCD690_Block_D6D7
al 00D6D0 .SubCD690_Block_D6D0
al 00D6C7 .SubCD690_Block_D6C7
al 00D6B8 .SubCD690_Block_D6B8
al 00D6A8 .SubCD690_Block_D6A8
al 00D6B7 .SubCD690_Block_D6B7
al 00D690 .SubCD690
al 00D67D .SubCD641_Block_D67D
al 00D67B .SubCD641_Block_D67B
al 00D663 .SubCD641_Block_D663
al 00D64B .SubCD641_Block_D64B
al 00D641 .SubCD641
al 00D637 .SubCD634_Block_D637
al 00D634 .SubCD634
al 00D621 .SubCD607_Block_D621
al 00D613 .SubCD607_Block_D613
al 00D631 .SubCD607_Block_D631
al 00D607 .SubCD607
al 00D605 .SubCD605
al 00D5EB .SubCD5E8_Block_D5EB
al 00D5E8 .SubCD5E8
al 00D5C8 .SubCD5B5_Block_D5C8
al 00D5DD .SubCD5B5_Block_D5DD
al 00D5B5 .SubCD5B5
al 00D5A3 .SubCD591_Block_D5A3
al 00D5B2 .SubCD591_Block_D5B2
al 00D591 .SubCD591
al 00D57B .SubCD56F_Block_D57B
al 00D56F .SubCD56F
al 00D553 .SubCD524_Block_D553
al 00D565 .SubCD524_Block_D565
al 00D524 .SubCD524
al 00D506 .SubCD4CF_Block_D506
al 00D4EA .SubCD4CF_Block_D4EA
al 00D523 .SubCD4CF_Block_D523
al 00D4CF .SubCD4CF
al 00D4C6 .SubCD4C6
al 00D4AD .SubCD4AD
al 00D4AC .SubCD499_Block_D4AC
al 00D499 .SubCD499
al 00D498 .SubCD465_Block_D498
al 00D465 .SubCD465
al 00D450 .SubCD424_Block_D450
al 00D449 .SubCD424_Block_D449
al 00D424 .SubCD424
al 00D422 .SubCD3EB_Block_D422
al 00D45B .SubCD424_Block_D45B
al 00D408 .SubCD3EB_Block_D408
al 00D3FD .SubCD3EB_Block_D3FD
al 00D3EB .SubCD3EB
al 00D3DE .SubCD3DE
al 00D3B4 .SubCD356_Block_D3B4
al 00D3AD .SubCD356_Block_D3AD
al 00D3AE .SubCD356_Block_D3AE
al 00D399 .SubCD356_Block_D399
al 00D38C .SubCD356_Block_D38C
al 00D3DD .SubCD356_Block_D3DD
al 00D379 .SubCD356_Block_D379
al 00D356 .SubCD356
al 00D365 .SubCD356_Block_D365
al 00D349 .SubCD340_Block_D349
al 00D340 .SubCD340
al 00D320 .SubCD312_Block_D320
al 00D312 .SubCD312
al 00D333 .SubCD312_Block_D333
al 00D334 .SubCD312_Block_D334
al 00D2DC .SubCD2DC
al 00D2D9 .SubCD2D0_Block_D2D9
al 00D2D0 .SubCD2D0
al 00D2CF .SubCD2C2_Block_D2CF
al 00D2C2 .SubCD2C2
al 00D2BE .SubCD29F_Block_D2BE
al 00D2C1 .SubCD29F_Block_D2C1
al 00D29F .SubCD29F
al 00D29B .SubCD27E_Block_D29B
al 00D29E .SubCD27E_Block_D29E
al 00D27E .SubCD27E
al 00D26F .SubCD26F
al 00D279 .SubCD26F_Block_D279
al 00D26D .SubCD234_Block_D26D
al 00D234 .SubCD234
al 00D21B .SubCD21B
al 00D213 .SubCD1FC_Block_D213
al 00D218 .SubCD1FC_Block_D218
al 00D1FC .SubCD1FC
al 00D1F4 .SubCD1D9_Block_D1F4
al 00D1F9 .SubCD1D9_Block_D1F9
al 00D1D9 .SubCD1D9
al 00D1D6 .SubCD1A7_Block_D1D6
al 00D1A7 .SubCD1A7
al 00D1A3 .SubCD10C_Block_D1A3
al 00D172 .SubCD10C_Block_D172
al 00D163 .SubCD10C_Block_D163
al 00D159 .SubCD10C_Block_D159
al 00D1A6 .SubCD10C_Block_D1A6
al 00D139 .SubCD10C_Block_D139
al 00D14E .SubCD10C_Block_D14E
al 00D14D .SubCD10C_Block_D14D
al 00D10C .SubCD10C
al 00D10B .SubCD0A7_Block_D10B
al 00D0A7 .SubCD0A7
al 00D0A1 .SubCD079_Block_D0A1
al 00D097 .SubCD079_Block_D097
al 00D079 .SubCD079
al 00D06D .SubCD06D
al 00D06C .SubCD045_Block_D06C
al 00D045 .SubCD045
al 00D03D .SubCCFF4_Block_D03D
al 00D019 .SubCCFF4_Block_D019
al 00D044 .SubCCFF4_Block_D044
al 00CFF9 .SubCCFF4_Block_CFF9
al 00CFF4 .SubCCFF4
al 00CFEE .SubCCFEE
al 00CFEC .SubCCFEC
al 00CFEB .SubCCFA7_Block_CFEB
al 00CFD6 .SubCCFA7_Block_CFD6
al 00CFD5 .SubCCFA7_Block_CFD5
al 00CFD9 .SubCCFA7_Block_CFD9
al 00CFA7 .SubCCFA7
al 00CFA2 .SubCCF45_Block_CFA2
al 00CF96 .SubCCF45_Block_CF96
al 00CFAD .SubCCFA7_Block_CFAD
al 00CFAE .SubCCFA7_Block_CFAE
al 00CF79 .SubCCF45_Block_CF79
al 00CF7D .SubCCF45_Block_CF7D
al 00CF7C .SubCCF45_Block_CF7C
al 00CF45 .SubCCF45
al 00CF3F .SubCCF3F
al 00CF3D .SubCCF3D
al 00CF37 .SubCCF37
al 00CF2B .SubCCF1A_Block_CF2B
al 00CF1A .SubCCF1A
al 00CF14 .SubCCF09_Block_CF14
al 00CF09 .SubCCF09
al 00CF06 .SubCCF06
al 00CEF4 .SubCCED8_Block_CEF4
al 00CF00 .SubCCED8_Block_CF00
al 00CED8 .SubCCED8
al 00CED7 .SubCCEAA_Block_CED7
al 00CEAA .SubCCEAA
al 00CE9E .SubCCE6A_Block_CE9E
al 00CE71 .SubCCE6A_Block_CE71
al 00CE6A .SubCCE6A
al 00CE5F .SubCCE4F_Block_CE5F
al 00CE53 .SubCCE4F_Block_CE53
al 00CE4F .SubCCE4F
al 00CE48 .SubCCE48
al 00CE32 .SubCCDEA_Block_CE32
al 00CE28 .SubCCDEA_Block_CE28
al 00CE09 .SubCCDEA_Block_CE09
al 00CE14 .SubCCDEA_Block_CE14
al 00CE08 .SubCCDEA_Block_CE08
al 00CDEA .SubCCDEA
al 00CDDC .SubCCDAD_Block_CDDC
al 00CDAD .SubCCDAD
al 00CDAC .SubCCD8C_Block_CDAC
al 00CD9A .SubCCD8C_Block_CD9A
al 00CD8C .SubCCD8C
al 00CD80 .SubCCD29_Block_CD80
al 00CD7D .SubCCD29_Block_CD7D
al 00CD5B .SubCCD29_Block_CD5B
al 00CD3C .SubCCD29_Block_CD3C
al 00CD36 .SubCCD29_Block_CD36
al 00CD29 .SubCCD29
al 00CD50 .SubCCD29_Block_CD50
al 00CD14 .SubCCD03_Block_CD14
al 00CD5C .SubCCD29_Block_CD5C
al 00CD03 .SubCCD03
al 00CCFD .SubCCCFD
al 00CD02 .SubCCCFD_Block_CD02
al 00CCEC .SubCCCA0_Block_CCEC
al 00CCD9 .SubCCCA0_Block_CCD9
al 00CCBE .SubCCCA0_Block_CCBE
al 00CCE3 .SubCCCA0_Block_CCE3
al 00CCE1 .SubCCCA0_Block_CCE1
al 00CCE8 .SubCCCA0_Block_CCE8
al 00CCA0 .SubCCCA0
al 00CC97 .SubCCC81_Block_CC97
al 00CC9F .SubCCC81_Block_CC9F
al 00CC81 .SubCCC81
al 00CC78 .SubCCC78
al 00CC73 .SubCCC1E_Block_CC73
al 00CC3E .SubCCC1E_Block_CC3E
al 00CC33 .SubCCC1E_Block_CC33
al 00CC7C .SubCCC7C
al 00CC1E .SubCCC1E
al 00CC0F .SubCCB94_Block_CC0F
al 00CBD9 .SubCCB94_Block_CBD9
al 00CBA9 .SubCCB94_Block_CBA9
al 00CBA1 .SubCCB94_Block_CBA1
al 00CB94 .SubCCB94
al 00CB92 .SubCCB92
al 00CB72 .SubCCB12_Block_CB72
al 00CB69 .SubCCB12_Block_CB69
al 00CB68 .SubCCB12_Block_CB68
al 00CB81 .SubCCB12_Block_CB81
al 00CB45 .SubCCB12_Block_CB45
al 00CB1B .SubCCB12_Block_CB1B
al 00CB12 .SubCCB12
al 00CB11 .SubCCAD4_Block_CB11
al 00CAF6 .SubCCAD4_Block_CAF6
al 00CAE7 .SubCCAD4_Block_CAE7
al 00CAEA .SubCCAD4_Block_CAEA
al 00CAE6 .SubCCAD4_Block_CAE6
al 00CAD4 .SubCCAD4
al 00CAC6 .SubCCA8B_Block_CAC6
al 00CAB5 .SubCCA8B_Block_CAB5
al 00CAAD .SubCCA8B_Block_CAAD
al 00CAB6 .SubCCA8B_Block_CAB6
al 00CA94 .SubCCA8B_Block_CA94
al 00CA8B .SubCCA8B
al 00CA71 .SubCCA71
al 00CA56 .SubCCA56
al 00CA37 .SubCCA37
al 00CA2E .SubCCA2E
al 00CA0F .SubCCA0F
al 00CA05 .SubCCA05
al 00C9ED .SubCC9ED
al 00C9F2 .SubCC9ED_Block_C9F2
al 00C9E1 .SubCC998_Block_C9E1
al 00C9C2 .SubCC998_Block_C9C2
al 00C9C9 .SubCC998_Block_C9C9
al 00C9CE .SubCC998_Block_C9CE
al 00C998 .SubCC998
al 00C995 .SubCC981_Block_C995
al 00C98F .SubCC981_Block_C98F
al 00C981 .SubCC981
al 00C97C .SubCC951_Block_C97C
al 00C974 .SubCC951_Block_C974
al 00C951 .SubCC951
al 00C939 .SubCC89B_Block_C939
al 00C8FD .SubCC89B_Block_C8FD
al 00C8CF .SubCC89B_Block_C8CF
al 00C8CD .SubCC89B_Block_C8CD
al 00C8C6 .SubCC89B_Block_C8C6
al 00C8B9 .SubCC89B_Block_C8B9
al 00C8B8 .SubCC89B_Block_C8B8
al 00C8AB .SubCC89B_Block_C8AB
al 00C89B .SubCC89B
al 00C88E .SubCC88E
al 00C87A .SubCC87A
al 00C861 .SubCC81F_Block_C861
al 00C865 .SubCC81F_Block_C865
al 00C845 .SubCC81F_Block_C845
al 00C81F .SubCC81F
al 00C7F6 .SubCC76A_Block_C7F6
al 00C7EA .SubCC76A_Block_C7EA
al 00C801 .SubCC801
al 00C7E1 .SubCC76A_Block_C7E1
al 00C7D0 .SubCC76A_Block_C7D0
al 00C7C3 .SubCC76A_Block_C7C3
al 00C76A .SubCC76A
al 00C75D .SubCC75D
al 00C75A .SubCC6FC_Block_C75A
al 00C754 .SubCC6FC_Block_C754
al 00C746 .SubCC6FC_Block_C746
al 00C73C .SubCC6FC_Block_C73C
al 00C732 .SubCC6FC_Block_C732
al 00C724 .SubCC6FC_Block_C724
al 00C701 .NmiHandler
al 00C6FC .SubCC6FC
al 00C6F5 .SubCC6F1_Block_C6F5
al 00C6F1 .SubCC6F1
al 00C6EB .SubCC6EB
al 00C6D7 .SubCC6D7
al 00C6D1 .SubCC6D1
al 00C6C9 .SubCC6C9
al 00C6A4 .SubCC686_Block_C6A4
al 00C69C .SubCC686_Block_C69C
al 00C686 .SubCC686
al 00C680 .SubCC680
al 00C663 .SubCC663
al 00C653 .SubCC653
al 00C649 .Reset
al 00C000 .LevelData
@@ -0,0 +1,32 @@
Modules list:
-------------
header.o:
HEADER Offs=000000 Size=000010 Align=00001 Fill=0000
prg.o:
PRG Offs=000000 Size=004000 Align=00001 Fill=0000
chr.o:
CHR Offs=000000 Size=002000 Align=00001 Fill=0000
Segment list:
-------------
Name Start End Size Align
----------------------------------------------------
CHR 000000 001FFF 002000 00001
HEADER 000000 00000F 000010 00001
PRG 00C000 00FFFF 004000 00001
Exports list by name:
---------------------
Exports list by value:
----------------------
Imports list:
-------------
Binary file not shown.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
../Popeye (JU) (PRG 0).nes
+108
View File
@@ -0,0 +1,108 @@
; =============================================================================
; Nintendo Entertainment System hardware symbols
; =============================================================================
; -----------------------------------------------------------------------------
; PPU registers
; -----------------------------------------------------------------------------
PPUCTRL = $2000
PPUMASK = $2001
PPUSTATUS = $2002
OAMADDR = $2003
OAMDATA = $2004
PPUSCROLL = $2005
PPUADDR = $2006
PPUDATA = $2007
OAMDMA = $4014
; -----------------------------------------------------------------------------
; Controller ports
;
; $4016:
; Write: controller strobe
; Read: controller port 1
;
; $4017:
; Read: controller port 2
; Write: APU frame counter
; -----------------------------------------------------------------------------
JOY1 = $4016
JOY2 = $4017
; -----------------------------------------------------------------------------
; APU pulse channel 1
; -----------------------------------------------------------------------------
APUPULSE1CTRL = $4000
APUPULSE1SWEEP = $4001
APUPULSE1TIMERLO = $4002
APUPULSE1TIMERHI = $4003
; -----------------------------------------------------------------------------
; APU pulse channel 2
; -----------------------------------------------------------------------------
APUPULSE2CTRL = $4004
APUPULSE2SWEEP = $4005
APUPULSE2TIMERLO = $4006
APUPULSE2TIMERHI = $4007
; -----------------------------------------------------------------------------
; APU triangle channel
; -----------------------------------------------------------------------------
APUTRIANGLECTRL = $4008
APUTRIANGLETIMERLO = $400A
APUTRIANGLETIMERHI = $400B
; -----------------------------------------------------------------------------
; APU noise channel
; -----------------------------------------------------------------------------
APUNOISECTRL = $400C
APUNOISEPERIOD = $400E
APUNOISELENGTH = $400F
; -----------------------------------------------------------------------------
; APU DMC channel
; -----------------------------------------------------------------------------
APUDMCCTRL = $4010
APUDMCDIRECT = $4011
APUDMCADDR = $4012
APUDMCLENGTH = $4013
; -----------------------------------------------------------------------------
; APU status and frame counter
;
; $4015:
; Write: enable or disable the five APU channels
; Read: channel and interrupt status
;
; $4017:
; Write: APU frame-counter mode and IRQ inhibit
; Read: controller port 2
; -----------------------------------------------------------------------------
APUSTATUS = $4015
APUFRAMECOUNTER = $4017
; -----------------------------------------------------------------------------
; Controller masks
; -----------------------------------------------------------------------------
PAD_RIGHT = $01
PAD_LEFT = $02
PAD_DOWN = $04
PAD_UP = $08
PAD_START = $10
PAD_SELECT = $20
PAD_B = $40
PAD_A = $80
PAD_HORIZONTAL = PAD_LEFT | PAD_RIGHT
PAD_VERTICAL = PAD_UP | PAD_DOWN
PAD_DPAD = PAD_HORIZONTAL | PAD_VERTICAL