We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Splatterhouse (Arcade)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Splatterhouse

Developer: Namco
Publisher: Namco
Platform: Arcade (Namco System 1)
Released in JP: November 1988
Released in US: February 1989


EnemyIcon.png This game has unused enemies.
MinigameIcon.png This game has unused modes / minigames.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
Carts.png This game has revisional differences.


Splatterhouse is Namco's grand tribute to 80s horror. Destroy the undead and other horrors with extreme prejudice.

Debug Functions

CPU Display & Freeze Frame

Put this code in MAME's splatter.xml cheat file:

  <cheat desc="Enable CPU Display / Freeze Frame">
    <script state="run">
      <action>maincpu.pb@010A=0x50</action>
      <action>user1.mw@3FE162=0xFFFF</action>
    </script>
    <script state="off">
      <action>maincpu.pb@010A=0x00</action>
      <action>user1.mw@3FE162=0x0A01</action>
    </script>
  </cheat>

SplatterhouseArcProcessorDebug.png
This cheat will enable two features:

  • A CPU usage display. The game will draw a string of Ss on the left side of the screen and Ms on the right side, then try to clear them before the frame updates. The game is always able to clear the Ms, but the Sub CPU lags during fade-ins and fade-outs and when there are too many objects on-screen, leaving some Ss visible.
  • A freeze-frame feature: Press 2P Start to pause the game, and press any other input to advance the game four frames.

Debug Start

Put the following code in splatter.xml and turn it on to enable a few options during the mask cutscene at the start of the game:

  <cheat desc="Enable Debug Start">
    <script state="run">
      <action>user1.mb@2EFC3C=2C</action>
    </script>
    <script state="off">
      <action>user1.mb@2EFC3C=27</action>
    </script>
  </cheat>

SplatterhouseArcDebugStart.png

  • STAGE SELECT: Starting stage. Ranges from 1 to 7.
  • LEFT: Starting lives. Ranges from 1 to 7.
  • LIFE: Starting health. Ranges from, guess what, 1 to 7.

SplatterhouseArcDebugStart2.png
Health is supposed to cap at 6, so setting it to 7 makes the health meter bleed over to the item section. Oh well.

(Source: Original TCRF research)

Unused Game Modes

RAM address 003D, when set to a non-zero value, changes the way 1P and 2P games are played. This was probably supposed to be controlled through the Game Options screen, but there's no option that effects this variable. Even if there was, the game clears 003D every frame on the Press Start screen. Put the following code in MAME's splatter.xml cheat file (Or any of the other Splatterhouse sets' cheat files) to set 003D to 01:

  <cheat desc="Continuous / Co-Op Mode">
    <script state="run">
      <action>maincpu.pb@003D=0x01</action>
    </script>
    <script state="off">
      <action>maincpu.pb@003D=0x00</action>
    </script>
  </cheat>

This address also skips the mask cutscene at the start of the game.

Continuous Play

SplatterhouseArcContinuous1.png
Starting a 1 player game enables a new feature: When the player dies, the player will revive at the same spot they died instead of the game fading out and the player reviving at the nearest checkpoint.

SplatterhouseArcContinuous2.png
When the player runs out of lives, a countdown timer will appear in the upper-left corner. As long as the player has credits, they can press 1P Start and continue at the same spot they died with the appropriate number of lives and health.

There are a few issues with this mode:

  • Reviving more than once in an area disables Rick's hitbox, but not his hurtbox. So, enemies can attack Rick but he can't attack them back. Entering a new area fixes this.
  • There's no Game Over condition. Letting the continue coutdown expire respawns Rick at the start of the area, but the life counter underflows to 255.
  • After beating Stage 7 and going through the credits and high score entry screen, instead of being kicked back to the title screen, the player respawns at the start of Stage 7.
Old Versions New Version
SplatterhouseArcContinuous3.png SplatterhouseArcContinuous2.png

The older versions have special strings specifically for this mode: "CONTINUE 1P" and "CONTINUE 2P". When the developers updated the text in the newer versions, they took those strings out and changed the pointers to point to the same "CONTINUE" text used on the standard Game Over screen. They didn't change the length of the string, though, so the text runs over into the "STAGE SELECT" text used in the debug start screen.

Co-Op Mode

SplatterhouseArcCoop1.png
Yes, really! Start a 2 player game and you'll find two Ricks just standing there, ready for action. Player 2 will spawn at the standard location, while Player 1 will spawn to their right. This mode also skips all stage intros.

As can be expected with a half-implemented mode like this, there are a number of bugs and quirks that keep this from being completely playable:

  • Both players have their own health and lives, but only Players 2's will be displayed on-screen. The score will also not update on the HUD, though it's still being properly tracked in RAM; both players share the same score. It's possible that Player 1's health was supposed to be put on the upper part of the HUD, and that's why the score doesn't update.
  • There's no code to handle a player joining in after getting a game over. So, if one player gets a game over and lets the continue timer run out, they're permanently out of the game.
  • If one player has a weapon and either player tries to pick up a different weapon, the second weapon will default to Player 1's hands.
  • If Player 1 already has a weapon, the weapon that they were previously holding will drop to the floor and they'll start holding the second weapon.
  • If Player 2 already has a weapon, they'll keep their weapon and Player 1 will get the second weapon.

SplatterhouseArcCoop3.png

  • When one player loses control of their character (climbing a ladder, being dragged by one of the Monstrous Hands in Stage 3, etc.) the other player will be able to move freely. In the case of cutscenes, the player furthest to the right will lose control of their character while the other character will be able to mess around while the cutscene's playing.

SplatterhouseArcCoop2.png

  • Timer-based events count down twice as fast; it seems that the game counts once for each active character. The Stage 1 boss fight ends early with the ending music triggering much too quickly, while the dresser layer in the Stage 2 boss fight moves up and loops around the screen endlessly.
  • After beating the game, the players respawn at the start of Stage 7, but Player 1 will be unable to control their Rick. Player 1's lives will underflow to 255, so there's not much Player 2 can do here...just reset the game.
(Source: Original TCRF research)

Unused Objects

Put the following cheats in splatter.xml to change the first object type in Stage 1 or 7 to a different, unused object. Some objects need to have their heights adjusted to work properly, so use the height modifier for that.

  <cheat desc="Object Type Modifier (Stage 1)">
    <parameter>
      <item value="0x0104">Grave Hand</item>
      <item value="0x011C">Shibito (Ball and Chain, No Acid)</item>
      <item value="0x011D">Spear</item>
      <item value="0x011E">Mirror Rick (Spear)</item>
      <item value="0x0126">Deadman (Twitching)</item>
      <item value="0x0132">Shibito (Exploding)</item>
      <item value="0x0141">Body Eater Chain</item>
      <item value="0x0060">Red Head</item>
      <item value="0x0162">Wooden Gate</item>
      <item value="0x0178">Floating Wood</item>
      <item value="0x0193">Bird (Idle)</item>
      <item value="0x01A7">Headless</item>
      <item value="0x01B0">Bat (Wave)</item>
    </parameter>
    <script state="run">
      <action>user1.mw@3F11CD=param</action>
    </script>
    <script state="off">
      <action>user1.mb@3F11CD=0x019F</action>
    </script>
  </cheat>
  <cheat desc="Object Height Modifier (Stage 1)">
    <parameter min="0" max="32" step="8"/>
    <script state="change">
      <action>user1.mb@3F11D1=param</action>
    </script>
    <script state="off">
      <action>user1.mb@3F11D1=0x20</action>
    </script>
  </cheat>
  <cheat desc="Object Type Modifier (Stage 7)">
    <parameter>
      <item value="0xB1">Fire Dead (Tracking)</item>
      <item value="0xB3">Flame Geyser</item>
    </parameter>
    <script state="run">
      <action>user1.mb@3F12A8=param</action>
    </script>
    <script state="off">
      <action>user1.mb@3F12A9=0xB2</action>
    </script>
  </cheat>

Unique Objects

Grave Hand

SplatterhouseArcDirtHand.gif SplatterhouseArcDirtHandStrike.gifSplatterhouseArcDirtHandDead.gif
Point Value: 200.

A rotting hand that is initially hidden until the player gets close enough, at which point it bursts out of the dirt. If the player gets too close, the hand will strike at them. One hit and it quickly decomposes.

Red Head

SplatterhouseArcRedHead.gif SplatterhouseArcRedHeadDead.png
Point Value: 200.

This fleshy red head can't actually hurt the player. When it spawns, it speeds off bouncing to the right, gradually losing speed. When it runs out of juice, it will face the player and then start bouncing again. One hit will send it on its way.

Wooden Gate

SplatterhouseArcWoodenGate.png SplatterhouseArcWoodenGateParts.png
Point Value: None.

This is a simple wooden gate. Not sure where this would have been used, but there it is.

SplatterhouseArcWoodenGateBreak.png
Rick cares not for gates; punching or kicking it will bust it apart.

Floating Wood

SplatterhouseArcFloatingBoard.gif SplatterhouseArcFloatingBoardDebris.png
Point Value: 200.

This flying chunk of wood comes towards the player at a downward angle before bouncing on the floor and flying upwards. One hit will splinter it, with the resulting debris floating to the left as if being sucked in by an unknown force.

Headless

SplatterhouseArcHeadlessWalk.gif SplatterhouseArcHeadlessKnockback.pngSplatterhouseArcHeadlessBlock.png
Point Value: 500.

One of the more complicated unused objects. Its movement pattern is a simple left-to-right walking pattern, but unlike pretty much every other enemy in the game, it will block Rick's attacks if he gets too close.

SplatterhouseArcHeadlessPunch.gif SplatterhouseArcHeadlessDecompose.gif
After it's blocked at least one attack, the enemy will start punching Rick if he gets too close. Hit it twice to destroy it.

Unfortunately, the object is very buggy:

  • After blocking one of Rick's attacks, it loses all of its collision properties, so it can neither hurt nor be hurt by Rick.
  • Even if the collision worked properly, hitting it while its in its blocking stance restores 1 HP for every frame of contact.

Flame Geyser

SplatterhouseArcFlameGeyserUsed.png
Point Value: None.

While the art for this object has been finished and is in the object graphics ROM, the only code for the object is its initialization subroutine, with every other subroutine pointing to a dummy RTS opcode. Basically, existing is all it does. Thing isn't even animated.

Unused Variations

Shibito (Ball and Chain, No Acid)

SplatterhouseArcShibitoBallChain.png
Point Value: None.
Set height to 08 for this to work properly.

The chained-up corpses in Stage 1 all vomit acid when Rick gets close enough. This version doesn't. It's just a decorative corpse.

Spear

SplatterhouseArcSpear.png
Point Value: None.

An enemy version of the spears that Rick can use in Stage 4. The player can punch or kick these to knock them out of the air. But what enemy would use a spear?

Mirror Rick (Spear)

SplatterhouseArcMirrorRickWeapon.png
Point Value: 3000.

This guy. Yes, there's an unused version of the Mirror Rick enemy that will throw a spear at the player when they get close enough. After throwing the spear, they'll move to the right before doubling back to attack Rick like the normal versions. Even worse, while the normal Mirror Ricks have 3 hit points, these spear-wielding versions have a whopping 8 hit points!

SplatterhouseArcMirrorRickSpearThrow.png
(Un)fortunately, the spear is bugged, which is what probably kept this variant from appearing in the final game. The spears are supposed to start off harmless when held by Mirror Rick, then gain velocity and a hurtbox after being thrown at the player. Instead, the spear remains immobile and harmless, though the player can still kick it out of the air if they feel like it.

Deadman (Twitching)

SplatterhouseArcDeadmanTwitching.png
Point Value: None.

There's one Deadman in Stage 4 that starts off twitching on the ground before getting up and leaping at the player. This version never stops twitching. It's just a decorative Deadman.

Shibito (Exploding)

SplatterhouseArcShibitoBomb.gif
Point Value: None.
Set height to 10 for this to work properly.

So, there are these corpses in Stage 2 that are impaled by swords and chained to the wall, but they'll try to menace Rick as he comes near. Those versions don't do much, but this variant has a damn bomb on its back.

SplatterhouseArcShibitoExplosion.png
After about two seconds, the corpse will explode into eight easy pieces. These fragments will hurt Rick, so watch out!

Bird (Idle)

SplatterhouseArcBirdofparadiseIdle.png
Point Value: 300.

Unused version of the crows(?) from Stage 3 that fly in a straight line. This variant starts out idle, flies up and to the left, idles again, then flies up and to the right. This will go on forever if you let it.

Bat (Wave)

SplatterArcBat.png
Point Value: 300. These bats fly in a slow wave-like pattern. Not like those fast and straight-flying bats from Stage 1. Think they're so big.

Fire Dead (Tracking)

SplatterhouseArcFireDead.png
Point Value: None.

Usually, the Fire Dead in Stage 7 hop to the left without any regard for Rick. These Fire Dead will chase after Rick, and since they're immortal, their sheer numbers will quickly overload the game and the player. If they could still be killed it wouldn't be as much of an issue.

(Source: Original TCRF research)

Unused Graphics

SplatterhouseArcHeartBeat.gif

SplatterhouseArcHeartBurst.gif

Sure, having a health bar with literal hearts is spooky...but what if the hearts were beating, and the hearts burst when the player took a hit? Wouldn't that be cool? Well, too bad.

SplatterhouseArcNun.png
A nun. That's pretty weird. Might've gone in the Stage 4 boss area somewhere.

Used Full
SplatterhouseArcRedHead.gif SplatterhouseArcRedHeadFull.gif

The unused red head enemy has an extra frame of animation that the game doesn't use.

Palette 18 (Used) Palette 19 (Alt)
SplatterhouseArcHangingDeadGreen.gif SplatterhouseArcHangingBloodGreen.gif SplatterhouseArcHangingDeadRed.gif SplatterhouseArcHangingBloodRed.gif
SplatterhouseArcStage3Icon.png


The Hanging Dead enemies usually use palette 18, which gives them green blood. Palette 19 turns the blood from green to red, making them a bit more gruesome; however, given that Namco didn't want any of the enemies to bleed red blood, palette 19 was ultimately unused. Note that the Stage 3 preview keeps the Hanging Dead's original red palette.

SplatterhouseArcHangingDeadDried.gif
There's also an unused animation of the Hanging Dead shriveling up, probably meant to be used after they shot a certain amount of acid at the player.

SplatterhouseArcFireDeadVanish.gif
The Fire Dead enemies have an unused death animation, but Rick can't hurt them in the final game. Don't punch fire, kids.

SplatterhouseArcFlameGeyser.gif SplatterhouseArcFlameGeyserWave.png
This is the full animation of the unused flame geyser object. Seems it would periodically spew fire and the player would have to time their jumps accordingly.

SplatterhouseArcFlameSpurt.png
Oh, apparently it would also spit fireballs at the player.

SplatterhouseArcStaffPicture.png
Palette no longer in the ROM: This is just a best guess.
A completely unused picture of Rick, Jennifer, and a few staff members is hidden in the background graphics ROM. This would probably be shown after the credits if the player fulfilled some condition (Beating the game without losing a continue, maybe?).

(Source: Original TCRF research)

Unused Music

Completely Unused

ID Loop Track Notes
00 No
The four note motif from Beethoven's Symphony No. 5. Probably only meant as a stereo test.
25 Yes
Frantic music that might have been meant for the in-stage continue countdown.
2B Yes
A short, suspenseful sting. The last note is held forever. It could have been a life loss BGM.
31 Yes
A faster, higher-pitched version of the music played during the initial phase of the Poltergeist boss fight. Might there have been yet another phase that got cut?
3A Yes
A simple heartbeat, probably related to the Mother boss fight in some way.
40 No
Another short, spooky sting that is never heard in-game.

Partially Unused

ID Loop Track Notes
2A Yes
The Terror Mask cutscene is only 12 seconds long, but the track used there is 38 seconds long and even loops! It's likely that this was supposed to be used in one of the stages before being repurposed for the game intro.
2E No
Only 22 seconds of the 57 second long High Score track are heard before the timer runs out.
35 No
The track used for Jennifer's death plays for 16 seconds max, leaving the last 12 seconds unheard in normal play.
(Source: Original TCRF research)

Revision Differences

Old Versions New Version
SplatterhouseArc1P2POld.png SplatterhouseArc1P2PNew.png

The new version changes the Push Start text and moves it up a row. The text flashes in the old versions, but not the new version.

SplatterhouseArcStageSelect.png
The new version also adds a dip switch-activated stage select feature. Unlike the debug stage select, the game will start automatically after 12 seconds.