demo-emulator
Copyright © 2016 by Ignacio Sanchez
Nintendo Game Boy emulator written in Go to be used in workshops about emulator programming.
Follow me on Twitter for updates: http://twitter.com/drhelius
Presentation
https://speakerdeck.com/drhelius/8-bit-emulator-programming-with-go
Requirements
Before you start, make sure you have Go installed and ready to build applications: https://golang.org/doc/install
Once you have a working Go environment you'll need to install the following dependecies:
Windows
- GCC 64 bit installed: http://tdm-gcc.tdragon.net/download
Linux
- Ubuntu:
sudo apt-get install build-essential libgl1-mesa-dev xorg-dev
- Fedora:
sudo dnf install @development-tools libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel
Mac OS X
- You need Xcode or Command Line Tools for Xcode (
xcode-select --install
) for required headers and libraries.
Building
Run this command to let Go download and build the sources. You don't even need to clone this repo, Go will do it for you:
go get -u github.com/drhelius/demo-emulator
Running
Once built you can find the emulator binary in $GOPATH/bin
. Use it with the -rom
argument in order to load a Game Boy ROM file:
$GOPATH/bin/demo-emulator -rom path/to/your_rom.gb
Controls
START = Enter
SELECT = Space
A = S
B = A
Pad = Cursors
License
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/