Files
disasm/_wip/MAPPER8/Mermaids of Atlantis (U)
tmerritt df11857075 Promote Xevious (U) and Zanac (U) from _wip/ to NROM/
- Xevious (U): Promoted from _wip/NROM/Xevious (U)/ to NROM/Xevious (U)/
  - Pass 3 complete: 34.5% code coverage, 143 semantic entry points,
    4 named data tables, ~20 semantic ZP aliases
  - NROM mapper 0, 32 KB PRG, 8 KB CHR, horizontal mirroring

- Zanac (U): Promoted from _wip/UNROM/Zanac (U)/ to NROM/Zanac (U)/
  - Pass 3 complete: 34.5% code coverage (bank 7 only), 133 semantic
    entry points, 26 named data tables, 14 semantic ZP aliases
  - UNROM mapper 2, 128 KB PRG (8 banks), no CHR
  - Bank 7 fixed at CPU -; banks 0-6 switchable at 000-
  - Bank 7 assembled separately as prg.07.s with .org

Both projects build byte-identical. Updated root README.md inventory,
per-project details, and WIP.md accordingly.

Move Zanac (U) to UNROM/ mapper directory

Zanac (U) is a UNROM (mapper 2) game, not NROM (mapper 0). Move it to
the correct mapper directory and update README.md and WIP.md references
accordingly. Update project counts in WIP.md (857->856 total, UNROM
98->97 projects).

Promote Mermaids of Atlantis (U) from _wip/ to MAPPER8/

Additional cleanup of Mermaids of Atlantis
2026-10-21 07:20:59 -04:00
..
…
…
…
…
…
…
…
…

Mermaids of Atlantis (U)

Status

Pass 1 complete. The code/data split has been produced by nesdis.py and the project builds byte-identical to the original ROM. prg.s now contains traced code with audit comments and .byte data blocks for unreached bytes.

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 8
Board MAPPER8
Mirroring Vertical
Four-screen VRAM no
Battery no
PRG 64 KB (4 x 16 KB), at file offset $0010
CHR 64 KB (8 x 8 KB)
Trainer none
Footer none
NMI vector $8189
RESET vector $FF00
IRQ vector $8036
ROM file Mermaids of Atlantis (U).nes
SHA-256 53f5d22650063aba89b91762f133d1b6b2680c505b193d88a472580d09701122

Header notes

  • none

Open work

  • Pass 2 - replace the address-derived Label_XXXX names and the raw $XXXX call 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, as git mv.

Files

File Purpose
prg.s Pass 1 PRG disassembly (traced code + data blocks)
header.s iNES header include
chr.s CHR include
prg.bin 65536 bytes (64 KB) PRG image
chr.bin 65536 bytes (64 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 (5 ZpXX aliases at Pass 1)
Makefile build and byte-identity check