BBC Master
The BBC Master is a home computer released by Acorn Computers in early 1986. It was designed and built for the British Broadcasting Corporation (BBC) and was the successor to the BBC Micro Model B. The Master 128 remained in production until 1993.[1]
Acorn BBC Master 128 | |
Type | 8-bit Microcomputer |
---|---|
Release date | Early 1986 |
Discontinued | 1994 |
Operating system | Acorn MOS, optional DOS Plus |
CPU | MOS Technology 65SC12, optional second processor Intel 80186 or 65C102 depending on model |
Memory | 128 KB–512 KB |
Predecessor | BBC Micro Model B |
Successor | Acorn Archimedes |
Design
The Master featured several improvements on its predecessor. The systems had 128 KB RAM as standard, alleviating the shortage of available RAM which had amongst other things discouraged use of the best graphics modes in the original design, and had two cartridge slots mounted above the new numerical keypad. These were physically identical to those used by the Acorn Electron 'Plus 1' interface, but with enhanced electrical characteristics for some of the cartridge connector pins.[2] Rather than the MOS Technology 6502 microprocessor used by the Model B it ran on the slightly improved 65SC12:[3] the cost of this CPU compatibility with the Model B was that the address bus was still only 16 bits, meaning that only 64 KB could be directly addressed at any one time and the remaining memory had to be paged in as required.
This paging occurred via three separate pages, each with a Code-name, per previous BBC Microcomputer architecture tradition:[4]
Codename | Page | Description |
---|---|---|
LYNNE | 0x3000–0x7FFF | CRT frame-switch region (allows all screen modes to be used without using main memory) |
HAZEL | 0xC000–0xDFFF | ROM/RAM switching |
ANDY | 0x8000–0x8FFF | ROM/RAM switching |
However the 65SC12's extra instructions allowed a little more to be shoehorned into the OS and BBC BASIC ROMs, limited by the memory architecture to 16 KB each. The improved version of BBC Basic was named Basic4.
Although the Master was intended to be compatible with "legally written" software for the older models, there were some problems running older programs, particularly games. Conversely, although few programs were ever targeted specifically at Master series machines (except the Master 512), many later BBC games (and Master versions of earlier classics such as Elite) included enhanced features which took advantage of the extra memory.
Models
The Master was available in several different models.
Master 128
This was the standard issue computer. The 128 in the name referred to its 128 KB of RAM, though it also featured 128 KB ROM.
Master Turbo
This was a Master with 4 MHz 65C102 coprocessor card (which could be either bought with the machine or added to an existing Master 128).
Master AIV
The Master AIV (Advanced Interactive Videodisc) was essentially a Master Turbo model with a SCSI interface and a VFS (Videodisc Filing System) ROM added, and formed the basis of the BBC Domesday System. Although normally supplied as part of a Domesday System, with LaserVision player, Domesday videodiscs, monitor and trackerball included, an upgrade kit was also available to turn a normal BBC Master into a Domesday System.
Master ET
The ET (Econet Terminal) system was designed for use in a network and as such had no interfaces except RGB and Composite video, plus an Econet interface module and ANFS fitted as standard (it was usually an option). It used the same main circuit board as the Master 128, but the components for missing interfaces were simply not fitted (though there was nothing stopping them being added later by someone with appropriate soldering skills). The internal ROM also contained much less software than that of the Master 128.
Master 512
This system boasted a coprocessor card with a 10 MHz Intel 80186 and 512 KB memory. It also had the ability to run DOS Plus and the GEM graphical user interface.
Master Scientific
The Master Scientific was announced at the time of the BBC Master's launch, but was not produced. It was to have an 8 MHz 32016 coprocessor with 32081 floating point processor and 512 KB of RAM, running the PANOS operating system. This was similar to the previous external 32016 Second Processor.
Master Compact
This model separated the keyboard from another unit which could be placed under the monitor. Only the ADFS Version 2 filing system was supplied as standard, running via a Western Digital 1772 chip (a faster version of the widely used 1770), though it is possible to load a 1770 DFS ROM into sideways RAM, or to insert a ROM or EPROM containing it. The Compact also utilised a limited re-burn EEPROM, instead of the battery backed clock plus CMOS memory found in the other models, and hence had no real time clock of its own (the time could be fetched via Econet where available). As a result of this, the *TIME
and TIME$
commands returned dummy values.
The unit under the monitor housed a 3 1⁄2-inch floppy disk drive and the system power supply. The remainder of the system was housed in the same unit as the keyboard, much like a conventional Master 128. The cartridge and cassette ports were removed as a space saving measure, and RS-232 hardware not populated on the circuit board as standard. A multifunction mouse and joystick port was provided as a 9-pin D type with its function configured in software. A Centronics printer interface was also provided. The 1 MHz bus and analogue port were not provided on the Compact. Additionally, no internal sockets were provided for adding a co-processor or 2nd processor. However, the machine did include a 50-way Expansion Port edge-connector on the right side of the keyboard, that carried the same signals as Cartridge Socket#3 on a Master 128.
The User Port signals, although not available directly via a dedicated User Port connector such as provided on the other BBC models, could be accessed via the following method:
The (9-pin joystick) port is derived from port B of the user VIA, without extra buffering, and may thus also be used for output as well as input. For applications requiring the use of the 'USER PORT' as used in other BBC computers, the three signals that are not provided on the joystick port (PB5, PB6 and PB7) are available on the expansion port.[5]
The keyboard on the Compact was the first to move away from using the traditional "sprung-key" keyswitch design used by the rest of the BBC Micro family. Instead, it used a rubber-plastic moulding membrane.
The chip-count was also reduced vs. the rest of the Master range, via the use of 4x custom gate array chips.
The version of BASIC on the Compact included re-coded mathematical routines, said to provide a 30% speed increase over the version included in the rest of the Master series. This version of BASIC was called Basic4(1986),[6] aka 'BASIC41'. This was later replaced with version 'BASIC42' in 1987.[7] This later BASIC ROM included the updated message (vs previous BBC BASIC ROMs):
Roger Wilson & R.A. Sack[8]
Software for the Compact was comparatively expensive (typically £20 for a game) due to the much lower demand for the 3 1⁄2-inch disk format (5 1⁄4-inch was the standard for the Master and earlier BBC Micro).
The Compact included Acorn's first publicly available GUI. Little commercial software, beyond that included on the Welcome disk, was ever made available for the system, despite the claim by Acorn at the time that "the major software houses have worked with Acorn to make over 100 titles available on compilation discs at launch".[9] The most avid supporter of the Master Compact appeared to be Superior Software, who produced and specifically labelled their games as 'Master Compact' compatible.
Olivetti were named as being interested in releasing a version of the Master Compact in Italy under the 'Olivetti Prodest' name.[10]
The machines were built by Rank Xerox in Hertfordshire.[11]
Specifications
- 2 MHz Rockwell R65SC12 processor
- 128 KB ROM in the Master 128, Master Turbo, and Master 512. Comprising a 16 KB MOS (Machine Operating System), always accessible, and seven 16 KB sideways ROMs, any one of which could be paged into memory at a time:
- 16 KB Terminal emulator and MOS extras (such as the cassette filing system) in paged ROM 15
- 16 KB Acornsoft View (word processor) in paged ROM 14
- 16 KB Advanced Disc Filing System in paged ROM 13
- 16 KB BBC BASIC in paged ROM 12
- 16 KB Acorn Screen Editor AKA Edit (text/BBC BASIC editor) in paged ROM 11
- 16 KB ViewSheet (spreadsheet) in paged ROM 10
- 16 KB Disc Filing System and Sideways RAM utilities in paged ROM 9
- 64 KB ROM in the Master ET. Comprising a 16 KB MOS (Machine Operating System), always accessible, and three 16 KB sideways ROMs, any one of which could be paged into memory at a time:
- 16 KB MOS extras (such as the cassette filing system and Sideways RAM utilities) in paged ROM 15
- 16 KB Advanced Network Filing System in paged ROM 14
- 16 KB BBC BASIC in paged ROM 13
- 128 KB RAM, comprising:
- 32 KB main user program/data storage
- 20 KB "shadow" video memory (paged over main user RAM)
- 12 KB OS workspace (paged over ROM)
- 64 KB workspace accessible to user machine code applications (divided into up to four 16 KB regions to act like volatile paged ROMs)
- Full-travel keyboard with a top row of ten red-orange function keys ƒ0–ƒ9 and AT-style numeric keypad. The 'BREAK' reset key could be physically disabled by rotating a small plastic cam, particularly useful in educational environments
- Highly configurable graphics display based on the Motorola 6845. Unlike on the original BBC Micro, separate video RAM was used so that choosing a high-resolution mode did not reduce the amount of available user RAM. (However, user RAM could still be used as the video buffer if required, in order to allow effects such as double buffering.) Eight graphics modes were provided by the system ROM:
- Modes 0 to 6 could display a choice of colours from a logical palette of sixteen, though only eight physical colours could really be generated by the hardware: the eight RGB colours (black, red, green, yellow, blue, magenta, cyan, white) and the same colours in a flashing state;
- Modes 3 and 6 were special software (framebuffer) text modes. To save RAM, the count of lines was reduced from 32 to 25. As this would reduce the height of the frame, filler rows were created between each line of text when the frame was output, where no pixels were read from the framebuffer. This creates characteristic black lines between the rows of text when a different background colour is set, and a blank gap at the bottom of the display with the left-over pixels. The screen mode is otherwise held in memory as a regular graphics mode.
- Mode 7's Teletext capability was provided by a Mullard SAA5050 Teletext chip.
Graphics mode | Resolution (X×Y) | Hardware colours |
Video RAM | Type | ||
---|---|---|---|---|---|---|
Char cells | Pixels | used (KB) |
map | |||
0 | 80 × 32 | 640 × 256 | 2 | 20 | 0x3000–0x7FFF | Graphics |
1 | 40 × 32 | 320 × 256 | 4 | 20 | 0x3000–0x7FFF | Graphics |
2 | 20 × 32 | 160 × 256 | 8 | 20 | 0x3000–0x7FFF | Graphics |
3 | 80 × 25 | 640 × 200 | 2 | 16 | 0x4000–0x7FFF | Text |
4 | 40 × 32 | 320 × 256 | 2 | 10 | 0x5800–0x7FFF | Graphics |
5 | 20 × 32 | 160 × 256 | 4 | 10 | 0x5800–0x7FFF | Graphics |
6 | 40 × 25 | 320 × 200 | 2 | 8 | 0x6000–0x7FFF | Text |
7 (Teletext) | 40 × 25 | 480 × 500[12] | 8 | 1 | 0x7C00–0x7FFF | Text |
- Four independent sound channels (one noise and three melodic) using the Texas Instruments SN76489 sound chip
- Built-in hardware support included:
- pluggable ROMs, directly or via cartridge slots
- floppy disc drives (both DFS and the newer ADFS supported) with WD1770 disc controller
- tape interface (with motor control), using a variation of the Kansas City standard data encoding scheme
- parallel printer port (Centronics compatible)
- serial communication (using RS-423, a superset of RS-232)
- display output for TV, RGB or 1v p-p video monitor
- a 15-pin 'D shaped' port with four analogue inputs (suitable for two joysticks, four digital/contact ports (for buttons) and a special Light pen input
- proprietary "Tube" interface for internal or external second CPU (in the Master 512 model, an 80186 was used; other options included a 3 MHz extra 6502, a Zilog Z80 for e.g. CP/M, an NS32016, an ARM1, and others)
- a 20-pin IDC style "user port" consisting of eight general purpose digital I/O pins (and two special handshaking ones) mapped directly into the 6522 VIA
- generic expansion through the "1 MHz bus", and
- Econet interface, installed by adding a module board and the ANFS ROM (fitted as standard to the Master ET machine)
Several of the inputs were directly wired to specific registers in order to allow the hardware to do some of the heavy lifting. For example, the light-pen input would directly halt a counter which was started by the start of the vertical sweep of each display refresh, making calculation of where the lightpen was touching the screen little more than a simple divide/remainder operation. Likewise, the motor control relay for the audio cassette tape was controlled by a simple command and could be readily used in numerous control applications.
See also
- RISC OS character set for the code page layout of the BBC Master
References
- Acorn Sales News Issue 72.
- Appendix 7, "The Master 128 Cartridge Interface" – Advanced Reference Manual for the BBC Master.
- As shown on pictures of the Master 128 motherboard www.8bs.com.
- BBC Master Service Manual.
- Master Series Service Manual, pp. 22–23.
- Acorn User October 1986 – Review – p. 17.
- BBC Basic versions.
- L Fox, L Hayes and DF Mayers, ‘The Double Eigenvalue Problem’; and RA Sack, ‘Variational solutions of Lamé equations’, Department of Mathematics, University of Salford. 1971-2, latter Department of Theoretical Physics, University of Liverpool.
- Acorn User October 1986 – News – p. 9.
- Acorn User October 1986 – News – p. 9.
- Acorn User October 1986 – Review – p. 11.
- Reference Data Sheet:SAA5050 Series, Teletext Character Generator, July 1982, Mullard.