Files
disasm/Urban Champion (JU)/copilot/header.s
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

17 lines
720 B
ArmAsm

; Urban Champion (JU) NES header
; iNES format: 16 bytes
;
; Bytes 0-3: "NES" + $1A
; Byte 4: PRG ROM size in 16 KB units (1 = 16 KB)
; Byte 5: CHR ROM size in 8 KB units (1 = 8 KB)
; Byte 6: Flags 6 (mapper low, mirroring, battery, trainer)
; Byte 7: Flags 7 (mapper high, VS/PlayChoice, NES 2.0)
; Bytes 8-15: Reserved (usually zero)
.segment "HEADER"
.byte "NES", $1A ; $00-$03: Magic
.byte 1 ; $04: PRG ROM size (1 x 16 KB = 16 KB)
.byte 1 ; $05: CHR ROM size (1 x 8 KB = 8 KB)
.byte $01 ; $06: Mapper 0, horizontal mirroring, no battery, no trainer
.byte $00 ; $07: Mapper 0 high, no VS/PlayChoice
.byte 0, 0, 0, 0, 0, 0, 0, 0 ; $08-$0F: Reserved