Register - Login
Views: 96207857
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
12-14-18 04:26:35 PM

Jul - The Cutting Room Floor - Finding Debug Options New poll - New thread - New reply
Next newer thread | Next older thread
Cuber456

Fuzzy
Don't mind me. Just passing through.
Level: 52


Posts: 44/776
EXP: 1078791
For next: 5049

Since: 02-19-12

From: Everywhere at once.

Since last post: 299 days
Last activity: 299 days

Posted on 07-09-12 11:55:46 PM Link | Quote
I have been looking at the Link's Awakening page and have noticed that it has some extensive debugging options. It makes me wonder if there are similar debugging options in the Oracle Series. My question is where would you even start to find such options? For example, what logic/process would lead someone to discover that bytes 00:0003, 00:0004 and 00:0005 enable debugging options in Link's Awakening?
paulguy

Green Birdo
Level: 90


Posts: 2239/2294
EXP: 7043055
For next: 145554

Since: 09-14-07

From: Buffalo, NY

Since last post: 6.3 years
Last activity: 6.3 years

Posted on 07-10-12 02:10:51 AM Link | Quote
I would imagine finding menu text strings, through some kind of relative search, then look for references in code to it. Not sure about the deep details about that, since I've never done it, but I imagine it could just be a fairly fuzzy process that requires a bit of luck and instinct, and plenty of practice.
Mister_Argent
Random nobody
Level: 7


Posts: 1/8
EXP: 1095
For next: 353

Since: 07-14-12


Since last post: 5.6 years
Last activity: 5.3 years

Posted on 07-14-12 08:24:16 PM Link | Quote
In the case of Arcade Games, You can usually find some Developer Stuff by fiddling with dip switches or reading through the manuals. it kind of varies by games, but finding advanced diagnostics, sound tests, and so on is fairly simple.
devin

King Bowser Koopa
i'm mima irl
Level: 107


Posts: 2604/3472
EXP: 12745186
For next: 346125

Since: 04-29-08

Pronouns: any
From: FL

Since last post: 2 days
Last activity: 1 day

Posted on 07-14-12 10:13:42 PM Link | Quote
Originally posted by paulguy
I would imagine finding menu text strings, through some kind of relative search, then look for references in code to it. Not sure about the deep details about that, since I've never done it, but I imagine it could just be a fairly fuzzy process that requires a bit of luck and instinct, and plenty of practice.

This, pretty much. My process for finding debug modes in SNES games starts once I've already found some debug-related text in the ROM. Usually at that point, references to the text can be found in the code, and from there, it becomes a matter of working backwards through the code, seeing where one subroutine is called by another subroutine, seeing where that subroutine is called by yet another, and so on. A debugger would ideally be used to find out when certain code is executed during gameplay, which is useful for determining how the debug mode is accessed once you know where the actual debug routines are in the code.

Obviously, this takes at least basic assembly language skills and some general knowledge of how the console works "under the hood", but a surprising amount can be found once you know how. It is something that takes practice though, and the process becomes a lot more comfortable the more time you spend searching game code and getting a feel for how the games operate on a low level.

Another (easier) method which works for some (but not all) games involves using an emulator or cheat device with a cheat search feature. You can use this to find which RAM addresses control certain aspects of the game state, such as the current "screen number", menu number, room/area number, and so on. This is how I first started finding debug modes in games like Tetris 2. Obviously, this depends on how closely the debugging features are integrated with the rest of the game, but it's always worth trying.
mountainmanjed
Random nobody
Level: 7


Posts: 5/8
EXP: 1198
For next: 250

Since: 04-12-11


Since last post: 6.2 years
Last activity: 5.8 years

Posted on 07-15-12 11:09:42 AM (last edited by mountainmanjed at 07-15-12 11:10:05 AM) Link | Quote
Originally posted by Mister_Argent
In the case of Arcade Games, You can usually find some Developer Stuff by fiddling with dip switches or reading through the manuals. it kind of varies by games, but finding advanced diagnostics, sound tests, and so on is fairly simple.


Sometimes simple as adding an extra menu slot on the main menu of Neo Geo game(Matrimelee) or even switching the MVS version to work on the AES(Rage of the Dragons).
BMF54123

Rhea Snaketail
Slightly frazzled...
Level: 135


Posts: 5114/5872
EXP: 29100355
For next: 234650

Since: 07-03-07

From: Neither here nor there.

Since last post: 2 days
Last activity: 10 hours

Posted on 07-18-12 06:18:05 PM Link | Quote
Some games originally had their debugging features listed on the main menu, and enabling them merely requires disabling the code that stops the cursor from moving past the last entry. I found Pac-Man 2's sound and animation tests this way.
Foxhack
Member
Annoying fuzzball
Level: 50


Posts: 99/710
EXP: 932986
For next: 14331

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 49 days
Last activity: 15 days

Posted on 07-18-12 06:58:52 PM (last edited by Foxhack at 07-18-12 07:04:00 PM) Link | Quote
And in some PC games, all you need is a command-line switch, or a small modification to the configuration files. Sometimes the binaries contain clues, as well. Using cheat tools can help.
Torentsu
Member
Level: 24


Posts: 95/129
EXP: 77759
For next: 366

Since: 03-30-11


Since last post: 211 days
Last activity: 125 days

Posted on 07-19-12 01:23:18 PM Link | Quote
MAME now has a built in debugger that you can enable via any given game's properties menu. You can usually find several debug menu strings if you look in the right rom. I found a TON of stuff for Daraku Tenshi such as placement data, stance debug etc but have no clue how to reactivate any of it.
Foxhack
Member
Annoying fuzzball
Level: 50


Posts: 101/710
EXP: 932986
For next: 14331

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 49 days
Last activity: 15 days

Posted on 07-19-12 02:29:28 PM Link | Quote
Originally posted by Torentsu
MAME now has a built in debugger that you can enable via any given game's properties menu. You can usually find several debug menu strings if you look in the right rom. I found a TON of stuff for Daraku Tenshi such as placement data, stance debug etc but have no clue how to reactivate any of it.

Why don't you bug XGargoyle about it? If he's still around.
Torentsu
Member
Level: 24


Posts: 96/129
EXP: 77759
For next: 366

Since: 03-30-11


Since last post: 211 days
Last activity: 125 days

Posted on 07-19-12 10:04:25 PM Link | Quote
He's actually a member of my DT forums, and he's probably seen the post I made showing all the stuff in memory, but he's currently in one of his not interested in DT moods, as he said himself he goes in cycles. He did however find each characters base health numbers and is reportedly working on a hitbox viewer.
Foxhack
Member
Annoying fuzzball
Level: 50


Posts: 102/710
EXP: 932986
For next: 14331

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 49 days
Last activity: 15 days

Posted on 07-19-12 11:26:33 PM Link | Quote
Originally posted by Torentsu
He's actually a member of my DT forums, and he's probably seen the post I made showing all the stuff in memory, but he's currently in one of his not interested in DT moods, as he said himself he goes in cycles. He did however find each characters base health numbers and is reportedly working on a hitbox viewer.

I know he's a member.

Tell him Kitsune says to stop being a lazy git and get his ass back to work. If he asks, tell him, "Yes, THAT Kitsune."
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Finding Debug Options New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 6fc366a [2018-12-11]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al.

31 database queries, 4 query cache hits.
Query execution time: 0.181860 seconds
Script execution time: 0.016354 seconds
Total render time: 0.198214 seconds