ドラゴンクエストII 版をもとに変更したプログラム

ドラゴンクエストI 復活の呪文生成プログラムVer.2

2000年12月25日 作成


内容


このプログラムは1991年に作った「ドラゴンクエストI 復活の呪文自動生成プログラム」をベースにし,操作性を向上させた改良プログラムです。説明上,旧プログラムをVer.1,今回の改良プログラムをVer.2と表記することにします。

本プログラムの操作は全体的にファイナルファンタジーVのメニュー画面の操作を参考にしています。カーソルキーまたはジョイスティック(以下方向キーと表記)でカーソルの移動,スペースキーまたはジョイスティックのトリガA(以下Aボタンと表記)で入力の決定や数値のカウントアップ,シフトキーまたはジョイスティックのトリガB(以下Bボタンと表記)で入力のキャンセルや数値のカウントダウンを行います。

操作方法は「ドラゴンクエストII 復活の呪文生成プログラムVer.2」とほぼ同様です。

Ver.1からの主な改良点

項目 Ver.1 Ver.2
プログラム BASICが中心 マシン語が中心
操作 ジョイスティックのみ対応 キーボード・ジョイスティック両対応
入力項目の修正機能 なし あり
追加項目 「しのくびかざり」入手フラグ追加




画面の説明


このプログラムの画面は2画面で構成されています。それぞれの画面間は方向
キーの上下で移動することができます。(ただし画面1-1,画面2-2の状態を除く)



なお,このプログラムは各項目を入力・変更するごとに画面下の復活の
呪文が自動的に更新されます。復活の呪文・パターンは0〜7の値をAボ
タンとBボタンで設定でき,同じ状態で8種類の復活の呪文を表示します。


画面1-1(プレイヤーの名前入力画面)
プログラムをRUNした直後に現れる画面です。方向キーでカーソルを動かし,Aボタンで1文字入力します。4文字まで入力できますが,3文字以下の場合はBボタンで名前入力状態を抜けることができます。入力文字数を0にすることや文字間にスペースを入れることも可能です。

名前入力状態を抜けた後も名前にカーソルを合わせ,Aボタンで文字の追加,Bボタンで文字の削除ができます。

画面1-2(プレイヤーのレベル,ゴールドなどの入力画面,プリンタ出力など)
(画面1-1)の名前入力状態を抜けるとプレイヤーのレベルや経験値,ゴールドを入力する状態になります。Aボタンで数値のカウントアップ,Bボタンで数値のカウントダウンができます。レベルと経験値は連動しているので,レベルを変更すると経験値が,経験値を変更するとレベルが自動的に設定されます。

項目の詳細についてはVer.1のページを参照。

「プリントする」でAボタンを2秒間押し続けると表示されている復活の呪文をプリンタ出力することができます(「プリンタ出力について」を参照)。
「データクリア」でAボタンを2秒間押し続けるとデータを初期化することができます。初期化後は(画面1-1)に戻ります。

画面2-1(プレイヤーの装備品,アイテム,イベントフラグ入力画面)
プレイヤーの装備,薬草の持ち数,カギの持ち数,所持アイテム及び各種イベントフラグを入力する画面です。Aボタンで数値のカウントアップやフラグON,Bボタンで数値のカウントダウンやフラグOFFなどができます。

項目の詳細についてはVer.1のページを参照。

画面2-2(プレイヤーのアイテム選択画面)
アイテム表示画面(画面2-1)の右側のアイテム表示部分でAボタンを押すとこの画面になります。方向キーで必要なアイテムを選び,Aボタンで決定します。入力中の所持アイテムが満杯(8個)にならない限り,続けて入力することができます。

Bボタンを押すとアイテム入力画面を抜けることができます。

プリンタ出力について
(画面1-2)で「プリントする」でAボタンを2秒間押した後,使用するプリンタが使用可能な状態ならば,プリンタ出力ができます。出力形式は以下の2通りを用意しています。
  • MSX実機用のプリンタに印刷する
  • MSXエミュレータにてテキストファイルに出力する
出力形式の設定はBASICプログラムの90行の最後にある数字で行います(左画面を参照)。実機用のプリンタを使用する場合は「8」,エミュレータの場合は「9」に設定する必要があります。誤った設定にすると「文字化け」が発生するので注意してください。
なお,ダウンロード時のプログラムの設定は「ディスクイメージ」のみ「9」,FDデータ,WAVEデータは「8」に設定されています。



プログラムについて

画面は原作(Ver.1)と同じくSCREEN 1を使用しています。BASIC部分はSCREEN文やマシン語を実行するためのUSR関数があるのみでそれ以外はすべてマシン語で処理しています。「ドラゴンクエストII Ver.2」のマシン語データをもとに変更を加えていき,復活の呪文表示ルーチンのみVer.1のものを流用しています。



プログラム作成から完成までの流れ

2000年12月17日 プログラム作成開始。ゲームの調査。
2000年12月18日 CGパターンの作成。
2000年12月19日 入力画面のレイアウトの作成。
2000年12月20〜21日 入力画面表示ルーチンの作成。
2000年12月22日 カーソル表示ルーチンの作成。
2000年12月23日 レベル,経験値,イベントフラグ等の入力ルーチンの作成。
2000年12月24日 名前とアイテムの入力ルーチン及び,復活の呪文表示ルーチンの作成。
2000年12月25日 ホームページを更新。



苦労した点

ドラゴンクエストII 版をもとにして作ったので同じルーチンを流用できる点では楽だったのですが,意外な落とし穴に悩まされました。たとえば,不要だと思うルーチンを削除する際に必要なルーチン(B938h番地からのサウンド処理スタートルーチンなど)が混ざっていたりして,単純ながらもBUGの発見に4時間近くかかってしまいました。それとドラゴンクエストII 版からカーソル表示ルーチンを全面的に変更しています。これも前回と同様にけっこう苦労しました。

プログラム作成期間は12月23日と24日に集中しました。後半のテストプレイでいくつか細かいBUGがあり修正するのに苦労しました。



最後に

今回のマシン語は主にWindows版「WZ Editor 3.0」のバイナリモードで編集を行いました。「WZ Editor」はデータのコピーやセーブが楽に行えるでかなり便利だと思います。ただし,MSXのセーブ形式で7バイトのヘッダーがあることなどから,「WZ Editor」で番地の割り出しをするのが結構面倒でした。

ふと思ったのですが,MSXのマシン語(バイナリ)の編集に特化したようなWindowsのプログラムはないのでしょうか?「Vector」のサイトなどをみてみたのですが,今のところないみたいです。もしあるようでしたら,教えてください。

ようやく更新完了。今回もAM 3:00をまわってしまいました(苦笑)



概要その3へ
概要その3へ戻る
シルゴンハーゲンのホームページ・MSX編へ
MSX編 トップへ戻る
シルゴンハーゲンのホームページ・メインへ
ホームページ トップへ戻る