An original press advertisement for the Acorn Electron
The Acorn Electron was a budget version of the BBC Micro
educational/home computer made by Acorn Computers
Ltd. It had 32 kilobytes of RAM, and its
ROM memory included BBC BASIC along with its operating system.
The Electron was able to save and load programs onto audio cassette via a supplied
converter cable that plugged into the microphone socket of any tape recorder. It was capable of basic graphics, and could display onto either a television set or a
"green screen" monitor.
At its peak, the Electron was the third best selling micro in the United Kingdom, and total lifetime game sales for the
Electron exceeded those of the BBC Micro. There are at least 500 known games for the Electron and the true total is probably in
the thousands.
The hardware of the BBC Micro was emulated by a single customized ULA chip designed by
Acorn. It had feature limitations such as being unable to output more than one channel of sound where the BBC was capable of
three-way polyphony and the inability to provide teletext mode. The machine architecture also
imposed a substantial speed decrease on applications running from RAM, although ROM applications ran at the same speed
The ULA controlled memory access and was able to provide 32K × 8 bits of addressable RAM using 4 × 64K × 1-bit
RAM chips (4164).
History
The Electron was developed during 1983 as a cheap sibling for the BBC Micro with the
intention of capturing the low cost Christmas sales market for that year. Although Acorn were able to shrink substantially the
same functionality as the BBC into just one chip, manufacturing problems meant that very few
machines were available for the Christmas period - to the extent that some shops reported eight presales for every delivered
machine.
This was a blow from which the machine never fully recovered, although games sales for it would ultimately outstrip those of
the BBC Micro. Following Olivetti's 1985 cash injection into Acorn the machine was effectively
sidelined.
With hindsight, the machine was too lacking in RAM (a typical program would need to fit in only around 20 kB once display
memory is subtracted) and processing power to take on the prevailing ZX Spectrum and
Commodore 64. Despite this, several features that would later be associated with
BBC Master and Archimedes were first features of
Electron expansion units, including ROM cartridge slots and the Advanced Disc
Filing System — a hierarchical improvement to the BBC's original Disc Filing
System.
Popular upgrades
See also List of Acorn Electron Hardware and Modifications
Acorn Plus 1
The Acorn Plus 1 added two ROM slots, an analogue interface and a parallel port. The analogue interface was normally used for
joysticks, the parallel for a printer.
Access to ROM memory occurred at 2 MHz regardless of graphics mode so theoretically programs released on ROM could run at
least twice as fast as those released on tape or disc. Despite this all of the games released on ROM were packaged as 'serial
ROMS', from which the micro would load programs into main memory in exactly the same way as if it were loading from tape. This
meant that programs did not need to be modified for their new memory location but gave no execution speed benefits
whatsoever.
Acorn Plus 3
The Acorn Plus 3 was a hardware module that connected independently of the Plus 1 and provided a double-density 3½” disc drive
connected through a WD1770 drive controller and an ADFS ROM. Because the WD1770 is capable of single density mode and uses the same IBM360
derived floppy disc format as the Intel 8271 found in the BBC Micro, it was also possible to run
a DFS filing system with an alternate ROM.
P.R.E.S. Advanced Plus 3
The P.R.E.S. Advanced Plus 3 with a 3½” drive
The Advanced Plus 3 was very similar to the Acorn Plus 3 but packaged as a ROM cartridge for the Plus 1 with a disc drive
connector at the head. This made it possible to connect a 5¼” floppy disc drive as used by BBC Micro owners or a more common 3½”
drive.
Slogger/Elektuur Turbo Board
The Slogger and Elektuur Turbo Boards were born out of a hack initially devised at Acorn. By moving the lowest 8 KB of RAM
outside of reach of the ULA, the CPU could always access it at 2 MHz. The tradeoff was that the screen could not be located in
that 8 KB. In practice the operating system ROMs always put the screen into the top 24 KB and as a result this probably only
broke compatibility with around 2% of software.
The Slogger Turbo Board was a professionally fitted upgrade whereas the Elektuur modification was described in an article in
Dutch Electronics magazine Elektuur and intended for users to perform at home.
Speeding up the low portion of memory is particarly useful on 6502 derived machines because that processor has a faster
addressing mode for the first 256 bytes and so it is common for software to put any variables involved in time critical sections
of program into that region.
If Acorn had thought to include this small modification in the original Electron design it is likely the machine would have
had a much greater impact as it would have nearly doubled the amount of motion possible in games and saved modes 0–3 (including
the only 16 colour mode) from being nearly useless due to contended memory timings.
Slogger Master RAM Board
A development of the Turbo Board, the Master RAM Board duplicated the Turbo Board functionality and added a further option of
running the micro with 32 kB of shadow RAM in addition to the ordinary 32 kB — giving 64 kB total. Some clever program counter
catches meant that the ordinary system ROMs and any software using the OS calls could function without significant modification,
making substantially more memory available for BASIC, View, Viewsheet and almost every other business application.
Applications could not directly address video memory in this mode without modification, so it was incompatible with most
games, although there is no inherent reason why a game could not be written to function in shadow mode.
During its decline, Master RAM Boards were added to every Electron in an attempt to increase sales.
Jafa Systems Mode 7 Display Unit
Of the capabilities present in the BBC Micro but absent from the Electron, the teletext style mode 7 was particularly
conspicuous because of the very low memory usage in that mode (just less than 1 kB) and the high number of BBC programs that used
it. Jafa Systems provided a number of solutions to redress this deficiency.
The most basic solution was a pure software system supplied on a ROM cartridge that drew a low resolution approximation of the
mode 7 display in a graphics mode. Although cheap and effective in enabling use of some software that only used official ROM
entry points for text output, this solution proved very slow because the Electron had to be placed into an 80 byte pitch display
to be able to get anywhere near to reproducing mode 7 and the CPU spent a lot of time drawing approximations of mode 7 characters
and graphics that in a hardware solution would be achieved without any CPU processing. It also used up 20 kB of RAM for the
graphics display rather than the 1 kB of a hardware mode 7.
Two solutions with additional hardware were provided. The first used the same graphics processor as the BBC Micro in mode 7 —
the SAA5050 — but used software to ensure that it was fed with the correct graphics data. A
software ROM would put the machine into an ordinary 40 byte pitch display. While the ULA would read the display from memory in
the usual fashion, the SAA5050 would listen to the data it was reading and produce a mode 7 interpretation of the same
information. When necessary the hardware would switch between the graphics output being produced by the micro and that being
produced by the add-on.
The disadvantage to this system is that while the SAA5050 would expect to be repeatedly fed the same 40 bytes of data for
every display scanline of every character row, the ULA would read a different set of 40 bytes for every display scanline in order
to produce a full graphics display. A software ROM worked around this by duplicating the data intended for a mode 7 display in
memory. Although this produced a mode 7 that barely impacted upon CPU performance and gave the same visual quality as the BBC
Micro, it remained compatible only with software that used the ROM routines for outputting text and graphics and still used 10 kB
of memory for the display.
A second version of the hardware add-on corrected these problems. By adding a CRTC6845
to the package, a full hardware solution was created that did not reduce CPU performance and only used 1 kB of memory for the
display. A software ROM was still supplied, but this did no more than expand the hardware ROM so that it knew mode 7 now existed
and was able to switch into it.
Merlin M2105
An unusual variant of the Electron was sold by British Telecom Business Systems as the BT
Merlin M2105 Communications Terminal. This consisted of a de-badged Electron plus a large expansion unit containing 32 KB of RAM,
48 KB of ROM, a Centronics printer port and a modem. The ROM
firmware provided dial-up communications facilities. These were used by the
Interflora florists network in the UK for over a decade.[1]
Technical information
Hardware
- CPU: MOS Technology 6502A
- Clock rate: variable. CPU runs at 2 MHz when accessing ROM and 1 MHz or 0.5897 MHz (depending on graphics mode) when accessing RAM due to sharing
memory access with the video display circuits. The Electron is widely misquoted as operating at 1.79 MHz after measurements derived from speed testing against the thoroughly 2 MHz BBC
Micro for various pieces of 'common software'
- Coprocessor: Custom ULA
- RAM: 32 kB
- ROM: 32 kB
- Text modes: 20×32, 40×25, 40×32, 80×25, 80×32 (all text output produced by software in graphics modes)
- Graphics modes: 160×256 (4 or 16 colours), 320×256 (2 or 4 colours), 640×256 (2 colours), 320×200 (2 colours — spaced display
with two blank horizontal lines following every 8 pixel lines), 640×200 (2 colours — spaced display)
- Colours: 8 colours (TTL combinations of RGB primaries) + 8 flashing versions of the same colours
- Sound: 1 channel of sound, 7 octaves; built-in speaker. Software emulation of noise channel supported
- Dimensions: 16×34×6.5 cm
- I/O ports: Expansion port, tape recorder connector (1200 baud variation on the Kansas City standard for data encoding), aerial TV connector (RF
modulator), RGB video monitor output
- Power supply: External PSU, 18V
Quirks
Exile is an example of a game where the developers left non-graphical data
visible in the display buffer to gain additional memory space.
Like the BBC Micro, the Electron was constrained by limited memory resources. Of the 32 KB
RAM, 3½ KB was allocated to the OS at startup and at least 10 KB was taken up by the display buffer in contiguous display
modes.
Due to the timing of interrupts it was possible to disable either the top 100 or bottom 156 lines of the display with palette
changes. Many games took advantage of this, gaining storage by leaving non-graphical data in the disabled area.
Other games would load non-graphical data into the display, leaving it visible as regions of apparently randomly coloured
pixels.
Although page flipping was a hardware possibility, the limited memory forced most
applications to do all their drawing directly to the visible screen, often resulting in graphical flicker or visible redraw. Notable exceptions include Joe
Blade and Ballistix.
Tricks
FireTrack: smooth vertical scrolling
Although programs can alter the position of the screen in memory, the non-linear format of the display means that vertical
scrolling can only be done in blocks of 8 pixels without further work.
FireTrack exploits a division in the way the Electron handles its display — of the seven available graphics modes, two
are configured so that the final two of every ten scanlines are blank and are not based on the contents of RAM. If 16 scanlines
of continuous graphical data are written to a character block aligned portion of the screen then they will appear as a continuous
block in most modes but in the two non-continuous modes they will be displayed as two blocks of 8 scanlines, separated in the
middle by two blank scanlines.
In order to keep track of its position within the display, the Electron maintains an internal display address counter. The
same counter is used in both the continuous and non-continuous graphics modes and switching modes mid-frame does not cause any
adjustment to the counter.
FireTrack switches from a non-continuous to a continuous graphics mode part way down the display. By using the palette
to mask the top area of the display and taking care about when it changes mode it can shift the continuous graphics at the bottom
of the display down in two pixel increments because the internal display counter is not incremented on blank scanlines during
non-continuous graphics modes.
Exile: sampled speech
Exile turns the Electron's one channel output into a digital speaker
for PCM output.
The speaker can be programmatically switched on or off at any time but is permanently attached to a hardware counter so is
normally only able to output a square wave. But if set to a frequency outside the human audible range then the ear can't perceive
the square wave, only the difference between the speaker being switched on and off. This gives the effect of a simple toggle
speaker similar to that seen in the 48 kB ZX Spectrum. Exile uses this to output
1-bit audio samples.
Popular games
A good range of games were available for the Electron from publishers such as Acornsoft and
Superior Software, notably including:
See also the list of Acorn Electron games for a fairly comprehensive
list of games published for the machine and Category:BBC Micro and Acorn Electron games for a list of
games with information on Wikipedia.
Emulation
Two emulators of the machine exist, ElectrEm ([2]) for Windows/Linux/Mac OS X and Elkulator ([3]) for Windows/DOS. Electron software is predominantly archived in the
UEF file format.
See also
External links
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)