• Verilog 74.1%
  • SystemVerilog 22.7%
  • C++ 2.3%
  • Tcl 0.7%
  • Makefile 0.2%
Find a file
nand2mario a8f9d18205
Merge pull request #5 from yunfeilu92/verilator-sim-fixes
chore(verilator): fix build issues blocking simulation
2026-07-01 20:54:58 +08:00
doc first release of gbatang 2024-09-07 19:06:37 +08:00
impl add console 138k build files 2025-03-29 15:21:27 +08:00
src fix(bios): align gba_bios_cultofgba.hex with Cult-of-GBA upstream 2026-04-19 15:23:22 +00:00
verilator build(verilator): add 'make fast' target for multi-threaded -O3 builds 2026-04-19 15:23:30 +00:00
build.tcl mega138k build 2025-04-04 22:52:31 +08:00
buildall.bat fix usb_hid_host 2025-03-29 14:31:41 +08:00
gbatang.gprj add m60k project files. save 16 bram by using dpx18b in framebuffer 2024-11-24 12:03:29 +08:00
gbatang_console60k_bl616.gprj fix gbatang overlay display glitch. use clk50 for iosys.hclk 2025-05-02 20:15:15 +08:00
gbatang_console60k_picorv32.gprj works with bl616 firmware 2025-03-07 17:52:25 +08:00
gbatang_m60k.gprj add m60k pll 2024-11-24 18:38:26 +08:00
gbatang_m60k.gprj.user works with bl616 firmware 2025-03-07 17:52:25 +08:00
gbatang_m138kpro.gprj add console 138k build files 2025-03-29 15:21:27 +08:00
LICENSE Initial commit 2024-09-07 18:52:12 +08:00
README.md Update README.md 2025-03-08 12:48:36 +08:00

GBATang - GBA for Sipeed Tang FPGA boards

This is a Game Boy Advance FPGA core for Sipeed Tang Mega 60K, Tang Mega 138K, Mega 138K Pro and the upcoming Tang Console 60K.

The core outputs 720p HDMI video, accepts DS2 controller input, and supports all ROM sizes (up to 32MB). An open source BIOS is used so it can be used out of the box. ROMs are loaded from the SD card through a convenient menu system.

Things-to-do on my list include SNES controller input, and further game compatibility fixes (currently 90 out of top 100 games work).

GBATang is part of TangCore, along with SNESTang, NESTang and MDTang.

Instructions

To install GBATang, follow the TangCore installation instructions.

About this project

The project started as a port of the MiSTer GBA core to Tang FPGAs in June 2024. However, it quickly turned into a half-rewrite. By September 2024 it finally reached a usable state and about half of the code is different. Here are the main differences.

  • The overall design is a more traditional "FPGA replica" approach, as opposed to the "cycle counting" approach in the MiSTer core. Most modules work at 16Mhz, the GBA main frequency. The MiSTer main frequency is 100Mhz.
  • The CPU is replaced, with missing features like 16-bit instructions added. The processor uses a similar pipelined design as the original GBA CPU.
  • The memory system is also completely rewritten, as required by the overall design change.
  • Timing accuracy could use a lot of improvements. However, as a more "modern" console, GBA mostly uses interrupts and timers to keep time. So cycle-accuracy is not as important as previous consoles.
  • A softcore-based menu system is provided, similar to SNESTang and NESTang.

Documentation

Acknowledgements