BBC Micro - the computer that beat ZX Spectrum

    The article will discuss the history of the confrontation between Acorn , Sinclair Research LTD and several other companies for the right to develop a computer for the educational program of the British corporation BBC . Also offers a detailed review of the winner of this contest - BBC Micro . For details, I invite under the cat.



    In the early 1980s, the BBC initiated the Computer Literacy Project, a computer literacy project, and planned the release of the 10-part series The Computer Program .


    For this they needed their own computer. A detailed project specification, authored by John A. Call , is available here .

    Outline specification for the BBC MICROCOMPUTER system
    Outline specification for the BBC MICROCOMPUTER system

    This specification does not set out to be definitive
    but it represents a desirable set of characteristics
    which we should like to aim at for a BBC system.
    Certain of these characteristics are in our view
    essential and these can be clarified at a later date.

    SOFTWARE
    We fully realise that all microcomputers have different
    dialects. The BBC is investigating the possibility of
    supporting a version of BASIC which is not implemented
    yet on any single machine but which would be as
    compatible as possible with existing practice and
    could be made available within the public domain to
    any manufacturer willing to implement it. The specification
    in draft form is available on request. Meanwhile, you will
    see that the most desirable 'fallback' is specified below.

    BASIC: The general syntax of all commands should be identical to Microsoft BASIC
    5.0 (repeat 5.0). If there is any conflict between what is said below
    and the relevant Microsoft implementation then the latter should be used.
    Graphics and I/O are outlined later.
    The following commands and statements should be implemented in
    floating point arithmetic to 6 figure accuracy over a range of at
    least +-10^38

    DIM OPEN
    OPTION BASE (0 or 1) CLOSE
    DEF FN INPUT
    IF ... THEN ... ELSE PRINT
    GOTO ?
    GOSUB LINPUT
    RETURN GET
    ON ... GOTO PUT
    ON ... GOSUB RND
    ON BREAK GOTO READ
    ON ERROR GOTO DATA
    CONT RESTORE
    RESUME CLOAD
    FOR ... TO ... STEP CSAVE
    NEXT CVERIFY <<Annotation: REWIND>>
    RUN CMERGE
    RANDOMIZE LIST
    NEW LPRINT
    DELETE LLIST
    PEEK PLOT
    POKE MPLOT
    USR LINE
    STOP MLINE
    RENUMBER POINT
    TRACE MPOINT
    WHILE ... ENDWHILE ORIGIN
    INP, OUT MORIGIN

    SIN, COS, TAN, ATN, INT, ABS, SGN, LOG, EXP, POS, TAB, FRE, SQR

    + - * / ^ ( )
    + (string concatenation operator)
    < <= <> => =
    AND OR NOT

    ASC, CHR$, LEN, LEFT$, MID$, INSTR, STR$, VAL

    Variables names should be as long as the user wishes with the first
    two characters being significant. Examples of legal variables would be
    X, X1, KM, LENGTH, A3$, NAME$ and illegal names would include 3A (must
    start with letter), TO$ (reserved keyword), PER POUND (no spaces).

    2 John A. Coll

    Odds and ends: Powers of negative integer numbers [Y=(X)^Z] should evaluate
    correctly - at least for Z<15.
    Multidimensional string and numeric arrays.
    Strings with totally dynamic memory useage.
    It should be possible to say IF A$<B$ THEN ...
    *Useful option MID$(A$,4,3)="cat".
    Timed single character input.
    I/O should be channel oriented using the word ASSIGN to assign a
    logical channel to a physical device (e.g. ASSIGN OUTPUT TO PRINTER or
    ASSIGN #4 TO DISK0, "MYPROG")

    Graphics: the software should include commands to at least

    (a) Plot an alpha-numeric character or string at any place on the screen
    (PLOT X,Y,A$)
    (b) Plot a low resolution graphics point to build Teletext graphic
    characters in a range of colours or shades of grey (minimum: black and
    white) (PLOT X,Y,C probably C=-1 to complement point, C=0 to plot
    black point .... C=7 to plot white point)
    (c) Find out what is at the point X,Y ( C=POINT(X,Y) or A$=POINT(X,Y))
    (d) Draw a line from the last specified point to the new co-ordinates (LINE
    X,Y,C)
    (e) Move the effective origin (ORIGIN=X,Y)
    (f) Do all the above in medium resolution graphics with similar commands
    MPLOT X,Y,C
    MLINE X,Y,C and
    C=MPOINT (X,Y)
    MORIGIN=X,Y
    (f) Illegal values of X,Y or C should be ignored.

    Video display: Either
    (a) an integral single line display of 40 characters (each built from at
    least 5 by 7 dots) and a modulated UHF output of the full screen (see
    below) or
    (b) an integral display of the full screen plus a modulated UHF output of
    the full screen or
    (c) a modulated UHF output of the full screen

    A composite video output should be included.

    The 'full screen' should consist of at least 24 lines of 40 characters
    (*preferably an option of 80 characters from the outset) of upper and lower
    case alpha-numerics and (colour) Teletext graphics. These should be capable
    of being freely mixed with (colour) medium resolution graphics of at least
    200 horizontal points. The medium resolution graphics should be eraseable
    separately from the other displays.

    The computer should either produce UHF colour signals at the time of
    purchase or be easily expaned to produce UHF colour signals. It must be
    designed with colour Teletext and colour graphics in mind.

    3 John A. Coll

    The screen handler should respond to specific control characters to
    (a) Home top left and clear to end of page (whole screen)
    (b) GOTOXY - cursor addressing
    (c) clear to end of line
    (d) clear to end of page
    (e) Non destructively move the cursor up/ down/ left/ right
    (f) Move to start of line (carriage return)
    (g) Delete previous character
    (h) Scroll when on bottom line of display
    (i) Clear medium resolution graphics display

    Keyboard: capable of generating all 128 ASCII codes. Positive action keys (not
    touch sensitive). ISO standard layout plus
    (a) Up/down/left/right cursor control
    (b)*A row of keys, above the numbers, which generate software definable
    codes - this could be done with a software look-up table to map the
    original codes to new values.

    Loudspeaker: inside box and accessible from BASIC

    Printer connection: electrically to RS449 (or RS232C) with the connector to ISO
    2110. Only Send Data, Receive Data, Request to Send and Clear to Send need
    be implemented.

    Paddles: some connector to which two simple potentiometers may be connected the
    setting of which can be determined by a simple BASIC statement or a few
    lines of assembler program.

    Teletext: adapter should be available for off-air downloading of software

    Expansion port: fully electrically buffered expansion connector (e.g. no
    unprotected MOS!).

    Memory: sufficient within the box to support floating point BASIC and medium
    resolution graphics. This probably means 16K ROM plus 32K RAM - certainly
    at least 16K RAM should be supplied at the outset.

    Memory map: above all this should be designed for expansion and standardisation.
    Probably should be RAM from 0000 up with ROM from FFFF down (including
    8080/Z80 systems). At the very top there should be a simple monitor with
    any ROM high level languages immediately below. The screen should not be
    allocated to fixed RAM locations below C000 and could be dynamically
    allocated from available RAM. Scratchpad RAM for the stack and monitor, and
    RAM for the DOS should, preferably, be well clear of low memory RAM (6502
    problems here) used for user programs.

    System monitor: should contain routines to
    (a) output character to screen
    (b) test keyboard for character waiting
    (c) get character from keyboard

    4 John A. Coll

    (d) send character to printer
    (e) load and save binary files from cassette

    all the above should vector via RAM locations to default ROM device drivers

    (f) examine and change memory locations.

    Device handlers: Cassette, paddles and printer should also be driven via RAM
    vectored device drivers.

    Cassette interface: producing CUTS frequencies, but doing all the byte recovery
    in software. The software should be insensitive to reversed phase play back
    from a cassette recorder, work at 1200 bps, accept and produce the BBC
    format tape (as well as your own format if you wish). Named files,
    catalogue, idiot proof.

    The manufacturer should be able to demonstrate a production model disk operating
    system which should, at least:

    Enable a user to plug the thing in and, without pressing a single button,
    end up running a BASIC program - or any other program that the machine
    had been configured to run.
    Give a 'DIRectory' or 'CATalogue' of files on disk showing filenames, file
    length, creation date, whether or not the file is delete-protected
    Save a specified area of memory as a named binary file
    Load and automatically execute binary files
    Save onto disk ASCII text or data from BASIC etc.
    Load text from disk
    LIST a text file to screen or printer
    EXECute an text file as if it were a 'command line' - including refernces
    to any disk drive or any peripheral
    Delete and rename specified files or groups of files
    Permit random access to data in multiple files
    Have a well organised JUMP list at a known location to all routines likely
    to be needed by assembly language programmers.
    The Disk Operating System should appear as a byte oriented input/output
    stream similar to the keyboard/VDU and data should not need to be
    blocked before being passed to the DOS
    At least 10 disk channels should be capable of 'simultaneous' access (i.e.
    OPEN concurrently)
    Faulty disk sectors should be automatically avoided
    Accidental swapping of disks should not either (a) crash the disk file
    structure or (b) abort everthing
    The vast majority of the DOS high level commands (such as CAT, DIR, COPY,
    LIST, DELETE, RENAME, PROTECT, SAVE) should not form part of the
    permanently memory resident DOS. They should be Utility or Transient
    programs called into memory when required. All those listed above
    should not reside in the same memory space as BASIC or as the EDITOR
    or WORD-PROCESSOR. They should all be able to be called from BASIC
    etc. The manufacturer should be able to SHOW an extensive range of
    such transients and should not say 'Oh that would be very easy to
    write'!

    5 John A. Coll


    Source

    Source

    First, the BBC actually chose the computer Grundy NewBrain , the development of which was started by Clive Sinclair's Sinclair Radionics company , but in 1980 it was declared bankrupt and liquidated, and the project itself was transferred to the Newbury Laboratories laboratory .

    image
    Source wikipedia.org The

    presented computer did not meet the expectations and specifications of the BBC, and the proposal was rejected. The corporation announced the start of a computer development competition, and the new Clive Sinclair company Sinclair Research and a small company Acorn , founded by a former employee of Sinclair Radionics, joined the fight.Chris Curry and his friend Herman Hauser. Acorn had a computer Acorn Atom at the time of the announcement of the competition , and the team was working on a new version of Acorn Proton , while Sinclair Research released the ZX80 and was actively working on the ZX Spectrum .

    One of the BBC Basic developers, Richard Russell, published on the stardot.org.uk forum a number of interesting documents, in particular, the Acorn offer and the meeting plan.BBC management with representatives of development companies. Richard himself was also present at this meeting, which took place on February 12, 1981 and where representatives of Acorn, Newbury Lab, Tangerine and Commodore were invited as a result. Richard writes on the forum that Transam, Nascom and Sinclair were also on the original list , but in the end the BBC did not even include the offer from Sinclair in the invitation.

    The reason that Sinclair did not even get to the final meeting was the stubbornness of Clive Sinclair himself. In the book The legacy of the BBC MicroThe author refers to a letter from the BBC executive producer John Radcliffe, which says that the project team was in active correspondence with Clive. One of the contradictions was that Sinclair implemented the standard Basic, and the BBC wanted a slightly modified version, and Clive Sinclair had no particular desire to redo it. The BBC saw that Sinclair successfully sells its ZX80 model and is preparing to release a new model. They thought that Sinclair would not be ready to seriously change the specification of his computer, and as a result the company would receive a standard ZX Spectrum in BBC colors. Acorn, by contrast, showed full readiness to do exactly what the BBC engineers are asking. Chris Curry called the BBC and announced his readiness to show a working prototype. The Acorn team had only a few days to refine the Proton to the BBC specification.

    As Steve Ferber recalled, one of the members of the Acorn team: “We were all very tired, but Herman was able to motivate the team. His job was to go out and buy kebabs. He also made tea. He did this to support the team. We all looked at this thing, which still refused to work, and Herman proposed something like “cut the umbilical cord from the prototype to the development system and allow it to work independently.”

    Apparently, it was about the synchronization signal from the debug board to the prototype. This decision helped, and by 7 am Friday the team had a working prototype. Representatives of the BBC were supposed to come at 10, by which time the prototype was already running real Basic programs, and later it was possible to launch the graphics. By some indicators, he even exceeded the stated requirements.

    This presentation made a great impression on the BBC, they also liked the attitude of the team to the project and the dedication with which they worked on the prototype.

    After the final meeting, the BBC opted for Acorn. Thus began the story of one of the most popular computers in Britain - BBC Micro.

    In 2009, the BBC released the feature film Micro Men about the history of the computer industry in Britain, which reliably shows the opposition of Sinclair and Acorn. I highly recommend watching this movie to anyone interested in computer history, especially since it is translated.

    Then I propose to go to the BBC Micro model B review , which users called Beeb .

    So, on December 1, 1981, two models were launched onto the market: the BBC Micro model A priced at £ 235 and the BBC Micro model B priced at £ 335. Taking into account inflation and in terms of dollar, this is $ 860 and $ 1225, respectively - not so cheap for a massive home computer.

    It is a fairly large (compared to the ZX Spectrum) monoblock, in which the computer itself and the keyboard are located in the same package. The central processor is a MOS 6502 operating at a frequency of 2 MHz. Atari and Apple II were built on it.. The released models differed in the amount of RAM (in model A was 16 KB, in model B - 32 KB), as well as supported video modes. The ROM memory was 32 KB in size and contained BBC Basic, a specially developed version of Basic based on Microsoft Basic v.5.0. The computer had a comfortable 74-button keyboard, which looked much more solid and reliable than the ZX Spectrum.



    In the right corner above the keyboard is the corporate logo of the Computer Literacy Project - a pixel owl.



    On the back panel of the BBC Micro, there are interfaces for connecting to the TV's antenna input, composite monitor output (black and white by default, but there is a jumper on the board that allows you to output a color PAL signal), an RGB interface for connecting to color monitors, RS423 for communicating with RS232 devices, a tape recorder interface for loading and saving programs and a 4-analog bus bus to which joysticks and laboratory equipment can be connected. The ADC provided 12-bit resolution.



    At the bottom of the case, there is a 1 MHz system bus in a niche for connecting expansion modules (for example, Teletext), an IEEE 488 bus , and a hard disk interface.



    The BBC Micro architecture made it possible to install many additional extensions, such as a drive interface, additional high-level languages ​​in the ROM. Acorn even developed its own local network standard, Econet , which allows up to 255 computers to be networked. Support for this standard was in the Linux kernel until 2012, later it was removed due to vulnerabilities.
    Another interesting feature was the ability to connect an additional Z80 coprocessor with its own 64 KB of memory for full compatibility with the then popular CP / M operating system , which was developed by its own bus, called the Tube.

    Inside the case is a fairly large fee, details of which can be found in the Service Manual .



    The block diagram of the board



    The board shows the Acorn logo, I already got the 7th revision of the board.



    Included with the computer were promotional materials with a specification for a computer and expansion modules for it, as well as instructions and a cassette of programs for the Computer Literacy Project.



    Since the project was educational, the Basic language training program was also developed for the computer and many textbooks were published.



    Games for the BBC Micro, of course, were also.



    One of the most famous space simulators, Elite , was written by Acornsoft specifically for BBC Micro (I have the original boxed version). Later this game was re-released for many other computers.



    Acorn User magazine was also issued to users of Acorn computers. As in modern computer magazines, advertising accounted for up to 30% there.



    Well, it's time to turn on Beeb. The video shows the download and demonstration of Elite , Monopoly and Repton 3 games . For the quality of the video, please do not judge strictly. I had to make small modifications to the computer to get a color image from the composite output - by default, only a black and white image is displayed on it. Because of this, the flickering of the image has become more.


    The network also has an online BBC Micro emulator that will help you get a more complete picture of this machine - bbc.godbolt.org

    Acorn's story does not end there. After BBC Micro, the company released Acorn Electron - a simplified version of Beeb, BBC Master with 128 KB of memory, Acorn Archimedes line of computers on 32-bit RISC processors of its own production, but Acorn's most significant contribution to the computer industry is the development of ARM architecture , on which There is a huge amount of electronics from smartphones to electric cars.

    In continuation, I plan another small review of Acorn Electron, the materials on it are almost ready, an article about Sinclair QL is also being prepared , but some difficulties have arisen with it: the cable has dried up in the film keyboard and it does not work, you need to either order a new film, or try to restore this one.

    Thank you for attention.

    Also popular now: