MASTER SYSTEM EMULATOR
TotalSMS
TotalSMS — a small open-source emulator for Sega Master System, Game Gear and SG-1000 with an SDL2 desktop build and an Emscripten/web build.

WHY IT MATTERS
Why try TotalSMS?
Lightweight, actively maintained source repository with straightforward CMake + SDL2 build for desktop and a web/emscripten target. Good for developers who want a simple, readable SMS/GG/SG-1000 codebase or a quick SDL2-based player.
BEST FOR
Best for
Developers, emulator hobbyists, and anyone who wants a minimal, buildable Master System / Game Gear / SG-1000 emulator they can read, modify, or run in a browser.
The people behind TotalSMS
History & status
TotalSMS is hosted on GitHub and presented as a simple Sega Master System / Game Gear / SG-1000 emulator. The repository contains source, a CMake-based build, an SDL2 example target and references an Emscripten/web build. The project shows recent commits and issue activity on GitHub; the codebase is intended as a compact, educational implementation rather than a long-standing, accuracy-focused simulator. There is no evidence in the repository that commercial game ROMs, BIOS files, or proprietary firmware are included; those must be provided by the user where required by law and personal ownership. The README documents how to build a desktop SDL2 binary and notes an Emscripten target (web build) on the project site.
What TotalSMS supports
- Sega Master System
- Sega Game Gear
- SG-1000
- download_text": "Official downloads and releases
- download_text":
Download and availability
OFFICIAL DOWNLOADS
Get TotalSMS
Official releases are provided via the project's GitHub releases page; source and build instructions are available in the repository. Use the Releases tab on the GitHub project to fetch prebuilt artifacts if present, otherwise build from source following the README.
Get TotalSMS ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗TotalSMS setup guide
Setup note: What you need and how to set up TotalSMS (concise, emulator-specific steps):
- 1) Get the source or a release: Visit the official GitHub repository to download a release or clone the source: git clone https://github.com/ITotalJustice/TotalSMS.git. Check the Releases tab for prebuilt assets; if none are suitable, build from source.
- 2) Prepare build dependencies (desktop / SDL2): TotalSMS provides an SDL2 example build. Install CMake (>= 3.18), a C/C++ toolchain (gcc/clang on Linux/macOS or MSVC on Windows), and SDL2 development libraries for your platform. On Debian/Ubuntu: sudo apt install build-essential cmake libsdl2-dev. On Windows, install Visual Studio or MSVC toolchain and provide SDL2 development headers/libs, or use vcpkg if you prefer.
- 3) Build (SDL2 desktop example): From the repository root: cmake -B build -DSDL2=ON -DCMAKE_BUILD_TYPE=Release cmake –build build -j4. The README states this will produce an SDL2 binary at build/bin/TotalSMS_SDL2. Run it with a ROM path: ./build/bin/TotalSMS_SDL2 path/to/rom.zip
- 4) Run in a browser (Emscripten): The project includes an emscripten/web target. To build the web version you must install Emscripten and follow typical emscripten build steps (activate the Emscripten SDK, configure CMake for Emscripten). The project's web page exposes a simple emscripten frontend where a ROM can be loaded in-browser.
- 5) Controls and I/O: The README documents keyboard controls in the SDL2 example: X=A, Z=B, arrow keys = D-pad. Ctrl+S to save state and Ctrl+L to load state. Use host OS input mapping for controllers (platform-specific) if building a frontend that supports joysticks.
- 6) ROMs, BIOS and legal notes: TotalSMS does not include commercial ROMs, BIOS, or proprietary firmware. You must provide legally obtained ROM files. The emulator accepts individual ROM files or zip containers per the README example (load a rom.zip). If a particular game or feature requires a BIOS/firmware file, obtain it yourself following applicable laws.
- 7) Troubleshooting & reporting issues: If you encounter graphical or runtime bugs, the README requests opening an issue on GitHub and attaching screenshots or short videos for graphical problems. Use the repository Issues tab for bug reports and feature requests.
Software reminder: This project is source-available under its repository license. Follow the repository README and license for build and redistribution rules. Do not expect bundled commercial games or BIOS files.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for TotalSMS as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation
