このページの内容はもう古いです。osa_dir2 を利用すれば、make run 一発でおしまいです。
フリーの x86 シミュレータ bochs とディスクイメージがあれば、PC1台で効率的に OSASK アプリを作ることができます。私がいろいろ試した軌跡を残しておきます。introシリーズを読みながらやるといいと思います。
がじぇっとボックス版Bochs
VESAによる256色表示可能なBochs(2.0.2ベース)
D:\bochs(例)にインストールします。本家 bochs は VGA 回りにバグがあるので初心者にはおすすめしません。
D:\WABA(例)に作成します。以下WABAの部分を適当に読み替えてください。
tolset07
以下のファイルを D:\OSASK\BIN(例)にコピーします。
以下のファイルを D:\WABA\lib にコピーします。
以下のファイルを D:\WABA\include にコピーします。
D:\WABA\Makefile
TARGET = waba
STACKSIZE = 100k
MALLOCSIZE = 100k
MMAREA = 100k
# 以上4つはソースごとに書き換える
INCPATH = ./include
RULEFILE = guigui00.rul
MAKE = make
SJISCONV = sjisconv
CC1 = cc1
GAS2NASK = gas2nask
NASK = nask
OBJ2BIM = obj2bim3
BIM2BIN = bim2bin3
# 以上の項目はあなたのディレクトリ構成にあわせて書き換える
ALL :
$(MAKE) $(TARGET).bin
%.ca : %.c Makefile
$(SJISCONV) -s $*.c $*.ca
%.gas : %.ca Makefile
$(CC1) -I$(INCPATH) -Os -quiet -o $*.gas $*.c
%.nas : %.gas Makefile
$(GAS2NASK) -a $*.gas $*.nas
%.obj : %.nas Makefile
$(NASK) $*.nas $*.obj
%.bim : %.obj Makefile
$(OBJ2BIM) @$(RULEFILE) out:$*.bim stack:$(STACKSIZE) map:$(TARGET).map $*.obj
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE) mmarea:$(MMAREA)
$(BIM2BIN) in:$*.org out:$*.bin -osacmp -tek0
clean :
del $(TARGET).map
del $(TARGET).org
del $(TARGET).binD:\WABA\guigui00.rul
format:
/* このセクションでリンクの方針を記述 */
code(align:1, logic:0x48, file:0x48);
data(align:4, logic:stack_end, file:code_end);
file:
/* このセクションでコマンドラインに書ききれなかった
.ojbファイル、.libファイルを記載 */
/* なお、このセクションはフルパスで書いてもよい。 */
/* 例: c:/osask/guigui00.lib; */
lib/gg00libc.lib;
lib/golibc.lib;
label:
/* 必ずリンクしなければいけないラベルを指定 */
/* エントリポイントを指定すればいいと思ってください */
_OsaskMain;
/* 上記3セクションの順序は入れ替えてはいけません! */D:\WABA\mkwaba.bat
@echo off set BAK=%PATH% set BIN=d:\osask\bin set path=%BAK%;%BIN% del waba.bin del waba.map del waba.org make set path=%BAK%
D:\WABA>mkwaba.bat
うまくいけば D:\WABA\WABA.BIN ができるはずです。
OSASK/AT ver.4.1
OSAIMGAT.BIN を D:\ にコピーします。
prompt>imgtol e d:osaimgat.bin d:debugfd.bin 1440 prompt>copy debugfd.bin d:\bochs\osaimgat.bin
上記の操作で1440KBのディスクイメージが作成されます。
D:\bochs\boshsrc.txt
romimage: file=bios/BIOS-bochs-latest, address=0xf0000 megs: 32 vgaromimage: bios/VGABIOS-lgpl-latest floppya: 1_44=osaimgat.bin, status=inserted boot: floppy floppy_bootsig_check: disabled=0 log: bochsout.txt panic: action=ask error: action=report info: action=report debug: action=ignore debugger_log: - vga_update_interval: 300000 keyboard_serial_delay: 10 keyboard_paste_delay: 100000 floppy_command_delay: 500 ips: 1000000 pit: realtime=1 mouse: enabled=0 private_colormap: enabled=0 fullscreen: enabled=0 screenmode: name="sample" keyboard_mapping: enabled=0, map= i440fxsupport: enabled=0
これで bochs を起動してみましょう。うまくいけばそんなに待たずにOSASKが起動するはずです。
Disk Explorer
上記のツールで OSAIMGAT.BIN を開き、先ほど作成した WABA.BIN をコピーします。ディスクイメージを開くときは bochs を止めておきましょう。書き換えが終わったら再度 bochs を起動して動作を確認しましょう。
(This host) = http://osask.net