Beebug
1st October 1983
Author: David Graham
Publisher: Acorn Computers
Machine: European Machines
Published in Beebug Volume 2 Number 5
The Acorn Electron
The Acorn Electron has been officially launched, and indications are that it will prove to be a popular machine. As we suggest in our editorial, we shall not be covering the Electron in Beebug magazine - we have begun a separate user group for that machine, with its own dedicated magazine Orbit. However, we feel that BBC users will be interested to hear how the Electron measures up to the Beeb.
First of all, it looks as though the supply difficulties encountered by early BBC users will not be repeated with the Electron. Our review machine was a production model, and this is a good sign, as it suggests that production lines have been gearing up since well before the launch. In other ways too, Acorn have learned from their experiences with the Beeb. The packaging has been well thought through, and the documentation is far better than that received by early Beeb owners.
Electron Pack
Apart from the machine itself, the pack contains a large-moulded plug with built-in transformer, a UHF TV lead, a 'Welcome' cassette, and two books. One of these is a manual, very similar in size to the Beeb manual. This is well planned, with a detailed list of contents. A strong minus point is its lack o findex, and we would urge Acorn to append an index to the release version of the manual. The second book, Start Programming With The Electron by Masoud Yazdani (published by Addison-Wesley) is an admirable introductory text. What is so impressive about it is that it introduces fully structured programming right from the start. In the first chapter, it introduces the PRINT statement alongside PROC and ENDPROC. Procedures are fundamental to structured Basic, and it is nice to see them being introduced in this way. My one serious reservation about this book is again, its lack of index in the release version.
Machine Hardware
The machine is well constructed, and has a good feel to it. It has a compressed BBC keyboard (56 keys). There are no red function keys, but the user-defined keys are still implemented (press FUNC and one of the number keys simultaneously). When used with the alpha keys, the FUNC key allows direct entry of most Basic keywords. This is a useful facility implemented by the Electron's Operating System.
One way in which the Electron contrasts sharply with the Beeb is that it has only six connections with the outside world, whereas the model B positively bristles with connectors of various kinds. Somewhat unexpectedly, three of the Electron's sockets are for the visual display (UHF, video and RGB). This leaves the power input socket, a cassette socket (with motor control) and an edge connector to be used with external interfaces.
Acorn have a number of planned add-ons to upgrade the Electron to almost a Model B and beyond, but those will not be available for several months.
Innards
Internally the Electron has a higher discrete component count that might be expected in a budget machine. There are two printed circuit boards - the power supply circuitry is separate from the main board, as on the BBC. The main board is dominant by a large square-format ULA chip, and alongside this a 6502A, a Basic ROM (the same as the Beeb's Basic II), a 16K Eprom containing the Operating System, and four 64K bit dynamic memory chips.
The Electron uses these as if they were eight 32 bit memories, though there is some loss of speed involved in the process. The Electron thus has 32K of RAM, and since PAGE is set to &E00 (as on the BBC Micro) the user is left with 17.75K of free memory in Mode 6.
In Mode 2 this falls to a very small 5.75K (as with the Beeb), leaving precious little memory for program storage, and no immediate hope of an add-on second processor to improve things.
Missing Parts
Severe economies have been made in whittling the Model B down to an Electron, yet these economies have been intelligently made, with only limited loss of facilities. Thus, although there is no 6845 video controller chip, many of its functions are carried out in software.
What the software cannot achieve is the very fast hardware scrolling on the Beeb, and this together with the hardware sideways scroll have disappeared. Similarly with the SOUND and ENVELOPE commands; software has taken over some of the functions carried out in hardware, and only two sound channels and one envelope are available on the Electron, and the envelope lacks the lack six parameters.
The most noticeable 'missing part' of the Beeb is the Teletext mode hardware. The Electron has no Mode 7. Modes 0 to 6 are all implemented exactly as on the Beeb, and calling MODE 7 defaults to Mode 6, the start-up mode. The loss of Mode 7 is a great pity for a number of reasons. It is both an economical and interesting mode, and moreover it brings compatibility with Viewdata systems. Its exclusion on financial grounds is fully appreciated of course.
Without Mode 7, the most economical mode is 6, but this takes 7K more memory than Mode 7, and does not allow multicolour screens. We would add that one of the advantages of not covering the Electron in Beebug is that we can continue fully to support the use of Mode 7 in our programs; without the disincentive of having to carry alternative versions each time that we carry a program using Mode 7.
Speed Loss
Generally speaking, the Electron makes up for missing hardware by incorporating extra software routines in the Operating System to perform the same function. The inevitable consequence of this approach is loss of speed.
This is most noticeable in the Electron's screen handling in the higher resolution graphics modes. And it is not only the act of changing the display which is time intensive, but even supporting the display takes extra time.
For example, if the program TIMETEST is run on a BBC, the printer result is 476 (representing a time of 4.76 seconds to perform the calculation of the sine two hundred times). This timing is, as we would expect, quite independent of the screen mode in use.
10 REM TIME TEST
20 TIME=0
30 FOR A%=1 TO 200
40 X=SIN(12)
50 NEXT
60 PRINT TIME
Running the same program on the Electron gives a result of 558 when the screen is in Mode 6, and a massive 1176 in Mode 0. This single text suggests that the Electron can approach the calculating speed of the Beeb providing that the central processor (6502) is not given too much other world to do. Programs which make use of the higher modes will have to get around this in other ways. In some cases, it may be possible to do the bulk of the processing while in Mode 6, and then change to a higher mode to display the results. Machine code action games using Mode 2, for example, will need a certain amount of rewriting to speed them up.
The Competition
This review has been presented in terms of a comparison between the Electron and the BBC Micro. Potential purchasers of the Electron will generally not be making such comparisons because the two machines are in quite different price brackets - even more so since the phasing out of the Model A. The Electron's competition will be from machines such as the Spectrum, the Dragon, and the Vic-20.
Broadly speaking, the Electron compares extremely favourably with these, offering a combination of excellent text and graphics, two-channel sound, and a full typewriter keyboard. The promised add-ons should prove to be a further incentive in favour of this well designed successor to the BBC Micro.
The Electron lacks the following features of a Model B:
- Printer port
- RS423
- Analogue port
- User port
- 1 MHz bus
- Tube
- Paged ROM sockets
- Mode 7
- Full SOUND and ENVELOPE (reduced implementation only)