Add first HW findings

This commit is contained in:
Patrick Moessler 2021-08-23 20:56:08 +02:00
parent d267fdc221
commit b60d5d6a75

62
hardware.md Normal file
View file

@ -0,0 +1,62 @@
# Game HAT hardware
## ICs
| Type | Usage |
| ----------- | ----- |
| RTD2660H | Main display controller, HDMI input, ADC for joystick |
| SW6106 | Power control, battery charging, power state LEDs |
| APA2068 | Audio amplifier |
| 25D80 ? | 1Mbit SPI Flash, RTD2660 firmware & config |
| CS4334K | I²S DAC |
| unmarked SOIC8 | ? possibly Audio?, Power? near headphone jack and byttery switch |
## IO Hardware
- 6 Buttons, tactile, 12mm x 12mm x 3mm case, square stem 4mm high.
- Select, Start, A, B, X, Y
- Button cap diameter 11.5mm, 13mm brim.
- Total height button+cap: 12.4mm
- Pad layout: 5.5m +- 0.75mm x 14.5mm +- 1.25mm
- 2 Buttons, right angle micro button, square stem
- Analog joystick with middle button. Typical XBox/PS style.
The buttons can be used directly with mk_arcade_joystick_rpi, available from RetroPie-Setup.
Use this `/etc/modprobe.d/mk_arcade_joystick_rpi.conf` (note: no support for middle button yet, see below):
```conf
options mk_arcade_joystick_rpi map=5 gpio=5,6,13,19,21,4,26,12,23,20,16,18
```
## Other Knowledge
- The RTD2660H is used to translate the joystick X/Y analog axis into four distinct L/R/U/D GPIOs to the Pi.
- Pin 50/51, A-ADC0/1 is used on the RTD2660H
- Joystick middle button is connected to Pi Pin 5 (IO 03) vs Gnd (active low).
- Power is broken when switching between battery and USB
## Display
Seems to be 3:2, 480x320 native. Setting this via HDMI in raspbian is difficult.
Default config proposed by WaveShare is 800x600@60
### Display EDID
```hex
00 FF FF FF FF FF FF 00 4A 8B 54 4C 01 00 00 00
0C 11 01 03 81 46 27 78 8A A5 8E A6 54 4A 9C 26
12 45 46 AF CF 00 95 00 95 0F 95 19 01 01 01 01
01 01 01 01 01 01 01 1D 00 72 51 D0 1E 20 6E 28
55 00 B9 88 21 00 00 1E 8C 0A D0 8A 20 E0 2D 10
10 3E 96 00 B9 88 21 00 00 18 00 00 00 FD 00 32
4B 18 3C 0B 00 0A 20 20 20 20 20 20 00 00 00 FC
00 33 32 56 33 48 2D 48 36 41 0A 20 20 20 01 29
02 03 21 71 4E 06 07 02 03 15 96 11 12 13 04 14
05 1F 90 23 09 07 07 83 01 00 00 65 03 0C 00 10
00 8C 0A D0 90 20 40 31 20 0C 40 55 00 B9 88 21
00 00 18 01 1D 80 18 71 1C 16 20 58 2C 25 00 B9
88 21 00 00 9E 01 1D 80 D0 72 1C 16 20 10 2C 25
80 B9 88 21 00 00 9E 01 1D 00 BC 52 D0 1E 20 B8
28 55 40 B9 88 21 00 00 1E 02 3A 80 D0 72 38 2D
40 10 2C 45 80 B9 88 21 00 00 1E 00 00 00 00 D0
```