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

Gunbuster

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Gunbuster

Also known as: Operation Gunbuster (US cabinet)
Developer: Taito
Publisher: Taito
Platform: Arcade (custom)
Released internationally: 1992
Released in JP: September 1992[1]
Released in US: September 1992


DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.


Gunbuster is a first-person shooter game by Taito. It was one of the very first arcade games to have free-roaming FPS gameplay, the same year Wolfenstein 3D was released for home computers. It has absolutely nothing to do with the OVA of the same name.

Debug Functions

To use tany of the following MAME cheats without triggering the game's checksum routine, place this code in MAME's gunbustr.xml (World set), gunbustrj.xml (JP set), or gunbustru.xml (US set) cheat file and enable it:

  <cheat desc="Skip ROM Check">
    <script state="run">
      <action>maincpu.md@0051C=4E714E71</action>
    </script>
    <script state="off">
      <action>maincpu.md@0051C=4EBA10DE</action>
    </script>
  </cheat>

Game Pause

Simply hold 1P Button 3 to pause the game. The controllers on the actual Gunbuster cabinet only have two buttons each, but MAME fully supports this phantom third button.

Level Select

Gunbuster-levelselect.png
This game uses the Taito Code:

  1. Hold the Service Coin button upon booting, and wait until a "SERVICE SWITCH ERROR" message pops up on the screen.
  2. Press 1P Start (x3), Service Coin, then 1P Start again.

Upon this, the player is redirected to a stage select menu, which can be navigated by pressing 1P Up/Down. Additionally, upon selecting a stage, the player gains 9 credits.

(Source: RyogaMasaki)

Running Debug

Place this code in the appropriate MAME cheat file to enable a button-activated debug menu:

  <cheat desc="Running Debug">
    <script state="run">
      <action>maincpu.mw@00902=0x1A4A</action>
    </script>
    <script state="off">
      <action>maincpu.mw@00902=0x01EE</action>
    </script>
  </cheat>

GunbusterRunningDebug.png
To activate the debug menu, hold Service 1 and press Coin 1. This method is a bit awkward and can only be done so many times before the game's coin lockout kicks in; enter the code below to change the activation method to the Service Mode button:

  <cheat desc="Modify Debug Access">
    <script state="run">
      <action>maincpu.mw@02356=0x0000</action>
      <action>maincpu.mw@02360=0x0000</action>
    </script>
    <script state="off">
      <action>maincpu.mw@02356=0x0001</action>
      <action>maincpu.mw@02360=0x0002</action>
    </script>
  </cheat>

"CANCEL" and "RESET" are self-explanatory.

Process Meter

GunbusterProcessMeter.png
Displays two process meters in the bottom-left corner. Unfortunately neither meter seems to work; they always appear at max length.

Task Status

GunbusterTaskStatus.png
Displays the internal task IDs for every currently-loaded task. Tasks with "W" mark are waiting for other tasks to end.

Edit Map-Hit

GunbusterEditMapHit.png
Allows the user to edit collision data for the current map.

  • 1P Joystick: Moves the red cursor. This cursor is used to select which block to edit.
  • 1P Button 1: Writes the data in the "WRITE" row to the selected block.
  • 1P Button 2: Sets the selected block's collision bits to 00000000.

GunbusterEditMapHit2.png

  • 1P Start + 1P Joystick: Moves the blur cursor. This cursor represents the player's current position.
  • 2P Button 1: Toggles Hit Check. When enabled, the user won't be able to move into solid blocks.
  • 2P Button 2: Clears the 4, 8, 16, and 32 bits of every block on the map.
  • 2P Start + 2P Joystick: Moves the red cursor in the "WRITE" row.
  • 2P Start + 2P Button 1: Toggles the selected bit in the "WRITE" row.

Color Edit

GunbusterColorEdit.png
Allow the user to adjust the game's currently loaded palettes. The game does not pause when this tool is active, so using it somewhere like the Push Start screen is preferred.

Controls (Palette Selection)

  • 1P Up/Down: Adjusts palette number by 1.
  • 1P Left/Right: Increases palette number by 8.
  • 1P Button 1: Selects a palette for editing.
  • 1P Button 2: Exits palette editor.

Controls (Color Selection)

  • 1P Joystick: Moves the cursor (that black square).
  • 1P Button 1: Selects a color for editing.
  • 1P Button 2: Exits back to selection mode.

Controls (Color Editing)

  • 1P Left/Right: Moves the cursor (the number highlighted in red).
  • 1P Button 1: Toggles the currently selected color bit.
  • 1P Button 2: Exits back to color selection mode.

Debug Menu

This takes a fair amount of setting up. First, put the following code in the appropriate MAME cheat file:

  <cheat desc="Expand Config Menu">
    <script state="run">
      <action>maincpu.mw@03C74=0x0009</action>
      <action>maincpu.mw@03C7E=0x0009</action>
      <action>maincpu.mw@03CC6=0x7409</action>
    </script>
    <script state="off">
      <action>maincpu.mw@03C74=0x0008</action>
      <action>maincpu.mw@03C7E=0x0008</action>
      <action>maincpu.mw@03CC6=0x7408</action>
    </script>
  </cheat>

GunbusterConfigExpanded.png
This will add a tenth entry to the configuration menu, "Debug Mode". Simply set this entry to "ON" and then save; the setting should be saved to address 02A in the EEPROM.

Problem is, the game doesn't actually check this address when booting, and instead always sets the Debug Mode flag (200182 in RAM) to 00. To fix this, use the following code:

  <cheat desc="Fix Debug Mode Flag">
    <script state="run">
      <action>maincpu.md@00710=0x4EB9000E</action>
      <action>maincpu.md@00714=0xC9004E71</action>
      <action>maincpu.md@EC900=0x70154EB9</action>
      <action>maincpu.md@EC904=0x0002E47E</action>
      <action>maincpu.md@EC908=0xE04813C0</action>
      <action>maincpu.md@EC90C=0x00200182</action>
      <action>maincpu.mw@EC910=0x4E75</action>
    </script>
    <script state="off">
      <action>maincpu.md@00710=0x13FC0000</action>
      <action>maincpu.md@00714=0x00200182</action>
      <action>maincpu.md@EC900=0xFFFFFFFF</action>
      <action>maincpu.md@EC904=0xFFFFFFFF</action>
      <action>maincpu.md@EC908=0xFFFFFFFF</action>
      <action>maincpu.md@EC90C=0xFFFFFFFF</action>
      <action>maincpu.mw@EC910=0xFFFF</action>
    </script>
  </cheat>

Even with that fixed, the subroutine that checks whether or not to load the debug menu is never referenced in the retail version. This final code will inject a call into the game's boot-up routine:

  <cheat desc="Debug Menu">
    <script state="run">
      <action>maincpu.md@06436=4EB85B88</action>
      <action>maincpu.mw@0643A=600C</action>
    </script>
    <script state="off">
      <action>maincpu.md@06436=4A6D81C2</action>
      <action>maincpu.mw@0643A=670C</action>
    </script>
  </cheat>

(To skip the first two steps, just change 4EB85B88 in this cheat to 4EB85B90.)

GunbusterDebugMenu.png
After all that work, the menu should appear after the game boots. Use 1P/Down to move the cursor and press any of the action buttons to select an option.

Normal Game

Starts a new game with no debugging features.

Debug Game

GunbusterDebugGame.png
Starts a new game with the Process Meter and Task Status debug tools enabled, as well as an additional display in the top-left corner that shows the first player's X, Y, and Z coordinates, and the raw values of their degree and angle.

Mask CHR Test

GunbusterMaskCHRTest.png
Displays the contents of the Mask, or HUD, graphics bank. Use 1P Left/Right to switch between palettes.

Gun Test Mode

This is identical to the "Gun Adjustment" option in the test mode menu.

Style Display

GunbusterStyleDisplay.png
Displays the contents of the object, or sprite, graphics bank.

Controls

  • 1P Up/Down: Scrolls through graphics.
  • 1P Left/Right: Adjusts the width of the graphics window.
  • 1P Button 1 / Button 2: Adjusts palette by 1.
  • 1P Start / 2P Start: Adjusts the zoom level of each block.

Screen Display

GunbusterScreenDisplay.png
Displays the contents of the FG/BG graphics bank.

Controls

  • 1P Up/Down: Scrolls through graphics.
  • 1P Left/Right: Adjusts the width of the graphics window.
  • 1P Button 1 / Button 2: Adjusts palette by 1.

OBJCHR Pattern

GunbusterOBJCHRPattern.png
Tests the game's angle system on a select number of sprites.

Controls

  • 1P Left/Right: Adjusts the degree variable.
  • 1P Left/Right: Adjusts the width of the graphics window.
  • 1P Button 1 / Button 2: Adjusts palette by 1.
  • 2P Start: When held, removes the armor overlay of the current sprite (where applicable).

Removal Test

GunbusterEnemyTestMenu.png
Selecting this option will first bring up a map select menu.

Parameters

  • Stage: Map number. Valid numbers are 1-13 for normal stages and 24-29 for VS. stages.
  • Rank: The internal difficulty value. Ranges from 0 to 31.
  • 1P/2P CHR: The player characters for 1P and 2P. Setting the value to "-------" disables that player.
  • Control: Designates which player controls the camera.

Pressing 1P Button 1 will start a game with enemies enabled, and 1P Button 2 will removed all objects from the map.

GunbusterRemovalTest.png
Loading a map will enable the process meter and coordinate display features from the Debug Game option. The three columns on the right give the ROM offsets of every simple object (explosions, glass panes, enemy fragments, etc.) in memory. When an object is deleted, it's also removed from the list.

Pressing 1P Start or 2P Start will adjust the value of the "NO." variable displayed in the center-left part of the screen, but this doesn't seem to do much.

Enemy Test

GunbusterEnemyTest.png
The only difference between the Enemy Test and Clear Test is the type of objects tracked. The Enemy Test lists the object IDs of all complex objects (Enemies, bullets, crushing walls, etc.) in memory.

(Other debug functions: Original TCRF research)

Unused Graphics

GunbusterPlayersOld.png
Old character select graphics that predate the multi-angle character displays seen in the final game. The first two sprites were reused in the instructions for two-player mode.

GunbusterPowerups.png
Graphics for three different power-ups. The final game has no power-ups whatsoever.

GunbusterJoystickTilt.gif
Animations of the joystick tilting in the same style as the game's other tutorial graphics. Probably would have been used in Stage 2, as that's the first stage where the player is required to walk around.

GunbusterPurpleArrows.png
Purple arrows that would guide the player to the stage targets. Could've been more helpful than the left / right turn graphics that ended up being used.

GunbusterSnakeHead.png GunbusterSnakeParts.png
A totally unused snake enemy! Those orbs on the right are for its long slithery body.

GunbusterRoadblock.png GunbusterRoadblockBusted.png
A roadblock hazard that would best in the highway path of Stage 5.

GunbusterOneWay.gif
A strange one-way sign on a floating platform, drawn in the eight classic angles.

GunbusterTires.png GunbusterTireFlip.png
Yet another unused hazard: A stack o' tires. The palette for these tires is loaded in the junkyard path of Stage 6.

GunbusterHangingRobot.png
An incomplete android with a giant gun. This enemy would pop up and obscure the players' view like the knife and chainsaw-wielding enemies seen elsewhere. The design of this android is used as a destructible object in Stage 7.

GunbusterHangingRobotFlash.png

A muzzle flash for the hanging robot. That's a big blast.

(Source: Original TCRF research)

Hidden Text

A complete set of sample names can be found at the start of each bank in the Ensoniq sample ROMs (d27-08.bin, d27-09.bin):

0x000000 0x080000 0x100000 0x180000
SE-1-06     
SE-1-07     
SE-1-16     
SE-2-03     
SE-2-04     
SE-2-05     
SE-3-16     
SE-2-06     
SE-2-7      
SE-2-08     
SE-2-09     
SE-2-12     
SE-2-13     
SE-2-15 TK 1
SE-2-16     
SE-2-17     
SE-2-22     
SE-2-23     
SE-3-02 TK 1
SE-3-03     
SE-3-08     
SE-3-09     
SE-3-12     
SE-3-11     
SE-3-18     
SE-3-19     
SE-3-20     
SE-2-11 TK 2
SE-1-05 TK 2
SE-1-12 TK 1
SE-1-13 TK 2
SE-2-01 TK 2
SE-2-02 TK 2
SE-2-21 TK 2
SE-3-01 TK 1
SE-3-06 TK 1
SE-3-07 TK 1
BOSS FUYUU 1
AU 1        
AU 2        
AME         
GUN3        
GUN1        
GUN2        
GUN4        
WIND        
HURRY       
LAST BOSS   
NAMI        
SIBUKI      
TITLE       
BOM GUN     
BEEM        
FIRE GUN    
BEEM 2      
LIFE        
MIZUBASIRA  
AUU1        
AUU2        
SE-3-17 TK 1
SOLO GUIT   
808 DR      
PIANO YMD   
BASS YMD    
SCLATCH     
(Source: Original TCRF research)

Regional Differences

GunbusterSubtitles.png
In the Japan set, the English-language prologue has a set of Japanese subtitles. These were naturally from all other sets.