#gameboy #opengl #emulator #web-assembly

bin+lib gameboy_opengl

opengl library for use in gameboy emulation with the gameboy_core library

7 releases

new 0.1.6 Nov 15, 2019
0.1.5 Nov 8, 2019
0.1.4 Oct 29, 2019
0.1.3 Jan 14, 2018
0.1.1 Dec 28, 2017
Download history 4/week @ 2019-07-31 4/week @ 2019-08-07 28/week @ 2019-08-21 9/week @ 2019-08-28 13/week @ 2019-09-04 9/week @ 2019-09-11 14/week @ 2019-09-18 12/week @ 2019-09-25 4/week @ 2019-10-02 13/week @ 2019-10-16 12/week @ 2019-10-23 20/week @ 2019-10-30 23/week @ 2019-11-06

53 downloads per month

Apache-2.0

180KB
5K SLoC

GameBoy Emulator

This is a GameBoy emulator written in Rust. It can be compiled to native and web assembly, see the build section for more details. Sound not supported.

Emulator supports several hardware types, sprites, and saving to browser local storage (web) and user config directories (native)

The web assembly port is currently hosted here

Screenshots

Installing

The native version is published to crates.io and can be installed by running:

cargo install gameboy_opengl

Then you can run it by running: gameboy_emulator from your terminal

Building from source

The project uses Cargo as a build system, so building the project is relatively simple.

Native

cargo build --package gameboy_opengl --bin gameboy_emulator --release

this produces the executable target/release/gameboy_emulator.exe

to run it, just supply the rom file as the first file argument

Web Assembly

cargo-web is very useful for building the web port of the emulator.

cargo-web deploy --release

use your favorite static file server to serve the files generated in the target/deploy directory. You can also run cargo-web start --release, to serve the files locally.

Dependencies

~2.4–3.5MB
~66K SLoC