Saltar al contenido
PORTSNATIVE.
InicioCatálogo
Juegos WebEmuladoresHerramientasNovedades
PORTSNATIVE.

Un catálogo para descubrir ports y proyectos relacionados. Enlazamos a las fuentes oficiales y no alojamos archivos de los juegos originales.

ExplorarCatálogoMi lista
InformaciónNosotrosProponer un portSoporteApoyo y donacionesAviso legal
© 2026 PortsNative
Volver al catálogo
Super Mario Bros. · SMB Vanilla
PORTSNATIVE

Super Mario Bros. · SMB Vanilla

PORT NATIVOPLATAFORMASWINDOWSLINUXMACOSALPHA

Super Mario Bros. · SMB Vanilla

Super Mario Bros.

OrigenNintendo Entertainment System

TecnologíaPort Nativo C/C++ (Reimplementación de Motor)

Disponible paraWindows, Linux, macOS

Ver proyecto oficial

Sobre el proyecto

Super Mario Bros. es un videojuego de plataformas desarrollado y publicado por Nintendo para la Nintendo Entertainment System (NES). Dirigido y producido por Shigeru Miyamoto, es la secuela del arcade Mario Bros. de 1983 y el primero de la serie Super Mario. Los jugadores controlan a Mario, o a su hermano Luigi en el modo multijugador, para atravesar el Reino Champiñón y rescatar a la princesa Toadstool del rey Koopa —más tarde llamado Bowser—.

11 versiones de Super Mario Bros.

Estás viendo: SMB Vanilla

SMB Vanillagithub.com/nukep/SMB-Vanilla
Windows
Linux
macOS
Actual
Super Mario Bros.github.com/pwsqrd/lynx_smb
Windows
›
Super Mario Bros. (nathsou)github.com/nathsou/smb
Windows
›
Super Mario Bros. (oliveryasuna)github.com/oliveryasuna/smb-recomp
Windows
›
Super Mario Bros. (Switch)github.com/sverigeunit/Mario-Bros-Switch-Port
Por confirmar
›
Super Mario Bros. (UEFI_SuperMario)github.com/MikeWuPing/UEFI_SuperMario
Windows
›
Super Mario Bros. Remasteredgithub.com/JHDev2006/Super-Mario-Bros.-Remastered-Public
Windows
Linux
macOS
›
Super Mario Bros. Remastered (Android, mircey)github.com/mircey/super-mario-bros.-remastered-android
Android
›
Super Mario Bros. Remastered (Android)github.com/mircowuffwuff/super-mario-bros.-remastered-android
Android
›
Super Mario Bros. Remastered (Switch)github.com/delsonazevedo/Super-Mario-Bros.-Remastered-Switch
Por confirmar
›
SuperMarioBrosRecompgithub.com/mstan/SuperMarioBrosNESRecomp
Windows
Linux
macOS
›

Información oficial del proyecto

README original del autor (en inglés)Abrir en GitHub ↗

SMB Vanilla

For issues and pull requests, please visit Codeberg.

A C decompilation of the NES games "Super Mario Bros" and "Super Mario Bros 2 Japan" (aka Lost Levels).

<img width="512" src="./docs/screenshot1.png" alt="Screenshot" />

This project intends to support most non-gamebreaking glitches from the original games (e.g. the minus world, collision and clipping bugs).

A legally obtained ROM dump is required to play the game. Otherwise, it will not run. This project only reimplements the gameplay, and does not come with level data or graphical assets.

Progress made:

  • Super Mario Bros runs, is beatable
  • Super Mario Bros 2J (Lost Levels) runs, is beatable
  • Audio for SMB1 and (excluding the ending) SMB2J
  • Get the core games compiling in C only (to make sure it's portable to older and embedded systems)
  • Refactor of Ghidra-produced code (in progress)
  • Audio for SMB2J ending (uses 2C33 audio chip)
  • Unit and regression tests
  • A decent UI/UX, customizable controls

No AI-generated code or assets are included in this project.

Running the game

Provide a copy of "smb.nes" and put in the same directory as the executable. Alternatively, modify the file paths in smbvanilla.ini.

smbvanilla.ini also has options to change key bindings if they're not tasteful for you.

When all is set up, run smbvanilla.exe (or smbvanilla on *nix). The first CLI argument can be the ROM filename to override the value in smbvanilla.ini. On Windows you can also drag the ROM onto the executable.

./smbvanilla

To play SMB2J (Lost Levels), provide the ROM path as a CLI argument, or modify smbvanilla.ini.

To play a specific level (SMB1 only right now), you can do so from the command line. For example, to play World 8-1:

./smbvanilla --level 8-1

Known-to-work hashes:

  • SHA-1 hashes for smb.nes (NTSC): ea343f4e445a9050d4b4fbac2c77d0693b1d0922
  • SHA-1 hashes for smb2j.fds: 3b8c8998b4887d6dd676965943d69a320738ab9c or 20e50128742162ee47561db9e82b2836399c880c

Romhacks that modify code or other types of data are not supported.

Building from source

See BUILDING.md for details.

Contributing

See CONTRIBUTING.md for details.

Goals for this project

The main goal of this project is to behave as identically to the original game as possible (including bugs).

The secondary goal is to provide an accessible, high-level reference for the logic of Super Mario Bros. It's reasonable for retro enthusiasts to cross-reference this with disassembly listings.

Special Thanks

Shoutout to doppelganger, for creating the go-to Super Mario Bros disassembly. Their work has been immensely helpful, and the diassembly is the basis for the label names used in this project: https://www.romhacking.net/documents/344/

Legal disclaimer

This project has no affiliation with Nintendo. No ROMs are included in this project.

Leer guía oficial
CALIFICACIÓN
—
Cargando votos…
Publicidad

FICHA DEL PROYECTO

Tipo de proyecto
PORT NATIVO
Género
Plataformas
Estado
alpha
Plataforma de origen
Nintendo Entertainment System
Tecnología
Port Nativo C/C++ (Reimplementación de Motor)
Versión
—
Actualización
—

Plataformas de destino 3

Windows
Linux
macOS
Ver en GitHub
Publicidad