# Code Reference

# Any Fruit Opens Yoshi Eggs

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Aug 19, 2018)
Authors: Unknown, Noki Doki

Allows opening Yoshi eggs with a different fruit than the one depicted.

# Attempt Counter

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.1 (Feb 05, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Display attempt count and success count of current area.

This code can be used with 'Area Lock' of 'Instant Level Select'.

# Coin Count Savestate

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Jul 24, 2021)
Author: Psychonauter

Allows you to save and restore your coin count. Uses the same D-Pad mappings as the position saves of DPad-Functions.

Combination Result
D-Pad Left Save current coin count
D-Pad Right Load saved coin count

# Controller Input Display

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.1 (Feb 05, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Display controller input.

# Customized Display

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.4 (Jan 31, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Shows metadata at any given time.

# Format

Use < ID-of-the-data | format | value-shown-in-preview > to display a metadata.

Supported data:

ID data type
x X coordinate of Mario float
y Y coordinate of Mario float
z Z coordinate of Mario float
angle Angle of Mario uint16
HSpd Horizontal speed of Mario float
VSpd Vertical speed of Mario float
QF QF offset {0,1,2,3}
CAngle Camera Angle uint16
invinc Invincibility Timer (frame) int16
goop Pollution Degree (<600 to complete SB6) int32
spin Whether satisfying spin jump condition Show πŸ… if YES

For float data, you can set the format to .{digit} to specify how many digits to show.

All printable characters (NTSC-J) Printable charaters
All printable characters (NTSC-U) Printable charaters
All printable characters (PAL) Printable charaters

# Preview

# DPad Functions

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 2.5 (Jun 10, 2021)
Authors: Psychonauter, Noki Doki, Dan Salvato, Link Master, James0x57

Allows various game modifications through a set of button combinations:

Combination Result
D-Pad Left Save Mario's current position
D-Pad Right Load Mario's position
D-Pad Up Replace all dialog with a single "!!!" line
D-Pad Down Restore Dialog Boxes
X + D-Pad Left No FLUDD/red coin buttons in secrets
X + D-Pad Right FLUDD in all secrets
X + D-Pad Down FLUDD in completed secrets (default)
X + D-Pad Up Regrab last held object

# Deathless Blooper Surfing

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 11, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Prevent Mario from dying when he crashes into a wall while Blooper Surfing.

# Disable Blue Coin Flag

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.1 (Sep 05, 2018)
Authors: Psychonauter, Noki Doki

Prevents the game from setting the blue coin flag, which makes them respawn after reentering the level.

# Enable Exit Area Everywhere

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Oct 30, 2017)
Author: Noki Doki

Gives you the "Exit Area" option when entering the pause menu in all levels instead of just the normal stages, such as Delfino Plaza and Airstrip.

# FMV Skips

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Jan 20, 2017)
Author: Psychonauter

Allows skipping FMVs without having to watch them once first.

# Fast Any%

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.4 (Feb 16, 2018)
Authors: Psychonauter, Noki Doki

Loads stages in the commonly used any% order, skips all save boxes, replaces all dialog with "!!!" (except for the Pianta 5 secret) and makes all FMVs skippable (except for the Pinna 1 cutscenes).

WARNING

This code is not compatible with the Level Select or Stage Loader code.

# Fast Forward

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.1 (Apr 25, 2022)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Fast forward the game when the following button combination is pressed.

Combination Result
B + D-Pad Left Fast forward 4x
B + D-Pad Right Fast forward 8x (lag may occur)

WARNING

SGT will be inaccurate with this code.

# Fast Piantissimo

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Nov 9, 2022)
Author: Noki Doki

Forces Il Piantissimo to take his fastest route.

# Fix Manta Splitting

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.2 (Mar 17, 2021)
Author: Noki Doki

Fixes the Nintendont-exclusive bug that changes the manta's behavior upon splitting and may cause it to die early.

# Force ANSI Memory Card Encoding

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSJ01 (NTSC-J 1.1) GMSP01 (PAL)

Version: 2.0 (Jun 25, 2020)
Author: Noki Doki

Nintendont expects the save files on your memory card to use the encoding used in the game. Other loaders, such as Gecko OS, instead expect the saves to be in the encoding that matches the region of the console.

This code directs Nintendont to use the encoding used for the NTSC-U/PAL region (ANSI) for writing to and reading from the memory card.

If you load a NTSC-J or NTSC-K version of the game in Nintendont and it asks you to format your memory card (see image below), you can bypass having to format your card by using this code.

Japanese Formatting Text

# Force Plaza Events

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.1 (Feb 23, 2023)
Authors: Noki Doki, sup39(γ‚΅γƒγƒŸγ‚―)

Forces the unlock events for Ricco, Gelato and Yoshi to happen any time the correct version of the plaza is loaded via the Level Select code.

Nozzle unlock events take precedence over Yoshi's if their conditions are met.

# Force SJIS Memory Card Encoding

GMSE01 (NTSC-U) GMSP01 (PAL) GMSJ01 (NTSC-J 1.0) GMSJ01 (NTSC-J 1.1)

Version: 2.0 (Jun 25, 2020)
Author: Noki Doki

Nintendont expects the save files on your memory card to use the encoding used in the game. Other loaders, such as Gecko OS, instead expect the saves to be in the encoding that matches the region of the console.

This code directs Nintendont to use the encoding used for the NTSC-J region (SJIS) for writing to and reading from the memory card.

If you load a NTSC-U or PAL version of the game in Nintendont and it asks you to format your memory card, you can bypass having to format your card by using this code.

# Free Pause

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.1 (Nov 12, 2017)
Author: Noki Doki

Allows you to pause mid-air and during cutscenes.

# Fruit Never Time Out

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 13, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Make fruits never time out.

# GCI Loader

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.6 (Aug 01, 2024)
Authors: sup39(γ‚΅γƒγƒŸγ‚―), Psychonauter

Execute Gecko code loaded from GCI file.

WARNING

You will need to reset the game if you hotplug your memory card

# In-Game Time Savestate

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 11, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Combination Result
D-Pad Left Save current In-Game Time
D-Pad Right Load saved In-Game Time

# In-Stage Attempt Counter

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 13, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Combination Result
D-Pad Left Display the attempt counter
D-Pad Right Increase attempt count by 1

# Infinite Juice

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Apr 5, 2019)
Author: Noki Doki

Prevents Yoshi from despawning due to running out of juice.

# Infinite Lives

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 2.0 (Feb 28, 2020)
Author: Noki Doki

Prevents the life counter from decreasing when you die in a level.

# Instant Level Select

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.4 (Feb 21, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

WARNING

Shine Get Timer does not restart with this code.

WARNING

Z menu will be disabled

# Instant Restart

  • Press B + D-Pad Up to restart the current area
  • The respawn position will be the same. It can be used to practice Honey Skip or stage movement in Delfino Plaza

# Level Select

Press {the following button combination} + B + D-Pad Up to warp to other area instantly. Level Select Combinations

  • For Z + B + D-Pad Up, the current area will be restarted, but the respawn position will be reset. It is like B+Up, but the respawn position will be the default position instead of the previous one
  • For Y + B + D-Pad Up, it will restart from the previous selected area. For example, if you select SB4 with this code, and enter hotel/casino then press Y+B+Up, it will restart from SB4 beach (instead of hotel/casino if you use B+Up or Z+B+Up)

# Area Lock

  • Press R + D-Pad Left/Right to enable/disable Area Lock
  • With Area Lock, warps will restart the current area instead of sending Mario to other areas, which can be used to practice specific area (e.g. outside of BH2 wildmill, secret stage entering)
  • Restarting acts like B+Up, and therefore can be used to practice Honey Skip, etc.

# Example of Usage: Practising Honey Skip

  1. Press R + D-Pad Left to enable Area Lock
  2. Press C-Stick LeftDown + B + D-Pad Up to go to Pianta Village
  3. Press C-Stick RightDown + Y + B + D-Pad Up to go to Pinna unlock plaza
  4. Practice Honey Skip as much as you want! It will restart automatically when you are going to leave the area so you don't need to reset manually. You can also restart with B + D-Pad Up if you want.

# Instant Restart

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.2.0 (Apr 28, 2022)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

When you pressed the buttons configured in #Button Config simultaneously, you can restart the current area without selecting "Exit Area" in pause menu. Note that the restart function behaves differently than pressing Y or Z with "Level Select". This code only supports restarting 1 area only. For example, you can restart outside a secret stage or inside a secret stage individually, but you can NOT restart a combination of outside+inside a secret stage.

WARNING

You can NOT restart after destroying the last platform in Bowser fight at the moment.

# Intro Skip

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Jun 19, 2019)
Author: Noki Doki

Removes the logos and cutscene that normally play before the title screen when loading or resetting the game.

WARNING

This makes it impossible to toggle progressive or 60Hz mode, make sure to set these the way you want without the code.

# Level Select

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.16 (Jul 9, 2023)
Authors: Psychonauter, Dan Salvato, Noki Doki

Allows warping to other levels when starting a file or when exiting a level by holding the combination until the screen turns black.

WARNING

This code is not compatible with the Fast Any% or Stage Loader code.

Codes:

Level Select Combinations

# Manual Attempt Counter

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 13, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Allows you to modify the attempt count and success count manually.

Combination Result
R + X + D-Pad Left Decrease attempt count by 1
R + X + D-Pad Right Increase attempt count by 1
R + X + D-Pad Down Decrease success count by 1
R + X + D-Pad Up Increase success count by 1

# Mario Savestate

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 13, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Allows to save and load the following states:

  • Mario's current state (e.g. dive, ground pound)
  • Mario's speed
  • Last held object
  • FLUDD's water amount
Combination Result
D-Pad Left Save the states mentioned above
D-Pad Right Load the states mentioned above

# Mute Background Music

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Jan 28, 2017)
Author: Psychonauter

Mutes background music, but keeps SFX on.

# No Shine Get Animation

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 13, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Prevent Mario from starting the 'Shine Get' animation when touching a shine.

Note that the shine is not counted as collected when this code is enabled.

Combination Result
L + X + D-Pad Left Enable the code
L + X + D-Pad Right Disable the code

# Nozzle Lock

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Jun 10, 2021)
Authors: Psychonauter, Dan Salvato, Link Master, James0x57

Locks the nozzles by pressing a button combination:

Combination Result
B + D-Pad Left Lock Rocket Nozzle
B + D-Pad Right Lock Turbo Nozzle
B + D-Pad Up Lock Hover Nozzle
B + D-Pad Down Release Nozzle Lock

TIP

The underwater sections of Noki Bay (episodes 3, 4 and 8) use a different hover nozzle from the one you get with B + Up. If you find it's not working properly, simply release the nozzle lock.

# Pattern Selector

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.4 (Jan 31, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

β’· is the cursor to select the pattern, and the three digits are the numbers representing the pattern. See below for more information.

Combination Result
L + D-Pad Left Move cursor(β’·) one digit to the left
L + D-Pad Right Move cursor(β’·) one digit to the right
L + D-Pad Up Increase the number at the right of the cursor(β’·)
L + D-Pad Down Decrease the number at the right of the cursor(β’·)

When the cursor(β’·) is not shown, you can press L+D-Pad Left/Right to make it appear.

You can change the position and color of the text here.

# Chain Chomp (PV4)

Use the 1st digit to select the pattern. The 2nd and 3rd are ignored.

1st digit Direction at the beginning
1 ←
2 ↑
3 β†’
o.w. Random

# Chain Chomplets (PV1)

Each digit represents the pattern of each Chain Chomplet. Numbers not on the graph (e.g. 0) mean random.

# 1st digit

# 2nd digit

# 3rd digit

# QF Time Savestate

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 11, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Combination Result
D-Pad Left Save current QF Time
D-Pad Right Load saved QF Time

# Quarterframe Section Timer

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.1 (Jan 31, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Calculate and display section times whenever Quarterframe Timer freezes.

# Quarterframe Timer

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.5 (Jan 28, 2023)
Authors: Noki Doki, sup39(γ‚΅γƒγƒŸγ‚―)

Adds an in-game timer to every level, starting on the last black frame of the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).

WARNING

The timer pauses during loading times and FMVs.

# Red Coin Savestate

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 11, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Combination Result
D-Pad Left Save current red coin state
D-Pad Right Load saved red coin state

# Replace Episode names with their ID

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.1 (Feb 13, 2018)
Authors: Psychonauter, Noki Doki

Replaces the Episode names with the episode number in the demo screen. (Useful for the stage loader.)

# Respawn One-Time Shines

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Aug 19, 2019)
Author: Noki Doki

Allows Shines obtained by cleaning graffiti, the Shine Gate or the bells to respawn.

# Shadow Mario HP Meter

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 20, 2022)
Author: miluaces

Shows a health bar above Shadow Mario whenever he gets hit with water.

# Shine Get Timer

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 2.2 (Jun 8, 2022)
Authors: Psychonauter, Noki Doki

Adds the ingame timer to every level, starting on the last black frame after the loading screen and ending as soon as the 'Shine Get' animation starts (similar to the x-cam timer of SM64).

Load Removal

The timer removes load times during level transitions.

For in-level transitions (such as when entering a secret) it removes the time from the second black frame of the transition to the second-to-last black frame.

The timer visually freezes when entering loading zones, however it still runs in the background.

DANGER

Requires the Level Select code, Fast Any% or Stage Loader to be active.

# Shine Outfit

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Oct 23, 2017)
Authors: Ralf, Psychonauter

Always wear shine outfit and sunglasses.

# Shiny Shines

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Oct 10, 2021)
Author: Noki Doki

Makes all Shines appear yellow, whether they've been collected or not.

# Spawn Yoshi

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.1 (Oct 14, 2022)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Spawn and ride on Yoshi

Combination Yoshi's Color
Y + D-Pad Left Orange
Y + D-Pad Right Purple
Y + D-Pad Down Pink
Y + D-Pad Up Green

# Stage Intro Skip

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.1 (Jul 27, 2022)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

Fast forward the stage intro movie.

WARNING

SGT will be inaccurate with this code.

  • Press R + D-Pad Up to enable
  • Press R + D-Pad Down to disable

# Unlock Nozzles

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 12, 2018)
Author: Noki Doki

Unlocks all nozzle boxes.

# Unlock Yoshi

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 1.0 (Feb 10, 2018)
Author: Noki Doki

Unlocks Yoshi everywhere.

# drawText

GMSE01 (NTSC-U) GMSJ01 (NTSC-J 1.0) GMSP01 (PAL) GMSJ01 (NTSC-J 1.1)

Version: 0.3 (Jan 02, 2023)
Author: sup39(γ‚΅γƒγƒŸγ‚―)

typedef struct {
int16_t x;
int16_t y;
uint32_t fontSize;
uint32_t colorTop;
uint32_t colorBot;
} DrawTextOpt;
void drawText(DrawTextOpt *opt, const char *fmt, ...);