ひまじん |
日時: 2014/01/05 (Sun) 12:11 記事の件名: 自己レスです |
|
Shinraさんがアップされていた40MB SASIイメージに対し、
実機のデータをセクタ単位で上書きする方法でなんとかエミュレータ上に吸い上げができました。
エミュレータ上のV3 BASICで「HDDのデータを読み込み、XMODEMでシリンダ・ヘッド単位で送信する」プログラムと、「XMODEMでデータを受信し、HDDに書き込む」プログラムを作成し、クロスケーブルでデータを転送しました。
CRCエラーが9セクタほどありましたが、今のところとりあえず起動出来ているようです。
今回ほど、V3 BASICにINT命令が実装されていること、VAのBIOSにXMODEM送受信機能があること、PCエディタでBASICソースの編集ができることがありがたいと思ったことはありません。
プログラムを添付しますが、自分が使うために作ったプログラムですので汚いですし、エラー処理もいい加減ですし、動作保証はできません。使用方法は…
1.予め、実機とWindowsPCをシリアルケーブル(クロス)でつないでおく
2.VAEG上で、空のHDDイメージをマウントし、Serialの設定を19200bps,Data8Bit, Stop1bitに設定しておく
3.実機、VAEGのセットアップモードで、RS-232C設定を19200bpsに合わせておく
4.実機のV3 BASICを起動し、 load"COM:N91XN" と入力し、プログラムの受信待機。
5.VAEGでこの添付ファイルのディスクをマウント後、V3 BASICを起動し、 load"HDDREAD.bas" 後、 SAVE"COM:N91XN",A と入力。
6.VAEG上に「Ok」が表示されたら、実機でSTOPキーを押し、loadを中断。
7.実機のプログラムをRUNする。
8.VAEG上で、load"HDDWRITE.BAS" とし、runする。
9.VAEG上で処理が終了すれば、実機のSTOPキーを押してプログラムを終了する。
HDDWRITE.BAS側から、読み込むシリンダ、ヘッドをHDDREAD.BASへ送り、
HDDREAD.BASがそれに従いセクタ単位で読み込み、XMODEMでHDDWRITE.BASへ送信します。
HDDWRITEで受信したデータは、HDDへ書き込まれます。
40MB HDD用のプログラムですので、実際に使用される場合は実機のHDD容量に合わせ、
HDDWRITE.BASのCYL, HEDの判定部分を変更してください。 |
|