Pass 1 _wip: 23 projects at Pass 1, byte-identical builds verified

This commit is contained in:
tmerritt committed 2026-10-21 12:49:08 -04:00
1 parent 691b2bc23c
commit b08d65877f
101 files changed
+267311 -750

No files matched your search

+5 -3
View File
@@ -2,9 +2,11 @@
## Status
**Pass 0 skeleton.** The project builds and verifies byte-identical to the
original ROM, but no disassembly exists yet: `prg.s` is a single
`.incbin "prg.bin"` of the PRG image.
**Pass 1.** The project builds and verifies byte-identical to the
original ROM. `prg.s` is a traced disassembly classifying bytes as
reachable code or data, with every instruction carrying a trailing
audit comment. Unreached bytes remain as explicit `.byte` blocks; no
ROM byte is deleted or reformatted.
`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the
result against `rom.nes`:
+97 -4
View File
@@ -1,4 +1,97 @@
; Zero-page aliases for this project.
; Empty at Pass 0. Pass 1+ adds proven semantic names here;
; addresses whose role is not yet determined keep the neutral ZpXX
; form.
; Dig Dug II (U) [!] 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 ; 3 refs; reads=1 writes=2; used at $A551, A561, A56A
Zp03 = $03 ; 3 refs; reads=3 writes=0; used at $A978, A989, F683
Zp04 = $04 ; 5 refs; reads=3 writes=2; used at $A960, A96E, E753, E75A, +1 more
Zp06 = $06 ; 2 refs; reads=2 writes=0; used at $A9A5, A9B4
Zp07 = $07 ; 2 refs; reads=2 writes=0; used at $A9A3, A9A9
Zp08 = $08 ; 1 refs; reads=1 writes=0; used at $A9D1
Zp0A = $0A ; 1 refs; reads=0 writes=1; used at $E9B6
Zp12 = $12 ; 1 refs; reads=0 writes=1; used at $A573
Zp16 = $16 ; 11 refs; reads=9 writes=2; used at $BE28, C70D, D112, E95B, +5 more
Zp17 = $17 ; 218 refs; reads=111 writes=107; used at $A577, A57D, A949, A962, +189 more
Zp18 = $18 ; 143 refs; reads=74 writes=69; used at $A579, A582, A584, A95C, +133 more
Zp19 = $19 ; 65 refs; reads=32 writes=33; used at $A95E, A99B, AE5C, AE7D, +55 more
Zp1A = $1A ; 23 refs; reads=9 writes=14; used at $AE61, B8B9, B8D6, C3B5, +19 more
Zp1B = $1B ; 69 refs; reads=45 writes=24; used at $AD01, AD10, AD16, AD20, +61 more
Zp1C = $1C ; 40 refs; reads=25 writes=15; used at $AD06, AD58, BE9F, BECA, +35 more
Zp1D = $1D ; 35 refs; reads=26 writes=9; used at $BF06, C65C, C694, C696, +30 more
Zp1E = $1E ; 5 refs; reads=2 writes=3; used at $CA92, E32A, E32C, E33B, +1 more
Zp1F = $1F ; 7 refs; reads=0 writes=7; used at $A997, BCFB, CEE0, D43D, +3 more
Zp20 = $20 ; 3 refs; reads=0 writes=3; used at $BCF5, ED19, F06D
Zp21 = $21 ; 1 refs; reads=0 writes=1; used at $F068
Zp25 = $25 ; 21 refs; reads=14 writes=7; used at $A8E3, BE31, BE35, BE39, +11 more
Zp26 = $26 ; 8 refs; reads=7 writes=1; used at $A87C, C4F7, D718, D79B, +3 more
Zp27 = $27 ; 2 refs; reads=1 writes=1; used at $A880
Zp28 = $28 ; 30 refs; reads=20 writes=10; used at $A5A1, A785, A893, ACB4, +21 more
Zp29 = $29 ; 46 refs; reads=36 writes=10; used at $A78A, A898, AE3F, BAB7, +41 more
Zp2A = $2A ; 6 refs; reads=3 writes=3; used at $A78C, A89A, D8D0, D9DB, +2 more
Zp2C = $2C ; 6 refs; reads=5 writes=1; used at $A8B5, BC07, E1FC, E87F, +2 more
Zp2D = $2D ; 29 refs; reads=22 writes=7; used at $A8B3, A8EF, BBE4, BBEB, +25 more
Zp2E = $2E ; 15 refs; reads=14 writes=1; used at $A8B7, A8D3, A8E1, A9EC, +10 more
Zp2F = $2F ; 5 refs; reads=4 writes=1; used at $A8BC, A8DC, A8E7, E76D
Zp30 = $30 ; 2 refs; reads=1 writes=1; used at $AA2D, F81E
Zp31 = $31 ; 4 refs; reads=2 writes=2; used at $F7F6, FA2A, FA2C
Zp32 = $32 ; 9 refs; reads=5 writes=4; used at $F7D5, F7EF, F828, F839, +5 more
Zp33 = $33 ; 5 refs; reads=2 writes=3; used at $F7D3, F7EA, F83F, F848, +1 more
Zp34 = $34 ; 2 refs; reads=1 writes=1; used at $F895, FA0D
Zp35 = $35 ; 4 refs; reads=2 writes=2; used at $F82A, F84C, F8DB, F8DD
Zp36 = $36 ; 4 refs; reads=3 writes=1; used at $FA00, FA36, FA3F, FA52
Zp37 = $37 ; 1 refs; reads=0 writes=1; used at $FA3B
Zp38 = $38 ; 5 refs; reads=2 writes=3; used at $F9C9, F9D7, F9E3, FA23
Zp39 = $39 ; 5 refs; reads=2 writes=3; used at $F9CE, F9D9, F9DF, FA12
Zp3A = $3A ; 2 refs; reads=1 writes=1; used at $F824, F835
Zp3B = $3B ; 6 refs; reads=5 writes=1; used at $F8CA, F8D9, F8EB, F9BB, +2 more
Zp3C = $3C ; 8 refs; reads=6 writes=2; used at $F82C, F831, F833, F86E, +3 more
Zp3D = $3D ; 5 refs; reads=2 writes=3; used at $F8F1, F8F8, F91A, F9B9, +1 more
Zp3E = $3E ; 1 refs; reads=0 writes=1; used at $F91F
Zp40 = $40 ; 133 refs; reads=112 writes=21; used at $BACE, BC2E, BCB3, BCC8, +129 more
Zp41 = $41 ; 4 refs; reads=0 writes=4; used at $CB71, CD2F, CDFD, EAA0
Zp42 = $42 ; 2 refs; reads=0 writes=2; used at $CB73, CD31
Zp4B = $4B ; 9 refs; reads=5 writes=4; used at $EC5B, EC86, ECCE, ECD3, +4 more
Zp4C = $4C ; 5 refs; reads=2 writes=3; used at $EEA6, EF02, EF08, EF2E, +1 more
Zp4D = $4D ; 13 refs; reads=4 writes=9; used at $BD13, C336, C3CE, C474, +9 more
Zp58 = $58 ; 9 refs; reads=2 writes=7; used at $C338, C3D0, C46F, C47F, +5 more
Zp63 = $63 ; 9 refs; reads=2 writes=7; used at $C33C, C35A, C3A4, C3D4, +5 more
Zp6E = $6E ; 9 refs; reads=2 writes=7; used at $C340, C35C, C3A6, C3D8, +5 more
Zp79 = $79 ; 142 refs; reads=121 writes=21; used at $BAB4, BC19, BC9D, BD5C, +138 more
Zp7A = $7A ; 4 refs; reads=1 writes=3; used at $CD27, CDF9, CE9E, EAA7
Zp7B = $7B ; 1 refs; reads=0 writes=1; used at $CD2B
Zp84 = $84 ; 9 refs; reads=6 writes=3; used at $EC22, EC8E, EC9C, EC9E, +5 more
Zp85 = $85 ; 7 refs; reads=4 writes=3; used at $EE9A, EEB9, EEC7, EEC9, +3 more
Zp86 = $86 ; 65 refs; reads=45 writes=20; used at $BB30, BC1B, BC36, BC6B, +61 more
Zp87 = $87 ; 2 refs; reads=0 writes=2; used at $EA80, EA86
Zp90 = $90 ; 30 refs; reads=22 writes=8; used at $BC99, C668, C735, C73D, +22 more
Zp91 = $91 ; 4 refs; reads=0 writes=4; used at $A5D6, EA44, EA94, F32D
Zp9B = $9B ; 7 refs; reads=4 writes=3; used at $EC08, EC3A, EC3E, ECDB, +1 more
Zp9C = $9C ; 2 refs; reads=1 writes=1; used at $EEB0, EFC4
Zp9D = $9D ; 8 refs; reads=4 writes=4; used at $B042, B04B, D4C8, D6B7, +4 more
Zp9E = $9E ; 5 refs; reads=3 writes=2; used at $D6B9, F41A, F45B, F529, +1 more
Zp9F = $9F ; 7 refs; reads=3 writes=4; used at $BA00, BB2C, D452, D6BC, +3 more
ZpA7 = $A7 ; 6 refs; reads=4 writes=2; used at $B049, B053, F3DC, F403, +1 more
ZpA8 = $A8 ; 4 refs; reads=3 writes=1; used at $F424, F44B, F44D
ZpA9 = $A9 ; 6 refs; reads=3 writes=3; used at $BA09, F471, F489, F48D
ZpB1 = $B1 ; 2 refs; reads=1 writes=1; used at $B8E2, F3E3
ZpB2 = $B2 ; 1 refs; reads=1 writes=0; used at $F3E8
ZpC1 = $C1 ; 1 refs; reads=1 writes=0; used at $F42B
ZpC2 = $C2 ; 1 refs; reads=1 writes=0; used at $F430
ZpD1 = $D1 ; 1 refs; reads=0 writes=1; used at $BAA4
ZpF1 = $F1 ; 19 refs; reads=12 writes=7; used at $AFD1, AFF3, B029, B02F, +15 more
ZpF2 = $F2 ; 7 refs; reads=1 writes=6; used at $BB69, D551, D607, D646, +3 more
ZpF3 = $F3 ; 15 refs; reads=8 writes=7; used at $B9C3, B9E7, B9ED, B9F4, +11 more
ZpF4 = $F4 ; 47 refs; reads=20 writes=27; used at $AE67, AF08, AFF1, B023, +32 more
ZpF5 = $F5 ; 2 refs; reads=0 writes=2; used at $A902, A908
ZpF6 = $F6 ; 1 refs; reads=0 writes=1; used at $A8FE
ZpF7 = $F7 ; 8 refs; reads=3 writes=5; used at $A5AA, A940, ADB0, ADB7, +4 more
ZpF8 = $F8 ; 8 refs; reads=3 writes=5; used at $A5AE, A945, ADB5, ADBC, +4 more
ZpF9 = $F9 ; 21 refs; reads=18 writes=3; used at $A668, A7D9, A8E9, A9F7, +17 more
ZpFA = $FA ; 4 refs; reads=2 writes=2; used at $B027, B059, F3F8
ZpFB = $FB ; 1 refs; reads=1 writes=0; used at $F440
ZpFC = $FC ; 22 refs; reads=17 writes=5; used at $BE4B, BFAB, C0EE, C164, +18 more
ZpFD = $FD ; 22 refs; reads=17 writes=5; used at $BE4D, BFD8, C126, C1A2, +18 more
ZpFE = $FE ; 23 refs; reads=17 writes=6; used at $BE4F, C008, C0D2, C148, +19 more
ZpFF = $FF ; 23 refs; reads=17 writes=6; used at $BE51, C055, C10A, C17B, +19 more
File diff suppressed because it is too large. Load diff