Page 1 of 2

Building a Unified Retro Keyboard

Posted: Wed Apr 03, 2024 5:24 pm
by nama
Now that I have my serial system up and running, it's time to migrate it to video system. For this I need a keyboard.
I decided to build one of Dave's Unified Retro Keyboards. After a bit of playing around I was able to get it working. I haven't built up the whole thing yet, but just enough for testing by shorting out the switches with a jumper.

One thing I noticed very quickly was that the '0' (number) and the 'O' (letter) seem to be swapped.
See the HELL0 WORLD photo where the first character is the letter 'O', and the second character is the number '0'.

I quickly mentioned this to Dave and he suggested I start a thread so we have a record of the fix.
The keyboard is Rev 1.2 and the OSI encoder board is Rev 2.
hell0.jpg
hell0.jpg (84.66 KiB) Viewed 1456 times
short.jpg
short.jpg (90.29 KiB) Viewed 1456 times
all.jpg
all.jpg (325.67 KiB) Viewed 1456 times

Re: Building a Unified Retro Keyboard

Posted: Wed Apr 03, 2024 5:38 pm
by nama
if it's an issue with keyboard matrix, one possible fix is to remove the two diodes for '0' and 'O' and reinstall new ones. One on the top and one on the bottom of the board...would this work? see photo
possible fix.jpg
possible fix.jpg (122.79 KiB) Viewed 1454 times

Re: Building a Unified Retro Keyboard

Posted: Wed Apr 03, 2024 8:06 pm
by dave
Nice work!

1.2 is a very old version of the keyboard. Looking back through the commit history, I see the following commit from 4 years ago:

adcb32a Swap "O" (Cap O) and "0" (zero) keys

So I guess I accidentally placed them in a swapped position. I guess that happened because the key designators looked the same, and I didn't check carefully the first time during layout, and Kicad didn't at that time support cross-probing.

Swapping the diodes should work.

The current version is 1.12. Since fixing the "0" and zero swap, I also added proper OSI mounting holes, LED support, and more. It's probably a good idea to upgrade.

Have you had a chance to try out the delayed reset, soft shift-lock, and sound?

Dave

Re: Building a Unified Retro Keyboard

Posted: Wed Apr 03, 2024 8:38 pm
by nama
I haven't checked the reset, shift lock or sound yet. I'll do the diode mod and give those a go...Actually I have no idea what 'sound' does or how to set it up. Can you possibly help me understand how to test it?
Cheers

Re: Building a Unified Retro Keyboard

Posted: Thu Apr 04, 2024 11:38 am
by nama
Ok..the diode hack worked. Now '0' and 'O' are correct.
Soft Shift lock works too.
But reset does not seem to work. I'm assuming the idea is to run some wires from the 2 pin connector on the OSI encoder board to the reset connector on the 505 board. I tried that, but also tried looking at whats happening in the two pins with a scope Both are at GND and don't move when a simulated (jumper wires) BREAK is pressed.
Still unsure about sound though and what it's supposed to do.

Re: Building a Unified Retro Keyboard

Posted: Thu Apr 04, 2024 6:32 pm
by dave
nama wrote: Thu Apr 04, 2024 11:38 am Ok..the diode hack worked. Now '0' and 'O' are correct.
Soft Shift lock works too.
But reset does not seem to work. I'm assuming the idea is to run some wires from the 2 pin connector on the OSI encoder board to the reset connector on the 505 board. I tried that, but also tried looking at whats happening in the two pins with a scope Both are at GND and don't move when a simulated (jumper wires) BREAK is pressed.
OK, that's expected behavior so far. The /BREAK output is an open-collector signal. The OSI interface uses a diode to ensure that the timing circuit can pull the /RESET line low, but cannot drive it high.

The /RESET line is pulled high on the 505 board by 4.7k resistor R51.

- First verify that this line is at 5V.
- Then, connect PIN 1 of J5 (the square pad on the /RESET output) to the /RESET input on the 505 board. You should also connect PIN 2 to ground on the 505 as a good electrical practice, to avoid ground loops, but for testing, it's not necessary since the interface is grounded through the main cable already.
- You should get an approximately 100 usec reset pulse after holding the BREAK key down for 3 seconds, if you used the RC values from the BOM. You can make the RESET delay longer or shorter by increasing or decreasing the value of C18.
- The RESET circuit should also generate a RESET pulse at power up.

Are you able to scope the RESET signal to see what it is doing?

I posted a description of how the circuit works here.
Still unsure about sound though and what it's supposed to do.
To be honest, I adapted the sound circuit directly from the 542B design, but have never used sound on an OSI computer. Back in the day, I had a C2-4P with the original 540 board. No color or sound.

There is a description of how to use sound in the C4P Manual, page 30: https://osiweb.org/manuals/c4man.pdf

I believe the sound outputs are routed directly to the rear of the computer in the C4P, so you should be able to connect these directly to an audio amplifier.

Re: Building a Unified Retro Keyboard

Posted: Fri Apr 05, 2024 7:31 am
by nama
Thanks for all the very useful info...so good news, reset works, although it takes over 5 seconds!!!!
I will change out C18 from 6.8uf to something like 3.3uf to get the reset faster?
Still not checked sound ability yet.

Re: Building a Unified Retro Keyboard

Posted: Fri Apr 05, 2024 6:16 pm
by dave
Yes, the reset time will be the time it takes to drop the voltage on C18 from about 5V to about 2V (about 40% of starting V, relative to GND), which is approximately 1 time constant (=37% residual after 1 TC). So 1M and 6.8 should give close to a 6.8 sec time constant. The tolerance on those caps is pretty loose, typicall 20%, so a 6.8 uF cap would give you anywhere from 5.4 to 8.2 sec. Moving to a 3.3 uF cap would give you from 2.6 to 4 sec, depending on your cap.

If you don't have much of a capacitor selection, or if changing resistor R14 is easier, you can change the resistor intead. Since you know your cap gives you 5 secs with a 1M resistor, you can assume it's about 5 uF. You can choose the time 't' you prefer and use a resistor such that R*.000005 = t. So, for 3 secs, 3 secs / .000005F = 600k ohm, so choose a value close to 600k.

Is the power-on reset working correctly as well?

Re: Building a Unified Retro Keyboard

Posted: Sat Apr 06, 2024 9:40 am
by nama
I removed the 6.8uf and installed a 2.2uf cap. Time for reset now is just about 2.5 seconds...still slightly long for my tastes, but certainly much more manageable.
I also wanted to ask you about the LED for the Soft Shift Lock. I see there are two pads for installing an LED under the switch area, however if an LED was installed here the keyswitch would no longer fit...I did temporarily install an LED for testing here, and it did work just fine. Just wondering what your thoughts were about installing an LED permanently? Where these pads just a place to install some wires that lead to an LED mounted elsewhere...or is there a special keyswitch with an internal LED hat I dont know about?
Thanks again.

Re: Building a Unified Retro Keyboard

Posted: Sat Apr 06, 2024 3:23 pm
by nama
Ok...I think I found the answer to the LED question...seen photo