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`:
+107 -4
View File
@@ -1,4 +1,107 @@
; 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.
; Sqoon (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=0 writes=3; used at $82E5, 82EB, 8306
Zp01 = $01 ; 4 refs; reads=1 writes=3; used at $82E7, 82FE, 830B
Zp02 = $02 ; 2 refs; reads=1 writes=1; used at $82BD, 8312
Zp03 = $03 ; 1 refs; reads=0 writes=1; used at $80E6
Zp08 = $08 ; 1 refs; reads=0 writes=1; used at $83B6
Zp09 = $09 ; 1 refs; reads=0 writes=1; used at $83BB
Zp0A = $0A ; 7 refs; reads=3 writes=4; used at $8071, 819B, 81D2, 9094, +3 more
Zp0B = $0B ; 6 refs; reads=3 writes=3; used at $807F, 81D4, 908E, 909E, +2 more
Zp0C = $0C ; 3 refs; reads=1 writes=2; used at $8076, 81A0, 81D6
Zp0D = $0D ; 2 refs; reads=1 writes=1; used at $8083, 81D8
Zp10 = $10 ; 4 refs; reads=2 writes=2; used at $86B8, 86BD, 86C3, 86E1
Zp11 = $11 ; 5 refs; reads=2 writes=3; used at $86AA, 86AE, 86B6, 86D3, +1 more
Zp12 = $12 ; 4 refs; reads=3 writes=1; used at $86DA, 86DF, 86F9, B66B
Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $B66F
Zp14 = $14 ; 2 refs; reads=1 writes=1; used at $86D5, 86F1
Zp15 = $15 ; 8 refs; reads=4 writes=4; used at $86C1, 86CB, 86CE, 86D1, +1 more
Zp18 = $18 ; 12 refs; reads=7 writes=5; used at $826E, 8292, 8298, 86E7, +4 more
Zp1D = $1D ; 14 refs; reads=8 writes=6; used at $8023, 8027, 807B, 8081, +10 more
Zp1E = $1E ; 1 refs; reads=0 writes=1; used at $81A7
Zp1F = $1F ; 5 refs; reads=4 writes=1; used at $810B, 8148, 814D, 8153
Zp20 = $20 ; 2 refs; reads=1 writes=1; used at $810D, 814F
Zp21 = $21 ; 2 refs; reads=1 writes=1; used at $80AB, 8155
Zp22 = $22 ; 1 refs; reads=0 writes=1; used at $8151
Zp23 = $23 ; 2 refs; reads=1 writes=1; used at $8142, 8145
Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $82D9, 82F5
Zp46 = $46 ; 23 refs; reads=15 writes=8; used at $80CB, 80DC, B97A, B981, +18 more
Zp47 = $47 ; 8 refs; reads=2 writes=6; used at $80CF, 80D8, E0D0, E2EF, +3 more
Zp48 = $48 ; 2 refs; reads=1 writes=1; used at $E2BD, E462
Zp49 = $49 ; 4 refs; reads=2 writes=2; used at $E2C6, E466, E492, E49D
Zp4A = $4A ; 29 refs; reads=19 writes=10; used at $829D, 82A1, 83A5, 83B4, +24 more
Zp4B = $4B ; 8 refs; reads=5 writes=3; used at $82A3, 82A7, 83A9, E37B, +4 more
Zp4C = $4C ; 6 refs; reads=3 writes=3; used at $B675, B6B8, B6D9, E247, +1 more
Zp4D = $4D ; 2 refs; reads=1 writes=1; used at $829F, 82AA
Zp4E = $4E ; 2 refs; reads=1 writes=1; used at $82A5, 82AE
Zp50 = $50 ; 3 refs; reads=2 writes=1; used at $80B6, 80BD, 83AB
Zp51 = $51 ; 1 refs; reads=1 writes=0; used at $83BD
Zp54 = $54 ; 6 refs; reads=5 writes=1; used at $801E, 80D1, 8160, 9089, +1 more
Zp55 = $55 ; 6 refs; reads=5 writes=1; used at $8050, 80B1, 8103, 8329, +2 more
Zp56 = $56 ; 1 refs; reads=0 writes=1; used at $B98C
Zp59 = $59 ; 2 refs; reads=0 writes=2; used at $8033, B7BC
Zp5C = $5C ; 2 refs; reads=0 writes=2; used at $B7CE, B7D4
Zp5D = $5D ; 2 refs; reads=0 writes=2; used at $8035, B7BE
Zp61 = $61 ; 2 refs; reads=0 writes=2; used at $8037, B7C0
Zp65 = $65 ; 4 refs; reads=1 writes=3; used at $8031, B77E, B7B2, B7C2
Zp69 = $69 ; 2 refs; reads=0 writes=2; used at $8039, B7C4
Zp6D = $6D ; 2 refs; reads=0 writes=2; used at $803B, B7C6
Zp6F = $6F ; 3 refs; reads=0 writes=3; used at $B78A, B798, B7A2
Zp70 = $70 ; 3 refs; reads=0 writes=3; used at $B78E, B79C, B7A6
Zp71 = $71 ; 2 refs; reads=0 writes=2; used at $803D, B7C8
Zp73 = $73 ; 4 refs; reads=0 writes=4; used at $B786, B794, B7AE, B7B8
Zp74 = $74 ; 1 refs; reads=0 writes=1; used at $B7D8
Zp75 = $75 ; 2 refs; reads=0 writes=2; used at $803F, B7CA
Zp79 = $79 ; 1 refs; reads=0 writes=1; used at $8C6B
Zp7A = $7A ; 1 refs; reads=0 writes=1; used at $8C71
Zp7D = $7D ; 3 refs; reads=2 writes=1; used at $80C5, 815B, 821E
Zp8D = $8D ; 6 refs; reads=3 writes=3; used at $E126, E12A, E245, E344, +2 more
Zp8F = $8F ; 10 refs; reads=6 writes=4; used at $E0DF, E2CF, E3D1, E406, +5 more
Zp90 = $90 ; 6 refs; reads=2 writes=4; used at $E0E4, E3D5, E4A4, E4B2
Zp91 = $91 ; 1 refs; reads=0 writes=1; used at $E0F3
Zp92 = $92 ; 1 refs; reads=0 writes=1; used at $E0F8
Zp93 = $93 ; 2 refs; reads=0 writes=2; used at $E107, E3D9
Zp94 = $94 ; 2 refs; reads=0 writes=2; used at $E10C, E3DD
Zp95 = $95 ; 1 refs; reads=0 writes=1; used at $E11B
Zp96 = $96 ; 1 refs; reads=0 writes=1; used at $E120
Zp9A = $9A ; 5 refs; reads=2 writes=3; used at $800F, 809E, B5DE, B5FD, +1 more
Zp9B = $9B ; 3 refs; reads=1 writes=2; used at $B5E3, B5EA
ZpA0 = $A0 ; 28 refs; reads=17 writes=11; used at $B60A, B60C, B62E, B699, +24 more
ZpA1 = $A1 ; 16 refs; reads=5 writes=11; used at $B610, B612, B69D, B6AE, +12 more
ZpA2 = $A2 ; 2 refs; reads=1 writes=1; used at $B6AC, B757
ZpA3 = $A3 ; 2 refs; reads=1 writes=1; used at $B6B0, B75B
ZpA4 = $A4 ; 2 refs; reads=1 writes=1; used at $B6B2, B75F
ZpA5 = $A5 ; 9 refs; reads=5 writes=4; used at $B607, B6B4, B6B6, B73E, +5 more
ZpA6 = $A6 ; 8 refs; reads=3 writes=5; used at $B62C, B865, B8A1, B8CB, +4 more
ZpA7 = $A7 ; 5 refs; reads=2 writes=3; used at $B8BE, B8C2, B8DE, B8E8
ZpA8 = $A8 ; 7 refs; reads=4 writes=3; used at $B61E, B8B9, B935, B943, +3 more
ZpA9 = $A9 ; 7 refs; reads=4 writes=3; used at $B619, B8B4, B93B, B947, +3 more
ZpAB = $AB ; 2 refs; reads=1 writes=1; used at $E08B, E08F
ZpAC = $AC ; 5 refs; reads=2 writes=3; used at $E0A1, E0C6, E353, E35D, +1 more
ZpAD = $AD ; 4 refs; reads=2 writes=2; used at $E0C1, E351, E361
ZpAE = $AE ; 4 refs; reads=1 writes=3; used at $E0E8, E256, E3E1
ZpAF = $AF ; 1 refs; reads=0 writes=1; used at $E0FC
ZpB0 = $B0 ; 2 refs; reads=0 writes=2; used at $E110, E3E3
ZpB1 = $B1 ; 1 refs; reads=0 writes=1; used at $E124
ZpB2 = $B2 ; 12 refs; reads=4 writes=8; used at $E25F, E264, E26E, E288, +8 more
ZpB6 = $B6 ; 10 refs; reads=5 writes=5; used at $E25A, E270, E280, E297, +2 more
ZpBA = $BA ; 3 refs; reads=1 writes=2; used at $E274, E27C
ZpBE = $BE ; 1 refs; reads=1 writes=0; used at $E2C1
ZpC2 = $C2 ; 2 refs; reads=1 writes=1; used at $E31D, E464
ZpC6 = $C6 ; 1 refs; reads=1 writes=0; used at $E313
ZpCA = $CA ; 2 refs; reads=2 writes=0; used at $E2A6, E2AA
ZpCE = $CE ; 2 refs; reads=2 writes=0; used at $E266, E26C
ZpD2 = $D2 ; 1 refs; reads=1 writes=0; used at $E2A2
ZpD6 = $D6 ; 1 refs; reads=1 writes=0; used at $E262
ZpDA = $DA ; 1 refs; reads=1 writes=0; used at $E272
ZpDE = $DE ; 1 refs; reads=1 writes=0; used at $E28B
ZpE2 = $E2 ; 3 refs; reads=3 writes=0; used at $E468, E47C, E48C
ZpE6 = $E6 ; 8 refs; reads=5 writes=3; used at $E46C, E46E, E474, E47A, +3 more
ZpFB = $FB ; 6 refs; reads=5 writes=1; used at $B649, B64D, B780, B7A8, +2 more
ZpFC = $FC ; 6 refs; reads=3 writes=3; used at $8C61, B651, B65F, B776, +2 more
ZpFE = $FE ; 7 refs; reads=3 writes=4; used at $8003, 800D, 8015, 801C, +1 more
ZpFF = $FF ; 2 refs; reads=1 writes=1; used at $82C3, 8316
+5601 -10
View File
File diff suppressed because it is too large. Load diff