Nの世界

【 IDセクタ書換えでオートランディスクを作成 】

●はじめに

p88makeでオートランディスクを作成していたある日、NEW CMD命令を
含むプログラムを変換すると動作しないことが判明しました。(汗)
このままでは、V2モードでPLAY文を含むプログラムが全滅するので、
救済策として以下の方法を紹介します。
※DISKBASICがないと実現出来ないので、注意して下さい。
※NBASICに関しては、p80makeで今の所全て上手くいっているので、
 ここの情報は参考程度に考えて下さい。
尚、この文章を書く上で、提示板上で頂いたやーくんさんの情報を活用させて
頂いています。有難う御座いました。

●IDセクタの位置

バイナリエディタで直接書換える場合のIDセクタ位置についてです。
(1)N88BASICの場合
サーフェス1、トラック18、セクタ13(5インチ両面FD)
(2)NBASICの場合
トラック18、セクタ13(5インチ片面FD)
検索で、「12 01 0D」(トラック18、サーフェス1(NBASICも同様)、セクタ13 いずれも16進数)で、
IDセクタを検索すれば良いのですが、Stirlingのアドレスで見た場合、常に00028480
なので、同ツールを使用して検索した方が早いと思います。

●IDセクタ書換え方法

(1)N88BASICの場合
○属性(1Byte目)
00h:読み書き可 10h:書き込み禁止 40h:リードアフターライト
属性の詳細は、下記画像を参照して下さい。
属性

○オープンファイル数(2Byte目)
How many files(0-15)?の値を自動で設定します。但し、255(FFh)は手動です。

○Basicテキスト(3Byte目〜256Byte)
DiskBasic起動時に実行するBasicコマンドを指定します。
<例>
run "tiny"
bload "tiny",&hc000,r

実際の書換え例は、下記画像を参照して下さい。
N88BASICIDセクタ書換え例

(2)NBASICの場合
先頭3Byteを「00 FF 00に書き換える事で実行可能です。
※各Byteの意味は、詳細な資料が無いため不明です。(爆)
 多分、先頭2ByteはN88BASICと同じだと思うのですが、3Byte目が・・・。
○Basicテキスト(4Byte目〜256Byte)
DiskBasic起動時に実行するBasicコマンドを指定します。
<例>
MOUNT 1:RUN "1:ACRMST"
※マシン語に関しては、bload命令が使えない?ため、方法は不明・・・。

実際の書換え例は、下記画像を参照して下さい。
NBASICIDセクタ書換え例

【 dskut2.j88でオートランディスクを作成 】へ続く



[戻る]