はじめに

ゼビウスはナムコが 1983 年に発売したアーケードゲームです。 多くの家庭用ゲーム機やパソコンに移植され、特にファミコン版は 100 万本を超える大ヒットだったそうです。

昔たまたまゼビウスのアーケード基板を入手し、ROM を吸い出して解析し、X68000 というパソコンに移植したことがあります。 その頃 X68000 版はすでに発売されていたのですが、 忠実移植ではなく不満だったので自分で作ってみました。 残念ながら世の中には出ていません。

今回 PasocomMini PC-8001 を購入したので、何かネタは無いかということで、 再びゼビウスを移植してみることにしました。X68000 への移植では、きちんと解析せず機械的に移植した部分がありましたが、 今回はかなり細かく解析したのでまとめてみました。




用語について

解説する上で、以下の用語を使います (一般的な技術用語については省略します)。



ハードウェア情報

ハードウェア構成を、ゼビウスで使用している範囲で。


CPU Z80 3.072MHz 3 個(メイン/サブ/サウンド)
表示範囲 224x288 ドット
表示色 4,096 色(RGB 各 4bit)中 128 色
スプライト 64 枚
縦横それぞれ 16/32 ドット
8 色 256 パターン/4 色 64 パターン
H 反転/V 反転
パレットブロック 64 個(8 色と 4 色で共通)
BG 面 8x8 ドット単位 4 色 512 パターン
H 反転/V 反転
パレットブロック 128 個
仮想画面 32x64 キャラクタ
点数表示面 8x8 ドット単位 単色 256 パターン
仮想画面 32x64 キャラクタ
サウンド 波形メモリ音源 3ch.(波形は 4bit×32 サンプル、8 音色)
ノイズ音源 2 系統


空中物解説

英語表記は間違っているかもしれません。あしからず。

ソルバルウ(SOLVALOU)

SOLVALOU

自機。縦方向は速度 1、横方向は速度 1.5、斜め方向は X, Y それぞれ 1 ドット/フレームで移動できる。

対空兵器「ザッパー」は画面内(+画面外 32 ドット)で 3 発まで撃つことができ、速度 6 で発射する。

対地兵器「ブラスター」は画面内で 1 発だけ撃つことができ、照準の位置へ向かって投下した後、加速して 38 フレームで着弾する。

トーロイド(TOROID)

TOROID

最初から出てくる無人偵察機。ソルバルウとの X 距離 8 キャラクタ以上の画面上部から出現し、速度 1.5 でソルバルウの方向へ直進する。 ソルバルウとの X 距離が 2 キャラクタ以下になると、回転してソルバルウと X が逆の方向に X 加速度 1/16 で加速しながら去っていく。その時に弾を 1 発撃つものと撃たないものがある。30点。

ジアラ(JARA)

JARA

トーロイドの高速版(出現時速度 3)。トーロイドより X 座標の反応が敏感(6 キャラクタ以下)。 タルケンと同時に出てくるものは弾を撃たない。150点。

タルケン(TORKAN)

TORKAN

上から速度 2 でソルバルウへ向かって 64~127 フレーム直進し、弾を 1 発撃ってコクピットを転回し、ソルバルウと反対方向に速度 3 で去っていく。50点。

カピ(KAPI)

KAPI

タルケンの改良機。直進は 48~111 フレーム。去る時は弾を連射しつつ、ソルバルウと X 方向が逆の上方向に、X 加速度 1/16、Y 加速度 1/8 で加速しながら去っていく。300点。

テラジ(TERRAZI)

TERRAZI

カピの改良機。ソルバルウとの X 距離 8 キャラクタ以上の画面上部から出現し、弾を連射しつつ速度 3 でソルバルウの方向へ直進。ソルバルウとの X 距離が 4 キャラクタ以下になると、ソルバルウと X 方向が逆の上方向に、X 加速度 1/8、Y 加速度 1/8 で加速しながら去っていく。700点。

ゾシー(ZOSHI)

ZOSHI

初めにソルバルウの方向へ速度 1.5 で直進し、何フレームか後に弾を 1 発撃って方向転換するのを繰り返す。フレーム数の範囲は可変。 出現位置と転換する方向によって、次の 3 種類がある。

ギドスパリオ(GIDDO SPARIO)

GIDDO SPARIO

上から速度 4 でソルバルウめがけて飛来する。10 点のわりに強い。

ザカート(ZAKATO)

ZAKATO

上から 2~17 キャラクタの位置(大きさを 16x16 ドットと見なした場合)にテレポート出現し、消失時に弾を 1 発撃つ。出現後の移動方向と消失条件によって、次の 4 種類がある。

ブラグザカート(BRAG ZAKATO)

BRAG ZAKATO

ザカート同様にテレポート出現し、ソルバルウの方向に速度 2 で移動し、消失時にソルバルウの方向へ速度 3 の弾を扇状に 5 発撃つ。消失条件によって、次の 2 種類がある。

ガルザカート(GARU ZAKATO)

GARU ZAKATO

上から出現して下へ速度 3 で直進し、Y 座標 64~157 の位置で通常弾を速度 3 で 16 方向に、さらにブラグスパリオ(後述)を初速 2 で 4 方向に撃って消滅する。消滅前に撃って破壊すると 1,000 点。

バキュラ(BACURA)

BACURA

上から出現し、回転しながら下へ速度 1 で移動する。破壊不能。

シオナイト(SHEONITE)

SHEONITE

味方。当たり判定は無い。 ゼプナイトとキャスナイトが上から速度 4 でソルバルウへ向かって飛来し、しばらくソルバルウの近くで回転した後、 ドッキングして速度 6 で上へ去っていく。

なお、開発資料ではゼプナイトが右側、 キャスナイトが左側となっているが、他の資料では逆になっているものもあり、 どちらが正しいかは不明。 プログラム上では右側→左側の順に登録されている。

スパリオ(SPARIO)

SPARIO

敵の通常弾。画面内に 19 発まで出現可能。ブラグザカートとガルザカートが撃つものは速度 3、それ以外は速度 2。

ブラグスパリオ(BRAG SPARIO)

BRAG SPARIO

ガルザカートが撃つ誘導弾。通称ジェミニ。 ソルバルウの方向へ X, Y それぞれ加速度 1/8 で軌道修正する。

破壊不能だが、1 発撃つごとに 500 点入る。 ソルバルウをうまく操作することで、ソルバルウの周りで回すことが可能。2 発回すのが安全かつ点数効率が良いので「ジェミニ誘導」 (ジェミニはふたご座のこと)と呼ばれるようになったとか。




地上物解説
バーラ(BARRA)

BARRA

エネルギーを蓄えているピラミッド。100点。

ガルバーラ(GARU BARRA)

GARU BARRA

大きい(「ガル」はゼビウス語で大きいという意味)バーラ。 下部はバキュラで作られていて破壊不能。上部は破壊可能で 300点。

ゾルバク(ZOLBAK)

ZOLBAK

ゼビウス軍の情報収集システム。攻撃はしてこない。200点。

ログラム(LOGRAM)

LOGRAM

ある程度の時間ごとに弾を 1 発ずつ撃つ。300点。

ボザログラム(BOZA LOGRAM)

BOZA LOGRAM

連結された(「ボザ」は連結を表す)ログラム。 周りのログラムは 1 個 300点。中心部は周りのログラムを破壊する前は 2000 点、1 つでも破壊すると 600 点になる。

デロータ(DEROTA)

DEROTA

弾を短い間隔で連射してくる。1,000点。

ガルデロータ(GARU DEROTA)

GARU DEROTA

ガルバーラと同様、下部がバキュラで作られているデロータ。 他の地上物が画面下の方では弾を撃たなくなるのに対し、 画面から消えるまで撃ち続ける。2,000点。

ドモグラム(DOMOGRAM)

DOMOGRAM

ログラムにホバーリング機能を付けたもの。 整地を移動しながら、ある程度の時間ごとに弾を 1 発ずつ撃つ。800点。

移動速度は X, Y それぞれに設定され、(スクロール分は差し引いて)どちらかは 0.5 になる。斜め 45 度なら両方 0.5。

グロブダー(GROBDA)

GROBDA

水陸両用の輸送車。攻撃はしてこない。 海上のものは爆発アニメーションが速く、爆破跡が残らない。 ソルバルウの照準やブラスターに反応して動きを変えるものがある。 動きの種類は以下の通り。「再び」とあるものは 48 フレーム後。

移動速度に関しては次の通り(スクロール分は差し引いてある)。

アンドアジェネシス(ANDOR GENESIS)

ANDOR GENESIS BRAGZA

浮遊要塞。4 つのアルゴ(砲台)とコア(中央部)を持つ。 コアを撃つとアルゴも破壊されるが、その前にアルゴを撃つと 1 つ 1,000 点入る。コアを撃つと、そこからブラグザ(右画像、破壊不能)が上に逃げていき 4,000 点入る(ただしバグがあり+α点入る)。

ソル(SOL)

SOL

隠しキャラ。全部で 45 ヶ所に隠れているが、照準に反応する。 ブラスターを撃つと出現して 2,000 点入り、完全に出現してから撃つと破壊できてさらに 2,000 点入る。

スペシャル(SPECIAL)

SPECIAL FLAG

隠しキャラ。通称「スペシャルフラッグ」。4 ヶ所あるラインのランダムな X 座標(ソルバルウとの X 距離 8 キャラクタ以上)に設置され、そこにブラスターを撃つと出現する。 ソルと違って照準には反応しない。出現で 1,000 点、取るとエクステンドもしくは 10,000 点(DIP-SW で設定)。 なお、一度出して取ってから下がってもう一度撃っても、 出てくることはない。

隠しメッセージ

1 面最初の右端でブラスターを撃っていると、 画面下部に隠しメッセージが出て 10 点入る。不正コピー対策。 正確な場所は、スタート時の画面右上端よりも 16~31 ドット上。

ORIGINAL

不正コピーチェックに引っかかるとメッセージが変わる。 ……右端ちょっと切れてますが(笑)。

DEADCOPY




豆知識


バグ/珍現象


空中物テーブル

難易度に対応する空中物は以下の通り。


難易度 空中物 1 空中物 2
0~2 トーロイド A×3 -
3~5 トーロイド A×4 -
6~8 トーロイド A×5 -
9~11 タルケン×2 -
12~13 トーロイド A×4 -
14~15 トーロイド A×3 トーロイド B×1
16~17 トーロイド A×2 トーロイド B×2
18~19 トーロイド A×2 トーロイド B×3
20~21 トーロイド A×2 トーロイド B×4
22~23 タルケン×3 -
24~25 タルケン×4 -
26~27 タルケン×5 -
28~29 ギドスパリオ×3 -
30~31 ギドスパリオ×4 -
32~33 ギドスパリオ×5 -
34~35 ゾシー A×3 -
36~37 ゾシー A×4 -
38~39 ゾシー A×5 -
40~41 ジアラ A×3 -
42~43 ジアラ A×4 -
44~45 ジアラ A×5 -
46~47 ザカート A×3 -
48~49 ザカート A×2 ザカート B×1
50~51 ザカート A×2 ザカート B×2
52~53 ゾシー B×3 -
54~55 ゾシー B×4 -
56~57 ゾシー B×5 -
58~59 ジアラ B×1 ジアラ A×3
60~61 ジアラ B×2 ジアラ A×2
62~63 ジアラ B×2 ジアラ A×3
64~65 ジアラ A×2 タルケン×3
66~67 ジアラ A×2 タルケン×4
68 ザカート C×2 -
69~70 ザカート C×3 -
71~72 ザカート C×4 -
73 ザカート C×5 -
74~75 タルケン×5 -
76~77 タルケン×6 -
78 カピ×2 -
79~80 カピ×3 -
81~82 カピ×4 -
83 カピ×5 -
84~85 ゾシー B×5 -
86~87 ゾシー B×6 -
88~89 ギドスパリオ×4 -
90~91 ギドスパリオ×5 -
92~93 ギドスパリオ×6 -
94~95 ジアラ B×5 -
96~97 ジアラ B×6 -
98 ザカート C×1 ザカート D×1
99~100 ザカート C×2 ザカート D×1
101~102 ザカート C×2 ザカート D×2
103 ザカート C×2 ザカート D×3
104~105 ジアラ B×6 -
106~109 トーロイド B×6 -
110 テラジ×2 -
111~112 テラジ×3 -
113~114 テラジ×4 -
115 テラジ×5 -
116~119 トーロイド B×6 -
120 ブラグザカート A×1 -
121 ブラグザカート A×2 -
122~125 トーロイド B×6 -
126 ブラグザカート B×1 -
127 ブラグザカート B×2 -

A~D の表記があるものは以下の通り。

敵配置データには指定難易度の敵を出すコマンドがあり、0~255 を指定できる。このうち 128~223 は定義されていない。224~255 は以下の通り。ただし 0~127 以外で実際に使われているのは 230, 236, 241 の 3 つのみ。


難易度 空中物 1 空中物 2
224 トーロイド B×2 ジアラ B×2
225 トーロイド B×3 ジアラ B×2
226 トーロイド B×4 ジアラ B×2
227 トーロイド B×2 ギドスパリオ×4
228 タルケン×2 ギドスパリオ×4
229 ギドスパリオ×4 ゾシー B×2
230 ギドスパリオ×4 ジアラ B×2
231 カピ×2 ギドスパリオ×4
232 ギドスパリオ×4 テラジ×2
233 ギドスパリオ×4 ゾシー C×2
234 ゾシー B×3 ゾシー C×1
235 ゾシー B×2 ゾシー C×2
236 ゾシー B×3 ゾシー C×2
237 ゾシー B×3 ゾシー C×3
238 ザカート C×3 ゾシー C×3
239 カピ×3 ザカート C×3
240 ザカート C×3 テラジ×3
241 ブラグザカート A×2 -
242 ブラグザカート A×3 -
243 ブラグザカート A×4 -
244 ブラグザカート B×2 -
245 ブラグザカート B×3 -
246~255 ブラグザカート B×4 -



背景データ解説

背景データ ROM は 24KB+カラーデータ。8x8 ドット 4 色を 2x2 に並べたものを 64x128 個並べてある。全体で 1,024x2,048 ドット。 方眼紙に描いて作っていたとのこと。

スタート直後の森は別扱い。28 パターンを並べてある。14chr スクロール後に各面の背景が出てくる。

背景全体図(縦横半分に縮小)。

ALL MAP

左上隅に ©namco の表記がある。7 面最後でのみ見ることができる。

NAMCO LOGO




おまけ

ノイズ音の詳細。厳密な検証はしていないので参考程度に。

おおよその発音タイミングは以下の通り。「V数値」はボリューム、 「x数値」は長さ(単位は 1/150 秒くらい)。

出力は矩形波ノイズにバンドパスフィルタを通している。 矩形波ノイズのサンプリング周波数は 2400Hz くらいで、地上物爆発は 1/4 の確率で ON/OFF 切り替え、その他は 1/2 の確率で ON/OFF。

バンドパスフィルタの周波数特性などは、オペアンプ多重帰還型バンドパス・フィルタ計算ツールで、 以下の値を入力。

inserted by FC2 system