If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Rolling Thunder 3

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Rolling Thunder 3

Developer: Now Production
Publisher: Namco
Platform: Genesis
Released in US: July 1993

CodeIcon.png This game has unused code.
GraphicsIcon.png This game has unused graphics.
LevelSelectIcon.png This game has a hidden level select.

To do:
$12 has a $4EFAFFFE (jmp to self with d16(pc) addressing mode) opcode with some bytes after it overwritten with $22223333444455556666 ...hmmm.

This third entry in the Rolling Thunder series follows a new agent, Jay.

Japanese Release Mode?/Alternate Logo/Alternate Title Screen

To do:
  • More differences?
  • Was the HUD changed in any way?

RollingThunder3 NamcotScreen.png RollingThunder3 OldLogoTitleScreen.png RollingThunder3 OldLogoPasswordScreen.png

The game fixes bit 5 of byte $D7(a6) to 1 on startup. If you force it to 0 by patching out the write with 392:4E71, 394:4E71, and 396:4E71, some parts of the game change:

  • The Namco screen reads "NAMCOT for Sega Mega Drive" as with Namco's Japanese releases (this most likely means that the bit turns on a Japanese region mode; Rolling Thunder 3 was not released in Japan).
    • The Namco logo animation was also changed somewhat?
  • The game's logo resembles that of Rolling Thunder 2!
  • The title screen has a logo animation resembling that of Rolling Thunder 2!
  • The title screen was changed somewhat? Not sure.
  • Some predefined passwords are changed (see below).

Text remains in English.

Unused Checksum Error Screen

To do:
Really unused? (hidden checksum routine could be possible!)
RollingThunder3 ChecksumErrorScreen.png

Using patch code 38B:1A (Gens/GS) on startup will bring you to a screen that says nothing but "IT'S A BAD ROM." and hang the game. This screen doesn't actually check the ROM; it's just what would appear on a checksum error. The game does not check its checksum.

Predefined Passwords

Some of these passwords have been previously documented elsewhere; this is a full list.
US "JP" Effect
RISKY Enables Hard difficulty in the Configuration screen.
PAUSE Normally, when you pause, the screen is tinted blue and the word PAUSE appears on screen. With this password, neither happens: the game just freezes when you pause. (You still hear the pause sound effect.)
GREED RAIRU Has you play as a female character; GameFAQs calls her Ellen. Cutscenes are permanently disabled (DEMO in the Configuration screen is forced to OFF) when playing as "Ellen" (how the ending is affected is unknown).
REIGN YOSSY Level select. The number appears next to the CONFIGURATION option on the title screen; use Left and Right to select.


ANNOY NAOKI Allows you to choose at most five lives to start with instead of at most three from the Configuration screen.
CRASH DICK- Gives you 999 bullets to start with, instead of 40.

Unused Horizontal Interrupt Routine

Rolling Thunder 3 does not use horizontal interrupts, and the game — as well as the previous three Now Production Genesis games, Quad Challenge, Splatterhouse 2, and Splatterhouse 3 — is programmed such that raster effects are coded in through the horizontal interrupt. However, the framework is in place for Rolling Thunder 3 to use the horizontal interrupt, so the question is: does Rolling Thunder 3 have unused raster effects?

Quad Challenge and Splatterhouse 2 have a horizontal interrupt routine. Spllatterhouse 3, the other previous routine, completely removes this routine, however Rolling Thunder 3 seems to place it back. However, unlike the other three games, Rolling Thunder 3 accesses both RAM and the VDP via registers — RAM via a6, the VDP via a5 — and the horizontal interrupt routine was changed to suit.

The strange thing here, however, is that the VDP access to grab the H/V Counter, which is used to determine if we should run the horizontal interrupt routine, was changed from 8(a5) ($C00008) to (8).w (access ROM address $8, which is zero as a byte, as a word, and as a longword). This changes the addressing mode, but not the number of bytes to encode the instruction (so was this change made to the final binary?). This means that by merely changing the opcode portion of the instruction encoding, and the patch codes to do so are B64:0C6D and B8C:302D.

However, the horizontal interrupt routine is still never called because the VDP flag that enables horizontal interrupts is never set. We can force it on, however, with patch code 7BE6:8014 on startup. However, I noticed now the screen has random corruption issues; I have to figure out why...

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.

TODO looks like I also need to set the VDP register that enables horizontal interrupts...

  • - enable HInt

sigh - they set the H Scroll Table address to the same as the Window plane.

  • 7C00:8D2E - move H Scroll Table to $B800 (a safe address, comparing the VRAM layout of this game and of Splatterhouse Part 2).
The game does call a routine that fills the HInt scroll array (make note of that).