二次ローダ(とは限らないが... )の方は...
とりあえず、今までの内容を引っ越して、ORG 0x8000 に変更してみる。
はりぼてに倣ってビルド手順を進めようと思っていたけれど、
これまでの説明通り、FAT無しで進める事にしたので、色々と具合が悪い。
何よりも、edimgが、ブートセクタに関しては、BPBを含んでいないとエラーとし、
copyコマンドでは、FATを前提として処理をしているようなのだ。
どうやら、edimgを利用する事自体、諦めた方が良いような状況...
でも、考えてみたら、FATとかの考慮が面倒で、edimgみたいなツールが必要だったわけで、
FAT無しで良いなら、単純に、バイナリを結合すれば良いだけじゃん!!
そういうわけで、1stldr.nas, system.nas, filler.nas の3つのファイルに分けて、
(Windowsの)COPYコマンドで、これらを結合する事にしましょう。
具体的な、Makefileの内容は、大体、こんな感じ
1stldr.bin : 1stldr.nas Makefile $(NASK) 1stldr.nas 1stldr.bin 1stldr.lst system.bin : system.nas Makefile $(NASK) system.nas system.bin system.lst filler.bin : filler.nas Makefile $(NASK) filler.nas filler.bin system.img : 1stldr.bin system.bin filler.bin Makefile $(COPY) /B 1stldr.bin + /B system.bin + /B filler.bin system.img bootable.iso : system.img Makefile $(COPY) system.img ..\z_tools\mkisofs\bootable $(MKISOFS) -b system.img -o bootable.iso $(ISOIMGPATH)
filler.nasは、FDイメージのサイズ調整用で、1.44MBになるように、0を埋めた物。
具体的には、こんな感じ。
; filler ; TAB=4 RESB 80 * 2 * 18 * 512 - 512 - 512 * 8
全体のサイズ(80*2*18*512)から、ブートセクタ分(512)と二次ブート領域(とりあえず、8セクタ分)を引く。
とりあえず、これで、ひとまずの形は整った感じ。