jr7cwk;lavo
▼CPU>過去の資産を生かす?
名前
件名
本文
ハードは置いといて、 解析(逆アセンブル!)の為に、手元のPC-8001mkIIより、システムを吸い上げた。 一応、ROM(N及びN88)と、DISKBASIC(N及びN88)、DISKユーティリティを WINDOWS環境で読めるよう、読み出し、ファイル化、フォーマット変換等を行う。 ROMはPEEK関数、DISKBASICのコードはDSKI$関数により、DISKBASIC上で バイナリイメージのファイル化し、出来たファイルを PC9801のMS-DOSの"FILECONV"ツールにてDISKBASICフォーマットから MS-DOSフォーマットに変換。 今になってわかりましたが、このツール、2DDが読めるドライブなら、 2Dのディスクも読んでくれるんですね。 ところが、落とし穴。 バイナリ形式でセーブされたN-BASICやN88-BASICのファイルを変換すると、 ファイルサイズが馬鹿みたいに大きくなるんです。 2HDのディスク1枚に2Dのディスク3枚分は入るだろうと、変換かけると、 容量不足になり途中で変換が終了してしまいます。 2Dディスクの容量計算(クラスタサイズ)間違えているのかと思い、 DISKBASIC上で2HD化してから変換かけても結果は同じでした。 変換後のファイルを覗いて見ると、変換ツール自身の一部が一緒に落ちているみたい。 確かバイナリセーブされたBASICプログラムのファイルの先頭には ファイルサイズを示すデータが入っていたような気がするのですが、 PC80/88系とPC98系では表現方法が違ったような気がするのですが、 変換ツール、この値を参照しついるのかも。 なお、バイナリのBASICのファイルは、自作のリスト化プログラムで テキストに戻しています。 (実はそのプログラムってN88-BASICで記述してあって・・・ PC互換機上でPC9801エミュレータ起動して動くかしているという。 N88(86)のDOS版専用の変換ツールはCに焼き直したのもあるのですが、 他の形式までサポートするように出来なかったんです。)
管理者パスワード
コメント削除
削除する場合はチェックして下さい
→
記事ページへ
⇒
HOME
copyright/jr7cwk
powered by
samidare