ポケコン(VX-4)のアプリをエミュレータで動かす
最近ちまちまとポケコンのアプリを書いているyasuhoです。
VX-4のプログラミングはわりと快適なのですが、やはりPCの広い画面とキーボードの使いやすさとは比べるまでもなく。また、ポケコン実機を持っている人の方が少ないといった理由から、PCのクロス開発環境を模索していました。
すると世の中広いものでして、同じCASIOのポケコンであるPB-1000用のエミュレータを作っている方がいらっしゃいました。PB-1000とVX-4はBASICアプリを動かす分にはほぼ同等ということなので、この記事ではエミュレータを使ってVX-4アプリを動かす方法を紹介したいと思います。
PB-1000エミュレータの使い方
ダウンロードとセットアップ
PB-1000用エミュレータは以下のサイトからダウンロードします。
ダウンロードしてアーカイブを展開すればPC上でエミュレータが実行可能になります。
これだけでもエミュレータは使えるのですが、BASICプログラムの転送や取り出しを行うには以下のユーティリティも必要になります。
これはPB-1000のRAMディスクを操作することで、PCとのファイル転送を可能にするユーティリティです。
BASICプログラムをエミュレータに転送する
PC上のBASICプログラムをエミュレータに転送するには、上記ユーティリティのアーカイブにあるramtrans.exeを使います。これはエミュレータのRAMディスクイメージファイルであるram0.bin及びram1.binを直接操作するものなので、エミュレータと同一ディレクトリで実行します。なお、ramtransはコマンドプロンプトで実行するコンソールアプリケーションです。
例えばPC上のBASICプログラム"test.bas"をエミュレータに転送するには以下のコマンドを実行します。
ramtrans put -tS -u test.bas
(テキストで転送するところがポイント。BASIC形式で転送しても実行できそうな気がするのですが、うまく行かなかった・・・)
なお、ramtransをパラメータなしで実行すると、簡単な使い方が出てきます。
VX-4とPB-1000の違い
BASICレベルでは両者はほとんど同じですが、一部違いがあります。逆に言うと、そこさえ気をつければ、どちらでも大体動きます。
RAN# -> RND(1)
乱数を得る関数RAN#はPB-1000ではRND(1)等に変更します。
キャラクタコード
&H80以降のキャラクタコードはVX-4と違う部分がありますので、変更する必要があります。