bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Go to file
Lior Halphon af7309b98d Moved the call to display_run to advance_cycle.
This fixes games with delicate timings such as X/Ekkusu, that expect STAT to change *during* an opcode.
2016-04-02 19:15:07 +03:00
BootROMs Initial public commit 2016-04-01 21:27:01 +03:00
Cocoa Remove useless key from plist 2016-04-02 12:51:07 +03:00
Core Moved the call to display_run to advance_cycle. 2016-04-02 19:15:07 +03:00
SDL Version 0.1 2016-04-01 23:36:43 +03:00
.gitignore Initial public commit 2016-04-01 21:27:01 +03:00
LICENSE Added license and copyright 2016-04-01 22:13:05 +03:00
Makefile Version 0.1 2016-04-01 23:36:43 +03:00
README.md Added readme 2016-04-01 22:25:26 +03:00

README.md

SameBoy

SameBoy is an open source Gameboy (DMG) and Gameboy Color (CGB) emulator, written in portable C. It has a native Cocoa frontend for OS X, and an incomplete experimental SDL frontend for other operating systems. It also includes a text-based debugger with an expression evaluator.

Features

Features common to both Cocoa and SDL versions:

  • Supports Gameboy (DMG) and Gameboy Color (CGB) emulation
  • Lets you choose the model you want to emulate regardless of ROM
  • 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 Gameboy games on a Gameboy 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
  • Has a text-based debugger with an expression evaluator
  • Emulates PCM_12 and PCM_34 registers
  • Emulates LCD timing effects, supporting the Demotronic trick, GBVideoPlayer and other tech demos
  • Accurate instruction and memory timings
  • Real time clock emulation

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
  • Retina display support, allowing a wider range of scaling factors without artifacts
  • High quality 96KHz audio
  • Battery save support
  • Save states
  • Optional frame blending

Compatibility

While SameBoy passes many of blargg's test ROMs, some games fail to run correctly. SameBoy is still relatively early in its development and accuracy and compatibility will be improved.

Compilation

SameBoy requires the following tools and libraries to build:

  • clang
  • make
  • Cocoa port: OS X SDK and Xcode command line tools
  • SDL port: SDL.framework (OS X) or libsdl (Other platforms)
  • rgbds, for boot ROM compilation

SameBoy was compiled and tested on OS X and Ubuntu.