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.

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.

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
1050 ENDPROC

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:

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.

STOP PRESS

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.