2025 is the year in which Segagaga, Sega’s video game company simulation RPG on the Dreamcast, takes place. It’s 2025 now, so I decided to check out what’s hiding on its disc.
Answer: two debug menus! One of them is activated with a cheat code, and was previously discovered by hackers. The other requires a patch — I made one for it, and you can get it from SegaXtreme.
Details below!
Debug menu #1
Plug a controller into port C and use it to enter the following sequence at the title screen:
Left, X, Up, Y, Right, B, Down, A, Right, B, Up, Y, Right, B, Down, X
After that, hold down X and press R to bring up the menu.
The interface is a little clunky and frustrating. For example, to play a movie on the SGGG Movie Test screen, you have use the D-pad to select a movie file and then select Movie Stop.
I enjoyed the video with Ristar, Astal, Pepper, and Alex Kidd:
I’m not a fan of this rendition of Sonic, however:
The pages are:
- Player: view in-game text messages.
- Parameter in battle: Adjust stats like HP, MP, ATK, DEF, AGI.
- Sprite Viewer: Shows the sprites for the current screen.
- Debug Disp: Doesn’t seem to work.
- Event Flag: Read only view of the status of in-game events.
- Sim Charactor View: Read only view of SIM events.
- SGGG Sound Test: Play BGM and SFX files.
- SGGG Story Test: Alter your progression in the story.
- Add Chara to Zashiki: Unknown.
- SGGG Movie Test: Shown above.
- SGGG VM Save Load Test: Save and load to the VMS/VMU.
- Dungeon: Alters how enemy encounters work.
Debug menu #2
With my patch, the game will boot straight into this menu. You can access various game functions directly from here, including various RPG scenarios, the staff roll, and mini-games.
ペン庫番 (second column) is the Warehouse Keeper mini-game. 筐体拭き(third column) is the arcade cabinet cleaning mini-game:
終天狗 (third column) is the shmup mini-game:
Technical details
The function at 8c01f97e
checks to see whether the flag at 8c691d30
is set to 01
. If it is, it activates the first debug menu from above if X is being held and R is pressed.
Tracing references to the flag leads to the function at 8c0ad284
, which runs when the title screen is active. If you press a button on the controller in port C, it will be compared to the sequence starting at 8c1243dc
:
The counter at 8cab636c
increments when you get a press right, and the flag updates after the last button is entered.
To skip having to enter the button code, my patch changes the read of the flag to a write:
8c01f986 01e0 # Put a 1 into r0
8c01f98c 0223 # Write the 1 to the debug flag
8c01f98e 0900 # Don't branch to the non-debug code
The second debug menu is one of the game’s top level “modes.” The function at 8c02c1c8
examines the value at 8c691bf8
on each tick of the game clock, and chooses a function to execute based on its value.
Normally the game chooses function for mode number 01
to start, which shows the Sega logo and such. I swapped it for the function for mode number 00
:
8c139918 6825028c # Mode 01 is now debug
Now if you hold A+B+X+Y to restart, you’ll go right back to the debug menu.
Outro
Feel free to use this information (and these screenshots) elsewhere. If you’re looking into Segagaga (or any other game I’ve written about) and want to see my hacking notes, I’m happy to share those.
I’ve got lots more in the works for 2025. Send me your suggestions for games to analyze; I’m always looking for new ones to check out.
This article is syndicated from Rings of Saturn, Bo’s reverse engineering blog.
Be the first to comment