All Projects → LIJI32 → Sameboy

LIJI32 / Sameboy

Licence: mit
Game Boy and Game Boy Color emulator written in C

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Sameboy

khedgb
Experiments in Game Boy emulation
Stars: ✭ 15 (-97.95%)
Mutual labels:  emulator, gameboy
Elmboy
A Nintendo™ Game Boy™ Emulator written in Elm.
Stars: ✭ 285 (-61.07%)
Mutual labels:  gameboy, emulator
Kotlin-Gameboy-Emulator
A GameBoy emulator written in Kotlin
Stars: ✭ 12 (-98.36%)
Mutual labels:  emulator, gameboy
gameboyGO
Gameboy emulator in go
Stars: ✭ 24 (-96.72%)
Mutual labels:  emulator, gameboy
Gameboy.live
🕹️ A basic gameboy emulator with terminal "Cloud Gaming" support
Stars: ✭ 4,263 (+482.38%)
Mutual labels:  gameboy, emulator
rusty-boy
Gameboy emulator in Rust
Stars: ✭ 20 (-97.27%)
Mutual labels:  emulator, gameboy
speljongen
gameboy emulator written in c++
Stars: ✭ 15 (-97.95%)
Mutual labels:  emulator, gameboy
NeoGB-Printer
An open-source and standalone Gameboy Printer emulator 100% compatible with all officially released games (110 in total) that support the accessory. Just print and save the images as BMP
Stars: ✭ 61 (-91.67%)
Mutual labels:  emulator, gameboy
Coreboy
A GameBoy Emulator, in C#
Stars: ✭ 397 (-45.77%)
Mutual labels:  gameboy, emulator
Xemu
Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Stars: ✭ 362 (-50.55%)
Mutual labels:  hacktoberfest, emulator
Hades
🔥 A Nintendo Game Boy Advance emulator
Stars: ✭ 44 (-93.99%)
Mutual labels:  emulator, gameboy
Gearboy
Game Boy / Gameboy Color emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 528 (-27.87%)
Mutual labels:  gameboy, emulator
SkyEmu
Game Boy, Game Boy Color, and Game Boy Advanced Emulator
Stars: ✭ 59 (-91.94%)
Mutual labels:  emulator, gameboy
Emux
GameBoy emulator written in C#
Stars: ✭ 58 (-92.08%)
Mutual labels:  emulator, gameboy
awesome-emu-resources
A curated list of emulator development resources
Stars: ✭ 26 (-96.45%)
Mutual labels:  emulator, gameboy
pokegb
A gameboy emulator that only plays Pokemon Blue, in ~50 lines of c++.
Stars: ✭ 1,166 (+59.29%)
Mutual labels:  emulator, gameboy
goboy
Playing GameBoy Emulation in GoLang (ported from https://github.com/racerxdl/GameBoyEmulator)
Stars: ✭ 37 (-94.95%)
Mutual labels:  emulator, gameboy
worldwide
A toy GameBoy Color emulator written in golang.
Stars: ✭ 563 (-23.09%)
Mutual labels:  emulator, gameboy
Pyboy
Game Boy emulator written in Python
Stars: ✭ 3,326 (+354.37%)
Mutual labels:  gameboy, emulator
Provenance
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
Stars: ✭ 4,732 (+546.45%)
Mutual labels:  gameboy, emulator

SameBoy

SameBoy is an open source Game Boy (DMG) and Game Boy Color (CGB) emulator, written in portable C. It has a native Cocoa frontend for macOS, an SDL frontend for other operating systems, and a libretro core. It also includes a text-based debugger with an expression evaluator. Visit the website.

Features

Features common to both Cocoa and SDL versions:

  • Supports Game Boy (DMG) and Game Boy Color (CGB) emulation
  • Lets you choose the model you want to emulate regardless of ROM
  • High quality 96KHz audio
  • Battery save support
  • Save states
  • Includes open source DMG and CGB boot ROMs:
    • Complete support for (and documentation of) all game-specific palettes in the CGB boot ROM, for accurate emulation of Game Boy games on a Game Boy Color
    • Supports manual palette selection with key combinations, with 4 additional new palettes (A + B + direction)
    • Supports palette selection in a CGB game, forcing it to run in 'paletted' DMG mode, if ROM allows doing so.
    • Support for games with a non-Nintendo logo in the header
    • No long animation in the DMG boot
  • Advanced text-based debugger with an expression evaluator, disassembler, conditional breakpoints, conditional watchpoints, backtracing and other features
  • Extremely high accuracy
  • Emulates PCM_12 and PCM_34 registers
  • T-cycle accurate emulation of LCD timing effects, supporting the Demotronic trick, Prehistorik Man, GBVideoPlayer and other tech demos
  • Real time clock emulation
  • Retina/High DPI display support, allowing a wider range of scaling factors without artifacts
  • Optional frame blending (Requires OpenGL 3.2 or later)
  • Several scaling algorithms (Including exclusive algorithms like OmniScale and Anti-aliased Scale2x; Requires OpenGL 3.2 or later or Metal)

Features currently supported only with the Cocoa version:

  • Native Cocoa interface, with support for all system-wide features, such as drag-and-drop and smart titlebars
  • Game Boy Camera support

Read more.

Compatibility

SameBoy passes all of blargg's test ROMs, all of mooneye-gb's tests (Some tests require the original boot ROMs), and all of Wilbert Pol's tests. SameBoy should work with most games and demos, please report any broken ROM. The latest results for SameBoy's automatic tester are available here.

Contributing

SameBoy is an open-source project licensed under the MIT license, and you're welcome to contribute by creating issues, implementing new features, improving emulation accuracy and fixing existing open issues. You can read the contribution guidelines to make sure your contributions are as effective as possible.

Compilation

SameBoy requires the following tools and libraries to build:

  • clang (Recommended; required for macOS) or GCC
  • make
  • macOS Cocoa port: macOS SDK and Xcode (For command line tools and ibtool)
  • SDL port: libsdl2
  • rgbds, for boot ROM compilation

On Windows, SameBoy also requires:

  • Visual Studio (For headers, etc.)
  • GnuWin
  • Running vcvars32 before running make. Make sure all required tools and libraries are in %PATH% and %lib%, respectively. (see Build FAQ for more details on Windows compilation)

To compile, simply run make. The targets are cocoa (Default for macOS), sdl (Default for everything else), libretro, bootroms and tester. You may also specify CONF=debug (default), CONF=release, CONF=native_release or CONF=fat_release to control optimization, symbols and multi-architectures. native_release is faster than release, but is optimized to the host's CPU and therefore is not portable. fat_release is exclusive to macOS and builds x86-64 and ARM64 fat binaries; this requires using a recent enough clang and macOS SDK using xcode-select, or setting them explicitly with CC= and SYSROOT=, respectively. All other configurations will build to your host architecture. You may set BOOTROMS_DIR=... to a directory containing precompiled boot ROM files, otherwise the build system will compile and use SameBoy's own boot ROMs.

The SDL port will look for resource files with a path relative to executable and inside the directory specified by the DATA_DIR variable. If you are packaging SameBoy, you may wish to override this by setting the DATA_DIR variable during compilation to the target path of the directory containing all files (apart from the executable, that's not necessary) from the build/bin/SDL directory in the source tree. Make sure the variable ends with a / character. On FreeDesktop environments, DATA_DIR will default to /usr/local/share/sameboy/. PREFIX and DESTDIR follow their standard usage and default to an empty string an /usr/local, respectively

Linux, BSD, and other FreeDesktop users can run sudo make install to install SameBoy as both a GUI app and a command line tool.

SameBoy is compiled and tested on macOS, Ubuntu and 64-bit Windows 10.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].