Register - Login
Views: 99388414
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 07:16:55 AM
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: 56


Posts: 44/776
EXP: 1317913
For next: 80263

Since: 02-19-12

From: Everywhere at once.

Since last post: 4.2 years
Last activity: 122 days

Posted on 07-10-12 02:55:46 AM 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: 93


Posts: 2239/2294
EXP: 8025608
For next: 27202

Since: 09-14-07

From: Buffalo, NY

Since last post: 9.7 years
Last activity: 9.6 years

Posted on 07-10-12 05:10:51 AM Link | Quote
Paulguy's Post configuration
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: 1352
For next: 96

Since: 07-14-12


Since last post: 8.9 years
Last activity: 8.6 years

Posted on 07-14-12 11: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.

____________________
Avatar/Minipic are from 'Section-Z' for the Famicom Disk System and NES.
devin

Yoshi
i'm mima irl
Level: 112


Posts: 2604/3519
EXP: 14918827
For next: 419378

Since: 04-29-08

Pronouns: any
From: FL

Since last post: 297 days
Last activity: 1 day

Posted on 07-15-12 01:13:42 AM 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.

____________________
Photo by Luc Viatour
mountainmanjed
Random nobody
Level: 7


Posts: 5/8
EXP: 1436
For next: 12

Since: 04-12-11


Since last post: 9.6 years
Last activity: 9.2 years

Posted on 07-15-12 02:09:42 PM (last edited by mountainmanjed at 07-15-12 02:10:05 PM) 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).
Rachel Mae

Creature of Chaos
Level: 141


Posts: 5114/5929
EXP: 33576057
For next: 543957

Since: 07-03-07

Pronouns: she/her
From: Foxglen

Since last post: 12 days
Last activity: 4 hours

Posted on 07-18-12 09: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: 54


Posts: 99/722
EXP: 1173433
For next: 60437

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 2.0 years
Last activity: 1.8 years

Posted on 07-18-12 09:58:52 PM (last edited by Foxhack at 07-18-12 10: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.

____________________
My Video Game Collection
Torentsu
Member
Level: 26


Posts: 95/130
EXP: 94248
For next: 8027

Since: 03-30-11


Since last post: 1.7 years
Last activity: 1.6 years

Posted on 07-19-12 04: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.

____________________
あなたのために踊りましょうか?ーユリエン
http://ifhedidnthavethatdaggum.blogspot.com/
Foxhack
Member
Annoying fuzzball
Level: 54


Posts: 101/722
EXP: 1173433
For next: 60437

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 2.0 years
Last activity: 1.8 years

Posted on 07-19-12 05: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.

____________________
My Video Game Collection
Torentsu
Member
Level: 26


Posts: 96/130
EXP: 94248
For next: 8027

Since: 03-30-11


Since last post: 1.7 years
Last activity: 1.6 years

Posted on 07-20-12 01:04:25 AM 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.

____________________
あなたのために踊りましょうか?ーユリエン
http://ifhedidnthavethatdaggum.blogspot.com/
Foxhack
Member
Annoying fuzzball
Level: 54


Posts: 102/722
EXP: 1173433
For next: 60437

Since: 04-17-12

From: Mexicali, Mexico

Since last post: 2.0 years
Last activity: 1.8 years

Posted on 07-20-12 02:26:33 AM 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."

____________________
My Video Game Collection
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Finding Debug Options New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

34 database queries, 4 query cache hits.
Query execution time:  0.086754 seconds
Script execution time:  0.017128 seconds
Total render time:  0.103882 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 192 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 182 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 184 column 9 - Warning: missing <tr>
line 202 column 13 - Warning: missing <tr>
line 203 column 102 - Warning: unescaped & or unknown entity "&postid"
line 205 column 74 - Warning: <style> isn't allowed in <td> elements
line 205 column 9 - Info: <td> previously mentioned
line 208 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 210 column 9 - Warning: missing <tr>
line 228 column 13 - Warning: missing <tr>
line 229 column 102 - Warning: unescaped & or unknown entity "&postid"
line 234 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 236 column 9 - Warning: missing <tr>
line 254 column 13 - Warning: missing <tr>
line 255 column 102 - Warning: unescaped & or unknown entity "&postid"
line 257 column 546 - Warning: missing </span> before <blockquote>
line 257 column 626 - Warning: inserting implicit <span>
line 257 column 626 - Warning: missing </span> before <hr>
line 257 column 812 - Warning: inserting implicit <span>
line 257 column 812 - Warning: missing </span> before <hr>
line 258 column 1 - Warning: inserting implicit <span>
line 265 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 267 column 9 - Warning: missing <tr>
line 285 column 13 - Warning: missing <tr>
line 286 column 102 - Warning: unescaped & or unknown entity "&postid"
line 293 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 295 column 9 - Warning: missing <tr>
line 313 column 13 - Warning: missing <tr>
line 314 column 102 - Warning: unescaped & or unknown entity "&postid"
line 316 column 74 - Warning: <link> isn't allowed in <td> elements
line 316 column 9 - Info: <td> previously mentioned
line 319 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 321 column 9 - Warning: missing <tr>
line 339 column 13 - Warning: missing <tr>
line 340 column 102 - Warning: unescaped & or unknown entity "&postid"
line 345 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 347 column 9 - Warning: missing <tr>
line 365 column 13 - Warning: missing <tr>
line 366 column 102 - Warning: unescaped & or unknown entity "&postid"
line 372 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 374 column 9 - Warning: missing <tr>
line 392 column 13 - Warning: missing <tr>
line 393 column 102 - Warning: unescaped & or unknown entity "&postid"
line 399 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 401 column 9 - Warning: missing <tr>
line 419 column 13 - Warning: missing <tr>
line 420 column 102 - Warning: unescaped & or unknown entity "&postid"
line 426 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 428 column 9 - Warning: missing <tr>
line 446 column 13 - Warning: missing <tr>
line 447 column 102 - Warning: unescaped & or unknown entity "&postid"
line 455 column 17 - Warning: missing <tr>
line 455 column 17 - Warning: discarding unexpected <table>
line 458 column 35 - Warning: missing <tr>
line 458 column 50 - Warning: missing </font> before </td>
line 458 column 91 - Warning: missing </font> before </table>
line 460 column 35 - Warning: missing <tr>
line 460 column 50 - Warning: missing </font> before </td>
line 461 column 37 - Warning: unescaped & or unknown entity "&id"
line 460 column 192 - Warning: missing </font> before </table>
line 462 column 17 - Warning: discarding unexpected </textarea>
line 462 column 28 - Warning: discarding unexpected </form>
line 462 column 35 - Warning: discarding unexpected </embed>
line 462 column 43 - Warning: discarding unexpected </noembed>
line 462 column 53 - Warning: discarding unexpected </noscript>
line 462 column 64 - Warning: discarding unexpected </noembed>
line 462 column 74 - Warning: discarding unexpected </embed>
line 462 column 82 - Warning: discarding unexpected </table>
line 462 column 90 - Warning: discarding unexpected </table>
line 464 column 9 - Warning: missing </font> before <table>
line 476 column 25 - Warning: discarding unexpected </font>
line 485 column 57 - Warning: discarding unexpected </font>
line 463 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 160 column 11 - Warning: <img> lacks "alt" attribute
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 111 - Warning: <img> lacks "alt" attribute
line 161 column 161 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 186 column 11 - Warning: <img> lacks "alt" attribute
line 187 column 22 - Warning: <img> lacks "alt" attribute
line 187 column 63 - Warning: <img> lacks "alt" attribute
line 187 column 112 - Warning: <img> lacks "alt" attribute
line 187 column 161 - Warning: <img> lacks "alt" attribute
line 188 column 11 - Warning: <img> lacks "alt" attribute
line 198 column 15 - Warning: <img> lacks "alt" attribute
line 213 column 21 - Warning: <img> lacks "alt" attribute
line 213 column 62 - Warning: <img> lacks "alt" attribute
line 213 column 111 - Warning: <img> lacks "alt" attribute
line 213 column 161 - Warning: <img> lacks "alt" attribute
line 214 column 11 - Warning: <img> lacks "alt" attribute
line 224 column 15 - Warning: <img> lacks "alt" attribute
line 238 column 11 - Warning: <img> lacks "alt" attribute
line 239 column 23 - Warning: <img> lacks "alt" attribute
line 239 column 64 - Warning: <img> lacks "alt" attribute
line 239 column 113 - Warning: <img> lacks "alt" attribute
line 239 column 163 - Warning: <img> lacks "alt" attribute
line 240 column 11 - Warning: <img> lacks "alt" attribute
line 250 column 15 - Warning: <img> lacks "alt" attribute
line 270 column 21 - Warning: <img> lacks "alt" attribute
line 270 column 62 - Warning: <img> lacks "alt" attribute
line 270 column 111 - Warning: <img> lacks "alt" attribute
line 270 column 160 - Warning: <img> lacks "alt" attribute
line 281 column 15 - Warning: <img> lacks "alt" attribute
line 285 column 92 - Warning: <font> attribute "color" had invalid value "7C60B0" and has been replaced
line 297 column 11 - Warning: <img> lacks "alt" attribute
line 298 column 23 - Warning: <img> lacks "alt" attribute
line 298 column 64 - Warning: <img> lacks "alt" attribute
line 298 column 113 - Warning: <img> lacks "alt" attribute
line 298 column 163 - Warning: <img> lacks "alt" attribute
line 299 column 11 - Warning: <img> lacks "alt" attribute
line 309 column 15 - Warning: <img> lacks "alt" attribute
line 324 column 22 - Warning: <img> lacks "alt" attribute
line 324 column 63 - Warning: <img> lacks "alt" attribute
line 324 column 112 - Warning: <img> lacks "alt" attribute
line 324 column 162 - Warning: <img> lacks "alt" attribute
line 325 column 11 - Warning: <img> lacks "alt" attribute
line 335 column 15 - Warning: <img> lacks "alt" attribute
line 339 column 92 - Warning: <font> attribute "color" had invalid value "97ACEF" and has been replaced
line 350 column 22 - Warning: <img> lacks "alt" attribute
line 350 column 63 - Warning: <img> lacks "alt" attribute
line 350 column 112 - Warning: <img> lacks "alt" attribute
line 350 column 162 - Warning: <img> lacks "alt" attribute
line 361 column 15 - Warning: <img> lacks "alt" attribute
line 377 column 22 - Warning: <img> lacks "alt" attribute
line 377 column 63 - Warning: <img> lacks "alt" attribute
line 377 column 112 - Warning: <img> lacks "alt" attribute
line 377 column 162 - Warning: <img> lacks "alt" attribute
line 378 column 11 - Warning: <img> lacks "alt" attribute
line 388 column 15 - Warning: <img> lacks "alt" attribute
line 396 column 528 - Warning: <img> proprietary attribute value "absmiddle"
line 396 column 528 - Warning: <img> lacks "alt" attribute
line 404 column 22 - Warning: <img> lacks "alt" attribute
line 404 column 63 - Warning: <img> lacks "alt" attribute
line 404 column 112 - Warning: <img> lacks "alt" attribute
line 404 column 162 - Warning: <img> lacks "alt" attribute
line 415 column 15 - Warning: <img> lacks "alt" attribute
line 431 column 22 - Warning: <img> lacks "alt" attribute
line 431 column 63 - Warning: <img> lacks "alt" attribute
line 431 column 112 - Warning: <img> lacks "alt" attribute
line 431 column 162 - Warning: <img> lacks "alt" attribute
line 432 column 11 - Warning: <img> lacks "alt" attribute
line 442 column 15 - Warning: <img> lacks "alt" attribute
line 452 column 633 - Warning: <img> proprietary attribute value "absmiddle"
line 452 column 633 - Warning: <img> lacks "alt" attribute
line 461 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 461 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 461 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 470 column 25 - Warning: <img> lacks "alt" attribute
line 475 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 257 column 546 - Warning: trimming empty <span>
line 455 column 17 - Warning: trimming empty <tr>
line 458 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 203 column 27 - Warning: <nobr> is not approved by W3C
line 229 column 27 - Warning: <nobr> is not approved by W3C
line 255 column 27 - Warning: <nobr> is not approved by W3C
line 286 column 27 - Warning: <nobr> is not approved by W3C
line 314 column 27 - Warning: <nobr> is not approved by W3C
line 340 column 27 - Warning: <nobr> is not approved by W3C
line 366 column 27 - Warning: <nobr> is not approved by W3C
line 393 column 27 - Warning: <nobr> is not approved by W3C
line 420 column 27 - Warning: <nobr> is not approved by W3C
line 447 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 192 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md