GithubHelp home page GithubHelp logo

mcanthony / gearsystem Goto Github PK

View Code? Open in Web Editor NEW

This project forked from drhelius/gearsystem

1.0 1.0 0.0 31.71 MB

Sega Master System / Game Gear emulator for iOS, Mac, Raspberry Pi, Windows and Linux

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

License: GNU General Public License v3.0

Objective-C 2.34% Objective-C++ 0.46% C 77.93% C++ 5.27% Makefile 0.14% HTML 6.42% Shell 2.51% Java 0.38% CMake 0.51% Groff 0.02% Batchfile 0.09% Lua 0.98% Perl 0.31% Python 0.01% JavaScript 0.49% CSS 0.19% TeX 1.87% PHP 0.01% QMake 0.07%

gearsystem's Introduction

Gearsystem

Copyright © 2013 by Ignacio Sanchez


Gearsystem is a Sega Master System / Game Gear emulator written in C++ that runs on iOS, Raspberry Pi, Mac, Windows and Linux.

The main focus of this emulator is readability of source code with very high compatibility.

Follow me on Twitter for updates: http://twitter.com/drhelius


Downloads

  • Gearsystem 2.1 for Jailbroken iOS: Cydia. You can open rom files from other apps like Safari or Dropbox. They can be placed in /var/mobile/Media/ROMs/Gearsystem too. Save files are placed in /var/mobile/Library/Gearsystem
  • Gearsystem 2.1 for Non-Jailbroken iOS: You can open rom files from other apps like Safari or Dropbox, or use iTunes file sharing.
  • Gearsystem 2.1 for Mac OS X: brew install homebrew/games/gearsystem
  • Gearsystem 1.2 for Windows: Gearsystem-1.2-Windows.zip (NOTE: You may need to install the Microsoft Visual C++ Redistributable)
  • Gearsystem 1.2 for Linux: Gearsystem-1.2-Linux.tar.gz

Features

  • Highly accurate Z80 core, including undocumented functionality.
  • Multi-Mapper support: SEGA, Codemasters, and ROM only cartridges.
  • External RAM support with save files.
  • Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR.
  • SMS2 only 224 mode support.
  • Internal database for rom detection.
  • Sound emulation using SDL Audio and Sms_Snd_Emu library.
  • Integrated disassembler. It can dump the full disassembled memory to a text file or access it in real time.
  • Compressed rom support (ZIP deflate).
  • Multi platform. Runs on Windows, Linux, Mac OS X, Raspberry Pi and iOS.

Compiling Instructions

The best way of compiling Gearboy is by using one of the IDE projects provided for each platform.

For all desktop platforms you will need SDL 2 and Qt 5 SDKs installed and configured.

iOS

  • Install Xcode for Mac OS X. You need iOS SDK 8 or later.
  • Build the project.
  • Run it on real hardware using your iOS developer certificate. Make sure it compiles on Release for extra optimizations.
  • For jailbroken devices use the jailbreak branch.

Raspberry Pi 2 - Raspbian

  • Install and configure SDL 2 for development:
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev libasound2-dev libjpeg8-dev libtiff5-dev libwebp-dev automake
cd ~
wget https://www.libsdl.org/release/SDL2-2.0.3.tar.gz
tar zxvf SDL2-2.0.3.tar.gz
cd SDL2-2.0.3 && 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/raspberrypi2/Gearsystem/ folder to build the project.
  • Use export SDL_AUDIODRIVER=ALSA before running the emulator for the best performance.
  • The emulator generates a gearsystem.cfg configuration for you where you can customize keyboard and gamepads. Key codes are from SDL.

Windows

  • You need Visual Studio 2010 (Express Edition will do but you won't be able to install the Qt Add-in).
  • Install the Qt 5 SDK for Windows.
  • Install the Qt 5 Visual Studio Add-in and point it to the Qt SDK.
  • Install and configure SDL 2 for development.
  • In order to use OpenGL extensions I used GLEW. This is because of a bug in QGLFunctions. Make sure the GLEW headers and libs are configured within VC++.
  • Open the Gearsystem Visual Studio project and build.

Mac OS X

  • You need Qt Creator, included in the Qt 5 SDK.
  • Install Xcode and run xcode-select --install in the terminal for the compiler to be available on the command line.
  • Install the Qt 5 SDK for Mac OS.
  • Download SDL 2 source code. Then run this three commands .configure make sudo make install on the terminal.
  • Open the Gearboy Qt project and build.

Linux

  • You need Netbeans 7.3 or later.
  • Install Qt 5 development dependencies (Ubuntu: sudo apt-get install qt5-default qttools5-dev-tools).
  • Install OpenGL development dependencies (Ubuntu: sudo apt-get install freeglut3-dev).
  • Install SDL 2 development dependencies (Ubuntu: sudo apt-get install libsdl2-dev).
  • In order to use OpenGL extensions I used GLEW dependencies (Ubuntu: sudo apt-get install libglew1.8-dev). This is because of a bug in QGLFunctions.
  • Open the Gearsystem Netbeans project and build.
  • Alternatively you can use make -f nbproject/Makefile-Release.mk SUBPROJECTS= .build-conf to build the project.
  • In Ubuntu 13.10 I had to export SDL_AUDIODRIVER=ALSA before running the emulator for the sound to work properly.

Accuracy Tests

Zexall Z80 instruction exerciser (from SMS Power!)

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

zexall.sms

Screenshots

ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot ScreenshotScreenshot

License

Gearsystem - Sega Master System / Game Gear Emulator

Copyright (C) 2013 Ignacio Sanchez

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

gearsystem's People

Contributors

drhelius avatar tomyun avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.