サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
1: 2003-10-20 (月) 23:27:29 ソース 現: 2024-01-08 (月) 12:58:39 ゲスト ソース
Line 1: Line 1:
-*用意するもの+このページの内容はもう古いです。osa_dir2 を利用すれば、make run 一発でおしまいです。
-*コンパイルとリンク+*0. はじめに
-*ディスクイメージの用意+フリーの x86 シミュレータ bochs とディスクイメージがあれば、PC1台で効率的に OSASK アプリを作ることができます。私がいろいろ試した軌跡を残しておきます。introシリーズを読みながらやるといいと思います。
-*ディスクイメージの書き換え+*1. 用意するもの
-*Bochsの設定と起動+**1.1 Bochs
-*デバッグ+がじぇっとボックス版Bochs 
 + 
 +-[[download:http://ebisa.hp.infoseek.co.jp/bochs/index.shtml]] 
 + 
 +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.html]] 
 + 
 +以下のファイルを 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) 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).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.html]] 
 + 
 +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 を起動してみましょう。うまくいけばそんなに待たずにOSASKが起動するはずです。 
 + 
 +*5. ディスクイメージの書き換え 
 + 
 +Disk Explorer 
 + 
 +[[download:http://hp.vector.co.jp/authors/VA013937/]] 
 + 
 +上記のツールで OSAIMGAT.BIN を開き、先ほど作成した WABA.BIN をコピーします。ディスクイメージを開くときは bochs を止めておきましょう。書き換えが終わったら再度 bochs を起動して動作を確認しましょう。 
 + 
 +*6. デバッグ 
 + 
 +-WABAではデバッグにcprintfを使っています。 
 +-自分も使ってみたいひとはWABAのソースを一通りダウンロードして眺めてみましょう。 
 +-デバッグのヒントは [[OSASK_Faults]] にあります。 
 +-General Protect 0007:00XXXX の XXXX を WABA.map で探すと落ちた場所がだいたいわかります。 
 +-General Protect が出たらバイナリーエディタでWABA.orgを開き、0x010-0x013 をチェックします。
*こめんと欄 *こめんと欄
 +-とりあえずできた。校正、追加、修正大歓迎です。 -- [[ベイサイド]] SIZE(10){2003-10-21 (火) 11:48:47}
 +-rulファイルでの、lib/lccwin32.lib;の記述はいりません。有害なので消しましょう。 -- [[K]] SIZE(10){2003-10-21 (火) 15:19:28}
 +-消しますた。 -- [[ベイサイド]] SIZE(10){2003-10-21 (火) 17:15:37}
 +-多分bochsの方の操作でイメージ外しておけば、bochs起動したまんまでもイメージに書き込めるんじゃないかな。で、書き込み終わったらまた入れ直す。 -- [[名無しさん]] SIZE(10){2003-11-11 (火) 23:04:04}
 +-うわぁぁん! 先にやられてしまった! おつかれさまー。 (^^) -- ''hideyosi'' SIZE(10){2004-01-23 (金) 17:22:28}
 +-''本家にはバグ:'' がーん!そうなんですか?そいえば、つい最近バージョンアップしたようですが(2.1?)やっぱりバグがあるまんまなのかな?(試してみよう・・・) -- ''hideyosi'' SIZE(10){2004-01-23 (金) 17:23:56}
 +-ムズ( ^ ^ ; -- ''zizi'' SIZE(10){2004-07-22 (木) 10:41:04}
 +
#comment #comment

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。