-Az 1351 joystick üzemmódja olyan, mintha egy joysticket mozgatnál, vagy még annál is rosszabb.
Vagyis nem valódi opció, bár valóban működik Plus/4-en, de akkor már ott a joystick :-)
RS232 egér elve:
-Max232 TTL illesztő áramkör a User portra (készen vásárolható pár száz forintért)
-Az általam feltötlött doksi alapján Dupont kábelekkel összeközni a user porttal a Tx, Rx, GND és 5V
Rx --> M (not used by mouse)
Tx --> C
GND -->1, 12, A or N
VCC --> 2
-ACIA interruptos kód a 3 bájt beolvasásásra, amit az RS232 egér küld.
Folyamatosan olvasva a CPU teljesen leakad, lassú hozzá.
-Az RS232 egér által küldött 3 byte, láthatóan kicsit összevissza vannak a pozicíók:
(1200 baud, 7 bit, 1 stop bit, no parity)
D6 D5 D4 D3 D2 D1 D0
1st byte 1 LB RB Y7 Y6 X7 X6
2nd byte 0 X5 X4 X3 X2 X1 X0
3rd byte 0 Y5 Y4 Y3 Y2 Y1 Y0
-Így néz ki C-ben a dekódolása az RS232 egér által küldött 3 byte "s" adatnak:
void DecodeMouse(unsigned char *s,int *button,int *x,int *y)
{ *button = 'n'; /* No button - should only happen on an error */
if ((s[0] & 0x20) != 0)
*button = 'l';
else if ((s[0] & 0x10) != 0)
*button = 'r';
*x = (s[0] & 0x03) * 64 + (s[1] & 0x3F);
if (*x > 127)
*x = *x - 256;
*y = (s[0] & 0x0C) * 16 + (s[2] & 0x3F);
if (*y > 127)
*y = *y - 256;
}