Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Debug menu | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Sirius
Newcomer
Level: 5

Posts: 1/6
EXP: 354
For next: 175

Since: 03-30-04

Since last post: 565 days
Last activity: 339 days
Posted on 03-30-04 02:59 PM Link | Quote
Hello
I have a questions. How I can finding the Debug menu(s). I know that in following games Secret of evermore, Secret of Mana, Terranigma, mystic quest legend, Prince of Persia, lufia 2 etc. were debug menus, because I found some text passages like Debug menu, monster replacement, monster status, choose level or board, Magic,Item,weapon XYZ on /off, etc., but this are only the text passages and not the debug menu. Now my question. How I can finding the Debug menu(s) and has every game a Debug menu or only some games.
Lenophis

Super Koopa
Level: 44

Posts: 21/830
EXP: 584360
For next: 26925

Since: 03-15-04
From: Duluth, MN

Since last post: 4 hours
Last activity: 3 hours
Posted on 03-30-04 03:10 PM Link | Quote
Most games tend to leave in the debug modes, as removing them would require debugging to make sure it works. But, wait for BMF to read this, he's as debugging freak, and can answer your question far better than I can.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 215/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 03-30-04 10:34 PM Link | Quote
Look for pointers to the text. If you know where the game's DrawString function is, it can be a big help. Once you find a reference, trace back through the ASM. You'll find one of 4 things:
-The code checks a variable in RAM/ROM. Just change this to what it wants to activate. (More advanced old games often use this, example: Metroid 2)
-The code is skipped over by a non-conditional jump or rerouted call. Change the jump to match the proper condition (IE jump if zero instead of just jump) or direct the call to where it's supposed to go. (Older games tend to use this, example: Super Mario World.)
-The code is a subroutine that never gets called. It can sometimes be impossible to find where they were supposed to go (as this is usually with games written in C, so it just gets compiled out seamlessly), but usually can be hooked somewhere such as an options menu. To actually activate the debugger, I usually just write down everything important, rig up code to call whatever subroutine in place of something (menus usually) and call the sub I'm in. If that doesn't work, I trace back to find the sub that calls that and repeat until I get good results. (Note: Often you'll find the debugger with corrupt GFX. If you trace back further, you might find the GFX loader, though in some cases they're meant to load at a place where the required GFX are already loaded.) (Newer games (usually those written in higher-level languages) tend to use this, example: Pokemon G/S.)
-The text is left over but there's no actual debugger. (Rather unlikely though.) Can't think of an example. Usually if they kill the debugger they do it because of limited space, so they'd kill the text too. Removing debuggers seems to be rare in Nintendo games, probably because of the debugging involved after doing so. Or of course, it could be totally bogus just there to tease you.
Sirius
Newcomer
Level: 5

Posts: 2/6
EXP: 354
For next: 175

Since: 03-30-04

Since last post: 565 days
Last activity: 339 days
Posted on 03-31-04 03:09 PM Link | Quote
Thanks for the replays. This with the ASM show one way to find the debug menu but for people who don
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Debug menu | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.017 seconds.