summaryrefslogtreecommitdiff
path: root/content/hardware/imc-2001-keyboard.md
blob: aaeea43e203fd1daee1db4549af0f12970db6d18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
+++
title = "IMC-2001 keyboard"
+++

connector to machine (sort of a rubber version of a DB-9):

The connector on the computer side has a 9-pin DSUB connector male:

```
  +-----------    white  INTR
  | +---------    black  GND
  | | +-------    green  DATA
  | | | +-----    blue   RESET
  | | | | +---    Yellow CLOCK
-------------
\ O O O O O /
 \ O O O O /
  ---------
   | | | +----    red    5V
   | | +------    n.c.
   | +--------    n.c.
   +----------    n.c.
```   

On the keyboard PCB there is a strange white connector with the following layout:

```
    +------------- white   INTR (active low, after last clock tick)
    | +----------- black   GND
    | | +--------- blue    RESET (active low)
    | | | +------- green   DATA
    | | | | +----- yellow  CLOCK
    | | | | | +--- red     +5V
   +-----------+
   |o o o o o o|
   +-----------+
   |           |
```

Keyboard layout:

{{< figure src="/images/hardware/imc-2001/keyboard_front.jpg" alt="keyboard layout" >}}

Keyboard has a 8039 CPU inside and a 2K EPROM:

{{< figure src="/images/hardware/imc-2001/keyboard_pcb_controller_prom.jpg" alt="PCB and controller" >}}

On the oscilloscope:

{{< figure src="/images/hardware/imc-2001/oscilloscope_serial_keyboard.jpg" alt="serial keyboard signal" >}}

The protocol is basically ASCII over 19200 baud serial, with an interesting end signal which
IMHO triggers a latch on the motherboard or so (INTR white above).

Broken keyboard cable (the black pins are just connectors added by me to test connectivity,
both connector are female per default):

{{< figure src="/images/hardware/imc-2001/keyboard_cable.jpg" alt="PCB and controller" >}}