Jump to content

Acorn Atom

From RetroTechCollection
Acorn Atom
Acorn Atom
Specifications
ManufacturerAcorn Computers Ltd
TypeHome Computer
ReleasedMarch 1980
Discontinued1982
Intro priceKit: £120, Assembled: £170 (1980)
CPUMOS Technology 6502 @ 1 MHz
Memory2 KB RAM (expandable to 12 KB), 8 KB ROM
StorageCassette tape interface, optional floppy disk
Display256×192 monochrome graphics, 32×16 text mode
SoundInternal speaker (software-driven)
Dimensions381 mm × 241 mm × 64 mm
Weight1 kg
OS / FirmwareAcorn MOS with Atom BASIC
PredecessorAcorn System 3
SuccessorBBC Micro Model A/B

The Acorn Atom was a home computer manufactured by Acorn Computers Ltd from 1980 to 1982. Designed around the MOS Technology 6502 processor, the Atom served as Acorn's entry into the home computer market and established the technical foundation for the subsequent BBC Micro series.

Architecture

[edit | edit source]

The Atom employed a straightforward single-board design with the 6502 processor running at 1 MHz. The system architecture provided direct CPU access to all peripherals through memory-mapped I/O, eliminating the need for complex decoding logic.

Memory Organization

[edit | edit source]
Acorn Atom Memory Map
Address Range Size Function
$0000 – $09FF 2.5 KB Block Zero RAM (lower text space)
$0A00 – $0AFF 256 bytes Assembler workspace
$0B00 – $0BFF 256 bytes Input buffer/Floating point workspace
$0C00 – $0FFF 1 KB System variables and stack
$1000 – $1FFF 4 KB Extension ROM socket A0
$2000 – $21FF 512 bytes Catalog buffer
$2200 – $27FF 1.5 KB Floating point variables
$2800 – $28FF 256 bytes Graphics workspace
$2900 – $2FFF 1.75 KB User BASIC programs (lower)
$3000 – $3BFF 3 KB Extension RAM (optional)
$3C00 – $3FFF 1 KB User BASIC programs (upper)
$8000 – $81FF 512 bytes Video RAM (graphics mode)
$8200 – $83FF 512 bytes Video RAM (text mode)
$8400 – $84FF 256 bytes I/O space (6522 VIA)
$A000 – $AFFF 4 KB Extension ROM socket A2
$B000 – $B7FF 2 KB Peripheral I/O (optional)
$B800 – $BBFF 1 KB VDU controller (6847)
$C000 – $CFFF 4 KB Atom BASIC interpreter ROM
$D000 – $DFFF 4 KB Extension ROM socket A1
$E000 – $EFFF 4 KB Optional floating point ROM
$F000 – $FFFF 4 KB Machine Operating System ROM

Hardware Specifications

[edit | edit source]

Main Board Components

[edit | edit source]
Component Specification Function
CPU MOS 6502 @ 1 MHz Central processor
VIA MOS 6522 Versatile Interface Adapter for I/O, timers, and keyboard scanning
Video Controller MC6847 Video Display Generator, 256×192 graphics, 32×16 text
RAM 2114 static RAM (1K×4 bit) 2 KB minimum, expandable to 12 KB
ROM 2532 EPROMs 8 KB system ROM (4 KB MOS + 4 KB BASIC)
Clock Generator 4 MHz crystal oscillator Divided to 1 MHz CPU clock, 3.58 MHz video clock
Power Regulator 7805 +5V regulation for logic circuits
Keyboard Decoder 74LS138 Row/column scanning via 6522 VIA
Address Decoding 74LS138, 74LS00 Memory and I/O chip select generation

Power Supply

[edit | edit source]

The Atom required an external power supply providing:

  • +5V DC @ 2A for logic circuits
  • -5V DC @ 100mA for video generation (MC6847)
  • Unregulated 8V AC @ 20VA for cassette motor control

Early units shipped with a linear transformer supply, while later models included a more efficient switched-mode unit.

Video System

[edit | edit source]

The MC6847 Video Display Generator provided:

Mode Resolution Memory Required Colours
Text 32×16 characters 512 bytes Black on green
Graphics 1 64×64 pixels 1 KB 4 colours
Graphics 2 128×64 pixels 1 KB 4 colours
Graphics 3 128×96 pixels 1.5 KB 4 colours
Graphics 4 128×96 pixels 3 KB 2 colours
Graphics 5 128×192 pixels 3 KB 4 colours
Graphics 6 256×192 pixels 6 KB Monochrome

Video output options:

  • UHF modulator for television connection (Channel 36)
  • Composite video output (1V peak-to-peak, 75Ω)
  • RGB output (optional modification)

Input/Output Interfaces

[edit | edit source]

Standard Ports

[edit | edit source]
Interface Connector Signals Purpose
Cassette 7-pin DIN Audio in/out, motor control 300 or 1200 baud data storage
Expansion Bus 64-way edge connector Full 6502 bus External peripherals
Printer 26-way IDC header 8-bit parallel + handshake Centronics printer interface
User Port 20-way IDC header 8-bit bidirectional + control General purpose I/O
Utility Socket 16-pin DIL Address/data/control subset Small expansion cards

6522 VIA Configuration

[edit | edit source]

The 6522 Versatile Interface Adapter managed:

  • Port A: Printer data output (8 bits)
  • Port B bits 0-3: Keyboard row select
  • Port B bit 4: Cassette output
  • Port B bit 5: Loudspeaker output
  • Port B bit 6: Keyboard REPT key
  • Port B bit 7: Keyboard CTRL key
  • Timer 1: Cassette tape timing
  • Timer 2: Sound generation

Keyboard

[edit | edit source]

The Atom featured a 60-key QWERTY keyboard with:

  • Full alphanumeric keys
  • CTRL, SHIFT, REPT (repeat) modifier keys
  • BREAK key (NMI interrupt)
  • LOCK key (caps lock)
  • COPY key (screen copy to printer)
  • Direct keyboard matrix scanning via 6522 VIA

Keyboard matrix organization:

  • 8 rows × 10 columns matrix
  • Software debouncing in MOS ROM
  • Auto-repeat functionality
  • N-key rollover limited to 2 keys

Expansion Options

[edit | edit source]

Internal Expansion

[edit | edit source]

The Atom motherboard included sockets for:

  • Additional RAM: Up to 5 KB lower text RAM (Block Zero)
  • Video RAM: Up to 6 KB for high-resolution graphics
  • Upper text RAM: 3 KB expansion at $3000-$3BFF
  • Floating Point ROM: 4 KB scientific calculator functions
  • Utility ROMs: Three 4 KB ROM sockets for languages or utilities

External Expansion

[edit | edit source]

Via the rear expansion connector:

  • Acorn Disk Pack: Dual 5.25" floppy drives with DOS
  • Econet Interface: Network adapter for educational environments
  • Colour Card: PAL colour encoder for MC6847
  • Atom Speechbox: SP0256 speech synthesizer
  • A/D Converter: 8-bit analog input card

ROM Software

[edit | edit source]

Machine Operating System (4 KB)

[edit | edit source]

Located at $F000-$FFFF, provided:

  • Hardware initialization routines
  • Keyboard scanning and decoding
  • Cassette tape I/O routines
  • VDU driver routines
  • Interrupt handlers
  • Monitor commands (memory examine/modify)

Atom BASIC (4 KB)

[edit | edit source]

Located at $C000-$CFFF, featured:

  • Integer arithmetic only (no floating point in base model)
  • Direct memory access via ! and ? operators
  • Built-in assembler for 6502 code
  • Graphics commands (DRAW, MOVE, PLOT)
  • String handling (12 character maximum)
  • Array support (integer only)
  • Procedures with local variables

Optional Floating Point ROM (4 KB)

[edit | edit source]

Located at $E000-$EFFF when installed:

  • 5-byte BCD floating point format
  • 9 significant digits, exponent ±99
  • Trigonometric functions
  • Logarithmic functions
  • Scientific notation support

Technical Innovations

[edit | edit source]

The Atom introduced several design features:

  • Single-board construction reduced manufacturing costs
  • Memory-mapped I/O simplified hardware design
  • Built-in assembler in BASIC ROM
  • Direct video memory access from BASIC
  • Modular expansion system via edge connector

Component-Level Details

[edit | edit source]

Clock Generation

[edit | edit source]
  • 4 MHz crystal oscillator (X1)
  • 74LS163 counter divides by 4 for 1 MHz CPU clock
  • 3.58 MHz NTSC subcarrier for MC6847 video timing
  • Phase relationships maintained for video stability

Address Decoding Logic

[edit | edit source]
  • IC7 (74LS138) decodes A12-A15 for 4K blocks
  • IC8 (74LS138) further decodes I/O space
  • IC20 (74LS00) generates chip enables
  • Pull-up resistors on unused decoder outputs

Reset Circuit

[edit | edit source]
  • RC network (R1=4.7kΩ, C1=10µF) provides power-on reset
  • Manual reset via BREAK key triggers NMI
  • 74LS00 gate buffers and inverts reset signal
  • Reset pulse width approximately 47ms

Cassette Interface

[edit | edit source]
  • Output: Square wave from 6522 PB4, AC-coupled via C15 (0.1µF)
  • Input: Comparator circuit using LM311 or similar
  • Motor control: Relay driver using BC108 transistor
  • Data encoding: Kansas City Standard (300 baud) or fast mode (1200 baud)

Known Hardware Issues

[edit | edit source]

Common failure points requiring maintenance:

  • 7805 voltage regulator overheating without adequate heatsink
  • MC6847 video chip thermal stress causing intermittent display
  • Keyboard matrix diodes failing causing phantom keypresses
  • 2114 RAM chips prone to failure, especially in lower addresses
  • Edge connector oxidation causing expansion problems
  • Cassette relay contacts wearing from repeated use

Board Revisions

[edit | edit source]
Revision Changes Issues Addressed
Issue 1 Original design N/A
Issue 2 Improved ground plane Reduced video interference
Issue 3 Modified reset circuit More reliable power-on reset
Issue 4 Updated cassette interface Better tape reliability
Issue 5 Final production version Cost-reduced component selection

See Also

[edit | edit source]