バックトゥ80年代、ハチハチ(8801)・キューハチ(9801)の世界に片足突っ込んで迷いまくる(8bit 昔話)

ふと、魔がさしてマイコンワールドを探検中(現在進行中)という話題。まずは8 bit時代の話。

8ビットマイコン野郎であった私が青春時代主に使った機種は、PC-8001mk2、そしてPC-8801mk2FR (model 30)だ。古き良きマイコンゲームは大体88FRでやった。その後、サウンドボード2に憧れてPC-8801MCも買ったが、その頃は既にWindows 3.1(93年)が出た後で8 bitマイコンは死滅した後だった。

PC-8001mk2(83年)は1984年に父が買ってきたのだが、その後ほどなくあのXanadu(85年)が発売され、Xanaduができないヘボイマイコンだという忸怩たる思いを持っていた。PC-8001mk2SR版のXanaduがあったので、なおさらそう思ったのだ。まぁ、80SRのXanaduなんて雑誌の対応機種にあるというだけで、実際に動いているのを見たことは無いのだが。

が、今から思うとマニュアルに書いてあるBASICプログラムを打ち込んだり、一部BASICで書かれていたPC-8001mk2用パックマン(電波新聞社)の迷路を書き換えて遊んだり、「デゼニ」や「サラトマ」がクリアできたり・できなかったり(柱をこするってなぁ)、PC-8001用の「ザクサス」が超おもしろかったり。「スターフリート」のルールが判らなかったり。一応BASICでゲームも作ったし(ゴルフゲーム)。こいつが一番マイコンっぽい使い方をしていたと思う。PC-8801mk2FRを買うまで使い倒した事は間違いない。

このPC-8001mk2、メインRAM 64KBに対してVRAMが16KBしかない。メインRAMを32KBにしてその分をVRAMに振るとVRAMが48KBになりPC-8801(無印、81年)と同じ能力が出せたはずだけどやってない。というのがこの機種の立ち位置を一番よく表していると思う。NECの1983年というとZ80 CPUでPC-8801mk2、PC-6001mk2、そしてPC-8001mk2とmk2世代が出た年で、互換性がないバリエーションを3つ作る理由は当時はわかんない感じではあった。

元祖PC-8001のRAM16KB(最大32KB)に対して、RAMの増量グラフィクスの大幅強化を行ったPC-8801(81年)で既に8bitの進化の方向性は出ていた。さらに2年後に発売されたPC-8801ではないPC-8001mk2の使命は、PC-8001のネガであったRAMの増量は必須。88の劣化版を出したとしてソフトウェア資産が生かせないという事だったんだろう。ただ、メインメモリを32KB, VRAMを48KBにして安いPC-8801としてのPC-8001mk2, FDDを内蔵したより高いPC-8801としてのPC-8801mk2とした方がメッセージとしてはより適切だったと思わなくはない。

今から思うと、この3兄弟の中で88だけがmk2のタイミングでFDD内蔵モデルがある。当時既に80と60のやる気は無く88に集約したいという雰囲気が見て取れる。

1983年はまさにFDDの普及初期段階真っ最中、FDD 1台がリストプライスで10万円した時代だった。一方でFDDが本命の記録デバイスであることも既に明らかであった時代なので、本命の内蔵を許されなかったPCが消えるのもまた必然だった。

ということで、PC-6001mk2SR, PC-8001mk2SR, PC-8801mk2SRにおいても内蔵FDDが提供されたのは88だけであった。つうかPC-6001mk2SRとPC-8001mk2SRって全くもって立ち位置が判んないよね。惰性で作ったとしか思えない。

PC-8801mk2FRははっきり言って高いゲーム機、プログラムをやるにはやったがゲームを作るというよりはFM音源再生のためにデータ打ちをしていたという印象のほうが強い。しかしながらFDD2台を内蔵したマイコンはそれ以前とは別世界、異次元と言っていいかもしれない、とても同じZ80 CPUを積んだマイコンとは思えなかった。記録メディアとして(当時としては)高速なFDDが使えればプログラムの設計は激変せざる負えない。実際激変した。

FDD以前、TAPEを記録媒体としたゲームはとにかくメインRAMに詰めるだけプログラムとデータを詰めてそれだけで何とかしようというプログラムだ。オールマシン語のプログラムが良しとされたのは、実行速度が速くRAMを使わないというメリットがあったからだ。

例えばアドベンチャーゲームを作るとして、高速な記録メディアがない(TAPEの)場合は複数の画面をメインRAMに保存しなきゃいけないので、描画はサラトマ式のLINE and PAINTにしなきゃいけないが、FDDが使えれば都度FDから読めばいい。2DのFDの容量が「たった」320KBだとしても、メインメモリが「たった」64KBなんだから5倍の量がある。画面データを保存していたRAMには別のデータが入れられるのでより高度なロジックが作れる。

FD世代になるとプログラムをモジュール化して特定のアドレス以降を都度差し替えるというのが常套テクニックと化した(モジュール化プログラム)。プログラム中のファイルIOの重要性が激増することになる。高度にモジュール化されたFD上のゲームプログラムはOSと言って差し支えない機能を持っていた。プラットホーム末期のドラゴンスレイヤー英雄伝説に至っては地図データをFDDから読みながらスクロールするなんて芸までこなすようになる。

事実としては320KBでは容量が足りなかったために、FDDが2台搭載される(320 x 2 = 640KBの外部記憶を持つ)というのがデフォルトとなったのは知っての通りだ。FDD自体がかなり高い周辺機器であったという事と(85年の段階でもFDD一台につき5万円のリストプライス差が発生した)、NEC自身がFDD 2台がデファクト化したと判断するのにちょっと時間がかかったということもあり、1987年のPC-8801mk2FA/MAまではFDDの有り無しが選べたりした状態が続いたがデファクト化は非常にスムーズに行われたという印象だ。

ともかく、PC-8801mk2SRが誕生してほどなくFDD 2台が搭載された8bitマイコン用のゲームというのはドライブ1に入れるプログラムディスクと、ドライブ2に入れて都度差し替えるデータディスクで構成されるいうのが設計としてデファクト化した。容量が充足していれば2台ある必要がないのは、今のパソコンを見れば明らかなので、事実として2台構成がデフォルトになったということはその時代が320KBでは足りない、640KBを要求したということに他ならない。この64KBのRAM、640KB程度の外部記憶装置の組み合わせは何というか、「時代が要求した仕様」だったんだろう。
(そういえばMSXは720KBの2DDがデファクト化して容量的に充足されたからか2ドライブ化されなかった)

この話は続く。