2014 – The year of retro-computing.

For me, other than health issues which I won’t say any more about here, 2014 has been a year dominated by retro-computing sparked off by the call from the Museum of the History of Science in Oxford for exhibits for an exhibition they were setting up.

The call went out in January, a little before my previous post (this is called “irregular” for a reason), and I responded by offering the use of my archive of machines. In the end they took up the offer of a Sinclair QL and a BBC Micro.

Of course, this meant that I had to get the machines down from the loft to check them out, clean them and generally prepare them for the exhibition, which was going to start in May.

The machines themselves proved to be in fine fettle but the floppy disk drives needed a bit of coaxing. The worst problem was that the lubricant used in the 1980s on the drives had mostly dried out to a sticky goo, the opposite of a lubricant. This took a little while to sort out. Another issue was getting a way to display the computers’ output.

My Sinclair QL showing the appalling echoing and smearing on the TV

My Sinclair QL showing the appalling echoing and smearing on the TV

The LCD TV I used in my spare room as a monitor for my server does have an analogue TV input, along with HDMI, SCART, VGA etc. so it shouldn’t be a major problem. However, it’s obvious that the company Dixons/Curry’s chose to build their Sandstrom TVs never actually tested the analogue circuitry very well. Displaying anything with a defined, high-contrast signal produces at best multiple echoes of the point/line across the screen or, at worst, a smeared bright line to the left of the pixels. Not exactly useful for anything other than a quick test.

This problem induced me to have to build new SCART video cables for the machines. A fiddly job at the best of times but not helped by the TV’s insistence in only displaying composite video through the SCART connector unless one pin is energised with 3 volts and with no way of overriding this in the menu system. Quite a pain when the computers required to connect don’t produce this voltage (and it’s not available from the TV’s SCART either). So, a battery box had to be installed and velcroed. What a pain.

Anyway, by the time Easter came I had everything ready and delivery to the museum was planned after I got back from Cornwall. Unfortunately my health intervened and I was stuck down South for rather longer than expected, so missing the deadline for delivery. The museum managed to find a BBC Micro from someone else, along with my friend, Janet’s Beeb so they could set up without my stuff initially.

Thankfully I got back to Oxford just before the exhibition was to begin, so the team from the museum rocked up in a van and collected my QL, screen and floppy and they were deployed just in time for the opening.

Unfortunately I was still too ill to go into town so a friend took a picture of the set-up for me. I was so glad everything had turned out OK.

The Sinclair QL and BBC Micro doing public duty in the "Geek is Good" exhibition. (Sorry for the camera shake.)

The Sinclair QL and BBC Micro doing public duty in the “Geek is Good” exhibition.
(Sorry for the camera shake.)

A few weeks later, after I’d become well enough, I travelled into town myself and took a look at the exhibition, “Geek is Good.” and realised that the materials in the hands-on display area were rather basic and used an arcane BASIC programming example which was really dull and, well, very 1970s.

This spurred me into action. Being too unwell to go into work did allow me some time to use the energy I had to create a set of three programs for the BBC and the QL, exact equivalents in both BASIC dialects, and a crib sheet for program entry, explaining how to edit lines and simplify the typing in using the “AUTO” command. Far better.

All this action at the museum also inspired me to “play” with the other machines in my collection, discovering in the process a few of them starting to die. For example, the Atari TT030 which seems to have developed a floppy controller fault, and the Acorn A4000 ARM machine where the rechargeable¬† motherboard battery has burst, corroding the tracks and then the power supply died after I fixed this. These are really annoying failures as they’re the rarest of the machines.

The ethernetted Sinclair ZX Spectrums in the basement of the Museum of the History of Science for the "Geek Out!" event.

The ethernetted Sinclair ZX Spectrums in the basement of the Museum of the History of Science for the “Geek Out!” event.

Anyway, I’ve had great fun with all this culminating yesterday with the Museum of the History of Science’s “Geek Out!” event, closing the year with ethernet networked ZX Sepctrums in the basement running games served from a MacBook followed by playing a symphony and BBC Micros in the upper gallery.

The display in the Upper Gallery of the Museum of the History of Science.

The display in the Upper Gallery of the Museum of the History of Science.

I’ve been testing and checking a second BBC Micro for the display all week, duplicating floppy disks of games all ready for yesterday morning. After arriving before 9am with the kit I took it up stairs and attempted to get it working. Hampered by not having the correct monitor cable I soldiered ahead but found that the floppy disk would no-longer read disks. Worse, the other BBC Micro wouldn’t do so either. Even after swapping drives etc. between the machines nothing worked!

To save the day I asked Scott, the exhibition organiser, to get my Sinclair QL out of the store along with the floppy drive and a copy of “Arcanoid II”. The Sinclair saved the day!

A BBC Micro with a board allowing an SD card to be used as a floppy disk drive and my Sinclair QL play games.

A BBC Micro with a board allowing an SD card to be used as a floppy disk drive and my Sinclair QL play games.

Despite only having two games machines plus a BBC Micro sitting there for people to program upon the day went really well. The crowds were really interested and the kids were having a ball. Surprisingly the BBC Micro set up for programming was as popular as the machines running games. One late teenager, who I think was South American, was fascinated with programming and asked where he might be able to get a BBC Micro. Also, a group of Italian Computer Science students found the machine highly interesting and wondered at how much could be done with so little coding. I think they may be searching for BBC Micro emulators now!

And so, the end of the event came. I didn’t realise how tiring the day had been until I got home. I was shattered and almost fell asleep eating my dinner. Still, it was a good day.

And now, the computers are back in their home in the loft. I’ll probably get the Beebs down one day to try to diagnose the floppy problem but probably not this year. I’ve got other things to do, such as play the sequel to the 1984 smash hit on the BBC Micro, “Elite: Dangerous”!

Docking at a Coriolis station in the original Elite on a BBC Micro and in Elite:Dangerous on a PC.

Docking at a Coriolis station in the original Elite on a BBC Micro and in Elite:Dangerous on a PC.

Right on Commanders!


Emulating a Sun.

A week ago, after completing the installation of a Raspberry Pi into an old Sun CDROM drive external enclosure, I posted a picture of the enclosure on Facebook. The response from an old friend was, “Can you run SunView on it?”


Of course, a Raspberry Pi is no Sun Workstation so, the answer was, not directly. However, I immediately did a Google search for Sun emulators and was very surprised to find that someone had actually written one. And so my project for the next week was born.

After downloading the source to TME (The Machine Emulator) and installing all the development libraries I tried to build the blighter. Unfortuately this was not as simple as you may have thought as the configure script had a bug which only showed itself if not on a x86 machine. This and the build system’s requirement for an ancient version of the libltdl module loading library for libtool took me nearly three days to work through. Still, I did now have a binary to play with.

It was then time to try it out. Somewhat sillily I followed some instructions I found on the Internet. These instructions included how to create a disk image file and then how to configure it from within the “tape” booted kernel’s format command. Following these instructions caused the emulator to Bus Error and crash when it tried to write to the virtual disk for the first time. I wasted a day trying to debug this… but it turned out that the instructions were wrong!

Having gone back to basics and used the size and parameters from a Seagate ST1480N disk, used in the SPARCstation 2, I was able to format, partition and install the miniroot. I thought this was the end of my problems… until I tried to install the OS.

The “suninstall” program just refused to be able to seek to the correct tape file for the installation files even though mt(1) worked perfectly. Puzzling. Another number of hours trying to find why this wasn’t working and I find that the VM config file needed parameters removing from the tape drive definition as the default only worked with NetBSD as the OS and not SunOS. :-/

Everything seemed good. After a couple of hours I had a working VM on the Pi and it didn’t even seem that slow. So, I logged in and started SunView. Woohoo! Task complete, almost. The mouse emulation didn’t work properly. I thought that maybe it was due to the VM running too slowly to read the input correctly. Still, I could a least post “task complete” as I did have SunView running, which is what Richard had asked.


It now took me another day or so of debugging to determine that the Mouse Systems mouse emulation was broken when encoding the movement delta values. The original code seems to require the compiler to pretend that hex values are signed integers when assigning to unsigned 8 bit integers. Well, dodgy!

Having fixed that bug all now works, if rather slowly.

Given the interest on Google+ and Twitter about this emulation I’ve spent today creating an automatic download, configure and build script with an easy to use prototype VM creation system for an emulated Sun3 running SunOS 4.1.1, which you can download here.