Saturday, September 12, 2015

cOS has been released for the commodore 64!

This project started as a simple experiment to see if I could create a "modern" looking graphical user interface for the commodore 64.

Once I got the basic user interface working, I decided to add an optional touch screen. It pretty much works! Of course cOS can still be operated by a standard joystick or the cursor keys.

I then decided to create a Test / Demo 5.25" disk that would have a similar feel as a basic tablet. I ended up adding pictures, songs, games, and some typical iPad style apps. These disks only hold 170k of data! So, I used a 80's disk notcher to make a "flippy" 2-sided disk. I then had a whopping 340k of space to fill up.

The iPad style apps are mostly gags for fun.  Yes, there are real internet programs for the commodore 64 (IRC clients, twitter client, contiki web browser, etc.) but they are typically large and require specific hardware.  Who could resist Microsoft's insistence that I include IE 6 (running on Windows 9)!  There's also a cBooks app that links to all the books you'll need.  Of course these devices need a sassy assistant.  I pulled together some 80's technology to create SAM-Siri.

If you have a real commodore 64 or want to try it out in an emulator, here are links to the disk images for sides A and B of the Test/Demo disk.

Disk Links:
cOS Test/Demo Side A
cOS Test/Demo Side B


  1. Hi Jim!
    Really exciting! I mean simple Q, whet a device you used for touch control?
    I'm excited what can be possible... I'm using with my Commodore 128 lightpen, if I could to use touch... :)
    Looking at OS: looks good, I tested demo, simple and easy to understand.
    I'm last creator of The Ace and your OS is for me inspiration.

    Miro (MIRKOSOFT)

  2. Hi Miro, Thanks for the kind words!

    The touchscreen system I used is off-the-shelf parts from Digikey. It is a 3M single touch capacitive with a serial interface card.

    3M5745-ND <-- Touch screen
    33M5540-ND <-- Interface card
    3M5551-ND <-- Yes I am that lazy that I bought their cable

    I have it running through an old RS232 interface I had for my "super fast" 1200 baud Hayes compatible modem.

    The touchscreen data is very noisy and tends to report the last position for a while on new touches. So, I did a lot of rejecting of old data and averaging of new data and even flashed the border when I thought I could resolve a press location. Right now, I'm only running at 1200 baud. I want to at least double that and see if the faster data helps. So be warned, the touchscreen isn't nearly as reliable as your phone or tablet for selections! However the long slow swipes almost always work....

    1. Ok, so you have to swipe it like slightly more retarted iPhone. Got it. :) Awesome setup you got here. :) I'll have to try it out on my c64 when I get home.

  3. Interesting! Did you have to load and run a separate program in order for the Commodore 64 to recognize the touchscreen? (Yeah, I haven't run the videos above to look for any more details, because right now I'm on dial-up.)

    If you were to make a 1581 Test/Demo-type of disk, then you would have 880K of storage! :)

  4. Man you are Old School, rocking the dial-up! I hard coded the touchscreen interface into the main executable. I am working on releasing the tools so others can make their own cOS menus for 1581, SD2IEC, etc. I did have to make some tweaks to support two lines in the run files linked as one logical line. This became important for all the directory movement commands that typically need to be executed for SD2IEC.

  5. Hi Jim!
    Q is not easy to write: want you to share sources of touch service?
    Thank you for doing all. It's now my dream to make my C128 touch ready.

  6. This is awesome !! and thank you for sharing.

  7. Nice!
    As old man from 1980-th, I impressed!

  8. Have you considered releasing the source? It would be interesting to study it and observe the trade-offs that you had to make to get this to run on the C64. I assume there's no generic GUI toolkit like iOS's UIKit.

  9. Saw this on hackaday. Brilliant.

  10. how do i put thes disks on my sdie2 drive or on a floppy from my pc? how do i make the double sided floppy?