j80ならば、完全自動実行が可能になりました。
ただし、M88とX88000ではカセットからの自動実行は難しいです。もともと、両方とも、PC-8801エミュレータなので、ディスク使用がメインになります。
M88、X88000でも共通で使えるように、テープイメージからディスクイメージに変換してしまうことを考えます。ディスクから立ち上げることで、j80、M88、X88000のどれでも、自動実行が可能になります。
方法1
当時、DISKドライブユニットとDISK-BASICを持っていた人は少なかったと思いますが、エミュレータならエミュレータ作者さんのおかげで、DISKドライブユニットは無料で手に入ります。DISK-BASICを持っている人はそれをディスクイメージに変換することで、当時と同じように自動実行(オートスタート)が可能になります(Set
up info sectorプログラムを実行:RUN"setinfo")。
方法2
DISK-BASICを持ってない人は、DISK-BASIC以外のものを使うことになります。ディスクイメージを作成するツールとして、p80makeというものがあります。このツールは、BASICのファイルをとマシン語のファイルを入力すると、自動的に、オートスタート対応のディスクイメージを作成してくれます。本当に便利です。
「かじゃぽんのお部屋」さんから、「自作ツールのお部屋」→「p80make...98/06/02版」と進んでください。
方法3
もう1つ、DISK-BASICの代わりになるものに、Dash-80というものがあります。機能はファイルのロードなどに限定されていますが、起動後はフリーエリアを全く使わないというすごいものです。DISK-BASICを使った場合には、DISK-BASIC自体がメモリを消費してしまうので、フリーエリア不足でプログラムが動かなくなってしまったり、マシン語のロード場所の変更が必要だったりと、いろいろ面倒なのですが、Dash-80だと、N-BASIC(ROM-BASIC)で動いたプログラムをそのまま実行することが可能です。
「Retro Computer People」さんから入り、「展示場:レトロプログラムのフロア」→「ツール:Dash-80
Version 1.0b1」から入手することが可能です。
ちなみに、M88とX88000は、ランチャからプログラム名(ディスクイメージ)を与えられると、自動的にそのディスクから起動します。
j80は例によって、起動用バッチを修正して対応します。
(-fdd → フロッピーディスクからの起動を指定)
[auto.bat(最終版:ダウンロードはこちら)] (2016/2/20追記、j80_r6_91に合わせて変更しました)]
----------------------------------------------------
type j80.cfg > auto.cfg
if /i %~x1 == .CMT (
echo(tab)-CMT:1(tab)%~d1%~p1%~n1%~x1>>
auto.cfg
echo(tab)-INP(tab)%~d1%~p1%~n1.inp>>
auto.cfg
)
if /i %~x1 == .T88 (
echo(tab)-CMT:1(tab)%~d1%~p1%~n1%~x1>>
auto.cfg
echo(tab)-INP(tab)%~d1%~p1%~n1.inp>>
auto.cfg
)
if /i %~x1 == .CAS (
echo(tab)-CMT:1(tab)%~d1%~p1%~n1%~x1>> auto.cfg
)
if /i %~x1 == .D88 (
echo(tab)-FDD:1(tab)%~d1%~p1%~n1%~x1>>
auto.cfg
echo(tab)OPTION(tab)-power(tab)-smooth=1(tab)-fdd>>
auto.cfg
)
java -jar j80.jar auto.cfg
pause
----------------------------------------------------
|