Just to note, over on Stardot there's been interesting progress in dumping and disassembling the ROMs from Acorn's Communicator. The ROMs contain both the OS and some applications, including a BBC Basic.
There's one of these machines at The National Museum of Computing and another at
The Centre for Computing History - and others of course in private hands.
Quote:
The Communicator contained a full office software suite, including View (word processor), ViewSheet (spreadsheet), and a fully-featured Prestel terminal, plus (of course) Econet and many of the interfaces found on the BBC series of computers. The system software that bound the packages together was a mixture of BBC Basic and assembler.
I'd originally thought the Basic had more than 64k of workspace and was therefore making use of long addressing, but that was a miscalculation. However, it does have very nearly 64k of workspace, which is not bank-aligned, so evidently the interpreter is making good use of rather more than 64k in total, and evidently the OS is handing out allocations according to what memory remains free.
There's also a work-in-progress emulation in MAME, which means not only can you experiment with the machine, but also investigate the code as a way of understanding the hardware.
Here's Arbee, quoted from the Stardot thread:
Quote:
I thought I'd share a few technical details of the Communicator for the benefit of people who don't read MAME source.
- The ULA is definitely the same as the Electron in terms of video and IRQ handling. It's basically got its very own Electron in bank 45: VRAM from 450000-457FFF, keyboard from 458000-45BFFF, and registers at 45FE0x. The cassette and ROM banking functions are unused.
- Acorn got around the 65816's requirement to boot in bank 0 with a bank switch: at power-up, ROM from FF8000-FFFFFF is mirrored at 008000-00FFFF. A write to 440000 serves to restore RAM at 008000-00FFFF so there's a full 64K available in bank 0 for old 8-bit code.
- The keyboard is effectively 2 Electron 4-bit by 14 line keyboards. The first 14 lines are read at 458000-459FFF, and the second from 45A000-45BFFF.