ZX Spectrum
ZX Spectrum(ゼットエックス スペクトラム)は、シンクレア・リサーチが1982年にイギリスでリリースしたホームコンピューターである。
開発中は「ZX81 Colour」および「ZX82」と呼ばれていたが、それまで(ZX80とZX81)のモノクロ表示との違いを強調するため、クライブ・シンクレアが「Spectrum(=スペクトル、光をプリズムで分光したときに得られる色の帯)」と名づけた。最終的に8つの異なる機種をリリースしており、1982年にリリースした 16kB RAM の入門モデルから1987年のフロッピーディスクドライブ内蔵の 128kB RAM 搭載の ZX Spectrum +3 まである。クローンを除いても全世界で累計500万台以上を売り上げた。
Spectrumはアメリカでのコモドール64のように、イギリスで最初に爆発的人気を得たホームコンピュータである。ZX Spectrum の登場により、ソフトウェアや周辺機器を提供する企業が急激に増え、その影響は今も続いている。SpectrumがイギリスのIT業界を生み出したとする者もいる。ライセンス契約とクローンがそれに続き、「英国の産業への貢献」を称えられたクライブ・シンクレアはナイト位の叙勲を受けた。
1980年代初期のイギリス市場での主なライバルとしてはコモドール64と BBC Micro があり、少し遅れて Amstrad CPC もライバルとなった。Spectrum のサウンド機能とグラフィック機能を強化したバージョンがアメリカでタイメックス社によってTimex Sinclair 2068として発売されていた。イギリスやアメリカで人気のあったSpectrumであるが、日本では御三家の力が強く販売されることはなかった。累計で23,000タイトルのソフトウェアがSpectrum向けに発売されており、2010年にも90タイトル以上の新作がリリースされている。
Spectrum は 3.50MHz の Zilog Z80A CPU(または NEC μPD780C-1)を採用。最初のモデルでは、16KバイトのROMと16Kバイトもしくは48KバイトのRAMを搭載している。ハードウェア設計者はシンクレア・リサーチのリチャード・アルトワッサー。シンクレアの工業デザイナーリック・ディキンソンが外観を設計。
ビデオ出力はRFモジュレータ経由でテレビに接続し、家庭用テレビを単純なカラーグラフィックディスプレイとして使用した。Spectrum の表示機能は今日から見れば低レベルなものだが、当時の小型テレビで表示するには完璧で、ゲームなどの開発も難しくなかった。テキストは本体内蔵の文字セット(ASCIIベースの独自文字セット)かアプリケーションが提供する文字セットを32桁×24行表示し、15色で表示可能である(8色×2輝度で、黒は輝度変化しない)。グラフィック表示も同様の色数で256×192ドット表示である。メモリを節約するため、色の属性情報をテキストやグラフィックデータとは別の32×24のグリッドで保持し、1属性データが1文字の表示領域に対応している。アルトワッサーはこの設計について特許を取得している。
1つの「属性」は前景色と背景色、輝度レベル(通常/明るい)、フラッシュ「フラグ」(前景と背景を一定間隔で入れ替える)から構成される。この特徴を独特の特殊効果に使用するゲームもあったが、color clash や attribute clash と呼ばれる表示の乱れも発生しやすかった。この問題はSpectrumの際立った特徴としてユーザの内輪のジョークともなったが、同時に他のホビーパソコンを支持する人々からは嘲笑の的となった。当時、イギリスで使える他のマシンとしては Amstrad CPC などがあったが、このような問題は起きなかった。コモドール64も色属性を独立させていたが、スプライトとスクロール機能を使ってこの問題を回避していた。
サウンドは最初の機種ではビープ音のみだが、1チャンネルで10オクターブの音高を発生できる。また、拡張バスのエッジ・コネクタを備え、プログラムやデータのセーブ/ロードのためにカセットレコーダーを接続するオーディオポートがある。ZX81よりもセーブ/ロードが高速化しており、信頼性も高まっている。
内蔵ROMには Nine Tiles 社のスティーブ・ヴィッカーズが開発した Sinclair BASIC を搭載している。電卓によくあるタイプのチクレットキーボードのキートップには Sinclair BASIC のキーワードも書かれており、例えばプログラミングモードで「<tt>G</tt>」を押下するとBASIC言語の GO TO がカーソル位置に挿入される。
このBASICインタプリタは、ZX81用のBASICプログラムをほぼ無修正でSpectrumで動作させられるよう開発されているが、さらに使いやすくする拡張がなされている。特に表示およびサウンドに関して機能が追加され、1行に複数の文を書くことができるようになった。内蔵文字セットはZX81のものから拡張されており、小文字が追加されている。カセットテープへは、プログラムだけでなく、配列、表示メモリ、指定したアドレス範囲のメモリなどをセーブすることができる。
リック・ディキンソンは最終的な ZX Spectrum の設計に到達する前に、"ZX82" としていくつかの設計を行った。特にキーボードに付与する文字列が変更されており、ARC が量産版では  CIRCLE に、FORE が INK に、BACK が PAPER に変更されている。
シンクレアから1982年にリリースされた。搭載RAMサイズは16Kバイト(￡125 後に ￡99)と48Kバイト(￡175 後に ￡129)の2種類があり、ROMはどちらも16Kバイトが搭載されていた。オリジナルのZX Spectrumはその安っぽいゴム製キーボードと本体の小ささが特徴だった。16KBモデルは 32KバイトRAMを増設でき、初期の "Issue 1" ではドーターボードの形だった。その後のissueでは、DRAMチップを8個と他に若干のTTLチップをユーザーがソケットにはめる必要があった。ユーザーは16K版をシンクレアに送付して48K版にアップグレードしてもらうこともできた。またメモリチップとしては、費用を抑えるために選別品のチップを用いるというテクニックがあった。すなわち、製品としては64Kビットチップだが検査で欠陥が見つかり、かつ半分以上の容量があるものを選別して、32Kビットチップとして用いる。そのため、チップ内の使えない部分を避けるようにプリント基板上の配線を工夫していた。また、後部の拡張スロットにサードパーティの外部 32KB RAM パックを装着して使用することも可能だった。ZX81と同様、拡張スロットのコネクタ部がゆるいためにRAMパックのぐらつきが起き、それによってクラッシュが発生、場合によってはCPUなどが焼きついてしまう事もあった。
"Issue 1" の ZX Spectrum は約6万台製造された。キーの色が異なるため、その後の生産モデルと区別することができる(Issue 1 のキーは明灰色で、その後のモデルは青灰色)。
シンクレアの生産モデルには、オーディオ入力と出力のポートがあり、「イヤホン」と「マイク」のソケットとなっていた。多くのソフトウェアはカセットテープの形でリリースされ、カセットレコーダーを外付けする必要があった。これらのソケットをヘッドホンやアンプに接続して音響出力とすることも可能だが、内蔵スピーカーをオフにする方法はない。
ZX Spectrum+ の計画は1984年6月に始まり、同年10月にリリースとなった。開発コード名は TBで、RAMは48Kバイト。キーボードなどが Sinclair QL(Spectrumの上位機)風の外観で、￡179.95で発売された。電子的には従来機種の48Kバイト版と全く同じで、基板を入れ替えればそのまま使えるほどで、外装を新しくするDIYキットも発売された。当初からゴム製キーの従来機種の2倍の台数を売り上げたが、一部小売店は従来機種の故障率が5-6%だったのに対し、新機種では最高30%の故障率になったとしていた。
Spectrumの熱狂的ファン(プログラマやゲーマー)は、この新しいキーボードを嫌った。
ZX Spectrum 128(コード名「ダービー」)は、スペインの流通業者 Investrónica と共同でシンクレアが開発した。スペイン政府がメモリ容量64KB以下のあらゆるコンピュータに特別な税をかけ、スペイン国内で販売するあらゆるコンピュータはスペイン語のアルファベットをサポートし、スペイン語のメッセージを表示すべしという法律を制定したため、その際に ZX Spectrum+ のスペイン市場への適応を助けたのが Investrónica である。
外観は ZX Spectrum+ とよく似ているが、ケース右端に電圧レギュレータ 7805 の冷却用の大きなヒートシンクを設けた点が異なる(従来は内蔵ヒートシンクだった)。
新しい機能としては128KB RAM、PSG(AY-3-8912)による3チャネルオーディオ、MIDI互換性、RS-232シリアルポート、RGBモニタポート、改善されたBASICエディタを含む32KBのROM、および外部キーパッドがある。
スペインのマドリッドで開催された見本市 SIMO '85 で発表され、スペインで44,250ペセタで発売された。Spectrum+の在庫が多数残っていたため、イギリス国内でこの新機種が発売されたのは1986年1月のことで、価格は￡179.95とされた。イギリスでは外部キーパッドは用意されず、その端子は急遽「AUX」と改名されて発売された。ただし、外部キーパッド用ROMルーチンも残っていたので接続すれば使える状態だった。
Spectrumが使っているZ80はアドレスバスが16ビットなので、一度に使用可能なメモリは64KBまでである。はみ出している80KBのRAMを使用するため、それをアドレス空間の先頭16KBにマッピングできるようバンク切り換え技術を採用して設計された。同様に、16KBのBASICのROMと新たに追加されたエディタ用の16KBのROMも切り替えて使用されるようになっている。
新しいサウンドチップとMIDI出力機能のために BASIC に PLAYコマンドが追加された。また、従来互換の48KBモードに移行するコマンドとして SPECTRUM も追加されている(従来互換モードから128KBモードに戻るコマンドは存在しない)。BASICプログラミングで追加されたRAMを有効利用するため、RAMディスクにプログラムを保持できるようになっている。これらの新たなコマンドはユーザー定義文字の領域を使っていたため、いくつかのBASICプログラムでは互換性問題が発生した。
従来機種とは異なりスピーカーを内蔵していない。音はテレビのスピーカーから出るようになっている。
スペイン版では右下の "128K" のロゴが白になっていたが、イギリス版では赤になっていた。
1986年発売。Spectrum製品と「シンクレア」ブランドを買い取ったアムストラッド社が最初に発売したのが ZX Spectrum +2 である。マシンは新たにグレイの外観となり、スプリング入りの普通のキーボード、ジョイスティック×2ポート、Amstrad CPC 464 と同じ組み込み型のカセットレコーダー「Datacoder」を内蔵しているなどの特徴がある。それ以外のユーザーから見える部分は ZX Spectrum 128 とほぼ同じである。メインメニューにあった "Tape Test" オプションが削除され、アムストラッドのコピーライトを表示するようになっている。このため、ROM内ルーチンをアドレス指定して呼び出しているソフトウェアで非互換が発生した。製造コストの低減により、小売価格は￡139-￡149に低下した。
新しいキーボードでは、ソフトウェアのロードに有用だったキーワード LOAD、CODE、RUN以外のBASIC言語キーワードが省かれた。ただし、キー配列は 128 と同じである。
ZX Spectrum +2A は Spectrum +3 を Spectrum +2 のケースの黒いバージョンに入れたものである。+2Aと+3のマザーボード(アムストラッドの部品番号では Z70830)は、+3でのFDDコントローラ部分の回路および+2Aでのデータコーダ用の回路が分離された設計になっている。元々アムストラッドは +2A/+2B 向けにFDDインタフェース AMSTRAD SI-1 を発売する予定だったが、実際に発売されることはなかった。FDDドライブを接続すると、OSメニューが +3 のものと同じになるよう設計されていた。
電源部のインタフェースは+3と同一だが、ACアダプタのケースには "Sinclair +2" と書かれている。
ZX Spectrum +2B と ZX Spectrum +3B は機能的にはそれぞれ +2A と +3 に似ている。電子的な違いは音響信号出力の改善で、クリッピング (音響)問題に対処している点である。
+2Bのマザーボード(アムストラッドの部品番号ではZ70833)はFDDコントローラに対応していないため、+3Bにアップグレードすることはできない。なお、+3Bについては実際に製造されたかどうかも定かではない。
1987年発売。+2 によく似ているが、Amstrad CPC 6128と同じく、カセットレコーダーの代わりに3インチのフロッピーディスクドライブを内蔵しているのが特徴である。ケースは黒。当初の小売価格は￡249、後に￡199となった。Spectrumでは唯一、追加ハードウェアなしでCP/Mを実行できる。
+3にはさらにROMが追加され、物理的には32KBのROMを2個搭載していた。追加のROMには、+3のディスクオペレーティングシステム +3DOS が内蔵されている。新しいROMとCP/Mを使いやすくするためにバンク切り換えのレイアウトが変更され、ROM全体をページアウトしたり、ディスプレイRAMのために3つの16KBページを提供することができるなどの変更点がある。
そのような基本的変更により非互換となった。
拡張バスコネクタ上のビデオ、パワー、IORQGEといった数ラインが削除された。多くの周辺装置で問題が発生し、VTX5000モデムは間に変換装置を挟む必要が生じた。
両方のROMを使用不可にできるよう、拡張バスのROMCSラインが2本になった。
存在しない入出力ポートを読むと、常に同じ値を返すという性質がなくなった。このため、アルカノイドのようなゲームが遊べなくなった。
メモリタイミングが変化した。RAMバンク切り替えの衝突によって、高速色変更という技が使えなくなった。
ROMからキーパッド・スキャンルーチンが削除された。
48K用のいくつかと128K用のごく一部のゲームは互換性がなく動作しなかった。ZX Interface 1 は拡張バスやROMの非互換で使えなかった。そのため、マイクロドライブ装置を接続できなくなった。
電源の電圧は+2A/Bと同じでコネクタも同じ形状なので、+2A/BのACアダプタがそのまま使える。ただし、+3用ACアダプタのケースには "Sinclair +3" と書かれていた。
1990年12月まで生産され、Spectrumとしては最後の公式製造モデルとなった。その時まだイギリスでのホームコンピュータ販売台数の3分の1を占めていたが、アムストラッド社は顧客をCPCに移行させるためにSpectrumの販売を停止した。
シンクレアは Spectrum の設計ライセンスをアメリカのタイメックス社に供与し、タイメックスは独自に非互換なSpectrum派生品 Timex Sinclair 2068 を製造した。しかし、タイメックスの改良のいくつかが後にシンクレアに影響を与えている。例えば、出荷に至らなかった Pandora という携帯版Spectrumがある。これは、2068 の高解像グラフィックを取り入れ、フラットなディスプレイと ZX Microdrive というテープ記録装置を備えたポータブルなコンピュータである。アムストラッド社のアラン・シュガーがシンクレアのコンピュータ部門を買い取ったとき、クライブ・シンクレアはPandoraプロジェクトの権利をアムストラッドには売却せず、それが1987年の Cambridge Z88 へとつながった。
イギリスでは、Spectrumの周辺装置ベンダーである Miles Gordon Technology(MGT)が Spectrum と互換性のある SAM Coupé をリリースしている。しかしこの当時、Amigaや Atari ST が市場を席巻していたため、MGTはSpectrumの最後を見届けた形となった。
多くの非公式な ZX Spectrum のクローンが特に東側諸国と南アメリカ諸国で製造された。例えば、ルーマニアでは Tim-S, HC85, HC91, Cobra, Junior, CIP, CIP 3, Jet といった様々なモデルが生まれ、中にはCP/Mが動作するものや5.25インチや3.5インチのFDDを内蔵したものもあった。また、ブラジル製クローンとしては TK 90X や TK 95 がある。
ソビエト連邦では、ZX Spectrum クローンを数千の新興企業が製造販売し、ポスター広告で宣伝され、露店で売られていた。Planet Sinclair には50以上のクローンがリストアップされている。Pentagon や ATM Turbo といったいくつかのクローンは現在も製造されている。インドでは1986年に Spectrum+ のライセンス供与を受けて Decibells Electronics が生産していた。
Zilog Z80A / NEC μPD780C @ 3.50 MHz(Spectrum 16K, 48K, +)あるいは 3.5469 MHz(Spectrum 128 および後継機)
16 KB ROM(BASIC言語: Spectrum 16/48K, +)
32 KB ROM(BASIC言語、エディタ: Spectrum 128, +2)
64 KB ROM(BASIC言語、エディタ、文法チェッカー、DOS: Spectrum +3, +2A, +2B)
16 KB RAM (Spectrum 16K)
48 KB RAM (Spectrum 48K, +)
128 KB RAM (Spectrum 128, +2, +3, +2A, +2B)
テキスト: 32×24 文字
グラフィックス: 256×192 ピクセル, 15色(8×8ピクセルの範囲内には2色まで)
ビープ音(1チャンネル、10オクターブ、10種以上の音色: Spectrum 16K と 48K では内蔵スピーカー、他はテレビ音声)
ゼネラル・インスツルメント AY-3-8912 チップ(3チャンネル、9オクターブ(PLAY コマンド)、27 Hz - 110.83 kHz: Spectrum 128, +2, +2A, +3)
Z80 バス入出力
テープ音声入出力: 外部カセットテープ記憶装置用(Spectrum +2 以外の全機種)
RS-232 入出力(128K モデルのみ)
MIDI 出力(128K モデルのみ)
RGB モニタ出力(128K モデルのみ)
ジョイスティック 入力 × 2(Spectrum +2, +2A, +3)
外部テンキー入力ポート(Spectrum 128 と +2)
補助入力ポート(外部テンキーポートと同じ)(Spectrum +2A, +3)
パラレル プリンタポート(Spectrum +2A, +3)
外部 フロッピーディスク ポート(Spectrum +3)
外部 カセットテープレコーダー(+2 以外の全機種)
1 - 8台の外部 ZX マイクロドライブ(シンクレア独自のループ型磁気テープ装置)
内蔵カセットテープレコーダー(Spectrum +2, +2A)
内蔵3インチフロッピーディスク装置(Spectrum +3)
シンクレア自身もいくつかのSpectrum用周辺機器を販売した。Spectrumのプリンタ用インタフェースはZX81と同じだったので、プリンタ ZX Printer は市場に既に存在していた。
アドオンモジュール ZX Interface 1 は、8KB ROM、RS-232シリアルポート、独自LANインターフェイス(ZX Net)を備え、ZXマイクロドライブを8台まで接続可能だった。ZXマイクロドライブは1983年7月にリリースされた若干信頼性の低い高速ループ型テープカートリッジ装置である。これらは後に改良されてSinclair QLで使われたが、電気的には互換性があったものの、Spectrumとは論理的な互換性がなかった。シンクレアは ZX Interface 2 も後にリリースしていて、2つのジョイスティックポートとROMカートリッジポートが追加されていた。
また、サードパーティの周辺装置は非常に多かった。よく知られているものとしては、Kempstonのジョイスティック・インタフェース、Morexのセントロニクス/RS-232Cインターフェイス、Currah社の音声合成装置、Videofaceデジタイザ、RAMパック、Cheetah Marketing のSpecDrum(ドラムマシン)、Romantic Robotの Multiface(スナップショットおよび逆アセンブリツール)がある。また本体のキーボードが不評だったため、サードパーティ製キーボードも多数登場した。
また、様々なディスク装置もリリースされた。中にはビジネス用ソフトウェア(ワードプロセッサ、表計算ソフト、データベースなど)がバンドルされたものもあった。特に有名なFDDインタフェースとして、Miles Gordon Technology の DISCiPLE (1987) と +D (1988) がある。これらはSpectrumのメモリイメージをフロッピーにセーブすることができ、リストアすることでセーブ時そのままの状態を再開することができる。また、マイクロドライブのコマンド文法と互換性があり、既存ソフトウェアの移植が容易だった。
1980年代中期に、Telemap Group Ltd はVTX5000モデムを使ってSpectrumをPrestelの運営する Micronet 800 というビデオテックスサービスの一種に接続する有料サービスを立ち上げた。
Spectrumファミリーは少なくとも23,000タイトル以上という非常に大きなソフトウェアライブラリを有しており、今もその数は増えつつある。Spectrum の機能が低レベルだったにもかかわらず、そのソフトウェアは非常に多種多様であり、プログラミング言語処理系、データベース(VU-Fileなど)、ワードプロセッサ(Tasword IIなど)、表計算ソフト(VU-Calcなど)、描画/ペイントソフト(OCP Art Studioなど)、三次元モデリング(VU-3Dなど)、考古学ソフトや様々な種類のソフトウェアがあった。
Spectrumのハードウェアの制限により、ゲームデザインには特殊な創造性が必要とされ、非常に独創的なゲームが多数誕生した。初期モデルはジョイスティック用ポートがなく、サウンド機能が原始的で、カラー表示も貧弱だったが、ゲーム用プラットフォームとして大いに成功を収めた。
多くのSpectrumソフトウェアはカセットテープで販売された。Spectrumは、ほとんどどのようなカセットテーププレーヤーでも使えるよう設定されており、音声再生の忠実度が様々だったにもかかわらず、ソフトウェアのローディングは極めて信頼性が高かった。
ソフトウェアは、テープ上で符号化され、再生してみるとモデムの音のように聞こえる。ZX Spectrumの符号化方式は非常に原始的だが信頼性が高く、パルス幅変調に似ているが一定のクロックではなかった。パルスの幅によって 0 と 1 を表している。「ゼロ」は244μ秒のパルスで表され、その後に同じ幅のギャップが必ず存在する。従って合計で 489μ秒となる。「1」のパルス幅は二倍なので合計で 977μ秒となる。このため、一秒間に記録できるのは 1023個の「1」か、2047個の「ゼロ」である。0と1が1:1で混在していれば、平均的な記録速度は 1365bpsとなる。ROMルーチンを使わずに独自に機械語でプログラムを書けば、もっと高速な記録も可能だった。
理論上、標準の48Kのプログラムは、ロードするのに約5分かかる。49152バイト × 8 = 393216ビット。393216ビット÷1350ボー ≒ 300秒 = 5分。実際には、48KBのプログラムのロードに3 - 4分かかり、128KBをロードするには12分以上かかった。ベテランユーザーはテープを再生するだけで、機械語なのかBASICプログラムなのか画面イメージなのかなど、その種類を当てることができたという。
ローディングのための典型的な設定は、音量を3/4程度にして、高音(Treble)を100%、低音(Bass)を0%にするというものである。ラウドネスやDNRなどのフィルターは切っておく必要があり、Hi-Fiプレイヤーは適さない。この用途に最適化されたレコーダーとしてタイメックスのものなどがある。
ZXマイクロドライブは登場したころは好評だったが、カートリッジの品質と違法コピー防止が困難であることなどへの懸念から、配布媒体としては主流にはならなかった。そのため、カセットテープを補完する形でのリリース媒体として使われ、ゲームがマイクロドライブだけでリリースされた例はない。
ZX Spectrum +3 が登場すると、1987年から1997年までに700タイトル以上がフロッピーディスクを媒体としてリリースされた。
テープに加えて、ソフトウェアは活字メディア、雑誌、本を通しても配布された。このとき使われた言語は Sinclair BASIC である。読者はプログラムを手で打ち込み、カセットテープに保存した。この手のソフトウェアは地味で遅いものが多かったが、すぐに雑誌などにはチェックサム付きの機械語のリスト(十六進法)が載るようになった。
特殊なソフトウェア配布方法として、ラジオやテレビの番組があった。例えば、ベオグラード、ポーランド、チェコスロバキア、ルーマニアなどで、司会者がプログラムの内容を説明し、視聴者にカセットテープレコーダーをラジオまたはテレビと接続するよう指示して、音声としてプログラムを放送した。もうひとつの特殊な方法は、ソノシートを使うものである。このソノシートは「フロッピーROM」と呼ばれ、フランスの雑誌で使われた手法である。
Spectrumには、カセットテープから別のテープ、マイクロドライブ、フロッピーディスクなどにプログラムをコピーするユーティリティソフトが多数存在した。そのためソフトウェア業者はコピーガードを製品に施し、様々なロード方式を導入した。しかし、Multifaceのように ZX Spectrum のメモリの内容をボタン1つでまるごとコピーする周辺機器もあり、完全にコピーを防ぐことは不可能だった。
他のコピー対策として、付属ドキュメント内に書かれている特定の単語の入力を求めるなどの方式もあった。特筆すべきコピー予防策として、Lenslok方式がある。これは、パッケージに同梱されたプラスチック製のプリズムを使うもので、これを通して画面を見るとスクランブルされた画面からパスワードを読み取れるというものである。
Spectrum用ソフトウェアは近年、現行の媒体への変換、ダウンロード可能な形態への転換が進んでいる。テープ媒体からの変換用プログラムとして Taper がある。カセットプレーヤーをサウンドカードのライン入力に接続するか、PCのパラレルポートにカセットプレーヤーを接続する装置を自作することで使える。そうしてホストマシン上のファイルの形に変換すれば、数あるエミュレータで実行できるようになる。