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`, links them with `ld65` and compares the
result against `rom.nes`:
+34 -4
View File
@@ -1,4 +1,34 @@
; 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.
; Port Test Cartridge (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 ; 4 refs; reads=2 writes=2; used at $CCF0, CCF6, CE8D, CE98
Zp01 = $01 ; 1 refs; reads=1 writes=0; used at $CCEB
Zp02 = $02 ; 1 refs; reads=0 writes=1; used at $CC4C
Zp03 = $03 ; 2 refs; reads=2 writes=0; used at $CCFD, CEC9
Zp04 = $04 ; 2 refs; reads=2 writes=0; used at $CCF8, CEC4
Zp05 = $05 ; 1 refs; reads=1 writes=0; used at $CCF4
Zp08 = $08 ; 2 refs; reads=1 writes=1; used at $CD05
Zp09 = $09 ; 2 refs; reads=1 writes=1; used at $CD09
Zp0C = $0C ; 1 refs; reads=0 writes=1; used at $CC55
Zp0D = $0D ; 1 refs; reads=0 writes=1; used at $CC1A
Zp19 = $19 ; 10 refs; reads=6 writes=4; used at $CCE6, CE6C, CE76, CE83, +5 more
Zp1A = $1A ; 6 refs; reads=2 writes=4; used at $CCE2, CE71, CE7A, CEB7, +1 more
Zp1B = $1B ; 4 refs; reads=3 writes=1; used at $CDD5, CE13, CE22, CE24
Zp1C = $1C ; 4 refs; reads=3 writes=1; used at $CDD9, CE1E, CE2A, CE2C
Zp1D = $1D ; 2 refs; reads=1 writes=1; used at $CDD7, CE20
Zp1E = $1E ; 2 refs; reads=1 writes=1; used at $CDDB, CE28
Zp1F = $1F ; 1 refs; reads=0 writes=1; used at $CE26
Zp20 = $20 ; 1 refs; reads=0 writes=1; used at $CE2E
Zp22 = $22 ; 6 refs; reads=4 writes=2; used at $CDE0, CE0D, CE33, CE3D, +1 more
Zp23 = $23 ; 6 refs; reads=4 writes=2; used at $CDE7, CE18, CE47, CE51, +1 more
Zp24 = $24 ; 2 refs; reads=1 writes=1; used at $CDE2, CE0F
Zp25 = $25 ; 2 refs; reads=1 writes=1; used at $CDE9, CE1A
Zp26 = $26 ; 1 refs; reads=1 writes=0; used at $CC67
Zp3B = $3B ; 1 refs; reads=1 writes=0; used at $CC4E
Zp42 = $42 ; 2 refs; reads=2 writes=0; used at $CC61, CCDA
Zp43 = $43 ; 2 refs; reads=1 writes=1; used at $CC1E, CC20
Zp44 = $44 ; 1 refs; reads=0 writes=1; used at $CE64
Zp46 = $46 ; 4 refs; reads=4 writes=0; used at $CDC9, CDD0, CDFE, CE05
File diff suppressed because it is too large. Load diff