[A Project to interface a PS/2 keyboard to a 68hc11 microcontroller]
So I have the target microcontroller SBC, and have verified it is still working. Today I have been setting up more project equipment.
First off, I will need to be able to run my favourite simple command-line 68HC11 cross-assembler to generate loadable hex program files, and a way of transmitting those files to the target over serial-port at 300 baud.
My 17-year old HP OmniBook 500 Pentium-III laptop (rather wonderful, but that’s a whole other story) does have an RS-232 serial-port, but was running Windows XP from an IDE CF card, and I would prefer a UNIX-like command-line environment for software-development, macro-processing, and “strictly as-is” paced serial transfer capabilities.
Thus the first job was to dig through the ever-present pile of computer bits (“the junk pile”) for a laptop IDE drive large enough to take a minimal Linux installation. Aha! Found one! Found several in fact, but the only super-slimline one that didn’t already have useful data on it was 20Gb capacity, when 1Gb would have been plenty. Oh, well.
Note to self: I must get round to retrieving, saving properly and organising all the useful data from that pile of unhoused 40Mb, 500Mb, 1Gb, 2Gb, 4Gb, etc laptop drives.
Next up was to download and burn-to-CD the 32-bit CentOS 6 installer. Yes, I have previously used Debian, TinyLinux, DSL, Ubuntu, Fedora, RedHat Desktop Linux (ie: before it went all Enterprise-only), Slackware, Peppermint, et al, but…
Firstly, because this is RetroChallenge, let’s avoid any GUI environment – and thus any UNIXy thing that insists on installing a shed-load of GUI environment and rigging that I won’t be using. That rules out many, including Peppermint, which I rather like when GUIs are allowed (ie: for refurbishing friends and relatives old laptops).
Secondly, I need something that will run on an old Pentium-III CPU: 32-bit, no SSE2, no NX/XD bit, no AVX, no SATA, and without funky CPU features that some modern-day software seems to insist on.
Solaris 8 is ruled out because it doesn’t support virtual consoles – it’s really handy to be able to very quickly switch from one active in-use CLI session to another, especially when one of those is running a full-screen CURSES application such as vi or minicom.
Which pretty much just leaves CentOS or raw Debian. Due to a very pleasant time with CentOS in 2013/2014, for both myself at work and as a recommendation to many then-satisfied work customers, I figure that CentOS is worth a bash again.
Well chosen! Installation was a breeze, and detected all devices on even a slightly oddball HP laptop. Hells’ Bells, it even spotted my USB stick connected to a USB-to-1990s-16bit-PCMCIA card. Easy peasy!
And no GUI crud at all.
Now, an 80×25-character screen is OK, but bigger would be better for editing source-code, so I added vga=773 to the Linux boot command in /boot/grub/menu.lst and Hey, Presto! the CLI console is now 132×48 characters.
A quick “yum install minicom” installs the full-screen serial-comms program I need.
Back on the multiple-virtual-consoles kick (switching between vi and minicom without suspending either of them), it would be mighty handy to be able to cut-and-paste between virtual-consoles, which is where “yum install gpm” does the trick. “gpm” is a mouse-driver for character-mode Linux, which provides xterm-style copy-and-paste, even between different virtual-consoles.
So that’s the project terminal sorted.
Rather fortunately, the target SBC does not have a PS/2 keyboard socket – that would be way too easy, almost cheating. So instead I need some way to connect a wired PS/2 socket to the SBC 2×25 DIL breakout pins: an old IDC connector from the junk pile, and some male-female jumper cables courtesy of eBay.
Not too much actual progress today, but we’re ready for the real stuff now…