Pass 1 _wip: 23 projects at Pass 1, byte-identical builds verified
This commit is contained in:
1 parent
691b2bc23c
commit
b08d65877f
101 files changed
+267311
-750
No files matched your search
@@ -2,11 +2,13 @@
|
||||
|
||||
## 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 (with branch-over-data adjustments). `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`, `trailer.s`, links them with `ld65` and compares the
|
||||
`make` assembles `header.s`, `prg.s`, `chr.s`, links them with `ld65` and compares the
|
||||
result against `rom.nes`:
|
||||
|
||||
```
|
||||
|
||||
@@ -1,4 +1,37 @@
|
||||
; 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.
|
||||
; Circus Charlie 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.
|
||||
|
||||
Zp56 = $56 ; 1 refs; reads=1 writes=0; used at $B7FF
|
||||
Zp68 = $68 ; 1 refs; reads=1 writes=0; used at $A689
|
||||
Zp6A = $6A ; 2 refs; reads=1 writes=1; used at $B7FD, B808
|
||||
Zp6B = $6B ; 2 refs; reads=1 writes=1; used at $B802, B80A
|
||||
Zp6D = $6D ; 2 refs; reads=1 writes=1; used at $A659
|
||||
Zp70 = $70 ; 2 refs; reads=1 writes=1; used at $A64F, A66A
|
||||
Zp71 = $71 ; 1 refs; reads=0 writes=1; used at $A68F
|
||||
Zp72 = $72 ; 1 refs; reads=0 writes=1; used at $A699
|
||||
Zp74 = $74 ; 2 refs; reads=1 writes=1; used at $A653, A67F
|
||||
Zp76 = $76 ; 2 refs; reads=1 writes=1; used at $B3B2, B3C0
|
||||
Zp77 = $77 ; 3 refs; reads=2 writes=1; used at $A685, A6DC, A7CC
|
||||
Zp78 = $78 ; 2 refs; reads=1 writes=1; used at $A661, A679
|
||||
Zp7B = $7B ; 1 refs; reads=1 writes=0; used at $A655
|
||||
Zp7C = $7C ; 1 refs; reads=1 writes=0; used at $B3B0
|
||||
Zp7E = $7E ; 3 refs; reads=1 writes=2; used at $8C0D, 8C0F, B408
|
||||
Zp7F = $7F ; 5 refs; reads=3 writes=2; used at $8C03, 8C05, B40C, B412
|
||||
Zp80 = $80 ; 1 refs; reads=0 writes=1; used at $A66F
|
||||
Zp81 = $81 ; 1 refs; reads=0 writes=1; used at $A691
|
||||
Zp82 = $82 ; 1 refs; reads=0 writes=1; used at $A69D
|
||||
Zp84 = $84 ; 1 refs; reads=0 writes=1; used at $A683
|
||||
Zp85 = $85 ; 2 refs; reads=1 writes=1; used at $A6C1
|
||||
Zp88 = $88 ; 2 refs; reads=1 writes=1; used at $A6D0
|
||||
Zp8C = $8C ; 4 refs; reads=3 writes=1; used at $8C07, A636, A663, A677
|
||||
Zp90 = $90 ; 1 refs; reads=1 writes=0; used at $A623
|
||||
Zp9A = $9A ; 1 refs; reads=0 writes=1; used at $A7C5
|
||||
ZpA0 = $A0 ; 1 refs; reads=1 writes=0; used at $A6F1
|
||||
ZpB0 = $B0 ; 1 refs; reads=1 writes=0; used at $A62D
|
||||
ZpCA = $CA ; 1 refs; reads=1 writes=0; used at $A638
|
||||
ZpD0 = $D0 ; 1 refs; reads=0 writes=1; used at $A9B3
|
||||
ZpD4 = $D4 ; 1 refs; reads=0 writes=1; used at $A9AF
|
||||
ZpFA = $FA ; 2 refs; reads=1 writes=1; used at $A7D2, A7D7
|
||||
Reference in new issue
Block a user