Commodore 64 on the S7 Retro Board
- aurelianlazarut6
- May 16
- 3 min read

Last year I made a Sinclair Spectrum from scratch on the S7 Retro Board (actually was on a Zed Board which is out of reach for many hobby people) I got it working please see my other post and YT videos on the subject if you are interested, but Sinclair Spectrum was never the personal computer close to my soul. The only reason I started with the Sinclair was because is so simple and is made of standard parts (easy to understand) but I always knew that I have to build the C64 at some point.
The hardware of the C64 is much more sophisticated and you can tell from the numbers they sold, it had the right features, the right price and the timing was good (not too early, not too late)
The Real Hardware implementation is based on chips made by MOS (which in turn was owned by Commodore) and this made a big difference because they built their own CPU (6510-8510) a variant of 6502 and the VIC II Video controller and SID sound chip. (ok were more actually CIA etc.)
While this was a good plan for Commodore back in the days made things a bit complicated on the FPGA especially that some of these chips were not perfect (have some unintended functionality used by some games) so the FPGA implementations have to mimic the same functionality in order to keep the software compatible.
A good place to see the schematics and info about C64 https://www.zimmers.net/
I found an old VHDL implementation on the web free to download reasonably well documented and with very good quality code. Some things needed tweaking to match my Hardware but it worked pretty much out of the box (not the latest version which I think is mixture of modules which some of them they need to mixed and matched)
The code was written by a German engineer (I guess) Peter Wendrich , I contacted him for permission to make a video about the code (still waiting).
The code is free to download from his website
The main change made to the code is to strip the PS Keyboard interface, add a USB (Low Speed) interface and recode the module which translates the Scan Codes from USB Keyb into simple keyboard matrix signals. The scan codes from a HID (USB) Keyboard are different from the PS2 Keyb scan codes.
Other that this I added a PLL to create the 32MHz clock required by the Peter's implementation of C64 and the 12MHz clock required by the USB interface.
The Hardware I'm using is a board that I designed and manufacture and we are selling it our shop and if has 4 USB low speed interfaces for adding Game Pads (see my YT channel I have a video about this https://www.youtube.com/@adaptivedesign8795/videos)
The nest part of the project will be probably ironing out some bugs in the Keyboard interface (which I discovered minutes before writing this blog post) and connecting the Game controllers to emulate two joysticks
I hope to continue this project soon...
If I get permission from the author of the code I'll share the code but until then I guess we have to wait.
The board can be purchased from here and it costs 99 EUR + Tax. (and shipping approx 16 EUR depending on your location)
Have Fun, life is short!
Comments