ASCII出版「AX-5」のQuestとの戦い

 

1981年(約年前)のNECのパソコン、PC-6001のお話。

ASCII出版社が出していたAX-5の中の「QUEST」という3次元立体迷路ゲームが秀逸だった。

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦

PC-6001マニアなら誰でも知っている名作である。


東大マイコンクラブの三橋さんの作品。彼がASCIIでバイトをしていたのがきっかけで作った作品だという。

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦


このゲームは、右の地図を頼りに立体迷路の中をさまよっている透明のモンスターに近づいてやっつけるゲーム。敵が見えない分、近づいてきたときの緊張感がたまらない。

見えない敵を見つけ、矢を放ってやっつけると

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦

このように姿を現し、鍵を残して消え去っていく。その鍵を持って地図の右上にたどり着けば1面クリア。

今のパソコンに比べて10000倍以上遅いPC-6001でも快適に動くこの3Dゲームに大興奮したものだ。当時の私達はこのゲームが楽しくて仕方がなかった。

 

ところが、この頃のゲームは記録媒体がテープだった。特にこのゲームは大作だったこともあり、テープから読み取るのに15分弱もかかった。1つのゲームに15分待ちはちょっと長すぎる。

そこで、このゲームをディスクで起動できたら楽チンだよなあ、と、当時高校生のakkyは思ったのだ。


そこで確認しておきたいのが、PC-6001というマシンのメモリ内部。

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦

PC-6001というPCは8ビットパソコン。使用できるプログラムエリアは標準で16キロバイト、最大で32キロバイトに拡張できた。

プログラムエリアが32キロバイトに拡張できるといっても、実際に使えるエリアは30キロバイト程度。でも、当時はこれが少ないとは思わなかった。

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦

ちなみに、フロッピーディスクを使う場合は拡張BASICというモードで立ち上げる。その際、F900HからF9FFHまでの256バイトがディスクエリアとして使用される。

このディスクエリアはたったの256バイトなのだが、ここをヘタに触るとディスクが止まり、マシンがハングアップしてしまう。 DISKエリアは我々がディスクを使う限り、決して触れてはいけない禁断の場所なのである。



今回話にあがったQUESTというゲームはPC-6001のゲームの中でも大作のうちの1つ。テープからデータを読み込むのに15分かかるというのは先ほど述べた通り。

なぜそんなに長いのかというと

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦


プログラムエリアの8400HからF9FFHまでのすべてを使い切った作品だったからだ。

ところが、ここで問題が発生した。


QUESTはもともとテープで起動するゲーム。8400HからF9FFHまでをフルに使っていた。だから、DISKが使える拡張BASICのときにロードすると

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦


テープの読み込みがディスクエリアであるF900Hに入った瞬間にマシンがハングアップするのである。これではQUEST本体をロードできないため、ディスクに保存できない。

これは困った。とにかくロードが完了しないことには、データをディスクに保存できないのだ。

当然、いろいろ対策を考えた。

プログラムをロードし、ハングアップした後にマシンを通常通りに立ち上げて、メモリの中に残っているデータを復活させるという案。
でも、それでは完全に復旧することが難しい。

ゲームをロード中、ハングアップする直前にstopボタンを押して、そこまでのデータをセーブするという方法も考えた。しかし、stopを押すタイミングがわからず断念。

ある日、神さまからのお告げのようにひらめいた。

「PC-6601モード」を使えばいいじゃないか!

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦

※私が所有していたPC-6601SRはPC-6001モード、PC-6601モード、PC-6601SRモードがあり、事実上3機種分が1台に入っていた。
PC-6001は8400Hからプログラムを読み取るのだが、PC-6601は8000Hからプログラムを読むため、少なくとも1024バイト余裕が出来る。

 

そう、PC-6001用のこのゲーム、PC-6601モードで読み込んで、プログラムを削ればいいじゃないか!
早速PC-6601モードでプログラムを読むと、一発でロード完了! やったね!


ロードが完了したので、1000バイトぐらいデータを削って、プログラムをフロッピーディスクにセーブ。このままではPC-6601モードなので、いったんPCをリセットし、PC-6001の拡張BASICモードで再起動する。


先ほどセーブしたデータをDISKを読み出し、QUESTを起動すると

ASCII出版のAX-5の中のQUESTをフロッピーに入れる作戦


できたー!!

本来なら地球の絵になるところの画像が乱れている。そこのデータを削ったからだね。

どうやら、このゲームがやたらに大きいのはこの地球の絵までロードしているかららしい。

テープからフロッピーディスクに移行したおかげでゲームの読み込み時間が15分から15秒に短縮された。

よかったよかった。(^-^)

 

※この記事は2006/05/15にflash動画としてアップしておりましたが、flashが終了したので再アップです。

 

トップページへもどる