今日は、朝活!(なんか、息子も言ってたので真似してみた。部活っぽい。。)

 

という事で、体重計は夜かな。。。

 

Day3へ挑戦!!(もう、ハマらないだろ。。。)

 

さて、viで文字コードも変更しなくても読めるようになったし、

Makefileも先人の方のものをそのまま使えば大丈夫!!

(まぁ、基本的に真似してるだけだけど。。なのに何でハマるんだろう。。(涙))

 

さて、実行!!

make run

make -r img

make -r haribote.img

nasm ipl.nas -o ipl.bin -l ipl.lst

mformat -f 1440 -C -B ipl.bin -i haribote.img ::

qemu-system-i386 -drive file=haribote.img,format=raw,if=floppy -boot a

おぉぉぉ!!!

f:id:kanazo3:20200508080002j:plain

おぉぉぉ!!!

f:id:kanazo3:20200508080101j:plain

おぉぉぉ!!!

f:id:kanazo3:20200508080155j:plain

おぉぉぉ!!!!

f:id:kanazo3:20200508080320j:plain

ほぉ!!!(行ったのかぁ〜???)

 

なんか、いつもとは違って、ここまでは来てるがこれはこれで

期待している動作なのだろうか。。

 

いや、違う。。。

これ、Bootできてない。。。

よくよく見てみたら、

 

Booting from Floppy...

Boot failed: not a bootable disk

オーノー!!!(orz...)

 

何なんだ。。。何が。。。ふむぅ。。。

ブートセクタに関する事が下記のように書いてあるのを発見!!

 

〜本文より抜粋〜

どうして最初のセクターがブートセクタと呼ばれるのかとい言いますと、PCはまずディスクの最初のセクタを読むんです。それで最後の2バイトを見ます。これが55 AAでなければ、このディスクは起動に必要なプログラムは書かれていないようだ、と判断し、起動できないよエラーがでます。(云々、カンヌン。。)

〜ここまで〜

 

ホゥ!!って事で、ipl.nasをもう一度眺めてみると。

自分で直した下記の部分に気づく。。。

;               RESB    0x7dfe-$                ; 0x7dfeまでを0x00で埋める命令

                TIMES 0x7dfe-($-$$) DB 0

むむむ!!この0x7dfeってやつ、0x1feなんじゃないかしら???

(先人のページを見直したら、やはりそうだった。。意味分からず書いてるとこうなる

 っていう良い例だな。。。)

って事で!!

                TIMES 0x1fe-($-$$) DB 0

へ修正!

 

Go!!!

f:id:kanazo3:20200508083659j:plain

ふむ。これで本と同じになった模様。ふぅ〜。。。。

 

色々ありすぎる。。。

 

めげずに頑張ろう。まだ最初の最初。。。