Amiga USB/PS2 mouse


My goal is to build own adapter for connecting USB mouse to Amiga Mouse/Joystick port and extend circuit scheme from Henryk Richter (see links in References). Functionality of this cheap solution is possible only with USB mouse which support PS/2 protocol. For example Airen RedMouseR. Those who are familiar with Amiga knows, that first port for mouse is shared with joystick. So you must disconnect mouse and connect joystick and you have then potencial problem with port wear. Idea is just use the switch button to disconnect proper port and connect joystick port or mouse port and use this for second joystick port too, becasu this circuit supoort mouse with wheel and additional button. Ofcourse if you use at port 1: mouse and at port 2: joystick you will only have a classic mouse.

For programming of chip connect PICkit with PIC16F628A as it is in following table. Pay attention to resistor 22K between VDD and VPP.

2 VDD 14 VDD
3 VSS Ground 5 VSS
6 not con. not connected

I used for programming SW: MPLAB X IDE v5.50. In setup choose MPLAB IPE as this part of SW is intended as standalone simple application for programming. There can be some issues. For example I used previously some programming adapter connected to PICkit. Jumpers were set correctly, but PIC MCU had higher temp and I got error: Target Device ID (0x3fe0) is an Invalid Device ID. Please check your connections to the Target Device. After several hours of suffering and finding the cause of the problems, I gave up on the adapter and connected the MCU to the breadboard.

The right log from programming is following:


The following memory areas(s) will be verified:
program memory: start address = 0x0, end address = 0x7ff
configuration memory
EEData memory
User Id Memory

Verification successful.
Loading code from D:\...\ps2m_aminet\ps2m\pic\ps2m_5button.hex...
2021-08-19 17:50:36 +0200 - Hex file loaded successfully.
2021-08-19 17:50:41 +0200 - Programming...

Device Erased...


The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x1f3
Programming/Verify complete
2021-08-19 17:50:47 +0200 - Programming complete

Blank Checking...
program memory
Address: 0 Expected Value: 3fff Received Value: 18b
Blank check complete, device is not blank.

Blank Checking was clicked additionally just for sure :)

  • project/amiga_ps2usb_mouse/amiga_usb_ps2_mouse.txt
  • Last modified: 2021/08/27 14:58
  • by cyberian