FPGABoy is an implementation of Nintendo's classic handheld Game Boy system. It was originally created in 2009 by Trevor Rundell and Oleg Kozhushnyan as our final project for MIT's 6.111 course (Introductory Digital Systems Laboratory). The project has been been modified substantially since then, mostly to work with the smaller FPGA's I have available to me now.
FPGABoy IS CURRENTLY NON FUNCTIONAL! I play around with it occasionally in my spare time, but I'm not actively doing development. I welcome contributions from anyone and everyone. This was a really fun project and I would love to see it working again on a wider range of hardware.
FPGABoy was originally designed to run on a 6.111 Labkit which contains a fairly powerful Virtex-2 FPGA. I no longer have access to that hardware, so the project has been modified to run on a Digilent Atlys board which contains a smaller Spartan-6 FPGA.
Development is being done using Xilinx ISE WebPACK 13.4.
FPGABoy requires a number of external components for input and output. Support for the following exists, in various states of compatibility.
- On board buttons (in development)
- NES controller (supported in original, currently untested)
- SNES controller (working!)
- VGA (supported in original, currently untested)
- HDMI (in development)
- fpgaboy.pdf - Our original paper on the design and implementation of FPGABoy.
-
Pan Docs / Alternate Link - "Everything You Always Wanted To Know About Gameboy"
-
GameBoy Dev'rs - Schematics and specifications for various elements of the GameBoy hardware.