Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Acorn Electron
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Infobox computer | name = Acorn Electron | image = [[File:Acorn_Electron.jpg|250px]] | caption = Acorn Electron | manufacturer = Acorn Computers Ltd | type = Home Computer | release date = August 25, 1983 | discontinued = 1985 | price = Β£199 (1983) | cpu = MOS Technology 6502A @ 2 MHz (1 MHz effective) | memory = 32 KB RAM, 32 KB ROM | storage = Cassette tape interface, optional floppy disk via Plus 1 | display = 640Γ256 (2 colours), 320Γ256 (4 colours), 160Γ256 (16 colours), 80Γ25 text | sound = 1 channel + white noise (internal speaker) | dimensions = 340 mm Γ 160 mm Γ 55 mm | weight = 1.8 kg | os = Acorn MOS 1.0 with BBC BASIC 2 | predecessor = [[BBC Micro Model A/B]] | successor = None | codename = Egghead, Acorn | model = }} The '''Acorn Electron''' was a budget home computer released by Acorn Computers Ltd in August 1983. Designed as a low-cost alternative to the BBC Micro, the Electron featured a single custom ULA chip that integrated most of the discrete logic found in its predecessor, reducing manufacturing costs while maintaining software compatibility with BBC BASIC programs. == Architecture == The Electron's architecture centered around a custom Ferranti ULA (Uncommitted Logic Array) containing 2,000 gates, which handled video generation, memory control, sound, and cassette I/O. This integration came at the cost of performance, as the ULA could only access RAM during specific periods, effectively halving the 6502's throughput. === Memory Organization === {| class="wikitable styled-table" style="width:70%; text-align:center;" |+'''Acorn Electron Memory Map''' ! Address Range !! Size !! Function !! Access Speed |- | $0000 β $0040 || 64 bytes || Zero page workspace || 2 MHz |- | $0041 β $00FF || 191 bytes || Zero page user area || 2 MHz |- | $0100 β $01FF || 256 bytes || 6502 stack || 2 MHz |- | $0200 β $02FF || 256 bytes || Operating system workspace || 2 MHz |- | $0300 β $03FF || 256 bytes || VDU workspace || 2 MHz |- | $0400 β $07FF || 1 KB || Current language workspace || 2 MHz |- | $0800 β $0AFF || 768 bytes || Sound/printer buffer || 1 MHz |- | $0B00 β $0CFF || 512 bytes || Keyboard buffer/user workspace || 1 MHz |- | $0D00 β $0DFF || 256 bytes || NMI workspace || 1 MHz |- | $0E00 β $1FFF || 4.5 KB || User BASIC program space (low) || 1 MHz |- | $2000 β $2FFF || 4 KB || User BASIC variables || 1 MHz |- | $3000 β $7FFF || 20 KB || Screen memory/User space || 1 MHz |- | $8000 β $BFFF || 16 KB || Sideways ROM/RAM (paged) || 2 MHz |- | $C000 β $FFFF || 16 KB || Operating System ROM || 2 MHz |} == Hardware Specifications == === Main Board Components === {| class="wikitable styled-table" style="width:70%; text-align:center;" ! Component !! Part Number !! Function !! Notes |- | '''CPU''' || MOS 6502A || Central processor || 2 MHz clock, 1 MHz effective |- | '''ULA''' || Ferranti 12C021 || Video, sound, memory control || 68-pin custom chip |- | '''RAM''' || 4Γ HM4864P-2 || 32 KB total || 64KΓ1 bit DRAMs, 200ns |- | '''ROM''' || 2Γ 23128 || 32 KB total || OS + BASIC interpreter |- | '''Crystal''' || 16 MHz || Master clock || Divided down for all timing |- | '''Keyboard Controller''' || None (ULA) || Key matrix scanning || Via ULA ports |- | '''PSU Regulator''' || 7805 || +5V regulation || External PSU provides 18V AC |} === ULA (Uncommitted Logic Array) === The Ferranti-manufactured ULA performed multiple functions: {| class="wikitable styled-table" style="width:85%; text-align:center;" ! Function !! Implementation !! Performance Impact |- | Video generation || 6845 CRTC emulation || Steals RAM cycles during display |- | DRAM refresh || Automatic during video scan || Hidden refresh, no CPU impact |- | Memory mapping || Address decode logic || Enforces 1 MHz/2 MHz regions |- | Sound generation || Simple tone + noise || Single channel only |- | Cassette interface || 1200/300 baud FSK || Integrated modulator/demodulator |- | Keyboard scanning || 14Γ4 matrix decode || Interrupt-driven scanning |- | ROM paging || 4-bit latch || Supports 16 ROM banks |} == Video System == The Electron supported seven display modes compatible with the BBC Micro: {| class="wikitable styled-table" style="width:90%; text-align:center;" ! Mode !! Resolution !! Colours !! Memory !! Text Columns |- | 0 || 640Γ256 || 2 || 20 KB || 80Γ32 |- | 1 || 320Γ256 || 4 || 20 KB || 40Γ32 |- | 2 || 160Γ256 || 16 || 20 KB || 20Γ32 |- | 3 || 640Γ256 || 2 (text only) || 16 KB || 80Γ25 |- | 4 || 320Γ256 || 2 || 10 KB || 40Γ32 |- | 5 || 160Γ256 || 4 || 10 KB || 20Γ32 |- | 6 || 320Γ256 || 2 (text only) || 8 KB || 40Γ25 |} Video timing specifications: * '''Horizontal frequency:''' 15.625 kHz * '''Vertical frequency:''' 50 Hz * '''Pixel clock:''' 8 MHz (modes 0,3) or 4 MHz (modes 1,4,6) or 2 MHz (modes 2,5) * '''Active display:''' 256 lines Γ 640/320/160 pixels * '''Blanking:''' 56 lines vertical, 160 pixels horizontal == Input/Output == === Expansion Port === The rear expansion connector provided a 50-way edge connector with: {| class="wikitable styled-table" style="width:85%; text-align:center;" ! Pin Group !! Signals !! Purpose |- | 1-8 || D0-D7 || Data bus |- | 9-24 || A0-A15 || Address bus |- | 25-26 || R/W, Ξ¦2 || Control signals |- | 27-30 || nNMI, nIRQ, nRST, RDY || Interrupt/control |- | 31-35 || 16MHz, nPAGE, nROM || Timing/selection |- | 36-40 || Sound, Cassette || Audio I/O |- | 41-50 || Power, Ground || +5V, -5V, 0V |} === Plus 1 Expansion Unit === The Plus 1 add-on provided: * '''Printer port:''' Centronics parallel interface * '''Joystick port:''' Analogue joysticks (BBC-compatible) * '''Cartridge slots:''' Two ROM cartridge sockets * '''Additional logic:''' 8255 PPI for I/O expansion === Plus 3 Disk Interface === The Plus 3 added: * '''WD1770 FDC:''' Floppy disk controller * '''3.5" drive:''' Single 640 KB drive * '''ADFS ROM:''' Advanced Disk Filing System * '''Additional RAM:''' 3 KB workspace == Power Supply == The Electron used an external transformer unit: * '''Input:''' 230V AC (UK model) * '''Output:''' 18V AC @ 1.4A * '''Internal regulation:''' 7805 provides +5V DC * '''Consumption:''' 6W typical Power distribution: * '''+5V:''' Logic circuits, ULA, CPU, RAM * '''-5V:''' Generated on-board for cassette interface * '''Current draw:''' 1.2A maximum on +5V rail == Keyboard == The Electron featured a 56-key keyboard: * '''Layout:''' QWERTY with BREAK, COPY, CAPS LOCK/FUNC * '''Matrix:''' 14 columns Γ 4 rows scanned by ULA * '''Debouncing:''' Software-based in OS ROM * '''Key switches:''' Membrane or mechanical (varied by production run) * '''Auto-repeat:''' OS-controlled with adjustable rate == Sound System == Limited compared to the BBC Micro: * '''Channels:''' 1 tone generator + white noise * '''Frequency range:''' 122 Hz to 3.9 kHz * '''Volume:''' 16 levels * '''Output:''' Internal speaker only (no line output) * '''SOUND command:''' BBC BASIC compatible subset == ROM Software == === Operating System ROM (16 KB) === Located at $C000-$FFFF: * '''MOS 1.0:''' Acorn Machine Operating System * '''VDU drivers:''' Text and graphics routines * '''File system:''' Cassette filing system * '''I/O routines:''' Keyboard, sound, printer support * '''Interrupt handlers:''' IRQ and NMI processing === BASIC ROM (16 KB) === Paged in at $8000-$BFFF: * '''BBC BASIC 2:''' Full implementation * '''Assembler:''' Built-in 6502 assembler * '''Graphics commands:''' PLOT, DRAW, MOVE, etc. * '''Sound commands:''' SOUND, ENVELOPE (limited) * '''Error handling:''' ON ERROR support == Technical Limitations == The ULA design imposed several constraints: {| class="wikitable styled-table" style="width:90%; text-align:center;" ! Limitation !! Cause !! Impact |- | 1 MHz RAM access || ULA video priority || 50% speed reduction vs BBC Micro |- | Single sound channel || Simplified ULA design || No music capabilities |- | No hardware multiply || Cost reduction || Slower arithmetic |- | No Teletext mode || Missing SAA5050 chip || No Mode 7 support |- | Limited I/O || No 6522 VIA chips || Requires expansion units |- | No RS423 serial || Cost reduction || No built-in comms |} == Manufacturing Variants == {| class="wikitable styled-table" style="width:85%; text-align:center;" ! Issue !! ULA Version !! Changes !! Production Period |- | 1 || 12C021 || Initial release || Aug 1983 - Dec 1983 |- | 2 || 12C021A || Improved yield || Jan 1984 - Jun 1984 |- | 3 || 12C021B || Video timing fix || Jul 1984 - Dec 1984 |- | 4 || 12C021C || Final revision || Jan 1985 - Aug 1985 |} == Memory Access Timing == The ULA controlled all RAM access with strict timing: * '''Video fetch:''' Every 2 MHz cycle during active display * '''CPU access:''' Alternate cycles in screen area * '''Refresh:''' During horizontal blanking * '''Contention:''' CPU stalled when accessing video RAM Timing diagram (per 1 Β΅s): # 0-250ns: ULA video fetch # 250-500ns: CPU access window # 500-750ns: ULA video fetch # 750-1000ns: CPU access window == Known Hardware Issues == === Power Supply === * '''7805 regulator overheating:''' Inadequate heatsinking causes thermal shutdown * '''Transformer hum:''' Loose laminations in external PSU * '''DC offset:''' Electrolytic capacitor degradation === ULA Problems === * '''Heat sensitivity:''' ULA failures increase above 40Β°C * '''Video corruption:''' Internal gate degradation causes display artifacts * '''Total failure:''' No modern replacement available === Keyboard Issues === * '''Membrane fatigue:''' Early units suffer key bounce * '''Matrix diodes:''' 1N4148 diodes fail causing phantom keys * '''Connector oxidation:''' Poor contact at ribbon cable == General Maintenance == {{Main|Acorn Electron General Maintenance}} Regular maintenance includes cleaning the case with mild detergent, ensuring adequate ventilation around the ULA heatsink, and checking the keyboard membrane for wear. The external power supply transformer should be inspected for overheating. Internal dust accumulation should be removed with compressed air, particularly around the ULA and voltage regulator heatsinks. == Troubleshooting == {{Main|Acorn Electron Troubleshooting}} Common faults include no display output (check ULA and crystal oscillator), corrupted graphics (failing ULA or RAM), and keyboard non-response (check ribbon cable and matrix diodes). The external PSU frequently fails with dried capacitors causing ripple. Memory faults typically manifest as system crashes or corrupted BASIC programs. == Capacitor Replacement Guide == {{Main|Acorn Electron Capacitor Replacement Guide}} Critical capacitors requiring replacement after 40 years include: * '''C1, C2:''' 2200Β΅F 25V (main PSU filtering) * '''C3:''' 100Β΅F 16V (ULA supply decoupling) * '''C4-C7:''' 47Β΅F 16V (RAM refresh timing) * '''C8:''' 10Β΅F 25V (reset circuit) * '''C9-C12:''' 0.1Β΅F ceramic (IC decoupling) == Easter Eggs == The Electron ROM contained hidden features: * '''Development team credits:''' Located at ROM address $FFB7 * '''Test routines:''' Accessible via *FX calls * '''Hidden error messages:''' "Roger" appears for certain crashes == See Also == * [[BBC Micro Model A/B]] * [[Acorn Atom]] * [[Acorn Communicator]] [[Category:Acorn Computers]]
Summary:
Please note that all contributions to RetroTechCollection may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
RetroTechCollection:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Infobox computer
(
edit
)
Template:Main
(
edit
)
Module:Arguments
(
edit
)
Module:Format link
(
edit
)
Module:Hatnote
(
edit
)
Module:Hatnote/styles.css
(
edit
)
Module:Hatnote list
(
edit
)
Module:Labelled list hatnote
(
edit
)
Module:Yesno
(
edit
)
Search
Search
Editing
Acorn Electron
Add topic