Pellsson Patch Explanation
What is Pellsson?
Pellsson is a practice patch for Super Mario Bros. (SMB1) / Super Mario Bros.: The Lost Levels (SMB2J / SMBTLL) that displays helpful information for the user in real-time, without needing external tools. These features include:
- Savestates
- Level & Room Framerule Remainders
- Slow Motion / Frame Advance
- Level & World Select
- Framerule Select
- Power-up Select
- Custom RAM Address Watchers
- Scenario Practice (1-1 FPG & 1-2G)
- & More!
Where to Download
The official download for the Pellsson patch is located on Pellssons Github, the current version being 5.6. This is the version that will be discussed in this page. Simply scroll to the bottom of the Github and click on the hyperlink labeled "Version 5.6 - IPS"
Note:
There are multiple different patches that are labeled as V6.0 that have more features, but due to it being less easily accessible (and unofficial/not by Pellsson), those patches and their features will not be discussed here.
How do I apply the IPS patch?
Go to this patch site and add an unmodified version of the Super Mario Bros. (NTSC / US & World) (NOT EUROPE / E) ROM as the ROM file, and then add the smb-v5.6 ips as the Patch file, and then click "Apply patch". Which should automatically download a patched version of your ROM, making it into the Pellsson ROM.
After you do all of that, load into your emulator or choice (Most likely Nestopia UE or MesenRTA) and check if the ROM works.
Help!!! My patched ROM isn't working!!
If you patched your ROM and noticed that it looks like this nightmare (or something similar), there's a simple fix.
- Open MesenRTA
- Go to Debug -> Edit iNES Header
- At the top left of the pop-up window, switch "iNES" to "NES 2.0" or vice versa under the "File Type:" category.
- Click "Save As" and save the ROM
- Open the ROM and it should be working now.
Start Menu
Finally, after loading into Pellsson you'll be given this title screen:
To go through the menu, press the Select button.
All of the available selections are explained below.
Original / Lost 2J
"Original" opens the selection menu for the "Super Mario Bros." levels, and what you'll most likely be spending most of your time on.
"Lost 2J" is the same thing, but for "Super Mario Bros.: The Lost Levels" instead.
World is the world you start on
Level is the level you start on
P-Ups is your power-up state, 0 = Small Mario, 1 = Big Mario, 2 = Fire Mario, 3 = Small Fire Mario
Hero is who you are playing as (Mario or Luigi). In Original / SMB1 this makes no difference, but in SMB2J there are different physics for Luigi.
Rule is what framerule you start on. You can adjust it by using the D-Pad.
Scenario
"Scenario" opens a selection menu for learning tricks, specifically 1-2G and 1-1 flagpole glitch, although it is generally not recommended by higher level runners to learn with these as it has unnecessarily added difficulty. You can go through it's available options with the right and left directional buttons.
Settings
"Settings" opens a customization menu for multiple features in Pellsson. A description of the features shown is below.
Music = Turn all music (In-Game and Menu) On/Off. On by default.
Sound = Turn all sound (Except for music) On/Off. On by default.
X Org = What the first RAM Address is set to on SMB1. 3AD (Player's X Position) by default.
Y Org = What the second RAM Address is set to on SMB1. 400 (Player's X Subpixel Position) by default.
X Lost = What the first RAM Address is set to on SMB2J. 3AD (Player's X Position) by default.
Y Lost = What the second RAM Address is set to on SMB2J. 400 (Player's X Subpixel Position) by default.
Redraw Delay = The delay (in hexadecimal) before the RAM address watches are updated. 08 (8 frames) by default.
Save/Load Delay = The delay (in hexadecimal) before the game is resumed after loading / saving a savestate. 1E (30 frames) by default.
Character Set = Whether the HUD text is always in SMB1, SMB2J, or Native style. Native by default.
Retry Buttons = Customize buttons to restart a level in-game. U S (Up + Select) by default.
Title Buttons = Customize buttons to open the level select menu in-game. D S (Down + Select) by default.
Save Buttons = Customize buttons to save game state in-game. R S (Right + Select) by default.
Load Buttons = Customize buttons to load previously saved game state in-game. L S (Left + Select) by default.
Reset Records = Resets the Pellsson records you have set. "No" = None, "ORG" = Original, "LL" = Lost Levels, "EXT" = Lost Levels worlds 9-D
Reset WRAM = Resets memory / all your customization to the default options, including level framerule selections, settings, save state, & records.
Records
Shows the Pellsson timer records for each level. While these times are consistent, they are not accurate to how levels are actually timed, so they are not recommended.
In-Game
When you go past the selection menu on Original or Lost 2J, you will be shown this information at the top of your screen, replacing the previous HUD elements in the original game. These are all described below:
Rule
Just like the selection menu, except it shows the framerule you are on, not the one you start on. This updates whenever you enter/exit a level/pipe, jump, collect a coin, stomp an enemy, get hit/die, etc.
x / room number
This is typically referred to as the "room number" and will change every room/level you enter. The value changes depending on what frame you entered the room on. The value ranges from 0-20, with numbers after 0-9 going from A-K (for example, 10 = A, 11 = B, etc.)
Frame
This is similar to Rule, but shows the frame you entered/exited a level/pipe, jumped, collected a coin, stomped an enemy, got hit/died, etc. instead of the framerule. This number ranges from 0-255, and will simply loop back to 0 when it goes above 255.
X (The other one)
This is the first RAM Address watcher, and typically shows your X position, but it can be changed to any other value in RAM.
Y
This is the second RAM Address watcher, and typically shows your Y subpixel position, but it can be changed to any other value in RAM.
Time
This is unchanged from the original game.
R / Remainder
The "R" stands for the Remainder, and it shows how many frames you had left to spare on a level. For example, if you got a 20 under the remainder, that means you had 20 frames to spare on that framerule, and were 1 away from saving the next.
However, on pellsson, this isn't completely exact and has to be adjusted for levels that don't end in a flagpole. For warpzone levels, remainder 13 or R13 is actually 0 frames to spare. For castle levels, it's very strange but is usually around remainder 5 or R05 for what is actually remainder 0 / R0.
Pause Menu
When you pause with the Pellsson patch, a menu will be shown that can be cycled through with the select button and the values can be changed with the A button. The explanation for the features are shown below.
P-Up - Changes power-up to None (Normally just small), Big, or Fire Mario instantly
Size - Changes size of Mario to small or big (regardless of the power-up option) instantly
Hero - Changes who you are playing as (Mario / Luigi) instantly
Show - Changes whether the top left value on the hud shows the framerule counter (Rule) or Mario's subpixel position (Sock [Sockfolder])
X - First RAM Address Watcher, change the 1st value with left, 2nd with right, and 3rd with A
Y - Second RAM Address Watcher, change the 1st value with left, 2nd with right, and 3rd with A
Slo-mo - Changes game speed. Ranges from Low - High. Has frame advance feature (ADV), frame advances by pressing A on controller two
Get Star - Instantly gives Mario a star power-up
Restart Lev - Restarts the level at the same framerule you entered it at originally
Save State - Saves the state of the game
Load State - Loads the previously saved state of the game
Exit Title - Sends you back to the selection menu screen
Exit Intro - Sends you back to the main menu screen