Need tips on hacking NOS Fujitsu FKB1406 keyboard
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
barnacle wrote:
Is there no visibility of the traces on the circuit board from the back?
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
I looked at this keyboard again recently, and found that the wider of the two ribbon cables appears to have 16 lines, not 12 as previously stated.
It so happens that there are 16 keys in the top row, which means that cable is probably the columns lines.
There are 5 rows of keys, but 7 lines in the narrower cable, which means only two lines are unaccounted for. Would a switch-and-diode matrix need ground and VCC lines?
Both cables have the same numbers printed on them despite being different sizes, but the Internet doesn't know what those numbers mean.
It so happens that there are 16 keys in the top row, which means that cable is probably the columns lines.
There are 5 rows of keys, but 7 lines in the narrower cable, which means only two lines are unaccounted for. Would a switch-and-diode matrix need ground and VCC lines?
Both cables have the same numbers printed on them despite being different sizes, but the Internet doesn't know what those numbers mean.
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
No True Scotsman wrote:
It so happens that there are 16 keys in the top row, which means that cable is probably the columns lines.
If I were doing it, I'd steer clear of any assumptions and just suss it out in the manner I described up-thread. It shouldn't take long.
-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
https://laughtonelectronics.com/Arcana/ ... mmary.html
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
I wouldn't put it past them to do something odd. Last time I went to digging for info on the keyboard, I learned that they were selling some kind of developer kit for it back in the day. That's probably where they revealed the secret of the cable pinout. 
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
No True Scotsman wrote:
I looked at this keyboard again recently, and found that the wider of the two ribbon cables appears to have 16 lines, not 12 as previously stated.
It so happens that there are 16 keys in the top row, which means that cable is probably the columns lines.
There are 5 rows of keys, but 7 lines in the narrower cable, which means only two lines are unaccounted for. Would a switch-and-diode matrix need ground and VCC lines?
Both cables have the same numbers printed on them despite being different sizes, but the Internet doesn't know what those numbers mean.
It so happens that there are 16 keys in the top row, which means that cable is probably the columns lines.
There are 5 rows of keys, but 7 lines in the narrower cable, which means only two lines are unaccounted for. Would a switch-and-diode matrix need ground and VCC lines?
Both cables have the same numbers printed on them despite being different sizes, but the Internet doesn't know what those numbers mean.
--
JGH - http://mdfs.net
JGH - http://mdfs.net
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
jgharston wrote:
A bit of digging around of Fujitsu keyboard specs suggests: 8 x KBDIN and 16 x KBDOUT, with KBDIN being X (rows) and KBDOUT being Y (columns).
One column would be driven low whilst all others were driven high. Each row in turn would be checked to see if it were high or low, with an index incrementing for each column/row pair checked. When a row was found to be low, the index was used to look up the corresponding keystroke in a table. Doing all this required dozens of bit-twiddling VIA/CIA data I/O accesses, which was accomplished with code crammed into the jiffy IRQ handler.
There is no N-key rollover with this arrangement and complicating matters, the C-64 and C-128 joystick ports share some lines with the keyboard, which meant accidental joystick movement would inject random characters into the user’s typed input.
Since this Fujitsu unit has 24 lines in all, the Commodore technique could still be used, but would require a pair of 65C22s to get the required number of inputs and outputs.
BTW, in mechanical drafting, the rows would be Y and the columns would be X.
x86? We ain't got no x86. We don't NEED no stinking x86!
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
jgharston wrote:
A bit of digging around of Fujitsu keyboard specs suggests: 8 x KBDIN and 16 x KBDOUT, with KBDIN being X (rows) and KBDOUT being Y (columns).
I assume there are diodes amongst the key switches. If you had to speculate, would you say the anodes are towards KBDIN or KBDOUT?
BigDumbDinosaur wrote:
It sounds as though a scanning technique similar to what Commodore did in their eight-bit machines ought to work.
As Dr. Jefyll noted above, this keyboard may follow the C-64 scheme, or the designers may have thrown in surprises.
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
If you only need to encode 16 columns, why not a '154 4-16 decoder? And perhaps a '137 priority encoder for the rows? That reduces your interconnect to only seven leads, plus maybe a ground reference.
Neil
Neil
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
There are only two leads with I2C (SCL and SDA).
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
barnacle wrote:
If you only need to encode 16 columns, why not a '154 4-16 decoder? And perhaps a '137 priority encoder for the rows? That reduces your interconnect to only seven leads, plus maybe a ground reference.
It also includes a counter that scans through the columns by itself so the 6502 only has to look at the keyboard when the scanner has selected a column with a key pressed. But in "non-free-running mode", the 6502 can write to b0-b3 of the VIA to select columns, and read back which row is intercepted, which the Beeb handily wires to b4-b6, so you get a 7-bit key number, and b7 as the pressed/no-pressed line.
I did a lot of messing about with keyboard matrix scanning and layout in the '80s, eg link and link, and still fiddle with them now.
--
JGH - http://mdfs.net
JGH - http://mdfs.net
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
All this talk about keyboard decoding hardware reminded me of a chip I bought awhile back for this purpose, the KR9600-PRO. This is a 9 row by 10 column keyboard encoder in a wide DIP-40 package.
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
No True Scotsman wrote:
There are only two leads with I2C (SCL and SDA).
Are there any generic 8-bit parallel interface (6502/6800/8080) to/from I2C or (preferably) SPI parts that anyone can recommend. (Oooh, wouldn't I2C or SPI port pins on a 65c02 chip be nice?)
Neil
-
No True Scotsman
- Posts: 127
- Joined: 22 Mar 2023
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
An SPI master is usually an add-on IP when designing a custom SoC. Maybe you could make a standalone one with an FPGA. This project purports to implement an SPI master for FPGA-based projects.
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
I know little to nothing about FPGAs, so I've tended to avoid them. I have considered a discrete hardware approach: how hard can it be?
Neil
Neil
Re: Need tips on hacking NOS Fujitsu FKB1406 keyboard
No True Scotsman wrote:
All this talk about keyboard decoding hardware reminded me of a chip I bought awhile back for this purpose, the KR9600-PRO. This is a 9 row by 10 column keyboard encoder in a wide DIP-40 package.
Code: Select all
Output data:
B1 B2 B3 B4 B5 B6 B7 B8 B9 B10
+---+---+---+---+---+---+---+---+---+---+
| | C | S | (10*X+Y) AND 63 |
+---+---+---+---+---+---+---+---+---+---+
|
(10*X+Y) DIV 64
This can be re-arranged as:
B2 B3 B1 B4 B5 B6 B7 B8 B9 B10
+---+---+---+---+---+---+---+---+---+---+
| C | S | 10*X+Y |
+---+---+---+---+---+---+---+---+---+---+--
JGH - http://mdfs.net
JGH - http://mdfs.net