~shiny/gbcap

b91e73ad6583e908b57ae5a124ed9a4b5ce2f33d — Thomas Spurden 10 months ago 44710ae
Add README
1 files changed, 40 insertions(+), 0 deletions(-)

A README.md
A README.md => README.md +40 -0
@@ 0,0 1,40 @@
This is a hardware design to capture the LCD output of a Gameboy by connecting
an FPGA to some of the pins on the ribbon cable between the main and LCD board
of a Gameboy.

# Quickstart

Make sure git submodules are initialised.

Make sure you've got the `papilio-prog` bitfile loader from [here](http://papilio.cc/index.php?n=Papilio.GettingStarted#Linux).

If using a [Papilio Pro] board

   ./run gbcap build
   ./papilio-prog/papilio-prog -f build/top.bit
   ./recv.py -b 2000000 /dev/ttyUSB1 -o frames

[papilio pro]: http://papilio.cc/index.php?n=Papilio.PapilioPro 

# Pin assignment

This code (in `gbcap.py`) sets up which pins on the FPGA are expected to be
connected to which pins on the Gameboy:

  plat.add_extension([
      ('gb_lcd', 0,
          Subsignal('vsync', Pins('B:5')),
          Subsignal('hsync', Pins('B:4')),
          Subsignal('cpl', Pins('B:6')),
          Subsignal('clk', Pins('B:2')),
          Subsignal('pixel', Pins('B:0', 'B:1')))])

# UART testing

   ./run uart_echo build
   ./papilio-prog/papilio-prog -f build/top.bit
   ./com.py -b 2000000 /dev/ttyUSB1 abcde

Should output the second argument 'abcde' in the example back. If it doesn't
then something is wrong!