A Complete C64 System, Emulated On An STM32

The Commodore 64 is the worlds bestselling computer, and we’re pretty sure most programmers and engineers above a certain age owe at least some of their career to this brown/beige keyboard that’s also a computer. These engineers are all grown up now, and it’s about time for a few remakes. [Jeri Ellisworth] owes her success to her version, there are innumerable pieces of the C64 circuit floating around for various microcontrollers, and now [Mathias] has emulated everything (except the SID, that’s still black magic) in a single ARM microcontroller.

On the project page, [Mathais] goes over the capabilities of his board. It uses the STM32F4, overclocked to 235 MHz. There’s a display controller for a 7″ 800×480 TFT, and 4GB of memory for a library of C64 games. Without the display, the entire project is just a bit bigger than a business card. With the display, it’s effectively a C64 tablet, keyboard not included.

This is a direct emulation of the C64, down to individual opcodes in the 6510 CPU of the original. Everything in the original system is emulated, from the VIC, CIAs and VIAs, serial ports, and even the CPU of the 1541 disk drive. The only thing not emulated is the SID chip. That cherished chip sits on a ZIF socket for the amazement of onlookers.

You can check out some images of the build here, or the video demo below.

Continue reading “A Complete C64 System, Emulated On An STM32”

An FPGA Based 6502 Computer

A diagram of the CHOCHI Board

It’s no secret that people love the 6502 processor. This historic processor powered some of our favorite devices, including the Apple II, the Commodore 64, and the NES. If you want to play with the 6502, but don’t want to bother with obtaining legacy chips, the CHOCHI board is for you.

While many people have built modern homebrew 6502 computers, the CHOCHI will be much easier for those looking to play with the architecture. It’s based on a Xilinx XC3S50 FPGA which comes preconfigured as a 6502 processor.

After powering on the board, you can load a variety of provided binaries onto it. This collection includes a BASIC interpreter and a Forth interpreter. Of course, you’re free to write your own applications in 6502 assembly, or compile C code for the device using the cc65 compiler.

If you get bored with the 6502 core, you can always grab Xilinx’s ISE WebPACK for free and use the board as a generic FPGA development tool. It comes with 128K of SRAM and 31 I/O pins. Not bad for a $30 board.

The Entire Commodore 64 Library In Your Pocket

[sweetlilmre] is just beginning his adventures in retrocomputing, and after realizing there were places besides eBay to buy old computers, quickly snagged a few of the Amigas he lusted after in his youth. One of the machines that didn’t make it into his collection until recently was a Commodore 64 with Datasette and 1541 drive. With no tapes and a 1541 disk drive that required significant restoration, he looked at other devices to load programs onto his C64.

These devices, clever cartridge implementations of SD cards and Flash memory, cost more than anyone should spend on a C64. Realizing there’s still a cassette port on the C64, [sweetlilmre] created Tapuino, the $20 Commodore tape emulator

The hardware used to load games through the Datasette connector included an Arduino Nano, a microSD breakout board, a 16×2 LCD, some resistors, buttons, and a little bit of wire. The firmware part of the build – available here on the Git – reads the .TAP files off the SD card and loads them into the C64.

[sweetlilmre] posted a very complete build post of the entire device constructed on a piece of protoboard, Pop that thing in a 3D printed case, and he can have the entire C64 library in his pocket.

HOPE X: Commodore 64’s Are Back, Baby

hopex_web_topbar_b

Maybe they weren’t really ever gone but even so Commodore enthusiast [ALWYZ] is here at HOPE X spreading re-awareness of the Commodore 64 and that there is still a community of Commodore fans out there who have been up to some pretty cool projects.

One of those projects is a Quantum Link-esque service called Q-Link Reloaded. Quantum Link was an online service available for Commodore 64 and 128 users that offered electronic mail, online chat, file sharing, online news, and instant messaging. It lasted from the mid-80s to the mid-90’s and later evolved into America Online. In 2005, a group of folks reversed-engineered the original server code and the resultant Q-Link Reloaded lets the Commodore folks once again communicate with each other.

Also on display is a Raspberry Pi running a C64 emulator complete with a controller to GPIO adapter. Hackaday has covered this emulator just a few months ago and it is great to see it working in person.

C64 emulator on raspberry pi

 

Make That C64 Keyboard Work As A USB Keyboard

keyboard-to-usb-mapping

Let’s face it, we all have keyboard peculiarities. Don’t try to deny it, everyone who types a lot has an opinion of the keyboard they stroke so frequently. We know [Brian Benchoff] swears by his model M, and we’re guessing he was the one that bumped into [Evan] and convinced him to write about his conversion of a Commodore 64 keyboard for use as a USB device.

This is not [Evan’s] first rodeo. We recently saw him fixing up the worn off letters of his own model M. But this time around there’s some clever microcontroller work at play. Apparently mapping 122 keys using an Atmel AVR 32u4 chip (built in USB connectivity) is quite a task. Luckily someone’s already worked out all kinds of good things and is sharing the love with the Soarer’s Keyboard Controller Firmware. Of course it handles scanning, but also includes debounce, muxing, and the trick to scan more keys than the uC has pins for. We still don’t fully understand that bit of it. But [Evan] did post the config file he’s using so perhaps after we get elbow-deep in the code we’ll have a better understanding.

If you give this a try, we want to hear about it. Anyone have any modern keyboards they’re in love with? Leave a comment below.

C64 MIDI And Flash Cart

KerberosThe SID chip inside the Commodore 64 and 128 is arguably still the gold standard for chip tunes, and the C64 itself still a decent computer for MIDI sequencing. [Frank Buss] realized most of the MIDI cartridges for the Commodore computers are either out of production or severely limited, so he set out to create his own.

Unlike the few Commodore MIDI cartridges that are available, [Frank]’s Kerberos has MIDI In, Out, and Thru, controlled by the 6850 ACIA chip, just like the old 80s interfaces. This allows the Kerberos to interface with the old Sequential Circuits, Passport, and Datel software. He’s offering the Kerberos cart up on a crowdfunding site, so if you’d like to grab your own, have at it.

Because the Kerberos is also a Flash cart, it also ships with some of this software; [Frank] got permission from Steinberg to install their Pro 16 software with the Kerberos.  SID Wizard is also pre-loaded on the cart, along with a few other fabulous trackers and sequencers. Of course, there’s no requirement for the Flash portion of the cart to only host MIDI and synth software. You can always upload a few games to the cart over a MIDI interface. Video of the Kerberos below.

Continue reading “C64 MIDI And Flash Cart”

An Emulated Commodore 64 Operating System For The Raspberry Pi

Commodore-PI

 

It’s no secret that Commodore users love their old machines with the Commodore C64 being chief among them with 27 Million units sold worldwide. Speaking as a former Commodore Business Machines (CBM) engineer the real surprise for us is the ongoing interest and devotion to an era typified by lumbering 8 bit machines and a color palette consisting of 16 colors. Come to think about it, that’s the description of Minecraft!

Jump forward to today and it’s a generation later. We find that the number of working units is diminishing as age and the laws of entropy and physics take their toll.

Enter the Commodore Pi, an emulated Commodore 64 operating system for the Raspberry Pi. The goals of the project include an HDMI and composite compatible video output, SID based sound, Sprites and other notable Commodore features. They also plan to have hooks for more modern technology to include Ethernet, GPIO and expansion RAM.

A video demo of the emulator can be found below. If you’re just warming up to the Commodore world, you’ll definitely want to know the real story behind the C128.

Continue reading “An Emulated Commodore 64 Operating System For The Raspberry Pi”