PS2toAmiga Keyboard Adapter
Sharing the project for greater visibility:
https://github.com/Jartza/PS2toAmiga
Please go support the author
PS/2 keyboard protocol in it's basic level isn't that hard, it is bidirectional synchronous serial port with clock (CLK) and data (DATA) lines, communicating with PS/2 keyboard using microcontroller has been done multiple times already - which is why I chose to use PS2KeyAdvanced library for Arduino to handle that task - I didn't want to re-invent the wheel, and I had already used PS2KeyAdvanced in earlier projects as well. It also has nice support for Caps Lock, Num Lock etc.
The keycodes read from PS/2 keyboard using PS2KeyAdvanced are then translated to the respective Amiga keycode and sent to wire, using Amiga keyboard protocol.
The converter-code also keeps track of user pressing CTRL-Amiga-Amiga simultaneously and implements resetting the Amiga when those keys are pressed.
There are two different layouts, selectable with Scroll Lock (when Scroll Lock LED is on, second layout is in use). In first layout, Windows/Menu-keys are mapped to respective Amiga-keys on both sides of the space bar, Alt-keys are mapped to respective Amiga versions. On second layout, Left CTRL is mapped to CTRL, Right CTRL to ALT, ALT to Right Amiga-key. Also on second layout, F11 and F12 are mapped to Left and Right Amiga-keys.
Mofifying the keyboard mapping should be pretty straight forward, in the table the comment after keycode denotes the respective key on PS/2 keyboard and the Amiga keycode can be checked from this image. Do not remove values from the table, and do not change the order of the items! Only change the HEX Amiga keycode, before the comment.
Code itself is "quick'n'dirty" -style but should be pretty much commented out so you can modify the internals of it to your own needs - if you have any.
Installing
See PS2KeyAdvanced project for install instructions, for some reason the version 1.0.9 failed to install into my pretty recent Arduino install, but version 1.0.8 worked as well.
For ATTiny85 support I used ATTinyCore, again check their respective site for install instructions to your Arduino IDE.
After installing ATTinyCore and PS2KeyAdvanced, load the project into your Arduino IDE and select following settings:
Board: ATtiny24/45/85 (No bootloader)
Chip: ATtiny85
Clock Source: 16 MHz (PLL)
TImer 1 Clock: CPU frequency
LTO: Enabled
millis(): Enabled
Steps to install to ATTiny85:
Use whatever ISP programmer you have. I used cheap USBASP programmer with 10 -> 6 pin adapter cable, having header pins in ISP connector and then pushing the connector into ISP holes (no header soldered) and keeping them tilted in an angle during programming.
Tools -> Burn bootloader (actually only sets fuses, and enables 16MHz PLL clock)
Sketch -> Verify/Compile
Upload using programmer
You should be done now, if not, verify your programmer connections. I also have had issue sometimes programming the new parts, which are set to 1MHz default in factory - you might need to change your Arduino settings to slow down the programmer for Fuse burning.
PS2toAmiga Keyboard Adapter
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Engineer
-
PS2toAmiga Keyboard Adapter
Sharing the project for greater visibility:https://github.com/Jartza/PS2toAmigaPlease go support the...
-
Commodore 64 Expansion Breakout
A port from https://github.com/hackup/C64ExpansionBreakoutfor easier accessabilityThis is an adapter...
-
C64 User port Breakout
A port for easier accessibility from:https://github.com/hackup/C64UserBreakouthis is a combined prot...
-
Atari 130 XE and 65 XE (PAL) ECI-Breakout
BreakOut Board for ECI Bus Connector (Enhanced Cartridge Interface (ECI)) Atari 130XE and PAL 65XE p...
-
Atari XL/XE Cart Breakout
This is a simple cartridge breakout board, useful for many purposes developing hardware for Atari 8-...
-
C64 cartridge breakout board (cartridge prototype board)
This is a prototype board for the C64 cartridge expansion port to build prototypes, or RAM and ROM e...
-
Varta Replacer (Varta to CR2032)
Sharing the project from:https://github.com/RetroNynjah/Varta-ReplacerThis simple circuit enables us...
-
Atari 2600 cartridge breakout
Sharing project for greater visibility:https://github.com/lodefmode/a2600_breakoutSimple PCB to expo...
-
Memotech MTX Power power supply
Sheared for greater visibility, original project can be found:https://oshwlab.com/sundbyk/memotech-p...
-
IEVT Keycap (Galaksija keycap, INES keycap)
Recreation of IEVT (Inštitut za Elektroniko in Vakuumsko Tehniko Ljubljana) series Y keycaps, these ...
-
Amiga CDTV remote
The Commodore CDTV BrickThis is not my project, I'm just share it for grater visibility. Please cons...
-
Amiga keyboard adapter
This is not my project, I'm just share it for grater visibility. Please consider supporting the orig...
-
Watara Supervision flash cart-Superpico
A Raspberry Pi Pico-based Supervision Flash CartNot my project, just sharing for greater visibility,...
-
TK-Pie, ZX Spectrum HDMI interface
This project was made by Victor Trucco, I'm only sharing it fore ease of access. TK-Pie for Spectrum...
-
Famicom AV/Power Board
A Power/AV PCB for Famicom (Japanese NES), drop in replacement for the power supply and adding compo...
-
Programmable Mist Maker - XIAO / QT PY Extension
667 1 0 -
RadioHAT - Raspberry Pi radio development platform
515 0 1 -
-
-
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
3024 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
3629 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
3892 2 2







