Skip to content

Linux - Running Splatterworld Prototype, mapper 210, submapper 1, results in: Illegal Opcode 0x92 at 0x01EC #448

Description

@spinktvis

This prototype was released to the public last Halloween. Some links to info on the game and its fan translation:
https://splatterhouse.kontek.net/famicom2.html
https://aeongenesis.net/projects/splatterworld
https://romhack.ing/database/content/entry/uz8qKfAyQo2GkTX_DHwt6g/splatterworld-english-translation

Log from trying to run the Splatterworld prototype in puNES AppImage latest WIP build;

> puNES (by FHorse) 0.112 WIP, x86_64, OpenGL, commit 1
> folders      
  config        : /home/./.config/puNES
  data          : /home/./.local/share/puNES
  temp          : /tmp/puNES
> opengl        : GPU NVIDIA GeForce RTX 5060 Ti/PCIe/SSE2 (NVIDIA Corporation, 4.6.0 NVIDIA 590.48.01)
> opengl        : GL version 4.6 Compatibility
> opengl        : setting pass 0
> opengl        : setting pass 1
> opengl        : setting pass 2
> opengl        : setting pass 0
> opengl        : setting pass 1
> opengl        : setting pass 2
> file          : Splatterworld - Fixed Header (Namco 175, Mapper 210, Submapper1).nes
  folder        : /tmp/puNES
  format        : Nes 2.0
  nes20db       : no
  console type  : Regular NES/Famicom/Dendy
  CPU timing    : NTSC NES
  expansion     : Standard NES/Famicom controllers
  NES mapper    : 210
  submapper     : 1
  mirroring     : vertical
  battery       : present
  PRG NVRAM     : 8192
  PRG 8k rom    : 64   [ 0x61198763 524288 ]
  CHR 4k vrom   : 64   [ 0x9DE3F9F1 262144 ]
  CRC32         : 0xC102EDEB
  CPU/PPU alig. : PPU 1/3, CPU 0/11
> cpu           : alert PC = 0x01EC, CODEOP = 0x92

Rom Information

game
  sha256: 83c73897873109f86b1cdd4dd1a7d3c57085e46e5ab491be31037cfdf47a76ad
  name:   Splatterworld (English v1.1)
  title:  Splatterworld (English v1.1)
  region: NTSC-J, NTSC-U
  system: Regular
  board:  NAMCO-340
    chip type=340
    memory
      type: ROM
      size: 0x10
      content: iNES
      data: 4e 45 53 1a 20 20 23 d8 10 00 70 00 00 00 00 01
    memory
      type: ROM
      size: 0x80000
      content: Program
    memory
      type: RAM
      size: 0x2000
      content: Save
    memory
      type: ROM
      size: 0x40000
      content: Character

Part of the readme from the translation by Aeon Genesis with additional info:

Several versions of the ROM with different headers are floating around on the internet. This patch should work on all of them, and *hopefully* will correct their headers; reference the checksum information at the end of this readme. The ROM should be mapper 210, submapper 1. This is the correct header:

4E 45 53 1A 10 20 23 D8 10 00 70 00 00 00 00 01

(Mapper 210, submapper 1. 256K PRG, 256K CHR, 8KB SRAM, battery. Vertical mirroring.)

Note that the patch expands the ROM to have 512K PRG; your header should look like this after patching:

4E 45 53 1A 20 20 23 D8 10 00 70 00 00 00 00 01

This mapper is not widely supported, however it has been tested and is working on the Mesen 2 emulator and on FCEUX. At the time of writing, the Everdrive N8 Pro *does not* correctly support this mapper, even though it claims to do so.

In short:

TESTED AND WORKING:    Mesen2, FCEUX
NOT WORKING CURRENTLY: Everdrive N8 Pro

I confirm Mesen2 runs it fine, whereas for example Ares v147 has rendering issues. The latest available stable version of FCEUX on Arch is version 2.6.6 from 2023 and it doesn't run it at all, so can't comment on that.

Let me know if you need additional info/testing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions