|
||||||||||||||
Under the Microscope: Ultraman: Legendary Giant of LightUltraman: Legendary Giant of Light is a fighting game for Saturn. It’s one of five Ultraman titles for Saturn (two games and three media discs), and one of two Saturn titles to require both a CD and a ROM cart (the other is The King of Fighters ’95 ). Most English sites don’t list any cheat codes for this game, but some Japanese sites (like this one ) have one that unlocks some special effects. While examining how it worked, I found that it’s part of a larger cheat sequence with more effects. Details are below! Cheat level 1: Wireframe objects, random stages, no HUDHere’s the cheat code that was already known. Enter it at the title screen: (Controller 1) Up, Down, A, B, C, Right, Left You’ll hear a sound effect if you get it right. After that you can do a few different things when selecting VS mode. Holding Y causes the objects onscreen to be rendered in wireframe mode: Holding Z causes the HUD elements — the life bar, the armor gauge, the timer — to disappear: If you hold X , you’ll get a randomly selected stage instead of the one associated with your opponent. Cheat level 2: Stage selectAfter you put in the first code, you can put in another code with controller 2 : (Controller 2) Up, Up, A, A, C, C, Down, Down, B, Left, B, Right, Left, Right, B, B If the title screen times out you can retry without entering the first code again. You’ll hear a different sound effect if you got it right. And when you play a VS mode game, you’ll get a Stage Select screen after choosing your character: The “Stage 0” shown above looks like a test level? Cheat level 3: CPU control, free cameraAfter putting in the first two cheat codes, you can enter a third one at the title screen with controller 2 : (Controller 2) C, B, A, B, C, Down, Left, Up, Right, Down, A, B, C, B, A As above, you can retry if the title screen times out without needing to put in the first two codes. You’ll hear a third sound effect if you enter everything correctly. This code has two effects. The first is that you can have player one be controlled by the CPU by pressing Start at the Handicap screen: The second is that you can press X+Y+B on controller 2 to enable a free camera mode during gameplay. After you enable it, you can adjust the camera angle by holding B on controller 1 and moving the D-pad: It’s kind of finicky and hard to make work consistently, alas. You’ll probably lose to the CPU while you’re messing with the camera. Technical detailsThree very similar functions check for cheat code input at the title screen. The first one lives at 0602cbf8 , and its logic looks something like: if cheat_flags_1 & 0x04 == 0x00: pressed_button = get_input(CONTROLLER_1) if pressed_button & code_counter 1 == 0x00: code_counter_1 = 0 else: code_counter_1 += 1 if code_counter_1 == 7: play_sfx(0x1d) cheat_flags_1 |= 0x04The other two functions (at 0602cbf8 and 0602cc98 ) have the same structure, but they track different button sequences and counters. They also set different flags — bits on 06013ec4 and 06013ed8 get set when you enter the codes. The sequences use a mapping of bit patterns to buttons that’s standard for Saturn: I was hoping that there would be a cheat for the Movie Room option on the title screen, but there doesn’t seem to be one: This Action Replay code should unlock it, though: 16013f22 000f # Set all progress flags This works because the function at 0602cd40 , which initializes the mode select screen, has logic like this: if progress_flags & 0x0f != 0x0f: mode_select_limit = 4This code overrides the default value for mode_select_limit , which is 5. If all of the progress flags are set, then the default value stays in place and all five items are shown. OutroThanks for reading! I’ll be back next week with another one of my Saturn hacks and cheats. Check out the archive here at SHIRO! for more in the meantime, or head over to my Substack blog to see what other retro game reverse engineering things I’m getting up to.
|
||||||||||||||