ヤベェ。。。

74kg....

どういうこった!!!

確かに、毎日飲んでるし、運動もしていないけど。。。

ホントにヤベェ。。

ちょっと考えなくては。。

 

さて、一先ず色々調べてみて今の所、NGだが、やった事を簡単にまとめると

1. 出来上がったオブジェクトを自動でリンクさせようとすると、フォーマットが合って

  いないと怒られるので、バラしてみた。

2. とりあえず、elfフォーマットってやつでイメージファイルは出来上がった。

 

実行してみると、下記のようになる。

make run

make -r img

make -r haribote.img

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

nasm -f elf32 asmhead.nas -o asmhead.bin -l asmhead.lst

x86_64-elf-gcc -c -march=i486 -m32 -nostdlib bootpack.c -o bootpack.o

x86_64-elf-ld -m elf_i386 -e HariMain -o bootpack.hrb -T hrb.ld asmhead.bin bootpack.o

cat asmhead.bin bootpack.hrb > haribote.sys

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

mcopy -i haribote.img haribote.sys ::

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

f:id:kanazo3:20200512232520j:plain

どうやら、上手くasmhead.nasのコードへ飛んでいないように思われる。

そこで、ブートちゃんとしてるのか?という事で、ipl10.nasの最後の

DB  0x55, 0xaa を変更してブートさせないようにしてみた。

DB  0x55, 0x55 へ変更

そして実行すると、下記のようになった。

f:id:kanazo3:20200512232909j:plain

確かにブートはしなくなったので意図した動きはしているのだろう。。。

という事で、0xC200へ飛んで行っているのか?って事を次は疑ってみて、

Hex friendで、imgファイルの0x4200のアドレスへ一つ前の画面モードが暗くなるだけの

バイナリコードを貼り付けてみて、実行。

(ここで、今日は眠くなったので明日。。)

 

続く。。