インターネットを散策しているとGitHubに、MC6800のプログラムをいくつか束ねている面白いリポジトリがありました。
そこにGAMESというフォルダがあり、その中にいくつがフォルダがあったのですが、当時の代表的なマイクロコンピュータゲームといえる、STARTREKとOTELLOの名前がありました。
それぞれのフォルダの中には、STARTREK.ASM, OTHELLO.ASMというアセンブラのファイルが登録されていました。
STARTREKといえばBASIC、BASICといえばSTARTREKと思っていたのですが、アセンブラで記述されたSTARTREKを見つけてしまいました。
脱線ですが、私の部屋には25年ぐらい前にカナダから飛来した(持ち帰った)USS Enterprise (NCC-1701-D)が停泊しています。大気圏内に長期停泊すると、ほこりをかぶってよくないですね。
プログラムの利用の準備
STARTREK.ASM,は2100行程度、OTHELLO.ASMは700行程度のアセンブリ言語プログラムです。
両ファイルとも行頭を見ると、OUTEEEとINEEEという見慣れたMIKBUGのコンソールルーチンのアドレス定義が書かれています。
これはあわよくば何もしなくてもMIKBUGで動くかもと思い、アークピットのX6801でアセンブルしてみると、両方ともなんと一発でエラーなくアセンブルできてしました。
さらには、MIKBUGでロードして実行すると、あっさりきれいに動いてしまいました。
その勢いで、そのままゲームで遊んでしまいました。
実は、両ゲームのホルダには見慣れない拡張子MXTを付けたファイルですが、Sレコードを格納したファイルが収められています。
アセンブルが何の問題もなく通りさらには動いたので、試しにこれらのSレコードファイルを読み込ませて実行すると、これまた問題なくプログラムが動きました。
結論から言うと、登録されているSレコードファイルを使用すれば何もしなくてもプログラムが動いたということです。
MIKBUGのソフトウェアバスとしての面目躍如ということでしょうか。
ということで、STARTREKとOTHELLOをお楽しみください。
OTHELLOは、すぐに遊べます。初陣では49対15で勝ちました。
STARTREKは戦場に出るには少しトレーニングが必要そうです。
オセロゲームの対戦
MIKBUGのLコマンドでSレコードファイルをロードし、Gコマンドで実行開始です。
コンピュータの強さ、使うコマ、先行か後攻かなどを入力してスタートします。
Y,Nなどの入力は、大文字で行う必要があります。
中盤戦までは結構強く、これは負けるなと思いましたが。。。
終盤になって、明らかな悪手を打ち始めました。
おかげで結構勝ってしまいまい、ちょっと優越感に浸ってしまいました。