ITT 2020
ITT 2020は、パーソナルコンピュータの歴史において特異な位置を占める存在です。これは、
Apple Computer(現在の
Apple Inc.)から正式なライセンスを取得し、ITTが欧州市場に向けて開発・製造した
Apple IIのクローン機にあたります。
Appleから認可された最初のクローンとして知られており、主にベネルクス三国ではベル電話会社、英国ではMicrosense Computerを通じて販売が展開されました。
ITT 2020が
Apple IIと大きく異なり、ITTがこの機種の成功を確信した最大の理由は、ビデオ信号の仕様にありました。当時の
Apple IIは米国の
NTSC規格に準拠していましたが、ITT 2020は欧州で主流の
PAL規格に対応しました。これにより、ユーザーはアメリカや日本から高価な
NTSCモニターを輸入することなく、欧州で一般的な標準モニターやテレビをそのまま利用して、
Apple IIと同様にカラーグラフィックスを表示することが可能になったのです。ITTは1979年からこのコンピューターの出荷を開始しましたが、数年で市場から撤退しました。
Apple IIとの主な仕様上の差異
ITT 2020には、
PAL規格対応以外にも
Apple IIとのいくつかの違いが存在しました。
電源: 欧州の電力事情に合わせ、220ボルト50ヘルツの電源ユニットを内蔵していました。
外観: 筐体はつや消しのシルバー塗装が施され、キーボードは黒という独特のカラーリングでした。
クロック周波数: PAL信号に必要なより高い周波数に対応するため、17.73 MHzのクリスタルを採用していました(これは
PAL信号のサブキャリア周波数4.433MHzの4倍に相当します)。
Apple IIが
NTSCのサブキャリア周波数3.58 MHzの4倍である14.318 MHzを使用していたのとは対照的です。マイクロプロセッサの動作周波数も、
Apple IIが14分割で約1.023 MHzだったのに対し、ITT 2020は17分割で約1.042 MHzと、わずかに高速でした。
拡張スロット: 筐体後部のスロットが
Apple IIよりも小さく設計されており、一部の拡張カードの装着が困難な場合がありました。
リセットスイッチ: 初期バージョンでは意図しないリセットが多発し、ユーザーの大きな不満を招きました。このため、後期バージョンではリセット機能が特定のコントロールキーの組み合わせでのみ有効となるよう変更されました。
アナウンシエーター出力: Apple IIで利用可能だった第4番目のアナウンシエーター出力はサポートされていませんでした。
Apple IIでこの出力に使用されていたI/Oアドレス(0x C05Eと0x C05F)は、ITT 2020では追加のRAMチップのバンク切り替えスイッチに割り当てられていました。
BASIC名称: ROMに搭載されたBASICインタープリタは、
Apple IIの「
Applesoft」ではなく、「
PALSoft」と表記されていました。
グラフィックス機能と互換性問題
ITT 2020の
Apple IIとの最も大きな違いは、高解像度グラフィックスの仕様に集約されます。
PAL規格への対応は、高解像度グラフィックスの水平解像度を
Apple IIの280ピクセルから360ピクセルへと拡大することを要求しました。垂直方向の解像度は
Apple IIと同じでした。
この変更は、
PALに必要な高いカラー副搬送波周波数を扱うために不可欠でした。ビデオシフトレジスタに十分な情報を供給するため、
Apple IIの7ビットに対し、9ビットのメモリロケーションが必要となったのです。このため、高解像度グラフィックス用のメモリページ(0x2000から0x5FFF)には、マザーボード上に追加の16Kx1のメモリチップが搭載され、これが「第9ビット」として機能しました。これに伴い、ROM内の
PALSoft BASICインタープリタのグラフィックス関連ルーチンも変更が必要となり、特にHPLOT命令は第9ビットを操作するための特殊なコードを格納するスペースを確保するため、複数のパラメータを扱うことができず、単一のパラメータのみを受け付けるよう制限されました。
第9ビットへのアクセス
追加された第9ビット用のRAMチップは、基本的に書き込み専用として設計されていました。データはソフトウェアからチップに書き込まれますが、読み出しはビデオハードウェアが行うという特殊な構成でした。書き込み操作では、メインのビデオメモリの第8ビット(MSB)への入力と同時に、第9ビットにも同じデータが格納される仕組みでした。第9ビットだけを変更するには、より複雑な手順が必要となり、特定のI/Oアドレス(0xC05Eで有効化、0xC05Fで無効化)を利用して第8ビットと同時に書き込んだ後、改めてメインメモリの第1-8ビットに本来の値を書き戻すという操作が必要でした。
第9ビットの値を読み取る場合はさらに特殊で、対象アドレスを読み出した後、特定のI/Oアドレス(0xC063)のMSBを参照することで、直前に読み出したアドレスの第9ビットの値を知るという方法が取られました。
互換性への影響
このようなグラフィックス仕様の大きな変更は、多くの
Apple II用プログラムとの互換性問題を引き起こしました。
グラフィックスを利用する
Apple IIプログラムをITT 2020上で実行すると、描画結果に問題が生じました。
ROM中の
PALSoft BASICのグラフィックコマンドを使用すると、本来円や正方形、長方形、楕円として表示される図形が歪んで表示されました。
ビデオメモリに直接アクセスするプログラム(多くのゲームやグラフィックツールが該当します)では、第9ビットが適切に処理されない結果、40本の白または黒の縦線が表示される現象が発生しました。
HPLOTコマンドに複数のパラメータを使用している
Apple IIプログラムは、ITT 2020上では正常に機能しませんでした。
高解像度モードだけでなく、低解像度モードにおいても、
Apple IIとは色の表示が異なり、特に低解像度モードではいくつかの色が利用できませんでした。
削除された第4アナウンシエーター出力や、仕様が変更されたスイッチ入力に依存するプログラムは動作しませんでした。
クロック周波数のわずかな違いにより、グラフィックスを使用しない単純なプログラムは、
Apple IIより約2%高速に実行できることがベンチマークで確認されています。
Apple IIのONERR GOTOバグを回避するためのパッチが組み込まれたプログラムは、ITT 2020では既にバグが修正されていたため、エラー発生時にプログラムがクラッシュする結果となりました。
いくつかのシステムコール(ROM中のサブルーチン呼び出し)のエントリポイントが変更されていたため、システムコールを直接利用するプログラムもクラッシュする可能性がありました。
グラフィックスデータに第9ビットが含まれない仕様だったため、
Apple IIのBSAVEおよびBLOADコマンドによる高解像度グラフィックスの保存と読み込みは利用できませんでした。
Appleのプログラマが記述した高解像度グラフィックス関連のルーチンは、ITT 2020では動作しませんでした。
* タイミング信号の違いにより、一部の周辺機器や拡張カードが正常に機能しない場合がありました。
互換性問題への対応
ITTは、ユーザーがグラフィックス画像を保存・読み込みできるよう、第9ビットを扱うためのアセンブリ言語プログラムを含む技術資料を後に公開しました。
また、サードパーティからは、
Apple IIとのビットマップグラフィックス互換性を改善するための高解像度変換ボードが発売されました。このボードは、プログラムが第9ビットを無視してビデオメモリにアクセスした際の影響を無効化することで、
Apple IIのグラフィックメモリに直接作用するソフトウェアとの互換性を大幅に向上させました。ただし、このボードを使用しても、表示される色は
Apple IIのものとは異なりました。さらに、この変換ボードを有効にした状態では、
PALSoft BASICコマンドを用いた高解像度グラフィックス描画が意図通りに行えないという制約もありました。
ITT 2020は、特定の地域ニーズ(
PAL規格)に応えるために設計された
Apple IIクローンとして、興味深い技術的挑戦を含んでいました。しかし、その仕様の違い、特にグラフィックス周りの非互換性が、市場での成功を阻む要因の一つとなったと考えられます。