30日OS自作入門 5日目 途中

文字が出せるようになったとこまで来た。


ただし、フォントのhankaku.txtの扱いに困る。

変換に作者さんのツールを使ってるがこれを使わずにって調べて。


GDT(グローバルディスクリプタテーブル) | OS自作入門 5日目-1 【Linux】 | サラリーマンがハッカーを真剣に目指す

こちら参考にさせてもらい、hankaku.txtからC言語への変換を使わせてもらった。

こちらに乗っている変換のコードをhankaku2c.cとして保存。


それに合わせてMakefileを変更

run: haribote.img
qemu-system-i386 -fda $^
ipl10.o: ipl10.asm Makefile
nasm ipl10.asm -o ipl10.o -l ipl10.lst
asmhead.o: asmhead.asm Makefile
nasm asmhead.asm -o asmhead.o -l asmhead.lst
naskfunc.o: naskfunc.asm Makefile
nasm -g -f elf naskfunc.asm -o naskfunc.o -l naskfunc.lst
hankaku2c: hankaku2c.c #hankaku.txtをC言語形式に変換するツールのコンパイル
gcc hankaku2c.c -o hankaku2c
chmod 755 hankaku2c
hankaku.c: hankaku.txt hankaku2c #hankaku.txtをhankaku.cに変換
./hankaku2c
bootpack.hrb: bootpack.c naskfunc.o hankaku.c har.ld Makefile # Cファイルをリンカスクリプトを用いてコンパイル
gcc -march=i486 -m32 -nostdlib -T har.ld bootpack.c naskfunc.o hankaku.c -o bootpack.hrb
haribote.sys: asmhead.o bootpack.hrb Makefile
cat asmhead.o bootpack.hrb > haribote.sys
haribote.img: ipl10.o haribote.sys Makefile
mformat -f 1440 -C -B ipl10.o -i haribote.img ::
mcopy haribote.sys -i haribote.img ::
# echo haribote.sys > haribote.name
# dd if=ipl10.o of=haribote.img count=2880 bs=512 conv=notrunc
# dd if=haribote.name of=haribote.img count=1 bs=512 seek=19 conv=notrunc
# dd if=haribote.sys of=haribote.img count=1 bs=512 seek=33 conv=notrunc
img:
make -r haribote.img
debug:
qemu-system-i386 -fda haribote.img -gdb tcp::10000 -S
clean:
rm -rf *.img *.lst *.sys *.name *.o *.hrb
view raw Makefile hosted with ❤ by GitHub

このブログの人気の投稿

エレキギター練習用にyousicianとオーディオ入力

Prusa i3 MK3S用 IKEA Lack エンクロージャー作ったぞ、3Dプリンターの入れる箱というか台だ、力作

一筆書きパイロン、花瓶モード(スパイラルモード)で3Dプリント