CASIO PB-1000 FOREVER!

FX-Binary-Filer(FBF)活用編1
「電子キーボード」 Juke-Box を作成する


 当サイトに掲載されているMiyura氏作の傑作「電子キーボード」。
ポケコンが楽器に早変わりする画期的なアプリケーションですが、
「自動演奏機能」が搭載されており、曲データを準備することで
様々な楽曲を演奏することができ、
アーカイブにサンプル曲が多数収録されています。
サンプルの
ダウンロード
今回は「メニュー画面」を自作し、サンプル曲を簡単に演奏できるようにすると共に、
一括インストールパッケージ形式にする事により、
全ファイルのインストールから起動まで一括で実施できるようにします。
一括インストールパッケージを利用することにより、
ユーザーはファイルシステムの存在を意識せずにアプリケーションを利用することが出来ます。
(本記事を実行する為には、RAM容量の合計が 32KB 以上必要です)

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システムおよび拡張コマンドに関しては作者に許可無く、パッケージに含めて配布およびご利用頂く事ができます。


戻る