No0ne / rack

Retro Adapter for Computer Keyboards
MIT License
1 stars 1 forks source link

[Feature Request] Mac 128 keyboard support #1

Open aaronnewcomb opened 8 months ago

aaronnewcomb commented 8 months ago

First of all, let me just say that this is an awesome project!! I have been able to get my modern mechanical keyboard working on many old systems. Since there are many extra GPIO pins on the Pico, I was thinking it might be cool to be able to get this to work on the Mac 128 - Mac Plus that have those reversed 4 pin RJ-9 ports. Possible???

I will be covering this project on an upcoming episode of the Retro Hack Shack once I have done some more testing. Keep up the good work!

No0ne commented 8 months ago

Cool thanks, I already knew your channel! Please note: I've still one last major issue with mouse support left before I release version 1.0.

For the pre-ADB Mac support I found a similar adapter: http://www.synack.net/~bbraun/mackbd/ The hardware with clock/data looks identical, only the connector is different and it should be not too hard to implement this! Main problem here is I don't have any pre-ADB Macs to test this with, so that makes it difficult again.

Maybe I could test with something like this: https://www.tinkerboy.xyz/product/tinkerboy-m0110-keyboard-to-usb-converter-for-the-apple-macintosh-128k-512k-plus-keyboard/

aaronnewcomb commented 8 months ago

If you are in the SF Bay area, I can hook you up. 😀 Otherwise, I am happy to do any testing you might need. I know it's not the same, but I am happy to help if I can.

Thanks, Aaron

On Tue, Mar 12, 2024, 10:43 PM No0ne @.***> wrote:

Cool thanks, I already knew your channel! Please note: I've still one last major issue with mouse support left before I release version 1.0.

For the pre-ADB Mac support I found a similar adapter: http://www.synack.net/~bbraun/mackbd/ The hardware with clock/data looks identical, only the connector is different and it should be not too hard to implement this! Main problem here is I don't have any pre-ADB Macs to test this with, so that makes it difficult again.

Maybe I could test with something like this: https://www.tinkerboy.xyz/product/tinkerboy-m0110-keyboard-to-usb-converter-for-the-apple-macintosh-128k-512k-plus-keyboard/

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3NB3YZBYPDOGNZRV3LYX7ROTAVCNFSM6AAAAABETOHNGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJTGYYTCNJWG4 . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 8 months ago

Thanks, that would be very nice but I'm in Austria, so not really nearby 😏.

I'll try to reimplement this: https://github.com/n055/ps22plus Let you know if there is something new to test!

aaronnewcomb commented 8 months ago

Great! If this works out, I would be happy to make a little daughter board for this that includes a few level shifters to make it easier for people to use.

Thanks, Aaron Newcomb

Retro Hack Shack https://www.youtube.com/channel/UCN_u47_wJuhh249H9E8sjtw/ Benicia Makerspace http://beniciamakerspace.org Linux for Makers https://amzn.to/2BwPjlj TWiT Network https://twit.tv/people/aaron-newcomb

On Wed, Mar 13, 2024 at 12:28 AM No0ne @.***> wrote:

Thanks, that would be very nice but I'm in Austria, so not really nearby 😏.

I'll try to reimplement this: https://github.com/n055/ps22plus Let you know if there is something new to test!

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3OWTJAVJTG6WILD65TYX75X7AVCNFSM6AAAAABETOHNGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJTG4ZDEMZZHA . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

I've cobbled together a really quick&dirty test to see if I'm on the right path: the only keys working are A-Z, 0-9, enter, backspace, tab, space, -, =, [, ] and .

https://github.com/No0ne/ps2x2pico/raw/27-mac-128-keyboard-support/hid2mac.uf2

Please try it on a real Mac: connect HV1 to data and HV2 to clock on the Mac side. LV1 and LV2 on the Pico side should already be GPIO11+12.

I will move this to a new repository since there will be no PS/2 code anymore.

No0ne commented 7 months ago

Did you have time to try it out?

aaronnewcomb commented 7 months ago

Perfect timing. Sorry it has taken so long, but when I went to find an early Mac to test with all of the ones I have were having issues. So I was actually just fixing up one of them and it's ready to go now. I will give it a try and let you know how it goes.

Thanks, Aaron

On Sat, Apr 6, 2024, 8:05 PM No0ne @.***> wrote:

Did you have time to try it out?

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3M3XIFNWKYTQJ3ZMVDY4CZZNAVCNFSM6AAAAABETOHNGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBRGI4DSMRYGU . You are receiving this because you authored the thread.Message ID: @.***>

aaronnewcomb commented 7 months ago

OK. Just got done making the adaptor. Everything is working perfectly. 😀 One watchout that I found is that there is a warning in the manuals not to draw more than 200ma through the keyboard port on an early Mac. I tested the current and it showed 41.5 mA with a basic USB keyboard, but an RGB LED keyboard with backlit keys would probably be a problem.

Thanks, Aaron Newcomb

Retro Hack Shack https://www.youtube.com/channel/UCN_u47_wJuhh249H9E8sjtw/ Benicia Makerspace http://beniciamakerspace.org Linux for Makers https://amzn.to/2BwPjlj TWiT Network https://twit.tv/people/aaron-newcomb

On Sat, Apr 6, 2024 at 11:38 PM Aaron Newcomb @.***> wrote:

Perfect timing. Sorry it has taken so long, but when I went to find an early Mac to test with all of the ones I have were having issues. So I was actually just fixing up one of them and it's ready to go now. I will give it a try and let you know how it goes.

Thanks, Aaron

On Sat, Apr 6, 2024, 8:05 PM No0ne @.***> wrote:

Did you have time to try it out?

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3M3XIFNWKYTQJ3ZMVDY4CZZNAVCNFSM6AAAAABETOHNGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBRGI4DSMRYGU . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

Very cool, thanks for testing my first shot at this just reading code from other projects and osciliscope traces :D I moved the issue to this new repository for creating this project. Will let you know if theres something new to test.

aaronnewcomb commented 7 months ago

So, I have actually started a PCB that could be used by people that don't want to/can't solder. My idea is that there could be a switch to choose between ps/2 and legacy Mac. Ambitiously, I have included ADB mode as an option in case that could be added. That would really turn this project into an all in one retro keyboard adapter! Happy to forward the schematic for feedback. Just let me know where to post it or I can start a new GitHub project.

Thanks, Aaron

On Mon, Apr 8, 2024, 12:04 PM No0ne @.***> wrote:

Very cool, thanks for testing my first shot at this just reading code from other projects and osciliscope traces :D I moved the issue to this new repository for creating this project. Will let you know if theres something new to test.

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3MTRSDNBS6B5HNZOVTY4LS2HAVCNFSM6AAAAABF5HYPYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBTGQ3DSMRYGE . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

Cool! Yes, no problem, start a repo for the hardware.

aaronnewcomb commented 7 months ago

Here is the repo with the initial schematic. https://github.com/aaronnewcomb/ps2x2pico-adapter It assumes the code for each type of target keyboard could be switched by pulling either GPIO 16, 17, or 18 low. I am debating on adding some current protection to the early Mac connection that limits the draw to 200mA.

Thanks, Aaron Newcomb

Retro Hack Shack https://www.youtube.com/channel/UCN_u47_wJuhh249H9E8sjtw/ Benicia Makerspace http://beniciamakerspace.org Linux for Makers https://amzn.to/2BwPjlj TWiT Network https://twit.tv/people/aaron-newcomb

On Mon, Apr 8, 2024 at 12:47 PM No0ne @.***> wrote:

Cool! Yes, no problem, start a repo for the hardware.

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3KMQFSDYYXDHHORKCTY4LX5RAVCNFSM6AAAAABF5HYPYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBTGUZDMMRQHA . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

Cool! Had a look at the schematics and I think we should merge the hardware and software repo. But we have to change the name first to a good one (not having ps2 in it). I'll drop this repo again.

The switch idea is nice, first I thought switching it by uploading a different uf2, hence the different software repos. But with the switches combining all would be better.

Also with the switches you can combine the output ports/level converters. The Pico only has two PIOs so running more modes simultaniously is already impossible. And you can leave out the switch pullup resistors as the Pico has them built-in.

The PIC chip can also be dropped as I already implemented the XT interface in my very first project: http://github.com/no0ne/ps2pico

aaronnewcomb commented 7 months ago

Excellent. "Universal Retro Keyboard Adapter"? 😀 I figured the Pico could do XT. I can add another GPIO for that option. SP4T switches are cheap, but a 4-position dip switch or jumpers are also options. I guess that's true about the level shifters. I'll update the schematic.

Thanks, Aaron Newcomb

Retro Hack Shack https://www.youtube.com/channel/UCN_u47_wJuhh249H9E8sjtw/ Benicia Makerspace http://beniciamakerspace.org Linux for Makers https://amzn.to/2BwPjlj TWiT Network https://twit.tv/people/aaron-newcomb

On Mon, Apr 8, 2024 at 9:38 PM No0ne @.***> wrote:

Cool! Had a look at the schematics and I think we should merge the hardware and software repo. But we have to change the name first to a good one (not having ps2 in it). I'll drop this repo again.

The switch idea is nice, first I thought switching it by uploading a different uf2, hence the different software repos. But with the switches combining all would be better.

Also with the switches you can combine the output ports/level converters. The Pico only has two PIOs so running more modes simultaniously is already impossible. And you can leave out the switch pullup resistors as the Pico has them built-in.

The PIC chip can also be dropped as I already implemented the XT interface in my very first project: http://github.com/no0ne/ps2pico https://github.com/no0ne/ps2pico

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3NITEUT2LJ2FQHYXSTY4NWDFAVCNFSM6AAAAABF5HYPYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBUGEZTINRQGA . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

Should I name the repo now "urka"? I'm not a native english speaker, does this sound weird to you?

No0ne commented 7 months ago

Is MIT license ok?

aaronnewcomb commented 7 months ago

Ha ha. That sounds funny in English. Let's think about it some more. I asked ChatGPT for some help. Here are some suggestions.

Peripheral Adapter for Classic Keyboards (PACK) Peripheral Adapter for Classic Keyboard Interfaces (PACKIe) Retro Adapter for Computer Keyboards (RACK) Retro Adapter for Computer Keyboard Interfaces (RACKIe) Keyboard Retrofit Universal Legacy Link (KRULL)

WDYT?

MIT is good.

Thanks, Aaron Newcomb

Retro Hack Shack https://www.youtube.com/channel/UCN_u47_wJuhh249H9E8sjtw/ Benicia Makerspace http://beniciamakerspace.org Linux for Makers https://amzn.to/2BwPjlj TWiT Network https://twit.tv/people/aaron-newcomb

On Mon, Apr 8, 2024 at 11:29 PM No0ne @.***> wrote:

Should I name the repo now "urka"? I'm not a native english speaker, does this sound weird to you?

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3O2GQKIAHRCINZJHRTY4ODFRAVCNFSM6AAAAABF5HYPYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBUGIZTSNRTHA . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

I like Retro Adapter for Computer Keyboards (RACK)

aaronnewcomb commented 7 months ago

Yeah. That's my favorite too.

Thanks, Aaron

On Tue, Apr 9, 2024, 12:29 AM No0ne @.***> wrote:

I like Retro Adapter for Computer Keyboards (RACK)

— Reply to this email directly, view it on GitHub https://github.com/No0ne/rack/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA7Q3MG57VYEVEE7ROY223Y4OKFTAVCNFSM6AAAAABF5HYPYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBUGMZDINBXGY . You are receiving this because you authored the thread.Message ID: @.***>

No0ne commented 7 months ago

I moved the content of your repo here and invited you as collaborator. You can close your repo and continue here if you want!