サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
2: 2003-10-21 (火) 00:19:16 ソース 3: 2004-01-23 (金) 10:47:55 ソース
Line 1: Line 1:
-しばらくは編集綻なので、見てもなんの意味もありません。+*0. はじめに
-*用意するもの+フリーの x86 シュミレータ bochs とディスクイメージがあれば、PC1台で効率的に OSASK アプリを作ることができます。私がいろいろ試した軌跡を残しておきます。introシリーズを読みながらやるといいと思います。
-**Bochs+*1. 用意するもの 
 + 
 +**1.1 Bochs
がじぇっとボックス版Bochs がじぇっとボックス版Bochs
-**OSASKのソース+[[download:http://ebisa.hp.infoseek.co.jp/bochs/index.shtml]]
-小籾さんのサイトからOsask4.1をダウンロード+D:\bochs(例)にインストールします。本家 bochs は VGA 回りにバグがあるので初心者にはおすすめしません。
-**各種コンパイル&リンクツール+**1.2 アプリケーションのソースファイル
-OSASKのページからtolset?をダウンロード+D:\WABA(例)に作成します。以下WABAの部分を適当に読み替えてください。
-*コンパイルとリンク+**1.3 各種コンパイル&リンクツール
- @echo off+tolset07
- set BAK=%PATH% +[[download:http://www.imasy.or.jp/~kawai/osask/developers.html]]
- set BIN=d:\osask\bin+
- set path=%BAK%;%BIN% +以下のファイルを D:\OSASK\BIN(例)にコピーします。
- del waba.bin +
- del waba.map +
- del waba.org +
- make +
- copy waba.bin A:\+
- set path=%BAK%+-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 にコピーします。
- prompt>im2 +-gg00libc.lib 
-犬?/%+-golibc.lib
-+以下のファイルを D:\WABA\include にコピーします。
-O掌a? とリンク+
- @echo off+-guigui00.h 
 +-他のヘッダファイルは必要に応じて
-*ディスクイメージ[[Disk Ex とrer:http://hp.vector.co.jp/authors/VA013937/]]ジの書き換え+**1.4 各種設定ファイル
-*Bochsのfloppya=: 1_44=im2 +D:\WABA\Makefile
-と気ナリ妊?ジの与でhogep +
- dを開き、0x010-0x013かちェ?犬+
-りと起動ーヒ鵐冏は [[鵐??Faults]] に覆鵑琉婢に覆鵑oん + TARGET    = waba 
-B欄 + STACKSIZE  = 100k 
-#comment + MALLOCSIZE = 100k 
->>>>915951 + MMAREA    = 100k 
-*0. **B瓩+ # 以上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
-ふリ妊の x86 シュミレ妊? 肇椒\ *コ犬陵儖+D:\WABA\guigui00.rul
-*ディス?ん譴弌?C1台で効率?? クツ_ アプリを作+ 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セクションの順序は入れ替えてはいけません! */
-海八覆任⑯婢ぁ?Z +D:\WABA\mkwaba.bat
-と気ナリ妊?ジの与でhogep +
- dを開き、0x010-0x013かちェ?犬+
-りと起動ーヒ鵐冏は [[鵐??Faults]] に覆鵑琉婢に覆鵑oん + @echo off
-B?1 +
-??廚鮖?1 +
-討?吠んの?ntroリ +
->>>困鯑匹瀏か?の?Fa箸いい隼廚いんの以ん1.+
-**各種コンパイ1.1 ル&リンクツール + set BAK=%PATH%
- +
-OSASKのページか?[download +
-と気ナ?bisa.蠻?nfoseek与でhog?oge/index.shtml0-0xD: +
-*Boch(例) ?ml0-二、0?\bi討?鯑匹l?郁?p +
- dを穫 VGA 回?にコ鍵?船щのサ初心者クハんすすめ?鯑票ド +
- +
-**灰襦2[鵐??ケbi瞳ョンウンロー +
- +
-ぁap +
- *BochWABA ?ml0-作成?鯑匹lぐ焚?ABAの部分を適当にか?替え吠くだ灰鵑 +
- +
-**灰襦3 PATH%+
 set BIN=d:\osask\bin  set BIN=d:\osask\bin
-BIN% + set path=%BAK%;%BIN% 
- 07ownload + del waba.bin 
-と気ナ?bisawww.imasyに + del waba.map 
-hoge~kawai/ + del waba.org 
-*Boc/deve呶?rs.-0xD: + make
-*B以下ウ +
-ぁap +
- を och箸 [\+
-  ?ml0-導ピ気シ以ん1. + set path=%BAK%
--Boca.exe +
--bim2]] 3.exe +
--cc1.exe +
--cpp0.exe +
--gas2nBoc.exe +
--golib00w.exe +
--[[Diskog? +
--鵐 +
-.exe +
--nBoc.exe +
--nBoccnv0.exe +
--obj2]]m]] 3.ex[\ +
-  ぁap +
- を och箸 [\ +
-??\exe ぅ薫覆?. +
--Boca.exgg00exec.exe00w.exec.exe0 +
-ぁap +
- を och箸 [\ +
-??\include ぅ薫覆?. +
--Boca.exguigui00.h +
--他p +
- 悗? を och箸鷲?廚鳳?Kて PATH%4 set ?亜 *BochWABA ?ml0\M +
--nfilex TARGET    = STACKSIZE  = MALLOCSIZE = MMAREA    = # 以上4つは +
-ぁap +
-ごい麕d寮瀋蠅箸 +
- INC set  = RULEFILE = MAKE    =  CC1      =-c +
- GAS2Nツ_F=-g +
- Nツ_F    =-g +
- OBJ2BIM  =あ OBJ2M  =N]] 3e +
--cc1.e以上4つい旅猝椶鯑△隼燭?013れIN% +
- m構焚爾鮑鈿?[督蠅箸 +
- INC CSI : +
- =$(    ) +
-$(ET    )の*/% +
-%.ca : +
-%.c filex TA =$(CONV =%.e +
-- : +
-%.ca filex TA =$(  ) -I$(set  =- $*.c% +
-%.n +
-- : +
-%.e +
-- filex TA =$(Nツ_F=- $*.n +
--% +
-%..ex : +
-%.n +
-- filex TA =$(F=- $*..ex% +
-%.e +
-- : +
-%..ex filex TA =$(BIM  =- ん?k:$(CSIZE  =%.e +
-n : +
-%.e +
-- filex TA =$(J2M  =N) in:$*.e +
-- out:$*. x8o olloc:$(  SIZE =$(J2M  =N) in:$*. x8oout:$*.e +
-n 城6]cmp -tek937clean : +
- =リン$(ET    ) op +
- =リン$(ET    )?echo=リン$(ET    )???ml0\M +
--nui00.rul +
- MAK +
- format: +
- =/* 婢のセIN%+
-+*2. コンパイルとリンク
-BINの方?? : + D:\WABA>mkwaba.bat
- =gn:1, logic:0x48, +
- GAS2$:0x48);螢?(ETata([\ +
-gn:4, logic:(CSIZ_end,2$:code_end);螢$:* 婢のセIN%ー+
-+うまくいけば D:\WABA\WABA.BIN ができるはずです。
-BINの灰漲?疋??磯 +*3. ディスクイメージの用意
- INCNCN?13?ow? 婢の領領.ojb ?ml0\M、 +
- を[\ +
-??\in記載 */* 婢のセIN覆??%ー+
-+OSASK/AT ver.4.1
-BIN?\ +[[download:http://www.imasy.or.jp/~kawai/osask/download.html]]
-+
- 垢瓷餝ン鵐蹇 set */* 婢のセI1. Г?:-0xD: +
-*l +
- MAK +
- f を;  */* 婢の を/e00w.exec.ex;* 婢の を/eo.exec.ex;* label:* 婢のセI必ず諒l??覆衛鵐儚ン?覆ぅ?戮\in指定 */* 婢のセIふン下をポl?郁?n指定襦2鵐儚ン各種コ? PATH% +
- s */* 婢の_et BAMain;* 婢のセI上記3+
-+OSAIMGAT.BIN を D:\ にコピーします。
-BIN僚臀脇豎ル? P漏ン?ツ_ケ! */*-nui00.rumkボ?>iataba.bin A:\+ prompt>imgtol e d:osaimgat.bin d:debugfd.bin 1440 
 + prompt>copy debugfd.bin d:\bochs\osaimgat.bin
- set path=%BAK%+上記の操作で1440KBのディスクイメージが作成されます。
-*ディスクイメージの用意+*4. Bochsの設定と起動
- prompt>im2 +D:\bochs\boshsrc.txt
-犬?/%+
-? + romimage: file=bios/BIOS-bochs-latest, address=0xf0000 
-O掌a? とリンク+ 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
- @echo off+これで bochs を起動してみましょう。うまくいけばそんなに待たずにOSASKが起動するはずです。
-*デ2. .org +*5. ディスクイメージの書き換え
- make +
- copy wabanui00.r>mkボ?>iatabうNツ?ン??lude ぅ?ude分?incl????寮瀋蠅筏???垢離??- +
-\+
- ?AT ver.offad +Disk Explorer
-と気ナ?bisawww.imasyに +
-hoge~kawai/ +
-*Boc/deve呶気ナ?b: +
-*B以下?+
-IMGATclude 箸 [de ぅ薫覆?. +[[download:http://hp.vector.co.jp/authors/VA013937/]]
--Boca璽?[Disk Ex とrer:http://hp.vector.co.jp/authors/VA013937/]]ジの書き換え+
-*Bocoppya=: 1_44=im2 +上記のツールで OSAIMGAT.BIN を開き、先ほど作成した WABA.BIN をコピーします。ディスクイメージを開くときは bochs を止めておきましょう。書き換えが終わったら再度 bochs を起動して動作を確認しましょう。
-**各?. .メ?0xメ?hsrc.tx鷄N?coぅ?e:gic:(=bios/BIOS-瓠-0x-latest, address=0xf0000a +
-egs=: 32 +
- vgacoぅ?e:giios/B衄eIOS-?gpllatest,gic +
-りと起動ーヒ鵐冏は [[鵐??Faults]] に覆鵑??t:ic +
-りとgic +
-りと_をotsig_cheあ_Faulo +
-  ?lat xれ?:ss=還(J2??c+
-n48) action=-g +*6. デバッグ
- Ner定? action=repor.c?蠻? action=repor.c?A013) action=AS2蠅??A013ger_れ?:-gaco?upx48e_鵑?rval2 +
- 0a +
-egskeyboard_覆?al_の*ayー?gskeyboard_pas8e_の*ayー?a +
-egs蠅?をochs +
-and_の*ayー5 +
-egsipsー?a +
-e.co.ic +
-?c:ltime=$ +
- mousiosen ?lat xpriv48e_colM +
--nposen ?lat xfullscreenosen ?lat xscreenmあ ?l: +
- N +
- m"sample"yboard_pas8senping ?lat xsc,?k:=sー;のfxsupc?A ?lat xscr +
-n記譴任.郁?p +
-鬟瓠-51 +
-討潭い靴腓Α?banui00.r>mそん?宰待4つ ?sー;Mxsc?npぅ?=: 32 +
- a? $8hsr瓠-$8hsr瓠-ge~kawaip?kawis 瓠-sー;Mxnh4つ ?p -t4wis 瓠-ほど者クハた ho off +
-と気ナ?bisaw-51 +
-討潭い靴腓Α?4wi  ?与ample"yb止 ?+
-りと?ng ?J2BIM  = OBJ2Blogら再度"yboard_pas8senpi動p.v魍稜?w-51NJ2BIM -516討潭?013か?+-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} 
-B欄? +-rulファイルでの、lib/lccwin32.lib;の記述はいりません。有害なので消しましょう。 -- [[K]] SIZE(10){2003-10-21 (火) 15:19:28} 
-anntft +-消しますた。 -- [[ベイサイド]] SIZE(10){2003-10-21 (火) 17:15:37} 
-箸離? +-多分bochsの方の操作でイメージ外しておけば、bochs起動したまんまでもイメージに書き込めるんじゃないかな。で、書き込み終わったらまた入れ直す。 -- [[名無しさん]] SIZE(10){2003-11-11 (火) 23:04:04}
-B?1 +
-?自2[ +
-箸離??gいひ?m+
-**灰T    =魄貭未?o off 
- 
- seenpi眺りと? ?lat xs 
--鵑oん 
-B欄 
#comment #comment
->>>>915951 
-*0. は**B瓩 
- 
-ふxs 
--General Protc  key7:00XXXX の XXXX をf 
- 
-ふxs 
--General Protc 
- O?gら船Кじ 
- 
-りと起動ー 
-しばらく-?m?瓩?ep 
-鬮た。校正、追加、修正大歓迎p 
-鬟瓠 1rer:http婢のぅ僖ぅ?瓩..ex(10){2003- に21 (火) 11:48:47} 
--螢 
-$:* 婢の任痢≡??ccw 
- G2 setのT  襦2鵐肇椒奪?考⑲箇するぞ?J2BIM -516?http?B瓩..ex(10){2003- に21 (火) 15:19:28} 
--消NJ2BI校正?http婢のぅ僖ぅ?瓩..ex(10){2003- に21 (火) 17:15:37} 
-集綻なので 

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

目次
メンバー一覧


最新の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コミュニティによって管理・運営されています。