読者です 読者をやめる 読者になる 読者になる

プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

ポケコン(VX-4)のアプリをエミュレータで動かす

ポケコン


最近ちまちまとポケコンのアプリを書いているyasuhoです。


VX-4のプログラミングはわりと快適なのですが、やはりPCの広い画面とキーボードの使いやすさとは比べるまでもなく。また、ポケコン実機を持っている人の方が少ないといった理由から、PCのクロス開発環境を模索していました。


すると世の中広いものでして、同じCASIOのポケコンであるPB-1000用のエミュレータを作っている方がいらっしゃいました。PB-1000とVX-4はBASICアプリを動かす分にはほぼ同等ということなので、この記事ではエミュレータを使ってVX-4アプリを動かす方法を紹介したいと思います。

PB-1000エミュレータの使い方

ダウンロードとセットアップ


PB-1000用エミュレータは以下のサイトからダウンロードします。


Casio PB-1000 emulator


ダウンロードしてアーカイブを展開すればPC上でエミュレータが実行可能になります。


これだけでもエミュレータは使えるのですが、BASICプログラムの転送や取り出しを行うには以下のユーティリティも必要になります。


Conversion utilities


これは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をパラメータなしで実行すると、簡単な使い方が出てきます。

BASICプログラムをエミュレータ上で実行する


まずはエミュレータ(PB1000.EXE)を起動します。さきほど転送した"test.bas"を実行する

  • MENUを押し、[basic]をクリックしてBASICモードに
  • LOAD"TEST.BAS"を実行
  • RUN



なんかもう少しスマートな実行方法がありそうなんだけど、よく分かりませんでした。ご存じの方がいましたら、教えていただけると嬉しいです。


PCによっては動作が緩慢な場合があるかもしれません。その場合はPB1000.iniの設定を変更するといいでしょう。

VX-4とPB-1000の違い


BASICレベルでは両者はほとんど同じですが、一部違いがあります。逆に言うと、そこさえ気をつければ、どちらでも大体動きます。

RAN# -> RND(1)


乱数を得る関数RAN#はPB-1000ではRND(1)等に変更します。

キャラクタコード


&H80以降のキャラクタコードはVX-4と違う部分がありますので、変更する必要があります。

ちなみに拙作アプリは


RAN#の変更だけで、とりあえず動きました。キャラクタはちょっと化けてますが・・・


エミュレータの出来がいいので、これからはPB-1000用のアプリも考えてみようかな。