「Oh!MZ」1986年11月号に発表されたMZ-700用タイニーゼビウスを、PC-6001mkII/6601/SRに移植してみました。
参考文献:tiny XEVIOUS for 700の制作昔話
tiny XEVIOUS for 700 for P6mk2
ソルバルウは画面下端を超えてもう少し下まで移動できますが、画面外でも当たり判定はあるので注意してください。
キー | 動作 |
---|---|
カーソル | 移動 |
スペース | ザッパー |
シフト | ブラスター |
ESC | 一時停止 |
こんなところを読んでいる方にとっては釈迦に説法かと思いますが、念のためタイニーゼビウスの説明から。世の中でタイニーゼビウスとして知られているものには二種類あります。一つは今回の移植元となった、古籏一浩氏によるMZ-700用タイニーゼビウス。もう一つは松島徹氏によるPC-6001用タイニーゼビウス (と、PC-6001mkII用タイニーゼビウスmkII) です。どちらもそれぞれの機種のユーザーに大きな衝撃を与えた記念碑的作品ですが、名前は同じでも直接の関係はありません。
後者の松島版タイニーゼビウスは、P6ユーザーには大変愛されているソフトでして、愛するあまり他の機種への勝手移植の試みが後を絶ちません。オリジナルのアーケード版ゼビウスでなく、あくまでタイニーゼビウスの再現を目指した移植を行おうとする方々がいるのです。古いPC/ゲーム機への移植を挙げるだけでも、 X68000、 X1、 MSX、 PC-8001mkII、 PC-8001mkIISR (その1 その2)、 PC-8801mkIISR、 ファミコン、 メガドライブ と、こんなにたくさん!傍から見ていてなんだかすごく楽しそうです。
いいなあ、自分もこんなことやってみたいなあ……でも他の機種のことなんて全然知らないしなあ……。ハッ!じゃあ、P6にタイニーゼビウスを移植すればいいんじゃね?
そんな感じでP6へのMZ-700用タイニーゼビウスの移植が始まったのでした。それで本当に目的を達成できているのかと問われると答えに詰まりますが、細かいことは気にしない。
もう一つのきっかけとしては、KAWさんによるSPACE BLUSTER FZの移植があります。元のMZ-700版はカラフルな背景やデカキャラが非常に印象的な作品ですが、その魅力を余すことなくP6mk2に移植することに成功しています。これを見て、もしかしてゼビウスも移植できるかな?と思ったのでした。
実は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と同じ速度になったのではないかと思います。
スタート時表示
P6mk2のテキスト画面は縦20行、MZは縦25行という違いがあります。移動範囲を狭くしたり上下にスクロールさせたりと色々試したのですがピンと来なかったため、移動範囲は変えず、画面の下端を超えて移動できるという風にしました。画面外でも当たり判定はあるので、心の眼でよけてください。
また、元のプログラムにあるバグを二つ見つけました。一つはゲーム開始時の「SOLVALOU LEFT」という表示が一文字だけ黒いこと。これはOh!MZ掲載のリストでは直っているようで、P6mk2版でも修正してあります。
もう一つは、ソルバルウの爆発パターンが右に一キャラ分ずれて表示されること。重ね合わせのプログラム上ちょっと都合が悪かったので、ソルバルウと同じ位置に表示されるよう変更しました。
VRAMは0000hと8000hの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用タイニーゼビウス