サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
2: 2005-03-15 (火) 20:55:08 ソース 現: 2024-01-08 (月) 12:58:56 k-tan ソース
Line 1: Line 1:
-* GO(C言語)でOSASKアプリを作ってみよう、のページ+TITLE:x 
 +* GO(C言語)でOSASKアプリを作ってみよう、のページ [#u84fa57c]
-(by [[K]], 2005.03.15) -(by [[K]], 2005.03.15)
Line 6: Line 7:
--[[guide/ASKA]]:C言語じゃなくてASKAでやりたい人 --[[guide/ASKA]]:C言語じゃなくてASKAでやりたい人
-*** まずは開発環境の入手+*** まずは開発環境の入手 [#ob455183]
-[[downloads/dev]]のページへ行って、''最新版''のところの、「tolset08」というやつをダウンロードしてください(lzhでもsarでもどっちでもOK)。 -[[downloads/dev]]のページへ行って、''最新版''のところの、「tolset08」というやつをダウンロードしてください(lzhでもsarでもどっちでもOK)。
--2MB強ありますが、これはCコンパイラとかテストラン用のOSASKやエミュレータなどが入っているせいです。すみません。 --2MB強ありますが、これはCコンパイラとかテストラン用のOSASKやエミュレータなどが入っているせいです。すみません。
--もしかしたらバージョンアップしてtolset09とかになっているかもしれません。その辺は臨機応変でお願いします。 --もしかしたらバージョンアップしてtolset09とかになっているかもしれません。その辺は臨機応変でお願いします。
 +--2006.05.08での最新版は[[tolset_h:http://hrb.osask.jp/tolset_h.zip]]です。
 +--Win95/98/Meの人はフォルダ名を少し直す必要があります(こめんと欄 2006.07.29 参照)。
-これをどこでもいいですので、適当なところに解凍します。 -これをどこでもいいですので、適当なところに解凍します。
-*** プロジェクト作成+*** プロジェクト作成 [#ied6576b]
-次に、新規にアプリを作りますので、z_new_oというディレクトリを探してください。これをコピーして、同じディレクトリにペーストします。すると、「コピー ~ z_new_o」とかいう名前のフォルダができます。これを「chelo」にリネームしてください。 -次に、新規にアプリを作りますので、z_new_oというディレクトリを探してください。これをコピーして、同じディレクトリにペーストします。すると、「コピー ~ z_new_o」とかいう名前のフォルダができます。これを「chelo」にリネームしてください。
--もちろん他の好きな名前でもいいですよ。 --もちろん他の好きな名前でもいいですよ。
Line 20: Line 23:
-最後にcheloの中で 右クリック→新規作成→テキストドキュメント とやって、新規テキストドキュメントを作ります。そしてこれを、「chelo.c」に改名します。拡張子を変更するとどうたらこーたらとかいいますが、無視してOKしてください。 -最後にcheloの中で 右クリック→新規作成→テキストドキュメント とやって、新規テキストドキュメントを作ります。そしてこれを、「chelo.c」に改名します。拡張子を変更するとどうたらこーたらとかいいますが、無視してOKしてください。
-*** ソース作成+*** ソース作成 [#e05ddb74]
-さて、それではchelo.cを開いて、以下のソースをがしがしと入力してください。 -さて、それではchelo.cを開いて、以下のソースをがしがしと入力してください。
 #include <guigui00.h>  #include <guigui00.h>
 #define AUTO_MALLOC  0  #define AUTO_MALLOC  0
 + 
 void OsaskMain()  void OsaskMain()
 {  {
     struct LIB_WINDOW *window;      struct LIB_WINDOW *window;
     struct LIB_TEXTBOX *wintitle, *textbox;      struct LIB_TEXTBOX *wintitle, *textbox;
 + 
     lib_init(AUTO_MALLOC);      lib_init(AUTO_MALLOC);
     window = lib_openwindow(AUTO_MALLOC, 0x0200, 136, 48);      window = lib_openwindow(AUTO_MALLOC, 0x0200, 136, 48);
Line 38: Line 41:
     lib_waitsignal(0x0001, 0, 0);      lib_waitsignal(0x0001, 0, 0);
 }  }
- +  
-*** どうやって実行ファイルを作るの?+*** どうやって実行ファイルを作るの? [#cbae0369]
-まず、コンソールを開きます。開き方は使っているOSによって違います。 -まず、コンソールを開きます。開き方は使っているOSによって違います。
--Win2000, WinXPなどのNT系: !cons_nt.batをダブルクリック --Win2000, WinXPなどのNT系: !cons_nt.batをダブルクリック
Line 48: Line 51:
--tolset08で作った場合は多分452バイトです。 --tolset08で作った場合は多分452バイトです。
-*** どうやってテスト実行するの?+*** どうやってテスト実行するの? [#j6a70fe8]
-同じくコンソールから、make runとだけうってEnterを押してください。 -同じくコンソールから、make runとだけうってEnterを押してください。
-しばらく待っていると、勝手にOSASKがエミュレータ環境で起動します。 -しばらく待っていると、勝手にOSASKがエミュレータ環境で起動します。
Line 54: Line 57:
-うまくいけばウィンドウが表示されます。 -うまくいけばウィンドウが表示されます。
-*** 雑な説明+*** 雑な説明 [#e0b725a7]
-結局のところ、これはAPIを呼び出しているだけです。lib_で始まる関数は全てAPI呼び出しです。 -結局のところ、これはAPIを呼び出しているだけです。lib_で始まる関数は全てAPI呼び出しです。
-*** もっと詳しく説明してくれー+*** もっと詳しく説明してくれー [#y06eff7f]
-続編:[[guide/wintro0000]] -続編:[[guide/wintro0000]]
~ ~
Line 65: Line 68:
--[[GUIGUI00_man]] --[[GUIGUI00_man]]
-* こめんと欄 +* こめんと欄 [#p50558c1] 
-#comment+-すみません、make run のところでエラーが出るのですが、どうすればよいですか? -- ''coze'' &new{2005-06-27 (月) 21:04:37}; 
 + 
 + C:¥osask¥tolset08¥chelo>make 
 +  
 + C:¥osask¥tolset08¥chelo>..¥z_tools¥make.exe 
 + ../z_tools/make.exe -r chelo.bin 
 + make.exe[1]: Entering directory `C:/osask/tolset08/chelo' 
 + ../z_tools/sjisconv.exe -s chelo.c chelo.ca 
 + ../z_tools/cc1.exe -I../z_tools/guigui00/  -Os -Wall -quiet -o chelo.gas chelo.ca 
 + ../z_tools/gas2nask.exe -a chelo.gas chelo.nas 
 + ../z_tools/nask.exe chelo.nas chelo.obj 
 + ../z_tools/obj2bim.exe @../z_tools/guigui00/guigui00.rul out:chelo.bim stack:64k map: 
 + chelo.map chelo.obj 
 + ../z_tools/bim2bin.exe in:chelo.bim out:chelo.org malloc:256k mmarea:0 -v48a 
 + ../z_tools/bim2bin.exe -osacmp in:chelo.org out:chelo.bin -tek5 clv:5 eopt: eprm: 
 + rm chelo.gas chelo.nas chelo.ca 
 + make.exe[1]: Leaving directory `C:/osask/tolset08/chelo' 
 + 
 + C:¥osask¥tolset08¥chelo>ls 
 + !cons_9x.bat  Makefile  chelo.bin  chelo.c.1~  chelo.obj  make.bat 
 + !cons_nt.bat  chelo.bim  chelo.c    chelo.map  chelo.org 
 + 
 + C:¥osask¥tolset08¥chelo>make run 
 +  
 + C:¥osask¥tolset08¥chelo>..¥z_tools¥make.exe run 
 + ../z_tools/make.exe -r chelo.bin 
 + make.exe[1]: Entering directory `C:/osask/tolset08/chelo' 
 + make.exe[1]: `chelo.bin' is up to date. 
 + make.exe[1]: Leaving directory `C:/osask/tolset08/chelo' 
 + copy chelo.bin ..¥z_tools¥!built.bin 
 + process_begin: CreateProcess((null), copy chelo.bin ..¥z_tools¥!built.bin, ...) failed. 
 + make (e=2): 指定されたファイルが見つかりません。 
 + ..¥z_tools¥make.exe: *** [run] Error 2 
 +-make, make run を実行すると上のようになります。 -- ''coze'' &new{2005-06-27 (月) 21:06:43}; 
 +-これはおそらくCygwin環境だと思われます。Cygwinのデフォルトではcopyコマンドに干渉するため、こういうエラーが出るのです。たぶん環境変数PATHに「C:¥cygwin¥bin」みたいなパスが追加されていると思います。それを削除すればとりあえずうまくいくようになります。・・・この問題はどちらかというとtolset側の問題であるというよりはCygwinが過剰にWindowsに干渉していることが問題だと思いますので、tolsetの不具合ではないと僕は思っています。ですからこれ以上の対策が必要だと思われる場合は、Cygwin側に対処を要望してください。 -- [[K]] &new{2005-06-27 (月) 21:32:02}; 
 +-Kさん、ありがとうございます。C:¥cygwin¥bin へのパスを外す事で、うまく実行できました。 -- ''coze'' &new{2005-06-27 (月) 22:04:32}; 
 +---- 
 +-すみません。また make run でつまづいてしまいました。Win95 で実行しています。make はうまくいっていて、chelo.bin は無事に作成できました(451 バイト)。それから make run を実行してみますと -- [[coze]] &new{2005-08-07 (日) 12:06:48}; 
 + 
 + qemu.exe -L . -m 32 -localtime -std-vga -fda fdimage0.bin 
 + process_begin: CreateProcess(C:/osa/tolset08/z_tools/qemu/qemu.exe, eqmu.exe -L . -m 32 -localtime -std-vga -fda fdimage0.bin, ...) failed. 
 + make (e=1157): このアプリケーションの実行に必要なライブラリファイルのうちの1つが見つかりません。 
 + make.exe[1] *** [ALL] Error 1157 
 + make.exe[1]: Leaving directory 'C:/osa/tolset08/z_tools/qemu' 
 + C:¥OSA¥TOLSET08¥Z_TOOLS¥make.EXE: *** [run] Error 2 
 +-となります。ライブラリファイルが見つからないと言っているのですが、具体的にどのファイルが見つかっていないのでしょうか? -- [[coze]] &new{2005-08-07 (日) 12:09:13}; 
 +-eqmu.exeはタイプミスでしょうか、じゃなかったらファイルが間違ってるので直せば動くかもしれません。makeにたよらずに、qemuを直接実行してみると、何か分かるかもしれません。fdimage0.binがqemuと同じディレクトリにあれば動くと思うんですが。 -- ''くーみん'' &new{2005-08-07 (日) 17:22:46}; 
 +-くーみんさん、ありがとうございます。eqmu.exe は、掲示板に書き込む際にタイプミスしていました。すみません。実際には qemu.exe となっています。それで make を使わずにやってみました。 -- [[coze]] &new{2005-08-07 (日) 21:16:01}; 
 + 
 + 
 + C:¥osa¥tolset08¥z_tools¥qemu>qemu.exe -L . -m 32 -localtime -std-vga -fda fdimage0.bin 
 + ファイル 'C:¥OSA¥TOLSET08¥Z_TOOLS¥QEMU¥QEMU.EXE' またはその構成ファイルが見つかりません。 
 + パスとファイル名が正しいか、すべての必要なライブラリが利用可能であるか、確認してください。 
 + 
 +-となってしまいます……。上記を実行するときに、タイトルバーに「プログラム開始エラー」と書かれたダイアログボックスが表示されます(ウィンドウの中には、! マークのアイコンと OK ボタンのみで、テキストは何も書かれていないです)。dir コマンドを実行すると下のようになりました。 -- [[coze]] &new{2005-08-07 (日) 21:16:30}; 
 + 
 + C:¥osa¥tolset08¥z_tools¥qemu>dir 
 +  
 + .              <DIR>        05-08-07  10:17 . 
 + ..            <DIR>        05-08-07  10:17 .. 
 + BIOS    BIN        65,536  04-11-16  7:10 bios.bin 
 + MAKEFILE                68  05-01-12  11:51 Makefile 
 + VGABIOS  BIN        9,651  04-04-24  1:29 vgabios.bin 
 + QEMU    EXE      249,344  04-11-16  7:10 qemu.exe 
 + FDIMAGE0 BIN    1,474,560  05-08-07  10:18 fdimage0.bin 
 + SDL      DLL      125,952  04-11-16  7:11 SDL.dll 
 +         7 個          1,925,111 バイトのファイルがあります. 
 +         2 ディレクトリ  440,139,776 バイトの空きがあります. 
 +-そういえば、おいらのWindows95(Libretto50)ではqemuが動きませんでした(OSC2005-Doの会場でわかったという…)。ひょっとしたらWin95はqemu非対応かも知れません。 -- [[あっきぃ]] &new{2005-08-07 (日) 21:22:37}; 
 +-あっきぃさんの場合も僕と同じようなエラーメッセージですか? Win95 では動かないというのもあるのかもしれませんね。僕はこういったことにうといので、少しずつ弄ってみようと思います。ありがとうございました。 -- [[coze]] &new{2005-08-09 (火) 00:51:59}; 
 +-たしかおいらはバッチファイルからだったと思います。きっとバッチファイルでは分からないエラーが出力されているんだと思います。 -- ''あっきぃ'' &new{2005-08-09 (火) 00:58:09}; 
 +-うーん、Win95ではtolset08の「make run」がうまく行かない可能性があるのかもしれませんね。後日こちらでも実験してみたいと思います。他の人で、似たような現象を経験した人、もしくはWin95だけど問題なく動いた人、おられましたらご報告ください。 -- [[K]] &new{2005-08-09 (火) 13:55:41}; 
 +-NEC PC-9821 Nb7、Win95 で make run を試してみました。実行してみると、上の場合と同様のエラーが表示されました。その際、「プログラム開始エラー」ダイアログが出て「IPHLPAPI.DLL が見つかりません」と表示されました。何かの参考になればと思います。 -- ''coze'' &new{2005-09-17 (土) 18:08:40}; 
 +-IPHLPAPI.DLLはIEに含まれるものだそうです。 -- ''mac12'' &new{2006-07-28 (金) 22:23:19}; 
 +-Win95対策版は既にあります。上記にあるとおり最新版のtolset_hを使ってください。z_toolsの中のqemuフォルダをqemu_ntと改名し、qemu_9xフォルダをqemuと改名すれば準備完了です。 -- [[K]] &new{2006-07-29 (土) 09:30:27}; 
 + 
 +//#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コミュニティによって管理・運営されています。