# Galaga (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: 11,319 / 32,768 bytes (34.5%). `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 | $C0C8 | | RESET vector | $C000 | | IRQ vector | $C000 | ## Power-on flow RESET enters at `$C000`: sei ; CPU:$C000 PRG:4000 78 cld ; CPU:$C001 PRG:4001 D8 ldx #$00 ; CPU:$C002 PRG:4002 A2 00 stx PPUCTRL ; CPU:$C004 PRG:4004 8E 00 20 stx PPUMASK ; CPU:$C007 PRG:4007 8E 01 20 lda PPUSTATUS ; CPU:$C00A PRG:400A AD 02 20 bpl Reset_OnNonnegative ; CPU:$C00D PRG:400D 10 FB ldx #$BF ; CPU:$C00F PRG:400F A2 BF txs ; CPU:$C011 PRG:4011 9A lda #$A5 ; CPU:$C012 PRG:4012 A9 A5 cmp ZpFF ; CPU:$C014 PRG:4014 C5 FF bne Reset_Loop ; CPU:$C016 PRG:4016 D0 04 NMI handler at `$C0C8`: pha ; CPU:$C0C8 PRG:40C8 48 txa ; CPU:$C0C9 PRG:40C9 8A pha ; CPU:$C0CA PRG:40CA 48 tya ; CPU:$C0CB PRG:40CB 98 pha ; CPU:$C0CC PRG:40CC 48 ldx Zp4A ; CPU:$C0CD PRG:40CD A6 4A dex ; CPU:$C0CF PRG:40CF CA bne NmiHandler_Loop ; CPU:$C0D0 PRG:40D0 D0 19 ## Data-table inventory (Pass 3) - `$8000-$BDFF` (15872 bytes) - `UnreachedRomData` - `$BE59-$BFFF` (423 bytes) - `UnreachedRomData2` - `$C480-$C49F` (32 bytes) - `SpriteHeightTable` - `$CC32-$CC37` (6 bytes) - `SpriteSpawnOffsetTable` - `$D816-$D819` (4 bytes) - `SpriteStarCountTable` - `$D9CA-$D9CF` (6 bytes) - `SpriteMovementParameterTable` - `$E0F3-$E112` (32 bytes) - `ExplosionGraphicTable` - `$E1E8-$E1E8` (1 bytes) - `UnreachedByte` - `$E69A-$E69A` (1 bytes) - `UnreachedByte2` - `$E7B1-$E7B5` (5 bytes) - `SpriteScoreTable` - `$E9AA-$EAD9` (304 bytes) - `SpriteAttributeTable` - `$EC7B-$EC84` (10 bytes) - `LevelStarPointerTable` - `$ED8E-$F78F` (2562 bytes) - `LevelGraphicData` - `$F7B4-$FFFF` (2124 bytes) - `SpriteGraphicData` ## Build ``` Byte-identical ROM verified. ```