2017/11/28

SC-3000のBASIC環境に関するメモ

SC-3000のBASIC LEVELⅢB(Ver.1.1)と、HOME BASICのカートリッジを入手したので、エミュレータ上で楽して雑誌の投稿プログラムを入力しようとしたが、難儀したことのメモ書き。

ところで、HOME BASIC LEVELⅡって本当にリリースされたんですかね?

(以下メモ)

カートリッジのダンプについて

m5の時のようにBASIC上からテープ経由でダンプしようとしたが、wavファイルからバイナリデータを取り出せるようなツールは見付からず。
と言うか、SC-3000のBASICではMSXやm5のようにメモリ内容を保存することができない様子。(DISK BASICにはメモリセーブの命令があるらしい。)

カートリッジコネクタから信号線を引っ張り出せば、ROMライターで吸い出すことは可能だと思うが、面倒なので某レトロゲーム互換機をゴニョゴニョして吸い出した。

作成されたイメージデータは、HOME BASICはMAMEのハッシュ値と一致したが、BASIC LEVELⅢはバージョンが違うのか不一致。
(MAMEのデータベースでは日本版と海外版の2種類しかない。)
とりあえずはエミュレータ上で使用できたので問題無しとした。

エミュレータについて

SC-3000を扱えるエミュレータは沢山あるが、CMT機能があるものをいくつか試してみた。
  • Bule MSX
    デフォルトの設定では両方のカートリッジとも動作せず。
    8000h~FFFFhをRAMに設定することで起動することは可能になったが、SC-3000のCMTは未対応だった様子。

  • eSC-3000
    BASIC LEVELⅢでは特に不具合ないが、HOME BASICではどうもCMT機能が使えないようだ。
    また、テキストのペースト機能があるが、大量のテキストをペーストすると時々行番号の先頭1文字を見失ってしまう様子。
  • MAME
    とりあえずMAMEUIを使用したが、\rom\sc3000_cart\フォルダ内に指定されたファイル名で置いたイメージからでないと正常に起動しないようだ。
    (ファイル名を合わせていても他の場所に置いたものではRAMが拡張されていない?)
    どうもここらへんの仕様がとっつきにくくてMAMEは好きじゃない…。

    BASIC LEVELⅢ、HOME BASICともCMT機能は問題なく使えるが、テキストのペーストが今のところ100%失敗する。
    状況はどちらのBASICでも同じで、行番号を取りこぼす(恐らく改行も取りこぼしている)様子。

テープイメージについて

eSC-3000専用だが、テキストファイルをBASIC LEVELⅢのテープイメージに変換するtxt2casというツールがあり非常に便利。

また、eSC-3000はfmsx形式(と言うべき?)のバイナリにヘッダーの付いたテープイメージを読み込むことは可能のようだ。
MSXのCas toolにeSC-3000やMAMEで作成したwavファイルを読み込ませることでイメージデータを作ることはできるが、MSXのエミュレータとデータのやりとりが出来る訳ではないしメリットは無いか…。

データ互換性について

試しにeSC-3000上のBASIC LEVELⅢで作成したプログラムを、wavファイルでMAME上のHOME BASICへ受け渡してみたが、ファイル名の認識及びロード自体は正常に行え、リストも表示された。
しかし、 行番号と命令文の間に不要なスペースが大量に入り、また変数名や命令の消失も見られた。
全くのデタラメという程でもないので、例えば書き込むメモリのアドレスがズレている、行間の識別コードが異なるなどの些細なものなのか?
熱心に調査するつもりもないが…。

暫くはBASIC LEVELⅢ用のプログラムに専念かな?
どうやらベーマガにもHOME BASICの投稿プログラム無いらしいし…。
(買ってから知った)

おわり

0 件のコメント:

コメントを投稿