sergiopl — Sept 3, 2022 at 3:56 AM
On a PC keyboard there is a tiny CPU that creates scan codes for each key, even shift. Then there is a 8051 or something known as keyboard controller that interpret that and send to PC CPU
In Mera/Entrex you only get scan codes generated from EPROM, mixed together with bit flags connected to modifier keys and that is shifted out of the device
All "meaning" of the keys is up to the host
All "meaning" of the keys is up to the host
ashlin4010 — Sept 3, 2022 at 4:03 AM
so how many bits are used for the code and flags? 8 and 2?
sergiopl — Sept 3, 2022 at 4:04 AM
6 bits are keyboard code
3 bits for control character (modifiers)
1 bit to indicate if key is a response to key press or to "read screen character" command
Rest is padding / framing
Those 3 bits are also messed up - they don't cover all possible combinations and some modifier combo has the same bit pattern 😆
If you open polish manual linked above there are two tables with those modifiers
6 bits are keyboard code
3 bits for control character (modifiers)
1 bit to indicate if key is a response to key press or to "read screen character" command
Rest is padding / framing
Those 3 bits are also messed up - they don't cover all possible combinations and some modifier combo has the same bit pattern 😆
If you open polish manual linked above there are two tables with those modifiers
Terminal Connector Pinout:
MBZ = + TERMINAL BUSY
Similarities with the MERA-ELZAB 7951 terminal pinout:
sergiopl — Sept 6, 2022 at 5:11 PM
I think Entrex code also can be said slightly modified Manchester, but I'm not sure if that is really the case. It looks like except clock signal is not interleaved on each half of bit so this is a bit strange
This is also not a NRZ or NRZI code, also similar but not exact.
But in terms of non repeating sequences it matches definition of Manchester
sergiopl — Sept 6, 2022 at 5:13 PM
There you have it: 3270 controller board
Building an IBM 3270 terminal controller_Lobsters - MdEditor
Building an IBM 3270 terminal controller
This is Manchester encoding. As you can see "1" is sent as LoHi. "0" is HiLo
In our case "0" is LL if previous bit was "1", and HL if previous bit was also 0.
"1" is HH if previous bit was 0, LH if previous bit was 1
While it looks similar over the wire sampling point is different and encoding method is also different
But this approach simplifies decoding because you just need to sample at 3/4T and you are done.
No comments:
Post a Comment