Pages: [1]   Go Down
Author Topic: BBC Micro Keyboard  (Read 1449 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The aim of this project is to turn a BBC Micro keyboard into a keyboard for the PC. I have the pinouts of the Micro keyboard connector, which are as follows:
PL13 keyboard
17-pin molex
1 0V
2 BREAK
3 1E
4 keyboard enable
5 SD4
6 SD5
7 SD6
8 SD0
9 SD1
10 SD2
11 SD3
12 SD7
13 cassette LED
14 CA2 (to generate In)
15 +5V
16 shift lock LED
17 caps lock LED

The keyboard sends 8 parallel bits through pins 5-12 and I believe the interrupt pin is 14. The question is, as an Arduino novice, how would I begin to interface with the keyboard?
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 302
Posts: 26285
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Do you know which model?
I have a set of schematics at home for the Model B, so I may be able to figure it out. (later)
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It's a Model B keyboard. I'm guessing I'd connect all the data lines to digital inputs and the power and ground to the relevant sockets, but I only get 0s when I output the data to the serial console no matter what keys I press. I can, however, control the LEDs, which is pretty cool. Any idea what I'm doing wrong?
Logged

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 302
Posts: 26285
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Not until I get back home, and scramble around in the attic for a while!
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 626
Posts: 34143
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

From:-
http://allwrong.wordpress.com/2007/06/01/a-description-of-the-bbc-micro-model-b-circuit-diagram/

The keyboard is interfaced to the rest of the system by the system VIA (IC3) but for most of the time it is ‘free running’. In free running mode a four-bit counter (IC1k) is clocked at 1MHz and its output is applied to a one of sixteen selectors (IC3k). In this way each column lime of the keyboard is made active in turn. Any keypresses short a column line to a row line and this event is detected by IC4k which sends a signal to the system VIA which then causes and interrupt. Following a keyboard interrupt the free running mode is stopped and the keyboard handling software causes the processor to load column numbers directly into the four bit counter and row numbers directly into a one of eight selector (IC2k).
In this way the processor can test each key in turn to discover if it is pressed or not. (A pressed key will connect a row and column and when this combination is tested a pulse will be sent to the system VIA by IC4k).

So it is not as simple as you think. There is no need to use the interrupts but you need to look at the CA2 line to see the strobe when you press a key.

« Last Edit: June 03, 2011, 10:07:47 am by Grumpy_Mike » Logged

Pages: [1]   Go Up
Jump to: