PasocomMiniに関するメモ

HAL研究所のPasocomMiniに関する自作ツールや覚え書きなど。


目次


テープのロード・セーブについて

モニタルーチンによるロード・セーブ

PasocomMiniでのテープへのアクセスは、基本的にHAL-MONITORのコマンドとSP-5030初期バージョン (ファイル名が「BASIC SP-5030」のもの) にしか対応していないようです。KM-BASICや多段ロードなど、独自にモニタルーチンを呼ぶプログラムではうまく動きません。

そこで、モニタルーチンを使ってテープアクセスするプログラム全般に対して、SmileBASIC側でテープアクセスを肩代わりするプログラムを書いてみました。ロード・セーブを行うモニタルーチンである$0021〜$002Aにブレイクポイントを仕掛け、呼ばれたらMZエミュレータのメモリに対して読み書きを行ってリターンする、というものです。KM-BASIC、S-OS SWORD、HAL-MONITORでの「ネ木1 ネ木4 →  」などで動作確認を行いました。モニタルーチン$002D (VERIFY) には未対応です。

残念ながら、SP-5030後期バージョン (ファイル名が「SP-5030」のもの) では動かないと思われます。I/O1982年4月号「カンフルZP-5039B」記事によると、後期バージョンではモニタルーチンを呼ばずに独自プログラムでロードを行っているそうです。

使い方

  1. MZ上でロードしたい.mztファイルを、SDカードの/PCM/SB/以下に保存します。
  2. 多段ロードなど複数のインフォメーションブロックを持つファイルの場合は、インフォメーションブロックごとにファイルを分割してください。
  3. SmileBASIC上でテープアクセスプログラムをload,runしておきます。
  4. F12キーで制御をMZエミュレータ側に移し、ロードやセーブを行います。
  5. F12キーで制御をSmileBASIC側に移し、「load file name?」や「save file name?」に対しファイル名を入力します。

オートスタート

PasocomMini付属のHAL-MONITORでは、MZT形式のファイルをロードした後、Gコマンドで実行を指示する必要があります。これをオートスタート動作に変更するパッチを書きました。リセットするごとにパッチを当てないといけないので、実用性はあまりなさそうですが。

  1. SmileBASIC上でパッチをload,runします。
  2. MZエミュレータ上でLDコマンドを使い、MZTファイルをロードします。

テープダイアログについてのメモ

LOADやSAVE用のダイアログが表示される条件を調べてみました。


デバッガ

MZエミュレータ用の簡単なデバッガです。

デバッガのコマンド

help, ? コマンド一覧
quit デバッガ終了
reset エミュレータのリセット
d[ump] メモリダンプ
write メモリへの書き込み
dis[asm] 逆アセンブル
load ファイルからメモリにロード
save メモリをファイルにセーブ
reg[ister] Z80レジスタのセット
stack スタック表示
b[reak] ブレイクポイント設定/解除
s[tep] 1命令実行
t[race] 1命令実行 (CALLも1命令として扱う)
g[o] ブレイクがかかるのを待つ
run エミュレータ実行開始
stop エミュレータ一時停止
files SBファイル表示
win[dow] エミュレータ表示位置を簡易指定

BASICインタプリタ

SmileBASIC上で動くBASICインタプリタです。テキストファイルを読み込んで、MZエミュレータ上で動作しているかのように入出力を行います。SP-5030互換を目指したのですが、実物を持っていないので互換性の度合いについては不明です。マイコンBASICマガジンなどに掲載されたプログラムがいくつか動くのを確認しました。

(※2017.12.20追記:INPUTとPEEKに不具合があったので修正しました)

使い方

  1. 実行したいBASICプログラムを入力します。文法はSP-5030準拠です。
  2. SmileBASIC上でBASICインタプリタをload、runします。
  3. 実行速度を聞かれるので答えます。Enterのみだとデフォルト速度になります。
  4. 1で保存したプログラムのファイル名を入力します。(長いプログラムは読み込みに少々時間がかかります)
  5. F12キーを押してMZ側に制御を移します。

BASICプログラムの入力方法

  1. 共通
  2. SmileBASICエディタで入力する場合
  3. 他のパソコンなどで入力する場合

その他注意事項


その他メモ


参考文献


トップ > 雑多なもの > PasocomMiniに関するメモ