2008-10-01

仰天もののディスケット

The diskette that blew Trixter’s mind « Oldskooler Ramblings

IBM PCオタクの自分には、ゲームのコレクション(割れ的な意味を含む)という趣味がある。ある業者が、在庫処分をしたいので5ドルで引き取らないかという話を持ちかけてきた。実に嬉しい事だ。というのも、その在庫の中には、貴重なMartian Memorandumがあったからだ。帰宅して見てみると、まだその辺に転がってないゲームが二つあった。要するに、アングラなサイトに出回っていないヤツだ。まさに海賊の金塊を発見したに等しい宝であった。

ゲームは、Mental Blocks と Harrier7 というのものだった。Frightmare とあわせると、私は三つも宝を得たことになる。私はこの宝物を、正しく、コレクションしておくつもりだ。というのも、Mental Blocks にはいささか驚かされたからだ。Mental Blocks のマニュアルには、「C64とIBMの両方に、ラベル面を上にして、挿入してください」と注意書きがあった。私はこれを、単なるタイプミスだと考えた。何しろ当時、一枚のディスケットでC64/IBM両対応、あるいは、Apple/IBM両対応を謳っているものは、すべて両サイドを区別して使う、フリッピー(flippy)なディスクだったからだ。片面がIBM用で、もう片面がC64やApple用といった具合だ。ディスクのFAT12を覗いてみると、多くのセクターが、飛び飛びにBADとマークされていた。実に奇妙なディスクだ。

ディスクに対して DIR をかけると、使用可能領域が、たったの256KBしかなかった。普通は360KBのはずだ。トラックエディタは、両面のトラック0は、いずれもMFMデータではないと告げている。つまり、マニュアルは正しい。これは真の、混在フォーマット、混在アーキテクチャ、両面混在ディスクだったのだ。

このディスケットには、さすがに仰天した。

こんな物を見たのは初めてだった。IBMプログラム用のデータは、160KB以上もの容量を必要とすることが、DIRの結果から見て取れた。C64の1541ドライブは片面ドライブであり、IBMのは両面ドライブである。この事から、我々はこのディスケットが、どのように構築され、また何故、かくは構築せざるを得なかったかという理由を推測できる。

- IBM版のゲームは、160KB以上の容量を必要とする。つまり、片面以上の容量を必要とするということだ。おそらくは、4/2色のCGA/Hercファイルと、16色のEGA/Tandyファイルのためで、どちらか一方ならば160KBに収まるが、両方を入れることはできない。
- C64版のゲームは80KB程の容量を必要とする。何故ならば、その程度の容量がIBM側から読み込めないから。
- 発売元は、パッケージの手間やディスク価格の問題から、一枚のディスクに収めなければならなかった。
- CGAかEGAのどちらか一方だけを使いたくはなかった。そこで開発者の誰かが、手動でディスケット上にこのフォーマットを構築したに違いない。そのため、DOSはC64用のトラックにアクセスしないし、何らかの理由で、C64もディスクを読み込んでブート可能なのだ。

トラック0のセクター0は、DOSのブートセクターらしく、C64がどのようにブートしているのかは詳しくないが、ざっと調べてみたところ、C64ディスクは、インデックスをトラック18に置いているらしい。誰かC64のディスクの読み込みとブートに詳しい人がいたら、教えて欲しい。

一体誰がこのディスクフォーマットを手動で構築し、何を考えていたのか、それが知りたい。発売元からの要求を満たすため、何週間も試行錯誤した上での産物なのだろうか。あるいは、恐ろしく凄い奴で、わずか一日程で、これも仕事のうちさと気軽に構えて、事もなくやってのけたのか。素晴らしい逸品だ。

この道二十五年以上も続けていて、未だに驚きの発見があるとは。昔の割れ技術トップ20の中にも入っていないことだろう。

まさか混在フォーマットとは、世の中には凄い奴らがいるものだ。その昔、FDを独自フォーマットにして容量を稼ぐという技術があったと聞くが、これは知らなかった。

No comments: