黎明期のパソコンゲーム開発#8
■はじめてのパソコン ~BASICからアセンブラへ~
1.BASICの速度の限界
パソコンを使い始めて、しばらくはBASICで様々な自作ゲームを創っていました(簡単なパックマンのようなものや、DIGDUGもどき、LINEを使ってQIXのようなものとか)。
しかしBASICではどうしても速度に限界があります。そんな中、雑誌にマシン語を使ったゲームが徐々に掲載されるようになってきました。
下記は雑誌「I/O(アイ・オー)」に掲載された「マリン・エイリアン」。芸夢狂人さんが投稿した作品です。当時は夢中になって打ち込んで遊んでいました。
2.アセンブラの活用
雑誌のマシン語を使った作品に刺激を受け、自分もマシン語に手を出すようになりましたが、当時はアセンブラやコンパイラといったものがまだほとんどなく、入力用のエディタすらなかった時代だったため、すべてハンドアセンブル(マシン語をノートなどに書いていき、それを手で打ち込む)で行っていました。
下記は、PC-8001に搭載されていたモニタコマンド。標準で搭載されていたマシン語用のコマンドはこのくらいの機能しかなく、このコマンドを駆使してハンドアセンブルでノートに書き込んだマシン語を1つ1つ、パソコンに打ち込んでは動作確認という事を行っていました(今で考えると、とんでもなく低い生産性でした)
monというコマンドでマシン語モードに入り、Dコマンドでメモリの内容を表示し、Sコマンドで1つ1つ打ち込み、Wコマンドでこまめにセーブ・・・そんな作業の繰り返しです。
またPC-8001のROMの内容も理解するため、ROM内容の解析も行ってました。これも当時逆アセンブラなんてものもないので、1つ1つの16進文字を読み解く作業。でもこれでマシン語でどんなプログラムを他の作者が行っているかが分かったように思います。
そんな事を繰り返すうち、次第に「人間アセンブラ」と呼ばれるようになっていました(下記はFANFUNの取材時の写真。すっごく恥ずかしいです)
※次はパソコンゲーム開発のきっかけとなる、プログラムコンテストへの応募について記載したいと思います。