Super Monkey Ball Jr.
|Super Monkey Ball Jr.|
This game has unused areas.
This game has a prototype article
Super Monkey Ball Jr. is what happens when Realism and SEGA bring Monkey Ball to a console that lacks an analog stick. It works a lot better than you'd expect.
- 1 Sub-Page
- 2 Cheat Codes
- 3 Mini FE
- 4 Tweak Screen
- 5 Advanced Options
- 6 Unused Stages
- 7 Crash Handler
- 8 Build Dates
- 9 Debugging Text
- 10 Unused Text
- 11 Unused Graphics
- 12 Obscured Graphics
- 13 Regional Differences
Super Monkey Ball Jr. has some cheat codes that consist of button inputs on the title screen.
Super Nice Try
This Easter egg can be seen by entering the Konami code at the title screen (Up, Up, Down, Down, Left, Right, Left, Right, B, A).
Super Blocky Mode
|Mode||Super Blocky Mode off||Super Blocky Mode on|
This reduces the resolution of the stage, characters and objects from the GBA internal resolution of 240x160 to 240x80. This is accessible by pressing Left, Left, Right, Right, Down, Down, A at the title screen. The game's title will change to "Super Blocky Mode" when entered. The HUD and character icon are displayed normally. This mode is only effective in the main game and the Monkey Golf mini game. Other modes, such as Monkey Bowling, Monkey Fight and the credits mini-game are not affected. These modes do not use the graphical mode 4, and do not feature a camera that turns in 3 dimensions.
Super Enable All
This cheat code unlocks all three mini-games (Monkey fight, Monkey bowling and Monkey golf), golf course B, master stages and unlimited continues. All the stages can also be accessed in practice mode as well. This is done by pressing Down, Down, Up, Up, Left, Right, Left, Right, B, A at the title screen.
|US version||EU version|
A Mini FE (frontend) menu can be accessed by changing the value of the RAM Address 0x030004b4 for the US version and 0x030004cc for the EU version to 0x00 (or use CodeBreaker code 330004B4 0000 (US)/330004CC 0000 (EU); disable the code once in the menu). The options have also been translated into the other 4 languages (German, French, Italian and Spanish).
This allows the user to select any main game stage, even the unused/dummy stages. This number cycles through 1 to 100. The Monkey golf stages cannot be accessed via this option.
Various modes of the game can be selected:
This takes the player to the Monkey fight minigame. AiAi will be selected as Player 1's character. The number of wins is set to 3, and the three stages are all set in Mid-Summer Jungle Square.
This takes the player to the Monkey bowling minigame. The settings are set to one player, and on Normal mode. AiAi will be selected as the player's character.
This takes the player to the Monkey golf minigame. The settings are set to one player, and the player plays on Course A. Baby will be selected as the player's character.
This takes the player to the Main game mode, but the player starts on the first golf course, which is not possible in normal play. This is because the RAM address 0x030019D3 for US and 0x030019D3 for EU contains the stage ID which will be loaded for Main Mode and Monkey golf, and the value is defaulted to 0x65 when the game is reset. This value is the ID for the first golf course, which is then loaded in the Main game mode. Baby will be selected as the player's character.
This takes the player to the credits mini-game. Baby will be selected as the player's character.
This takes the player to the level select screen (from Practice mode) where the player can play all the stages that have been unlocked. Baby will be selected as the player's character. Going back to this menu by using the B button will freeze the game.
This loads the Tweak screen menu, which has additional settings.
The player is taken to the Multiplayer menu as normal.
Pressing B on this menu will either give the message
. This message replaces the date displayed, but not the time. Pressing Start will return the player to the main menu and will save the game.
Another set of options can be accessed, either from the Mini FE menu, or by changing the RAM address 0x030004b4 for the US version to 0x0A (or use CodeBreaker code 330004B4 000A; disable the code once in the menu). Attempting to access this menu in the EU version either from the Mini FE menu or by changing the RAM address 0x030004cc to 0x0A will cause the game to crash. Pressing Start will take the user to the Monkey bowling results screen (with no results displayed). Pressing A on that screen will take the player to a game of Monkey bowling with default settings (1 player, Normal Mode, AiAi as the player).
This value ranges from 0 to 3, possibly representing AiAi, MeeMee, Baby and GonGon respectively. This does not seem to do anything any more.
This is also a 2-bit value (ranges from 0 to 3), which changes the draw distance. 0 gives a very short draw distance, while 3 makes the player invisible and messes up the draw distance slightly. 1 (the default value) and 2 seem to make no changes.
This is a 1-bit value whose effect is currently unknown.
Upper Frame Rate Limit
This value is used to cap the maximum amount of frames per second rendered. This value varies from a measly 1 frame per second to 100 frames per second (which is higher than the amount of frames per second the GBA can physically render).
(Camera Rotate Speed)
This supposedly controls the speed in which the camera rotates, is defaulted to 30 and can vary from 0 to 75.
This quantifies the amount of friction that there is when the player moves forward or backwards. The parameter ranges from 0 to 50 and is set to 22 by default. The lower the value, the slipperier the character will become.
This determines the amount of friction when the player turns left or right. The default value is 48, and it can range from 0 to 100. The lower the value, the slipperier the character will become.
This affects how quickly the character will fall. It is defaulted to -750 and can be set to values between -2000 and 0. At 0, the character will not fall at all and will remain in the air. The camera will then zoom out from the stage.
This value has the same range as Gravity Air, and shares the same default value of -750. This value determines how fast the user rolls across the floor. A value of 0 will prevent the user from moving from their spot.
World Tilt Force
This value will determine how much the floor will tilt as the player moves. It has a default value of 750 and ranges from 0 to 2000.
This value describes the amount of force that the player will experience when hitting an obstacle, such as a wall or a slide. Its default value is 550, and ranges from 0 to 2000.
This determines the movement of the player in the air. Its default value is 16 and ranges from 0 to 50.
Pinball Bumper Force
This determines how far the character will fly when hitting a pinball bumper. Its default value is 20 and it ranges from 0 to 50.
An additional menu can be located in the game by changing the RAM Address 0x030004b4 for the US version and 0x030004cc for the EU version to 0x17 (or use CodeBreaker code 330004B4 0017 (US)/330004CC 0017 (EU); disable the code once in the menu). With the exception of the final option, the menus have been translated into the other four languages in the European version. Pressing B will take the user to the previous screen that they have been in.
This option has three options: Low, Medium and High, though unlike the (Draw Distance) in the Tweak Screen, this no longer has any effect.
This option can toggle the Super Blocky Mode by giving the user two options: Full (240x160) and Half (240x80).
This will enable a framerate display at the top of the screen during gameplay. Alternatively, the CodeBreaker code 32002C2D 0001 can be used as well.
Self-explanatory. After this option is selected, the user is taken back to the normal title screen, the game will be saved too with everything unlocked.
Add 2000 Play Points
It appears that this option will have no effect when selected.
As mentioned above, the RAM address 0x030019D3 contains the stage that will be loaded. These following stages can be played by changing the hex value (CodeBreaker code 330019D3 00XX), or by using the mini FE menu. The following stages that are unused:
ID 66 to 70
The used master stages have ID numbers of 0x3c to 0x41, which correspond to 60 and 65 in decimal. The beginner stages use ID numbers 1 to 10, the advanced stages use ID numbers 11 to 30 and the expert stages use ID numbers 31 to 60. The next used stage after 65 is 71, which means the IDs 65 to 70 are placeholder stages. This explains why they use the same map as the very first stage, but retain the master stage background and the bottom of the platform is dark red. After completing any of these stages, the game will continue until stage ID 71 which corresponds to the Extra Beginner stage, and the game will end as normal when the third Extra Beginner stage is completed.
ID 75 to 80, ID 85 to 90, ID 95 to 100
The rest of the unused stages are exact duplicates of ID 1. Similarly to the master courses, the player can progress until they reach the next used stage in the game. 71 to 73 are the Extra Beginner stages, 81 to 83 are the Extra Advanced stages and 91 to 93 are the Extra Expert stages. Stage 101 is the first golf course, but it is impossible to complete. The HUD will still display the "Extra Beginner/Advanced/Expert" label.
Interestingly ID 74, 84 and 94 (i.e. the stages that come right after the final extra stages that are used) will cause the game to crash.
If the game ever crashes, it'll display this very basic crash handler.
Oct 3 2002 17:14:24
Dec 5 2002 10:49:38
A decent amount of debugging text is left in, including some stats that would have been printed from the game itself.
%s.chr %s.pal %s.map Mini FE SAVE FAILED SAVE OKAY FE_setupLanguage DEBUG_ASSERTSTRING() gameInfo.language is not in the range 0 - 4 %d Warning: attempting to move non-existant overlay Camera Rotate Speed Draw Distance Monkey Pinball bumper force Air resistance Springback force World Tilt Force Gravity Floor Gravity Air Rotation resistance Rolling resistance (Camera Rotate Speed) Upper frame rate limit 'Ugly Mode' (Draw Distance) (Monkey) TWEAKSCREEN_init DEBUG_ASSERTSTRING() Invalid tweakables set %.3f %s000 %s %d FESCR13_fightSettings2 DEBUG_ASSERTSTRING() this screen doesn't exist anymore! Error: Incompatible Versions Press the B Button MB link state: %d FE_selectNextEndScreen DEBUG_ASSERTSTRING() This shouldn't happen! FESCR30_resumeSavedGame DEBUG_ASSERTSTRING() No saved game - shouldn't be on this screen! ??? %s (%d/10) PREVIEW %s.pal %s.til %s.map RAST_init DEBUG_ASSERTSTRING() Not a valid DLL file %d addVert DEBUG_ASSERTSTRING() Too many verts in section addVert didn't work... addQuad Non-existant vert Too many flat-shaded polys in section addTri addUTexQuad Too many textured polys in section addUTexTri getRealRailVert tvert out of range! getRealVert WORLD_allocTVerts DEBUG_ASSERTSTRING() Completely out of tverts (inc. slow mem verts..) WORLD_build .smb loader Section has ZBias (%d) --------------------------- Sections Created: %d World Geometry: %d bytes World Centre: (%d,%d,%d) Active Tiles: %d --------------------------- Incorrect version number! ENTITY_add DEBUG_ASSERTSTRING() Out Of Entities! ENTITY_processEntities Out of entity quads (Far too many pnball bumpers) ENTITY_create out of range warp World has more than 2 exits!! Too many cameras ENTITY_drawUnscaledIcon out of blit prims CAMERA_update DEBUG_ASSERTSTRING() No camera entities in world! PREVIEW SPRITEFX_initPltt DEBUG_ASSERTSTRING() Real pltt idx exceeds 15 SPRITEFX_addParticles Invalid particle type! MOTION_getPointOnSpline DEBUG_ASSERTSTRING() Nonexistant Spline! MOTION_initSpline Too many splines in level SECTION_updateMotion Unsupported 2-point motion type ENTITY_updateMotion Unsupported entity motion type BE_printDigits DEBUG_ASSERTSTRING() only supports 2/5/7 digits %d:%02d:%02d END MARKER Previewer mode doesnt.exist gongon baby meemee aiai celebrate golf balance tumble run+stand LINK CODE SEC MOVE ENTITIES GAMECODE PHYSICS DRAW OT XFORM/INS BG COPY %d GETSTRING DEBUG_ASSERTSTRING() Invalid Language TEXTFX_init can't find overlay tx0%d tx%d Failed to find obj '%s' bx0%d bx%d TEXTFX_print alt pltt not found!! FIGHT_game DEBUG_ASSERTSTRING() Pause entered incorrectly %d pts FIGHT_checkPause DEBUG_ASSERTSTRING() Invalid player pausing Can't find pause menu background Can't find pause menu monkey head Pausing... FIGHT_quickInput Invalid controller Invalid controller %d FIGHT_control %s.chr %s.map %s.pal FIGHT_setupWinScreen DEBUG_ASSERTSTRING() Too many winners specified FIGHTAI_externalState DEBUG_ASSERTSTRING() Player isn't AI controlled FIGHTAI_rangeToPlayer Invalid phys obj index FIGHT_addPhysics DEBUG_ASSERTSTRING() No spare physics objects Object not found: %s OVERLAY_findObject DEBUG_ASSERTSTRING() failed to findobjectinoverlay() OVERLAY_findObjectInOverlay OVERLAY_changeImage Wrong object type OVERLAY_SCREEN_init DEBUG_ASSERTSTRING() Wrong version in overlay OVERLAY_SHAPE_loadPalette DEBUG_ASSERTSTRING() Cant replace palette for tilemap OVERLAY_TILEMAN_newSet DEBUG_ASSERTSTRING() Couldn't find spare tileset structure OVERLAY_TILEMAN_allocTiles Error with TileMap Couldn't allocate tiles OVERLAY_TILEMAN_freeTiles Corrupted Tileset %s.bim OVERLAY_BIM_load DEBUG_ASSERTSTRING() Couldn't find image in bim file OVERLAY_PALMAN_newSet DEBUG_ASSERTSTRING() Couldn't find a spare palette set OVERLAY_PALMAN_addVBlankPalette Cannot update more than 32 palettes in one VBlank OVERLAY_PALMAN_allocPalette Couldnt allocate a new palette OVERLAY_PALMAN_removePalette Palette not under this palette set OVERLAY_SPRITEMAN_newSet DEBUG_ASSERTSTRING() No free sprite sets left OVERLAY_SPRITEMAN_allocSprite No free sprites left Only valid GBA sprite sizes supported OVERLAY_BIMMAN_findBim DEBUG_ASSERTSTRING() No free bim images OVERLAY_BIMMAN_freeBim Trying to free unallocated BIM numplayers = %d mkys: %d / %d / %d / %d blinked: %d GOLF_initRound DEBUG_ASSERTSTRING() too many players GOLF_findNextPlayer No player to select next!! entities\ball.cel shape\begraphics SPRITEBANK_open DEBUG_ASSERTSTRING() .ASB File - incorrect version number MAX_VIRTUAL_PLTTS exceeded! SPRITEBANK_flip Set firstpltt with spritebank_init Out of sprite palettes (next=%d) Major balls-up! SPRITEBANK_render Arrgghh! Spritebank checksum failed Out of range frame from: Frame No: %d Non-existant anim frame (Render) Out of sprite palettes (next=%d, obj=%d) SPRITEBANK_renderScaled Out of affine params SPRITEBANK_drawScaled Sprite list overflow! SPRITEBANK_draw SPRITEBANK_drawSingleScaledSprite SPRITEBANK_renderSingleScaledSprite invalid sprite size Initialising WOD file MAIN_close DEBUG_ASSERTSTRING() Errrm... App exited... This shouldn't happen on a console... MAIN_initLists gameInfo language out of range Fast F/L/#: %d / %d / %d Slow F/L/#: %d / %d / %d FILE_load DEBUG_ASSERTSTRING() Couldn't open file Couldn't alloc memory. FILE_loadAt Couldn't open file. File larger than buffer. FILE_open Too many files open. AgbOpen DEBUG_ASSERTSTRING() No free file handles. DEBUG_Init() Module: Function: Line: %s() %d Connection Lost! (Press A) Source/memory.c MEM_stackCheck DEBUG_ASSERTSTRING() Stack overflow! MEM_init No free fast mem - Can't init mem manager! MEM_poolCreate DEBUG_ASSERT() Assertion Failed (FAILED: MEM_validate test 1 - ?) (FAILED: MEM_validate test 2 - Dodgy alignment) (FAILED: MEM_validate test 3 - ? Failed to alloc %d byte block (%d total free bytes) Free Bytes: %d Largest Free Block: %d Num Blocks: %d Called from '%s', line %d: ** Fast/internal memory ** ** Slow/external memory ** MEM_allocate Failed to validate %d byte block (%d free bytes) Called from '%s', line %d MEM_free VIDMODE_addVBlankRegSet16 DEBUG_ASSERTSTRING() Maximum register list size reached VIDMODE_addVBlankRegSet32 padGetPressed - Invalid Pad %d INPUT_padGetPressed DEBUG_ASSERTSTRING() INPUT_padGetStatus AUDIO\PATCHES GAMMA_correct DEBUG_ASSERTSTRING() Count must be non-zero Gamma value out of range (0-31) GAMMA_fadeToBlack Fade value out of range 0 (normal) - 31 (black) GAMMA_fadeToWhite Fade value out of range 0 (normal) - 31 (white) GAMMA_adjustBrightness SYNC Not connected COMMS ERROR RECV. TIME. CONK. Values:%d,%d,%d,%d debugShow DEBUG_ASSERTSTRING() Performance - %d pc (%d lines), Hi: %d pc, Lo:%d pc **************** Mem:%d **************** FADE_setup DEBUG_ASSERTSTRING() You haven't set a shape with FADE_setShape() Custom window function not registered FADE_vblank Unsupported fade type BACKUP_SetType DEBUG_ASSERTSTRING() Invalid EEPROM settings. %s.nsf %s.raw FEAUDIO_addSFX DEBUG_ASSERTSTRING() Couldn't file audio file Too many samples. %s.nsq FEAUDIO_playSFX Trying to play non-existant sample FEOBJLIST_AddAudio Couldn't allocate audio structure. FEOBJLIST_AddSfx Couldn't allocate sfx info FEOBJLIST_AddMusic Couldn't allocate music info FELAY_SetFileNamePrt DEBUG_ASSERTSTRING() FELAY_init: Not defined enough layfile name space. Change NO_PLAYFILES in FELAY_SetFileNamePrt FELAY_init FELAY_init: Trying to initialise non existant layfile. FELAY_InitLayfile CHUNK Version Incorrect CHUNK Length Incorrect Incorrect Version Number Code Version: MakeLBN.inf v.%d File Version: MakeLBN.inf v.%d Get the latest MakeLBN.inf from $\BIN\MakeLBN.inf and the latest structures from $\COMMON\FELIB\INCLUDE\FEIMPORT.H CHUNK Header Incorrect Screens ection FELAY_ReadAllObjects Screen section size incorrect Object size incorrect Image size incorrect Text size incorrect Audio size incorrect Sfx size incorrect Music size incorrect Line size incorrect Unknown chunk %04x Unknown Chunk Type Error Reading File FEOBJLIST_InsertObject DEBUG_ASSERTSTRING() Not been updated yet. Scream at Paul. FEOBJLIST_AddObject Too Many Objects! Change FEOBJLIST_MAX Can't allocate Object_List.obj_last BackGoto- set to both a screen and PREV FEOBJLIST_AddImage Too Many Images! Change FEIMAGE_MAX Can't allocate feimaget FEOBJLIST_AddText Too Many Texts! Change FETEXT_MAX Can't allocate fetext %d FEOBJLIST_AddLine Can't allocate feline FEOBJLIST_drawObjectList Drawing Non existant resource!! Drawing too many Objects... alter DISPLAY_LIST_SIZE Can't find obj FEOBJLIST_findObjectByName Error Trying To Find nonexistant Object FEOBJLIST_DeleteObjectByName Trying to Delete now existant Object! Trying to clear existant resource!! FEOBJLIST_setOverlayOn set ON Invalid Overlay FEOBJLIST_setOverlayOff set OFF Invalid Overlay FEOBJLIST_getOverlay Getting Invalid Overlay FEOBJLIST_findImageByName There is no image attached to this Object! FEOBJLIST_findTextByName There is no text attached to this Object! FESCR_setScreen_no DEBUG_ASSERTSTRING() Trying to set nonexistant screen FESCR_setLast_Screen_no Trying to set nonexistant Lastscreen new FESCR_setNew_Screen_no Trying to set nonexistant Newscreen new FESCR_setSfx Trying to set nonexistant sound channel FESCR_getSfxId Trying to access nonexistant sound channel FESCR_getSfxSample FESCR_setBackGoto Out of screen stack... try changing SCREEN_STACKSIZE!t FESCR_setBackButton Trying to set noexistant nackbutton FETEXT_initLanguage DEBUG_ASSERTSTRING() Text database header ID incorrect! FETEXT_loadLanguageFromBank No language bank setup Unknown language %0*d FETEXT_getStringAscii Trying to get invalid string FETEXT_printString Can't allocate fetext pstring ID %d : No String FETEXT_findStringInfo Not a text object FETEXT_findXOffset FETEXT_findYOffset FELIB_VRAM_openBim DEBUG_ASSERTSTRING() Couldn't cache compressed BIM file FELIB_VRAM_RegisterDefaultImage Couldn't find default image. %s.bim Couldn't load palette Couldn't find palette FELIB_VRAM_getPalette Couldn't find image: Register a Default Image with FELIB_VRAM_RegisterImage Couldn't find image Source/fefont.c PXVRAM_HashToID DEBUG_ASSERTSTRING() HashToID string == NULL FELIB_FONT_RemoveSystem Not all font's removed FELIB_FONT_InitFont pff filename too long FEDLL_Init DEBUG_ASSERTSTRING() Not a valid DLL file SPRITE_Init DEBUG_ASSERTSTRING() Couldn't allocate sprite table SPRITE_alloc Too many sprites SPRITE_allocScale Too many scale parameters SPRITE_tileAlloc Run out of Sprite Tiles SPRITE_newPalette Couldn't allocate a palette SPRITE_setPalette Couldn't allocate 256 colour palette SPRITE_freePalette Freeing unused palette SPRITE_addIdent Too many sprite images added SPRITE_addRect Unsupported width Unsupported height FENAV_installNavigation DEBUG_ASSERTSTRING() Invalid User Navigation Type
Present at 0xBF9CC in the USA ROM is some text for a mini frontend along with an earlier build date. This text was removed in the European ROM.
Press Start button Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7 Level 8 Stress Test Physics Test Select Level Super Monkey Ball GBA Mini Frontend 22nd Feb 2002 Fight Bowling Golf Comp Mode x Level: Mode: Credits Level Select Tweak Screen Parameter Value Build Date:
Unused "Technology Demo" Image
A leftover graphic from a tech demo. It seems to resemble that of the early online game demo of Super Monkey Ball named Super Monkey Ball Mini. This has been converted from the TGA image data found at offset 308994-3124AF in the US ROM and 3135E0-31D0FB in the EU ROM.
An unused Japanese katakana font. Since the game was never released in Japan, this font would have no appropriate usage.
Possible debug-related icons.
In the character select screen, the monkeys have the bottom 5 pixels of their waiting animation hidden by a text graphic of their own name. This hides some or all of their feet.
Present in the US version is a glitch that allows you to play any level in practice mode without having to unlock it in normal mode first. Go to the level selection menu in practice mode and highlight any locked level. Press B to return to the character select and then select any character to return to the level select. Once you return to the level select, the level you highlighted will now be unlocked.
This was fixed in the European version by having the level select cursor return to Beginner 1 if a locked stage was selected before pressing the B button.
The Monkey Ball series
|GameCube||Super Monkey Ball • Super Monkey Ball 2 (Demo) • Super Monkey Ball Adventure|
|Game Boy Advance||Super Monkey Ball Jr. (Prototype)|
|N-Gage||Super Monkey Ball|
|PlayStation 2||Super Monkey Ball Deluxe (Prototype) • Super Monkey Ball Adventure|
|Xbox||Super Monkey Ball Deluxe|
|Nintendo DS||Touch & Roll|
|PlayStation Portable||Super Monkey Ball Adventure|
|Wii||Banana Blitz • Step & Roll|
|Nintendo 3DS||Super Monkey Ball 3D|
|Nintendo Switch, Xbox One, PlayStation 4||Super Monkey Ball: Banana Blitz HD|
|Windows||Super Monkey Ball: Banana Blitz HD • Super Monkey Ball Banana Mania|
- Pages missing developer references
- Games developed by Realism
- Pages missing publisher references
- Games published by THQ
- Game Boy Advance games
- Pages missing date references
- Games released in 2002
- Games with unused areas
- Games with hidden development-related text
- Games with unused graphics
- Games with unused text
- Games with debugging functions
- Games with hidden level selects
- Games with regional differences
- Monkey Ball series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with hidden level selects
Games > Games by content > Games with regional differences
Games > Games by content > Games with unused areas
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Realism
Games > Games by platform > Game Boy Advance games
Games > Games by publisher > Games published by THQ Nordic > Games published by THQ
Games > Games by release date > Games released in 2002
Games > Games by series > Monkey Ball series