Well, well, well, the 68hc11 EVBU SBC is alive, and the CPUs’ built-in ROM monitor is talking to me.
This SBC has no RAM chips, no ROM chips – none, zip, zilch; just the CPU, an RS-232 level convertor and an RTC (date/time clock) chip. All the rest is built into the CPU chip itself, including RAM, EEPROM, the nano-operating-system ROM, OTPROM, and a whole slew of “peripheral” I/O devices (a bit of a misnomer in this case: on the 68hc11, they are not really “peripheral” at all, they are part of the CPU).
I decided not to cut the cable on the 5VDC wall-wart I obtained yesterday: instead I made my own custom adaptor to connect the drop-lead to the power-input of the SBC, usimg a couple of old PC-PSU cables from the junk-box and some epoxy to make the “plug”..
Note I am using an UTP Ethernet cable as the serial-port cable, via a precooked adaptor I made several years ago (I have quite a few of these, including some null-modem ones and a special one for an especially wierd serial printer). On the other end, these is an old Sun workstation, with its’ own unusual RS-232 feature: it has a single 25-pin port, that provides a *pair* of RS-232 interfaces – thus the custom splitter-cable to split that into two independant DB25 connectors… that arrangement is common to most 1990s Sun workstations, but it confused the heck out of the PC crowd at the time (“but I can only see one port, where’s the other one?”).
The SBC “operating-system” is called BUFFALO, a very strained acronym: Bit-User Fast Friendly Aid to Logical Operation. Ouch!
The First Program
Using the built-in line-at-a-time assembler in BUFFALO, my first program is about as basic as possible. Assembling program code into RAM at address 0x100, print “Hello” to the serial port, than wait for a keypress, and then start over. For this very first version, I used a couple of subroutines in the BUFFALO ROM: print an ascii character from the A register to the serial-port, and read a character from the serial-port into the A register. Using these two subroutines, the program is just a sequence of instructions to load values into the A register interleaved with a sequence of subroutine calls (to a fixed address), and a jump instruction to start over. This sure ain’t going to win any awards, but at least it proves the CPU is alive and working.