Sunday 27 January 2013

SVI/Spectrum keyboard, continued

As a continuation of the Spectravideo/Spectrum keyboard modification, I needed to get a bit deeper into how the key combinations work in the later Spectrum models to replicate the effect in my keyboard. Converting the SVI keyboard to function as the normal Spectrum keyboard was simple, if tiresome. The Spectrum 128/Plus has dedicated Delete, Edit and Arrow keys, and these pose additional problems for the hobbyist keyboard builder.

So, once more, from the top:

Similar, yet different... the delete (backspace) in the old Spectrum requires
pressing two keys simultaneously.
With the old Spectrum, it's clear how one keypress is transmitted to the computer's brain. (The ULA chip plays an important role in this but I need not go there) The row and column connectors form a matrix, where each one key produces a unique combination in the table. But, when multiple keys are pressed, such as combination of CAPS SHIFT and any key, multiple connections are also made.
Pressing a single key, a connection is made between
the row and column connectors on the Spectrum  motherboard.

Here I am using DELETE function as the example key, and it is also the first one I am physically building. With the rubber-keyed Spectrum, the typist had to press both CAPS SHIFT and 0 (zero) key together to backspace(!) Using these kind of compromises, designers at Sinclair could reduce the amount of keys to 40, which is exactly 5x8.

Pressing CAPS SHIFT and 0 together on the old Spectrum gives the backspace function. 

The later Spectrum keyboards have a dedicated DELETE key, among a bunch of other new keys. Yet there are no more connections in the Spectrum+/128 keyboard membrane than in the original. In fact, these newer keyboards ought to be perfectly interchangeable with the old Spectrum keyboards. Looking at the keyboard membrane of a 128 reveals a mish-mash of wires:

A Spectrum 128 keyboard. Slightly more complex.
(Click the picture to get a bigger version)
Pressing the Delete key therefore has to produce exactly the same kind of connections to the motherboard as when pressing CAPS SHIFT and 0 on the original Spectrum. So far, this is pretty clear: Even with the Plus keyboard it is possible to get the "delete" in the old fashioned way, by pressing CAPS SHIFT and 0.

The DELETE key is pressed. (Simulating the Caps shift and 0 key)
The elements in the tri-layer membrane are brought together simultaneously.

How the plus/128 membrane works is that it seems to have three membrane layers instead of two. Each combination key press produces the needed connections mechanically. I've not verified physically that the Delete key especially needs all the three layers, but just to be on the safe side I have based my SVI keyboard work on this assumption.

One clear message here is that both of the connections must be activated only for the duration of the key press. For example, it is not possible to have one wire permanently connected as it would mess the entire keyboard functionality.

Building the SVI key

After clarifying the keyboard mechanism visually to myself in the above manner, I could encourage myself to replicate the way the connections work in the extra keys of the plus/128 model. This requires a further modification to the SVI keyboard circuit board. I have cut the normally two-sided keyboard element into a three-part one, mimicking the way the three-layered membrane works.

Simplified view of one key in the Spectravideo keyboard circuit board.
Left: The normal, two-part connector. Right: The modified, tri-part connector.
The dotted circle shows the estimated area covered by the conducting "peg" in the key above. 

I have built the Delete function into the SVI backspace key, and it works. Just about.
This hack is problematic because the conducting peg under the key does not so easily cover all the three parts. So, even if the theory is sound, the key is not very responsive.

No comments:

Post a Comment