Register - Login
Views: 99390513
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 09:00:54 AM
Jul - The Cutting Room Floor - Super Metroid Debug Stuff New poll - New thread - New reply
Next newer thread | Next older thread
Rick
M'Lord, there's a knife in your head!
Level: 152


Posts: 13/7539
EXP: 43669405
For next: 632255

Since: 02-15-10

From: Maine

Since last post: 113 days
Last activity: 45 days

Posted on 05-12-10 05:15:00 AM Link | Quote
This is copied from my wiki, which is hence copied from another source:

----

Enable Debug Mode

808004FF -- Debug Mode

This enables a whole mess of debugging features. This is actually the same as the code listed in the GGCCC's Super Metroid GG FAQ as "Another version of Galoob's 'select any area when loading a saved game'". In addition to selecting which region of the planet to start in, you can also pick a spot within the region using select on controller 2.

Various debugging features can be unlocked during normal gameplay via button combos on controller 1. Holding Select + L and pressing X will get you sprite tile viewer. Continue holding Select + L and press A to view the tiles with different palettes, or press X again to view the second set of sprite tiles.

Hold Select + L and press A for a (buggy) palette viewer.

Hold Select + R and press A to turn off the layer 3 stuff(status bar, liquids/fogs).

[Select + R + B = set missiles, super missiles, and power bombs to 0.]

[Select + L + Y = gray the bottom portion of the screen (why?).]

There are other Select + [shoulder button] + [other button] combos, but their uses aren't as apparent. Try some and see what I mean. Also, the standard Select + Start + L + R reset combo is enabled now. Pretty boring, to be honest. The real fun is to be had over on controller 2. Here's a rundown of the keys for controller 2:

Start --- Save prompt. Save and reset or (likely) crash. Your choice. Select --- Displays the room's enemy set data(needs the debugger font). A --- Toggle Samus <-> enemy interaction(you can't hurt each other). L --- Disable framely processing of enemies(all enemies stop). R --- Enemy Mover(and what loads the enemy debugger font)

The enemy mover is what's important here. It shows you the enemy's name, X/Y position, current HP, the enemy set name, and lets you move enemies around with the pad on controller 2. Press Select to select the next enemy, B + Select to go back one(somewhat buggy). Pressing A will summon the enemy to a spot on Samus's right and holding X while moving the enemy around will move it much faster. Pressing R will bring us to...

...the enemy room population entry editor. This edits the enemy's entry in the room population data in RAM. Use the pad to move the cursor, X to increase the value, and B to decrease it. Select will move the enemy to the X/Y pos that you've set while A does the opposite, setting the X/Y pos to the enemy's current position. Pressing R will exit, but pressing L takes us to...

...the enemy spawner. It gives you a list of enemies in the current enemy set. You pick your enemy with down. You spawn the enemy with L. You cancel with R. You know where the Kraid's Hideout energy tank is? Go try it out there.
[edit] Extended Enemy Debugger

B495D69C -- Extended Enemy Debugger

This will make the R button in the enemy spawner take you to the extended enemy debugger instead of exiting. Here you can watch all kinds of enemy animation and AI variables. Press R to move to the next page. After a few pages of four variables per page, you'll be dumped into the enemy set display, where you can press Select to exit the debugger.
[edit] Miscellaneous Debugging Enablers

808000FF --- Bypass country and NTSC/PAL check

808002FF --- Enable what I'm fairly sure is the demo recorder. It tries to record what appears to be the current button presses, button holds, Samus's X/Y position, and the X/Y position of the top-left corner of the visible area. That was off the top of my head, so question its accuracy. Either way, it does exactly nothing at the moment due to the fact that it tries to write these values to ROM(which would have worked fine on Nintendo's development systems, but not on current emulators or the SNES).

808006FF --- Lets X on controller 2 toggle scrolling on and off. Pretty annoying. You have to use this with the main debug code(which enables reading of the second controller) in order for this to work.

808008FF --- Something for the audio man, I'm guessing. Start up with this code and you'll crash when you go through a door. Turn the code on during gameplay and the music won't change(actually, I think it still changes for the item room/elevator music and some other special tracks).

There are a lot of other little debugging and development features hiding throughout the game's code. Here's an example:

A2AAF000 --- Hold B on controller 2 to make Samus's ship lift off when you enter it.

84B33360 --- Display Scrolling Trigger Extensions

84B36660 --- Display Scrolling Triggers

( Sources: deskjockey_, JathyS's site, Kejardon )
[edit] Even More Stuff?

According to Kejardon, there are also some more debugging options, such as a way to enable invincibility while on elevators, but as of the moment, the code is not available.

---

I haven't ported it yet because one, I don't remember how to mess with all this stuff and two, there's still more stuff to be found and toyed with yet. Has more stuff been found with this or something?
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 3248/5390
EXP: 29051529
For next: 283476

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 333 days
Last activity: 333 days

Posted on 05-12-10 07:58:50 PM Link | Quote
05-12-10 02:58:50 PM
Post #3248
Originally posted by Rick
[Select + R + B = set missiles, super missiles, and power bombs to 0.]
I believe it actually swaps with a second set of counters. You can collect some, then use this to swap them. What the point is, I have no idea.

[Select + L + Y = gray the bottom portion of the screen (why?).]
CPU meter?

It's really neat that they left all this in the retail version. I wish they'd do that with more games.

____________________


[loading witty comment...]
why not?
Rick
M'Lord, there's a knife in your head!
Level: 152


Posts: 16/7539
EXP: 43669405
For next: 632255

Since: 02-15-10

From: Maine

Since last post: 113 days
Last activity: 45 days

Posted on 05-12-10 08:21:59 PM (last edited by Rick at 05-12-10 05:23 PM) Link | Quote
I agree, it's neat that they left all this stuff in there. I'll have to frig around with it some more and then post up what I know works. I don't like to put stuff up on the wiki unless I believe it's true.

What I'm more curious about, however, is the fact that there's more stuff to be found still.

And as for the counter switching, perhaps it was a way for the programmers to collect the items, but yet if they wanted to use 999 missiles, 99 super missiles, and 99 power bombs for testing purposes, they could do that too. It's just a guess, but doesn't seem too farfetched if they're using it to make sure they have all their items via a true count too.
Xkeeper

Level: 263


Posts: 16143/25343
EXP: 296720737
For next: 2239716

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 05-12-10 08:32:41 PM Link | Quote
The original quote was from Kejardon's page.

Kejardon himself seems to have vanished, though.

____________________
Rick
M'Lord, there's a knife in your head!
Level: 152


Posts: 19/7539
EXP: 43669405
For next: 632255

Since: 02-15-10

From: Maine

Since last post: 113 days
Last activity: 45 days

Posted on 05-12-10 08:35:55 PM Link | Quote
I have him on AIM and I've seen him around, but I've not bothered to prod him as of late. No reason, really.

I should probably ask him sometime if he's found more or whatever. I figured sticking this here might start a little bit of a hunt for stuff if he hasn't though.
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Super Metroid Debug Stuff New poll - New thread - New reply


Rusted Logic

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

28 database queries.
Query execution time:  0.091771 seconds
Script execution time:  0.012742 seconds
Total render time:  0.104513 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 300 - 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 196 - 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 101 - Warning: unescaped & or unknown entity "&postid"
line 241 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 243 column 9 - Warning: missing <tr>
line 261 column 13 - Warning: missing <tr>
line 262 column 101 - Warning: unescaped & or unknown entity "&postid"
line 264 column 85 - Warning: <style> isn't allowed in <td> elements
line 264 column 9 - Info: <td> previously mentioned
line 269 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 271 column 9 - Warning: missing <tr>
line 289 column 13 - Warning: missing <tr>
line 290 column 101 - Warning: unescaped & or unknown entity "&postid"
line 299 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 301 column 9 - Warning: missing <tr>
line 319 column 13 - Warning: missing <tr>
line 320 column 101 - Warning: unescaped & or unknown entity "&postid"
line 322 column 243 - Warning: missing <tr>
line 322 column 491 - Warning: missing <tr>
line 324 column 942 - Warning: unescaped & or unknown entity "&theme"
line 327 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 329 column 9 - Warning: missing <tr>
line 347 column 13 - Warning: missing <tr>
line 348 column 101 - Warning: unescaped & or unknown entity "&postid"
line 355 column 17 - Warning: missing <tr>
line 355 column 17 - Warning: discarding unexpected <table>
line 358 column 35 - Warning: missing <tr>
line 358 column 50 - Warning: missing </font> before </td>
line 358 column 91 - Warning: missing </font> before </table>
line 360 column 35 - Warning: missing <tr>
line 360 column 50 - Warning: missing </font> before </td>
line 361 column 37 - Warning: unescaped & or unknown entity "&id"
line 360 column 196 - Warning: missing </font> before </table>
line 362 column 17 - Warning: discarding unexpected </textarea>
line 362 column 28 - Warning: discarding unexpected </form>
line 362 column 35 - Warning: discarding unexpected </embed>
line 362 column 43 - Warning: discarding unexpected </noembed>
line 362 column 53 - Warning: discarding unexpected </noscript>
line 362 column 64 - Warning: discarding unexpected </noembed>
line 362 column 74 - Warning: discarding unexpected </embed>
line 362 column 82 - Warning: discarding unexpected </table>
line 362 column 90 - Warning: discarding unexpected </table>
line 364 column 9 - Warning: missing </font> before <table>
line 376 column 25 - Warning: discarding unexpected </font>
line 385 column 37 - Warning: discarding unexpected </font>
line 363 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 245 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 23 - Warning: <img> lacks "alt" attribute
line 161 column 64 - Warning: <img> lacks "alt" attribute
line 161 column 113 - Warning: <img> lacks "alt" attribute
line 161 column 163 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 246 column 23 - Warning: <img> lacks "alt" attribute
line 246 column 64 - Warning: <img> lacks "alt" attribute
line 246 column 113 - Warning: <img> lacks "alt" attribute
line 246 column 163 - Warning: <img> lacks "alt" attribute
line 257 column 15 - Warning: <img> lacks "alt" attribute
line 274 column 23 - Warning: <img> lacks "alt" attribute
line 274 column 64 - Warning: <img> lacks "alt" attribute
line 274 column 113 - Warning: <img> lacks "alt" attribute
line 274 column 163 - Warning: <img> lacks "alt" attribute
line 275 column 11 - Warning: <img> lacks "alt" attribute
line 285 column 15 - Warning: <img> lacks "alt" attribute
line 304 column 23 - Warning: <img> lacks "alt" attribute
line 304 column 64 - Warning: <img> lacks "alt" attribute
line 304 column 113 - Warning: <img> lacks "alt" attribute
line 304 column 163 - Warning: <img> lacks "alt" attribute
line 305 column 11 - Warning: <img> lacks "alt" attribute
line 315 column 15 - Warning: <img> lacks "alt" attribute
line 322 column 268 - Warning: <img> lacks "alt" attribute
line 324 column 793 - Warning: <img> lacks "alt" attribute
line 324 column 889 - Warning: <img> lacks "alt" attribute
line 324 column 1002 - Warning: <img> lacks "alt" attribute
line 332 column 23 - Warning: <img> lacks "alt" attribute
line 332 column 64 - Warning: <img> lacks "alt" attribute
line 332 column 113 - Warning: <img> lacks "alt" attribute
line 332 column 163 - Warning: <img> lacks "alt" attribute
line 333 column 11 - Warning: <img> lacks "alt" attribute
line 343 column 15 - Warning: <img> lacks "alt" attribute
line 361 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 361 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 361 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 370 column 25 - Warning: <img> lacks "alt" attribute
line 375 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 355 column 17 - Warning: trimming empty <tr>
line 358 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 262 column 27 - Warning: <nobr> is not approved by W3C
line 290 column 27 - Warning: <nobr> is not approved by W3C
line 320 column 27 - Warning: <nobr> is not approved by W3C
line 348 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 117 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