This is an old revision of the document!


Introduction

The 6850 is a serial port controller. It is used on Thomson TO machines to connect the keyboard to other parts of the system, allowing a detachable keyboard on the TO9 and TO9+.

On the TO9, the joystick/mouse connector is on the detachable keyboard, so it is scanned through the same serial protocol.

Registers

AddressName Description
E7DESCR/SSDR Control (write)/Status (read)
E7DFSTDR/SRDRData transmit/receive

Keyboad communication protocol (TO9)

The communication happens at a rate of 9600 bauds. It is asynchronous, there is no clock signal on the keyboard connector.

Reading

When no peripherals are connected

This always uses an odd parity

  • When a single key is pressed, its key code is sent every 70 milliseconds (keyboard repeat)
  • When more than one key are pressed, they key codes are sent only once (on press), until only one is pressed.
  • When no key is pressed, nothing is sent.

With peripherals

When a joystick or mouse is connected, the protocol is made of 4 bytes every 10 milliseconds.

  • The first byte has odd parity and holds the key code as above. If no key is pressed, it has value 0. If key repeat is active, it is 0 6 times out of 7, and the key code of the repeated key for the 7th time, leading to the same 70ms key repeat delay.

The 3 other bytes have even parity and hold data for the peripheral:

  • The second code is the relative X coordinate (from 0 to 255).
  • The third code is the relative Y coordinate.
  • The last byte is the buttons (bits 0 and 2) and X and Y overflows (bits 6 and 7, when the mouse or joystick moves too far, this is set).
documentations/devices/6850.1395866594.txt.gz ยท Last modified: 2015/02/28 17:08 (external edit)
CC0 1.0 Universal
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0