X
  X

Kejardon, the web's resident Super Metroid master, has hacked into the Super Metroid game ROM as well as a save state recorded from the game's credits sequence. Within, he found a series of amazing hidden credits!

The credits consist of 128 lines of graphics. Each line of graphics is 8 pixels tall. The tall text used for the names is actually 16 pixels tall; these are actually two lines of graphics that go one after the other. When the credits start rolling, the game loads all these credits into RAM, then starts reading from a long list to figure out what lines of graphics to output to the screen next.

The interesting part in all this is that there are a number of names in the credits list that are never displayed in the credits. Unfortunately, the names aren't displayed in the order that they're stored, and so it's not at all certain who is credited for what. Some names are even split up so the top half and bottom half are not near eachother.

A quick edit to the credit display code was made to display each line of graphics one after the other, and these unsorted credits appear below.


The following lines are not displayed, except for SPECIAL THANKS TO. The names are below the section they appear in, but the last 3 aren't in any clear section. [I added them to 'Special Thanks' because of this -CC]

EXECUTIVE PRODUCER
HIROSHI YAMAUCHI

SPECIAL THANKS TO
...
KEIKO TAMURA
...
TAKAHIRO HARADA
...
ISAO HIRANO

KENICHI SUGINO
RYOJI YOSHITOMI
YOSHINORI KATSUKI

This was taken with a hex-editor called snesedit, the offset is shown for a headerless ROM, in SNES terms that address is 81:FF00 and ends at 81:FF5F.

This picture is of ZSNES 1.36, an emulator of the SNES, SpriteView (sv.exe), a program written by FuSoYa to view graphics of SNES games (it is currently running in DOSBox, a DOS emulator), and of snesedit again. ZSNES is paused at about where the savestate was taken. SpriteView is showing the start of the background layer graphics, which are used for displaying the text. The current SNES palette used for SpriteView is palette 0, the same palette used by a lot of the 8x16 characters. snesedit is open to the start of bank 7F WRAM for the savestate (this version of ZSNES saves the RAM to offset C13, starting with SNES 7E0000. Offset 10C13 is SNES 7F0000, which is where the credits appear).

This was taken with a hex-editor called snesedit, the offset is shown for a headerless ROM, in SNES terms that address is 81:FF00 and ends at 81:FF5F. Each pair of bytes corresponds to a character and a palette (the way it works on the SNES is more complex but for this data that's all that's used). The first byte is the character index you can look up in spriteview; 7F goes to the far bottom right of the text area and is an empty space, 12 goes one row down and two columns right and is an 8x8 S, and so on. The second byte is the palette: 00 = palette 0, 04 = palette 1, 08 = palette 2, 0C = palette 3, 10 = palette 4, etc up to 1C = palette 7. The 8x16 characters require two pairs of bytes: One for the top half and one for the bottom half.


Top