PC-6001 を起動してみる #
エミュレータの選定 #
PC6001VWは使いやすいんですがCatShanty2からのキー送信を認識しないので自動起動の処理が難しいです。
PC6001Vが一番CatShanty2との相性が良い感じがします。
PC6001Vのiniを書き換えてイメージファイルを指定する #
基本的にテープのイメージファイルをiniファイルに設定すればカセットテープは認識されますね。
自分の場合は[エミュレーター設定]の[補助設定]タブの下段部分へ
ini-OpenFile = $emu_pathPC6001V.ini
ini-SetSection = PATH
ini-SetKey = TapePath
ini-ReWrite = $path
ini-SetSection = FILES
ini-SetKey = tape
ini-ReWrite = $image
上のようにしてカセットイメージを認識させています。
ただ、PC6001の実機にカセットを繋いでも自動でゲームが起動しないのと同じように
エミュレーターにカセットを認識させてもゲームは自動に立ち上がったりしません。
まずはゲームの説明書に書かれている内容にあわせて、起動メニューからベーシックモードを
番号で選択して、ゲームに必要なページ数を入力した後に、テープからプログラムを読み込み(CLOAD
)、
その後に実行(RUN
)する必要があります。(中にはモニタに入って起動するものもあるようです)
この処理をCatShanty2から自動で行うには、先程と同じタブの上側でキー入力エミュレーションの
指定を行って自動起動の処理を行います。
ゲームを自動でRUNする #
例えば、BASIC MODEが5
番で、ページ数(How Many Pages?)で2
を指定するゲームの場合は
WAIT8000
5
wait2000
2;Enter
wait1000
C;L;O;A;D;Enter
wait3000
R;U;N;Enter
上のような形でコマンドを指定すると自動で入力して起動することが出来ました。
一番最初のWAIT
はエミュレーターが起動してコマンドを受け付けるまでの時間を指定しています。
またCLOAD
からRUN
までの待ち時間もテープが読み込まれる時間を計測して調整する必要があります。
ゲームによって起動方法がバラバラのようなので、上の方法で動かないケースも多々あると思います。
PC6001Vのエミュレーター内には、カセットイメージ内に起動コマンドを埋め込んで自動起動をさせる
特殊フォーマット「p6tイメージ
」を作成するプログラム「p6top6t2w.exe
」も入っているようなので、
これを使って個別に起動方法を指定したカセットイメージを作ってやれば、PC6001Vエミュレーターに
カセットを認識させるだけで、ゲームが自動起動できるみたいですから、それが一番確実だと思います。
P6tイメージ
ならPC6001VWでも自動起動できるのかと思い試しましたが、うちの環境ではダメでした。
マニュアルを良く読み直したら、起動後に一度リセットすることで自動起動のモードに切り替わるそうで、
試してみたらちゃんと自動起動しました!でも、PC6001VWはCatShanty2からのキー送信やマウス操作に一切反応しないので、手動でF11押して
リセットする必要があるようです。う~ん残念・・・
ゲーム毎に詳細なコマンドを定義する #
P6tフォーマット
を使わずに、ゲーム個別ごとにカセット読込みコマンドを細かく指定する方法も試しました。
CatShanty2のINILOAD
コマンドを使う方法です。これを行うとゲームごとに、きめ細く起動指示が出来ます。
自分の場合は[エミュレーター設定]の[補助設定]タブの上段部分に
<:LOOP>
<IF_APP:PC6001V>;<GOTO:JUMP>;</IF_APP>
<GOTO:LOOP>
<:JUMP>;WAIT8000
<SET_FORGROUND:PC6001V>
<INILOAD:"$path$body_noext.ini","Command","TypeKey">
以上のように指定しました。
(Tipsなどで作者さまが使われていたスクリプトを流用したものです)
その後、ゲームのテープイメージがある場所に同じ名前のiniファイルを作ります。
例えば「GameImage.cas」だったら「GameImage.ini」というテキストファイルを
ゲームイメージと同じフォルダ内に作ります。
中身を以下のようにすることで、ゲームごとに起動コマンドを細かく指定出来ます。
ただし1行に収めないといけないので、セミコロンを多用することになります。
[Command]
TypeKey=5;wait2000;2;Enter;wait1000;C;L;O;A;D;Enter;wait3000;R;U;N;Enter
TypeKey=
以降の文字がキーエミュレーションの<INILOAD:>
コマンド部分に展開されるので
一つのエミュレーター定義で、ゲームごとのiniファイルを使って、細かくタイミングを
調整することが出来ます。