Register - Login
Views: 99390100
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 08:38:52 AM
Jul - The Cutting Room Floor - Donkey Kong Country - DK's Problem Page? New poll - New thread - New reply
Next newer thread | Next older thread
rabidabid
Member
Level: 27


Posts: 1/135
EXP: 102370
For next: 13789

Since: 08-25-10


Since last post: 24 days
Last activity: 6 days

Posted on 08-25-10 10:45:24 PM Link | Quote
Hi, you may have seen me doing a lot of nothing around the wiki. I was going to add this to the page but I didn't want to stink up a featured article with my barebones find and a todo.

Anyway, If you open the game up in a hex editor, there's a string that reads "DK'S PROBLEM PAGE". It's at different spots of the ROM for different versions.

(E) 1.0 - 389B60
(E) 1.1 - 389C90

(J) 1.0 and 1.1 - 389E82

(U) 1.0 - 389C51
(U) 1.1 - 389C54
(U) 1.2 - 389D84
(U) Competition Cartridge - 389D9B

"DATE CODE" appears right before it. Some sort of bug report? I don't really know anything about hacking so I'm not capable of digging further.
Mattrizzle
150
Level: 29


Posts: 55/151
EXP: 136158
For next: 11727

Since: 07-27-07

From: United States

Since last post: 19 days
Last activity: 18 days

Posted on 08-26-10 01:24:50 PM Link | Quote
A routine that loads this text starts at 389B3F in the (U) 1.0 ROM, but I haven't figured out much more than that. All I know is that there aren't any jumps to this code in the ROM.

Also, prior to "DATE CODE" is another text string with three slashes, each separated by five spaces:

389C34:   2F 20 20 20 20 20 2F 20 20 20 20 20 2F FF       /     /     /



____________________
SMW Jul DKC Atlas Board 2 YouTube
Mattrizzle
150
Level: 29


Posts: 72/151
EXP: 136158
For next: 11727

Since: 07-27-07

From: United States

Since last post: 19 days
Last activity: 18 days

Posted on 09-13-11 02:14:33 AM (last edited by Mattrizzle at 03-11-17 11:58:58 PM) Link | Quote
This bump is oozing with good information.

While working on DKC Boss Blitz, I found the portion of code responsible for displaying several of the game's counters (SNES $80:A1AB). Adding a jump to the subroutine mentioned in the previous post gave me this the instant I entered a level:


So it happens that "DK's PROBLEM PAGE" is the heading of a debug display!

Here's the meaning of the hex data:
Lines 1 and 2: The first 8 16-bit words of Save RAM (the last two words on line 2 spell out "RARE" in ASCII)
Line 3: Value of current level (RAM address $3E)
Line 4: Value of last exit used when inside a level, otherwise it is 0000. (RAM address $40)
Line 5: Various level-related flags (RAM address $1E15)
Line 6: If the Continue Barrel is touched, this will contain the level value to return to after losing a life; otherwise, it is 0000 (RAM address $2E)
DATE CODE: Probably displayed a build date at one point, in MMDD format. However, the code now just loads the constant #$0000 into the accumulator, not a memory address.


If a jump to the subroutine at 389D6B (SNES $B8:9D6B) is added to this area instead, and $1E3B is set to a nonzero value, a different debug display will appear...


...the one seen in the DKC: Exposed video!

Line 1 always displays 0000 (In the video, it displayed 0811, which is possibly a build date)
Line 2: The current level's value, just like line 3 of DK's Problem Page
Line 3: The first 2 digits display the number of bonus areas found; the last two show the total number of bonus areas in the level (note that completing a level counts as finding a bonus area)

Notice that in the video, the display disappears after a certain amount of frames. RAM address $1E3B is the counter for this, which is why its value must be greater than zero for the display to show. Judging from the video, it should be initialized with #$0078.


It doesn't end there! Here's two others to try:
38830E (SNES $B8:830E) (JSL) Sets the pause flag; displays the palette addresses of each object loaded into RAM, as well as which palette lines they occupy
3CB13A (SNES $BC:B13A) (JSL) Shows Donkey Kong's collision box, his coordinates, and a slew of other values...

A quick way to see these for yourselves is to replace [29 B5 B8] at PC address A1B2 (the JSL to the Animal Token Counter display code) with the SNES address of the desired display.



____________________
SMW Jul DKC Atlas Board 2 YouTube
GlitterBerri

Translator
Level: 39


Posts: 206/339
EXP: 403700
For next: 1071

Since: 11-10-10


Since last post: 6.6 years
Last activity: 1.2 years

Posted on 09-13-11 05:37:36 AM Link | Quote
Originally posted by Mattrizzle
It doesn't end there! Here's two others to try:
38830E (SNES $B8:830E) (JSL) Sets the pause flag; displays the palette addresses of each object loaded into RAM, as well as which palette lines they occupy
3CB13A (SNES $BC:B13A) (JSL) Shows Donkey Kong's collision box, his coordinates, and a slew of other values...



Very cool, can I request pictures of these?
Celice
Member
Level: 31


Posts: 12/196
EXP: 177835
For next: 7528

Since: 10-24-10


Since last post: 5.7 years
Last activity: 3.9 years

Posted on 09-13-11 06:35:19 AM Link | Quote
I second that! I always find it amazing that these old secrets are uncovered and sometimes even work exactly as they did in the older versions. It's like a miniature time machine
Mattrizzle
150
Level: 29


Posts: 73/151
EXP: 136158
For next: 11727

Since: 07-27-07

From: United States

Since last post: 19 days
Last activity: 18 days

Posted on 09-13-11 12:03:10 PM (last edited by Mattrizzle at 03-11-17 11:59:42 PM) Link | Quote
Sure.

$B8:830E:

Here's some additional info:
  • $1E3D must be set to a nonzero value for this to work. It was probably originally accessed with a certain button combination.
  • The second column doesn't display the palette line a palette occupies, but the number of currently loaded objects using that palette.

For the curious, here's what the palette values represent in the screenshot (all object palettes are in the range $BC:81CC-$BC:9037)
86F2: The global yellow palette used for the numbers on the counters, KONG letters, bananas, etc.
849A: Donkey's active player 1 palette
8440: Diddy's inactive player 1 palette
8BFC: The green hanging lamp
8512: The green Kritter
0000: Shown for the palette lines that aren't currently being used by an object

I'm not sure what the 0000 to the right of the second column is for.

$BC:B13A

It's a little difficult to see the collision box boundaries in this screenshot, as they're thin black lines.

Here's what most of the "slew of values" represent:
084A: Camera X-Coordinate (The reason this is so high near the start of the level is because all levels of the same type are stored together. This level (Millstone Mayhem) starts at X=#$0800.)
0118: Camera Y-Coordinate
0030: DK's current sprite ($0D13 divided by 4)
0042: Current level value (yet again)
C000, 3274, 3288, ADFC, D225: Unknown
FFF1, FFDD: X- and Y- coordinates of DK's collision box, relative to the coordinates of his object
0018, 0022: Width and height of DK's collision box
0016: Unknown


____________________
SMW Jul DKC Atlas Board 2 YouTube
GoldS
Member
Level: 41


Posts: 206/372
EXP: 477158
For next: 2987

Since: 03-15-10


Since last post: 2.1 years
Last activity: 13 days

Posted on 09-13-11 12:23:34 PM Link | Quote
That is some sweet shit.

____________________
Xkeeper

Level: 263


Posts: 19329/25343
EXP: 296720317
For next: 2240136

Since: 07-03-07

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

Since last post: 9 days
Last activity: 3 days

Posted on 09-13-11 03:52:42 PM Link | Quote
Originally posted by everybody
a post of concentrated win

I'm not sure we can have this, guys. Too much awesome stuff in one thread might cause terrible things to happen


Honestly, though, awesome find. Pretty cool that we located the stuff shown in that video... Guess we don't have to wonder what it was for any more

____________________
You might think that this layout is specifically EarthBound themed, but it might just be a reference to one of my favorite games.
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Donkey Kong Country - DK's Problem Page? New poll - New thread - New reply


Rusted Logic

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

32 database queries.
Query execution time:  0.093840 seconds
Script execution time:  0.015212 seconds
Total render time:  0.109052 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 165 - 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 211 - 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 197 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 199 column 9 - Warning: missing <tr>
line 217 column 13 - Warning: missing <tr>
line 218 column 102 - Warning: unescaped & or unknown entity "&postid"
line 223 column 652 - Warning: <area> attribute "central/" lacks value
line 226 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 228 column 9 - Warning: missing <tr>
line 246 column 13 - Warning: missing <tr>
line 247 column 102 - Warning: unescaped & or unknown entity "&postid"
line 283 column 2882 - Warning: <area> attribute "central/" lacks value
line 286 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 288 column 9 - Warning: missing <tr>
line 306 column 13 - Warning: missing <tr>
line 307 column 102 - Warning: unescaped & or unknown entity "&postid"
line 317 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 319 column 9 - Warning: missing <tr>
line 337 column 13 - Warning: missing <tr>
line 338 column 102 - Warning: unescaped & or unknown entity "&postid"
line 343 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 345 column 9 - Warning: missing <tr>
line 363 column 13 - Warning: missing <tr>
line 364 column 102 - Warning: unescaped & or unknown entity "&postid"
line 395 column 2016 - Warning: <area> attribute "central/" lacks value
line 398 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 400 column 9 - Warning: missing <tr>
line 418 column 13 - Warning: missing <tr>
line 419 column 102 - Warning: unescaped & or unknown entity "&postid"
line 424 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 426 column 9 - Warning: missing <tr>
line 444 column 13 - Warning: missing <tr>
line 445 column 102 - Warning: unescaped & or unknown entity "&postid"
line 447 column 74 - Warning: <style> isn't allowed in <td> elements
line 447 column 9 - Info: <td> previously mentioned
line 454 column 17 - Warning: missing <tr>
line 454 column 17 - Warning: discarding unexpected <table>
line 457 column 35 - Warning: missing <tr>
line 457 column 50 - Warning: missing </font> before </td>
line 457 column 91 - Warning: missing </font> before </table>
line 459 column 35 - Warning: missing <tr>
line 459 column 50 - Warning: missing </font> before </td>
line 460 column 37 - Warning: unescaped & or unknown entity "&id"
line 459 column 211 - Warning: missing </font> before </table>
line 461 column 17 - Warning: discarding unexpected </textarea>
line 461 column 28 - Warning: discarding unexpected </form>
line 461 column 35 - Warning: discarding unexpected </embed>
line 461 column 43 - Warning: discarding unexpected </noembed>
line 461 column 53 - Warning: discarding unexpected </noscript>
line 461 column 64 - Warning: discarding unexpected </noembed>
line 461 column 74 - Warning: discarding unexpected </embed>
line 461 column 82 - Warning: discarding unexpected </table>
line 461 column 90 - Warning: discarding unexpected </table>
line 463 column 9 - Warning: missing </font> before <table>
line 475 column 25 - Warning: discarding unexpected </font>
line 484 column 37 - Warning: discarding unexpected </font>
line 462 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 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 201 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 201 column 15 - Warning: <img> lacks "alt" attribute
line 201 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 201 column 58 - Warning: <img> lacks "alt" attribute
line 201 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 201 column 101 - Warning: <img> lacks "alt" attribute
line 202 column 22 - Warning: <img> lacks "alt" attribute
line 202 column 63 - Warning: <img> lacks "alt" attribute
line 202 column 112 - Warning: <img> lacks "alt" attribute
line 202 column 162 - Warning: <img> lacks "alt" attribute
line 203 column 11 - Warning: <img> lacks "alt" attribute
line 213 column 15 - Warning: <img> lacks "alt" attribute
line 223 column 540 - Warning: <img> lacks "alt" attribute
line 230 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 230 column 15 - Warning: <img> lacks "alt" attribute
line 230 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 230 column 58 - Warning: <img> lacks "alt" attribute
line 230 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 230 column 101 - Warning: <img> lacks "alt" attribute
line 231 column 22 - Warning: <img> lacks "alt" attribute
line 231 column 63 - Warning: <img> lacks "alt" attribute
line 231 column 112 - Warning: <img> lacks "alt" attribute
line 231 column 162 - Warning: <img> lacks "alt" attribute
line 232 column 11 - Warning: <img> lacks "alt" attribute
line 242 column 15 - Warning: <img> lacks "alt" attribute
line 253 column 374 - Warning: <img> escaping malformed URI reference
line 253 column 374 - Warning: <img> lacks "alt" attribute
line 267 column 1409 - Warning: <img> escaping malformed URI reference
line 267 column 1409 - Warning: <img> lacks "alt" attribute
line 283 column 2766 - Warning: <img> lacks "alt" attribute
line 283 column 2851 - Warning: <map> anchor "bmtsig" already defined
line 283 column 2851 - Warning: <map> anchor "bmtsig" already defined
line 290 column 11 - Warning: <img> lacks "alt" attribute
line 291 column 22 - Warning: <img> lacks "alt" attribute
line 291 column 63 - Warning: <img> lacks "alt" attribute
line 291 column 112 - Warning: <img> lacks "alt" attribute
line 291 column 161 - Warning: <img> lacks "alt" attribute
line 292 column 11 - Warning: <img> lacks "alt" attribute
line 302 column 15 - Warning: <img> lacks "alt" attribute
line 322 column 22 - Warning: <img> lacks "alt" attribute
line 322 column 63 - Warning: <img> lacks "alt" attribute
line 322 column 112 - Warning: <img> lacks "alt" attribute
line 322 column 162 - Warning: <img> lacks "alt" attribute
line 333 column 15 - Warning: <img> lacks "alt" attribute
line 340 column 255 - Warning: <img> proprietary attribute value "absmiddle"
line 340 column 255 - Warning: <img> lacks "alt" attribute
line 347 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 347 column 15 - Warning: <img> lacks "alt" attribute
line 347 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 347 column 58 - Warning: <img> lacks "alt" attribute
line 347 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 347 column 101 - Warning: <img> lacks "alt" attribute
line 348 column 22 - Warning: <img> lacks "alt" attribute
line 348 column 63 - Warning: <img> lacks "alt" attribute
line 348 column 112 - Warning: <img> lacks "alt" attribute
line 348 column 162 - Warning: <img> lacks "alt" attribute
line 349 column 11 - Warning: <img> lacks "alt" attribute
line 359 column 15 - Warning: <img> lacks "alt" attribute
line 369 column 100 - Warning: <img> escaping malformed URI reference
line 369 column 100 - Warning: <img> lacks "alt" attribute
line 383 column 1069 - Warning: <img> escaping malformed URI reference
line 383 column 1069 - Warning: <img> lacks "alt" attribute
line 395 column 1900 - Warning: <img> lacks "alt" attribute
line 395 column 1985 - Warning: <map> anchor "bmtsig" already defined
line 395 column 1985 - Warning: <map> anchor "bmtsig" already defined
line 403 column 22 - Warning: <img> lacks "alt" attribute
line 403 column 63 - Warning: <img> lacks "alt" attribute
line 403 column 112 - Warning: <img> lacks "alt" attribute
line 403 column 161 - Warning: <img> lacks "alt" attribute
line 404 column 11 - Warning: <img> lacks "alt" attribute
line 414 column 15 - Warning: <img> lacks "alt" attribute
line 421 column 130 - Warning: <img> lacks "alt" attribute
line 429 column 23 - Warning: <img> lacks "alt" attribute
line 429 column 64 - Warning: <img> lacks "alt" attribute
line 429 column 113 - Warning: <img> lacks "alt" attribute
line 429 column 163 - Warning: <img> lacks "alt" attribute
line 430 column 11 - Warning: <img> lacks "alt" attribute
line 440 column 15 - Warning: <img> lacks "alt" attribute
line 448 column 683 - Warning: <img> proprietary attribute value "absmiddle"
line 448 column 683 - Warning: <img> lacks "alt" attribute
line 451 column 894 - Warning: <img> proprietary attribute value "absmiddle"
line 451 column 894 - Warning: <img> lacks "alt" attribute
line 460 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 460 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 460 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 469 column 25 - Warning: <img> lacks "alt" attribute
line 474 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 454 column 17 - Warning: trimming empty <tr>
line 457 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 218 column 27 - Warning: <nobr> is not approved by W3C
line 247 column 27 - Warning: <nobr> is not approved by W3C
line 307 column 27 - Warning: <nobr> is not approved by W3C
line 338 column 27 - Warning: <nobr> is not approved by W3C
line 364 column 27 - Warning: <nobr> is not approved by W3C
line 419 column 27 - Warning: <nobr> is not approved by W3C
line 445 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 187 warnings and 0 errors!


URIs must be properly escaped, they must not contain unescaped
characters below U+0021 including the space character and not
above U+007E. Tidy escapes the URI for you as recommended by
HTML 4.01 section B.2.1 and XML 1.0 section 4.2.2. Some user agents
use another algorithm to escape such URIs and some server-sided
scripts depend on that. If you want to depend on that, you must
escape the URI on your own. For more information please refer to
http://www.w3.org/International/O-URL-and-ident.html

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