|
当サイトに掲載されているMiyura氏作の傑作「電子キーボード」。 ポケコンが楽器に早変わりする画期的なアプリケーションですが、 「自動演奏機能」が搭載されており、曲データを準備することで 様々な楽曲を演奏することができ、 アーカイブにサンプル曲が多数収録されています。 |
1.メニューの動作概要 |
電子キーボードプログラムで自動演奏させる場合、曲データは
ファイルシステム上で「MMC.BIN」の名前で登録しなければなりません。
曲データのコピーを「MMC.BIN」の名前で作成してから、電子キーボードプログラムを起動して対応します。
今回のジュークボックスを作成するにあたり、RAM容量とダウンロード時間の兼ね合いも考えて、
筆者好みの5曲を選曲しました。
2.メニューの自作 |
メニューに至っては単純にPRINT文で表示しても良かったのですが、 それでは芸が無いので、1枚画像を準備する事にしました。 画像はWindows付属の「ペイント」で作成します。 起動したら、キャンバスのサイズを 「横192ピクセル*縦32ピクセル」にして メニュー画面を描画します。 |
FX-870P/VX-4は一番右端(192ドット目)は表示されませんが、 データ的には192ピクセル分が必要ですので注意してください。 完成したら、「モノクロビットマップ」形式で保存します。 保存したら、 ディスアセンブラの「DA61」(あお氏)作を使用し、 右図のようにPBF形式に変換します。 変換終了後、PBFファイルを「メモ帳」で開いて、 ファイル名の部分を「MENU.D」に変更します。 うまく変換できない場合は、 「24ビットビットマップ」になってないか等を確認してください。 |
3.FBFのインストール および 必要ファイルの登録 |
FBFをインストールし、以下のファイルを「PBF2Bin.b」を使用してポケコンへダウンロードしてください。
その際、FBF上でのファイル名は「FBF登録ファイル名」に合わせてください。
名称 | パソコン側のファイル名 | FBF登録ファイル名 | 入手先 |
キーバッファ入力プログラム | KY.PBF | $KY.R | FBF Ver.4.0 に同梱 |
画面表示プログラム | DD.PBF | DD.R | FBF Ver.4.0 に同梱 |
ファイルのコピーコマンド | $CP.pbf | $CP.R | FBF特設サイトよりダウンロード |
電子キーボード | keyboard_fx_r.pbf | KEYBRD.R | ソフトウェアライブラリからダウンロード |
「トランペット吹きの休日」 | TRUMPET.pbf | TRUMPET | 「電子キーボード」に同梱 |
「禁じられた遊び | ROMANCE.pbf | ROMANCE | 「電子キーボード」に同梱 |
「トルコ行進曲」 | TURCA.pbf | TURCA | 「電子キーボード」に同梱 |
「エンターティナー」 | ENTERTNR.pbf | ENTERTNR | 「電子キーボード」に同梱 |
「イエヴァン・ポルッカ」 | IVPOLKKA.pbf | IVPOLKKA | 「電子キーボード」に同梱 |
メニュー画面 | menu.pbf | MENU.D | 手順2で作成したメニュー画像 |
4.FBFシステムのバックアップを取得する |
FBF Ver.4.0 に付属している 「FBF-BR4x.BAS」 を利用して、
FBFシステム全体のバックアップを取得します。その際、パソコン側のファイル名は「keyboard.fvl」にしてください。
(ファイル名は任意です。どのファイル名にしても動作に影響ありません)。
5.BASICプログラムを実行する |
以上で完成です。ALL RESET後(※)、サンプルに含まれるBASICプログラムを実行すると、
keyboard.fvl のダウンロードを要求します。ダウンロード後、メニュープログラムが起動し、クレジット画面が表示されます。
[EXE]キー を押すとメニュー画面が表示され、テンキーの[1]〜[5] を押すと電子キーボードが起動します。
[*]キー でメニュー画面で選曲したサンプル曲を演奏します。
(※=容量が 18KB以上あれば、ALL RESETする必要はありません)
BASICプログラムの”ポイント”については以下の通りです。
尚、1〜599行と60000行以降は FBF Ver.4.0同梱の 「SOFTINST-NOMAC.BAS」そのままです(40行〜50行を除く)。
610 MODE110(BASE)SF"CREDIT":IFPEEK(RES)=1THENMODE110(BASE)BS"CREDIT",0,1:GOSUB1000 ELSEFORI=0TO200:NEXT |
610行はクレジット表示部分です。ダミーファイル「CREDIT」が存在しない初回のみ画面が止まり、キー入力を必要とします。
ダミーファイルがある場合は、一定時間(1秒程度)表示して、メニュー画面を表示します。
620 CLS:POKE&H16C4,0:MODE110(BASE)BL"MENU.D",&H123C:IFPEEK(RES)=1THEN1010ELSEMODE110(BASE)DD |
620行はメニュー表示部分です。全画面(768バイト)の画像データをVRAMに転送し、画面表示プログラム(DD.R)を実行すると
メニュー画面が表示されます(この技術を応用すると”パラパラマンガ”が作れます)。
「POKE&H16C4」はBASIC/CALモードを切り替えるPOKE文で、「0=CALモード」「1=BASICモード」になります。
640 MODE110(BASE)$CP F$(B-1),"MMC.BIN":IFPEEK(RES)=1THEN1020 |
640行は曲データファイルのコピーを作成している部分です。
650 POKE&H16C4,1:MODE110(BASE)$KY,CHR$(12)+"RUN620"+CHR$(13):MODE110(BASE)RR"KEYBRD.R":END |
650行は電子キーボードプログラムを実行している部分です。
実行後メニュー画面に復帰したいために、
キーバッファに [CLS]キー、R、U、N、6、2、0、[EXE]キー というキーコードを代入しています。
電子キーボードプログラムはダイレクトキースキャンにて入力処理を行っているので、
BASICのキーバッファはプログラム終了後に解放され、620行が実行されてメニュー画面へ復帰します。
ただ、CALモードのままだと、RUN命令が使用できないので、直前で POKE&H16C4,1 を実行してBASICモードに切り替えています。
(それでも、[BRK]キーを押し続けると、復帰せずに中断してしまうのは限界ですので勘弁してください ^-^;)
6.アンインストール |
RUN60020 [EXE] を実行すると、電子キーボードプログラムをアンインストールする事ができます。
FBFシステム及びBASICプログラムも跡形も無く消去されて、インストール前の状態に戻ります。
7.最後に |
本記事で作成した「電子キーボード」の一括インストールファイル一式を他へ転載しないでください。
このようにFBFが必要なプログラムを作成した場合に限り、
FBFシステムおよび拡張コマンドに関しては作者に許可無く、パッケージに含めて配布およびご利用頂く事ができます。