BBC Master Series — Hardware Overview

Orientation page for the Master 128 (and variants: Compact, ET, Turbo). The Master is a superset of the Model B and B+: same MOS pattern, same VDU driver, same 6845 CRTC, but with a CMOS CPU, more RAM, and several reused control surfaces. This page is the “where does X live” map for chip-level work. Detail pages follow the same per-chip layout as for the Model B.

Primary source: master-arm Ch 1.

Core spec at a glance

ComponentMaster 128Reference
CPU65C12 (CMOS, sometimes labelled “65SC12”) @ 2 MHz (drops to 1 MHz only for slow-bus access)6502, 6502-isa
RAM128 KB DRAM (4 × 4464)memory-map
ROM128 KB on-board + sideways slotspaged-rom
Display RAM32 KB CRTC-addressable (same as Model B) + shadow via ACCCONshadow-ram
System VIA6522 @ &FE40 (sound, keyboard, RTC, screen control)system-via
User VIA6522 @ &FE60 (user port, printer)user-via
CRTC6845 (Hitachi HD6845SP — ACCC “type 0”)crtc-6845
Video ULAVIDPROC ULA (functionally identical control surface to Model B Video ULA)video-ula
Serial6850 ACIA + SERPROC6850-acia, serial-ula
ADCµPD7002 (4 ch, 10-bit, 5 ms conversion)upd7002-adc
RTC + CMOS146818 with battery backup, 50 bytes CMOS RAMcmos-rtc
Internal TubeBus on &FEE0-&FEFF, CMOS levels, 2 MHztube
External TubeSame protocol via Peripheral Bus Controller (PBC) on the 1 MHz bus1mhz-bus
1 MHz busStandard BBC 1 MHz bus, page-FC/FD allocations1mhz-bus
User port8-bit bidirectional + 2 control lines, unbuffereduser-via
RS423Enhanced RS232Cserial-ula
CentronicsStandard parallel printer port (off User VIA)user-via
SoundSN76489AN (3 tones + 1 noise) — driven via System VIA SDBsn76489

CPU is a 65C12, not an NMOS 6502

The Master uses the CMOS 65C12 (sometimes badged “65SC12” — the silicon Acorn shipped is the GTE/CMD 65SC12). This is not the NMOS 6502 of the Model B:

  • Added opcodes: PHX/PHY/PLX/PLY, STZ, TRB/TSB, BRA, DEA/INA, BIT abs,X, BIT #imm, JMP (abs,X).
  • Added addressing mode: (zp) — zero-page indirect without needing X or Y to be zero.
  • Several NMOS bugs fixed (e.g. indirect-JMP page wrap; BRK now clears D).
  • Slightly different cycle behaviour on a few instructions; the dummy-read patterns differ in places.

The Master’s main CPU does NOT have the Rockwell BBR/BBS/RMB/SMB opcodes — those are R65C02-only, present in the 6502 second processor (3 MHz) and the Master Turbo 65C102 (4 MHz) co-processor, but not in the 65C12 fitted to the Master 128’s main board (per master-arm App 8). See 6502-isa for the full per-instruction table including which opcodes are 65C12 vs R65C02 only. Any timing-critical code lifted from a Model B source needs to be re-checked against the 65C12 cycle table before being trusted on the Master.

Bus speed and timing

The Master runs at 2 MHz for everything except slow devices, where it drops to 1 MHz exactly like the Model B (see cycle-stretching):

  • 2 MHz: ROM, RAM (DRAM cycled at 4 MHz, multiplexed CPU↔CRTC), internal Tube.
  • 1 MHz: System VIA, User VIA, ACIA, SERPROC, ADC, 1 MHz bus peripherals, RTC.

The DRAM↔CPU↔CRTC arbitration is the same as the Model B: 250 ns slots, two CPU accesses + two CRTC accesses per microsecond, CRTC fetches double as DRAM refresh. The video subsystem is fundamentally unchanged in timing.

The slow data bus (Port A of System VIA)

Port A of the System VIA is the “slow data bus” — a single 8-bit bus routed to multiple slow peripherals selected by an 8-line addressable latch driven from Port B (PB0-PB3). Full layout in system-via. Master-specific reuse:

SDB destinationModel BMaster
Latch line 1Speech READCMOS R/W direction
Latch line 2Speech WRITECMOS DS strobe
Port B PB6Speech “interrupt” (input)CMOS chip enable (output)
Port B PB7Speech “ready” (input)CMOS address strobe (output)

No speech on the Master — those signals are reclaimed for the 146818. Sound and keyboard latch lines (0 and 3) are unchanged from Model B.

What’s gone

  • TMS5220 speech — removed. Software calling speech OSWORDs gets a no-op.
  • Cassette tape interface — physically present on Master 128 but removed on the Compact.
  • Cassette filing system — not built into Master 128 MOS by default (ROM image available).

What’s new (vs B+)

  • 128 KB DRAM in a uniform map (B+ had 64 KB + 12 KB shadow + sideways RAM, fragmented).
  • CMOS configuration store*CONFIGURE writes settings that persist across power cycles.
  • ACCCON at &FE34 controls shadow RAM, Hazel ROM, Lynne mapping, and tube selection. Replaces the B+‘s simpler shadow-control scheme.
  • Cartridge slots (2) on the back — same bus as sideways ROM but with extra select signals.
  • Internal 65C102 second processor option (Turbo).
  • LYNNE, HAZEL, ANDY — three MOS-managed RAM regions:
    • LYNNE — 20 KB shadow display RAM, overlays &3000-&7FFF via ACCCON D/E/X (lives in DRAM at &9000-&DFFF of the second 64 KB). See shadow-ram.
    • HAZEL — 8 KB filing-system workspace, overlays MOS VDU driver at &C000-&DFFF via ACCCON Y.
    • ANDY — 4 KB private RAM, overlays sideways window at &8000-&8FFF via ROMSEL bit 7. See paged-rom.
  • Soft character definitions relocated from &0C00-&0CFF (Model B Page C, costs OSHWM if exploded) to &8900-&8FFF in the second 32 KB (Master, free). See os-workspace “second 32 KB workspace map” for the full breakdown.
  • Soft-key buffer relocated from &0B00-&0BFF (Model B, ~256 bytes) to &8000-&83FF (Master, 1 KB). Old code that wrote function-key definitions directly into &0B00 no longer works — use OSCLI *KEY instead.

Where to go next


This wiki is curated by Claude following the LLM-Wiki methodology — a human curates source documents, the LLM compiles structured cross-linked markdown. Content may contain errors, omissions, or stale claims. For authoritative information refer to the original source documents in the bbc-documents GitHub archive.