cslarsen / gameboy

A Gameboy emulator in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GameBoy Classic Emulator in Python

This is my attempt to make a fully working Gameboy emulator from scratch, without looking at any other implementation.

Status

This is not yet a working version.

I'm just pushing to this repo as the project proceeds. See the progress log for a few notes.

Usage

To insert a cartridge and start the emulator:

$ python gameboy cartridge.gb

To disassemble a file:

$ python gameboy --start-address=0x00 --disassemble=gameboy/roms/boot

Supported Python versions

Python 2.7, 3.x and pypy with PySDL2 and numpy.

To use with pypy, install PySDL2 and a version of numpy that works:

$ pypy -m pip install PySDL2
$ pypy -m pip install git+https://bitbucket.org/pypy/numpy.git

This works for me, but pypy doesn't really speed anything up that much at the moment. Anyway, the code is entirely unoptimized at this stage.

References

License

Copyright 2017 Christian Stigen Larsen
Distributed under the GNU GPL v3 or later.

The DMG-01 boot ROM in roms/boot is owned and copyrighted by Nintendo Co., Ltd. You are not allowed to use or redistribute that file outside of this repository.

GameBoy is a registered trademark of the Nintendo Corporation.

About

A Gameboy emulator in Python


Languages

Language:Python 97.4%Language:C++ 1.9%Language:Makefile 0.7%