J-3100GTSX041 2台目をメンテナンス6 OS自作入門の演習 二日目

J-3100GTSX041 2台目をメンテナンス6 OS自作入門の演習 二日目

本日は、OS自作入門の二日目
とは言っても、先日バイナリで直接入力した部分をアセンブラで書くだけ。

こちらも、1.44MByteから1.2MByteに変えてゆく、対象は02_dayのhelloos5とする。
ipl.nasの一部をモディファイ

DW 2400 ; このドライブの大きさ(2400セクタにしなければいけない)
DB 0xf9 ; メディアのタイプ(0xf9にしなければいけない)
DW 7 ; FAT領域の長さ(7セクタにしなければいけない)
DW 15 ; 1トラックにいくつのセクタがあるか(18にしなければいけない)
DW 2 ; ヘッドの数(2にしなければいけない)
DD 0 ; パーティションを使ってないのでここは必ず0
DD 0 ; ここは0で良い
DB 0,0,0×29 ; よくわからないけどこの値にしておくといいらしい
DD 0x0BFD2058 ; たぶんボリュームシリアル番号、日英互換

こんな感じ、あと最後の方にある
RESB 0x7dfe-$ ; 0x7dfeまでを0x00で埋める命令

RESB 0x1dfe-$ ; 0x1dfeまでを0x00で埋める命令
に書き換える。
これをエミュレータで実行すると、一日目と変わらないんだけどね

で出来上がったhelloos.imgをフロッピーに書いて、J-3100GTSXで起動すると

ああ、一日目と結果が変わらん。でも、アセンブラで作ったイメージが動いてくれたので感動