https://github.com/drhelius/demo-emulator
Nintendo Game Boy emulator written in Go to be used in workshops about emulator programming
https://github.com/drhelius/demo-emulator
emulation emulator emulator-programming game-boy gameboy gameboy-emulator glfw go golang opengl tutorial
Last synced: 12 months ago
JSON representation
Nintendo Game Boy emulator written in Go to be used in workshops about emulator programming
- Host: GitHub
- URL: https://github.com/drhelius/demo-emulator
- Owner: drhelius
- License: gpl-3.0
- Created: 2016-09-28T20:36:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-04-05T17:50:13.000Z (almost 6 years ago)
- Last Synced: 2025-03-24T05:43:23.590Z (about 1 year ago)
- Topics: emulation, emulator, emulator-programming, game-boy, gameboy, gameboy-emulator, glfw, go, golang, opengl, tutorial
- Language: Go
- Homepage: http://twitter.com/drhelius
- Size: 5.27 MB
- Stars: 47
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
demo-emulator [](https://travis-ci.org/drhelius/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/