Archive for March, 2011
A new personal best! 58 units shipped in one day. Mainly, the large number is the result of backorders finally shipping, but it’s nice to see so many units on their way to enthusiasts for hours of disk access enjoyment.
A year or so ago, a retro systems enthusiast requested a hardware interface that would allow PS/2 keyboards to be utilized on older machines expecting RS232 or ASCII Parallel output. I quickly mashed some existing PS/2 libraries with a keyscan to ASCII function and delivered the first version of PS2Encoder.
Even though there were issues with the PS/2 libraries, I quickly moved onto other project work. Recently, I found myself thinking about the design and where I left off. Since the original design and development were completed, I rewrote the PS/2 library to be more compact and address the issues exhibited by this project. Thus, I decided to set about updating this project to include the new libraries and also create a small universal PCB design for the project.
Due to a common heritage of the PS/2 library, migrating to the new code did not take long. As expected, operation of the new routines addressed the longstanding issues. I also took some time to add a bit more functionality to the design.
- Unit outputs ASCII via 8-bit parallel port and RS232
- Parallel output support configurable active high or active low strobe
- Output supports variable intercharacter delay (0-2.5s in 10mS increments)
- RS232 BPS rate can be set from 110-57600 bps
- BS sends either BS or DEL
- CR sends CR or CRLF
- Crystal is optional
- CAPSLock operation works, and LEDs are supported
- Configuration can be performed from the keyboard. When CONFIG jumper is installed, Ctrl/Alt/BS places the unit into configuration mode, where keypresses set various options.
- Configuration mode also allows starting “debug”, where actual keyscan values are sent to the RS232 and parallel ports.
Of course, PS/2 is a dying interface, and thus utility is limited. Thus, if I can find a low-cost uC offering that supports USB OTG (On the Go), I will update the design again with a USB KB option.
Finally, I created a universal PCB layout that includes the following features:
- Supports 24 pin .6″ IC socket connection as well as 2×12 header connection.
- Crystal footprint included on PCB
- PS/2 connector footprint included on PCB
- Through hole design makes DIY construction easy.