The classic Commodore 64 has had its share of modernizing in the OS department. From its roots starting up a basic prompt, to full high resolution GUI packages like GEOS, to today where [Jim_64] added a tablet like launcher complete with a touch screen interface.
The GUI itself takes advantage of the high resolution graphics of the C-64 that looks similar to iOS, Icons are selected via cursor keys or joystick (what? no light pen?) and launch the various functions they represent. To add to the tablet-like feel of the OS, an off the shelf 3m touch screen panel and its corresponding RS232 interface board were obtained from digikey.
With the panel securely attached to the monitor, XY data from the various finger pokes are sent via serial at a blazing 1200 bps where the program interprets the position. Using the available demo (download sideA and sideB) and off the shelf parts, this should be easy for anyone with a classic C-64 to set up in their own home and have some fun.
Join us after the break for a few demo videos!
Anecdote: The text-to-speech software used by “Siri” is S.A.M., the Software Automated Mouth. It was one of the earliest software-only TTS products for home computers (previous attempts used a TTS IC, such as TI’s TMC0280 / TMS5100 as found in the Speak n Spell). You could load it “resident” into memory, then call it from your custom BASIC or assembly program!
Here’s a conversion of the C64 version, with online support! http://simulationcorner.net/index.php?page=sam
I’ve pondered in the past, wouldn’t it be possible to measure the XY resistance of a touch panel, and the v/h sync signals of the luma output to generate a light-pen emulating signal pulse?
Extend the concept further to a wiimote and emulate a light gun with a modern TV for retro consoles.
Or connect the X/Y of analog touch panel to paddle lines?
Ditch the disk drive and use SD2IEC or Ultimate to load disk image off SD card.
I actually think that using the serial port (or for more speed using the parallel port) is the simplest way to get a “modern” touch screen on the c64. All the resistive touch screens that I have seen are essentially two potentiometers that used tangled together aka. you use one of the potentiometers as a tap/wiper on the other to read the voltage and therefore you read X-axis and Y-axis alternating. Also they are in the 10K ohm range and not 500k/1M ohm that the paddles use.
I just remembered that I have seen one touch thing that would work, the KoalaPad for KoalaPainter. I believe it uses a type of resistive touch screen.
I thought about using the joystick inputs for the touchscreen but decided they should be left open for game joysticks. A 2.0 version is in the works which supports SD2IEC.
But does it come with GEOS? If yes, shut up and take my money!
It would be possible http://cbmfiles.com/geos/geos-8.php but I can’t do it.
Funny, that was my first thought too.
An 80’s style disc notcher?
Oh you mean a hole punch!
No, it made a real square notch in the disc, not like with a pair of scissors us poor kids had to use.
Luxury, we had to use a Stanley knife.
I don’t have a C64. Would it work on a DTV? I have a couple of those.
This hack uses the C64 serial connection from the touch screen interference. With The DTV ver 1 and ver 2 those connections were buried under a blob of epoxy and no one has successfully gotten at those connections without destroying the chip. The DTV hummer is the only one that brought out the serial connections to easily accessible solder points. So if you DTV has a steering wheel then yes you can. If not then you need a laser cutter and some ultra skills.
Creator here….
Cool idea! Looks like some of the DTVs have user ports, so that could be used to hook up a touchscreen as I did here. Of course you could skip the touchscreen and just menu with the joystick. That should all work. However, I don’t know how the programs and disk images are stored on the DTV. I bet we would need an update to the part of the code that loads programs.
Creator here…
@nes
Cool idea! It seems that some DTVs have a User Ports which could be used to interface in the touchscreen as I have done here. Of course the interface should also work with the DTV joystick. However, I don’t know how the programs / disk images are stored on the DTV. I’d bet the part of the code that launches programs would need to be rewritten.
Geos has been patch to work with the DTV. I’m pretty sure the DTV hummer is the only one with a user port though, but the DTV wiki is down so I couldn’t double check if any of the other versions had a user port.
Just loaded a cached version of the DTV wiki, the DTV ver 2 has a user port. Guess it’s just the lame ver 1 I have that doesn’t have a user port. So all nes needs is a DTV patched version of geos, or a real 1541 connected to his dtv to make it work.