68kMLA Classic Interface

This is a version of the 68kMLA forums for viewing on your favorite old mac. Visitors on modern platforms may prefer the main site.

Click here to select a new forum.
Previewing PS2ADB - a low cost PS/2 keyboard & mouse to ADB adapter
Posted by: rabbitholecomputing on 2022-07-01 10:57:35
PS2ADB is a stand-alone utility device for use with any ADB-based Macintosh computer, allowing use of very inexpensive keyboards and mice, including optical mice, with any Macintosh that has an ADB port. PS2ADB is powered by @tashtari's TashTrio PIC firmware, which was announced back in February. We're working on a 3D-printed enclosure, since there's exposed +5 volts DC on the bottom of the PCB. We'll be releasing the schematic for it in the near future. With market prices for second-hand ADB keyboards, in particular, seemingly on a seemingly-unstoppable upward trajectory, PS2ADB is a low-cost solution to enable new entrants to Mac collecting to use input devices they may already have on-hand.

The TashTrio firmware is written in assembly, and is open source. It's available at https://github.com/lampmerchant/tashtrio if anybody wants to hack on it.

If anyone is interested in trying one out, we've got a limited quantity of PS2ADB's available (without an enclosure) for 68kMLA members. Just send us a PM.

PS2ADB.JPGPS2ADB-Top-Populated.JPG
Posted by: aihk on 2022-07-20 01:01:54
PS2ADB is a stand-alone utility device for use with any ADB-based Macintosh computer, allowing use of very inexpensive keyboards and mice, including optical mice, with any Macintosh that has an ADB port. PS2ADB is powered by @tashtari's TashTrio PIC firmware, which was announced back in February. We're working on a 3D-printed enclosure, since there's exposed +5 volts DC on the bottom of the PCB. We'll be releasing the schematic for it in the near future. With market prices for second-hand ADB keyboards, in particular, seemingly on a seemingly-unstoppable upward trajectory, PS2ADB is a low-cost solution to enable new entrants to Mac collecting to use input devices they may already have on-hand.

The TashTrio firmware is written in assembly, and is open source. It's available at https://github.com/lampmerchant/tashtrio if anybody wants to hack on it.

If anyone is interested in trying one out, we've got a limited quantity of PS2ADB's available (without an enclosure) for 68kMLA members. Just send us a PM.

View attachment 43279View attachment 43280
I'm in China, can I have a schematic? I make one myself
Posted by: joshc on 2022-07-20 02:25:45
What's support like for things like multi-button PS2 mice and trackballs with multiple buttons? I guess a Mac will just recognise one button or?
Posted by: rabbitholecomputing on 2022-07-20 08:44:51
What's support like for things like multi-button PS2 mice and trackballs with multiple buttons? I guess a Mac will just recognise one button or?
That's a question for @tashtari to answer, since he wrote the TashTrio assembly code, which is open source. Tash?
Posted by: rabbitholecomputing on 2022-07-20 08:45:25
I'm in China, can I have a schematic? I make one myself
We haven't published a schematic yet, but it's very simple. We'll make one available soon.
Posted by: Tashtari on 2022-07-21 07:19:47
What's support like for things like multi-button PS2 mice and trackballs with multiple buttons?
TashTrio supports two buttons at the moment as that's all that's supported by the standard 0x01 and 0x02 ADB handler codes. ADB does define an extended mouse protocol (handler code 0x04, if memory serves) that allows for up to eight buttons, but the TashTrio firmware doesn't speak that protocol, at least not yet. I may go back and implement it if there's enough interest...
Posted by: aihk on 2022-07-21 08:00:04
TashTrio supports two buttons at the moment as that's all that's supported by the standard 0x01 and 0x02 ADB handler codes. ADB does define an extended mouse protocol (handler code 0x04, if memory serves) that allows for up to eight buttons, but the TashTrio firmware doesn't speak that protocol, at least not yet. I may go back and implement it if there's enough interest...
USB to ADB achievable?
Posted by: Tashtari on 2022-07-21 08:19:28
USB to ADB achievable?
It can be done. It's a more complicated job, though, as you have to deal with enumerating USB devices, hubs, the possibility of there being more than one keyboard or mouse device plugged in, &c. PS/2 was much simpler to implement.
Posted by: rabbitholecomputing on 2022-07-21 10:45:32
USB to ADB achievable?
With USB, you need to have a microcontroller that can act as a USB host, and with the current semiconductor/microcontroller shortages, that's a VERY difficult thing to obtain, particularly at a price that isn't highway robbery.
Posted by: robin-fo on 2022-07-21 10:58:15
With USB, you need to have a microcontroller that can act as a USB host, and with the current semiconductor/microcontroller shortages, that's a VERY difficult thing to obtain, particularly at a price that isn't highway robbery.
What about the RP2040? 😉
Posted by: rabbitholecomputing on 2022-07-21 11:38:01
What about the RP2040? 😉
It's one of the few viable options
Posted by: joshc on 2022-07-21 13:23:49
USB to ADB achievable?
Try this: https://www.bigmessowires.com/usb-wombat/
Posted by: mpryon on 2022-12-14 07:06:28
I've just gotten my PS2ADB. The keyboard and power on both work well on my B&W G3, woohoo!!!

Little problem though. I've tried a couple of working PS/2 mice but neither seem to work.
Do some mice just not work or am I missing a trick somewhere?
Posted by: Tashtari on 2022-12-14 10:27:46
Do some mice just not work or am I missing a trick somewhere
I tested the firmware with every PS/2 mouse I had to hand, but it's possible that there are compatibility issues with some PS/2 mice that I haven't anticipated.

That said, I have a suspicion. PS/2 mice require a command sent to them that means basically "okay, start sending data", and without this, they'll appear dead. TashTrio firmware sends this command on power-up, but not thereafter. What I'm wondering is whether the G3 always has some power on the +5V line of the ADB connector, even when it's off, that's causing the microcontroller to start up before the mouse is connected - and thus it tries to send the command before the mouse is there to receive it. You can test this theory by unplugging the ADB connector from PS2ADB, plugging the PS/2 mouse into PS2ADB's mouse port, and then plugging in the ADB connector and starting the machine up.
Posted by: mpryon on 2022-12-14 12:00:39
I tested the firmware with every PS/2 mouse I had to hand, but it's possible that there are compatibility issues with some PS/2 mice that I haven't anticipated.

That said, I have a suspicion. PS/2 mice require a command sent to them that means basically "okay, start sending data", and without this, they'll appear dead. TashTrio firmware sends this command on power-up, but not thereafter. What I'm wondering is whether the G3 always has some power on the +5V line of the ADB connector, even when it's off, that's causing the microcontroller to start up before the mouse is connected - and thus it tries to send the command before the mouse is there to receive it. You can test this theory by unplugging the ADB connector from PS2ADB, plugging the PS/2 mouse into PS2ADB's mouse port, and then plugging in the ADB connector and starting the machine up.

Sounds good. I'll give that a try. Thanks!

Maybe relevant, maybe not, one mouse was optical. The light was on even though it wasn't working.
Posted by: rabbitholecomputing on 2022-12-14 12:12:57
Power to the p
Maybe relevant, maybe not, one mouse was optical. The light was on even though it wasn't working.
Power to the optical sensor is being delivered, regardless of what is happening at the protocol level, so this isn't terribly surprising/unexpected.
Posted by: mpryon on 2022-12-14 12:33:15
Your idea worked a treat. Cheers!
Posted by: Tashtari on 2022-12-15 08:42:52
Your idea worked a treat. Cheers!
Thanks for pointing it out! I'll address this in a future rev of the TashTrio firmware, probably sometime after the holidays...
1