Amiga hardware info, help and support with a focus (but not limited to) North American NTSC experiences. Open to all.
User avatar
mattsoft

Commodore C64 to Raspberry Pi 3 (RPi 3) Conversion

by mattsoft Fri Apr 06, 2018 5:49 pm

Not directly Amiga related, but Commodore related, so, uhhh...

I actually started this RPi conversion first, but I got sidetracked and ended up finishing the Amiga 500 one first. More on that here.

So the objective here was to take a C64 breadbin case and keyboard and put a Raspberry Pi 3 into it; keeping the keyboard and joystick ports working, but also giving me HDMI, USB controller support, and modem emulation. While I still have 2 real Commodore 64s (and an Ultimate64 on the way!), I like using the RPi and Vice to play 64 games.

These mounts do not require you to drill or cut your C64 case! The 3D files are provisioned under the creative commons license so they are FREE to use, distribute, modify, or even sell.

Pictures

Image
Everything in its place.

Image
Beautiful backside -- from right to left -- micro USB power, power switch, HDMI.

Image
Outside shot of the Keyrah.

Instructions

1. Print out the 3D parts. You will have left, middle, right, and 3 washer pieces.
2. Put the 4 heat sets into the mounting holes of the left piece. Use a soldering iron to heat them into place.
3. Screw in the micro USB and HDMI panel mount cables into the heat sets.
4. Snap the left piece into the back. Screw the 2 washers into place to hold that piece down.
5. Put the 4 heat sets into the RPi mounting holes of the middle piece. Place it into the case and use the 3rd washer to screw it to the case.
6. Mount the RPi onto the middle piece as shown in the case.
7. Place the right piece onto the Keyrah -- note how the piece "wraps" the external USB port of the Keyrah. Place into the case and screw down. You do NOT need to screw the bracket into case, but can if you wish.
8. Place the power switch in the left piece and connect to the PowerBlock. Connect the keyboard to the Keyrah, and the LED to the PowerBlock. Plug the PowerBlock into the RPi.
9. Turn on!

Parts List

(1) Raspberry Pi 3B
(1) Micro SD card
(1) Keyrah v2
(1) PowerBlock
(1) Micro USB male to female panel mount cable
(1) HDMI panel mount cable
(1) 14x9mm power switch
(4) M2 x 5mm screws
(8) M2 x 3mm brass heat sets
(8) M2 5mm x 1mm flat insulating washers
(1) Header pins for the internal Keyrah USB -- you will need to solder these to the Keyrah
(1) USB-A to header cable for connecting the Keyrah to the RPi
(2) Test clips or other wire to connect the power switch to the PowerBlock

Software

I started out using the awesome Combian 64, but ended up eventually rolling my own. While I could go into the Raspbian/Vice build I have made for this, I recommended starting with Combian 64 for ease of use.

You will need to install the PowerBlock driver for it to work.

Links

STL Files
User avatar
DuhProject

Re: C64 RPi 3 conversion

by DuhProject Tue May 01, 2018 6:59 pm

That looks slick mattsoft. Very clean. I have read about a few people doing this, but I don't think I seen one as clean as yours. Well done!
User avatar
intric8
Seattle, WA, USA

Re: C64 RPi 3 conversion

by intric8 Tue May 01, 2018 9:50 pm

Dude. How did I miss this? I wasn't in Costa Rica yet... wow. The breadbin is wedged deep in my heart. And I personally am in no need to do this (there are almost as many C64s as air cooled VW bugs. Well, almost.) But damn! That's one crazy cool mod.

I love how clean and non-destructive it is overall, too. This is really top-notch, Matt.

But how does it look and feel? Feel "real"? And what about the sound?
User avatar
mattsoft

Re: C64 RPi 3 conversion

by mattsoft Tue May 01, 2018 10:45 pm

I dunno it feels like a C64. You hit the power switch and 5 seconds later you have the BASIC prompt. Hit the C< key and you’re in the VICE menu (think SD card). Select your disks and hit return. PAL? NTSC? Take your pick. Modem is emulated and works over WiFi for that retro BBS surfing. SID sounds nice. Want 2? Great! Dualing SIDS. I use a Sega Master System joypad plugged into the DB9 port. Game uses the other port? Hit the C< key select swap ports. It’s an easier C64 than a C64! I haven’t run into a game or demo that doesn’t work, though I’m sure there are some. When you’re done, flick the power switch and it shuts down and turns off. I actually prefer it to the real thing (heresy, I know).
User avatar
rhester72

Re: Commodore C64 to RPi 3 Conversion

by rhester72 Fri May 04, 2018 7:50 am

I've seen a lot of solutions for how to trigger the VICE menu - using the Commodore key is novel, but doesn't it potentially create a problem if you actually need to use that key for the C64?

Rodney
User avatar
mattsoft

Re: Commodore C64 to RPi 3 Conversion

by mattsoft Fri May 04, 2018 4:59 pm

rhester72 wrote:I've seen a lot of solutions for how to trigger the VICE menu - using the Commodore key is novel, but doesn't it potentially create a problem if you actually need to use that key for the C64?

Rodney


Indeed! So you assign a different key. In fact after weeks of playing with the C64 Pi, I finally need to use the C< key for a SID player program. So I re-assigned the menu key to £ as I have never ever used that key. Problem solved.
User avatar
rhester72

Re: Commodore C64 to RPi 3 Conversion

by rhester72 Sun May 06, 2018 12:26 pm

*laughs* Fair enough.

One other quick question, if I may - you migrated from Combian to a roll-your-own VICE solution...any chance we can get you to elaborate on the reasons why (and how you did it)?
User avatar
mattsoft

Re: Commodore C64 to Raspberry Pi 3 (RPi 3) Conversion

by mattsoft Mon May 07, 2018 3:27 pm

I rolled my own because (a) I wanted the RPi/VICE to behave like a C64 as much as possible and (b) at the time, Combian did not support Bluetooth or MODEM emulation. Combian introduces a menu when you exit VICE so that you can configure the system or change the machine type. I didn't want any of that.

Rolling my own was pretty easy. At a high-level:
1. Download and install Raspbian Stretch Light.
2. Install the dependencies needed to compile VICE.
3. Compile VICE.
4. Install TCPSER for MODEM emulation.
5. Configure Raspbian to quiet boot into VICE.
6. Get VICE and Raspbian configured for optimal performance and no screen tearing.

I can post my build log with all the settings later if you're interested. It's pretty easy if you're familiar with *nix and compiling from source.
User avatar
rhester72

Re: Commodore C64 to Raspberry Pi 3 (RPi 3) Conversion

by rhester72 Mon May 07, 2018 5:38 pm

I assume you went with SDLVICE, then?

I'm reasonably familiar with Linux builds and compiling - like you, my ultimate goal is as "C64-like" a solution as possible...while having the entire library at my fingertips without having to lug around an inconveniently large 1541. *laughs*

Thanks for sharing your experience (and parts)!
User avatar
mattsoft

Re: Commodore C64 to Raspberry Pi 3 (RPi 3) Conversion

by mattsoft Tue May 08, 2018 6:49 pm

Once you have Raspbian up, you can do the following:

Update Raspbian packages
Code: Select all
sudo apt-get update && sudo apt-get upgrade


Install RetroPie SDL packages
Code: Select all
cd ~
wget https://files.retropie.org.uk/binaries/stretch/rpi3/libsdl2-dev_2.0.7+2rpi_armhf.deb
sudo dpkg -i libsdl2-dev_2.0.7+2rpi_armhf.deb
wget https://files.retropie.org.uk/binaries/stretch/rpi3/libsdl2-2.0-0_2.0.7+2rpi_armhf.deb
sudo dpkg -i libsdl2-2.0-0_2.0.7+2rpi_armhf.deb
sudo apt --fix-broken install


Install VICE dependencies
Code: Select all
sudo apt-get install bison
sudo apt-get install flex


Get, compile, install VICE -- in this case into /home/pi/vice
Code: Select all
cd ~
wget https://versaweb.dl.sourceforge.net/project/vice-emu/releases/vice-3.1.tar.gz
tar -zxvf vice-3.1.tar.gz
cd vice-3.1
./configure --enable-fullscreen --enable-sdlui2 --with-alsa --without-arts --without-oss --disable-catweasel --without-pulse --prefix=/home/pi/vice
make
sudo make install


That will get you going and let you run VICE from the console using SDL2.

If you need help with quiet boot and all that, let me know. I guess I could also post the image completely configured if you like.

Who is online

Users browsing this forum: No registered users and 1 guest