A serial keyboard or "one way terminal" - Page 1
Forum section: electronics / projects

author: ChristofferB
author_rank: Frequent Contributor
timestamp: March 14, 2015, 08:01:02 pm
content: Hey!I'm currently in need of a serial terminal for some 1970's -ish computer projects, and I really can't stand using a terminal emulator on a modern computer-Sitting with a modern pc, talking to an old computer doesn't feel fulfilling, somehow.Display is done; basically what I'm trying to accomplish is a keyboard to output serial ASCII. - I'd prefer to keep it dumb, as in; without a microcontroller/processor.I've conjured up two ideas and I'd appreciate it if you could give me some input on them.***ROUTE 1:Get a row/column keyboard and a driver; that outputs parallel 7/8 bit ASCII, and feed it directly to an UART, having a clock (maybe multiple?) matchingcommon baudrates.***ROUTE 2:Get a ps/2 keyboard, hook up a clock matching a common baudrate (maybe multiple) and feed that out directly.Is any of those accomplishable as described? Or am I missing something?I guess route one is a bit like the old TV typewrites, just without CRT driver stuff.Thanks in advance!-- Christoffer

author: SeanB
author_rank: Super Contributor
timestamp: March 14, 2015, 08:13:35 pm
content: No way that you will not use a microprocessor, I took apart enough dumb terminals to know they all used a processor, mostly an 8088 or a Z80 along with the full complement of support chips as well.Simplest will be to use a standard PS/2 keyboard and the 8048 processor in emulation on an 80x86 processor, as there the code is very similar and you likely can find it as source code. The display can be anything, probably use a simple graphical LCD panel and drive it with text graphics, or just use a CRT driver to give video output. Serial IO will be with a UART chip as used in the appnotes.Otherwise you can probably get a cheap board that uses the PS2 keyboard and drives a LCD display over either VGA or something direct.Otherwise look for an old XT or AT and a serial emulator card, making a floppy drive system that just does video and keyboard. A 386SX computer is still easy to get (I have one lying around in the garage which worked last time I powered it up) and it drives a CGA/EGA/HGC monitor and uses PS/2 keyboards. Floppy drive with MSDOS and a terminal emulation and use the serial port on it.

author: voja
author_rank: Contributor
timestamp: March 14, 2015, 08:29:03 pm
content: The first idea is not so easy to realize, as you need a lot of keys with printed caps, which are hard to find now. That was the way we built computers 35+ years ago!The second one is much easier, but you need some MCU converter with quarz or ceramic resonator stabilized clock. PS2 outputs clocked serial signal and it is theoretically possible to use DATA only as asynchronous signal, but various keyboard use different clock rates. They are generally about 10-30 KHz, and they use low-cost and low-stability RC internal oscillators, surely not good enough for asyncronous RS232.So you need DIY controller with 2 inputs (data and clock) and one serial data output. The advantage of this is that you can add macros, automatic messages and so on.There's a good PS2 explanation athttp://www.computer-engineering.org/ps2protocol/By the way, first PC keyboards for XT costed about 700 DM in Germany. Also, I paid my first mouse 600 DM, it had only 74LS04 buffer inside, for optical encoder signals and connected directly to Olivetti keyboard, where it simulated keyboard arrows.

author: codeboy2k
author_rank: Super Contributor
timestamp: March 14, 2015, 08:48:04 pm
content: If you have time, you can look to buy an old radio shack model 4 or 4p. They are full computers, with a fairly advanced disk-os for the time, and they make awesome terminalsThese are actually cheaper on the 'bay than just buying a purpose made ascii terminal, like a VC404 or Wyse 75 or any number of other terminals.. the real terminals like that seem to be priced a few hundred dollars, whereas the model 4p seems like less than $100 (not including shipping)Here's a 4Phttp://www.ebay.com/itm/TRS-80-Model-4P-128k-Memory-OS-Diskettes-/151612431734Or if you just want the keyboard, maybe you can get an old model 100 and tear it apart. They have nice keyboards too.http://www.ebay.com/itm/VINTAGE-RadioShack-Model-100-Portable-Computer-TRS-80-307200731-W-Case-Laptop/131445666838

author: miguelvp
author_rank: Super Contributor
timestamp: March 14, 2015, 09:06:54 pm
content: LK201 was the keyboard used on VT200 terminalshttp://en.wikipedia.org/wiki/LK201You can still find them around and there are plenty of resources about them, for example:http://www.netbsd.org/docs/Hardware/Machines/DEC/lk201.htmlhttp://maben.homeip.net/static/s100/DEC/terminal/DEC%20VT220%20Technical%20Manual.pdfIt's not a simple keyboard I'm afraid, but closer to the times and not as bulky as the VT52 or VT100Edit: but the ps2 or an old IBM clone keyboard might be easier to interface/hack for your needs

author: ChristofferB
author_rank: Frequent Contributor
timestamp: March 14, 2015, 09:52:46 pm
content: Thanks for all the ideas!I know it's a fairly simple feat to implement with a simple microcomputer/controller; but I am pretty certain it can be accomplished without (if nothing else, out of denial). I have been using a Sinclair ZX spectrum +2 with terminal software for some time, but sadly, the cassette drive interface failed.Now the LK201 keyboard seems pretty feasible, if you can cope with the 4800 baud, couldn't you just use it directly?If you just wanted it to be dumbed down for the sake of learning (or the hell of it); could you just wack a 8 bit dipswitch on the input of a UART and feed it a clock to get it to transmit serial?- Christoffer

author: hamdi.tn
author_rank: Frequent Contributor
timestamp: March 14, 2015, 09:57:44 pm
content: just use a ps2 keyboard with a pic16f micro, the source code is included in the help of mikroc compiler

author: SL4P
author_rank: Super Contributor
timestamp: March 14, 2015, 10:05:27 pm
content: OP. where are you located?Set your flag and I may give you a present.

author: ChristofferB
author_rank: Frequent Contributor
timestamp: March 14, 2015, 10:29:57 pm
content: Unfortunately; basically as far away as you can get, but thanks regardless.--Christoffer

author: Fraser
author_rank: Super Contributor
timestamp: March 14, 2015, 10:54:04 pm
content: I use this companies products:http://www.versalent.biz/index.aspI needed a programmable keyboard to send command strings to my thermal camera RS232 port.The converters work well. You just use a standard USB keyboard and either the standard ASCII conversion or a custom key/command map.Aurora

author: MLXXXp
author_rank: Frequent Contributor
timestamp: March 15, 2015, 12:45:53 am
content: Quote from: SeanB on March 14, 2015, 08:13:35 pmWell, then I guess you never took apart a Lear-Siegler ADM-3A. No microprocessor. Mostly 74LS logic and a Western Digital TR1602A UART.http://bytecollector.com/lsi.htmIt was available assembled or as a kit. The company I worked for thought it would be cheaper to get one in kit form and have me build it. I think the time I spent with all that soldering ended up costing them more than the difference for an assembled one, but it was fun.

author: amyk
author_rank: Super Contributor
timestamp: March 15, 2015, 01:09:20 am
content: Quote from: ChristofferB on March 14, 2015, 09:52:46 pmYes it can be, if you are really so inclined to. You'll just have to implement all the logic yourself. The effort will vary depending on the level of integration you want (EPROM for decoding, or do you want to make a diode ROM? 7400/4000-series logic or discrete transistors?)The earliest teletype machines used electromechanical UARTs - a synchronous motor driving a contact drum with the desired bit patterns.

author: jmole
author_rank: Regular Contributor
timestamp: March 15, 2015, 01:17:25 am
content: custom keyboards have had a huge resurgence lately, so you're in luck. lots of enthusiast builds are out there, and you can get keybed PCBs with a built in micro that you could flash to whatever interface logic you need.I'd start here:http://www.gonskeyboardworks.com/https://www.reddit.com/r/MechanicalKeyboards/wiki/modificationsFor an old school terminal keyboard, it better be clacky!

author: SL4P
author_rank: Super Contributor
timestamp: March 15, 2015, 01:42:56 am
content: Quote from: ChristofferB on March 14, 2015, 10:29:57 pmOh - darn... I see.I would've built a small KBterm for you - or perhaps given you an old VT220.

author: SeanB
author_rank: Super Contributor
timestamp: March 15, 2015, 05:02:51 am
content: Quote from: MLXXXp on March 15, 2015, 12:45:53 amFrench ones where the most complex logic was a few 2708 Eproms, and they made the UART out of TTL and combinational logic. Then they took it and added another panel with control switches, which has a separate data channel to the minicomputer. I never worked on that other than call the one guy who knew how to fix the power supply faults it had.Trying to build that ADM3 without the code to those proms in it will be hard.

author: MLXXXp
author_rank: Frequent Contributor
timestamp: March 15, 2015, 07:12:09 pm
content: Quote from: SeanB on March 15, 2015, 05:02:51 amThe ROMs are just for character generation. The upper case ROM is a standard 2513 and documentation is available, including the mapping of the characters:http://amigan.yatho.com/2513.pdfIf you were crazy enough to build an ADM-3A from scratch (provided you could get all the parts), it would probably be better to make slight modifications to use different EPROMS that were easier to obtain such as the 2716 or an electrically erasable part. Here's an article by someone who did that, and includes the code for both ROMS:http://juliepalooza.8m.com/sl/adm3a-2.htm

author: retrolefty
author_rank: Super Contributor
timestamp: March 15, 2015, 08:16:02 pm
content: QuoteYou could probably throw out a prototype in a few days using some cheap $5 arduino mini clone, using an existing PS/2 arduino library (check with the arduino playground site)and use the serial uart of the atmel chip to send out the serial data. It sounds like you may require true RS-232 serial voltage levels so a max232 type converter chip may be called for?

author: Fraser
author_rank: Super Contributor
timestamp: March 15, 2015, 08:37:05 pm
content: Interesting little module from Adafruit:http://www.ebay.co.uk/itm/Adafruit-E1115-PS-2-Keyboard-to-TTL-Serial-Converter-/171310046824?pt=DE_Computer_Sonstige&hash=item27e2dfde68PS2 to serial ASCII.Aurora

author: miguelvp
author_rank: Super Contributor
timestamp: March 15, 2015, 08:41:23 pm
content: More interesting at the original pricehttp://www.adafruit.com/products/1136

author: Fraser
author_rank: Super Contributor
timestamp: March 15, 2015, 08:57:50 pm
content: Definitely !Aurora

author: MLXXXp
author_rank: Frequent Contributor
timestamp: March 15, 2015, 09:41:55 pm
content: Back in the late 1970's I bought a PolyMorphic Systems Poly 88 (8080 S/100) microcomputer kit and built it. It had a video card with a parallel ASCII keyboard input. I bought a surplus bare-bones ASCII keyboard for it.At some point, the decoder chip on the keyboard failed. The chip was a dedicated 40 pin DIP keyboard decoder IC which included a masked ROM customised for the specific key matrix. Since I couldn't get a replacement, I designed and built an adapter board, using 4000 series CMOS logic and an EPROM, that plugged into the socket in place of the original decoder. I had to remove the support chips on the keyboard and make a few cuts and jumpers to form the 8 x 8 key matrix that my decoder used.I've included some photos and the schematic for my decoder. You'd probably want to replace the 5204 EPROM with a 5V only part. If you wanted an async serial output, you could add circuitry to serialise the parallel output when strobed.For a home-brew UAT (Universal Asynchronous Transmitter), based on 4000 series CMOS, I'd consider using a couple of 4014 or 4021 shift registers to shift out 10 bits of parallel input, and a 4017 decade counter to count the bits and stop the transmission. You'd also need a baud clock generator and some control logic. A driver would be needed if you wanted RS232 level output.

author: MrAl
author_rank: Super Contributor
timestamp: March 16, 2015, 12:55:33 pm
content: Hi,An interesting idea would be to wire up some CMOS switches and connect them to a keyboard you take apart for modification. One switch for each key would be too many, so set it up as a matrix. It takes two CMOS switch closures to activate one key: one row and one column.I did this with another product in the past. The only downside is it is fairly slow. The upside is you can probably do this with any keyboard, USB or PS2 or whatever, as long as your PC has the port for that keyboard.

author: netdudeuk
author_rank: Frequent Contributor
timestamp: March 16, 2015, 11:04:30 pm
content: Quote from: miguelvp on March 15, 2015, 08:41:23 pmEven less for thishttp://www.ebay.co.uk/itm/231466770300?_trksid=p2055119.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT

author: ChristofferB
author_rank: Frequent Contributor
timestamp: March 17, 2015, 12:09:48 pm
content: That parallel ASCII/strobe keyboard is interesting! add a shift register and a baudrate source and that'd basically be able to do the trick!I am also concidering recreating a "known" terminal - though if so; I fear the CRT driving!- that PS/2 to serial thing is pretty neat!-- Christoffer