5日目 その1
今日は文字列を表示するところ(harib02f)まで。
問題になるのはhankaku.txtの扱いです。
makefont.exeが使えないので、rubyでC配列を出力させてそれを利用します。
hankaku.txtからC配列を出力させるhankaku.rbはこんな感じ
#!/usr/bin/ruby fio = open(ARGV[0], "r") print "char hankaku[0x100][16] = {\n" fio.each do |line| if line =~ /^char (0x..)/ print "{" fio.each do |data| break if /^\s*$/ =~ data printf "%#x, ", "0b" + data.chomp.tr(".","0").tr("*","1") end print "}, \n" end end print "};\n"
あとはMakefileを編集。
OBJ変数の修正と今回作ったファイルに対するルールを追加してやればOKです。
OBJS = crt.o bootpack.o asmfunc.o hankaku.o ^^^^^^^^^ (略) hankaku.c: hankaku.txt ruby hankaku.rb $< > $@