Rebuilding the original Gameduino-200A FPGA bitstream (2026 restoration project)
This repository documents a full restoration and rebuild of the
original
gameduino-200a.bit FPGA bitstream by James Bowman (https://github.com/jamesbowman)
If you want to know what a Gameduino is, here's a link: http://excamera.com/sphinx/gameduino
What started as "I just want to reflash my Gameduino" turned into a full archival project to reconstruct a 15-year-old missing bitstream using the original sources and build system.
This project incorporates original work by James Bowman
and is distributed under the same license as his original project.
See: LICENSE
- Rebuild the original Gameduino-200A bitstream
- Preserve it for archival & historical purposes
- Document the exact build process
- Provide flashing instructions for real hardware
- Built on hopes & dreams
✔ Successfully rebuilt
✔ Exact size match: 149,619 bytes (archived page shows original with same size)
✔ Runs correctly on real XC3S200A hardware
✔ No synthesis errors (warnings only)
gd1-fpga-rebuild/
│
├── gameduino-test/
│ ├── Makefile-200a
│ ├── gameduino-200a.bit
│ └── build outputs (.ncd, .bmm, etc.)
│
├── j1demo/verilog/
│ └── J1 CPU Verilog sources
│
├── screenshots/
│ └── screenshots (soon)
│
├── verilog/
│ └── Main Gameduino Verilog sources
│
└── README.md
- FPGA: Xilinx Spartan-3A (XC3S200A)
- Software: Xilinx ISE WebPACK (version 14.7, as of documenting)
- Programmer: xc3sprog
- OS: Linux / WSL / VM
- Cable: FTDI JTAG adapter
- Xilinx ISE WebPACK
- xc3sa_vq100.bit
I have already synthesized and generated the final bitstream.
You do not need to rebuild it unless you want to verify or experiment.
This repository already contains:
- A working
gameduino-200a.bit - Verified on real hardware
- Matches archived size references!!!
You will need:
- Xilinx ISE WebPACK
- Install on Linux (example):
chmod +x xsetup
./xsetup- Follow the build instructions above.
Rebuilding is optional -- this repo already provides a validated result.
If you are on Windows or macOS:
- Use WSL2 (Ubuntu recommended)
- Install dependencies:
sudo apt install libncurses5 libstdc++6 libx11-6 libxext6 libxrender1- Run ISE installer inside WSL
- Ubuntu 20.04+ recommended
- Give at least:
- 4GB RAM
- 2 CPU cores
- 20GB disk
- USB passthrough for JTAG
cd gameduino-test
makeIt's really that simple!
Output:
gameduino-200a.bit
gameduino-200a.mcs
etc...
xc3sprog -c ftdi xc3sa_vq100.bit
xc3sprog -c ftdi -I gameduino-200a.bitPower cycle the board after flashing.
- Replaced missing demo UART with UART from completed J1 project
- Interface compatible
- No functional differences
ISE won't start - Missing 32-bit libs - Run:
sudo apt install libncurses5:i386JTAG not detected - Check permissions:
sudo usermod -aG dialout $USERSPI flash fails - Make sure: - xc3sa_vq100.bit is loaded first - Power
cycle after flashing
Soon...


James Bowman
Original J1 CPU & Gameduino design
Keeping lost FPGA history alive.