mirror of
https://github.com/MiSTer-devel/CDi_MiSTer.git
synced 2026-06-14 03:04:32 +00:00
- Added servo controller SPI fake communication Behaves as a closed but empty tray - Added pointing device emulation MiSTer joystick data used as input Behaves like a maneuvering device - Added SCI IRQ to 6805 cpu core - Added SPI and SCI to 6805 uC - Fixed spurious 68k chip select for slave - Added documentation about I2C to the Front LCD - Simulated U3090MG no longer causes front panel button presses Lead to spurious IRQs before - Removal of slave memory patches
92 lines
1.7 KiB
Markdown
92 lines
1.7 KiB
Markdown
# Input Device
|
|
|
|
## Sources
|
|
|
|
https://www.theworldofcdi.com/open-source/hardware-development/the-cd-i-controller-interface/
|
|
https://www.theworldofcdi.com/open-source/hardware-development/cd-i-gamepad-adapter/
|
|
https://github.com/anarterb/SNEStoCDi/blob/master/sketchSNEStoCDi.ino
|
|
|
|
Communication starts with device sending 0b11001010 to CD-i player.
|
|
|
|
Afterwards a frame of 3 is transmitted
|
|
|
|
Idle state:
|
|
0= 0b11000000
|
|
1= 0b10000000
|
|
2= 0b10000000
|
|
|
|
## Data format
|
|
|
|
* Protocol for Maneuvering Device
|
|
|
|
Only 7 bits. The 8th bit is always 1.
|
|
|
|
Byte 0 -> 1 1 B1 B2 Y7 Y6 X7 X6
|
|
Byte 1 -> 1 0 X5 X4 X3 X2 X1 X0
|
|
Byte 2 -> 1 0 Y5 Y4 Y3 Y2 Y1 Y0
|
|
|
|
## Spoon
|
|
|
|
Baud rate is 1200
|
|
|
|
Spoon Start
|
|
|
|
CA C0 80 80 This is Manuvering Device + No button Press
|
|
CA FF ??
|
|
FE ??
|
|
CA C0 80 80 This is Manuvering Device + No button Press
|
|
|
|
|
|
Spoon D-Pad Left
|
|
|
|
C3 BE 80 Permanently
|
|
C3 B8 80 After a while
|
|
|
|
Spoon D-Pad Right
|
|
|
|
C0 82 80 Permanently
|
|
C0 88 80 After a while
|
|
|
|
Spoon D-Pad Up
|
|
|
|
CC 80 BE Permanently
|
|
|
|
Spoon D-Pad Down
|
|
|
|
C0 80 82 Permanently
|
|
|
|
Spoon Left Press
|
|
|
|
E0 80 80 Transmitted once
|
|
|
|
Spoon Left Release
|
|
|
|
C0 80 80 Transmitted once
|
|
|
|
Spoon Right Press
|
|
|
|
D0 80 80 Transmitted once
|
|
|
|
Spoon Right Release
|
|
|
|
C0 80 80 Transmitted once
|
|
|
|
|
|
This means:
|
|
|
|
The right button is B2.
|
|
The left button is B1.
|
|
|
|
The speed increments over time
|
|
It starts with 2 and changes to 8.
|
|
The relativ coordinates are two's complement.
|
|
|
|
Pressing left is negative X.
|
|
Pressing right is positive X.
|
|
Pressing up is negative Y.
|
|
Pressing down is positve Y.
|
|
|
|
When the D-Pad is pressed, the Spoon will send permanently. Button presses cause transmission only on event.
|
|
|
|
|