yuv422 / Gearsystem

Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.

Home Page:http://twitter.com/drhelius

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gearsystem

Build Status

Gearsystem is a cross-platform Sega Master System / Game Gear / SG-1000 emulator written in C++ that runs on Windows, macOS, Linux, iOS, Raspberry Pi and RetroArch.

This is an open source project with its ongoing development made possible thanks to the support by these awesome backers.

Please, consider sponsoring and following me on Twitter for updates.


Downloads

Supported Machines

  • Sega Mark III
  • Sega Master System
  • Sega Game Gear
  • Sega Game 1000 (SG-1000)
  • Othello Multivision

Features

  • Accurate Z80 core, including undocumented opcodes and behaviour like R and MEMPTR registers.
  • Multi-Mapper support: SEGA, Codemasters, Korean, MSX, SG-1000, and ROM only cartridges.
  • External RAM support with save files.
  • Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR.
  • Accurate VDP emulation including timing and SMS2 only 224 mode support.
  • Internal database for rom detection.
  • Audio emulation using SDL Audio and Sms_Snd_Emu library.
  • Saves battery powered RAM cartridges to file.
  • Save states.
  • Compressed rom support (ZIP deflate).
  • Game Genie and Pro Action Replay cheat support.
  • Supported platforms: Windows, Linux, macOS, Raspberry Pi, iOS and RetroArch (libretro).
  • Full debugger with disassembler, breakpoints, debug symbols, memory editor, IO inspector and and VRAM viewer including tiles, sprites, backgrounds and palettes.

Build Instructions

Windows

  • Install Microsoft Visual Studio Community 2019 or later.
  • Open the Gearsystem Visual Studio solution platforms/windows/Gearsystem.sln and build.
  • You may want to use the platforms/windows/Makefile to build the application using MinGW.

macOS

  • Install Xcode and run xcode-select --install in the terminal for the compiler to be available on the command line.
  • Run this commands to generate a Mac app bundle:
brew install sdl2
cd platforms/macos
make dist

Linux

  • Ubuntu / Debian:
sudo apt-get install build-essential libsdl2-dev libglew-dev
cd platforms/linux
make
  • Fedora:
sudo dnf install @development-tools gcc-c++ SDL2-devel glew-devel
cd platforms/linux
make

iOS

  • Install Xcode for macOS. You need iOS 13 SDK or later.
  • Build the project platforms/ios/Gearsystem.xcodeproj
  • Run it on real hardware using your iOS developer certificate. Make sure it builds on Release for better performance.

Libretro

  • Ubuntu / Debian:
sudo apt-get install build-essential
cd platforms/libretro
make
  • Fedora:
sudo dnf install @development-tools gcc-c++
cd platforms/libretro
make

Raspberry Pi 4 - Raspbian (Desktop)

sudo apt install build-essential libsdl2-dev libglew-dev
cd platforms/raspberrypi4
make

Raspberry Pi 2 & 3 - Raspbian (CLI)

  • Install and configure SDL 2 for development:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev libasound2-dev libjpeg-dev libtiff5-dev libwebp-dev automake
cd ~
wget https://www.libsdl.org/release/SDL2-2.0.12.tar.gz
tar zxvf SDL2-2.0.12.tar.gz
cd SDL2-2.0.12 && mkdir build && cd build
../configure --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl --host=armv7l-raspberry-linux-gnueabihf
make -j 4
sudo make install
  • Install libconfig library dependencies for development: sudo apt-get install libconfig++-dev
  • Use make -j 4 in the platforms/raspberrypi3/x64/ folder to build the project.
  • Use export SDL_AUDIODRIVER=ALSA before running the emulator for the best performance.
  • Gearsystem generates a gearsystem.cfg configuration file where you can customize keyboard and gamepads. Key codes are from SDL.

Accuracy Tests

Zexall Z80 instruction exerciser (from SMS Power!)

Gearsystem passes all tests in Zexall, including undocumented instructions and behaviours.

zexall.sms

SMS VDP Test (from SMS Power!)

vdptest.smsvdptest.smsvdptest.sms

Screenshots

ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot

License

Gearsystem is licensed under the GNU General Public License v3.0 License, see LICENSE for more information.

About

Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.

http://twitter.com/drhelius

License:GNU General Public License v3.0


Languages

Language:C 72.5%Language:C++ 13.9%Language:HTML 5.6%Language:Objective-C 2.0%Language:Shell 1.7%Language:TeX 1.3%Language:Lua 0.7%Language:CMake 0.4%Language:JavaScript 0.3%Language:Objective-C++ 0.3%Language:M4 0.3%Language:Java 0.3%Language:Perl 0.2%Language:Makefile 0.2%Language:CSS 0.1%Language:Batchfile 0.1%Language:Roff 0.0%Language:Python 0.0%