2007-08-26 10:06:19 +00:00
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
Copyright (C) 2007 by Sindre Aam<61>s
|
|
|
|
|
aamas@stud.ntnu.no
|
|
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
|
it under the terms of the GNU General Public License version 2 as
|
|
|
|
|
published by the Free Software Foundation.
|
|
|
|
|
|
|
|
|
|
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 version 2 for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
version 2 along with this program; if not, write to the
|
|
|
|
|
Free Software Foundation, Inc.,
|
|
|
|
|
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
About
|
|
|
|
|
--------------------------------------------------------------------------------
|
2007-08-28 09:20:56 +00:00
|
|
|
|
Gambatte is an accuracy-focused, open-source, cross-platform
|
2007-08-26 10:06:19 +00:00
|
|
|
|
Game Boy / Game Boy Color emulator written in C++. It is based on hundreds of
|
|
|
|
|
corner case hardware tests, as well as previous documentation and reverse
|
|
|
|
|
engineering efforts.
|
|
|
|
|
|
2007-08-27 13:01:55 +00:00
|
|
|
|
The core emulation code is contained in a separate library back-end
|
2007-08-27 12:55:11 +00:00
|
|
|
|
(libgambatte) written in pure platform-independent C++. There is currently a GUI
|
|
|
|
|
front-end (gambatte_qt) using Trolltech's Qt4 toolkit, and a simple command-line
|
|
|
|
|
SDL front-end (gambatte_sdl).
|
2007-08-26 10:06:19 +00:00
|
|
|
|
|
|
|
|
|
The GUI front-end contains platform-specific extensions for video, sound and
|
|
|
|
|
timers. It should work on MS Windows, Linux/BSD/UNIX-like OSes, and Mac OS X
|
|
|
|
|
(although no testing or specific extensions have been done for Mac OS X yet).
|
|
|
|
|
|
|
|
|
|
The SDL front-end should be usable on all platforms with a working SDL port. It
|
|
|
|
|
should also be quite trivial to create new (simple) front-ends (note that the
|
|
|
|
|
library API should in no way be considered stable).
|
|
|
|
|
|
|
|
|
|
Usage
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
You will have to supply Gambatte with a ROM image file of the GB/GBC
|
2007-08-26 11:17:34 +00:00
|
|
|
|
program/game you'd like to run/play, either as a command-line argument to
|
2007-08-26 10:06:19 +00:00
|
|
|
|
gambatte_sdl, or through the File->Open... menu in gambatte_qt.
|
|
|
|
|
|
|
|
|
|
The TAB key can be used for fast-forward during execution.
|
2007-08-28 08:12:47 +00:00
|
|
|
|
Ctrl-f toggles full screen.
|
|
|
|
|
Ctrl-r can be used for reset in gambatte_sdl.
|
|
|
|
|
|
|
|
|
|
Default key mapping:
|
|
|
|
|
Up: Up
|
|
|
|
|
Down: Down
|
|
|
|
|
Left: Left
|
|
|
|
|
Right: Right
|
|
|
|
|
A: D
|
|
|
|
|
B: C
|
|
|
|
|
Start: Return
|
|
|
|
|
Select: Shift
|
2007-08-26 10:06:19 +00:00
|
|
|
|
|
|
|
|
|
Compiling
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
Building Gambatte from source code can be done by executing the
|
|
|
|
|
build_<qt/sdl>.sh scripts for the qt/sdl front-ends respectively, or by issueing
|
|
|
|
|
the correct build command (either 'scons' or 'qmake && make') in the top-level
|
|
|
|
|
subdirectories (libgambatte will have to be built first). The clean.sh script
|
|
|
|
|
can be executed to remove all generated files after a compile (including
|
|
|
|
|
binaries).
|
|
|
|
|
|
|
|
|
|
Requirements for building libgambatte:
|
|
|
|
|
- A decent C++ compiler (like g++ in the GNU Compiler Collection).
|
|
|
|
|
- SCons.
|
|
|
|
|
|
|
|
|
|
Requirements for building gambatte_sdl:
|
|
|
|
|
- A decent C++ compiler (like g++ in the GNU Compiler Collection).
|
|
|
|
|
- SDL headers and library.
|
|
|
|
|
- SCons.
|
|
|
|
|
(- libgambatte.)
|
|
|
|
|
|
|
|
|
|
Requirements for building gambatte_qt:
|
|
|
|
|
- A decent C++ compiler (like g++ in the GNU Compiler Collection).
|
|
|
|
|
- Qt4 (Core, GUI, OpenGL) headers and library.
|
2007-08-27 14:47:18 +00:00
|
|
|
|
- Qmake and make (GNU Make should work).
|
2007-08-26 10:06:19 +00:00
|
|
|
|
- Platform-specific requirements:
|
|
|
|
|
* MS Windows:
|
|
|
|
|
- Win32 API headers and libraries.
|
|
|
|
|
- DirectSound and DirectDraw7 headers and libraries.
|
|
|
|
|
* Linux/BSD/UNIX-like OSes:
|
2007-08-27 15:16:42 +00:00
|
|
|
|
- POSIX/UNIX headers (unistd.h, fcntl.h, sys/ioctl.h, sys/time.h, sys/shm.h).
|
2007-08-26 10:06:19 +00:00
|
|
|
|
- Open Sound System header (sys/soundcard.h).
|
2007-08-27 15:07:47 +00:00
|
|
|
|
- X11 Xlib, XVideo, XRandR and XShm headers and libraries.
|
2007-08-26 10:06:19 +00:00
|
|
|
|
- Alsa headers and library (Linux only).
|
|
|
|
|
* Max OS X:
|
|
|
|
|
- POSIX/UNIX headers (sys/time.h).
|
|
|
|
|
- libao headers and library.
|
|
|
|
|
(- libgambatte.)
|
|
|
|
|
|
|
|
|
|
Installing after a compile simply amounts to copying the generated binary
|
|
|
|
|
(either gambatte_qt/bin/gambatte_qt<.exe> or gambatte_sdl/gambatte_sdl<.exe>)
|
|
|
|
|
to wherever you'd like to keep it.
|
|
|
|
|
|
|
|
|
|
Thanks
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
Derek Liauw Kie Fa (Kreed)
|
|
|
|
|
Jeff Frohwein
|
|
|
|
|
Jonathan Gevaryahu (Lord Nightmare)
|
|
|
|
|
kOOPa
|
|
|
|
|
Marat Fayzullin
|
|
|
|
|
Martin Korth (nocash)
|
|
|
|
|
Maxim Stepin (MaxSt)
|
|
|
|
|
Pan of Anthrox
|
|
|
|
|
Pascal Felber
|
|
|
|
|
Paul Robson
|
|
|
|
|
The OpenGL Extension Wrangler Library
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
Game Boy and Game Boy Color are registered trademarks of
|
|
|
|
|
Nintendo of America Inc.
|
|
|
|
|
Gambatte is not affiliated with or endorsed by any of the companies mentioned.
|