WEBVTT

00:00:00.199 --> 00:00:09.440
this is the console 2624 a hall effect keyboard that was

00:00:05.839 --> 00:00:12.920
made all the way back in 1989 in the

00:00:09.440 --> 00:00:16.480
cssr the czechoslovak Soviet Socialist

00:00:12.920 --> 00:00:18.279
Republic using components from Tesla and

00:00:16.480 --> 00:00:22.640
it was deployed in places like the Chernobyl nuclear power plant this thing

00:00:20.800 --> 00:00:28.400
doesn't glow does it not if we keep the lights on that's reassuring I've already

00:00:25.760 --> 00:00:33.280
got a lot of questions but the lab made that old Soviet Mouse work so so I'm

00:00:31.119 --> 00:00:38.920
guessing the answer to can I game on it is yes yeah you can and it's one of the

00:00:36.480 --> 00:00:44.039
best keyboards we've ever tested but also one of the worst we'll unpack that

00:00:40.920 --> 00:00:45.760
in a bit first I need a word for what

00:00:44.039 --> 00:00:50.480
this thing feels like wumpy here listen for

00:00:50.719 --> 00:00:58.480
yourself and listen to the segue to our sponsor next too say bonjour to the

00:00:56.440 --> 00:01:03.399
hello cam Pro and give your setup an upgrade with its 1080p res resolution 60

00:01:01.120 --> 00:01:07.159
FPS frame rate and Windows hello facial recognition you can learn more at the

00:01:05.280 --> 00:01:14.799
link in the video description our specimen here is a product of zuco Bruno

00:01:10.880 --> 00:01:17.880
or Bruno Armory first founded in 1918

00:01:14.799 --> 00:01:20.159
they made everything from rifles to cars

00:01:17.880 --> 00:01:23.640
to farming equipment and they have a soccer team named after them now anyway

00:01:22.320 --> 00:01:27.960
none of that matters for the moment what matters is getting it working and I

00:01:25.759 --> 00:01:34.200
suspect our first problem is going to be this connector they used a game Port

00:01:31.400 --> 00:01:38.920
well sort of it's the same da15 connector but in this case it's used for

00:01:36.640 --> 00:01:43.680
simple asynchronous serial Communications simple-ish this helpful

00:01:41.479 --> 00:01:47.640
post on deskthority keyboard Forum gave us some good pointers and as it turns

00:01:45.880 --> 00:01:53.479
out we only need to hook up six of the pins ground serial input and output both

00:01:50.759 --> 00:02:00.159
5 and negative2 volt power and finally a clock pulse does asynchronous cial

00:01:55.840 --> 00:02:02.119
normally need a clock pulse no ah so

00:02:00.159 --> 00:02:08.599
there's your ish a little more on that later for now

00:02:05.399 --> 00:02:11.000
according to Forum post we need to

00:02:08.599 --> 00:02:17.040
provide a square wave at 16 times the frequency or B rate okay oh but there's

00:02:14.599 --> 00:02:22.680
a recommended value wow I can't believe how easy this is turning out to

00:02:19.120 --> 00:02:25.080
be we just wire our connector up to a

00:02:22.680 --> 00:02:29.040
microcontroller like we did last time in this case a Raspberry Pi Pico that we've

00:02:27.239 --> 00:02:34.440
programmed to send the clock signal using timer upts and then read the

00:02:31.640 --> 00:02:41.680
serial data and spit it out over USB okay not super familiar with their

00:02:36.239 --> 00:02:46.840
alphabet but hey I know Numbers One MH

00:02:41.680 --> 00:02:49.840
two o x uh okay

00:02:46.840 --> 00:02:51.560
V uh it's pretty clear something's wrong

00:02:49.840 --> 00:02:55.959
because if this is how it worked I'm surprised Chernobyl lasted as long as it

00:02:53.080 --> 00:02:59.159
did time to do some digging we can see that different Keys produce the same

00:02:57.360 --> 00:03:03.560
output but to really understand what's at play here we're going to need to see

00:03:00.640 --> 00:03:08.480
the individual bits and hence you weren't kidding this is awesome Rhoden

00:03:06.080 --> 00:03:13.000
Schwarz has an asky mode that means that not only can we see the raw output but

00:03:11.120 --> 00:03:18.159
it actually shows us up at the top exactly which asy character it's

00:03:14.799 --> 00:03:20.760
supposed to correspond to of course as

00:03:18.159 --> 00:03:27.280
cool as this is that doesn't really fix anything so in order to do that we had

00:03:24.360 --> 00:03:33.280
to change the mode what are we looking at now so once we showed it all in

00:03:30.879 --> 00:03:38.280
binary we could very easily and Visually see that the first half of our data was

00:03:36.120 --> 00:03:42.120
varying as he presses different keys but the second half was not varying at all

00:03:40.319 --> 00:03:47.080
we had to figure out why this was happening interesting so that's how we

00:03:44.560 --> 00:03:53.000
compress two different keys and get exactly the same or a similar enough

00:03:50.080 --> 00:03:58.640
output that we get the same value that my friends is why electronics

00:03:56.360 --> 00:04:03.840
need to come with schematics it's like a breath of fresh air you guys if this

00:04:01.680 --> 00:04:07.799
keyboard was a tightly integrated modern device we'd pretty much be throwing it

00:04:05.439 --> 00:04:14.760
in the garbage but thanks to our comrades at Zaba Bruno we've got this a

00:04:12.400 --> 00:04:20.199
complete guide to the inner workings of our keyboard so all we need to do is

00:04:17.799 --> 00:04:25.040
work our way back from the connector to see what's going wrong this right here

00:04:22.680 --> 00:04:30.440
is our data output line and it comes from this green thing right here that is

00:04:27.520 --> 00:04:36.479
a uart chip which is short for universal asynchronous receiver transmitter in a

00:04:33.080 --> 00:04:38.639
nutshell it serializes incoming parallel

00:04:36.479 --> 00:04:43.800
data and then outputs it at a given frequency fun fact by the way there was

00:04:41.080 --> 00:04:49.000
a parallel version of this keyboard the 2423 that didn't have the uart at all

00:04:46.759 --> 00:04:52.680
and um would have saved us a lot of investigative work because we would have

00:04:51.000 --> 00:05:00.080
immediately noticed the problem when we read the raw data that half of every

00:04:55.160 --> 00:05:02.759
bite was locked to one but why well the

00:05:00.080 --> 00:05:07.759
input to the uart comes from these two Orange ic's right here these are rom

00:05:05.360 --> 00:05:11.600
chips that hold lookup tables if we Trace back one more step we get to the

00:05:09.600 --> 00:05:16.479
keyboard controller which takes its input from a pretty typical keyboard

00:05:13.720 --> 00:05:22.440
Matrix now we're all the way back let's go forward that Matrix gets translated

00:05:19.800 --> 00:05:27.160
by the keyboard controller into a 9bit parallel signal and a strobe signal that

00:05:25.120 --> 00:05:32.319
indicates a key has been pressed the nine bits go to our ROMs here and get

00:05:29.960 --> 00:05:39.800
translated into two halves of a single bite which the uart receives and

00:05:36.680 --> 00:05:41.880
then converts to serial once it sees the

00:05:39.800 --> 00:05:46.840
strobe signal it then sends that to the output or at least that's how it's

00:05:44.199 --> 00:05:53.919
supposed to happen as it turns out one of our ROM chips is just broken also

00:05:49.880 --> 00:05:57.360
wait a second nine bits ah I'm glad you

00:05:53.919 --> 00:05:58.840
asked see seven bits would give us 128

00:05:57.360 --> 00:06:03.560
values which is enough for a basic asking table or or whatever kind of asy

00:06:01.720 --> 00:06:07.479
table we're dealing with here then there's two bits for the modifiers which

00:06:05.360 --> 00:06:15.440
means four values and that turns out to be no modifier control shift and repeat

00:06:11.440 --> 00:06:17.120
wait repeat repeat repeat repeat repeat

00:06:15.440 --> 00:06:22.240
yes repeat okay guys that's enough sorry sorry see on most modern keyboards

00:06:19.880 --> 00:06:26.840
repeating is builtin so when you hold down a key it registers multiple key

00:06:24.120 --> 00:06:32.360
presses but on this one it's press once fire once no matter how long you hold it

00:06:29.599 --> 00:06:36.840
unless you also hold the repeat key the repeat key the repeat key we can

00:06:35.319 --> 00:06:41.080
actually see this in action if I just hold down the key takes a second to

00:06:39.039 --> 00:06:44.560
spool up but kind of has some interesting implications for gaming

00:06:42.800 --> 00:06:48.440
doesn't it if only we could get it working we can we just need to ignore

00:06:46.759 --> 00:06:51.639
the parts that don't work we just need to intercept these signals by wiring in

00:06:49.919 --> 00:06:55.160
our microcontroller before these broken ROM chips so they can't mess anything up

00:06:53.960 --> 00:07:01.080
we programmed the microcontroller with our own lookup tables based on the documentation we found and then the

00:06:58.759 --> 00:07:05.319
microcontroller just acts like a usb hid device are we ready now of course we

00:07:03.919 --> 00:07:09.039
just need the uh magnetic Cable Management Arch from LTT Store.com heck

00:07:07.720 --> 00:07:13.080
yeah it helps if you actually put it on the cable I

00:07:10.879 --> 00:07:17.199
did the one that we need this one's useless fair

00:07:14.840 --> 00:07:22.840
enough oh why do I have to use the Soviet Mouse

00:07:18.800 --> 00:07:24.560
too no I want a real Mouse maybe later

00:07:22.840 --> 00:07:29.479
but right now we need to try it with this oh it's so bad though

00:07:33.639 --> 00:07:39.240
the arrow keys are your movement not

00:07:36.680 --> 00:07:45.039
WD well where's anything got to look around there's the arrow keys up there

00:07:41.080 --> 00:07:45.039
they're line they work

00:07:46.400 --> 00:07:53.840
slowly what it works ever so slightly no

00:07:51.400 --> 00:08:00.000
that's not Zed or X that's Q well where are Zed and X you got to look around Zed

00:07:56.720 --> 00:08:05.080
God X

00:08:00.000 --> 00:08:08.919
nice oh oh no oh no come on a little bit

00:08:05.080 --> 00:08:12.199
too much so um because the keyboard only

00:08:08.919 --> 00:08:14.639
detects uh the pressing down the amount

00:08:12.199 --> 00:08:20.639
of time that the computer reads that you press the key uh is set by us so

00:08:18.560 --> 00:08:26.800
currently it's not really reading it very well okay well why did you do that

00:08:23.199 --> 00:08:26.800
I thought it' be funny

00:08:29.879 --> 00:08:37.080
come on okay can we change it higher yes we

00:08:34.440 --> 00:08:43.320
can change it thank you okay new attempt here we go this going

00:08:40.159 --> 00:08:45.480
to be way better right yep I changed the

00:08:43.320 --> 00:08:49.600
delay to 50 seconds instead of one 50 Mills okay shoot that was just

00:08:47.920 --> 00:08:55.640
user okay this is really unergonomic still but um this is this is totally

00:08:52.880 --> 00:08:59.920
usable so this is just essentially the the the polling rate that it's set to uh

00:08:58.000 --> 00:09:05.120
it's like how long uh the computer thinks the key is like held down and

00:09:01.560 --> 00:09:06.519
then let go so the signals are only sent

00:09:05.120 --> 00:09:12.240
when you like press a key not when you let go like a modern keyboard right so

00:09:08.920 --> 00:09:14.959
it's how long I tell the computer I'm

00:09:12.240 --> 00:09:19.120
pressing it you're pressing a key I am I don't think this is professional Tetris

00:09:16.720 --> 00:09:27.000
not very good at Tetris so that's good I thought I was doing bad okay look I am

00:09:24.160 --> 00:09:33.279
old oh you can't like press multiple things at once though it's very

00:09:30.000 --> 00:09:36.000
aren't you excited to play an FPS God

00:09:33.279 --> 00:09:43.920
no it changing the thing every time I rotate is driving me absolutely crazy

00:09:40.160 --> 00:09:46.480
okay what what is oh God this

00:09:43.920 --> 00:09:52.040
mouse I was like well I'm done with this game alt F there is no alt well there's

00:09:49.519 --> 00:10:01.640
no F keys there few how does this keyboard

00:09:55.720 --> 00:10:04.160
work f space is f pay respect to this

00:10:01.640 --> 00:10:08.760
keyboard why is it not going up you could just use the like arrow keys I'm

00:10:06.160 --> 00:10:14.480
going to have to play an FPS game Ariel going to

00:10:11.040 --> 00:10:18.160
try totally playable

00:10:14.480 --> 00:10:22.320
see you just got to press it a lot

00:10:18.160 --> 00:10:23.640
like oh and then it holds it down um

00:10:22.320 --> 00:10:30.519
wasn't doing this before uh uh uh C where's c c out of

00:10:27.160 --> 00:10:32.200
fuel um double

00:10:30.519 --> 00:10:37.160
okay can I have a real Mouse yeah this one right

00:10:33.600 --> 00:10:39.760
here all Oh Glory kill e yes yes yes yes

00:10:37.160 --> 00:10:47.519
yes okay still alive I'm not close enough come on E yes yes yes still alive

00:10:43.560 --> 00:10:49.519
oh no wait what can we do with

00:10:47.519 --> 00:10:54.279
teamwork okay so I'm going to hold the repeat key

00:10:51.639 --> 00:10:58.040
oh what is going oh right okay so I can't hold the repeat key when you space

00:10:55.800 --> 00:11:05.399
otherwise you're going to continuously jump oh we got to like let go at the

00:11:01.200 --> 00:11:05.399
right time yeah okay okay

00:11:07.160 --> 00:11:15.560
okay there we go get get over there get

00:11:10.800 --> 00:11:17.959
over come on come on go brother

00:11:15.560 --> 00:11:21.480
go now you have got to be asking yourself how could we say at the

00:11:19.760 --> 00:11:27.320
beginning of this video that this is the best of anything as it turns out it is

00:11:25.040 --> 00:11:32.079
one of the most consistent keyboards that we have ever tested on our robot

00:11:29.360 --> 00:11:36.720
that is to say that the actuation force and the travel distance is nearly

00:11:34.279 --> 00:11:42.880
identical from Key Tokey thanks in no small part to its 80 style solid steel

00:11:39.519 --> 00:11:45.079
back plane you got to love it of course

00:11:42.880 --> 00:11:49.720
if you're not pushing the key straight down right in the center you're going to

00:11:47.680 --> 00:11:52.079
have a pretty bad time uh let's just put it this

00:11:53.240 --> 00:12:00.279
way key stabilization has come a long

00:11:56.839 --> 00:12:02.560
way in the last uh 35 years years you

00:12:00.279 --> 00:12:08.560
know what else has come a long way my Segways to our sponsor manscaped Step

00:12:06.639 --> 00:12:14.360
Into Summer with confidence thanks to manscaped and their performance package

00:12:10.880 --> 00:12:16.920
5.0 Ultra it includes the lawn mower 5.0

00:12:14.360 --> 00:12:21.560
Ultra groin and body hair trimmer turn that overgrown Forest into a Serene

00:12:19.160 --> 00:12:25.800
Garden just don't expect any flowers to start growing there if they do please

00:12:23.600 --> 00:12:30.040
seek help also included is the weed whacker 2.0 electric nose hair trimmer

00:12:28.480 --> 00:12:33.880
so people will actually look you in the eyes when talking to you rather than

00:12:31.519 --> 00:12:38.000
into the dark abyss faintly outlined with the tentacles of some long

00:12:35.320 --> 00:12:42.279
forgotten eldrich horror anyways you'll also get their crop Soother aftershave

00:12:40.079 --> 00:12:46.320
lotion and crop preserver anti-chafing deodorant to keep you smelling fresh

00:12:44.240 --> 00:12:50.440
down in your nether regions it even comes with two free gifts a toiletry bag

00:12:48.760 --> 00:12:55.079
for your grooming Essentials and a pair of their boxers 2.0 to keep your family

00:12:52.720 --> 00:12:59.240
jewels all tucked in and cozy check out the performance package 5.0 Ultra at

00:12:57.279 --> 00:13:03.680
manscape.com Tech and use code lusch for 20% off and

00:13:02.040 --> 00:13:07.320
free shipping if you guys liked this video check out the time we got an old

00:13:05.360 --> 00:13:13.000
Soviet era Mouse working with a modern PC Ariel was so much younger back then
