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`:
+57 -4
View File
@@ -1,4 +1,57 @@
; 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.
; Elevator Action (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 ; 6 refs; reads=3 writes=3; used at $8057, 82F0, 82F9, 830A, +2 more
Zp02 = $02 ; 7 refs; reads=5 writes=2; used at $8156, 8169, 816D, 822E, +3 more
Zp03 = $03 ; 2 refs; reads=1 writes=1; used at $825D, 8323
Zp38 = $38 ; 2 refs; reads=1 writes=1; used at $815B, 815F
Zp39 = $39 ; 2 refs; reads=1 writes=1; used at $8161, 8165
Zp6E = $6E ; 4 refs; reads=2 writes=2; used at $814C, 8311, 831C
Zp70 = $70 ; 6 refs; reads=2 writes=4; used at $F67F, F68A, F698, F6A4
Zp71 = $71 ; 7 refs; reads=1 writes=6; used at $8240, 824A, 8250, 8256, +3 more
Zp72 = $72 ; 2 refs; reads=0 writes=2; used at $8244, F694
Zp73 = $73 ; 2 refs; reads=0 writes=2; used at $802F, 8031
Zp74 = $74 ; 4 refs; reads=2 writes=2; used at $802B, 8036, 8038
Zp75 = $75 ; 2 refs; reads=1 writes=1; used at $8226, 822C
Zp80 = $80 ; 2 refs; reads=1 writes=1; used at $80F5, 812A
Zp81 = $81 ; 4 refs; reads=1 writes=3; used at $80E7, 80F3, 8123
Zp82 = $82 ; 9 refs; reads=4 writes=5; used at $80B8, 80D0, 8105, 811A, +5 more
Zp83 = $83 ; 9 refs; reads=3 writes=6; used at $80BE, 80E0, 80E2, 80E5, +4 more
Zp85 = $85 ; 6 refs; reads=3 writes=3; used at $80B2, 80D6, F779, F787, +1 more
Zp86 = $86 ; 8 refs; reads=4 writes=4; used at $F816, F81E, F824, F831, +2 more
Zp87 = $87 ; 13 refs; reads=8 writes=5; used at $F796, F7B2, F7C8, F7CD, +7 more
Zp88 = $88 ; 6 refs; reads=3 writes=3; used at $806A, 808E, 8095, 8136, +2 more
Zp89 = $89 ; 2 refs; reads=1 writes=1; used at $8063, 813B
Zp8E = $8E ; 1 refs; reads=1 writes=0; used at $812C
Zp8F = $8F ; 1 refs; reads=1 writes=0; used at $8131
Zp94 = $94 ; 4 refs; reads=1 writes=3; used at $81E7, 81F1, 81F8, 8203
Zp95 = $95 ; 8 refs; reads=4 writes=4; used at $81FD, 8200, 8209, 820B, +3 more
Zp96 = $96 ; 2 refs; reads=1 writes=1; used at $820F, 8213
Zp97 = $97 ; 2 refs; reads=0 writes=2; used at $8215, 8221
Zp9A = $9A ; 2 refs; reads=1 writes=1; used at $8081, 81DA
Zp9B = $9B ; 2 refs; reads=1 writes=1; used at $8083, 81D8
Zp9C = $9C ; 2 refs; reads=1 writes=1; used at $8085, 81D6
Zp9D = $9D ; 2 refs; reads=1 writes=1; used at $8141, 8178
Zp9E = $9E ; 4 refs; reads=3 writes=1; used at $8180, 8182, 8188
ZpA7 = $A7 ; 3 refs; reads=1 writes=2; used at $F650, F674, F89D
ZpA8 = $A8 ; 1 refs; reads=0 writes=1; used at $F654
ZpA9 = $A9 ; 27 refs; reads=10 writes=17; used at $F658, F683, F7DD, F84B, +23 more
ZpAA = $AA ; 1 refs; reads=0 writes=1; used at $F65C
ZpAB = $AB ; 3 refs; reads=2 writes=1; used at $F661, FA24, FA35
ZpAC = $AC ; 1 refs; reads=0 writes=1; used at $F666
ZpAD = $AD ; 5 refs; reads=1 writes=4; used at $F66A, F876, F880, F882
ZpAE = $AE ; 1 refs; reads=0 writes=1; used at $F66E
ZpAF = $AF ; 4 refs; reads=1 writes=3; used at $F761, F783, F802
ZpB0 = $B0 ; 4 refs; reads=1 writes=3; used at $F766, F781, F804
ZpB1 = $B1 ; 4 refs; reads=1 writes=3; used at $F76B, F77F, F806
ZpB2 = $B2 ; 4 refs; reads=1 writes=3; used at $F770, F77D, F808
ZpB3 = $B3 ; 9 refs; reads=5 writes=4; used at $F775, F77B, F88F, F89B, +4 more
ZpB4 = $B4 ; 23 refs; reads=18 writes=5; used at $F7D6, F7F0, F80A, F843, +19 more
ZpB5 = $B5 ; 12 refs; reads=5 writes=7; used at $F810, F859, F862, F868, +7 more
ZpB6 = $B6 ; 8 refs; reads=3 writes=5; used at $F80C, F8F4, F8FE, F911, +3 more
ZpF6 = $F6 ; 2 refs; reads=1 writes=1; used at $81C0, 81C5
ZpF7 = $F7 ; 2 refs; reads=1 writes=1; used at $81C7, 81CB
ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $8087, 830C
File diff suppressed because it is too large. Load diff