# Ms Pac-Man (Namco) (U) ## Status **Pass 3 complete; promoted.** `prg.s` is a traced disassembly with all address-derived labels replaced, all `jsr`/`jmp` operands symbolic, hardware registers named via `symbols.inc`, and `apply_symbols.py` reporting 0 residue. Code coverage: 10,136 / 32,768 bytes (30.9%). `make` assembles and verifies byte-identical to `rom.nes`. ## ROM | Property | Value | |----------|-------| | Format | iNES | | Mapper | 0 (NROM) | | PRG | 32 KB | | CHR | 8 KB | | Mirroring | Horizontal | | NMI vector | $C107 | | RESET vector | $FFF7 | | IRQ vector | $C198 | ## Power-on flow RESET enters at `$FFF7`: jmp Sub_C004 ; CPU:$FFF7 PRG:7FF7 4C 04 C0 .byte $07, $C1, $F7, $FF, $98, $C1 ; CPU:$FFFA PRG:7FFA 07 C1 F7 FF 98 C1 NMI handler at `$C107`: pha ; CPU:$C107 PRG:4107 48 txa ; CPU:$C108 PRG:4108 8A pha ; CPU:$C109 PRG:4109 48 tya ; CPU:$C10A PRG:410A 98 pha ; CPU:$C10B PRG:410B 48 lda PPUSTATUS ; CPU:$C10C PRG:410C AD 02 20 lda Zp27 ; CPU:$C10F PRG:410F A5 27 beq NmiHandler_Loop ; CPU:$C111 PRG:4111 F0 07 ## Data-table inventory (Pass 3) - `$8000-$C003` (16388 bytes) - `CopyrightText` - `$C0D7-$C106` (48 bytes) - `LevelTileData` - `$C20D-$C212` (6 bytes) - `LevelStartParameterTable` - `$C69B-$C6E7` (77 bytes) - `LevelNameText` - `$CA24-$CB31` (270 bytes) - `LevelObjectDefinitionTable` - `$CEE6-$D01F` (314 bytes) - `SpriteOamEntryTable` - `$D03D-$D0D5` (153 bytes) - `SpriteOamAttributeTable` - `$D1C2-$D349` (392 bytes) - `LevelObjectPointerTable` ## Build ``` Byte-identical ROM verified. ```