Pass 3 _wip: Slalom (U), Kung Fu (U), Othello (U) semantic naming complete Pass 3 _wip: apply symbols (0 residue) for Slalom (U), Kung Fu (U), Othello (U) Pass 2/3 _wip: 10 NROM projects (Elevator Action, 1942, Tag Team Wrestling, Galaga, Kung Fu a1, Stack-Up, Magmax, Ms Pac-Man Namco, Soccer, Sqoon) Promote 13 _wip/NROM projects to NROM/ (Slalom, Kung Fu, Othello, Elevator Action, 1942, Tag Team Wrestling, Galaga, Kung Fu a1, Stack-Up, Magmax, Ms Pac-Man Namco, Soccer, Sqoon) Pass 2/3 _wip: 5 CNROM games (Tiger-Heli, Paperboy, Last Starfighter, Mighty Bomb Jack, Kung-Fu Heroes) Docs: document CDL capture + re-trace workflow in TODO.md Adds more code for - Elevator Action (U) - Kung Fu (U) - Othello (U) - Slalom (U) - Sqoon (U)
1942 (JU)
Status
Pass 3. All address-derived Label_XXXX definitions replaced;
every jsr/jmp operand symbolic; hardware-register operands resolved
via apply_symbols.py (0 residue); audit comments aligned; make
stays byte-identical.
make assembles header.s, prg.s, chr.s, links them with ld65 and compares the
result against rom.nes:
Byte-identical ROM verified.
ROM
| Property | Value |
|---|---|
| Format | iNES |
| Mapper | 64 |
| Board | NROM-256 |
| Mirroring | Horizontal |
| Four-screen VRAM | no |
| Battery | no |
| PRG | 32 KB (2 x 16 KB), mapped at CPU $8000-$FFFF |
| CHR | 8 KB (1 x 8 KB) |
| Trainer | none |
| Footer | none |
| NMI vector | $C030 |
| RESET vector | $BF90 |
| IRQ vector | $BF90 |
| ROM file | 1942 (JU).nes |
| SHA-256 | 017ff3154d09531d068c26869158776e2e441509cf9bbef8042964ad39b77349 |
Header notes
- header byte 7 is
$44; its upper nybble selects mapper bits 4-7
Open work
- Pass 1 - run
nesdis.pyoverprg.binto produce the code/data split. The tracer reads the vectors from the last six bytes of the PRG image, so the split seeds correctly. - Pass 1 must emit the canonical audit comment
; CPU:$C123 PRG:0123 AD 21 03at column 35 for every instruction. - Pass 2 - replace the address-derived
Label_XXXXnames and the raw$XXXXcall operands. - Pass 3 - semantic zero-page aliases (applied only at the sites where their role is proven) and named data tables.
- Promotion to
NROM/<name>/once Pass 3 is done, asgit mv.
Files
| File | Purpose |
|---|---|
prg.s |
Pass 0 PRG include (replaced by the Pass 1 disassembly) |
header.s |
iNES header include |
chr.s |
CHR include |
prg.bin |
32768 bytes (32 KB) PRG image |
chr.bin |
8192 bytes (8 KB) CHR image |
rom.nes |
byte-identical copy of the original ROM |
linker.cfg |
HEADER / PRG / CHR memory areas |
symbols.inc |
NES hardware register names |
locals.inc |
zero-page aliases (empty at Pass 0) |
Makefile |
build and byte-identity check |