[svofski] has a friend who is a pixel artist. They really wanted to try out their skills on a c64, but were missing a mouse. The original mouse for the c64 was not only serial, but used a different method of communication than more modern mice. [svofski] built this adapter to translate the ps/2 data to something the c64 can use. The writeup describes the build in detail and even has the PCB and source code available for download.
[via flickr]
What a ridiculous looking mouse.
Nice work!
This is something I can see more than a few retro-rig runners…uh…running.
Cool!
If your going to go to the trouble of doing this then why not just make it for a usb mouse instead of PS2? I mean seriously it’s getting harder and harder to find a PS2 mouse every day so why replace one mouse that virtually can’t be found with one that will be the same way very soon?
Really?? It’s 2020 and they’re far from hard to find.
@karateboy Probably because translating ps/2 data to serial is much simpler.
PS/2 Data IS serial. The adapters for the PC for ps2->serial port are simple pin to pin connections.
pluz there are still USB mouses that also work with PS2 adapters
and USB mouse needs USB host, and USB host needs a lot of hardware/software compared to serial. There was one bitbanged project using mega32, other option is AVR with host build in ($6). Both are faster than C64 .. kinda pointless
@karateboy ps/2 and usb are just different connectors, you could wire this either way by only changing the connector. see: http://pinouts.ru/InputCables/usb_ps2_mouse_pinout.shtml
@dan k this is not a simple serial interface, but a special one for a 1351 mouse. not sure if you were confused on that or responding to someone else.
now this is a /hack/, not an audrino mod.
Oh hell yeah!
I’ve been waiting for a PS/2->1351 adaptor for years.
There was a serial->1351 adaptor before, but finding serial mice nowadays is almost impossible.
The 1351 mouse (which this adaptor emulates), “send” the X and Y axis movement through the C64 analog paddle inputs.
It’s essentially a joystick port more than a serial port. The old Tandys were the same idea with round ports. The mouse essentially had two pots that moved to the extremes of the screen. You could plug in a joystick and do the same things the mouse did without and driver changes.
I did a PS/2 adapter because a PS/2 host is infinitely more simple than a USB host. A dual-standard mouse with a USB-PS2 adapter would work too, although I never tried. People who are not afraid of using a real Commodore 64 in 2009 tend not to experience shortage of real PS/2 mice.
C64 mouse taps into analog paddle lines. It’s very simple really and it’s easier to show on a scope than to explain it verbally.
cow_juice, PS/2 is not USB, for that adapter, the mouse has to be designed for the adapter. It’s the same story with trying to get a PS/2 keyboard to work.
Look up PS/2 on wikipedia, and they will tell you that it is a serial interface.
Load “*” , 8 , 1
“People who are not afraid of using a real Commodore 64 in 2009 tend not to experience shortage of real PS/2 mice.”
So true, so true.
really good hack, but what the hell wrong with this mouse ? it looks so ridiculous
Actually, PS/2 is serial, but it is NOT standard RS-232. In any case, the C64 uses an analog mouse. I actually designed a mouse driver that will run a PS/2 mouse off of the user-port of a C64 DTV. Look here: http://galaxy22.dyndns.org/dtv/common/ps2mouse/index.html
Am I the only person that would like to use a C64 as a PS/2 keyboard for a PC?
This isn’t the sort of hack that really interests me, but the documentation and write up is so perfect, and the actual hack is so neat. Inspiring.
I should totally do this for my A1200, now that I have an oscilloscope! I could also hook in my Cyborg digital as a joystick…
Don’t quite get the interest people have in the c64, and if I had one working and in use what I’d mod first is the lousy shielding, how that thing ever got through the FCC I’ll never know.
Its shielding was a piece of thin cardboard with aluminum foil stuck to it, for those that don’t know. and if that wasn’t bad enough it just folded along the length over the top but left 3 sides open.
@Graham Simpson
Amigas don’t support paddles or joysticks with analog outputs AFAIK. Shouldn’t be hard to tweak the design for Amigas I guess.
Cool hack anyway.
Actually. Pins 5 and 9 of the Amiga Joystick port are analog inputs. On digital joysticks these are pulled high (5vdc), and go low (0vdc) when buttons 2 and 3 are pressed. Pins 1-4 are the four directions Pin 7 in +5vdc and Pin 8 is ground. When using PADDLES
On the C64 Pins 5 and 9 are analog inputs. When using digital devices these are read to see if they are high or low to indicate button presses on buttons 3 and 2 respectively. When used with analog devices are used, the 4 directional up, down , left, or right (Pins 1,2,3 and 4 respectively) are used for buttons, in order for pins 5 and 9 to be used analog directional inputs. Inside the computer these 4 analog inputs (aka pins 5 and 9 of both joystick ports) are sent to a 4066 chip which contains 4 analog switches which selectively connects one or the other post to pins 23 and 24 of the SID chip. These are analog inputs into the SID chip. So I looked at the Amiga These 4 analog input existed in the Amiga 1200, and I suspect also in other Amiga’s. In the Amiga 1200 these go to U# which seams to be called the PAULA chip and are labelled as still being Pots X and Y. Pot is short for potentiometer which is the variable resistor inside of paddles and joysticks. There you are incorrect in you assumption. The Amiga’s were built are technically Commodore computers, Amiga’s were built under the Amiga name, but were manufactured by Commodore, so why re-engineer an elegant and working interface. So yes Amiga’s do have a analog inputs on they’re Joystick ports. Here is the schematic:
http://3.bp.blogspot.com/-chCCJ6kNy7c/VZvwjDHUKhI/AAAAAAAADMo/7SBxMTmR7R8/s1600/Screen%2BShot%2B2015-07-02%2Bat%2B1.34.18%2BAM.png
@Wwhat: don’t quite get the interest people have in the FCC.
>PS/2 is serial, but it is NOT standard RS-232.
RS232 != “Serial”. RS232 is a “type of serial communications protocol”. SATA is serial, doesn’t mean you can plug a “serial mouse” into it does it?
Even if PS/2 was RS232 compatible, RS232 only defines low level stuff like signalling levels, data representation, so two “RS232 mice” for different platforms could use totally different protocols on top of RS232, so you would still need some sort of translation.
>Graham Simpson
There have been PS/2 -> Amiga mouse adaptors for yonks. I think there have been schematics up on Aminet for the best part of a decade. Individual Computers have also produced all sorts of similar stuff over the years,..
I made a video that shows what exactly is happening on POTX/POTY lines of C64’s control port when a 1351 mouse moves:
http://www.youtube.com/watch?v=j-KRaEUDPHY
Actually, it really isn’t so much of an issue of who’s interested in the FCC as it is whether or not the FCC is interested in YOU.
@svofski said: don’t quite get the interest people have in the FCC.
@McSteez & therian
The mouse may look a bit goofy with the cable pointing vertically but I work on a small desk with plenty of desk fodder around, and one of the most annoying things is the bend in the mouse cable when it pushed up against something.
I would like to have one of these mices :)
Lol, it’s not the FCC that I care about but rather the radio interference that gets into my stuff.
It just seems so incredible it was approved.
No ‘white space’ within 30 yard of an c64 I can tell you.
Would love this for GEOS! Is it conceivable to do this with a Arduino Uno or Pi Pico?