Cloned Games

SuperMarioBros-C

RecompilationHaltedPlayableNone

The original game's compiled code translated into a native program for a new platform, usually a PC port.

Based on Super Mario

SuperMarioBros-C screenshotLinks, repository & details

About

Super Mario Bros. is a 1985 NES platform game developed and published by Nintendo, directed by Shigeru Miyamoto, in which Mario (or Luigi in multiplayer) travels through the Mushroom Kingdom to rescue Princess Toadstool from King Koopa. SuperMarioBros-C translates the original Super Mario Bros. NES disassembly (by doppelganger) into C++ using an automated codegen tool, running via an emulation layer for the NES CPU, PPU (video), APU (audio), and controller, built on SDL2. It requires an unmodified "Super Mario Bros. (JU) (PRG0)" ROM file at runtime, since the game's CHR graphics data is pulled from that ROM rather than reimplemented.

How it differs from the original

As a PC build it adds configurable options not present on the original NES hardware, such as adjustable audio sample rate, frame rate, video scale, and toggleable scanline rendering, set via an INI-format config file.

Getting started

Build with CMake (requires a C++11 compiler, Boost, SDL2, Flex, and Bison) to produce the "smbc" executable, then place an unmodified "Super Mario Bros. (JU) (PRG0)" NES ROM file in the working directory, or point to it via the smbc.conf config file, before running.

Known issues & limitations

  • Custom palettes may use the 1536-byte format, but emphasis bits beyond the first 192 bytes are not supported.

What you need to run it

Original game files required. The project ships code only; you provide your own copy of the game (NES version). Requires an unmodified Super Mario Bros. (JU) (PRG0) NES ROM for CHR graphics data.

Features

  • The game looks and plays like the original.
  • Audio can be enabled or disabled, and its output frequency can be configured.
  • The desired frame rate can be configured.

How to install

  1. Optionally, configure the program with an INI-format file named `smbc.conf` in the working directory.

Summarised from the project's README.

FAQ

What is SuperMarioBros-C?
SuperMarioBros-C is an open-source recompilation of Super Mario. The original game's compiled code translated into a native program for a new platform, usually a PC port. The original game ran on NES.
Do I need the original game files to run SuperMarioBros-C?
Yes. The project does not include the original game's assets, so you need your own copy. Requires an unmodified Super Mario Bros. (JU) (PRG0) NES ROM for CHR graphics data.
Share:

More like SuperMarioBros-C

Halted
uMario screenshot
A C++/SDL2 clone of Super Mario Bros., built by developer Łukasz Jakowski as his first C++ project.
Platforms:Windows
Stars803
Updated4 years ago
LicenseGPL-2.0
Release2015
Active
Super Mario War screenshot
An open-source SDL multiplayer deathmatch game using Mario-style characters, with online play, a level editor, and 1,000+ maps.
Platforms:WebWindowsLinux
Stars530
Updated1 month ago
LicenseUnknown
Release2015
Active
Original game (original game, not this project)Original game image
TheXTech is a faithful C++ rewrite of the SMBX 1.3 Mario-style level engine, running cross-platform with an added editor.
Platforms:WindowsLinuxOSX
Stars415
Updated1 month ago
LicenseGPL-3.0
Release2020
Active
Original game (original game, not this project)Original game image
An open-source engine and dev kit for building Mario-style platform games, with SMBX compatibility.
Platforms:WindowsLinuxOSX
Stars280
Updated1 month ago
LicenseGPL-3.0
Release2014
Archived
Original game (original game, not this project)Original game image
The archived source code release for version 1.3 of this fan-made platform game, which includes a custom level editor.
Platforms:None
Stars141
Updated6 years ago
LicenseMIT
Release2020
Active
Mario Objects screenshot
Mario Objects is a Mario-inspired platformer and level editor, rewritten in 2026 as a macOS Swift app with 9 levels.
Platforms:Windows
Stars86
Updated3 months ago
LicenseMIT
Release2015