自分戦略研究所 | 自分戦略研究室 | キャリア実現研究室 | スキル創造研究室 | コミュニティ活動支援室 | エンジニアライフ | ITトレメ | 転職サーチ | 派遣Plus |

パソコン創世記
第2部 第4章 PC-9801に誰が魂を吹き込むか
1982 悪夢の迷宮、互換ベーシックの開発

「互換ベーシックを半年で書いてくれ」

富田倫生
2010/4/15

「三菱電機のマルチ16」へ

本連載を初めて読む人へ:先行き不透明な時代をITエンジニアとして生き抜くためには、何が必要なのでしょうか。それを学ぶ1つの手段として、わたしたちはIT業界で活躍してきた人々の偉業を知ることが有効だと考えます。本連載では、日本のパソコン業界黎明期に活躍したさまざまなヒーローを取り上げています。普段は触れる機会の少ない日本のIT業界の歴史を知り、より誇りを持って仕事に取り組む一助としていただければ幸いです。(編集部)

本連載は『パソコン創世記』の著者である富田倫生氏の許可を得て公開しています。「青空文庫」版のテキストファイル(2003年1月16日最終更新)が底本です。「青空文庫収録ファイルの取り扱い規準」に則り、表記の一部を@ITの校正ルールに沿って直しています。例)全角英数字⇒半角英数字、コンピューター⇒コンピュータ など

 マルチ16のアウトラインが明らかになっていく過程で、日本電気の小型システム事業部は、開発中のBPCを4月から出荷できるよう、スケジュールを組みなおしていた。早水に命じた簡易言語を書いてくれるソフトハウスの調査は、マルチ16の売り物であるマルチプランに対抗するアプリケーションの確保が狙いだった。

エンジニアライフ
コラムニスト募集中!
あなたも@ITでコラムを書いてみないか

自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある!

コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中

 ライバルの動向に合わせて、浜田はBPCの軌道に修正をかけた。

 だが、PC-8801互換機を本命に据えると完全に腹をくくった今となっては、システム100の超小型版を4月に出荷し、マルチ16の出鼻をくじくという戦術は意味を失っていた。可能な限り早くという内心の声を、かろうじて合理性の枠に収まるスケジュールに落とし込もうとすれば、マルチ16から半年遅れ、1982(昭和57)年10月出荷がぎりぎりの線だった。

 このスケジュールを達成できるか否かの鍵は、互換ベーシックの開発を任せる古山良二が握っていた。

 1959(昭和34)年、日米安全保障条約をめぐって日本が大揺れに揺れる前の年、岩戸景気で企業が活気づく中で、東京大学理学部応用物理学科を卒業した古山良二は日本電気に入社した。

 以来、日本電気の社員としては初めて、古山はコンピュータのソフトウエア専門でキャリアを積み重ねていった。その古山にとっても「互換ベーシックを半年で書いてくれ」という浜田の注文は、かつて経験したことのないむちゃなものに思えた。

 新しくベーシックを設計して書けというのなら、問題はなかった。

 事実、開発中のBPCにはパーソナルコンピュータで人気を集めているベーシックを載せたいとのことで、古山たちはその開発作業を進めてきた。

 だが、マイクロソフトがPC-8001やPC-8801に提供したものと互換性を持ったベーシックを、翻訳ソフトのソースコードもなしで8086用に書けという今回の注文の性格は、これまでのものとはまったく異なっていた。

 1つひとつのベーシックの命令をどういった手順で処理しているかは、ソースコードを見れば容易に確認できる。原著作者の合意のもとにソースコードを参照することができ、おまけにその手順を新しいベーシックにも利用してよいというのなら問題はない。ところが浜田によれば、ソースコードの権利は手に入らないという。となればPC-8801やPC-8001を実際に動かしてみて、ROMにオブジェクト化されて収められている翻訳ソフトがどう振る舞うかを外側から手探りで判断し、同じ機能を別個に手順を組み合わせて書いていくしかない。その他に参考にできるのは、ユーザー用のマニュアルだけだろう。

 ただし、マイクロソフトの権利を侵害することを回避するためには、外側から手探りでベーシックの機能を分析するといっても限界がある。フロッピーディスクにどのようなフォーマットで情報を書き込んでいるかは、読み書きがすべて機械の内側で処理されるため、外からはうかがい知る術がない。これに関しては、記憶装置に書き込まれた情報を画面に表示させたり、プリンターに印字させたりする、ダンプと呼ばれる処理によって分析するしか手がない。さらにベーシックの完全な互換性を得るためには、プログラムを最終的に機械語で実行する前の段階で使われる、中間コードの形式を合わせておく必要もある。ベーシックで書かれたプログラムの文字列を字句単位に短縮化した、トークンと呼ばれる中間コードの仕様もまた、ファイルフォーマットと同様、16進数でダンプして分析するしかない。

 製品化されたソフトウエアの仕様や機能を、開発工程を逆向きにたどって分析することから、リバースエンジニアリングと総称されるこうした手法は、法律で禁じられているわけではなかった。ただし、リバースエンジニアリングをかけられる側の反発は、当然予測できた。

 しかも、ベーシックを載せる対象となる機械は、まだ影も形も存在していないのだ。

 浜田によれば、ハードウエアとソフトウエアの開発をゼロから同時並行で進め、しかも10月のデータショウに発表した直後には製品の出荷を開始したいという。

 だが、こんなスケジュールでは、開発したベーシックを実機でチェックする期間は、きわめて短くなってしまう。従来機に使われてきたベーシックの機能を漏れなく網羅した内部資料のようなものがあるのなら、確認も容易だろう。けれど、それもないとなれば、これまでに書かれたいろいろなプログラムをしらみつぶしに動かしてみてチェックするしか手はない。マニュアルに書かれていない命令やマニュアルと食い違った動き方をする命令に関しては、プログラムをともかく動かして、問題が起こった時点で内容を分析し、対処するしかないのだ。

 小柄でいつもにこやかな笑みを浮かべ、言葉のはしに故郷の出雲の訛りを残す古山が、いったんシステム開発上のポイントや問題点を分析するとなると、鋭利なメスのような論理をふるって容赦なく切り込んでくることを、浜田は痛いほど承知していた。

 「やはりこれはマイクロソフトに頼んでくださいよ」

 年末の打診から年明けの再度の打ち合わせを経て、そうまとめた古山の言葉の調子は柔らかかった。だがやんわりとした依頼の形を取ってはいるものの、これが実現の可能性を十ニ分にはかったうえでの結論であることは、古山の瞳の力がよく物語っていた。

 「頼めれば頼む」

 精悍という文字を面構えに変えたような浜田の肩が、古山はそのとき、少し落ちているように感じた。古山はここまで自分が数え上げてきた互換ベーシック開発上の問題点など、浜田はとうに承知していたことに、あらためて気付かされた。

 「マイクロソフトとしては、β版を出すのが早くて今年の11月ということなんだ」

 いつもなら腹の奥で大きな鐘をつくように響く浜田の声が、薄く流れていった。

 「だがそれじゃあ、とても間に合わない。マルチ16にとんでもない差をつけられてしまう」

 古山がふと風向きが変わるような奇妙な感覚を覚えたのは、浜田がそうもらした瞬間だった。

「三菱電機のマルチ16」へ

» @IT自分戦略研究所 トップページへ

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。