Acorn's 16-bit Communicator (1986, 65816, multitasking)

At the ABUG meetup last weekend, I was able to investigate the hardware and software of a Communicator kindly loaned by @RObC. It’s interesting, and quirky, and packed with RAM, but was a failure in the market. Here are some photos of the ‘briefcase’ model and also of the one I opened up:

I’m not sure of the evolution of thinking within Acorn, but the Communicator came out after the success of the BBC Micro but before the 32-bit Archimedes. It would have been a time when IBM’s PC architecture was showing the scope of the business market.

There’s a ‘preview’ of the machine from Practical Computing, Jan 1986:

Here’s a summary of my observations of the machine I had:

  • it’s got 576k of RAM and runs a 2MHz 65816 with a BBC Basic very like Basic 4.

  • it has the usual Beeb graphics modes and also a Mode 7 which looks odd because it has a newer teletext chip with a different font, which turns out not to be quite so nice and rounded (doesn’t take any advantage of interlace)

  • the Mode 7 is driven from a separate 2k SRAM which can only be updated over i2c, so it’s very slow to scroll. It may well be updated periodically from the main memory: Basic runs slower in Mode 7, so something is using CPU, or memory bandwidth, or monkeying with the clocks.

  • it’s got some battery-backed SRAM so you can store a few small files locally. Also a small RAM disk to store things that you don’t want to keep.

  • but it has no disk or tape interface! It has a modem and an Econet socket

  • once we’d borrowed and fitted an Econet module and discovered some quirks we were able to load and save files over the network. (There’s always an Econet network at an ABUG!)

  • it doesn’t have the MOS ABI with the vectors near the top of 64k, instead it uses the COP instruction as a software interrupt. We wrote a few lines of '816 assembly code in the Basic and were able to make use of that interface - with some documentation shared by Rob.

  • Basic seemed to benchmark a tad slower than a Master, which is a little surprising, and needs a double-check

  • Basic has about 50k bytes of space for the Basic program, which is more than any of Acorn’s 8 bit Basics (with the exception of BAS128 which uses 4 banks of sideways RAM and runs a bit slow.)

  • Dave’s HDMI dongle worked well in Mode 0 and other modes but not Mode 7, because of the unique approach. I think by the end he’d discovered how to set up a profile which worked well with Mode 7, but it will take a deeper investigation to be able to auto-detect Mode 7, if it’s even possible. (Mode 7 has a 12MHz pixel clock, vs 16MHz otherwise)

  • The OS is relatively sophisticated and must bear some relation to Arthur, the early Archimedes OS which was rustled up quickly when Acorn gave up on the effort underway by their Californian research lab. There’s a lot of version-controlled shared libraries in ROM.

  • Multiple applications can be open, and indeed multiple instances of each application. They are granted pieces of memory which are not bank-aligned and may not be limited to 64k (I don’t know). So in Basic PAGE is not aligned to anything, and there could be a bank boundary between PAGE and HIMEM. In fact there probably will be.

  • But there’s no multitasking, and task switching is not pre-emptive. An application is supposed to yield, in case the user has decided to suspend the task and return to the main screen.

  • An application’s screen is repainted when it’s resumed, not especially rapidly. So there must be a safe copy and the displayed version. In the case of Basic, neither of those are in the allocated memory, I think, and HIMEM doesn’t move on a Mode change.

  • From Basic’s CALL or USR, by default machine code runs with 8 bit memory and 8 bit indexing. But for some OS calls, the machine needs to be in 16 bit indexing mode, and 16 bit memory mode, which Acorn call word mode. (It turns out there are directives for the assembler and mechanisms to modify CALL and USR to support both (or all four) '816 modes. But we didn’t know that.)

  • there’s a realtime clock but it doesn’t like the distant future, so I set it to 1992. Basic has a TIME$ which might behave like the Master’s. More investigation needed because the clock was set but TIME$ was not. (Later attempts to modify TIME$ crashed the machine.)

  • there’s a surprising number of crystals inside: I think we counted 7. CPU clock, teletext pixel clock, modem, serial port, realtime clock… and two more.

  • the RGB connector is rather like a Beeb’s but we don’t quite know what the centre pin is up to: probably it’s signalling, as Dave measure it at 2.5V IIRC. So we have to disconnect that from the HDMI dongle and power the Pi separately.

  • the case size and geometry is very very like the Master Compact’s, so we thought the moulds might have been tweaked and re-used.

  • there’s an edge connector at the right side - no idea what signals might be on it.

  • there’s an online PDF of the User Guide and you can buy PDFs of the Systems Manual and the Software Tools Manual for zero cost from the CCH.

A couple of relevant forum threads:
Acorn’s multi-tasking 65816-based Communicator
Anyone got Communicator system software? (Basic has 65816 assembler)

4 Likes

This seems oddly aligned to some of the thinking at Apple at the time: As for telecom integration, both appealing to office as to advanced home users, compare Apple’s prototypes for the AT&T Macintosh, also, the interface looks much like what must have been envisioned for the Lisa, when it was conceived for a soft function key interface. It seems to have been right at an epicenter, which vanished rather with a whimper than a loud bang.
Also, the BBC Micro still had a place in this universe, thanks to Econet!

1 Like