Kempston Joystick 2, Joystick I/O
| Number | PortNumber::$xx37 |
|---|---|
| Decimal | NumberDec:: |
| Short desc. | ShortDesc::Kempston interface second joystick variant and controls joystick I/O. |
| Bit Mask | PortMask:: |
| Readable | Readable::Yes |
| Writable | Writable::Yes |
| Subsystem | Subsystem::Input |
For READ functionality the details are identical with {{#ask: PortNumber::$xx1F }} ($xx1F{{#ask: PortNumber::$xx1F |mainlabel=- |headers=hide |intro= / |?NumberDec#- }})
Since core3.1.4 (but needs fixing, so 3.1.5 probably) there is option to do I/O operations through joystick ports.
The I/O mode should be set by writing this port first followed by enabling I/O mode on the joysticks with a write to {{#ask: TBRegisterNumber::$05 }} ($05).
The WRITE functionality:
| Bit | Function |
|---|---|
| 7-6 | select I/O mode: %00 = bit bang, %01 = clock, %10 = uart |
| 5-1 | Reserved must be 0 |
| 0 | parameter bit controls state of pin 7 on both joystick connectors:
bit bang: bit 0 is copied to pin 7 |
† A runt clock pulse may appear in the first cycle, minimum pulse width is 1/Fsys = 35.7ns