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`:
+54 -4
View File
@@ -1,4 +1,54 @@
; 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.
; Kung Fu (U) (a1) 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 ; 28 refs; reads=13 writes=15; used at $8274, 8277, 8287, 82AA, +22 more
Zp01 = $01 ; 14 refs; reads=5 writes=9; used at $8270, 827C, 8282, 828C, +8 more
Zp02 = $02 ; 5 refs; reads=3 writes=2; used at $83DB, 83E9, 83EE, 8FF3, +1 more
Zp03 = $03 ; 5 refs; reads=2 writes=3; used at $83E1, 8FE9, 9012, 9014
Zp04 = $04 ; 1 refs; reads=0 writes=1; used at $8FEB
Zp10 = $10 ; 9 refs; reads=5 writes=4; used at $82D6, 82DD, 839F, 8E30, +5 more
Zp11 = $11 ; 2 refs; reads=1 writes=1; used at $8325, 832C
Zp12 = $12 ; 1 refs; reads=0 writes=1; used at $8FD2
Zp13 = $13 ; 1 refs; reads=0 writes=1; used at $8FD7
Zp14 = $14 ; 4 refs; reads=3 writes=1; used at $8381, 9020, 9028, 903B
Zp15 = $15 ; 4 refs; reads=2 writes=2; used at $88FF, 902A, 9031, 9047
Zp18 = $18 ; 3 refs; reads=2 writes=1; used at $8350, 8360
Zp19 = $19 ; 3 refs; reads=2 writes=1; used at $8356, 8362
Zp1A = $1A ; 2 refs; reads=1 writes=1; used at $8364
Zp1B = $1B ; 2 refs; reads=1 writes=1; used at $8366
Zp1C = $1C ; 2 refs; reads=1 writes=1; used at $8368
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $836A
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $836C
Zp1F = $1F ; 2 refs; reads=1 writes=1; used at $836E
Zp20 = $20 ; 4 refs; reads=1 writes=3; used at $8338, 833E, 8394
Zp21 = $21 ; 3 refs; reads=2 writes=1; used at $8342, 8346
Zp35 = $35 ; 3 refs; reads=1 writes=2; used at $8391, 83D0, 88D8
Zp49 = $49 ; 2 refs; reads=1 writes=1; used at $834B
Zp4F = $4F ; 4 refs; reads=2 writes=2; used at $83E3, 83E5, 88DE
Zp50 = $50 ; 3 refs; reads=2 writes=1; used at $8321, 83A7, 88DC
Zp51 = $51 ; 5 refs; reads=4 writes=1; used at $83B2, 83BD, 83D4, 88D4, +1 more
Zp52 = $52 ; 2 refs; reads=1 writes=1; used at $82F5, 831A
Zp5C = $5C ; 1 refs; reads=1 writes=0; used at $88F4
Zp5D = $5D ; 1 refs; reads=1 writes=0; used at $88F6
Zp63 = $63 ; 1 refs; reads=0 writes=1; used at $83F9
Zp66 = $66 ; 1 refs; reads=0 writes=1; used at $831C
Zp6F = $6F ; 3 refs; reads=1 writes=2; used at $83F5, 83FD, 88E6
ZpF0 = $F0 ; 8 refs; reads=4 writes=4; used at $FB6A, FBA3, FBAA, FBAC, +2 more
ZpF1 = $F1 ; 3 refs; reads=1 writes=2; used at $F8E2, F8F4, F902
ZpF2 = $F2 ; 6 refs; reads=3 writes=3; used at $F92A, F948, F95F, F96D, +2 more
ZpF3 = $F3 ; 2 refs; reads=1 writes=1; used at $FB4B, FBBC
ZpF4 = $F4 ; 5 refs; reads=3 writes=2; used at $FB8B, FC21, FC2A, FC2C
ZpF5 = $F5 ; 10 refs; reads=8 writes=2; used at $FB40, FB49, FB56, FBB6, +6 more
ZpF6 = $F6 ; 8 refs; reads=4 writes=4; used at $F889, F89C, F8A8, F8B3, +3 more
ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $FB77, FCE2
ZpF8 = $F8 ; 8 refs; reads=5 writes=3; used at $FB86, FC68, FC71, FC73, +2 more
ZpF9 = $F9 ; 7 refs; reads=6 writes=1; used at $FB7C, FBAE, FBDA, FC2E, +3 more
ZpFA = $FA ; 1 refs; reads=0 writes=1; used at $FB81
ZpFB = $FB ; 3 refs; reads=1 writes=2; used at $8927, F84F, FB3C
ZpFC = $FC ; 10 refs; reads=5 writes=5; used at $F84D, F9D9, F9E0, F9E4, +2 more
ZpFD = $FD ; 2 refs; reads=1 writes=1; used at $F84B, FAF6
ZpFE = $FE ; 6 refs; reads=3 writes=3; used at $F849, F967, F972, F976
ZpFF = $FF ; 8 refs; reads=4 writes=4; used at $F847, F8F0, F8F6, F8FA, +1 more
File diff suppressed because it is too large. Load diff