時、巻き戻った後10
とりあえず、輪太郎は開発環境を絞り込むことを始めます1。
さて、じゃ、もう少し現実に即した話をしよう。
俺がプログラムを開発をするうえで最初に必要になるのは何か?
それをそろえるにあたっての仕様の話である。
まずはコンピュータ本体とOS、そして開発機材の仕様書。
忘れちゃいけないのが開発言語、あとは言語に関するマニュアルあたりか。
とりあえずまずは使うコンピュータ。
まず、メーカーは独占企業NECで確定。
1982年の発売からAT互換機アーキテクチャに乗り換える1997年まで独自アーキテクチャで15年間市場を支配したのは伊達じゃない。
ソフトウエアの市場としても安心の支配率と言える。
購入する機種の最低条件は8086またはNEC V30をCPUとしたPC-9801シリーズ。
2HDフォーマットが読み取り可能なフロッピーディスクドライブを2台以上備えていること。
可能ならHDDが装備されていればなおよいが、これは必要条件というほど重要ではない。
PC-9801アーキテクチャではHDDの普及が遅い。
HDD利用が進みだすのはだいたい1992年くらいからになる。
一太郎のように早期からをHDDサポートしていたソフトもあるが、多勢はフロッピーベースだ。
つまり、最悪6~7年の間はHDDなしでも構わない。
ちなみに、HDDの調達を急がないのは規格上の問題もある。
今(1985年)時点でのHDD接続規格であるSASI規格は容量も少なければドライブもでかい。
(SASIとはSCSI規格より前のストレージ接続用の規格で、ほぼHDD接続専用として使われた。)
パソコンに内蔵するなら専用の大型筐体が必要で、搭載機の発売は遅くなりがちだ。
そのくせ、容量ときたら標準搭載容量が20MB、規格上限ですら40MBである。
ちなみにそれで、お値段42万増(PC-9801シリーズのMとM3、VM2とVM4の価格差で計算)。
正直、フロッピー15枚分程度の容量のために高額を投資して大型筐体機を待つのは少々ばかば90年代に入ってSCSIやIDE接続が普及してからの対応で十分だと考えるからだ。
4本ある拡張スロットについても購入時に気にする必要はあまりない。
というのも、そもそも最初からさすべきカードは割と限られているからだ。
定番と言えるのがメモリ増設用カードとFM音源、アナログ16色ボードの3枚構成で、これに用途に応じてもう1枚追加するのが鉄板だった。
とは言え、HDD等を接続するためのSCSIカードは登場が早くて1980年以降、モデムについては速度アップのスピードが早いため、拡張スロット経由よりはRS-232C経由のほうが好まれた。
LANカードに至ってはネットワークやADSLの普及後に必要になる機材であるため、本格的に必要になるのはさらに後の2000年代入ってからの話で、PC-9801時代の機種では結局4枚目を刺さないまま、というケースも珍しくはなかった。
また、定番の3枚についても、状況により必要なタイミングは限られる。
一太郎4のような重量級アプリを使う場合であればメモリが必要だし(つまり自分が重量級アプリを作る場合には必要)、ゲームをプレイしたい場合アナログ16色ボードやFM音源ボードがあった方が良かったり(つまりゲームソフトを作成する場合には必要になる)等といった具合だ。
そのため、これら3枚についても、開発ジャンル次第で必ずしも必須とは言えない。
とりあえずは2DDと2HDの2モード自動切換えのFDD2台詰んだPC-9801があれば開発自体は何とかなる。
そこから先は作りたいソフトに併せて必要に応じて、で問題ないだろう。
メーカーが決まると使用OSも決まるのがこの時代である。
PC-9801用、つまり16Bit機用のOSといえば、やはりMS-DOSである。
時代を考えると、ちょうどバージョン3.1が発売されてるころだろうか。
この時期のマイクロソフトはPC-9801環境でMS-DOSを普及させるため、メジャーなソフトに対してMS-DOSのサブセット版を無償バンドルさせてシェアを伸ばす戦略を取っていた。
実際、一太郎やLotus1-2-3などがその対象となっており、MS-DOSの2.11付きで販売されている。
ただ、こうしたバンドル版のMS-DOSは最新版ではなかったため、ソフトを自主開発するつもりであれば、最低1本はMS-DOSの調達が必要になる。
ただ、Windowsなどと異なり、9801環境のMS-DOSはその後もかなり長くDOS3.x系で粘る状況が続く。
そのため、動作環境に影響する場合(接続するHDDの容量などに係る場合など)以外は頻繁に買い替える必要性は薄い。
とりあえず開発環境としては1本あれば当面大丈夫だろう。
金額的にも1-2万で更新可能なので、必要に応じて更新するのでがいいかな。
優先度的には拡張カードの方が高いくらいで考えてもいい。
必要になったとしても、お年玉全部ぶっこめばアップデートできる価格なのでさほど気にする必要はないんじゃないかな。
さて、次に必要なものというと、使用機器の仕様書になる。
けど、正直、これについてもPC-9801を選んでいる限り、あまり心配はいらないと考えている。
というのも、もともとPC-9801シリーズ自体がオープン系ハードウエアということで売れた機種だからだ。
PC-9801系統のパソコンは、パソコン本体に必ずある程度の仕様書が付いてくる。
ほとんどはN-88 BASIC(86)上での利用を前提としたものだが、メモリマップや割り込み、キー入力のコード、文字コードなどはそのまま流用が利いた。
グラフィック周りの仕様についても、BASIC側でフォローしているモードや機能等の考え方はだいたいそのままBIOSやLIO周りなどとしてハードウェア実装がされており大きな差居なく仕様が把握できた。
ただし、考え方はともかく、それをBASIC外の方法(例えばC言語やその他の処理系)から利用する場合はユーザーズマニュアルだけでは情報が不足していた。
それを埋め合わせる位置にあったのが、ハードウエアに関する情報を提供してくれる本、テクニカルデータブックである。
このテクニカルデータブックという本、NECからの情報をもとに、ASCII出版から刊行されたもので、最初の版はUV/VF/VM系が登場した翌年の1986年に登場している。
NECからの情報、という文言で分かる通り、PC-9801内部の構造から仕様についてが詳細に書かれており、当然、これらの機能にアクセスするためのI/Oポートや割り込み、各種アドレスとインターフェースに関する情報源でもあった。
PC-9801固有のHWを制御するために必要な情報はほぼ網羅されており、一部についてはアセンブラでのサンプルコードまで付属している。
この本の存在こそがPC-9801系統がオープン系ハードウエアだったという証左といってもよい。
(とはいえ、テクニカルデータブックの中でも詳細はユーザーマニュアル参照という項目はそれなりに存在したためこれ一冊でプログラムが書けるような仕様書ではないことは知っておいていただきたい。)
前の人生でこの本に出会ったのは、たしか先輩プログラマの紹介だった。
分冊された後の1993年版を入手したのだが、98でコード書くなら必携の一冊という言葉の通り、この本があれば何でも組めると情報量に震えたものだった。
だから、確信を持って言える。
8086およびV30に関する知識さえあれば、仕様的な情報についてはそこまで心配はいらない。
むしろ、問題は、開発言語である。




