3Dダンジョンロールプレイングゲーム 第91回目です。
今回は効果音処理を組んでいきます。
前回、効果音が必要な個所に、効果音フラグ(&HE025)を立てましたので、後はBGMと同様「走査線割込み」処理内でフラグをチェックし、音を鳴らし始めたらフラグを「&HFF」にします。
BGMと異なるのは、鳴らし終わったらそこでフラグを「&H00」にして終了、繰り返しません。
私は基本的にPSGのチャンネルAとBをBGM用、チャンネルCを効果音用として使っていました。
過去作品の効果音を再利用しようかとも思ったのですが、シューティングやアクションが多かったので、合わない…。
止むを得ず、久しぶりの効果音作り…。
難しい!
うーん…、思ったような音になりません。
敵への攻撃時は、イースの「デュバッ」っていうのが良いんだけど、出来ない…。
因みに昔は作れてました…、昔どうやって作ってたんだっけ…?
今作で使っているBGM演奏ロジックではあまり複雑なことできないのでノイズやエンベロープも切り替えられないので、これ以上は無理ですね…。
とりあえず、あまり時間かけたくなかったので、一応それらしい効果音が出来たらそれを採用。
全9種類完成しました。
▲効果音データの一部
共通ロジック側の効果音は、ロジック内に組むには流石にメモリがない…。
止む無く&H9A00~&H9AFFまでを効果音データとして、メモリマップに入れました。
アドレス | データ名 | 備考 |
9A00〜9AFF | 効果音データエリア | 3種類、256バイト |
9B00〜9CB4 | アイテムデータエリア | 23種類×19バイト=437バイト |
9D00〜9D4D | 魔法データエリア | 6種類×13バイト=78バイト |
9E00〜9EAF | 敵データエリア | 8種類×22バイト=176バイト |
9F00〜9FE7 | レベルアップデータエリア | 29レベル×8バイト=232バイト |
A000〜A1B8 | 2Dマップデータ | 21マス×21マス=441バイト |
A200〜A7FF | 壁キャラクタデータ | 15パターン、1,536バイト |
A800〜ABFF | BGMデータ | 4曲(無音、ダンジョン、店屋、戦闘)1,024バイト |
AC00〜AFFF | システムメッセージデータエリア | 1,024バイト |
B000〜B7FF | フォントキャラクタデータ | 256キャラ×縦8バイト=2,048バイト |
B800〜BFFF | フォントカラーデータ | 256キャラ×縦8バイト=2,048バイト |
C000〜D9FF | マシン語エリア | 6,655バイト |
DA00〜DFFF | メッセージデータエリア | 1,536バイト |
E000〜E0FF | 変数エリア | 256バイト |
EF00〜EFFF | メニュー表示用ワークエリア | 256バイト |
再度、イヤホンを付けてのデバッグ作業です。