PC-6001mkII用MZ-700用タイニーゼビウス

「Oh!MZ」1986年11月号に発表されたMZ-700用タイニーゼビウスを、PC-6001mkII/6601/SRに移植してみました。

参考文献:tiny XEVIOUS for 700の制作昔話

タイニーゼビウスの画像
tiny XEVIOUS for 700 for P6mk2


作成方法

  1. 古籏さんのサイトダウンロードページより、「MZ-700 Games」をダウンロードして展開します。
  2. P6mk2用MZ-700用タイニーゼビウスパッチをダウンロードして展開します。
  3. MZ-700 Gamesからxevious.binを取り出し、展開したディレクトリに置きます。
  4. mkxev.exeを実行します (Windowsの場合)。Windows以外の環境では、src/mkxev.cをコンパイルして使ってください。
  5. パッチがあたって、以下のファイルが新たに生成されます。
  6. エミュレータで動かす場合は、FDイメージとしてxevious.d88もしくはxevious.dskを使うか、テープイメージとしてxevious1.p6、xevious2.p6を順にロードしてください。
  7. FDはオートスタート形式です。テープはモード1-5のどれかでCLOAD-RUNしてください。
  8. 実機で動かす場合は、Ditt!NDittなどを使ってFDに書き込むか、P6DatRec拙作のp6towavを使って音声ファイルを作成してください。

操作方法

ソルバルウは画面下端を超えてもう少し下まで移動できますが、画面外でも当たり判定はあるので注意してください。

表1:操作方法
キー 動作
カーソル 移動
スペース ザッパー
シフト ブラスター
ESC 一時停止

移植について

きっかけ

こんなところを読んでいる方にとっては釈迦に説法かと思いますが、念のためタイニーゼビウスの説明から。世の中でタイニーゼビウスとして知られているものには二種類あります。一つは今回の移植元となった、古籏一浩氏によるMZ-700用タイニーゼビウス。もう一つは松島徹氏によるPC-6001用タイニーゼビウス (と、PC-6001mkII用タイニーゼビウスmkII) です。どちらもそれぞれの機種のユーザーに大きな衝撃を与えた記念碑的作品ですが、名前は同じでも直接の関係はありません。

後者の松島版タイニーゼビウスは、P6ユーザーには大変愛されているソフトでして、愛するあまり他の機種への勝手移植の試みが後を絶ちません。オリジナルのアーケード版ゼビウスでなく、あくまでタイニーゼビウスの再現を目指した移植を行おうとする方々がいるのです。古いPC/ゲーム機への移植を挙げるだけでも、 X68000X1MSXPC-8001mkII、 PC-8001mkIISR (その1 その2)、 PC-8801mkIISRファミコンメガドライブ と、こんなにたくさん!傍から見ていてなんだかすごく楽しそうです。

いいなあ、自分もこんなことやってみたいなあ……でも他の機種のことなんて全然知らないしなあ……。ハッ!じゃあ、P6にタイニーゼビウスを移植すればいいんじゃね?

そんな感じでP6へのMZ-700用タイニーゼビウスの移植が始まったのでした。それで本当に目的を達成できているのかと問われると答えに詰まりますが、細かいことは気にしない。

もう一つのきっかけとしては、KAWさんによるSPACE BLUSTER FZの移植があります。元のMZ-700版はカラフルな背景やデカキャラが非常に印象的な作品ですが、その魅力を余すことなくP6mk2に移植することに成功しています。これを見て、もしかしてゼビウスも移植できるかな?と思ったのでした。


MZ-700→PC-6001mkII

実はMZ-700というのは、P6mk2への移植の親和性が大変良いマシンです。CPUは同じZ80ですからプログラムの大部分がそのまま動くのはもちろんですが、画面まわりも結構似ているのです。

MZ-700はテキスト表示しかできないマシンですが、文字色と背景色を1文字ごとに指定できるというのが大きな特徴となっています。当時これができた数少ない機種の一つがP6mk2です。MZ-700用のソフトを他の機種に移植する場合、カラフルさを犠牲にしてテキスト画面を使うか、速度を犠牲にしてグラフィック画面を使うかの二択を迫られるのですが、P6mk2ならそのままテキスト画面で8色×8色カラーを使えるというわけです。(※MZ-700は文字8色×背景8色、P6mk2は文字15色×背景8色)

速度は基本的にMZ-700の方が速いのですが、画面書き換えにCPUパワーの大半を使うようなプログラムであれば大体同じような速度になるようです。と言うわけで、画面表示・キー入力・音楽演奏・ロード部分を書き換えれば、とりあえず動くものはできあがります。先に挙げたタイニーゼビウス移植の大半が一からプログラムを書いているのに比べると、だいぶお手軽です。


キャラクタの置き換え

タイニーゼビウスの画像
キャラグラは難しい

とは言え、移植にあたっては越えなければいけない障害がいくつかあります。その一つが表示キャラクタの置き換えです。MZシリーズP6mk2もキャラクタセットは結構個性的で、同じような表示にするためのすり合わせが必要です。この辺り、両機種の方向性の違いが見えて面白いです。P6mk2のセットは教育分野での使用を想定していたのだろうなあ、とか。

大きな違いとしては、四分割(2×2)ブロックの微妙な違いがなかなか悩ましいです。P6mk2ではブロックが隙間無くベタッとつながっていますが、MZでは間にスペースが。大体そのまま置き換えましたが、ちょっと雰囲気が変わってしまった敵もいます。果たして、MZ版の美しいグラフィックをどこまで再現できたでしょうか。

森も悩みました。MZ-700版はうにょっとした曲線(コイルの回路記号の一部)でジャングルを表現していますが、P6mk2では適当なキャラが見あたらず。杉林と思ってください。


高速化

ベタ移植だと残念ながらMZ-700版より遅くなってしまったため、KAWさんによるSPACE BLUSTER FZの移植と同じ手法で高速化を図りました。重ね合わせを裏画面で行い、2画面を切り替えて使用する方法です。ほぼMZ-700と同じ速度になったのではないかと思います。


MZ-700版との違い

タイニーゼビウスの画像
スタート時表示

P6mk2のテキスト画面は縦20行、MZは縦25行という違いがあります。移動範囲を狭くしたり上下にスクロールさせたりと色々試したのですがピンと来なかったため、移動範囲は変えず、画面の下端を超えて移動できるという風にしました。画面外でも当たり判定はあるので、心の眼でよけてください。

また、元のプログラムにあるバグを二つ見つけました。一つはゲーム開始時の「SOLVALOU LEFT」という表示が一文字だけ黒いこと。これはOh!MZ掲載のリストでは直っているようで、P6mk2版でも修正してあります。

もう一つは、ソルバルウの爆発パターンが右に一キャラ分ずれて表示されること。重ね合わせのプログラム上ちょっと都合が悪かったので、ソルバルウと同じ位置に表示されるよう変更しました。


メモリマップ

VRAMは0000hと8000hの2面使用しています。それに伴い、タイトルデータと地上物データのアドレスの位置をずらしました。

表2:タイニーゼビウスメモリマップ
P6版アドレス MZ版アドレス内容
0000-07FF D000-D7FF VRAM1
3000-4FFF 3000-4FFF ワークエリアなど
5000-7FFF 5000-7FFF プログラム
8000-87FF D800-DFFF VRAM2 (MZは重ね合わせ用)
9000-CFFF 9000-CFFF マップ
D000-D48F 8000-848F 地上物データ
D490-D7FF P6用追加プログラム
D800-DFFF 0400-0BFF タイトルデータ

トップ > 雑多なもの > PC-6001mkII用MZ-700用タイニーゼビウス