As a teenaged computer geek in the early 90s my dream was (of course!) one day to build my own computer. Fast forward a couple of decades, and there are now various ways in which nostalgic geeks like myself can actually fulfil this dream. One option is the Fignition which is easy enough to build that a suitably-enterprising child can do it!
For someone more used to wielding a compiler than a soldering iron, however, another interesting option is an FPGA development board. (For the unitiated, an FPGA, or Field Programmable Gate Array, is a logic chip that contains thousands of logic elements whose functions are set at runtime, rather than in the factory.)
Around 2005 there was ongoing discussion in the Amiga community about whether it was possible to implement a replica of the Amiga’s custom chipset in an FPGA. Dutch electrical engineer Dennis van Weeren answered that question by embarking upon the Minimig project, which since then has evolved into an almost perfect re-implementation of the Amiga 500’s custom chipset.
The classic Minimig board contains a Xilinx FPGA providing the custom chip functions, but contains a real 68000-variant processor. However, the chipset sources have been ported to other devices, too – most notably Tobias Gubener’s ports to the Altera DE1 and DE2 dev boards, and to the Turbo Chameleon 64. All three of these ports make use of Tobias’s TG68 “softcore” processor, which is a 68000-compatible processor built from logic elements within the FPGA!
Since all the FPGA projects I’ve mentioned so far are open-source, they provide a valuable library of source material for anyone wanting to experiment with FPGAs, and in the coming posts I will document my own experiments in case anyone finds them interesting, or useful starting points for their own endeavours.