I have created a couple of Commodore 64 .img files for the Raspberry Pi 3 which use the VICE emulator to turn the Pi into a C64.
The .img files are identical except one has a familiar looking please wait message when the pi boots up and shuts down, the other simply has a blank screen during these times.
I am putting these files up for download, hoping they will provide enjoyment to other C64 fans.
c64 bootsplash by Pi Lizard.img
c64 silent boot by Pi Lizard.img
Features include:
1- Nice illusion of a real c64. No Raspbian messages flying by during boot-up and shutdown. You just go straight into the vice emulation and when you exit, the pi shuts itself off. Everything you see is c64 fonts and colors, including the bootsplash version. Linux is invisible beneath. Feels like a "modern" C64.
2- Wifi networking is enabled. You can use your favorite term software to log on to a variety of real c64 BBS services, just like the good old days, only through telnet addresses over the internet, rather than the phone line.
3- The screen resolution has been adjusted with care. I use native c64 resolution for the underlying linux operating system as well as the emulator. The result is a clean looking, non-pixelated, non-blocky looking video output. This result is a very natural, easy on the eyes, convincing crisp but not too crisp display.
I hooked up my real c64c to color compare on a video monitor next to my Pi on a 22" 1080p sabre wide flat screen and found I actually preferred the Pi display as it appeared very clean while keeping a native feel. Especially nice for flat screen computer monitors 22" and smaller, but larger screens I have tried it on including a 48" 1080p television and a 55" 4k television look great as well. Try it and see for yourself.
How to use the files-
To burn the .img files to microsd, I can recommend a couple of easy to use programs.
On Windows, I prefer Win32 Disk Imager
https://sourceforge.net/projects/win32diskimager/
On Linux, I prefer Suse studio imagewriter (search engine for installation for your distro. I use antergos/arch and in the repos it is just called "imagewriter"- yaourt imagewriter should do the trick).
On Linux, you can use gparted to expand the filesystem if you have a microsd card larger than mine (mine is only 2gb but still lots of room left over for c64 software). Sorry, I am not a windows person so I don't know how to expand the file system in windows, but if you have a solution, let me know and I'll share it here.
Once burned, open your file manager and go into the card.
1- copy c64 games and software into the /software folder.
2- open /etc/wpa_supplicant/wpa_supplicant.conf in a text editor and enter your wifi name and password in the appropriate locations between the parenthesis.
3- If you are using a setup like mine with an old free to super cheap vga monitor (craigslist in my area often has old dell "square" shaped flatscreen for free to $10) and an hdmi to vga adapter (have seen similar to mine at walmart for $6) and analogue speakers plugged into the Pi's audio jack, go to the boot partition on the card, rename config.txt to something like hdmiconfig.txt in case you want it later, and rename vgaconfig.txt to config.txt. I have a couple of tweaks in the vgaconfig.txt that I found that optimize things for the adaptor and analogue audio. I prefer this setup as the more square screen fits the image of the c64 without the side bars, making things feel more natural and native. It will still look good on a standard hdmi widescreen though.
That's it. 2 or 3 simple steps and you are on your way. More time and work to describe than to do.
Now safely remove the microsd from the computer, insert into the raspberry pi, plug in the screen, a usb joystick and keyboard and turn things on.
A few random notes to make the most of it-
.5- F12 gets you into the conguration screen in the emulation. Thanks VICE team for making this screen feel native as well.
1- If you mess up the config for VICE, I have a backup copy of mine in the home folder you can load in. To start fresh, just load that config file, and then save config.
2- If you want to change the boot splash, the image location is /opt/splash.png. The one that is there is just the result of turning the screen black on the c64 with a couple of pokes, clearing the text, and typing "please wait ..." turning the cursor black, f12, and take a snapshot of the screen, saving it to that location. I think something like that within the emulation is best if you want to keep things looking and feeling native.
3- You can get usb atari style joysticks that look and feel like the real thing (? I'm not a purist, but they do to me) off of amazon.com or ebay. I got the blue glowing kind. Don't think I'd do that again- the light is distracting in the evenings sometimes.
4- I set my config file up so keys are positional on the keyboard. In other words, if your fingers still remember how to dance to
load"*",8,1
on the native c64, they will find the correct places on the keyboard here as well. To help find things, I searched "commodore keyboard stickers" on ebay and amazon. For about $3 you can do what I did and cover your pc keyboard so you can find all the things you want to find on the c64. Here is a nice pic with the layout whether you have the stickers or not: http://www.waitingforfriday.com/wp-content/uploads/2017/01/C64Keyboard_VICE_KB.png . The image is from this very interesting project page : http://www.waitingforfriday.com/?p=470 .
5- For BBSing, so far I really enjoy Strike Term 2014 final. You can grab it here: http://csdb.dk/release/?id=130807 . You can also use this to play MUDs (multi-user dungeons) on telnet. An active BBS list for the c64 can be found here: http://cbbsoutpost.servebbs.com/ .
6- https://www.commodoreserver.com/ Commodore Server. To use, press F12 - machine settings - rs232 settings -userport rs232 host device 3 then esc and do a hard reset before loading the software. Change the setting back to device 4 to use terminal programs again.
Thank you for giving my img files a try.
Special thanks to the VICE team for their emulator used on my .img files and to retropie whose install script I used to install VICE.
Although a couple of ideas on these images are my own, most of my contribution to these has just been bringing a lot of other people's ideas and work into one place. Unfortunately, it took me months of lucky searching to eventually combine these ideas with an idea of my own, and over time I lost track of where the outside ideas came from. The splash screen script also. If you recognize your contribution, let me know and I'll give you full credit.
Meanwhile, I just want to say thanks to the c64 community in general for their efforts which have made life more fun and interesting because of the c64 staying alive in one form or another for all of these years.
The images I have come up with have a nice feel, and for my use are a great substitute for the real c64.
But these can surely be improved. I would love it if you could help me improve it.
In particular, off the top of my head I think it would be great if we could get printer emulation working so it could print on a modern printer, and if the base directory within the emulation could be changed from / to a specific folder for the c64 software.
Tcpser interaction needs to be improved. I have had very bad luck downloading files from a BBS, although everything else on a BBS works great. As far as I am concerned, this problem makes VICE a broken app and this really should have been fixed a long time ago. A hint might be found here: http://roxburysoftware.com/Blog/color64-bbs-in-vice-2-4/ and here: http://roxburysoftware.com/Blog/wp-content/uploads/2014/03/rsuser.c but I am not a competent programmer so I am not sure. But if you are, maybe you could take a look and see if something can be figured out.
Maybe you have other ways to improve things. I would love it if these images became a collaborative effort and improved over time. I have tried to get others involved in the past but have heard crickets thus far. And yet, it seemed a "native" feeling emulation for the Pi that booted without linux showing it's face seems to be a recurring request on various forums, and I couldn't find one that was "plug and play" anywhere else online, so when I made these for myself, I decided to share them here.
Let me know what you think about these images.
Enjoy!
I'm confused. How do you open the image file to add games to the software folder in Windows?
ReplyDeleteHi, I'm sorry I did not notice your comment sooner. I'm kind of new to this "blogger" stuff.
ReplyDeleteTo add games, don't use the image file. First write the image to microsd card for use in the pi. Then mount the card in windows and add the games directly to the card.
Hi. The only partition that comes up is tiny.
ReplyDeleteWindows can't mount the main Linux partition image, only the tiny FAT32 boot partition. You need to plug it into a Linux computer to access the main partition. If you don't have a Linux PC, download a VMware Ubuntu appliance (Google it) and VMware player - that lets you run a virtual Linux PC on your Windows PC
DeleteOn Linux, you can use gparted to expand the filesystem if you have a microsd card larger than mine (mine is only 2gb but still lots of room left over for c64 software). Sorry, I am not a windows person so I don't know how to expand the file system in windows, but if you have a solution, let me know and I'll share it here.
ReplyDeleteHi - I haven't tried your image yet, been using Combian 64 which is similar, but was wondering if you are emulating a modem using tcpser (or something else)? It would be great if the image booted with an attached modem already installed and ready to dial!
ReplyDeleteHah! Installed the image and yup, you ARE using tcpser and modem emulation works perfect! Awesome!
DeleteThis comment has been removed by the author.
DeleteHi Matt, love the image but I'm struggling to remap the menu key. I'm using a keyrah on an old VIC20. I can remap in the menu but it wont persist after a reboot.. I'd appreciate any help.
ReplyDeletePaul
Hi!
ReplyDeleteThank you for making and sharing this img, works like a dream ;)
Errr. Don't really know why I was replying to Matt..
ReplyDeleteMust. Drink. Less... 😁
I must be missing something super easy, but with the QUIT scripted to shutdown, how does one drop into a linux shell from the local Pi?
ReplyDeleteTomTom, did you ever figure out how to exit to command line? With Retropie I use the wireless network to copy games from the PC to the Retropice and then run under Vice on my Raspberry Pi 3. I've only had my Pi a few days and never used Linux so this is a total mystery. Thanks.
DeleteThis comment has been removed by the author.
DeleteIs SSH set up in this image?
ReplyDeleteLove how it boots right to the C64 screen. I've spent hours trying to figure out how to drop out of the Vice Emulator to the Linux shell so I can copy over the files. I see no folders when viewing the SD image on Windows. Please help.
ReplyDeleteI'm not sure you can exit to the command line and I don't know that SSH is enabled by default (I didn't check to see if the serial port supported a terminal). To enable SSH, put the card into a card reader and plug into a linux PC (or find a Ubuntu VM appliance and run it in Windows), start terminal, navigate to mounted-drive/etc and use "sudo chmod -x rc.local" to disable the boot script. Dismount card, reinstall in your RPi, boot and you'll be at the cli. Do "sudo raspi-config" - change to your own password enable SSH and expand filesystem if you're using >2GB card. Finally, change to /etc directory, and do "sudo chmod +x rc.local" to reenable boot script. Voila - now you can use SSH to change settings, use SCP to upload games etc.
DeleteThanks for the info. I'll give it a try.
Deleteis there any way to change the resolution so that it outputs pal. In Retropie you have this as an option before it boots of course but here I wouldn't know. Great work by the way
ReplyDeleteWhat version of VICE is running on this? Can it be updated after install?
ReplyDeleteI have a question. Is there a way to hook up a cassette deck and load games that way?
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteHi, I can't get any sound playing. I have a RPI3 and connected the speakers to the audio autput by the HDMI cable...
ReplyDeleteC64 isn't the same without sound :-(
Hello, could you write how have you compiled vice? I tried to upgrade it to version 3.2 but its performance is poor.
ReplyDeleteThere does not seem to be a way to have it exit the emulator to the command line. Anyone found a way yet?
ReplyDeleteOk. Took my time and reread your post. I will do chmod to /etc/rc.local and see from there. Thanks.
ReplyDeletehttp://www.paragon-drivers.com/extfs-windows/
ReplyDeletethis allowed me to write under windows.
QUestion what file types are supported for games please
Hello
ReplyDeleteThe image is really great.
but it would be even more interesting
if there would be an image for the Raspberry zero!
That would be a very cheap alternative!
THX Meikel from Germany
does it work with the zero
DeleteI prefer your build over Combian. Your build seems less buggy and has had a lot of thought put into it. Great work!
ReplyDeleteI was able to get WiFi connected with ease, Combian doesn’t like my WiFi setup for some reason.
I’m trying to get the C64 RSS viewer up and running, but it never seems to connect.
https://www.lemon64.com/forum/viewtopic.php?t=63396&start=45
It’s made specifically for the WiModem on a physical C64, but it seems like it should work with TCPSER. Any ideas? Or want to take a stab and getting it to work?
Heyho! Thanks for that awesome image!
ReplyDeleteOne question: is it possible to launch a terminal or cancel the boot process to access the file system on the pi?
Okay, I solved the problem by temporarily deactivating the boot-script as mentioned earlier. Thanks!
ReplyDeleteBut one more question:
I'm using the Raspberry Pi inside a real C64 case with the Keyrah-Interface. That interface has a button that sends an ACPI signal to shutdown the system. But when I push that button, nothing happens. Any ideas regarding ACPI button driver?
Cool C64 inspired Raspberry pi cases: http://www.amibay.com/showthread.php?104223-Raspberry-pi-Commodore-C64-cases-with-working-power-LED
ReplyDeleteVery great image - a true C64 feel all around. Thanks for making it available.
ReplyDeleteI'm having an issue with saving VICE configuration. I get an error that the configuration could not be saved. Like if the file is locked or missing permissions. I can save settings to a new file, but it is not loaded automatically. Anyone had that issue, and a solution to it?
Am I the only person this doesn't work for? After the "please wait..." has been on for a few moments, All I get is "pi@raspberrypi:~$" at the top of the screen...?
ReplyDeleteIs this compatible with the PI 3B+? Having trouble getting it to boot.
ReplyDeleteNo, I tried a 3B+ myself. The image is based on Rasbian Jessie so predates the 3B+. I run it on a 2B just fine though
Deletedoes this work with raspberry pi zero
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis is great, but I want to boot with a different keymap by default. Is there a config file that I need to modify? If so, what directory is it in?
ReplyDeleteI would be happy to see what I can do to help TCPSER. I am the owner of roxburysoftware.com. Let me know how I can reach you. I was looking around for a C64 VICE build for Raspberry Pi.
ReplyDeleteHey, the image is based an Jessie. Do we can get a more current one? I.e. Buster? The problem is i want add a soundcard. If we dont get a newer one, i will add the sound card on Jessie...
ReplyDeleteThank you, I really like the lizards image...
Hi,could you please make a more current image?
ReplyDeleteTrying to run this on a Raspberry Pi Model B+ Rev 1.2.
ReplyDeleteAt first I get the "PLEASE WAIT ..." (blue font), and then about 20 seconds later it gives me a pi prompt "pi@raspberrypi:~ $" and doesn't boot into the C64 emulation.
The "PLEASE WAIT ... " remains on the screen in graphics mode, and the pi prompt overwrites at the top of the screen out of graphics mode.
fbset ...
mode "384x272"
geometry 384 272 384 272 32
timings 0 0 0 0 0 0 0
rgba 8/16,8/8,8/0,8/24
endmode
Not sure what's up.