本文将讨论
Acorn ,
Sinclair Research LTD与其他几家公司之间的对抗历史,这些对抗是为了为英国公司
BBC的教育程序开发计算机的权利。 还提供了本次比赛获胜者
BBC Micro的详细评论。 有关详细信息,我邀请您加入Cat。

在80年代初期,BBC发起了
计算机素养计划,并计划发行10集的系列
《计算机程序》 。
为此,他们需要自己的计算机。 由
John A. Call撰写的详细项目规范可
在此处获得 。
BBC MICROCOMPUTER系统的概述规范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 (eg 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 (eg 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 (ie
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
→
来源
来源最初,BBC实际上选择了
Grundy NewBrain计算机,该计算机的开发是在
克莱夫·辛克莱 (
Clive Sinclair)的 辛克莱·雷迪尼克斯 ( Sinclair Radionics)公司开始的,但在1980年它被宣布破产并清算,该项目本身被移交给了
纽伯里实验室 (
Newbury Laboratories) 。

资料来源
Wikipedia.org提交的计算机不符合BBC的期望和规格,因此报价被拒绝。 该公司宣布开始计算机开发竞赛,而Clive Sinclair的新公司
Sinclair Research和由前Sinclair Radionics员工
Chris Curry和他的朋友Herman Hauser创立的小型公司
Acorn参加了战斗。 比赛宣布时,Acorn已经拥有
Acorn Atom计算机,并且该团队正在开发新版本的
Acorn Proton ,Sinclair Research发布了
ZX80并在
ZX Spectrum上积极工作。
BBC基本开发人员之一Richard Russell在
stardot.org.uk论坛上发布了许多有趣的文档,特别是
Acorn的报价以及BBC管理层与开发人员
会面的
计划 。 理查德本人也出席了本次会议,该会议于1981年2月12日举行,最终邀请了橡果,纽伯里实验室,橘子和准将的代表。 理查德在论坛上写道,Transam,Nascom和
Sinclair也在最初的名单上,但最终,BBC甚至没有在邀请中加入Sinclair的提议。
辛克莱甚至没有进入决赛的原因是克莱夫·辛克莱本人的固执。 在《
BBC Micro的遗产 》一书中
,作者提到了BBC执行制作人John Radcliffe的一封信,其中指出项目团队与Clive有积极的往来。 矛盾之一是标准的Basic在Sinclair中实现,而BBC想要一个稍作修改的版本,而Clive Sinclair并不希望重做它。 英国广播公司(BBC)看到辛克莱(Sinclair)成功出售了其ZX80,并准备推出新车型。 他们认为Sinclair不会准备好认真更改他的计算机的规格,因此,该公司将获得BBC颜色的标准ZX Spectrum。 相反,橡子表现出完全愿意按照BBC工程师的要求去做。 克里斯·库里(Chris Curry)致电英国广播公司(BBC),并宣布他准备展示工作原型。 橡子团队只有几天的时间来将Proton改进到BBC规格。 该演示文稿原定于周五(星期四)晚上10点举行,但原型仍无法正常工作。
正如橡果队成员之一史蒂夫·费伯(Steve Ferber)回忆的那样:“我们都很疲倦,但赫尔曼能够激励团队。 他的工作是出去买烧烤。 他还泡茶。 他这样做是为了支持团队。 我们所有人都在看这个东西,但仍然不起作用,赫尔曼建议“将脐带从原型切到开发系统,让它自己工作”之类的东西。
显然,这是从调试板到原型的同步信号。 这个决定有所帮助,并且到了周五早上7点,团队有了一个可以正常工作的原型。 BBC的代表原定于10点到达,这时原型已经在Basic上执行了真实的程序,不久之后就可以开始时间表了。 在某些指标上,他甚至超过了规定的要求。
这次演讲给BBC留下了深刻的印象,他们也喜欢团队对项目的态度以及他们对原型的奉献精神。
在最后一次会议之后,英国广播公司选择了橡子。 这样就开始了英国最流行的计算机之一
-BBC Micro的故事
。2009年,英国广播公司(BBC)发行了关于英国计算机行业发展历史的故事片《
微型男人》 ,这可靠地显示了辛克莱和橡果之间的对抗。 我强烈建议对计算机历史感兴趣的人观看这部电影,尤其是因为它可以翻译。
接下来,我建议继续回顾
BBC Micro模型B ,该
模型被用户称为
Beeb 。
因此,在1981年12月1日,有两种型号投放市场:BBC Micro型号A的价格为235英镑,BBC Micro型号B的价格为335英镑。 考虑到通货膨胀和美元,这分别是860美元和1225美元-对于大型家用计算机而言,价格并不便宜。
它是一个相当大的块(与ZX Spectrum相比),其中计算机本身和键盘位于一种情况下。 中央处理器是
MOS 6502 ,其工作频率为2 MHz。
Atari和
Apple II均基于此构建。 所发布的型号在RAM数量(型号A为16 Kb,型号B为32 Kb)以及支持的视频模式方面有所不同。 ROM内存大小为32 KB,其中包含BBC Basic-基于Microsoft Basic v.5.0的Basic的特殊开发版本。 该计算机具有舒适的74键键盘,看上去比ZX Spectrum更加坚固和可靠。

键盘上方的右上角是“计算机素养计划”的公司徽标-像素猫头鹰。

BBC Micro的背面板上有用于连接电视天线输入的接口,复合监视器输出(默认情况下为黑白,但板上有一个跳线,可让您输出彩色PAL信号),用于连接彩色监视器的RGB接口,用于与之通信的RS423。 RS232设备,用于加载和保存程序的录音机接口以及4个模拟接口的总线,可以将操纵杆和实验室设备连接到该总线上。 ADC提供12位分辨率。

在适当位置的机箱底部,有一个用于连接扩展模块(例如,图文电视)的1 MHz系统总线,
IEEE 488总线和硬盘接口。

BBC Micro体系结构使得可以安装许多其他扩展,例如驱动器接口,ROM中的其他高级语言。 橡子甚至开发了自己的LAN标准
Econet ,该标准允许最多255台计算机联网。 直到2012年,Linux内核才支持此标准,后来由于漏洞而将其删除。
另一个有趣的功能是能够连接附加的Z80协处理器和其自己的64 KB内存,以完全兼容当时流行的
CP / M操作系统,为此它开发了自己的名为Tube的总线。
机壳内部是一块相当大的板,有关详细信息,请参见《
服务手册》 。

板结构

板上描绘了橡子徽标;我已经获得了该板的第七版。

随计算机附带的是广告材料,其中包含有关计算机规格和扩展模块的信息,以及计算机扫盲项目的
说明和一盒程序。

由于该项目是一项教育性项目,因此还开发了用于计算机的基本语言教学程序,并出版了许多教科书。

当然,还有BBC Micro的游戏。

最著名的太空模拟之一-Elite-由Acornsoft专为BBC Micro(我有原始盒装版本)编写。 后来,该游戏被重新发布到许多其他计算机上。

对于Acorn计算机用户,《 Acorn用户》杂志也已发行。 与现代计算机杂志一样,多达30%的广告被占用。

好了,是时候打开Beeb了。 该视频显示了
Elite ,
Monopoly和
Repton 3游戏的下载和演示。 请不要严格判断视频质量。 我必须对计算机进行少量修改才能从复合输出中获得彩色图片-默认情况下,仅在其上显示黑白图像。 因此,图像的闪烁变大了。
该网络还具有一个在线BBC Micro模拟器,可帮助您更好地了解此机器
-bbc.godbolt.org橡子的故事还不止于此。 在BBC Micro之后,该公司还发布了
Acorn Electron -Beeb的简化版本,它是具有128 KB内存的
BBC Master ,是一系列使用自己生产的32位RISC处理器的
Acorn Archimedes计算机,但是Acorn对计算机行业的最重要贡献是
ARM体系结构的发展,现在从智能手机到电动汽车,大量的电子工作。
接下来,我计划对
Acorn Electron进行简短回顾,其中的材料已准备就绪,有关
Sinclair QL的文章也正在准备中,但是有一些困难:带状电缆已在胶片键盘中变干并且无法正常工作,您需要订购新胶片或尝试将其还原。
谢谢您的关注。