Thursday, November 23, 2017

The Pi Lizard's 64 images

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!








44 comments:

  1. I'm confused. How do you open the image file to add games to the software folder in Windows?

    ReplyDelete
  2. Hi, I'm sorry I did not notice your comment sooner. I'm kind of new to this "blogger" stuff.

    To 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.

    ReplyDelete
  3. Hi. The only partition that comes up is tiny.

    ReplyDelete
    Replies
    1. Windows 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

      Delete
  4. 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.

    ReplyDelete
  5. Hi - 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!

    ReplyDelete
    Replies
    1. Hah! Installed the image and yup, you ARE using tcpser and modem emulation works perfect! Awesome!

      Delete
    2. This comment has been removed by the author.

      Delete
  6. Hi 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.
    Paul

    ReplyDelete
  7. Hi!
    Thank you for making and sharing this img, works like a dream ;)

    ReplyDelete
  8. Errr. Don't really know why I was replying to Matt..
    Must. Drink. Less... 😁

    ReplyDelete
  9. 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?

    ReplyDelete
    Replies
    1. TomTom, 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.

      Delete
    2. This comment has been removed by the author.

      Delete
  10. Love 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.

    ReplyDelete
    Replies
    1. I'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.

      Delete
    2. Thanks for the info. I'll give it a try.

      Delete
  11. is 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

    ReplyDelete
  12. What version of VICE is running on this? Can it be updated after install?

    ReplyDelete
  13. I have a question. Is there a way to hook up a cassette deck and load games that way?

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. Hi, I can't get any sound playing. I have a RPI3 and connected the speakers to the audio autput by the HDMI cable...
    C64 isn't the same without sound :-(

    ReplyDelete
  16. Hello, could you write how have you compiled vice? I tried to upgrade it to version 3.2 but its performance is poor.

    ReplyDelete
  17. There does not seem to be a way to have it exit the emulator to the command line. Anyone found a way yet?

    ReplyDelete
  18. Ok. Took my time and reread your post. I will do chmod to /etc/rc.local and see from there. Thanks.

    ReplyDelete
  19. http://www.paragon-drivers.com/extfs-windows/

    this allowed me to write under windows.

    QUestion what file types are supported for games please

    ReplyDelete
  20. Hello
    The 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

    ReplyDelete
  21. I prefer your build over Combian. Your build seems less buggy and has had a lot of thought put into it. Great work!

    I 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?

    ReplyDelete
  22. Heyho! Thanks for that awesome image!
    One question: is it possible to launch a terminal or cancel the boot process to access the file system on the pi?

    ReplyDelete
  23. Okay, I solved the problem by temporarily deactivating the boot-script as mentioned earlier. Thanks!

    But 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?

    ReplyDelete
  24. Cool C64 inspired Raspberry pi cases: http://www.amibay.com/showthread.php?104223-Raspberry-pi-Commodore-C64-cases-with-working-power-LED

    ReplyDelete
  25. Very great image - a true C64 feel all around. Thanks for making it available.

    I'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?

    ReplyDelete
  26. 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...?

    ReplyDelete
  27. Is this compatible with the PI 3B+? Having trouble getting it to boot.

    ReplyDelete
    Replies
    1. No, 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

      Delete
  28. does this work with raspberry pi zero

    ReplyDelete
  29. This comment has been removed by the author.

    ReplyDelete
  30. This 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?

    ReplyDelete
  31. I 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.

    ReplyDelete
  32. Hey, 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...
    Thank you, I really like the lizards image...

    ReplyDelete
  33. Hi,could you please make a more current image?

    ReplyDelete
  34. Trying to run this on a Raspberry Pi Model B+ Rev 1.2.

    At 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.

    ReplyDelete

The Pi Lizard's 64 images

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 ...