If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Kororinpa: Marble Mania

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Kororinpa: Marble Mania

Also known as: Kororinpa (JP/EU)
Developers: Hudson Soft, Trisys
Publishers: Hudson Soft (JP/US), Nintendo (EU)
Platform: Wii
Released in JP: December 2, 2006
Released in US: March 20, 2007
Released in EU: February 23, 2007
Released in AU: March 1, 2007


AreasIcon.png This game has unused areas.
CharacterIcon.png This game has unused playable characters.
CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MusicIcon.png This game has unused music.
DebugIcon.png This game has debugging material.
SoundtestIcon.png This game has a hidden sound test.
LevelSelectIcon.png This game has a hidden level select.


NotesIcon.png This game has a notes page

Kororinpa: Marble Mania is a marble rolling game with surprisingly good motion controls for a Wii launch title.

Hmmm...
To do:
Is sound/stream/TITLE.brstm used?

Unused Levels

Files data/M66.bin through data/M70.bin contain level data that goes unused. data/M66.bin through data/M69.bin are all identical, and appear to be an earlier version of "Secret Kororinpa 13" (which is data/M63.bin). data/M70.bin is a small level. Attempting to load these levels using the level select will have the initial level preview display correctly, but the game crashes on pressing A to start the actual level.

Unused Demos

Files data/D09.bin and data/D10.bin contain demo data that would be shown on the title screen, but they're never read. Their contents are identical to D01.bin, the first demo shown.

Cheat Function

Pressing Right, Down, Left, Right, Down, Left, Up will open a "secret codes" menu. This feature is not mentioned anywhere in-game.

(Source: PPLToast, aldelaro5, MrCheeze)

CHEAT.brstm

REL Files

Kororinpa is composed of several REL files, which are loaded dynamically. Many of them go unused.

Each rel file also has a str file which indicates the elf file it was built from. The following table lists the numeric IDs of the various REL files (found at address 80216120), along with their purpose and source file.

Num Filename Str Purpose
00 dll/GameDLL.rel c:\kororinpa\prog\DLLS\gameDLL\gameDLL.elf Main game
01 dll/KanetaTestDLL.rel c:\kororinpa\prog\DLLS\KanetaTestDll\KanetaTestDll.elf See KanetaTestDll
02 dll/NakaokaTestDLL.rel c:\kororinpa\prog\DLLS\NakaokaTestDll\NakaokaTestDll.elf See NakaokaTestDll
03 dll/OkayasuTestDLL.rel c:\kororinpa\prog\DLLS\OkayasuTestDll\OkayasuTestDll.elf See OkayasuTestDll
04 dll/SasakiTestDLL.rel c:\kororinpa\prog\DLLS\SasakiTestDll\SasakiTestDll.elf See SasakiTestDll
05 dll/SatoTestDLL.rel c:\kororinpa\prog\DLLS\SatoTestDll\SatoTestDll.elf See SatoTestDll
06 dll/actmanDLL.rel c:\kororinpa\prog\DLLS\actmanDLL\actmanDLL.elf See actmanDLL
07 dll/anim2ddll.rel c:\kororinpa\prog\DLLS\anim2ddll\anim2ddll.elf See anim2ddll
08 dll/bootdll.rel c:\kororinpa\prog\DLLS\bootDll\bootDll.elf Wrist strap screen; general game initialization
09 dll/bootsmpdll.rel c:\kororinpa\prog\DLLS\bootsmpdll\bootsmpdll.elf See bootsmpdll
0a dll/directordll.rel c:\kororinpa\prog\DLLS\directorDll\directorDll.elf Loads the title screen immediately. It's unclear if this is used.
0b dll/mapviewerDLL.rel c:\kororinpa\prog\DLLS\mapviewerDLL\mapviewerDLL.elf See mapviewerDLL
0c dll/modeldll.rel c:\kororinpa\prog\DLLS\modelDll\modelDll.elf Crashes on startup.
0d dll/moviedll.rel c:\kororinpa\prog\DLLS\movieDll\movieDll.elf See movieDll
0e dll/outlinedll.rel c:\kororinpa\prog\DLLS\outlinedll\outlinedll.elf See outlinedll
0f dll/padtestdll.rel c:\kororinpa\prog\DLLS\padtestdll\padtestdll.elf See padtestdll
10 dll/selmenudll.rel c:\kororinpa\prog\DLLS\selmenuDll\selmenuDll.elf See selmenuDll
11 dll/shadowdll.rel c:\kororinpa\prog\DLLS\shadowDll\shadowDll.elf See shadowDll
12 dll/sndtestdll.rel c:\kororinpa\prog\DLLS\sndtestDll\sndtestDll.elf See sndtestDll
13 dll/spritedll.rel c:\kororinpa\prog\DLLS\spriteDll\spriteDll.elf See spriteDll
14 dll/sprtypedll.rel c:\kororinpa\prog\DLLS\sprtypeDll\sprtypeDll.elf See sprtypeDll
15 dll/staffdll.rel c:\kororinpa\prog\DLLS\staffdll\staffdll.elf Staff credits
16 dll/titleDLL.rel c:\kororinpa\prog\DLLS\titleDLL\titleDLL.elf Title screen, save select, and normal level select menu
17 dll/wontfreedll.rel c:\kororinpa\prog\DLLS\wontfreeDll\wontfreeDll.elf See wontfreeDll

The following Gecko code (for the US version of the game) loads an otherwise-unused "Select Jump DLL" screen after the strap screen:

20401570 38600016
00401573 00000010
e2000001 00000000

The following code changes the Select Jump DLL screen to list all REL files:

0403b8b0 60000000
0403b8b4 60000000
0403b8b8 60000000
0403b8bc 4805dd71
2040120c 38841918
0240120e 00002100
02401282 00002100
02401332 00002100
024014c2 00002100
024015ae 00002100
06402100 000000c8
80215f34 00000000
80215f44 00010000
80215f5c 00020000
80215f74 00030000
80215f8c 00040000
80215fa4 00050000
80215fb8 00060000
80215fcc 00070000
80215fe4 00080000
80215ff4 00090000
80216008 000a0000
8021601c 000b0000
80216034 000c0000
80216048 000d0000
8021605c 000e0000
80216070 000f0000
80216084 00100000
80216098 00110000
802160ac 00120000
802160c0 00130000
802160d4 00140000
802160e8 00150000
802160fc 00160000
80216110 00170000
80401910 ffff0000
e2000001 00000000

Note that bootdll.rel does not like being loaded multiple times (though most of the game does not like being loaded if bootdll.rel has not been run). The following Gecko code loads the Select Jump DLL screen first instead of after the strap screen, though it generally should not be used:

20006bec 38c00008
00006bef 00000010
e2000001 00000000

KanetaTestDll

A level select. Area ranges from 1-8, while map ranges from 1-10. Area 5 and Area 6 (Night City and Space respectively) are on the same row on the normal level select and only have 5 maps each; selecting maps 6-10 will result in a crash. Area 7 and Area 8 correspond to the secret levels, with maps 6-10 in Area 8 being unused (they load successfully, but crash on trying to start).

The number of players, splitscreen mode, and marbles for players 1 and 2 can also be set. The next option lets you choose between Replay stop, Demo rec, Demo play, Debug rec, Debug play, Title play, and Save file. Replay stop and debug rec allow playing the level normally. Demo rec allows playing the level normally except that it displays as if on a demo on the title screen, and pressing any button will take you to the title screen. Demo play and debug play don't seem to work properly, showing a black screen where the level should be (though the HUD appears normally, and in the case of demo play pressing a button goes to the title screen). Title play plays the first normal demo for the title screen. Save file does not appear to do anything different from replay stop, though pressing A while the cursor is over it results in nothing happening (though it will launch normally if the cursor is on a different row).

The last row is labeled Memory card, and cannot be changed. Presumably it was once possible to record demos to a GameCube Memory Card, but that functionality no longer seems to exist.

Pressing + does nothing on this test. HOME opens the HOME menu.

Named after system programmer Kouji Kaneta.

NakaokaTestDll

Allows viewing the backgrounds for each area. Area 7 and Area 8 use the same background. The D-Pad rotates the camera, 1 zooms in, and 2 zooms out. Holding B allows moving the camera with the D-Pad. Pressing + exits, and HOME opens the HOME menu.

Named after chief programmer Kenichiro Nakaoka.

OkayasuTestDll

A particle test. Pressing A turns particles on or off. When in the menu, pressing Up or Down moves the cursor, and Left or Right changes the selected value. 1 goes to the next page, and 2 goes to the previous page (though the page can also be changed by pressing Left or Right when the cursor is on it). Pressing B toggles whether the menu is open. When the menu is closed, the D-Pad rotates the camera, 1 zooms out, and 2 zooms in. Holding B allows moving the camera with the D-Pad (this happens even if the menu is open, in which case settings will also be changed at the same time). Pressing + exits, and HOME opens the HOME menu.

There are a large number of options for particles. None of the particle textures used appear in the main game.

Named after programmer Taizo Okayasu.

SasakiTestDll

Shows a screen with a list of several tools, of which the only one that can be selected is "NAND UTILITY" (the D-Pad does nothing here). Pressing + goes back to the listing with "NAND UTILITY", and pressing + again exits. (HOME functions normally.) Within NAND utility, there are several options:

  • All dir: allows browsing the NAND. A opens a folder, B exits the folder or this mode. + does nothing.
  • Svdata del: deletes kororin.dat in the data folder.
  • Banner del: deletes banner.bin in the data folder.
  • Max size add: creates dmy0.dat through dmy15.dat. Everything but dmy15.dat is 1,048,576 bytes, while dmy15.dat is 786,432 bytes. If the files already exist, they will be expanded to those sizes.
  • Max size del: deletes dmy0.dat through dmy15.dat.
  • Max num add: creates dmy0.dat through dmy30.dat. Each one is 16,384 bytes, though if a larger file already exists it won't be truncated.
  • Max num del: deletes dmy0.dat through dmy30.dat.
  • Svdata crash: creates a 393,216-byte kororin.dat filled with the byte 0xaa. The game considers this file to be corrupt, but does not crash.

Named after programmer Takayuki Sasaki.

SatoTestDll

Shows an army of weird hooded figures that look vaguely similar to Mario. The D-Pad rotates the camera, 1 zooms in, and 2 zooms out. Holding B allows moving the camera with the D-Pad. Pressing + exits, and HOME opens the HOME menu.

Named after programmer Ryohei Sato.

actmanDLL

An action test map, matching the one that appears in Mario Party 7 and 8, except that it uses the same weird character models found elsewhere in the game.

Controls assume a sideways Wii Remote. D-Pad: move. 1: jump; press in air to ground-pound. 2: punch. +: Quit. Nunchuk C/Z: Zoom in/out. There's only an idle animation, so most actions look weird.

anim2ddll

Shows a 60-frame animation with the text "last 5 turn" in Japanese. Pressing + exits, and HOME opens the HOME menu.

bootsmpdll

Shows the Hudson logo, after which it returns to the previous menu. The HOME menu can be opened, but nothing else can be done. This seems like something that would be used after the strap screen, but it's not.

mapviewerDLL

A map-viewing tool. Crystals and the level exit are visible, but the marble itself is not; however, the camera is initially centered around the marble spawn position. The d-pad rotates the camera, 1 zooms in, and 2 zooms out. Pressing A brings up a BG COLOR menu, which allows changing the background color in increments of 5; values wrap so -5 becomes 251 (while 250 would be selectible by pressing right 49 times). The default color is black. Holding B allows moving the camera with the d-pad; this happens even if the BG COLOR menu is currently open (in which case the d-pad controls both). HOME opens the menu, and + exits. D-pad inputs on the initial map selection screen also influence the camera in the loaded map. The map number directly corresponds to the bin file name in the data folder (with 51-70 being secret levels and the unused levels).

movieDll

Tries to open movie/test.thp. This file does not exist (though an empty folder named movie does), so things fail. If a valid thp video file is put in this location, then it will play; opening the home menu is allowed in this case (and the movie will continue to play while the home menu is open).

outlinedll

Shows 4 spheres, with outlines, where spheres with the same material share an outline. + exits; the D-pad rotates the camera, and 1 and 2 zoom in and out. The A button toggles whether outlines are active. The HOME menu can also be opened, which seems to break the outlines on OLID_01 until it is closed again. Holding B allows moving the camera with the d-pad.

padtestdll

A controller input test. HOME opens the menu and + exits. FS-ACC shows acceleration for the Nunchuk accelerometer if one is inserted, and FS-Stick shows the Nunchuk's stick state. The classic controller and other extension controllers are not recognized.

selmenuDll

A screen labeled "Select Jump DLL". This allows selecting some of the other rel files, but not all of them are available by default. The screen can be navigated with up and down, A or + selects an item, and HOME opens the menu as usual (though the text does not render in that case). Although the default list does not have enough items to show it, multiple pages can be present in which case left and right change pages. GAME launches bootdll.rel, and BOOT launches bootsmpdll.rel. The Nunchuk is also supported.

shadowDll

A test map, similar to the one that appeared in Mario Party 6 and in Mario Party 7 also appears here. It contains the spheres from outlinedll, but also the hooded characters and some water. + exits; the D-pad rotates the camera, and 1 and 2 zoom in and out. Holding B allows moving the camera with the d-pad. The HOME menu no longer breaks some of the outlines, and the outlines can't be toggled with A anymore.

sndtestDll

A very fancy looking sound test menu. Output shows the output waveform (which includes sounds from the HOME menu). Each screen has slightly different controls, with some controls displayed at the bottom of the screen, but the controls listed seem to be intended for a GameCube Controller instead of a Wii Remote and thus are not super helpful. On all screens, + exits, HOME opens the menu, 2 plays the selected sound, 1 stops all sounds, Z (on a Nunchuk) toggles pausing sounds, B goes back to the main menu, and - seems to play the selected sound at muted volume (which can replace existing music).

The sound list menu is fairly simple; select a sound and press A to play it. Some sounds will stop other sounds when they start (e.g. it isn't possible to have 2 background music tracks at the same time). Note that the sound that is selected when closing this menu remains selected, which affects the 2 button.

The sound param menu allows changing parameters of the sound. Note that this does not affect already-playing sounds, only newly started sounds; 2 starts the previously selected sound.

The value set menu allows changing values that serve some unknown purpose. Z and C (on a Nunchuk) both toggle between global and local values.

3D sound allows changing some global 3D audio settings. In addition to changing settings, it is possible to move the camera with the Nunchuk; moving the stick horizontally rotates the camera, while moving it vertically moves the camera forwards and backwards. The key assign text claims it is possible to move the camera vertically, but this does not seem to be possible.

The group load menu allows loading groups. It's not clear what this does. Pressing A loads a group, while pressing - unloads it (but also causes a sound to play at 0 volume). Group loading itself does not seem to affect anything.

The sound environment menu allows changing the output mode and master volume.

This sound test would later reappear in Mario Party 8.

Sound names that are too long to fit will scroll, looping around. There is only one such name: SE_AMB_DRAGONFLY_STOP.

spriteDll

Shows a red and yellow sprite. The red parts are attached to the yellow part. Pressing A rotates the yellow part, while pressing B rotates the red part. HOME is HOME, and + exits.

sprtypeDll

Showcases some of the available texture types. 1 and 2 zoom out and in, the d-pad pans, HOME is HOME, and + exits. The text is in a fixed position, and is not adjusted when zooming or panning. Zooming out too far will result in the image being flipped.

wontfreeDll

Shows the same hooded character as in SatoTestDll. + exits, HOME is HOME, the D-pad rotates the camera, and 1 and 2 zoom in and out. Holding B allows moving the camera with the d-pad. Pressing A toggles whether the character is visible; its animation resets each time. Likely this test was to investigate a memory leak relating to character rendering, but there's no way to be sure.