BBC Micro

**BBC Micro**（ビービーシー マイクロ）は、エイコーン・コンピュータが英国放送協会の運営する BBC Computer Literacy Project のために設計・製造したマイクロコンピュータと周辺機器のシリーズである。教育用途を意図して設計され、頑丈で拡張性があり、オペレーティングシステムの高品質が特徴であった。**BBC Microcomputer System**とも。

Literacy Project で選定されたことから、イギリスでは1980年代に多くの学校で採用され、エイコーンは成長を遂げた。高価ではあったが、イギリスではホビーパソコンとしてもそれなりの成功を収めた。その後継機の開発過程でARMアーキテクチャが生まれ、2008年現在では組み込みシステムで広く使われている。

シリーズとして12機種が生産されたが、"BBC Micro" といえば通常は初期の4機種（Model A, B, B+64, B+128）を指し、後期の8機種は BBC Master および Acorn Archimedes シリーズと呼ばれる。

## 背景
1980年代初め、BBC は後に *BBC Computer Literacy Project* と呼ばれるプロジェクトを開始した。プロジェクト開始の一因として、当時イギリスで大きな反響のあったドキュメンタリー番組 *The Mighty Micro* がある。イギリス国立物理学研究所の Christopher Evans は同番組の中で、コンピュータ革命が経済、産業、ライフスタイルに重大な影響を与えるだろうと予言した。

BBC は、プロジェクトの一環として1981年にテレビ番組 *The Computer Programme* を開始するにあたって、様々なタスクを実演できるマイクロコンピュータを必要としていた。題材には、プログラミング、コンピュータグラフィックス、音響と音楽、文字多重放送、外部ハードウェアの制御、人工知能などが挙げられていた。マイクロコンピュータに限定し、かなり野心的な仕様で開発者を募った。

BBC はクライブ・シンクレアにも話を持ちかけたが、彼の提案した Grundy NewBrain はBBC側が却下した。BBCは他のイギリス国内のコンピュータ業者にも話を持っていき、その中にエイコーンがあった。

エイコーンは既存の *Acorn Atom* の後継機 *Proton* の開発を既に行っていた。*Proton* はグラフィックが改良され、より高速な2MHzの MOS 6502 CPU を採用していた。当時はまだプロトタイプしかなかったが、主に学生から構成されたエイコーンのチームはBBCに実働する Proton を見せるために夜を徹して作業した。Acorn Proton は BBC の仕様を満足した唯一のマシンというわけではなかったが、ほとんど全ての面で最も優れていた。

## 市場への影響
マシンは BBC Microcomputer として1981年末にリリースされ、*Beeb* の愛称で親しまれた。イギリスでは特に教育市場を中心に人気となった。なお、1982年にはシンクレア・リサーチが ZX Spectrum をリリースして大成功を収めている。BBC Micro は最初の数ヶ月間、マシンを注文してそれが届くまでかなり待たされるという事態が生じた。アメリカ市場参入の試みは失敗に終わった。イギリスでの成功の要因は、「教育用」コンピュータとして認知されたためであった。BBC Micro はイギリスの多くの学校でコンピュータ・リテラシーと情報技術スキルの教育に使われた。インドなどのイギリス連邦諸国でも BBC Micro を使ったコンピュータ・リテラシー・プログラムが開始された。

それ以前は、Research Machines がイギリスでの教育用コンピュータ市場のリーダーだった。BBC Micro が教育市場で受け入れられた要因のひとつは、その頑丈さである。マシンのケースとキーボードは、ZX Spectrum に比べると非常に頑丈であり、児童が乱暴に扱っても壊れなかった。

**Model A** と **Model B** は当初それぞれ £235 と £335 で販売されたが、コスト増に伴ってすぐに £299 と £399 に改定された。エイコーンは総販売台数を12,000台と予測していたが、最終的には150万台の BBC Micro が売れた。

BBC Micro のコストは ZX Spectrum などの競合他社製品に比べると高かったため、エイコーンはゲーム用を意図した廉価版 Acorn Electron を1983年にリリースした。ただしベースとしたのは 16KB RAM の Model A ではなく、32KB の Model B である。Electron 向けに開発されたゲームは Model B 上でも動作した。

## 詳細
### ハードウェア: Model A と Model B

Model A のRAMは16KB、Model B は 32KBである。他の 6502 を採用したマシン（Apple II や コモドールのマシン）と同様、RAMはCPUの2倍のクロック（4MHz）で駆動され、CPUとビデオディスプレイが交互にメモリにアクセスできるようになっている。これによって BBC Micro は速度低下することなく完全に平坦なメモリアドレス構造を持つことができた。ビデオRAMをメインメモリに含める方式では、ビデオ回路の動作によってCPUの速度が低下することがよくあり（Amstrad CPC）、それを避けるためにCPUのアドレス空間とビデオRAMを分離する方式を採用する場合もあった（MSX）。

各種入出力インタフェースを備えている。
* シリアルポート
* パラレルポート（プリンタ用）
* 8ビット汎用デジタルI/Oポート
* 4チャンネルアナログ入力ポート
* スイッチ入力
* 拡張コネクタ（1MHz のバス）
* ROMを追加可能で（4個は本体基板上、16個は拡張ハードウェア内）、ページメモリとしてアクセスできる。
* オプション（マザーボード上にスペースがある）
** Econet（エイコーン独自のLAN）
** ディスク装置インタフェース
* エイコーン独自の Tube と呼ばれるインタフェース。第2プロセッサを追加できる。エイコーンからは各種プロセッサ（68000など）が提供された。後にサードパーティからZ80ボードやディスクドライブがリリースされ、CP/Mを実行できた。

Tube インタフェースは、Acorn Archimedesを開発する際に BBC Micro にARM CPU を装備するのに使われ、それをソフトウェア開発に利用した。これは、1986年に BBC Micro 向けARM開発キットとして約 £4000 で発売されている。2006年、Tube インタフェースに対応した ARM7TDMI CPU（64MHz）と16MBのRAMを装備したキットがリリースされた。これを使うと、古い8ビットのマシンが32ビットRISCマシンになる。Tube インタフェースを使ったゲームソフトも登場している。また、2台目の6502とジョイスティックを組み合わせたCADパッケージもあった。

Model A と Model B は同じプリント基板を使用しており、Model A を Model B にアップグレードするのはそれほど難しいことではない。Model B 用ソフトウェアを実行したいユーザーは、RAMと MOS 6522 VIA（ゲームでタイマーとしてよく使われていた）を追加し、一部配線を切ればよく、半田付けも不要である。ただし、外部ポートも含めた完全なアップグレードには半田付けも必要となる。

初期の BBC Micro は BBC の仕様に合わせるためリニア電源が使われていたが、発熱が多いため、すぐにスイッチング電源に置換された。

### ハードウェア: B+64 と B+128
エイコーンは1985年中頃、Model B+ を投入した。RAMを 64KB に拡張し、フロッピーディスクを標準でサポートしている。しかし、市場の反応は大きくはなかった。追加した32KBのRAMのうち、20KBはディスプレイ用（シャドウRAM）で、12KBはバンク切り替えで使われた。B+128 ではさらに64KB（16KB×4バンクのバンク切り替え用）が追加され、全体で128KBとなっている。

B+ では、Model B 用のプログラムの一部が動作しなくなった。この原因は、フロッピーディスクコントローラを Intel 8271 から WD1770 に変更し、マップされるアドレスも変更したためである。これらのコントローラは非互換で、エミュレータは基本操作が可能なだけで互換性という点では不完全だった。ソフトウェア内のコピーガードはコントローラに直接アクセスすることが多く、新しいシステムでは動作できなかったのである。

### ソフトウェアと拡張性
BBC Micro 向けには多くのゲームがリリースされた。周辺機器やハードウェア拡張も各種リリースされ、フロッピーディスク装置と Econet 関係のネットワークハードウェアが用意されている。さらに追加ROMチップ用ソケットも用意されている。

文字多重放送の内容をダウンロードするアダプタも用意されていたが、実際にテレビ放送で BBC Micro 向けの内容が放送されることは稀であった。

組み込みのオペレーティングシステム Acorn MOS は、全ての標準周辺機器、ROM上のソフトウェア、画面などとのインタフェースとなる広範囲なAPIを提供している。当時、BASICでサポートされていたような各種機能（ベクターイメージ生成、キーボードマクロ、カーソルベースの編集、サウンド生成）がOSで提供されているため、BASIC以外にも各種アプリケーションでも使える。BASIC自体はOSとは別のROMチップにあるので、それを別の言語処理系と置き換えることも可能であった。

エイコーンは公式のAPI（システムコール）を使うことを推奨し、ハードウェアやシステム変数への直接アクセスができないようにしていた。これは、Tube のコプロセッサを使ったときにプログラムが動作し続けるようにするという意味もあるが、同時に BBC Micro 向けソフトウェアの機種間互換性を強化する意味もあった。当時の他のシステムではPEEKとPOKEを使っていたのに対して、BBC BASIC やアセンブリプログラムはCPUのレジスタおよびスタック上のパラメータを設定してシステムコールを実行していた。そうすると、MOSがその要求を解釈して適切な処理を行う。

学校では Econet で BBC Micro 同士を相互接続していることが多く、ネットワーク上での多人数参加型ゲームがいくつも開発された。

#### BBC BASIC

ROM上の *BBC BASIC* インタプリタは当時としては非常に洗練されていて、教育用途の機能を全て備えていた。アセンブリ言語を使わなくても気の利いたプログラムが書けたとされている。アセンブリ言語がどうしても使いたい場合は、それも BBC BASIC 内に組み込まれていた。

当時、他社のマシンでは Microsoft BASIC やそれに似せたものが使われていた。これらに対して BBC BASIC は次のような利点がある。

* 名前付きプロシージャをサポート（他社ではGOTO/GOSUB）
* IF…THEN…ELSE をサポート
* 高解像度グラフィックスをサポート（MOSの機能を呼び出しているだけなので構文がぎこちない）
* 4チャンネルサウンドをサポート（同上）
* アセンブリ言語をインラインでサポート。DATA行でPOKEすべき機械コードを格納しておく必要がない。
* 長い変数名が可能（当時の Microsoft BASIC も長い変数名はサポートしていたが、認識していたのは先頭2文字だけということが多かった）
* C言語のようなポインタベースのプログラムが可能。その場合の文法はBCPL風。

## 後継マシンと懐古趣味
1986年、エイコーンは様々な拡張を施した後継の BBC Master シリーズを投入した。基本的に 6502 ベースであることに変わりはなく、BBC Micro でも拡張可能だった部分を最初から全て本体内に実装したものと言える。

1985年、エイコーンは独自の32ビット RISC CPU を開発し、それを使ったパーソナルコンピュータの開発にとりかかった。1987年、Acorn Archimedes シリーズ4機種がリリースされ、下位の2機種（メモリ512KBと1MB）が BBC Microcomputers としてリリースされた。

BBC Micro としての最後の機種は、1989年の BBC A3000 であった。1MBメモリ搭載の Archimedes を当初の機種のようなキーボード一体型にしたものである。

2005年現在も、その拡張性のよさと頑丈さから、BBC Micro は多数使われている。イギリス国内の博物館では BBC Micro が対話型で活躍し続けているところもあり、Jodrell Bank 天文台では BBC Micro を2004年現在も電波望遠鏡の制御に使っているという。BBC Micro のエミュレータも各種OS上で作られている。

2008年3月、BBC Micro 開発者がロンドンのサイエンス・ミュージアムに集まった。同博物館はコンピュータの歴史についての展示を2009年に行う予定である。

## 脚注

## 外部リンク
* BBC Micro page on dmoz
* The BBC Lives!
* ''BBC Microcomputer System User Guide'' (PDF, 2.6 MiB)
* BeebWiki — BBC Micro Wiki
* Sprow's BBC Mecca
* 	Acorn and the BBC Micro: From education to obscurity
* See videos of the BBC Micro in action YouTube