Main Weblog Projects Downloads Contact Links
Wiki Gallery


My FPGA Passthrough

The breakthrough for running custom code on the DS came when DarkFader found out that he could make the DS jump to the GBA cart by modifying the ARM7 vector and adjusting the CRC16 in the Metroid header with his passthrough setup. This allowed him to take over the ARM7 which was at that time running in DS mode (i.e. with access to DS specific hardware). The custom ARM7 code could then load ARM9 code into memory and then take over the ARM9. As a result, DS homebrewing became a reality.

Not willing to wait any longer, I decided to make my own passthrough. My reference was DarkFader’s VHDL code which I simplified a bit (removed capturing code, BRAM, GBA simulation). My passthrough uses a Xilinx Spartan-3 FPGA dev kit avaiable at Digilent.

Joat and Dovoto (two well-known GBA developers) made two demos which show the DS running custom code in the DS mode. They both have made nice FPGA passthrough setups as well. Visit their pages for pictures and videos.

Here are pictures of my setup running Joat’s and Dovoto’s demos.

pass_overview_downside_small.jpg pass_overview_small.jpgpass_demo_dovoto_small.jpgpass_demo_joat_small.jpg

Leave a Reply

For spam filtering purposes, please copy the number 8558 to the field below:

© 2010 Alexei Karpenko (natrium42)