TASEmulators / TASEmulators/BizHawk

[NES] Splatterworld prototype (mapper 210, submapper 1) rendering issues

Open
#4,622 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core: NesHawk Homebrew Repro: Affects 2.11
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

Summary

Rather than trying to describe the issue, a picture speaks a thousand words, so here are some screenshots, comparing Bizhawk 2.11 against Mesen 2.1.1 which renders the game correctly. All three NES cores included in Bizhawk exhibit the same issue.

Output/screenshots

Bizhawk 2.11:
Image
Mesen:
Image

Bizhawk 2.11:
Image
Mesen:
Image

Bizhawk 2.11:
Image
Mesen:
Image

Bizhawk 2.11:
Image
Mesen:
Image

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

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

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
Host env.
  • BizHawk 2.11; CachyOS/Arch; NVIDIA

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing Splatterworld (English v1.1) in BizHawk 2.11 and comparing all three NES cores with Mesen 2.1.1. Investigate mapper 210, submapper 1, and the differing rendering output; done means the game renders like the supplied Mesen reference images.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.