BBC Master 128
A Model B rebuilt around four Acorn gate arrays and a 1 Mbit ROM; most dead Masters are a leaked battery, a lost 16 MHz clock or a confused CMOS RAM.
Open the BBC Master 128 in Retro Bench- Also
- BBC Master Series
- Year
- 1986
- CPU
- 65SC12 (CMOS 6502 with the 65C02 extra instructions) at 2 MHz
- RAM
- 128 KB: 4 x 4464 (64K x 4). 64 KB main (with shadow LYNNE, HAZEL, ANDY) + 64 KB sideways RAM in slots 4-7
- ROM
- 128 KB (1 Mbit) ROM: MOS, BASIC IV, ADFS, DFS, VIEW, ViewSheet, EDIT, Terminal; IC27 16K socket, IC37/IC41 32K sockets, two cartridge slots
- Video
- VIDPROC + 6845 + SAA5050, as the Model B, plus shadow MODEs 128-135
- Sound
- SN76489 (IC12), internal speaker and a rear phono socket
- OS
- MOS 3 with BBC BASIC IV; battery-backed 146818 clock and CMOS configuration
Chips
| Chip | Where | Role |
|---|---|---|
| 65SC12 CMOS CPU | IC14 | Main CPU of the Master. Runs every 6502 instruction plus the 65C02 additions. |
| Master I/O controller gate array (CF30050) | IC15 | Decodes SHEILA chip selects (VIDPROC, ACIA, SERPROC, ADC, FDC), drives RDY and turns FDC DRQ into NMI. |
| Master memory controller gate array (CF30058) | IC20 | ROMSEL (&FE30) and ACCCON (&FE34): pages ROMs, sideways RAM, shadow LYNNE, HAZEL and ANDY. |
| Master peripheral bus controller (CF30049) | IC21 | Buffers the data bus to slow I/O, the 1 MHz bus and the external Tube (EXbus). |
| Video ULA (Ferranti 5C094 / VLSI VC2069 VIDPROC) | IC42 | Serializes screen bytes into RGB through a 16-entry palette, mixes in teletext, draws the cursor and divides 16 MHz into 8, 4, 2 and 1 MHz. |
| MC6845 CRT controller | IC22 | Makes sync, display enable, cursor and the video RAM refresh addresses. |
| Master CRTC multiplexer gate array | IC31 | Turns 6845 MA/RA addresses into DRAM addresses with hardware-scroll wrap-around (C0, C1 on pins 38-39). |
| Mullard SAA5050 teletext character generator | IC32 | Teletext character generator: turns 7-bit character codes into rounded characters, colors and block graphics. |
| 6522 VIA | IC8 (system VIA), IC6 (user VIA) | Two 8-bit ports, timers, serial and user port |
| Serial ULA (Ferranti 2C199 / VLSI VC2026 SERPROC) | IC48 | Baud rate generators for the 6850, switching between cassette and RS423, cassette data separator, tone synthesis and motor control. |
| MC6850 asynchronous comms adapter | IC45 | Asynchronous serial interface (ACIA). |
| SN76489 / SN94624 (TMS9919) sound generator | IC12 | Three tone voices and one noise voice, written over an 8-bit data bus. |
| MC146818A real-time clock with RAM | IC11 | Clock, calendar, alarm and 50 bytes of battery-backed RAM. |
| NEC uPD7002 4-channel A/D converter | IC49 | Four-channel integrating A/D converter, 8 or 10-bit, with a microprocessor bus interface. |
| WD1770 / WD1772 floppy disk controller | IC3 | Single and double density floppy disk controller with built-in data separator and write precompensation. |
| MC68B54 advanced data link controller (ADLC) | Econet module (daughter board) | Advanced data link controller: HDLC/SDLC framing, flag detection, CRC and FIFOs. |
| 4464 / 41464 DRAM 64K x 4 | IC17, IC18, IC23, IC26 | Dynamic RAM, 64K x 4. Main RAM on the BBC Master; reported on later 130XE boards. |
| Master keyboard encoder (CF30047) | IC16 | 40-pin keyboard scanner: free-runs at 1 MHz, interrupts on CA2, then answers the OS row/column polls. |
| Master CHROMA (PAL/NTSC encoder) gate array (CF30060) | IC40 | Encodes RGB to PAL (or NTSC, LK15) for the UHF modulator; can also supply the 1.23 MHz serial clock (LK14). |
| 27128-pinout 16K x 8 ROM | IC27 (16K socket, ROM 8) | 16K x 8 ROM or EPROM in the JEDEC 27128 pinout. |
Ports and connectors
- UHF out (TV), Phono socket, UHF channel 36
- Video out (BNC, SK8), BNC socket: center and shell
- RGB (SK9), DIN-6 240° socket
- RS423 serial (SK10), 5-pin 'domino' DIN socket, pins A-E
- Cassette (SK11), DIN-7 270° socket
- Analog in (SK12), DA-15 socket (15-way D-type)
- Econet (SK7), DIN-5 180° socket
- Disk drive (PL1), 34-way IDC header under the front
- Printer (PL3), 26-way IDC header
- User port (PL4), 20-way IDC header
- 1 MHz bus (PL5), 34-way IDC header
- Tube (PL6), 40-way IDC header
- Keyboard connector 1 (PL11), 15-way Molex header (keyboard ribbon)
- Keyboard connector 2 (PL24), 15-way Molex header (keyboard ribbon)
- Cartridge sockets (SK3, SK4), 44-way edge sockets, rows a and b (2 x 22) UNVERIFIED
- Clock battery (PL8), 3-pin 0.1 in header; the battery lead fits either way round UNVERIFIED
- Power supply to main board (7 push-on leads), Seven push-on tabs marked +5V, 0V and -5V UNVERIFIED
Power rails
| Rail | Expect | Measure at |
|---|---|---|
| +5 V | +5 V | 65SC12 pin 8; VIDPROC pin 16; SAA5050 pin 18; 1770 pin 15 |
| -5 V | -5 V | RS423 driver 26LS30 (IC50) pin 8 |
| Clock battery | At least 2.6 V with mains off UNVERIFIED | RTC pin 24 (146818 VDD) |
| ADC reference | About 1.8 V | 7002 pin 8 to 7002 pin 9 |
Symptoms
- No picture, no beep, keyboard power LED off
- Keyboard LED lit, nothing else happens: check VIDPROC, 65SC12, 4464
- Rolling lines or diagonal stripes: check 6845, CRTCMUX
- Cursor stuck at top left, nothing else: check KBENC
- Shows Acorn MOS / Acorn ADFS and stops: check RTC
- BASIC banner but no > prompt: check VIA
- Prompt appears but keyboard dead: check VIA, KBENC, RTC
- CTRL-BREAK acts like BREAK, settings not kept, or stuck in terminal mode: check RTC
- Clock loses time or forgets settings: check RTC
- Green or white crust around the battery, corroded case or PSU area
- Random dots or characters appear: check MEMCTRL, 4464
- Typed text repeated two or more times round the screen: check 6845, CRTCMUX
- MODE 7 shows a cursor but no text: check SAA5050
- No color on the TV output: check CHROMA
- Disk drive dead or catalog unreadable: check 1770, IOCTRL
- RS423 dead: check SERPROC, ACIA
- Analog port reads nonsense: check 7002