Computing Today

Just how good is the BBC's new computer system? We took one of the first production Model Bs and installed it in our reviewer's home. This report is the result of many weeks of testing and usage. The verdict - read on!

The idea that the BBC should produce a micro is a strange one. After all, the Beeb have failed to make any noticeable impact in the field of radio or TV manufacture - for example, where is the BBC television? However, if you look back into the history of broadcasting, today's venture into modern technology looks more reasonable. When radio was experimental, the BBC did much for its development by publishing designs for receivers, etc. Even today the BBC sets the standard for various pieces of electronics, simply because it is assumed that if the BBC use it, it must be the best! The question is, can this assumption be carried over to the BBC micro? It is certain that the use of the BBC's name would give a great deal of credibility to any microcomputer, whether it be good or a disaster! Is the current product worthy of the BBC's name?

The Beginning

The story of how the BBC came to the decision to adopt a micro and how they found their way to the particular machine they eventually adopted, is a tale that will become part of the folklore of computing. Put simply, what happened was that the BBC decided that they would produce a series of programmes about the microcomputer and computing in general and felt that it would be desirable to link the series to the use of a particular micro. It should be obvious that the chosen micro would suffer severe sales problems - namely, they would keep running out of stock! The BBC could not have selected any of the existing dozens of micros for reasons explained last month, so they chose to produce a new machine to add to the fairly full market. A specification was drawn up around the end of 1980 and manufacturers were invited to tender for the contract to produce the BBC micro. The specifications immediately ruled out a number of very popular machines quite explicitly. For example, the need for a 'real' keyboard ruled out the ZX81 and the requirement for the power supply to be other than switch-mode ruled out the APPLE.

At about the same time as the BBC were developing their specification, Acorn Computers were developing a successor to their very popular ATOM. Although they had only reached the prototype stage, the machine impressed the BBC sufficiently for them to drop one of their specifications (for a Z80 CPU) and accept Acorn's machine, 6502 CPU and all!

The machine that Acorn had been working on was to have been called the PROTON, which would have been a good name for the follow-up to the ATOM. How much the resulting machine - the BBC MICRO - owes to the BBC is difficult to say, but its debt to the ATOM is great.

An Overview

Before I go any further, I should say that I think the BBC micro is the most exciting and versatile micro I have seen to date. High resolution colour graphics and sound effects are standard features in a machine which costs less than £250! Of course it has faults (doesn't everything?) and I will point these out as I go along but all in all it is the machine at the top of my list of 'best buys'! To find out why read on ...

The BBC micro is sold in two different forms: the Model A, a basic 16K machine costing £235, and the Model B, an extended 32K machine retailing for £335. The Model A machine as just stated, comes with 16K of RAM and a sound effects chip. However, as mentioned earlier, high resolution graphics in colour are also a standard feature (ie you don't have to buy any extra ROMs or colour boards), so even the basic Model A out-performs other machines in the same price bracket - for more details see the section on graphics. It is important to realise, however, that these two models are entirely a sales convenience and that the 'A' can be converted to the 'B' by the addition of the extra chips (at a cost of about £135). There could be hundreds of versions of the BBC micro depending upon which options are installed. In the Model B, for example, there is (in addition to the extra 16K of RAM) a serial printer interface, a parallel printer interface, an eight-bit user port and a four channel A to D convertor. Even this does not exhaust the expansion possibilities of the unit because there are areas for a floppy disc controller, a speech synthesiser and an Econet interface - but more of these later. To complete the picture of an expandable machine, Acorn have introduced an expansion bus connection and an interface of their own invention called the 'Tube'. Through the Tube it is supposed to be possible to connect other microprocessors to handle tasks such as language compilers, etc. Only time will tell if these super expansion possibilities are taken up.

The overall appearance of the BBC micro is smart - as can be seen from the photos. The case is made from lightweight plastic and is a adequate for most environments (but don't try standing heavy weights on it, eg TV monitors). One of the most amazing things about the unit is its size and weight. For a machine with the expansion capabilities outlined above, it is very small and light, measuring 16" by 13", about 2.5" thick and weighing approximately 9 lbs. If you're interested in getting inside the case, then Acorn have made it easy - just four screws and the whole top lifts off giving very good access.

The machine is a pleasure to use. The keyboard feels good and has an auto repeat facility and three separate keys to provide upper case characters; Shift and Shift Lock giving upper case on all the keys; and CAPS Lock giving upper case on letters only. An additional row of user definable function keys are included and these are very easy to control from the software. Five keys are included for screen editing, the usual four cursor keys and a key marked COPY. My one complaint is the layout of the cursor keys. It would have been nice if they could have been positioned like the points of the compass rather than left/right, up/down. However on a keyboard of this size I don't see how it could be done.

The display quality is remarkably sharp on the few TVs I've tried it out on - it should be excellent on a monitor (It is! - Ed). One small problem is that on some sets the top line of the display vanishes outside the frame and on others the bottom line does the same. This is due to the rather complete use that the machine makes of the screen; however, it is fairly easy to remedy this 'fault' by adjusting the height control on the TV. The cassette system is very easy to use and keeps you informed of exactly what is going on. In use it is about as good as a cassette system can be and has the handling characteristics of a very slow disc! (In case anyone is in doubt this is a compliment.)

The Hardware

After our brief overview, the time has come for a detailed examination of the hardware. This is more difficult than usual because of the lack of any technical documentation - or sensible documentation of any kind! Because of this, some of the comments that I will make have the status of informed guesses and I apologise to Acorn in advance for any errors. The review model I've examined was a B machine but all my comments would apply equally to the A version.

Construction: I have already said how much I like the mechanical construction of the machine and how easy it is to get inside. If you do venture inside, the sight of the internal layout should be enough to please even the most discriminating. All the chips on the main (only) board are socketed and neatly placed. The power supply is the small black box to the left of the case. The keyboard is fitted at an angle and slightly covers the main board. This should cause no problems as the keyboard can be removed by undoing two bolts and unplugging a short ribbon cable. Also mounted on the keyboard is a small loudspeaker for sound effects and the CHR$(7) 'bell'. The PCBs are well made; the main board is double-sided and printed with the names and locations of all the components. There are signs of last minute modifications in the form of a number of fine wire jumpers and cut tracks on the bottom of the board. Not too much to worry about though, they will probably vanish in the second edition. A slightly more worrying problem is the poor support of the main board. It is fixed at four points and flexes if you try to remove or insert a chip into its socket. This may not sound like much of a problem until you notice that all but one of the I/O connectors are also mounted on the main board, so plugging and unplugging causes a similar flexing of the board.

The power supply: This, like the rest of the machine, is remarkable! A small black metal box about 6" by 3" by 2" contains all the necessary hardware to supply the fully expanded main board. A power supply of this size would normally have to use a switch-mode design. A switch-mode power supply is used in the Apple, for example, and was the main reason for the Apple's small size at a time when most other machines were huge. The BBC micro uses a conventional step down, rectifier/regulator circuit, however, and consequently runs VERY HOT. I can honestly say that of all the power supplies I've had the pleasure to feel, this one is the hottest! If it had a non-stick finish you could fry an egg on it!

The reason why Acorn have gone to so much trouble to avoid using a modern (more efficient and hence cooler) power supply is that the BBC's original specifications rule out the use of switch-mode power supplies. Why? Well the reason must be that someone at the Beeb thinks that switch-mode supplies put out too much radio interference. This would be true of a badly designed supply but does not provide a good reason for damning the whole principle - an unshielded computer (eg the BBC micro) puts out far more interference than a well-screened switching power supply. To be fair to Acorn, they have tried hard to design a good supply by using a toroidal transformer which, in general, is more efficient, smaller and more expensive than conventional types. Although I have had no trouble with this supply, I find it the least attractive feature of the machine.

The main board: This section is really a description of the computer itself as nearly everything fits on the main board! The microprocessor used by the BBC micro is a double speed (2 MHz) 6502. This is a fairly ancient processor by today's standards and was previously ruled out in the BBC's earlier specifications. So why does it turn up at the centre of the machine? The reason is that, although it's easy to design a brand new computer using almost any microprocessor you care to name, it's not so easy to produce software for it. Acorn had already used the 6502 and invested time in their own BASIC interpreter which in turn could be used to speed the development of the new BASIC interpreter the BBC micro required. The advantages in using the 6502 again were clear.

Fig 1 - What lies where on the main PCB

Click here for larger image

The main board is divided into a number of functional areas (see Fig. 1). The RAM area contains eight or 16 dynamic RAM chips (4816) socketed so servicing should be easy. The ROM area on my machine contained not five ROMs, but one ROM and four 2732 EPROMs. The BASIC is contained in the massive 128Kbit ROM. The four EPROMs currently contain the Machine Operating System (MOS). In later versions this will be put into another 128Kbit ROM.

What becomes of the three spare sockets, I hear you ask? The answer is that four of the ROM sockets are paged and can be used for 'alternative' software. For example, a disc operating system ROM could be installed and could be switched in to replace the BASIC ROM under software control.

Moving away from the memory area we come to the video processor ULA. ULA stands for Uncommitted Logic Array and is essentially a method of producing a large-scale integrated circuit for a reasonable cost. Put another way, this means that there are two chips inside the BBC micro which have been designed by Acorn (and produced by Ferranti). The video ULA is responsible for most of the clever colour graphics the machine is capable of and that's about all I can say without more information from Acorn. It is certain that the use of this ULA is what makes the BBC micro able to offer such good graphics for such a low price.

The Storage Solution

The cassette system for the BBC micro is, as I have said before, very easy to use. It is also very reliable The secret of this good-natured storage is the second ULA in the machine - the serial processor. The serial processor is responsible for handling the coding of the cassette data and contains a digital clock/signal separator making it a complete signal processor. The use of a digital separator makes data recovery fairly independent of speed and volume fluctuations found on low-cost cassette recorders. Two record speeds are available: 30 characters per second using a standard CUTS format, and 120 characters per second using a CUTS-related but non-standard format. Both work!

The cassette recorder is connected to the back of the machine via a standard 7-pin DIN audio socket. Acorn don't provide a completed cable (it has bare ends for connection to the recorder) on the basis that they could only cover 308 of the types of connector with one lead. This is a pity because it means that it is not possible to unpack and run the demonstration programs without first soldering on at least one plug.

The software used to control the cassette is clearly based on the ATOM cassette system. Named programs (up to 10 characters) can be saved and loaded. The format used for writing the tape is such that if an error occurs, it can be isolated to a particular block. The tape can be rewound and restarted at any earlier time. The first complete block found gives the name of the program and the block number. This information is used to continue the load so that it is not necessary to go right back to the start of a bad load - just re-read the blocks in error. The cassette can be used to save and load data under program control but more of this later.

The one problem with the cassette system is that only one recorder can be used. Acorn tell me that future production machines will be equipped to control two recorders but only reading from one and writing to the other. This may sound like a serious limitation but would, in fact, suit most applications requiring two cassettes.

Graphically Speaking

This is certainly the single most interesting feature of the BBC micro. There are, as always, two aspects of graphics - the hardware used (which determines the resolution) and the software - provided to make use of the hardware. The graphics hardware can work in eight distinct modes; see Table 1.

Table 1. Graphics modes and what they give you.
  Resolution Text Col. Mem. Model
 0  640 by 256  80 by 32  2  20k  B
 1  320 by 256  40 by 32  4  20k  B
 2  160 by 256  20 by 32  16  20k  B
 3  -  80 by 25  2  16k  B
 4  320 by 256  40 by 32  2  10k  A&B
 5  160 by 256  20 by 32  4  10k  A&B
 6  -  40 by 25  2  8k  A&B
 7  teletext  40 by 25  16  1k  A&B

Examining Table 1 reveals a number of details. The highest resolution graphics is a remarkable 640 by 256 plotting points - this sort of resolution would have cost more than the entire machine a year ago! A standard (commercial) format 80 by 25 screen is available only on Model B. The memory used by each mode is taken from user RAM - not a special display memory; only the last four modes are available on the Model A because of the memory requirements.

As mentioned earlier, the graphics are produced mainly with the help of the custom-built ULA chip. However it works; it must be receiving data from the user RAM and then re-arranging it to represent the required screen format. For example in Mode 0, each bit of the user memory corresponds to one screen location (pixel), but in Mode 1 you need two bits to determine the colour of each pixel. The ULA is responsible for collecting the number of bits each pixel requires and then determining which colour it should be. An area of memory inside the ULA is used as a 'palette' in the sense that it associates the codes stored in user memory with 'real' colours. For example in the two-colour mode, zero could be black and one could be white but by re-programming the palette you could have blue and cyan! One last detail about the graphics ULA is that it accesses the user memory in between the read/write cycles of the 6502 so the graphics display doesn't slow anything down.

Colours may be selected from any of those shown in Table 2. In use, these colours are clear and the overall display effect is stunning.

Table 2. The colours available and their codes.
 Foreground  Background  Colour
 0  128  black (normal background)
 1  129  red
 2  130  green
 3  131  yellow
 4  132  blue
 5  133  magenta (blue-red)
 6  134  cyan (blue-green)
 7  135  white (normal foreground)
 8  136  flashing black-white
 9  137  flashing red-cyan
 10  138  flashing green-magenta
 11  139  flashing yellow-blue
 12  140  flashing blue-yellow
 13  141  flashing magenta-green
 14  142  flashing cyan-red
 15  143  flashing white-black

Plotting coloured lines in Hi-Res graphics couldn't be easier - just select your colour and plot the line! The result is clearly in the colour you selected - some readers may be puzzled as to why this is so clever, surely this is what should happen? Apple owners, on the other hand, will think the BBC micro very clever!

The trouble with having all of these advanced graphics options is that it's all too easy to miss commenting on the less exciting things. So let me say, before I forget, that upper and lower case characters are present on both models; the text characters can be user defined (except for Teletext Mode 7) and text and graphics can be freely mixed on the screen. From the point of view of the hardware, text is just predefined graphics!

It is worth pointing out that the BBC micro is capable of being used to display the block graphics characters (or at any rate, something very close) of other machines. This would make converting programs which make use of specific graphics features very easy; not that there are some limitations to this idea - the BBC micro works with an 8 x 8 dot character block. The one slightly annoying feature of the graphics set is that the Mode 7 character set does not have a 'slashed' zero. As this is the mode in which you generally operate, the system boots up in Mode 7; confusion can occur until you get used to this.

There are three video outputs on the back of the machine: one mixed video (BNC connector), one RGB (6-pin DIN) and one UHF modulated output (Phono connector). The only one that I've used is the UHF modulated output.

User Interfaces

I've used the term 'user interface' as a way of collecting together the 'odd' interfaces which don't really fit into any other category.

Starting with what is usually referred to as a user interface, the BBC micro has an eight-bit parallel port. This is simply an unbuffered 'B' side of a 6522 PIA chip so it should be very familiar to anyone with a PET. Not all of the lines are available for unrestricted use for example, the CB 1 line can also be used as a light pen input. Connection is made to the user port by a 20-pin ribbon cable plug mounted under the cabinet.

The other half of the PIA is used as a parallel printer port. The standard seven data and two handshake (busy and strobe) connections are provided on a 26-pin ribbon cable plug also mounted under the cabinet. Presumably Acorn will provide cables for most printers.

A serial printer interface is also available using a standard 6850 ACIA. The only control lines provided are RTS and CTS and these may be found on a five-pin DIN socket at the back of the machine along with (of course) data-in and data-out. The use of a five-pin DIN socket may cause some trouble if you're trying to connect a standard (RS232 or V24) piece of equipment which uses a 24-pin D connector (but then it wouldn't be fun if they made it too easy!). The only other fact which might cause concern is that the serial interface is labelled RS423 rather than the more friendly and usual RS232. Have no fear, I am assured that RS423 is just a 'better' version of RS232 and may be used as if it were RS232.

The sound generator chip is sort of a user interface (computer to air!) so I will deal with it in this section. It is a fairly standard SN76489 sound effects chip containing one noise channel and three independent oscillators. This means that the BBC micro can 'play' up to three-note chords and make a wide variety of other bangs and pops.

The only other interface which comes into the general category of 'user' is the paddle or analogue input interface. Connection to the on-board A to D convertor (a uPD7002) is made via a 15-pin D socket (why use a D socket here and not on the serial port?). Apart from the four analogue input channels, there is also a 5 V supply and a reference voltage. These are obviously going to be used to feed two X,Y joysticks (or paddles as they have become known lately). The light pen connection mentioned in the section on the user port finds its way into the outside world via pin 9.

Down The Tube?

The BBC micro has two machine interfaces, both mounted underneath the case. A 34-pin ribbon plug supplies the '1 MHz Bus' and a 40-pin ribbon plug supplies the 'Tube'. Of the two, the Tube is the one that has attracted the most attention as a method of expanding the system by adding on other processors. It's difficult to say anything precise about either, because Acorn haven't published any technical information, but by examining the names given to the various pins it is possible to make a few guesses and also say what isn't the case. Well, the 1 MHz bus isn't a 'bus' because it only brings out address lines 0 to 7. This suggests that the 1 MHz bus is going to be used to share an area of memory between the BBC micro and some other machine or peripheral. Indeed, if we have a look at the memory map of the MOS (see Fig. 2) there are two areas (called Jim and Fred !?!?***!), each of 256 bytes that are designated for the expansion bus. The implications of this are not easy to see but it is obvious that no other micro can gain control of the entire address space of the 6502. This means that alternative CPU cards of the sort used on the Apple (the Z80 Softcard and the 6809 Mill), aren't possible on the BBC micro. However, 512 addresses for hanging extra I/O devices seems reasonable enough.

Fig. 2. The memory map, see also Fig. 3.
 0000 to 3FFF  always RAM (16384)
 4000 to 7FFF  optional RAM - Model B (16384)
 8000 to BFFF  4 paged Language ROMs (16384)
 C000 to FBFF  Operating System ROM
 FC00 to FCFF  Fred (256) expansion bus
 FD00 to FDFF  Jim (256) expansion bus
 FE00 to FEFF  Memory mapped internal use
 FF00 to FFFF  O.S. Rom

The Tube is a lot more difficult to fathom. Like the 1 MHz expansion bus, the Tube only provides a subset of the address line - A0 to A6 to be precise. The only control lines provided are Reset, Interrupt Request and the mystery line, TUBE. The way the Tube works all depends on what controls the line, TUBE, from deep inside the machine. It is likely that the add-on processors planned by Acorn will use the BBC micro as not much more than a super VDU. Is this a waste of a good machine? No, it's the birth of a super VDU - try buying a Hi-Res graphics, sound effects etc, colour VDU for less than £350!

The Soft Section

As should have been clear from the hardware section, the BBC micro has its memory space divided into two 32K regions. The bottom 32K is used for RAM and the top 32K is used for ROMs and memory mapped I/O (see Fig. 3). This may seem like rather a lot of ROM for one machine but it is all used to good effect. As well as the superb BASIC, there is an assembler and all the routines necessary for cassette handling, etc. The trouble with having all this excellent software in 28K of ROM is that it does reduce the amount of user RAM. In the worst possible case, with Mode 0 graphics and a disc system, the user might only have 8K to play with! Don't let this put you off - in practice you could always move to lower resolution graphics. It does, however, point to a weakness of the machine - insufficient address space.

Fig. 3. Another way of showing what does where in memory.

Click here for larger image

The BASIC: The BASIC to be found inside the BBC micro is brand new. It's not Microsoft BASIC but something produced by Acorn themselves. The only other successful micro which has left the Microsoft school is the ZX81 that has a BASIC coming close to the standard set by Microsoft. The BBC BASIC is the first version better than Microsoft.

Along with the BBC hardware specification came a detailed specification for the BASIC their machine should run. The BBC obviously wanted to make their BASIC academically correct because they would be responsible for introducing a lot of people to programming for the first time and any bad habits picked up would be their responsibility. Some academics were already critical that BASIC rather than Pascal had been chosen. The BBC's problem was that, by introducing new BASIC statements to make it structured like Pascal, they went further away from the de facto standard provided by Microsoft. The solution was to have as much Microsoft-compatible BASIC as possible and extend it to include the extra statements needed for structured programming.

Subroutines And Procedures

One of the big problems with traditional BASIC is that it has no way of creating 'proper' subroutines. Yes, it has the GOSUB command but this is really only an improved version of GOTO. What is really needed is the ability to write a chunk of program to, say, plot a square at some X,Y co-ordinates and then give it a name such as 'SQUARE' so that saying SQUARE (X,Y) anywhere else in the program causes a square to be plotted. This is almost what BBC BASIC allows you to do via the DEF PROC statement. For example the procedure ASTK given below will print X asterisks on the screen:

1000 DEF PROCastk(X)
1010 LOCAL I
1020 FOR I=1 TO X
1030 PRINT "*";
1040 NEXT I

I could go on for some time explaining all the facilities offered by the DEF and other statements. However, I will confine myself to the observation that this single extension to BASIC means that big programs can be built up from little procedures and this is the first time that this has been possible in a BASIC interpreter.

File Handling

The reason why I've singled out the file handling commands is that this is one of the main areas where things might get difficult if you have to convert a Microsoft BASIC program. The cause of the trouble are the OPENIN and OPENOUT commands which are distinctly different from the better known OPEN command. OPENIN and OPENOUT are functions which return the logical file number as opposed to OPEN which is a command to assign a given logical file number to the file. I leave it to the reader to think of the fun this slight difference could cause.

Graphics And Sound

The graphics commands of the BBC micro are far too versatile and subtle for me to be able to give you anything other than a flavour of the subject. The first clever thing about the graphics is that no matter what Mode you are in, the graphics screen is made to appear 1280 pixels wide by 1024 pixels high. This allows you to write graphics programs ignoring the resolution at which they will finally be used. I've had quite a lot of fun trying out the same program at various resolutions and comparing the differences.

The workhorse graphics command is PLOT. It has very many different functions including plotting a point, a line, a dotted line and even a solid triangle(!), either in absolute co-ordinates or relative to the last plotted point. I hope you noticed the bit about plotting a solid triangle because it's the most powerful part of the Hi-Res graphics commands. The triangle can be plotted in any valid colour and it appears very quickly on the screen. Why triangles? Surely rectangles are more useful? No - if you think about it, any shape can be made up out of triangles. In this sense the triangle is to drawing solid shapes what the line is to line drawings!

Other features of the graphics are equally powerful but would take too long to describe. I will simply mention the following abilities: to set foreground and background colours; to plot an image and then, almost instantaneously, change all the colour values; to define a graphics area and a text area on the screen which can be cleared independently; and finally, to test the colour value of any pixel, etc. In short, there is not much you cannot do and most of it can be done from BASIC!

Before rounding off the description of the BASIC, I should mention the sound command. Its syntax is:

SOUND channel,vol,freq,duration

Channel can be from 0 to 3 with 0 as the noise channel, volume from 0 to -15, frequency from 0 to 255 and the same for duration. The fun part of this command is that the three tone channels can be used at the same time. So:

SOUND 1,-15,20,50:SOUND 2,-15,100,50:SOUND 3,-15,200,50

is a three note chord - have fun!

There are many other features of the BASIC making it enjoyable to use; such as long variable names, good (Microsoft style) strings and string functions, a renumber command, etc, etc. But I would be leaving out one of the delights of using the BBC micro if I didn't tell you about the screen editor! There are two cursors - the text cursor and the editing cursor. The text cursor is the standard 'this is where you're typing' marker but the editing cursor can be moved about the screen using the arrow keys without any effect on the text cursor. If you press the key marked COPY however, whatever is under the editing cursor appears under the text cursor as if it has been typed from the keyboard (both cursors then move along to the next character). You can stop copying an old line on the screen by letting the COPY key go and then changing or adding to it by typing from the keyboard. It's not the most powerful screen editor but it is easy to use.

The Assembler

One of the best features of the ATOM was the way in which assembly code could be mixed with BASIC. The BBC micro has carried on this tradition by including an even better assembler in ROM. It's so easy to mix assembler and BASIC that I have a feeling that in the future I will be switching from one to the other without making my usual fuss. The best way to illustrate how easy it is, is via an example:

10 DIM Z% 30
20 P%=Z%
30 [OPT 3
40 PHP
50 LDY #&FF
60 SEI
70 STY &FE43
80 STA &FE4F
90 INY
100 STY &FE40
110 LDY #&10
140 LDY #&08
150 STY &FE40
160 PLP
170 RTS
180 ]
190 PROCnoise(RND AND &DF)
200 GOTO 190
500 DEF PROCnoise(C%)
510 A%=C%
520 CALL Z%

Line 10 saves 30 bytes of storage for the forthcoming machine code; the address of the start of this space is put into Z%. The variable P% is the program counter, so line 20 starts the assembly at the top of the reserved space. The brackets [ and ] are used to enclose any assembly language so everything from line 30 to line 180 is assembly language. If you know 6502 assembly language then lines 30 to 180 will be familiar to you even if you don't know what they do. Notice the use of the label WAIT at line 120. When the program is run, a listing of the machine code produced by the program is given along with any errors (there shouldn't be any in this case). The listing can be suppressed when everything is OK using the OPT statement. To use the machine code produced, it is a good idea to define a BASIC PROC with a suitable name rather than just use a nameless CALL command. PROCnoise is therefore defined in lines 500-530 and all you need to know about this is that a CALL statement sets the A, X and Y registers of the 6502 to the lower bytes of the variables A%, X% and Y%. What does it all do? It makes random noises from the sound effects chip!

A Welcome Home?

This is going to be a short section - there isn't very much documentation! To be fair to Acorn, the "User Guide" does have 'provisional' all over it but my main source of frustration while using the machine has been a severe information shortage. The detective work has been enjoyable but just think how much more I could have told you about the BBC micro if Acorn had only told me...? I can't wait for the real thing (manual that is). (The first 6000-odd machines will be supplied with the provisional manual containing a postcard to be filled in and sent to the address provided. When the new manuals are completed, the BBC will send you one free of charge - Ed).

The word 'Welcome' in the heading may lead you to believe that there has been a printer's error and this bit should have come first. In fact 'Welcome' is the title of a package of programs which come with the BBC micro just to show you what can be done. It comprises a cassette tape and a booklet and is excellently produced to show off many of the features of the machine. It is remarkable that a compilation of such extent and quality should be given away free with every BBC Micro.

The Future

For the BBC micro the future must surely be good. Without looking too far ahead there is to be the addition of a disc system and among some of the other planned extras are a Prestel interface, a Teletext interface, a second processor connected via the Tube, either another 6502 or a Z80 running (ugh) CP/M, a 16-bit processor.

It's not really possible to come to any other conclusion about the BBC micro except that it's excellent and certainly worthy of its prestigious name. A feature it shares with the BBC is that it is an all-British product; designed by Acorn, it is being built by ICL and Cleartone with custom-built chips by Ferranti. It is well ahead of all currently marketed machines and has a clear price advantage. As far as I'm concerned, Acorn's new micro is an exciting departure for the BBC.


Just before this issue was sent to the printers the BBC announced that owing to the increased costs of production, components and testing the price of the BBC Computers would have to rise. As from Monday 25th Jan all order forms will carry the new prices, £299 for the 'A' and £399 for the 'B', but orders on existing forms will be honoured at the old prices until the end of January.

This review appeared in the March 1982 edition of "Computing Today".