Well, since I'm originally an electronics engineer, and not a
software engineer, I like to play with electronics a bit.
Recently I decided to learn a bit of Verilog and VHDL, for the
fun of it, and bought myself the DE1 development board to play
with. The DE1 board contains a 2C20 Altera Cyclone II FPGA,
flash memory, dynamic RAM, static RAM, a VGA port, etc. etc,
to play around with. Here are some example pictures and links
of some (pretty basic) stuff I did.
Original Arcade Space Invaders, the Xilinx code I got from
converted it to the DE1 board. This was actually the first thing I
did (you do know I'm a sucker for old
arcade games, right?).
A Picture of the DE1 board as it is running space invaders.
The second project I started. This has to become a breakout game,
so far I'm up to the Pong level :-(
Some pictures from my third project, this is an Atari 2600 cartridge
simulator (multicart) on an FPGA. Here the FPGA act as an EPROM simulator
and simulates a 4Kb/8Kb EPROM.
I filled the flash rom on the DE1 board with all the Atari 2600 ROMs
I could find and use the 4 pushbuttons on the board to select a game.
The LCD display shows which game number is active. Push button 1 will
increment digit 1, push button 2 will increment digit 2 and so on.
Note that the 2C20 FPGA uses LVTTL (3.3V TTL) and the Atari 2600 uses
classic 5V TTL levels. So I had to activate the diode clamps on the
FPGA to protect it from the overvoltage. Apparently the 3.3V outputs
of the FPGA are good enough to trigger the inputs on the Atari (as
I've added support for F8 bankswitching, so I can run most 8Kb roms
as well. All supported ROMs now fill around 3.5Mbyte. With a 4Mbyte
flash ROM this means that most of the space inside the Flash ROM is
Here are the verilog files and the pin assignments used: