Friday, July 20, 2012

FPGA meets Arduino - Part 2


After a long break I did some major updates again on my C64 on an FPGA.

First, I mounted all the parts on a wooden board, so shortcuts and broken connections should not bother anymore.

Top Left: FPGA with the C64
Top Middle: AD725 Breakout with a Lowpass-Filter for the Sound
Top Right: AV-Out
Bottom Left: IEC-Breakout
Bottom Middle: SD2IEC
Bottom Right: (that's what's new) The Control Panel

Also the SID-Socket is gone (for now), sound is replaced by an FPGA-Implementation I found on the net. I don't know who originally coded this SID-Emulation, maybe it's someone of you? Here's the URL: https://svn.pacedev.net/repos/pace/sw/src/component/sound/sid/

And I wanted to add 2 joystick-ports with paddle-support, while not loosing more I/Os for the soon to come cartridge port. The solution you see on the bottom right: An Arduino Pro Mini together with an 1.8" Color LCD, some contol buttons plus 2 joystick-ports - connected using I2C to the FPGA.

With only 2 Pins used for the I2C, I have 2 joy-ports with (soon to come) paddle support (there are some analog inputs on the arduino), and a simple control panel to reset or mute the C64, as well as turn off borders and enable some debug visuals from the VIC-Emulation. The "Menu" is used to define the default kernal image.

Joysticks are updated ~30 times/second - which is fast enough for all games.