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`:
+47 -4
View File
@@ -1,4 +1,47 @@
; 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.
; Othello (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 ; 13 refs; reads=10 writes=3; used at $8035, 806B, 806F, D6A4, +9 more
Zp01 = $01 ; 1 refs; reads=0 writes=1; used at $8031
Zp02 = $02 ; 3 refs; reads=2 writes=1; used at $8043, D71B, D72F
Zp03 = $03 ; 2 refs; reads=1 writes=1; used at $8041, D720
Zp04 = $04 ; 3 refs; reads=2 writes=1; used at $D705, D7CE, D84B
Zp05 = $05 ; 4 refs; reads=2 writes=2; used at $D6CC, D6E9, D6EB
Zp06 = $06 ; 2 refs; reads=1 writes=1; used at $D986, D990
Zp08 = $08 ; 2 refs; reads=1 writes=1; used at $D98C, DA1A
Zp09 = $09 ; 1 refs; reads=1 writes=0; used at $DA38
Zp0A = $0A ; 2 refs; reads=2 writes=0; used at $DA12, DA30
Zp0D = $0D ; 6 refs; reads=4 writes=2; used at $D787, D78E, D793, D797, +2 more
Zp0E = $0E ; 4 refs; reads=2 writes=2; used at $D78A, D7A0, D7A2
Zp0F = $0F ; 8 refs; reads=5 writes=3; used at $D7B2, D7E2, D824, D829, +3 more
Zp10 = $10 ; 10 refs; reads=6 writes=4; used at $D7B7, D7DD, D82D, D83B, +4 more
Zp11 = $11 ; 21 refs; reads=14 writes=7; used at $D790, D7B0, D7B5, D7BA, +14 more
Zp12 = $12 ; 13 refs; reads=6 writes=7; used at $D795, D7F8, D81C, D848, +4 more
Zp13 = $13 ; 6 refs; reads=3 writes=3; used at $D719, D71E, D726, D728
Zp14 = $14 ; 7 refs; reads=6 writes=1; used at $D7BC, D7C4, D7E7, D807, +3 more
Zp15 = $15 ; 5 refs; reads=4 writes=1; used at $D7C1, D7C6, D7CA, D868, +1 more
Zp16 = $16 ; 6 refs; reads=5 writes=1; used at $D780, D7AA, D7EE, D812, +2 more
Zp17 = $17 ; 4 refs; reads=2 writes=2; used at $D8E4, D8F6, D8F9, D902
Zp18 = $18 ; 3 refs; reads=2 writes=1; used at $D77C, D834, D8C9
Zp19 = $19 ; 3 refs; reads=2 writes=1; used at $D782, D836, D8CB
Zp1A = $1A ; 3 refs; reads=2 writes=1; used at $D784, D838, D8CD
Zp1E = $1E ; 8 refs; reads=5 writes=3; used at $D922, D932, D949, D979, +4 more
Zp20 = $20 ; 6 refs; reads=4 writes=2; used at $803B, D8D5, D8E6, D907, +2 more
Zp21 = $21 ; 6 refs; reads=4 writes=2; used at $8039, D8D8, D90A, D913, +2 more
Zp22 = $22 ; 5 refs; reads=3 writes=2; used at $D8F4, D8FB, D900, D905
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $D90C, D916
Zp24 = $24 ; 5 refs; reads=3 writes=2; used at $803F, DA0C, DA2A, DA61, +1 more
Zp25 = $25 ; 3 refs; reads=2 writes=1; used at $803D, DA0E, DA2C
Zp26 = $26 ; 3 refs; reads=1 writes=2; used at $D6D1, DA71
Zp2A = $2A ; 25 refs; reads=18 writes=7; used at $DB2D, DBE9, DBF1, DBFF, +19 more
Zp2B = $2B ; 11 refs; reads=4 writes=7; used at $DB32, DBED, DC36, DC7A, +5 more
Zp2C = $2C ; 12 refs; reads=5 writes=7; used at $DB7C, DC98, DC9D, DCB1, +8 more
Zp2D = $2D ; 1 refs; reads=0 writes=1; used at $DB80
Zp2E = $2E ; 16 refs; reads=12 writes=4; used at $8CF7, 8CFE, A2B9, A2E8, +12 more
Zp2F = $2F ; 3 refs; reads=3 writes=0; used at $8CEF, A2E0, A33C
Zp30 = $30 ; 3 refs; reads=2 writes=1; used at $A2B1, A4F0, A4F4
Zp33 = $33 ; 3 refs; reads=1 writes=2; used at $A019, A3DE, A45E
Zp34 = $34 ; 7 refs; reads=3 writes=4; used at $A01E, A396, A3E0, A3E6, +3 more
File diff suppressed because it is too large. Load diff