Skip to content

Title: 3GO.nes (Sangokushi / 三国志中原之霸者) displays incorrectly — iNES header declares Mapper 0, actual hardware is Mapper 252 #844

@893212756

Description

@893212756

Description

The ROM 3GO.nes (三国志中原之霸者 / Sangokushi 1) displays with garbled graphics, misaligned tiles, and incorrect colors when loaded in FCEUX. The same ROM runs correctly in SMynes on Windows.

Root Cause

After analyzing the ROM, I found that the iNES header incorrectly declares Mapper 0 (NROM), but the actual cartridge hardware is Mapper 252 (BNROM-like with IRQ). Since Mapper 0 has no bank switching, the 256KB PRG ROM is mapped incorrectly, causing all the display issues.

ROM Information

Property Value
Game 三国志中原之霸者 (Sangokushi / 3GO)
Filename 3GO.nes
CRC32 F3C85DC3
MD5 50a88a24a6b345b8d79de0573d04d3ac
SHA1 0f47f98e2da7adefe1a244fa844cae9181384fed
File size 393,232 bytes
PRG ROM 16 × 16KB = 256KB
CHR ROM 16 × 8KB = 128KB
Mirroring Vertical
Battery Yes
Header mapper 0 (NROM) ← incorrect
Actual mapper 252

Header Hex Dump

Flags6 = 0x03 (vertical mirroring + battery), Flags7 = 0x00 → mapper = 0

Why FCEUX Doesn't Detect Mapper 252

Looking at the FCEUX source code:

  1. src/boards/252.cpp — Mapper 252 implementation exists and works
  2. src/ines.cpp line 710 — The board database has {"SAN GUO ZHI PIRATE", 252, Mapper252_Init}, but this matching relies on NES 2.0 board name strings
  3. src/ines-correct.h — This ROM's CRC32 (F3C85DC3) is not in the CRC correction database
  4. The ROM does not contain the string "SAN GUO ZHI PIRATE" internally, so board name matching also fails

As a result, FCEUX falls back to the header-declared Mapper 0, which has no bank switching → garbled output.

Why SMynes Works

SMynes (Windows-only emulator) has its own internal ROM database that correctly identifies this ROM as Mapper 252, bypassing the incorrect header.

Possible Fix

Add this ROM's CRC32 to the ines-correct.h correction database so FCEUX can auto-detect the correct mapper, something like:

{0xF3C85DC3, 252, -1}, /* 3GO - Sangokushi / 三国志中原之霸者 */

Environment
FCEUX version: 2.6.6 (also tested 2.6.0 source)
OS: macOS 14 (Apple Silicon), homebrew install
Works in: SMynes (Windows)
Screenshots
(I can provide screenshots of the garbled display if needed)

Thank you for maintaining FCEUX! Any help would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions