Saturn enthusiast Shadowmask has just published a new translation patch for Mobile Suit Gundam, the 1995 Saturn game from CRI and Bandai. Check it out!
Shadowmask’s work prompted me to check the game for hidden goodies, and I found one: a very useful cheat menu. The code for it seems to have remained undiscovered for almost 30 years, and I’m not surprised — it’s very difficult to enter.
It’s not difficult to enter Shadowmask’s version, however: I provided a patch that makes it easily accessible from the title screen — just press X to bring it up.
In addition to the cheat menu code, the game also has movie select and stage select codes. These have been on Japanese language cheat sites for ages, but aren’t well attested on English sites.
Below are details about how all of these codes work.
The cheat menu code
In the unpatched game, the cheat menu code is entered at the title screen as follows:
C, R, X,
A, Left, Right,
C, R, X,
A, Left, Right,
C, R, X,
A, Left, Right
You’ve gotta go fast while putting it in. Here’s what you’ll see if you’re successful:
The Stage No. and Area No. items are very useful; they change your starting location. Gundam Muteki is an invincibility mode, which is also useful.
Clear Cnt sets the number of “clears,” i.e. successful completions of the game. But there’s a catch — see below.
Skip Movie does what the name suggests. Skip Sien Sobi skips the Operation Map screens:
The other codes
Unfortunately, there doesn’t seem to be a way to make the Clear Cnt value on the cheat menu persist — you can set it, but if you do a soft reset it will be cleared. If you do clear the game at least once, you can enter the movie select code:
A, X, B, Z, C
And if you clear it 8 times, you can get a lesser stage select menu with this code:
A, Y, C, B
Technical details
These codes are handled by the function at 060020ae
. Here’s some simplified pseudocode:
if p1_held_button & START_BUTTON != 0:
next_mode = 0x13
elif (clear_count >= 1) and check_movie_code():
next_mode = 0x18
elif (clear_count >= 8) and check_stage_select_code():
next_mode = 0x0d
cheat_options = False
elif check_cheat_menu_code():
next_mode = 0x0d
cheat_options = True
The button code sequences are stored at 06003f58
. Each button is represented by a 4 byte pattern:
0000 0100 - B
0000 0200 - C
0000 0400 - A
0000 0800 - Start
0000 1000 - Up
0000 2000 - Down
0000 4000 - Left
0000 8000 - Right
0000 0008 - L
0000 0010 - Z
0000 0020 - Y
0000 0040 - X
0000 0080 - R
Knowing that, you can read out the codes. The movie test is:
06003f58 0000 0400 # A
06003f5c 0000 0040 # X
06003f60 0001 0000 # B
06003f64 0000 0010 # Z
06003f64 0000 0200 # C
The stage select code is:
06003f8c 0000 0400 # A
06003f90 0000 0020 # Y
06003f94 0000 0200 # C
06003f98 0000 0100 # B
The cheat menu code is:
06003fa0 0000 0200 # C
06003fa4 0000 0080 # R
06003fa8 0000 0040 # X
06003fac 0000 0400 # A
06003fb0 0000 0040 # Left
06003fb4 0000 0080 # Right
06003fb8 0000 0200 # C
06003fbc 0000 0080 # R
06003fc0 0000 0040 # X
06003fc4 0000 0400 # A
06003fc8 0000 0040 # Left
06003fd0 0000 0080 # Right
06003fd4 0000 0200 # C
06003fd8 0000 0080 # R
06003fdc 0000 0040 # X
06003fe0 0000 0400 # A
06003fe4 0000 0040 # Left
06003fe8 0000 0080 # Right
Interestingly, there’s another code sequence in the same region of the disc image:
06003f70 0000 1000 # Up
06003f74 0000 2000 # Down
06003f78 0000 1000 # Up
06003f7c 0000 1000 # Down
06003f80 0000 0400 # A
06003f84 0000 0200 # C
It doesn’t do anything, though — there’s a function that listens for it, but it’s not hooked up at all. So there’s no clues as to what effect it was supposed to have.
Outro
Feel free to use this information and these screenshots on your favorite reference website. For previous coverage of previously undocumented cheat codes, see my archive.
There will be more Rings of Saturn this weekend!
