Files
disasm/Urban Champion (JU)/copilot/Makefile
T
tmerritt 4b9cb7231c Urban Champion (JU): Promote to top-level with full-ROM build
- 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
2026-10-18 20:10:03 -04:00

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