ドルアーガの塔 サウンドドライバを調べてみました

ドルアーガの塔(アーケード版)のサウンドドライバを調べてみました。

ドルアーガの塔の基板は6809CPUベースの基板で2つの6809が搭載されています。両者はメインとサブの役割を持ち、起動時はメインCPUから立ち上がります。メインCPUからの指令でサブCPUが動き出しゲーム機として稼働します。

サブCPUはサウンドの処理だけを行い、ゲームの進行そのものには影響しません。(サブCPUを止めてもゲームは動くはず…)

サブCPUでは常時共有RAMを監視しており、メインCPUからの演奏指令が書き込まれたら演奏を開始する仕組みです。

音源スペック

以下、独自の推定による音源のスペックです。

方式波形再生音源(通称ナムコPSG)
チャンネル数8音
波形数ROMプリセット8種類
波形スペック4bit×32サンプル
出力チャンネルモノラル
ドルアーガの塔の音源スペック

曲リスト

CPU間の通信は独特で、曲No.を指定するのではなく、共有RAMに1曲1バイトのテーブルが存在し鳴らしたい曲に対応する番地にフラグを書き込む仕組みです。音楽・効果音を区別せず管理されており、合計32種類のサウンドが存在します。具体的には共有RAM先頭から「下記の表の番号+0x40」バイト目の番地に0以外の値を書き込みます。

番号(16進数)
00面スタート
01面クリア
0260フロアクリア
03ZAP
04イシター面BGM
05メインBGM
06QOX面BGM
0759面
08チャイム
09スライム移動
0Aスペル
0Bスペル(炎)
0C壁壊し
0DQOXの炎
0E剣1
0F剣2
10剣交差
11剣3
12剣Hit
13未使用SE?
14呪文を盾で受ける
15ドアOPEN
16鍵取得
17宝箱取得
18ファンファーレ(未使用)
19ギル歩行
1Aクレジット(後半)
1Bギルやられる
1Cゲームオーバー
1Dネーム入れBGM
1Eエクステンド
1Fクレジット(前半)
サウンドリスト

曲データのフォーマット

曲データは複雑なテーブル構造になっていますが、曲本体のデータを調べた結果は以下のような感じでした。「音程+音長」が基本です。

命令+0 byte+1byte+2byte+3byte動作
発音音程(00-BF)音長指定した音程を音長×テンポ×1/60秒鳴らす
休符C0音長
波形選択F0波形No.(00-70)上位4bitで指定
エンベロープ指定F1エンベロープNo(00-19)26種類ある模様
テンポ指定F2テンポ音長の倍率になる
曲終了F3
ループ1F4回数アドレス上位バイトアドレス下位バイトアドレス〜コマンド間を回数だけループ
ループ2F5回数アドレス上位バイトアドレス下位バイト指定回数通過した時だけループ
ジャンプF6アドレス上位バイトアドレス下位バイト無条件ジャンプ
曲データ書式

テンポ指定は一般的な楽譜で言うテンポではなく曲データの音長に対する倍率です。つまり値が大きくなるほどゆっくりしたテンポになります。計算式にすると「テンポ×音長(単位1/60sec)」です。

ループのネストはできません。(ループ1と2のネストは可能。同種ループのネストが不可)

6809CPUなのでアドレスはビッグエンディアンで記載されています。アドレスは絶対番地です。

音程は

  • 上位4bit…音階(ドレミ…)
  • 下位4bit…オクターブ

ですが、MMLと違いオクターブが高いほど低い音になります。音階はC C# D E E# G G# A A# Bで0〜B、のはずなのですが実際は3音ほど高く発音されるようです。

(例:データ上のG#→実際はF)

エンベロープ

 エンベロープはソフトウェアで制御されています。曲データではエンベロープの番号を指定するのですが、エンベロープの中身は専用の領域に保存されています。

 エンベロープは1/60sec毎の音量(00〜0F)を並べた、単純なフォーマットです。終端の処理を10〜14の値で指定します。(13と14の動作はよく分かっていません…)

+0byte+1byte機能
00〜0F音量(長さ1/60sec固定)
10終端処理:現在のボリュームを維持
11n終端処理:ボリュームがnになるまで減衰
12終端処理:音長に合わせて減衰
13先頭に戻り、ループする。
14キーオンでエンベロープをリセットしない?
エンベロープのフォーマット

まとめ

 音程に不思議なところがあるものの、ループやエンベロープの機能など、時代を考えればかなり先進的なドライバと思いました。

未来忍者(ナムコ)

 アーケードアーカイブスで「未来忍者」が配信スタートしました。
 これは大ニュースです。
 ナムコのレトロゲームと言えば延々とパックマンとギャラガが移植されるだけで何の進展も無かった状態が10年以上続いていましたが(Wiiのバーチャルコンソールは良かった…)、ついに「1990年前後の作品」で「初移植」のタイトルが出たのですよ。
 となれば、ワルキューレやフェリオスやティンクルピット、コズモザギャング、ファイネストアワー等の登場も期待できます。
 セガやタイトーやコナミが次々とレトロゲームを商品化する中、頑なにパックマンとギャラガだけで通してきたナムコが遂に動いたなという感想です。

 ところで「未来忍者」は自社の映画化プロジェクトと連動したゲームでした。それなりに肝いりのプロジェクトと思うんですが、熱心に攻略したプレイヤーの話をあまり聞きません。中潟さんのロマン溢れるサウンドが印象的ですが、稼働期間は短かった記憶があります。

 私自身もあまり記憶に無いので、購入してプレイしてみたんですが…

 歯車面で心折れましたw

 慣性がある割に極端なスピードが出る動きなので不安定な足場のストレスがハンパないw
 横スクロールアクションでは定番の仕掛けしか無いんですがマリオにやらせるような事をハイスピードニンジャにやらせると地獄ですね。
 あと連射ONにしてるとボタン離すまでプレイヤーが動かなくなる現象が頻発して不可解な操作感覚になります。

 ゲームとしてやや微妙な感じがある本作ですが、移植としては貴重だし今後のラインナップに期待できるという意味で800円の価値は大いにあると思います。皆さん買って下さい。私は買いました。

 ちなみにサントラですごいカッコ良い曲があって、その曲がどんな場面で使われるかワクワクしてゲーセンでプレイしたら「ネーム入力の曲」だったというのが未来忍者の思い出です。俺の妄想を返せ(笑)

「時計じかけのアクワリオ(CLOCKWORK AQUARIO)」の資料提供とギネス登録に協力しました

タイトル画面

 Root(サークル:流線堂)は2021年11月発売の家庭用ゲームソフト「時計じかけのアクワリオ」の資料提供とギネス登録に協力しました。

 資料は1993年のロケテスト当時の画面写真とゲーム内容を記録したテキスト(http://ryusendo.rdy.jp/?p=65)、ギネス登録は当時のプレイの証言としてのものです。

ギネス登録には第三者の証言が必要で、メーカーに無関係でかつ当時プレイした私がメーカーの方に指名されたという経緯です。このギネスは「longest time between a videogame project start and final release」(最もリリースまでに時間がかかったビデオゲームのプロジェクト)として登録されました。

もともとは1993年にロケテストされたアーケードゲームでしたが、対戦格闘ゲーム最盛期の当時のトレンドの関係もあって正式リリースとはならなかったタイトルでした。しかし非常に鮮やかで細かいアニメーションのドット絵は現在のドット絵ゲームと遜色ない、断トツのクオリティで今こうしてプレイできることに感激しています。

 一時はゲームのデータは残ってないと思われていたのですが、奇跡的に(?)見つかったようです。(一部欠落データがあったため描き直した部分もあるようです)

ステージ2
ステージ3

 ゲーム自体は全ステージ5と、当時のゲームと比べても短めです。ステージ4はマップの無い固定画面ステージのため更に短い印象があります。その分気楽にプレイできると言えます。これが当初の計画通りなのか、それともプロジェクトが続いたらステージが追加されたのか、気になるところです。

 最終ボスはちょっと難しいですが
・攻撃はパンチへの踏みつけのみ有効
・パンチが飛び出す前に本体アームに予備動作があるのでそれでタイミングを察知できる
・爆弾は爆風で自分を巻き込まない方向に投げる
の3点を覚えれば大丈夫です。
 はじめてのプレイヤーはGUSH(ロボット)をおすすめします。パンチの射程が長いのでボス戦がかなり楽です。

 なお、パワーアップ時にワイドショットが出る、対戦ステージ(二人プレイ時のみ出現)があることから最終バージョンが本ソフトのベースにあるようです。

PS4版とSwitch版(限定版)
クレジット

Switch版の限定版同梱のブックレットに私の名前が記載されています。(URLは旧ページのものです)

関係者の皆様、ありがとうございました。