- Moved from _wip/ to top-level - Added header.s, chr.s (16-byte iNES header + 8KB CHR) - Updated linker.cfg for HEADER/PRG/CHR segments - Updated Makefile for full-ROM comparison (reconstructed.nes vs rom.nes) - Fixed tool paths from ../../../_tools/ to ../../_tools/ - Added data_label_map.tsv for Pass 3 data table naming - Full-ROM byte-identical verified: make passes, verify_pass1.py passes Pass 1: Complete (CDL-verified, 33.9% code) Pass 2: Complete (519 labels renamed, 10 zero-page aliases) Pass 3: Complete (55 data tables named, 6 major structures documented) Build: BYTE-IDENTICAL at full-ROM level
30 lines
927 B
Makefile
30 lines
927 B
Makefile
all: reconstructed.nes verify
|
|
|
|
# Standard build
|
|
header.o: header.s
|
|
ca65 -g -o $@ header.s
|
|
|
|
prg.o: prg.s symbols.inc locals.inc prg.bin
|
|
ca65 -g -o $@ prg.s
|
|
|
|
chr.o: chr.s chr.bin
|
|
ca65 -g -o $@ chr.s
|
|
|
|
reconstructed.nes: header.o prg.o chr.o linker.cfg
|
|
ld65 -C linker.cfg -m reconstructed.map -Ln reconstructed.lbl -o $@ header.o prg.o chr.o
|
|
|
|
verify: reconstructed.nes rom.nes
|
|
cmp reconstructed.nes rom.nes
|
|
@echo "Byte-identical ROM verified."
|
|
|
|
# Regen pipeline (requires ../../_tools/)
|
|
regen:
|
|
python3 ../../_tools/nesdis.py --prg prg.bin --base 0xC000 --project "Urban Champion (JU)" \
|
|
--out prg.s --locals locals.inc --auto-seed \
|
|
--extra-seed 0xCA00,0xCA91 \
|
|
--data 0xCB70:60
|
|
python3 ../../_tools/pass2.py apply prg.s label_map.tsv
|
|
python3 ../../_tools/pass2.py apply prg.s data_label_map.tsv
|
|
|
|
clean:
|
|
rm -f header.o prg.o chr.o reconstructed.nes reconstructed.map reconstructed.lbl reconstructed_prg.bin
|