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`:
+73 -4
View File
@@ -1,4 +1,73 @@
; 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.
; Gyromite (JUE) 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 ; 46 refs; reads=23 writes=23; used at $8015, 8019, 8D3E, 8E2E, +42 more
Zp01 = $01 ; 18 refs; reads=6 writes=12; used at $8013, 801E, 8020, 8D41, +13 more
Zp02 = $02 ; 7 refs; reads=3 writes=4; used at $8D47, 90C7, 90DA, B188, +3 more
Zp03 = $03 ; 6 refs; reads=2 writes=4; used at $8E45, 8E62, 8E72, 8E81, +2 more
Zp08 = $08 ; 6 refs; reads=2 writes=4; used at $802F, 8054, AFA0, AFA7, +2 more
Zp09 = $09 ; 2 refs; reads=0 writes=2; used at $8033, 8058
Zp0A = $0A ; 4 refs; reads=3 writes=1; used at $803C, 8114, A32B, B0F8
Zp0B = $0B ; 2 refs; reads=1 writes=1; used at $8041, B0FD
Zp0C = $0C ; 19 refs; reads=13 writes=6; used at $951F, 9539, 9547, 955B, +15 more
Zp0D = $0D ; 17 refs; reads=10 writes=7; used at $953F, 9553, 9583, A31A, +8 more
Zp0E = $0E ; 4 refs; reads=3 writes=1; used at $AF63, AF6B, AF6D, AF72
Zp14 = $14 ; 4 refs; reads=2 writes=2; used at $B053, B058, B05C, B060
Zp15 = $15 ; 2 refs; reads=0 writes=2; used at $B056, B05E
Zp16 = $16 ; 1 refs; reads=0 writes=1; used at $AF89
Zp18 = $18 ; 4 refs; reads=2 writes=2; used at $80EF, 80F3, 8132
Zp1D = $1D ; 1 refs; reads=0 writes=1; used at $811A
Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $B230
Zp20 = $20 ; 3 refs; reads=1 writes=2; used at $806B, 806F, 809F
Zp21 = $21 ; 2 refs; reads=1 writes=1; used at $AF94, AFD5
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $AF22, AF47
Zp24 = $24 ; 4 refs; reads=3 writes=1; used at $8048, 80DD, B2C9, B330
Zp25 = $25 ; 6 refs; reads=4 writes=2; used at $80B5, 80F5, 8118, 811E, +2 more
Zp26 = $26 ; 1 refs; reads=1 writes=0; used at $8163
Zp27 = $27 ; 2 refs; reads=1 writes=1; used at $B04B, B062
Zp28 = $28 ; 2 refs; reads=1 writes=1; used at $B04D, B064
Zp29 = $29 ; 4 refs; reads=2 writes=2; used at $810C, B02C, B032
Zp2A = $2A ; 3 refs; reads=2 writes=1; used at $B036, B03A
Zp2B = $2B ; 1 refs; reads=1 writes=0; used at $8106
Zp2C = $2C ; 1 refs; reads=0 writes=1; used at $B232
Zp2E = $2E ; 4 refs; reads=3 writes=1; used at $806D, 9096, 9694
Zp2F = $2F ; 4 refs; reads=2 writes=2; used at $B03F, B043, B048
Zp30 = $30 ; 1 refs; reads=1 writes=0; used at $80A6
Zp3C = $3C ; 1 refs; reads=0 writes=1; used at $8116
Zp4A = $4A ; 9 refs; reads=9 writes=0; used at $8E23, 8E2B, 8E3A, 8E42, +5 more
Zp5A = $5A ; 1 refs; reads=1 writes=0; used at $80E4
Zp5F = $5F ; 2 refs; reads=1 writes=1; used at $90E4
ZpD0 = $D0 ; 4 refs; reads=1 writes=3; used at $F0E0, F14C, F1E0
ZpD1 = $D1 ; 1 refs; reads=0 writes=1; used at $F0E2
ZpD2 = $D2 ; 1 refs; reads=0 writes=1; used at $F0E4
ZpD3 = $D3 ; 1 refs; reads=0 writes=1; used at $F0E6
ZpD4 = $D4 ; 2 refs; reads=1 writes=1; used at $F18C, F1DE
ZpD8 = $D8 ; 6 refs; reads=3 writes=3; used at $F166, F16A, F175, F177
ZpDC = $DC ; 2 refs; reads=1 writes=1; used at $F11A, F1D0
ZpDD = $DD ; 1 refs; reads=0 writes=1; used at $F11C
ZpDE = $DE ; 1 refs; reads=0 writes=1; used at $F204
ZpDF = $DF ; 2 refs; reads=1 writes=1; used at $F0D5, F186
ZpE0 = $E0 ; 1 refs; reads=1 writes=0; used at $F13D
ZpE1 = $E1 ; 2 refs; reads=2 writes=0; used at $F141, F145
ZpE8 = $E8 ; 9 refs; reads=5 writes=4; used at $F0EA, F150, F152, F16E, +3 more
ZpE9 = $E9 ; 1 refs; reads=0 writes=1; used at $F0EC
ZpEA = $EA ; 1 refs; reads=0 writes=1; used at $F0EE
ZpEB = $EB ; 1 refs; reads=0 writes=1; used at $F0F0
ZpEC = $EC ; 2 refs; reads=1 writes=1; used at $F16C, F17B
ZpF0 = $F0 ; 7 refs; reads=5 writes=2; used at $B2B9, B2BB, F2E7, F307, +3 more
ZpF1 = $F1 ; 2 refs; reads=1 writes=1; used at $F309, F727
ZpF2 = $F2 ; 8 refs; reads=6 writes=2; used at $B316, B318, F30B, F4CB, +4 more
ZpF3 = $F3 ; 8 refs; reads=5 writes=3; used at $B337, B339, F2C9, F2CD, +4 more
ZpF5 = $F5 ; 3 refs; reads=2 writes=1; used at $F225, F258, F269
ZpF6 = $F6 ; 1 refs; reads=0 writes=1; used at $F227
ZpF7 = $F7 ; 5 refs; reads=2 writes=3; used at $F1EE, F364, F7B2, F7BA
ZpF9 = $F9 ; 2 refs; reads=0 writes=2; used at $F0AE, F0BC
ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $F0B2
ZpFB = $FB ; 2 refs; reads=1 writes=1; used at $F0B4, F0BA
ZpFC = $FC ; 1 refs; reads=0 writes=1; used at $F0B6
ZpFD = $FD ; 7 refs; reads=4 writes=3; used at $B2D0, B2D2, F126, F133, +3 more
ZpFE = $FE ; 3 refs; reads=2 writes=1; used at $F13F, F154, F198
ZpFF = $FF ; 1 refs; reads=0 writes=1; used at $F143
File diff suppressed because it is too large. Load diff