Acorn's series of BBC Micro were pretty popular in the UK, and had some presence elsewhere too. They have a lot of I/O and expansion capability and a relatively sophisticated OS with an official API. There's an active retrocomputing scene, with several emulators and with new hardware and new software being produced. For an overview, see
https://en.wikipedia.org/wiki/BBC_MicroThis is a thread for helping the curious and interested to get to grips with the machine. Of course it boots into Basic by default, so you don't have to know much to get started.
The basics:
- 2MHz 6502 CPU, builtin keyboard, video to TV or monitor, speaker, cassette interface.
- Graphics in teletext mode or bitmapped, from 1k to 20k memory footprint, up to 8 colours and flashing colours.
- 16k Basic with commands for graphics and sound, inbuilt assembler, 5 byte floats, fast integer variables, file i/o support, some support for structured programming.
- 32k RAM at bottom of memory shared between OS and application. Screen RAM is a variable amount at the high end. There's a 1k screen mode which the machine boots into.
- The next 16k is for application and language ROMs (and sometimes RAMs.) They interact with an API to register their capabilities, respond to OS requests, claim and free resources. Basic is a language ROM, factory-fitted, leaving 3 on-board sockets free. There are 16 logical slots, and internal expansion boards were popular to extend beyond the 4 supplied.
- OS is 16k at top of memory, offers a fixed ABI at top of memory. The OS has the idea of a current filing system and a current language. Also a current input stream and current output stream. It's interrupt-driven to handle buffered I/O, sound output, keyboard scanning.
- there are 3 pages of I/O space just below the top page. All on-board peripherals are in the highest of these pages. Notably two VIAs, control of ROM switching, of video config, of serial config, sound chip.
- The OS provides a filing system interface, but only implements cassette files. A floppy disk filing system would be served by an application ROM, via the OS. Two popular disk filing systems are DFS and ADFS - ADFS being advanced, and the later and more capable one.
- The OS supports a
second processor, whereby the Beeb becomes an I/O server and the attached device becomes the application machine. Generally the attached device is faster and has a large flat memory map: just 2k of ROM and I/O at the top of the 6502 second processor for example, and the rest is RAM. See the
User Guide. Note that most Beebs did not have a second processor fitted, and most games don't work in that configuration. Serious software and a few games do. In the case of a non-6502 second processor, the OS that the user sees will be appropriate for the CPU: CP/M, DOS, etc.
As for peripherals, these are built in:
- keyboard, screen (composite, RGB, UHF)
- cassette i/o with motor control
- sound (internal speaker only)
- parallel printer port
- serial port
- user port (VIA)
- Analogue I/O
- 1 MHz bus expansion
- Tube interface for second processor (faster 6502, Z80, x86, NS32016, ARM, etc)
Optional, but fitted internally:
- Floppy disk controller
- Econet local area network
- speech chip with access to serial ROMs
- cartridge port
These days it's popular to fit an internal SDcard board for solid state storage.
With all the I/O and with application ROMs, it was popular for instrumentation and control uses. The model B was succeeded by the Master, which has 128k RAM and a banking scheme which makes rather more of the low 32k available for applications and populates some of the 16 application slots with RAM. The Master also allows for an internally-fitted second processor.
A couple of very useful reference sites:
http://mdfs.net/http://beebwiki.mdfs.net/http://stardot.org.uk/mirrors/www.bbcdocs.com/http://www.sprow.co.uk/bbc/reference.htm(and there's also the
StarDot forums where there's a lot of friendly expertise.)
Two standard reference books as pdf
-
BBC Microcomputer System User Guide (supplied with the machine)
-
The Advanced User Guide for the BBC Microcomputer (an aftermarket book, owned by every serious user)
Some specific references:
-
Introduction to the BBC Operating System -
System Memory Map -
BBC Basic's memory use -
Clickable mainboard photo -
the Beeb's circuit diagram -
documentation for each OS call -
annotated disassembly of the OS -
Thread here about the second processor interface and architectureEmulation (generally supporting Beeb or Master, with or without 6502 second processor)
-
JSBeeb (in-browser, highly accurate.)
-
lib6502 (CLI, small, fast, portable, no sound or graphics! No second processor emulation supplied - build your own!)
-
BeebEm is a BBC Micro and Master 128 emulator. (Runs OK in wine on linux and Mac.)
-
B-Em for Linux and Windows.
-
Big list of emulatorsOther popular 6502 machines from Acorn include the Atom, a predecessor machine with different OS and hardware organisation, and the Electron, a cost-reduced machine offering a high degree of compatibility with the Beeb but with some crucial differences, and rather fewer on-board peripherals. Both machines had popularity in their day and still have their adherents. There are current projects to fix up both machines with "missing" capabilities such as a Tube interface, and in the case of the Atom, sound and colour.