ベーマガの投稿プログラム作品をWindows上のエミュレータで動かそうという試みです。
今回はX1/X1 turboです。
まず、ベーマガのプログラムリストをスキャナでスキャンします。
そして、フリーソフトの「Softi FreeOCR.net」でテキストファイルに変換します
、、、例によって豪快にミスるので、手作業で小まめに修正します。
問題となるのが、機種依存の文字です。写真はX1のキャラクタコードです。
四角形は「#」とかに変えてしまえば、なんとかなりますが、変えたくないひとは「chr$(コード番号)」に書き換えるといいでしょう。
他にカーソルを動かすための矢印型キャラクタもあります。
カーソル右 : CHR$(&H1C)
カーソル左 : CHR$(&H1D)
カーソル上 : CHR$(&H1E)
カーソル下 : CHR$(&H1F)
できあがったら、TXT_UTL.EXEを使って、テキストの改行コードを書き換えます(最後にEOFも追加してくれます)。
以下は「niru.txt」→「niru.bas」に変換するDOS上のコマンドの例です。
「******.txt」「******.bas」の***の部分は任意で変えてください。
TXT_UTL.EXE /R2 niru.txt niru.bas
それから、TAPSAVE.EXEを使って、テープのイメージ(tap)ファイルにします。
TAPSAVE.EXE niruna.tap niru.bas /A
「niru.bas」→「niruna.tap」に変換するDOSのコマンドです。
「******.tap」の***の部分は任意で名前を変えてください。
ファイルの文字コードはアスキーなので、「/A」スイッチを付けておきます(「/B」スイッチではありません)。
イメージ(tap)ファイルは新規に作成しますので、ファイルの存在しない状態で実行させます。
X1エミュレータを実行させます。
エミュレータは「X millennium T-tune + ikaTune」というのを使わせて頂きました。
フリー化されたX68000と違って、X1関連のROMとシステムファイルはシャープの売り物なので、実物を所有しておいてください。
でないと非合法になってしまいます。
HuBASICを起動させた様子です。これはX1用&テープ用のHuBASIC(CZ-8CB01)です。
「CMT - OPEN」をメニュー選択して、テープのイメージを選択します。
最後に
load run
もしくは
run ""
と入力すると、テープのイメージを読み込んで実行できます。
なお、テープ用のHuBASIC(CZ-8CB01)ではフロッピーディスクの読み書きが「できません」。
フロッピーディスクを読み書きするためにはCZ-8FB01(turboじゃないX1)やCZ-8FB02(X1 turbo)が必要です。これらは「DISK BASIC」と呼びます。
(フロッピーディスクの場合)
x1format.exe disk.2d
↑これでディスクのイメージを作ります。2Dだとサイズが320KBytesくらいあります。
x1save.exe disk.2d niru.bas /A
niru.basというファイルをディスクイメージに書き込む場合のDOSコマンドです。
「******.2d」「******.bas」の***の部分は任意で名前を変えてください。
エミュレータ上では、たとえばドライブ1にディスクを入れた場合、
files "1:"
で内容を確認できます。
load "1:niru.bas" run
↑たとえば、「niru.bas」というファイルを読み込んで実行する場合のBASICのコマンドです。
load "CAS:" run
↑DISK BASICでカセットテープを読み込む場合のBASICコマンドです。
「CAS」は小文字だとエラーが出てしまうので大文字で入力します。
(2021/01/13追記)
X1のHuBASIC関連ツールを自作してみました。
nicotakuya.hatenablog.com