2017-08-10 13:33:56 -04:00
## USB mouse -> 1351 (C64) mouse adapter (+paddles)
2017-06-01 10:09:08 -04:00
2017-08-07 04:21:48 -04:00
#### Requirements
2017-08-07 04:20:38 -04:00
2017-08-07 04:36:09 -04:00
- Arduino Pro Micro 16MHz 5V (or Arduino Uno 16MHz 5V)
2019-11-22 04:03:03 -05:00
- USB Host Shield MAX3421EE (USB Host Shield Library 2.0 from Arduino IDE Library Manager)
2017-08-07 04:23:06 -04:00
- 2pcs 10k resistors
- Level shifter for 6 pins
2017-08-07 04:20:38 -04:00
2017-06-01 10:21:59 -04:00
#### Pin 9 and 10 needed for TIMER1 - Move SS and INT of USB host shield library away
2017-06-01 10:00:10 -04:00
2017-05-30 12:31:59 -04:00
C:\Users\xxxxx\Documents\Arduino\libraries\USB_Host_Shield_Library_2.0\UsbCore.h:
2017-06-01 10:00:10 -04:00
```
2017-08-07 04:35:45 -04:00
//typedef MAX3421e< P10 , P9 > MAX3421E; // default pin asignments
2017-06-01 10:21:27 -04:00
//Arduino Pro Micro SS=A0(P18), INT=A1(P19):
2017-05-30 12:31:59 -04:00
typedef MAX3421e< P18 , P19 > MAX3421E;
2017-08-07 04:35:45 -04:00
//Arduino Uno SS=A0(P14), INT=A1(P15):
//typedef MAX3421e< P14 , P15 > MAX3421E;
2017-05-30 12:32:52 -04:00
```
2017-06-01 10:00:10 -04:00
#### Joystick port -> Arduino
2017-08-10 11:42:06 -04:00
- 9 (POTX) -> 10k resistor -> 9 (OC1A) (brown)
- 9 (POTX) -> Arduino Pro Micro: 4, Arduino Uno: 8 (ICP1) (white)
- 5 (POTY) -> 10k resistor -> 10 (OC1B) (orange)
- 6 (FIRE, left mouse button) -> 5 (yellow)
- 1 (UP, right mouse button) -> 6 (blue)
- 8 GND -> GND (black)
- 7 5V -> 5V (red)
2017-08-10 12:55:32 -04:00
##### +Paddles:
- 3 (LEFT) (Paddle 1 fire) -> 7 (grey)
- 4 (RIGHT) (Paddle 2 fire) -> 8 (purple)
2017-08-10 12:56:02 -04:00
(unconnected: 2 DOWN (green))
2017-06-01 10:00:10 -04:00
2017-06-01 10:02:56 -04:00
#### USB Host Shield (3.3V) -> Arduino
2017-08-07 04:35:45 -04:00
- SS -> A0 (Arduino Pro Micro), A0 (Arduino Uno) (check UsbCore.h) (3.3V!)
- INT -> A1 (Arduino Pro Micro), A1 (Arduino Uno) (check UsbCore.h) (3.3V!)
- MOSI -> 16 (Arduino Pro Micro), 11 (Arduino Uno) (3.3V!)
- MISO -> 14 (Arduino Pro Micro), 12 (Arduino Uno) (3.3V!)
- CLK -> 15 (Arduino Pro Micro), 13 (Arduino Uno) (3.3V!)
2017-06-16 11:35:02 -04:00
- RST -> RST (3.3V!) (Pro Micro: beware of GND in place of RST!)
2017-06-01 10:00:10 -04:00
- GND -> GND
- VCC -> 3.3V
- VBUS -> 5V (cut trace from VBUS-pad to resistor!)
2017-06-16 11:35:02 -04:00
2017-06-01 10:24:57 -04:00
!: MOSI, MISO and CLK pins are wrongly marked in USB Host Shield DuinoFun UHS mini v2 -module!
2017-06-01 10:00:10 -04:00
2017-06-01 10:03:22 -04:00
#### Links
- http://asdasd.rpg.fi/~svo/%5bm%5douse/
2017-06-05 12:24:09 -04:00
- http://www.zimmers.net/anonftp/pub/cbm/documents/projects/interfaces/mouse/Mouse.html
2017-06-05 13:40:16 -04:00
- https://www.google.com/patents/US4886941
2017-06-01 10:03:22 -04:00
- https://ist.uwaterloo.ca/~schepers/MJK/pics/joyports.gif
2017-06-01 10:06:44 -04:00
- Trace cut from USB Host Shield mini: https://geekhack.org/index.php?topic=80421.0
2017-06-01 13:22:47 -04:00
- https://gammon.com.au/interrupts
- http://www.avrbeginners.net/architecture/timers/timers.html
2017-08-07 04:27:07 -04:00
- https://github.com/felis/USB_Host_Shield_2.0/blob/master/avrpins.h
2017-08-07 10:42:06 -04:00
- https://github.com/felis/USB_Host_Shield_2.0/blob/master/UsbCore.h
2017-06-01 10:00:10 -04:00
2017-06-01 10:23:48 -04:00
### Hardware
2017-06-01 10:02:56 -04:00
I used Arduino Pro Micro and module which have AMS1117 3.3V regulator and 8 bidirectional voltage converters.
2017-06-01 10:09:41 -04:00
2017-06-01 10:20:07 -04:00
#### Arduino
2017-06-01 10:09:41 -04:00
![Arduino Pro Micro ](https://github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/raw/master/Images/Arduino_ProMicro.jpg )
2017-06-01 10:20:07 -04:00
#### USB Host Shield
2017-06-01 10:09:41 -04:00
![USB Host Shield DuinoFun UHS mini v2 ](https://github.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/raw/master/Images/USB_Host_Shield_DuinoFun_UHS_mini_v2.jpg )
2017-06-01 10:20:07 -04:00
#### Level converter with regulator
2017-06-01 10:09:41 -04:00
![Level converter with AMS1117 ](https://raw.githubusercontent.com/mcgurk/Arduino-USB-HID-RetroJoystickAdapter/master/Images/Levelconverter_with_AMS1117.jpg )