?World 1-1What is SMBU?
SMBU is the original 1985 NES Super Mario Bros., rebuilt as a program that runs straight on your computer. No emulator is involved. The game's own logic was carried over routine by routine, so it behaves the way the cartridge did, right down to the frame.
- The whole game. All 8 worlds, the warp zones, the title screen with its demo, and the harder second quest after you rescue the princess.
- The feel you remember. Mario's run, jump and skid are the NES's own numbers, and the famous quirks came along for the ride.
- The original sound. The music and effects are played by a recreation of the NES sound chip, not by recordings. The title screen and its demo are silent, as they were on the NES: the music starts when you start a game.
- Two players. Mario and Luigi take turns, just like on the NES.
- A TV in a box. Optional filters and scanlines make the picture look like it did on the living room telly.
- Modern comforts. Keyboard and gamepad support, keys you can change, screenshots, and a switch that turns off the NES's sprite flicker.
About the "Ultimate" part. SMBU currently plays like the classic game. The Ultimate version, which will bring features such as a widescreen view, purchasing unlocks, guides, secrets and more via coins, is planned and not in the game yet.
?World 1-2The controls
Every button on the NES pad has keys and a gamepad button. Use whichever you like, even both at once.
| NES | What it does | Keyboard | Xbox 360 pad |
|---|---|---|---|
| Left | Walk left | ← or A | D-pad or left stick |
| Right | Walk right | → or D | D-pad or left stick |
| Up | Climb a vine, choose 1 or 2 players on the title | ↑ or W | D-pad or left stick |
| Down | Duck, go down a pipe, choose 1 or 2 players on the title | ↓ or S | D-pad or left stick |
| A | Jump, swim | Space or Z | A |
| B | Run (hold), throw fireballs | Left Shift or X | X |
| Select | Choose 1 or 2 players on the title screen | Right Shift or C | Back |
| Start | Start the game, pause and unpause | P or Enter | Start |
- Hold B to run, then jump. A running jump goes much further. This is how you clear the big gaps.
- Two players share the same controls. Mario and Luigi take turns, so pass the keyboard or pad along when your turn ends.
- The gamepad just works. Plug it in before or during the game. The first pad found is the one used.
- Other pads work too. On a PlayStation pad, jump is Cross and run is Square (same positions as A and X).
?World 1-3Shortcut keys
These work on top of the game controls.
| Key | What it does |
|---|---|
| Esc | While playing: back to the title screen. On the title screen: quit |
| Ctrl + Q | Quit from anywhere |
| F6 | Change the video filter: none, composite, S-Video, RGB |
| F7 | Make the scanlines 10% stronger (after 100% it goes back to off) |
| F12 | Take a screenshot, saved in the captures folder |
| F3 | Show or hide the frame time graph (for the curious) |
| F4 | Freeze or unfreeze that graph |
Esc while playing works like the NES reset button: you land back on the title screen and the top score is kept.
When you press F6 or F7, a small notice at the top left shows the new choice for
a few seconds, for example Filter: composite Scanlines: 30%. Both choices are
remembered for next time.
?World 1-4Filters and scanlines
The NES was made for chunky tube TVs, and its artists used the TV's blur on purpose. SMBU can put that look back.
The four looks (press F6)
noneSharp, square pixels in exact colours, like most emulators.
composite defaultThe classic TV look: soft edges,
colours that bleed a little, rainbow fringes.
svideoThe colour bleed without the rainbow fringes.
rgbNearly sharp, with just a touch of softness.composite is the default, because that is how the NES looked on most TVs. Try them all on
the brick walls of 1-1 and pick your favourite.
All four pictures are the same moment of the game, at three times the NES's size.
Scanlines (press F7)
A tube TV drew the picture as bright lines with darker gaps between them. Scanlines bring the gaps back.
| Strength | What you see |
|---|---|
0 | Off (the default) |
20 to 50 | A gentle line pattern, like a good TV |
100 | Solid black gaps between the lines |
0Off.
30A gentle line pattern.
100Solid black gaps.These three use the composite filter.
Scanlines need some room. In a very small window there is no space to draw them, so
make the window bigger if nothing seems to happen. They work with every filter, none
included.
Two more picture switches
These two live in the settings file (World 2-1):
filter_mergekeeps the filtered picture steady. Turn it off (false) and the colour fringes shimmer slightly, as they did on a real TV. That looks best on a 60 Hz screen.sprite_limitis the NES's limit of 8 sprites per line, which makes busy scenes flicker (Bowser's fire, Hammer Bros). Set it tofalseand nothing ever flickers.
?World 2-1The settings file
Your settings are kept in a small text file, config/smbu.ini, in the game's folder. Open
it with any text editor.
Two golden rules
- Close SMBU before you edit the file. The game saves its settings when it exits, which would replace your changes.
- Write
trueandfalsein lower case. Anything else counts asfalse.
Lost in the pipes? Delete the file and SMBU makes a fresh one with the defaults.
[graphics]: the picture
| Setting | Default | What it does |
|---|---|---|
filter | composite |
The video filter: none, composite, svideo or
rgb |
filter_merge | true |
Steady picture. false gives the real TV shimmer |
scanlines | 0 |
Scanline strength, from 0 (off) to 100 |
sprite_limit | true |
NES sprite flicker. false turns the flicker off |
crop_overscan | true |
Hides the top and bottom edge rows, as a TV did. false shows them |
vsync_enable | true |
Matches the picture to your screen for smooth scrolling |
fps_limit | 0 |
Frame rate cap when vsync is off. 0 means no cap |
show_fps | true |
Shows the frames-per-second counter |
show_frame_time_graph | false |
Shows the frame time graph at startup (same as F3) |
ui_scale | 0 |
Size of on-screen text, 1 to 8. 0 picks one for your
display |
[window]: the window
| Setting | Default | What it does |
|---|---|---|
width, height | 800, 450 |
Window size in pixels |
x, y | 200, 400 |
Where the window sits on the screen |
fullscreen | false |
true fills the whole screen |
maximized | false |
true starts with the window maximized |
borderless | false |
true removes the title bar and border |
resizable | true |
Lets you drag the window edges to resize it |
The window remembers its size and place by itself, so you rarely need to touch these. The picture always keeps its proper NES shape, whatever shape the window is.
[audio]: the volume
Each value runs from 0.0 (silent) to 1.0 (full).
| Setting | Default | What it does |
|---|---|---|
master_volume | 0.80 | Overall volume |
music_volume | 0.60 |
The game's sound: its music and its sound effects together |
sfx_volume | 0.80 |
Sounds made outside the NES game. The game itself ignores it |
To make the game louder or quieter, change master_volume or
music_volume.
[gamepad]: the stick
| Setting | Default | What it does |
|---|---|---|
deadzone | 0.15 |
How far the stick must move before it counts. Raise it if Mario drifts |
[capture]: screenshots
| Setting | Default | What it does |
|---|---|---|
directory | captures |
The folder F12 screenshots are saved in |
format | png |
png or jpg |
jpeg_quality | 90 |
Quality for jpg screenshots |
include_fps | false |
true keeps the FPS counter in the screenshot |
[simulation]: leave this one alone
fixed_step_hz is the speed of the game, set to the NES's exact 60.0988 frames per second.
Changing it changes how fast everything runs, music included.
?World 2-2Changing the keys
The [input] section of the settings file lists every button with its keys and pad
buttons. These are the defaults:
[input] left = Left, A, pad:dpleft, pad:leftx- right = Right, D, pad:dpright, pad:leftx+ up = Up, W, pad:dpup, pad:lefty- down = Down, S, pad:dpdown, pad:lefty+ jump = Space, Z, pad:a run = Left Shift, X, pad:x select = Right Shift, C, pad:back pause = P, Return, pad:start
jump is the NES A button, run is B and pause is Start.
- Each line takes up to four entries, separated by commas.
- Keys use plain names:
Space,Return,Left Shift,K,Up. - Pad buttons start with
pad:, such aspad:a,pad:b,pad:x,pad:y,pad:start,pad:back,pad:leftshoulder,pad:rightshoulder,pad:dpup. - Stick directions are
pad:leftx-(left),pad:leftx+(right),pad:lefty-(up) andpad:lefty+(down). The right stick usesrightxandrighty. - Triggers are
pad:lefttriggerandpad:righttrigger. - Capital letters do not matter. The comma key cannot be used, because commas separate the entries.
Would you rather jump with K and run with the B button? Like this:
jump = Space, Z, K, pad:a run = Left Shift, X, pad:x, pad:b
An entry SMBU does not recognise is skipped, and the rest of the line still works.
!Welcome toWarp Zone: quick answers
| Question | Answer |
|---|---|
| Enter does nothing, but P starts | An older smbu.ini: add Return to its pause line, or
delete the line |
| There is no sound on the title screen | That is the NES. The music starts when you start a game |
| How do I pick a 2 player game? | Press Up or Down (or Select) on the title screen, then Enter |
| The picture looks blurry | Press F6 until the notice says Filter: none |
| F7 does nothing | Make the window bigger. Scanlines need room |
| Things flicker when the screen is busy | That is the NES. Set sprite_limit = false to stop it |
| My changes to the settings file vanished | Close SMBU first, then edit the file |
| Mario walks on his own | Raise deadzone a little, for example to 0.25 |
| How do I go fullscreen? | Set fullscreen = true under [window] |