2012年2月25日土曜日

パソピアのROM吸出し

次はパソピアのROM吸出し
まずは、実機を用意。RAM PACがあると更に便利

前回、パソピア7のBIOS吸出しで使ったプログラムをそのまま使う
RAM PACに保存しておけば、パソピア<->パソピア7間で、プログラムの受け渡しが簡単

パソピア7のBASICと同じように2回に分けて録音
同じプログラムをRUNで実行し、以下のように入力
前半
Memory Mode
(0bit:ROM[0:OnboardROM, 1:ROM Pack], 1bit:RAM[0:ROM Mode, 1:64KRAM Mode]) &H00
Source Address: &H0000
Destination Address: &H9000
Translation Byte: &H4000
・・・
BSAVE #-1,"BASIC1",&H9000,&H4000
後半
Memory Mode
(0bit:ROM[0:OnboardROM, 1:ROM Pack], 1bit:RAM[0:ROM Mode, 1:64KRAM Mode]) &H00
Source Address: &H4000
Destination Address: &H9000
Translation Byte: &H4000
・・・
BSAVE #-1,"BASIC2",&H9000,&H4000

パソピア7と同じように、バイナリエディタでそれぞれ0x4000バイトに編集。
あわせて0x8000バイトのファイルを作成し、「TBASIC10.ROM」 or 「TBASIC11.ROM」というファイル名で保存。
T-BASICには、Ver1.0とVer1.1の2種類のROMが存在するが、どちらも同じ吸出し方

次は、OA-BASICを吸い出し

写真のようにOA-BASICがROM PACから起動されている場合、BSAVEする前に以下を実行して、ROM PACへバンク切り替えしておく
OUT #60,1

以下のコマンド打ち込んでwavファイルに録音
BSAVE "CT1","OABAS",0,32767,32768

ROM PACのOA-BASICバイナリを画面に表示させたい場合、
OA-BASICで以下を実行し、T-BASIC ROMにバンク切り替え
OUT #60,0

その後、本体背面のリセットボタンを押すと、T-BASICが起動。
先ほどのプログラムを実行して、ROMの内容をダンプ

保存したwavファイルをweb2bin.exeでbinファイルに変換。ダンプ表示と同じになるように、バイナリエディターでヘッダー部分などを削除。0x8000バイトになったら、「OABASIC.ROM」というファイル名で保存。

最後に、Mini Pascalの吸出し
これが一番大変だった。

ROM PACをパソピアにセットして起動。
Mini Pascalが立ち上がったら、以下を入力して実行。
.INSERT
1 PROGRAM ROM;
2  BEGIN
3   OUT (60,0);
4 END.
.RUN


しばらくしてT-BASICの「How many files(0-15)?」が表示されたら、背面のリセットボタンでリセット
(一度リセットしないと、文字が入力できない状態)
これでT-BASICが使える状態になるので、BASIC吸出しで使ったプログラムでROM内容をコピーする。

ここで問題。コピーサイズが大きいと、メモリーコピーしている途中でハングしてしまう。
ハングしたら、一旦電源OFFでやり直し。

そこでコピーサイズは0x0100程度にして、コピーするたびにRAM PACに逐次保存していく、の繰り返し。
ときどきハングするので、RAM PACから保存してある部分をロードしなおして、やり直し。

あとは、BASICの吸出しと同じ手順でROMファイルを作成。作成したファイルは「PASCAL.ROM」で保存しておく

0 件のコメント:

コメントを投稿