はじめに
筆者は2004年ごろから人生で初めてPC(WindowsXP)を触るようになったため、それ以前のPCの歴史を直接見てきたわけではありません。ただ、リバースエンジニアリングについて調べる機会やPC/AT互換機のワードを見かける機会があり、意味がよくわからなかったので調べてみました。 "PC/AT" とはなんなのか、なぜ "互換機" なのかといった疑問がありました。ネットで公開されている有志の方のさまざまな記事・情報を元に学んだため、認識に誤りはあるかもしれません。もし誤りがあればご指摘いただけると助かります。
IBM PC AT
1981年8月12日、初代IBM PC(型番はIBM 5150)が発売されました。その3年後の1984年8月14日にIBM PC AT(型番はIBM 5170)が発売されます。ATはAdvanced Technology を意味するそうです。
(ちなみに某SFに登場するコンピュータのモデルとなるIBM5100はIBM PCが発売される6年前に発売されたポータブルコンピュータでした。なぜIBM 5100はパーソナルコンピュータという扱いではなかったのでしょうか。筆者が自分なりに考えてみたのですが特筆すべき差異として価格差があります。IBM5100は個人で買えない規模感の価格帯でした。IBM PCは価格を抑えるためか既製品パーツを採用しています。それゆえIBM 5100はパーソナルコンピュータという扱いにはならなかったのではないでしょうか。)
IBMがパーソナルコンピュータ市場に参入するにあたり、汎用パーツが採用された理由の説として、短すぎる開発期間、少ない予算という制約が挙げられます。
おそらくこの制約によって取られた策が、自社開発ではなく汎用パーツの採用とマイクロソフトのOSの採用でした。
また、シェアを獲得する戦略としてオープンアーキテクチャという戦略が実施されました。
オープンアーキテクチャとは、IBMの仕様・ソースを公開し、他の企業が周辺機器の開発などの参入をしやすいようにしたのです。
ただ、IBMは他メーカーがIBM PCのクローン・互換機を作ってほしかった訳ではありません。BIOSのソースを公開したとしても著作権で守られると考えていて互換機をつくられることはないだろうという考えがあったのです。それが正しければ(実際は正しくなかったということを歴史が証明しています)、互換機は作られることはないからずっとIBM PCが売れ続けるということになっていたはずです。
なにはともあれ、オープンアーキテクチャの戦略などの結果、当時のパーソナルコンピュータ市場のシェアを占めることができました。
大ヒットした製品がIBM PC ATだったのです。
また、当時の主なキラーソフトは表計算ソフトの「Lotus 1-2-3」でした。
Compaq
ユーザは世の中で一番普及・利用されているPCハードやソフトウェアを利用したい考えに至ることは自然な流れかと思います。
新しくパーソナルコンピュータを開発・発売したとしても、そういったソフトウェアが利用できなければ売れる見込みがありません。
1982年頃、シェアの高かったPCハードやソフトウェアやが稼働するPCはIBM PC ATでした。
当時のユーザが新しくパソコンを買おうと思うと、IBM PC ATを購入するのが一番自然な流れだったことでしょう。
今後もIBM PC ATが主流の時代が続くと思っていた人も当時は多かったのではないかと筆者は思います。
Texas Instrumentsに勤めていたロッド・キャニオン、ジム・ハリス、ビル・マート(敬称略)は当時シェアの高かったPCハードで稼働するソフトウェアがIBM PC AT以外でも稼働できるパソコンが開発・発売できれば、それも格安で提供できれば人気が出るはずだと考えたのです。そしてCompaqを創業しました。
つまり、IBM PC ATの互換機を開発することができれば良いということです。
幸いにもIBM PC ATは各パーツは汎用品が使われており、OSもIBMが独占しているものではありませんでした。
IBM PC ATの互換機を開発するにあたり、主な障壁となるものはBIOSでした。
BIOSとはさまざまなハードウェアをサポートするのとOSを起動させるのに必要なものです。
これはIBMが権利を有しています。(正確には著作権です)
幸か不幸かIBMはオープンアーキテクチャとしてBIOSのソースを公開していました。
しかし、CompaqがこのBIOSソースを使うことはできません。IBMが著作権を有しているからです。
クリーンルーム設計
CompaqがPC/AT互換機用のBIOSを開発するにあたり、法的に問題ないことを確認するため、見つけることができる最高の知的財産弁護士を雇いアドバイスを受けました。そしてIBM PC ATのBIOSのリバースエンジニアリングを実施しました。
そのアドバイスには、リバースエンジニアリングを実施した人物がBIOSを作成すると問題があるというものがありました。
そこで、著作権上問題のない形で互換BIOSを作り上げるためにある方法が採られました。
リバースエンジニアリングを実施するチームがリバースエンジニアリング対象のBIOSを調査し、仕様を明らかにします。
互換BIOSのプログラムコードを書くチームが、前述のチームが明らかにした仕様をもとにして互換BIOSを実装します。
こうすることで、CompaqはIBMのBIOSの著作権を侵害することなく互換BIOSを作り出したのです。
ただ、IBMの著作権を侵害しないために実装するチームの求人にはある条件が課せられていました。
IBMはオープンアーキテクチャによりBIOSのコードが公開されており、だれでもコードを見ることができました。
求人条件として、そのコードを一度も見たことがない人物でなければならなかったのです。
仕様に沿って実装したコードが元のIBMのコードと全く同じになってしまったり、IBMのコードを持ってきてしまうと著作権を侵害することになってしまうからです。
Compaqに追随する他BIOSメーカー
Columbia Data ProductsやCompaqが互換BIOSの作成に成功してからは他のメーカーも追随しました。
AWARD, phoenix, AMI です。
BIOSの画面でAmerican MegaTrendsのロゴや文字が表示されたのを
自作PCやBIOSの画面操作をしたことのある方は見覚えがあると思います。
自作PC文化の発生
前述の背景がありアーキテクチャの統一が実現し、俗にいう自作PCができるような状況になりつつありました。
しかし、マザーボードに載せるBIOSについてですが各マザーボードメーカーが
クリーンルーム設計で独自に互換BIOSを開発するには人員・期間など莫大なコストがかかります。莫大なコストを投入したとして開発に成功するとも限りません。
そうした莫大なコストを抱えることができないマザーボードメーカーのために、BIOSメーカーのAWARD, phoenix, AMIはライセンスを販売する形態をとりました。マザーボードメーカーはライセンスを買ってAWARD,AMIのBIOSを搭載することができました。
マザーボードの基盤に載せられたBIOSのチップに光り輝くシールが貼ってあるのを、
UEFIが普及する前に自作PCをされたことのある方なら見たことがあると思います。
それがライセンスの証であるステッカーです。UV-EPROMはUVを照射するとデータが消去されるROMです。BIOSはこのUV-EPROMに保存されているものがありました。この場合はデータ消去されないようにUVが当たるのを保護する役割のステッカーでもあります。
ちなみに2022年現在主流のフォームファクタのはATXですが、その前に主流だったフォームファクタはATでした。これらのATはPC/ATの"AT"が由来のものだそうです。
(なお、日本におけるPCの普及については当時、日本語の表示にハードルがありDOS/VというOSの登場により普及が進んだそうなのですが、日本におけるPCの歴史を語るとボリュームが半端ないことになるため省略します。期待された方ごめんなさい。)
さいごに
簡単にですが、オリジナルのIBM PC ATの紹介から互換機の誕生、そして自作PC文化の発生までお話ししました。自分のようにPC/AT互換機の「互換機ってなんだ?」という疑問のお持ちの方にはぴったりの記事になったかと思います。一方、歴史の正確性については欠いてしまっているかと思います。今後、さまざまな記事を読んで誤りを見つければ都度修正をかけたいと思っています。
参考記事
- コンパック | Wikipedia
- Compaq Portable | Wikipedia
- THE INCREDIBLE TRUE STORY BEHIND AMC’S HALT AND CATCH FIRE – HOW COMPAQ CLONED IBM AND CREATED AN EMPIRE | INTERNET HISTORY PODCAST
- クリーンルーム設計 | Wikipedia
- PC/AT | Wikipedia
- PC/AT互換機 | Wikipedia
- IBM PC | Wikipedia
- パソコン市場形成期におけるIBMの技術戦略 | 佐野正博(明治大学経営学部)
- BIOSとかしこく付き合う方法 第一回 | PC/AT互換機のBIOSをマスターする
- DOS/V | Wikipedia
- 自作パソコン#自作パソコンの技術史 | Wikipedia
- フォームファクター | 通信用語の基礎知識