Nの世界

【 pxxmakeでオートランディスクを作成(マシン語編) 】

●はじめに

「pxxmakeでオートランディスクを作成(BASIC編)」の続きです。

●オートランディスクの作成

以下の手順でオートランディスク作成します。
(要diskdrv 詳細は、「diskdrv」の項参照。)
1.エミュレータ(M88)からWINDOWSにマシン語ファイルを保存します。
(1)N88BASICの場合の例
cmd bsave ”保存ファイル名”,保存開始アドレス,保存長
(2)NBASICの場合
poll bsave ”保存ファイル名”,保存開始アドレス,保存長

<例> poll bsave "vtml",&hc100,368
・保存ファイル名・・・Win機上に保存するファイル名(英数字6文字以内が無難)(例.vtml)
・保存開始アドレス・・保存するプログラムの先頭アドレス(16進数)(例.&hc100)
・保存長・・・保存するプログラム長(10進数)
 計算式)終了アドレス(16進数)−先頭アドレス(16進数)+1
 <例> 先頭アドレスが&hc100、終了アドレスが&hc26fの場合
 &hc26f-&hc100+1=&h0170 => 10進数に変換すると368
 ※Windowsに添付している電卓で簡単に計算出来るので、関数電卓は不要です。

2.バイナリエディタ(Foxbin,Stirling等)を使用し、先頭から4Byteを削除する。
元プログラムリストを紹介していないため、判り難いと思うのですが、このプログラムの
開始アドレスと終了アドレスが入っています。
実際の例は、下の画像を参照して下さい。
エデット例

3.編集したファイル名に、拡張子.binを付ける。
(例:vtml->vtml.binにリネーム)

4.3で編集したファイルをp80makeもしくはp88makeのあるフォルダに移動する。

5.以下の形式のコマンドを入力し、実際に変換する。
(1)N88BASICの場合
p88make "変換先ファイル名" -m "変換元ファイル名" ロード先頭アドレス [実行アドレス]
(2)NBASICの場合の例
p80make "変換先ファイル名" -m "変換元ファイル名" ロード先頭アドレス [実行アドレス]
実際の例は、下の画像を参照して下さい。
変換例

6.作成したd88形式ファイル(この場合、vtml.d88)をエミュレータ上で動かします。
これで、オートランディスクを作成することが出来ました。

●複数ファイル変換

・「p80make/p88make」で複数ファイルを変換する方法です。
 pXXmake "変換先ファイル名"
 -m "マシン語変換元ファイル名"
 ロード先頭アドレス [実行アドレス]・・・
 -b "BASIC変換元ファイル名"
 [BASICが使用するメモリの上限番地(16進数)] [ストリング領域の大きさ(16進数)]
<例> p80make test -m mtest d000 -b btest cfff 64

マシン語と混在する場合、clear命令実行後にロードする必要があるプログラムがあります。
その場合、[BASICが使用するメモリの上限番地] と [ストリング領域の大きさ]を指定することで、
BASICプログラムロード後、clear命令を実行したのと同じ効果を得ることが出来ます。
尚、複数同一言語のファイルがある場合、羅列することで変換出来るようです。
(この辺りは、良いサンプルが無くて適当にしか検証していないのですが(^^;)

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



[戻る]