ページへ戻る
印刷
Bochsを使ったソフト開発
をテンプレートにして作成 ::
OSASK計画
osaskwiki
:Bochsを使ったソフト開発 をテンプレートにして作成
開始行:
このページの内容はもう古いです。osa_dir2 を利用すれば、ma...
*0. はじめに
フリーの x86 シミュレータ bochs とディスクイメージがあれ...
*1. 用意するもの
**1.1 Bochs
がじぇっとボックス版Bochs
-[[download:http://ebisa.hp.infoseek.co.jp/bochs/index.sh...
VESAによる256色表示可能なBochs(2.0.2ベース)
#ref(bochs.lzh);
D:\bochs(例)にインストールします。本家 bochs は VGA 回...
**1.2 アプリケーションのソースファイル
D:\WABA(例)に作成します。以下WABAの部分を適当に読み替え...
**1.3 各種コンパイル&リンクツール
tolset07
[[download:http://www.imasy.or.jp/~kawai/osask/developers...
以下のファイルを D:\OSASK\BIN(例)にコピーします。
-aska.exe
-bim2bin3.exe
-cc1.exe
-cpp0.exe
-gas2nask.exe
-golib00w.exe
-imgtol.com
-make.exe
-nask.exe
-naskcnv0.exe
-obj2bim3.exe
-osalink1.exe
-sjisconv.exe
以下のファイルを D:\WABA\lib にコピーします。
-gg00libc.lib
-golibc.lib
以下のファイルを D:\WABA\include にコピーします。
-guigui00.h
-他のヘッダファイルは必要に応じて
**1.4 各種設定ファイル
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...
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE)...
$(BIM2BIN) in:$*.org out:$*.bin -osacmp -tek0
clean :
del $(TARGET).map
del $(TARGET).org
del $(TARGET).bin
D:\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%
*2. コンパイルとリンク
D:\WABA>mkwaba.bat
うまくいけば D:\WABA\WABA.BIN ができるはずです。
*3. ディスクイメージの用意
OSASK/AT ver.4.1
[[download:http://www.imasy.or.jp/~kawai/osask/download.h...
OSAIMGAT.BIN を D:\ にコピーします。
prompt>imgtol e d:osaimgat.bin d:debugfd.bin 1440
prompt>copy debugfd.bin d:\bochs\osaimgat.bin
上記の操作で1440KBのディスクイメージが作成されます。
*4. Bochsの設定と起動
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 を起動してみましょう。うまくいけばそんなに待...
*5. ディスクイメージの書き換え
Disk Explorer
[[download:http://hp.vector.co.jp/authors/VA013937/]]
上記のツールで OSAIMGAT.BIN を開き、先ほど作成した WABA.B...
*6. デバッグ
-WABAではデバッグにcprintfを使っています。
-自分も使ってみたいひとはWABAのソースを一通りダウンロード...
-デバッグのヒントは [[OSASK_Faults]] にあります。
-General Protect 0007:00XXXX の XXXX を WABA.map で探すと...
-General Protect が出たらバイナリーエディタでWABA.orgを開...
*こめんと欄
-とりあえずできた。校正、追加、修正大歓迎です。 -- [[ベイ...
-rulファイルでの、lib/lccwin32.lib;の記述はいりません。有...
-消しますた。 -- [[ベイサイド]] SIZE(10){2003-10-21 (火) ...
-多分bochsの方の操作でイメージ外しておけば、bochs起動した...
-うわぁぁん! 先にやられてしまった! おつかれさまー。 (...
-''本家にはバグ:'' がーん!そうなんですか?そいえば、つ...
-ムズ( ^ ^ ; -- ''zizi'' SIZE(10){2004-07-22 (木) 10:41:04}
#comment
終了行:
このページの内容はもう古いです。osa_dir2 を利用すれば、ma...
*0. はじめに
フリーの x86 シミュレータ bochs とディスクイメージがあれ...
*1. 用意するもの
**1.1 Bochs
がじぇっとボックス版Bochs
-[[download:http://ebisa.hp.infoseek.co.jp/bochs/index.sh...
VESAによる256色表示可能なBochs(2.0.2ベース)
#ref(bochs.lzh);
D:\bochs(例)にインストールします。本家 bochs は VGA 回...
**1.2 アプリケーションのソースファイル
D:\WABA(例)に作成します。以下WABAの部分を適当に読み替え...
**1.3 各種コンパイル&リンクツール
tolset07
[[download:http://www.imasy.or.jp/~kawai/osask/developers...
以下のファイルを D:\OSASK\BIN(例)にコピーします。
-aska.exe
-bim2bin3.exe
-cc1.exe
-cpp0.exe
-gas2nask.exe
-golib00w.exe
-imgtol.com
-make.exe
-nask.exe
-naskcnv0.exe
-obj2bim3.exe
-osalink1.exe
-sjisconv.exe
以下のファイルを D:\WABA\lib にコピーします。
-gg00libc.lib
-golibc.lib
以下のファイルを D:\WABA\include にコピーします。
-guigui00.h
-他のヘッダファイルは必要に応じて
**1.4 各種設定ファイル
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...
%.bin : %.bim Makefile
$(BIM2BIN) in:$*.bim out:$*.org malloc:$(MALLOCSIZE)...
$(BIM2BIN) in:$*.org out:$*.bin -osacmp -tek0
clean :
del $(TARGET).map
del $(TARGET).org
del $(TARGET).bin
D:\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%
*2. コンパイルとリンク
D:\WABA>mkwaba.bat
うまくいけば D:\WABA\WABA.BIN ができるはずです。
*3. ディスクイメージの用意
OSASK/AT ver.4.1
[[download:http://www.imasy.or.jp/~kawai/osask/download.h...
OSAIMGAT.BIN を D:\ にコピーします。
prompt>imgtol e d:osaimgat.bin d:debugfd.bin 1440
prompt>copy debugfd.bin d:\bochs\osaimgat.bin
上記の操作で1440KBのディスクイメージが作成されます。
*4. Bochsの設定と起動
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 を起動してみましょう。うまくいけばそんなに待...
*5. ディスクイメージの書き換え
Disk Explorer
[[download:http://hp.vector.co.jp/authors/VA013937/]]
上記のツールで OSAIMGAT.BIN を開き、先ほど作成した WABA.B...
*6. デバッグ
-WABAではデバッグにcprintfを使っています。
-自分も使ってみたいひとはWABAのソースを一通りダウンロード...
-デバッグのヒントは [[OSASK_Faults]] にあります。
-General Protect 0007:00XXXX の XXXX を WABA.map で探すと...
-General Protect が出たらバイナリーエディタでWABA.orgを開...
*こめんと欄
-とりあえずできた。校正、追加、修正大歓迎です。 -- [[ベイ...
-rulファイルでの、lib/lccwin32.lib;の記述はいりません。有...
-消しますた。 -- [[ベイサイド]] SIZE(10){2003-10-21 (火) ...
-多分bochsの方の操作でイメージ外しておけば、bochs起動した...
-うわぁぁん! 先にやられてしまった! おつかれさまー。 (...
-''本家にはバグ:'' がーん!そうなんですか?そいえば、つ...
-ムズ( ^ ^ ; -- ''zizi'' SIZE(10){2004-07-22 (木) 10:41:04}
#comment
ページ名: