![]() |
Message Log 12 | Return to Parent Menu |
Last Updated by 07/01/05(Fri) |
| |||
話がはずんでますなぁ・・・やっぱりアセンブラは良いね。 |
| |||
| |||
: PromisenceJ [1999/01/23 Sat 15:57:52] [202.213.243.99] 今現在、日高さんのページには特にアセンブラ関連の ページがないのですが、ひょっとしたらどかんと できるかもしれません。 個人的に楽しみにしているのですが・・・ chaoh [1999/01/22 Fri 08:44:35] [210.175.64.34] 訂正など ども、chaoh です。 chaoh> ところで、日高徹 氏は今何処? どなたか御存じないでしょうか? 先程 PromisenceJ さんからメールを頂き、 日高さんの近況を教えて頂 きました。この場も借りてお礼申し上げます。有り難うございました。 日高さんは現在『新日本プログラミング』にて活動中のようです。 新日本プログラミング情報 http://members.aol.com/njprog/ それで早速いって見た所、 なんと『ROOT 88』の通販をしているではな いですか。 まだ手に入れる事が出来たんですね。ちなみに値段は2,000 円ではなく6,000円〜となっていました。失礼しました。(>o<) それと、 な〜〜んと!! 今は亡き啓学出版の書籍なんかも通販出来る ではないですか! 数に限りがあるようなので、 希望のものは今のうち にゲットしましょう。今を逃すとまず手に入らないものばかりです。 chaoh [1999/01/22 Fri 04:08:32] [195.44.0.224] 一言追記など ども、chaoh です。 前回投稿時に、うまく表現できなかった感情の追記です。 chaoh> しかし昨今の CPU 事情を見ても分かるとおり、 その処理速度の発達度 chaoh> 合は尋常ではないので、こういった処理速度の向上を頭をフル回転させ chaoh> て考え出すのは、割に合わなくなって来ているような気がします。 悲しい事ですが…。 takka> そういえばZ80用のアセンブラで、OHM−Z80てゆうのがあったんですけど takka> これより強力なアセンブラってあるんですか? PC-8801 では、日高徹 氏の『ROOT 88』というアセンブラが最強でしょ う。コンパイラっぽくはないですけど、開発環境は一通り揃っています。 媒体は 2D/2HD、増設 RAM あり・なし用と、全てを網羅してます。それ でいて価格は 2,000円(確か (^^; )と格安。もう手放せません。 ところで、日高徹 氏は今何処? どなたか御存じないでしょうか? AZUCO> 昔はテーブルジャンプはアセンブラの最終兵器だと思ってたんですが AZUCO> 今は逆にパイプラインストールでコストが高いんですね 3回テーブル使うより、48回の条件分岐の方が速いとな! テーブル神話(勝手に命名)も終わりじゃのお。 ほんと、最近の CPU ってプログラマー泣かせっすよね。 「何も考えなくても速いプログラムが組める」のだろうけど、やっぱり 悲しい。(;_;) PromisenceJ [1999/01/22 Fri 03:36:03] [202.213.243.99] >>ところで俺が思うに、VRAMアクセスで挟み込む処理がなければ、 >>例えば音源ドライバ(あー、でもこれはハードをアクセスするから逆 >>に遅いな)とかポリゴン演算ルーチンの方に逆に、VRAMをアクセスす >>るコードを混ぜたら良いのでは? そうですね、当時pc98時代は個人的にポリゴン演算の需要がなかっ たので全く考えたことがなかったのですが、どちらにしても 「メモリアクセス命令が一切挟み込めない」という条件下で 可能な仕事がなかなか見つからないのが残念です。 もちろん、正確には「メモリアクセス命令が起きた時点で一時停止」 で動作結果そのものは保証されるのですが、いかんせん潜在能力た っぷりのCPUをみすみす逃しているような損な気分になってしまう のです。(僅差なら気にならないのですが・・・) AZUCO [1999/01/22 Fri 00:08:23] [210.164.19.98] そうなんですよ。最近のプロセッサは相当速くて、下手にメモリアク セスすると逆に遅くなりますねぇ 僕がSH2のエミュレータを作ってるときに、オペコードをテーブル ジャンプで分岐させたんですが、なんと最大3回のテーブルジャンプ よりも、最大48回の単純な条件分岐(キャッシュがヒットし続ける) のほうがちょっとだけ速かったんですねぇ 昔はテーブルジャンプはアセンブラの最終兵器だと思ってたんですが 今は逆にパイプラインストールでコストが高いんですね ところで俺が思うに、VRAMアクセスで挟み込む処理がなければ、 例えば音源ドライバ(あー、でもこれはハードをアクセスするから逆 に遅いな)とかポリゴン演算ルーチンの方に逆に、VRAMをアクセスす るコードを混ぜたら良いのでは? ビットブリットぐらいなら、簡単に混ぜれそうですけど・・・ (思いつきですが・・・・) Sister.DELETE [1999/01/21 Thu 23:02:56] [210.175.14.210] こんばんわ。S.Dです。 >自分と同様、暖かく見守っている事と思います。(笑) あ、見られてたん!?恥ずかしぃ〜(笑) ていうか、本当に恥ずかしいっす。 私の知能レベルの低さを日本中に露呈してしまいましたな(爆)。 とほほ。 一日でカキコが増えてたのでびびりました。すげぇ・・ まぁ、見られてるのは当たり前なんですが。 >486以降にもなると、CPUよりもメモリが追いついて >こなくなってしまいました。 なるほど。確かに今となってはメモリのほうが遅いですね。 しかし、DOS/Vなどのグラフィックカードは最近高性能に なってきてるので、追いついているのでは?いや、単なる 短絡的思考で考えたんですが。 ・・・と、まとまり無く終わってしまったりして(死)。 でわ。 PromisenceJ [1999/01/21 Thu 21:01:41] [202.213.243.99] すみません、下の書き込み主はPromisenceJです。 最速は存在せず・・・ [1999/01/21 Thu 21:00:29] [202.213.243.99] 486以降にもなると、CPUよりもメモリが追いついて こなくなってしまいました。結局、「Push方式」も 「stosw」も全くといっていいほど差が出なくなって しまい、素直に後者を使うことになってしまいました。 が、思わぬ副産物も出てきまして、VRAMなど極端に 遅いメモリに対する書き込み命令の間にADD MULなど の命令を5〜10個くらい挟み込んでも全く処理速度が 低下しないことが判明したからです。 mov word ptr es:[di+0],0000h imul ax add ax,cx sub cx,dx div cx ...... mov word pre es:[di+2],0000h 間に命令を入れても入れなくてもトータルでの 処理時間は「同じ」だったのです。 信じられない結果なのですが、PC98で486マシンな かたは是非試してみてください。 ちなみに書き込み先は 0e000h などプレーン方式の VRAMです。 残念ながら、私の場合この間に入れるべき適切な仕事(処理)が 思い付かずただただ指をくわえて無駄な時間を感じつつ悔しい 思いをしていました。 PromisenceJ [1999/01/21 Thu 20:40:39] [202.213.243.99] みなさん、こんばんは。 >>PC-8801 に関していえば、これが最も高速な画面消去方法でしょ >>う。スタックを使う関係上、その代償として一切の割り込みを停 >>止させる必要がありましたけど。 Z80を本格的に弄ったことはないので詳しく知らないのですが x86系列では割り込み先のプログラムがSPを所定の場所に 保存、復帰させることによってなんとか回避できました。 ただ、どちらにしても他のプログラムに干渉されたくない瞬間でも あるのでしばしば割り込み禁止にしていました。 そのため、サウンドドライバが演奏している曲のテンポが若干狂う という症状が出てしまったことがあったのですが、これら一定期間 に呼べば済む問題は、VSYNC待ちした後に積極的に呼ぶ方法で 帳尻を合わせました(笑 takka [1999/01/21 Thu 11:17:06] [202.230.246.186] >昔の話になるんですけど、PC-8801 では「グラフィック画面の消去を如 >何に高速に処理させるか」がテーマの時代があって、 LDIR 命令や LDI なつかしいですね。 そういえばZ80用のアセンブラで、OHM−Z80てゆうのがあったんですけど これより強力なアセンブラってあるんですか? (半分コンパイラにちかいものがあったなこれ) takka [1999/01/21 Thu 11:07:10] [202.230.246.186] すいません。漢字コードが文字化けしていました。 takka [1999/01/21 Thu 11:00:39] [202.230.246.186] 皆さん始めまして。 今Delphiのインラインアセンブラで困っています。 16ビット用のデバイスドライバをコールしたいのですが、 コンパイラは32ビットなんで、実行するとハングアップしてしまいます。 どのようにコールすればいいのでしょうか? どなたか教えてください。 ソース function GetVxdEntry: Word; // DTSCOPE.VXD/DTSCOPE.386のAPIのエントリーアドレスを取得する var work: Word; begin asm push es pusha mov ax, 1600h //丸保縦唹爪か選Wする int 2Fh // test al, 7Fh // jz @not_running_enhanced // mov ax, 1684h // DSPDC.VXD/DSPDC.386のAPIの丸椿葦爪攴取得 mov bx, DTSCOPE_Device_ID // -> VxDEntry int 2Fh // mov word ptr VxDEntry, di // mov word ptr VxDEntry + 2, es mov ax, es or ax, di jz @vxd_not_installed mov work, 0 // 正常終了 jmp @get_out @not_running_enhanced: // 丸保縦唹爪でない mov work, 1 // jmp @get_out // @vxd_not_installed: ; mov work, 2 // DSPDC.VXD/DSPDC.386が課縦為されていない @get_out: ; popa pop es end; Result := work; if(work<>0) then VxDEntry := 0; end; chaoh [1999/01/21 Thu 06:46:08] [210.175.64.34] ども、chaoh です。 > 私たちしかカキコしてませんね>PromisenceJさん > ほかの方々はどうしたのでしょうか・・・ 自分と同様、暖かく見守っている事と思います。(笑) > >3 スタックポインタをT-VRAMのケツに合わせて連続PUSH命令 > なるほど、そんな方法も・・・私みたいな人間にはSTSWか > LOOP CXな方法しか思いつきません。 昔の話になるんですけど、PC-8801 では「グラフィック画面の消去を如 何に高速に処理させるか」がテーマの時代があって、 LDIR 命令や LDI 命令(8086 で言う所のストリング命令)なんぞで作っていた所、 この 「PUSH 方式(勝手に命名)」を発表された方がいて、 悔しい思いをした 事がありました。(笑) PC-8801 に関していえば、これが最も高速な画面消去方法でしょう。ス タックを使う関係上、その代償として一切の割り込みを停止させる必要 がありましたけど。たぶん 8086 系でも同じく、この方法が一番高速だ と思います。 # 30386 以上の命令って使った事ないんで、もしかしたらあるのかも知 # れんけど。 しかし昨今の CPU 事情を見ても分かるとおり、 その処理速度の発達度 合は尋常ではないので、こういった処理速度の向上を頭をフル回転させ て考え出すのは、割に合わなくなって来ているような気がします。 Sister.DELETE [1999/01/21 Thu 00:54:22] [210.175.14.198] こんばんわ。S.Dです。 私たちしかカキコしてませんね>PromisenceJさん ほかの方々はどうしたのでしょうか・・・ >最初はゲームを作るどころではありませんでした なるほど・・・高級言語に比べていろいろと速度、サイズ等の面で いろいろ追求できる言語ですから、そうなるのも無理ないですね。 結論的には、自分で好みのルーチンを追求して作ることはいいこと ってことですか。・・・違いますかね?(笑) >3 スタックポインタをT-VRAMのケツに合わせて連続PUSH命令 なるほど、そんな方法も・・・私みたいな人間にはSTSWか LOOP CXな方法しか思いつきません。 ・・・ところで、結局はどれが一番速かったのでしょうか? 少なくとも、私が思いつくようなのは遅いのだとは思いますが(涙)。 LOOP展開すれば、少しは速くなりますかね? それでは私はPC98&DOS/VのVRAMをいろいろやってみます。 でわ。 PromisenceJ [1999/01/17 Sun 12:03:53] [202.213.243.99] こんばんは、PromisenceJです。 >>PromisenceJさんは最初に作ったゲームってどんなタイプでした? >>興味本位ですいませんが、ぜひ教えて欲しいです。参考に。ええ。 BASICの時はともかく、ASMのときは最初の丸1年は「ゲームを作る」 どころではなかったです。主にPC98のTextVRAMを弄ってました。 一定区間ゼロクリアという単純なルーチンであれば 1 stosw を使ってストリング命令を使う 2 loop cx を使って予めゼロクリアされたレジスタで書き込む 3 スタックポインタをT-VRAMのケツに合わせて連続PUSH命令 4 mov es:[0],0h mov es:[2],0h mov es:[4],0h と延々と続く機械語命令を予め作成しておいて、 その上を走らせる(もちろん、esには予め適切な値を入れときます) などを試行錯誤していました。最後の4番目は実は mov es:[0],0h と 記述するよりも mov es:[0],ax と記述するほうが速かったのです が、FM-Towns などのパックドピクセル方式のVRAMの場合、パターン転送の最速手段は、 mov byte ptr es:[di+????],??h mov byte ptr es:[di+????],??h 以下、必要なドット分羅列。 という、ビットマップデータを予め機械語命令配列にコンバートして おく方法でした。もちろん、隣2ドットが連続していた場合、 mov word pre es:[di+????],????h と一つの機械語命令に置き換えるとさらに速くなります。 diレジスタは表示しようとする x,y 座標によって一意に決定 されます。 この手法のメリットは必要なドットしか打たないのでゼロチェック が一切ないことと、通常のメモリ2メモリ転送よりも遥かに高速で あることと、キャラクタの形が長方形である必要が全くない(全然 広範囲に散らばっているデータでも処理速度はドット面積にのみ比例 する)などといった点です。 欠点は、ご覧のとおりメモリを大量に消費してしまうことです。 もちろん、パターン転送は大分後になってから気がつきましたが、 やはり最初のうちは書籍プログラムを丸写ししたり、上記ゼロクリア だけを試行錯誤したりしているうちに1年近くかかってしまいました。 ということで、最初はゲームを作るどころではありませんでした。 Sister.DELETE [1999/01/16 Sat 23:46:49] [210.175.14.205] こんばんわ。S.Dっす。 下のカキコ、なんか俺だけに挨拶してるみたいで、照れます(笑)。 あ、なるへそ。個別にクリアしてくんですね。やっぱりアプリ作成 には時間をかけるべきですね。私は急ぎ過ぎですねぇ。とほほ。 やっぱりモジュール別にソースを作るんですか?それともひとつの ソースにまとめてしまうんですかね。 PromisenceJさんは最初に作ったゲームってどんなタイプでした? 興味本位ですいませんが、ぜひ教えて欲しいです。参考に。ええ。 質問ばっかですいません。・・・私が教えることはほぼ何もないと 思うので・・・(涙)。 でわ。NASMもうそろそろ0.98でてるかなぁ? PromisenceJ [1999/01/15 Fri 23:28:28] [202.213.243.99] こんばんは。S.Dさん。 PromisenceJです。 >>ですが、動作部分で高級言語ぽくとASMぽくと切りかえると >>私のPoorな頭じゃ切り替えられんでしょうなあ(爆)。 私の場合、頭の中で切り替えるのが自信がないどころか 最初から諦めているのでコア部分とアプリ部分はそれぞ れ別の期間に各個撃破することにしています。こうすれば 切り替える回数そのものが少なくて済むので(笑 Sister.DELETE [1999/01/15 Fri 00:06:48] [210.175.14.206] こんばんわぁ。S.Dです。 ただいま、PromisenceJさんのカキコを読んでます・・・ なるほど、描画部分はASMっぽくと。なるほど。 ごもっともでつける意見もないですわ(笑)。 ですが、動作部分で高級言語ぽくとASMぽくと切りかえると 私のPoorな頭じゃ切り替えられんでしょうなあ(爆)。 >NASMについて分からないことが出てきたら質問するかもしれません のでそのときはよろしくお願いいたします。 あー。俺が答えられることなんかあるんすかねぇ・・・ 私がPromicenseJさんから教えて欲しいです。 私、ソース読んだりは出来るし、理解も出来るのですが、 自分で書ける段階にきてません。精進したいのですがまだ学業中な ためにいまいちです。 やっぱりこれは「プログラムをたくさん作ってみるC靴C覆い鵑ヌ しょうね。精進しようと思います。 http://www.bekkoame.or(ne).jp/~bero/faqj.htm にNASMのDOCの機械翻訳があるのですがゥドヒ廚覆い辰垢ヘ(汗) でわ。 鳥澤 [1999/01/12 Tue 20:15:02] [210.172.70.130] AZUCOさん、お返事ありがとうございます。 >逆に言えば、1h以外はすべて成功でもいいのではないのでしょうか? 実は私もそう考えておりました。 が、「DOS/Vプログラミングリファレンス(ソフトバンク)」という本には 「AH≠00hは以上終了」としっかり書かれていました。 それに肝心の情報が取得できませんでした。空っぽのままなのです。 ALには「機能サポートインジケータ」が返ってきている為、 ファンクションは存在するようです。 外国の方がコーディングしたC言語サンプルを調べまくっていますが、 全く手応えがありません。 又、ドライバやBIOSバージョンも最新にしました。 メーカーからの返事も音沙汰無しな為、ビデオカードを1.2の物に 変えています。(従ってリニアフレームバッファが使えません。) 引き続き情報をお待ちしております。何卒宜しくお願い申し上げます。 環境:Win95 DJGPP ビデオカードはCreateveのバンシー 鳥澤 AZUCO [1999/01/12 Tue 09:33:22] [202.244.60.1] VESAファンクションコールについて http://www.vesa.org/ にVESA3.0のマニュアルがあります ちなみに、al=0hが成功なのは、VESAファンクションによって値が書 き変わるためで、サポートなしであるならば、かきかわらないはず です。 よって、かきかわるということをとらえれば、al=3hでも成功してい る、といえると思います。 逆に言えば、1h以外はすべて成功でもいいのではないのでしょうか? なぜこの様な事になっているかというと、もともとint 10hはビデオ バイオスだったのですが、その部分にVESAファンクションを後から拡 張したので、この様になっています。 PromisenceJ [1999/01/12 Tue 03:43:54] [202.213.243.99] 引き続き、こんばんは。PromisenceJです。 >>そうそう、今私NASMってアセンブラ使ってるんですが >>使う気ありません?外国の奴ですが。 >>http://www.programmersheaven.com/ 早速行ってみました。極めて濃い所ですね。アセンブラ関連のボードで「OSを作ろうと思ってます。99/10までに30人以上の人が賛成してくれたら制作開始します」というカキコがあったので思わず1票入れてしまいました・・・OS作った経験が全くないのですが(笑 NASMの方も落としてきました。 まだマニュアルを読んでいる段階ですが、あらゆるプラットフォームに対応したOBJを吐き出すそうでおもしろそうです。特にLINUX対応な点に興味があります。 >>とはいえ、もうx86のプログラミングはしなんですかね? いえいえ、前の私のカキコにもありますように暇を見つけては趣味で3dfxカードをいじってます。今現在、C++で記述していますがそろそろレンダリング部分がネックになってきたのでジオメトリエンジン部分だけASMでチューンしようかと思っていたところです。その時はLINUXをもサポートしているNASMを使うかもしれません。まだ味見段階ですが、後々NASMについて分からないことが出てきたら質問するかもしれませんのでそのときはよろしくお願いいたします。 PromisenceJ [1999/01/12 Tue 03:18:27] [202.213.243.99] こんばんは、PromisenceJです。 >>MASM使ったソース見ると .IFがいっぱいでちょっと >>見にくいっていうのが正直なところですね。それに >>なんかASMぽくないというか(笑) そうですね、描画部分などのコアな部分はASMっぽく、 キャラクタの複雑な動作記述などのアプリケーション部分は 高級言語っぽく という風に場合に応じて使い分けていました。 絶対値を求めたり、ゼロリミッタをかけたりする場面に遭遇しても 前者と後者とで記述が違ってきて(後者の場合は甘え?でしょうか) 速度重視か可読性重視かで損益分岐点をカウントしてました。 ただ、どちらも生コードなので最初から高級言語で取り組んでいる ときよりは速度面で両者ともに圧倒的に有利であったことは確かです。 Sister.DELETE [1999/01/11 Mon 23:48:15] [210.164.41.219] >PromisenceJさん あ、なるほどぉ。MASM6.0ADですか。 確かにアレのソースはちょっと高級言語っぽいですよね。 MASM使ったソース見ると .IFがいっぱいでちょっと 見にくいっていうのが正直なところですね。それに なんかASMぽくないというか(笑) ところで、下のやつ文字化けしちゃってますけど、たしか スプライトドライバを作っていたと思ったのですが。 そのときのソースとかは、何行ぐらいの物でしょうか? 実は私、アセンブラは読めますが書けません(死)。 なんというか、参考までに・・・と思いまして。 そうそう、今私NASMってアセンブラ使ってるんですが 使う気ありません?外国の奴ですが。 http://www.programmersheaven.com/ のFILEエリアにあるんで、ちょっとみてってくださいな。 とはいえ、もうx86のプログラミングはしなんですかね? でわ。 Higashi [1999/01/11 Mon 22:27:57] [210.130.49.152] みなさんはじめまして。 いつも参考にさせてもらっています。 ネットサーフィン中に windowsのプログラムを、アセンブラで作成しているページを 偶然発見しました。 いってみられては http://home.intercity.or.jp/users/suneko/ 又、海外の所にもそういう所がありました。 http://www.eskimo.com/~htak/win95asm/win95asm 東 PromisenceJ [1999/01/09 Sat 21:19:07] [202.213.243.99] こんばんは、PromisenceJです。 >>そのとき、ALLアセンブラで書いたとDOCにあってもっと驚きました。 当時、開発に使ったのは、米国版MASM ver6.00AD でした。 確かにALLアセンブラなのですが、制御構造化命令 .if .while などや、関数のプロトタイプ宣言、スタック変数宣言、構造体ゥ・ といった高級言語っぽい機能をたっぷり使っていたのも事実です。 型宣言の前方参照が極端に強いあたり、C,C++ 顔負けです。 これらの機能を使っても、コードが太るわけでもない点が 個人的に一番のお気に入り部分でした。 >>・・・あぁ、「ゲームマシン語シューティング」欲しいなぁ。 すみません。手元にも保存用に数冊あるだけで・・・ ゲーム専門学校の教材として複製配布は今でもあるのですが 書店には多分既に置いてないと思います。 出版元の新紀元社に問い合わせれば購入できるかもしれません。 でも、内容はPC98専用なので今となってはお役にたてるかどうか 分かりません。というわけで、個人的にこの本はお勧めできま せん(笑 鳥澤 [1999/01/08 Fri 10:28:51] [210.172.70.130] chaohさん、ありがとうございました。 >「Interrupt List」っていうドキュメントはご存じでしょうか? 知りませんでした。早速調べます。 >すみません。お役に立てませんで…。(^^; とんでもないです。十分貴重な情報を頂きました。有り難うございます。 問題が解決次第、ご報告致します。重ねてお礼を申し上げます。 ありがとうございました。 鳥澤 Sister.DELETE [1999/01/07 Thu 23:32:17] [210.164.41.218] >PromisenceJさん をを!やっぱりゥゥ好廛薀ぅ肇疋薀ぅ个鮑遒辰討燭隼廚Δホ ですがゥイ修了「良嫗哀愁侫箸膈OGINでのシューティングゲームの スムーズさにかなり驚いた覚えがあります。会えて光栄だなぁ。 そのとき、ALLアセンブラで書いたとDOCにあってもっと驚きました。 ・・・あぁ、「ゲームマシン語シューティング」欲しいなぁ。 >ひでぼうさん おお、役に立ちましたか。よかったです。 オプションですか・・・無いのでは?(爆) 適当に Wudebug HOGE.EXE みたいなのでいいのでは? MASM使ってるんですか。NASMにしましょうよ(死)。 NASMのがわかりやすいと思うけどなぁ。DOC英語だけど。 でわ。 chaoh [1999/01/07 Thu 23:24:14] [210.175.64.34] Re: VESA ども、chaoh です。 > 「VESA3.0で、VBEコール AX=4F01h(SVGAビデオモード情報取得) > を成功させるにはどうすればいいでしょうか」 > VESA1.2のビデオカード(メーカー名不明)では成功するのですが、 > 3Dfx InteractiveのビデオカードではAHに3が必ず返ってきて > 失敗します。 > このコール、成功時はAH=00h、失敗時はAH=01hで、3が返ってくる > とは本(ソフトバンクのIBMPCビデオシステムプログラミングという奴) > に載っておりませんでした。 自分はつい最近まで PC-9801 な人だったので、AT 互換機の情報に関し ては分からないですけど、「Interrupt List」っていうドキュメントは ご存じでしょうか? Interrupt に関する詳細な情報が英文で (^^; 記載されています。 AX=4F01h:INT10h に関する項目もありましたが、確かにエラーとして返 ってくるのは AH=0 と AH=1 のみで、AH=3 の記述はありません。 このエラーの値は、VESA3.0 か 3Dfx 独自のものだと思うんで、やはり そっち方面の資料を手に入れるしかないと思います。すみません。お役 に立てませんで…。(^^; 何日か前に「Interrupt List」の最新版 Release 60 が公開されました。 ダメ元でご覧になってみては如何でしょう。 Interrupt List ftp://ftp.riken.go.jp/pub/simtelnet/msdos/info/ の inter60a.zip 〜 AX=4F01h:INT10h に関する項目は inter60a.zip 内の INTERRUP.A にあ るはずです。 なんか最近あっちこっちで「Interrupt List」の紹介ばかりしてるよう な気がする…。(笑) でわでわ。 ひでぼう [1999/01/07 Thu 11:10:14] [133.145.228.4] sister.DELETEさん、アドバイス有り難うございました。 >WdosX付属のWuDebugってのもありますしねぇ。探してみれば >性能のいいフリーのリンカなんてのもありますよ。 早速Wdosx(Wuschel's DOS extender)を探してダウンロードしてみました。このDOS extenderを使ってsample programを実際に動かしてみました,海譴鮖箸Δ伴蠏擇ヒDPMI(Dos Protected Mode Interface)のinterrupt(by Ralf Brown)を使用したprotect mode programが作れそうですね。 ただ、WuDebugの使用方法が良く分かりません。この FAQはダウンロード時に得られましたが、optionなどが分からないので もし、このデバッガの使用方法をご存知でしたら教えてください。 よろしくお願いします。 PromisenceJ [1999/01/05 Tue 19:24:04] [202.213.243.99] こんばんは。 >>PromicenseJさん、はじめまして。 >>えっと、聞きたいんですがゥ・PromicenseJさんって >>Promicense Softと関係があるんで・・・しょうかね(汗) はい、関係あるというかそのまんまです(笑 現在PSソフトを開発中でして'99中頃発売を目指して頑張ってます。 ですが、同人活動は現在のところ完全停止しております。 とはいえ、VooDoo(3dfxチップ)専用のソフトを趣味で僕個人が 作っていたりもします。ひょっとしたら、ソース込みで公開でき る日が来るかもしれませんが、その時はよろしくお願いします。 By PromisenceJ 鳥澤 [1999/01/05 Tue 16:25:35] [210.172.70.130] はじめまして、鳥澤と申します。 早速ですが、 「VESA3.0で、VBEコール AX=4F01h(SVGAビデオモード情報取得) を成功させるにはどうすればいいでしょうか」 VESA1.2のビデオカード(メーカー名不明)では成功するのですが、 3Dfx InteractiveのビデオカードではAHに3が必ず返ってきて 失敗します。 このコール、成功時はAH=00h、失敗時はAH=01hで、3が返ってくる とは本(ソフトバンクのIBMPCビデオシステムプログラミングという奴) に載っておりませんでした。 ご存知でしたら是非教えて下さい。宜しくお願い致します。 環境:Win95 DJGPP G++のインラインアセンブラ内で上記VBE コール使用。DPMIホストが必要なプロテクトモード アプリケーション。 Sister.DELETE [1999/01/02 Sat 02:53:31] [210.164.41.217] PromicenseJさん、はじめまして。 えっと、聞きたいんですがゥ・PromicenseJさんって Promicense Softと関係があるんで・・・しょうかね(汗) いや、無かったらすいません。個人的に好きな同人(かな?) ソフトウェアメーカさんなもので・・・。 「ゲームマシン語 シューティング」ですか・・・欲しいですねぇ。 最近そういった本をあまり見なくなりましたね。PC-98が無くなった のも原因の一つかもしれませんね。残念です。 >ひでぼうさん DEBUGが付属のものしかないんですかゥ・32BITデバッガなんて いいやつがフリーでいっぱい転がっていますよ。 WdosX付属のWuDebugってのもありますしねぇ。探してみれば 性能のいいフリーのリンカなんてのもありますよ。 といっても、そのリンカさっきとってきたばっかりなので DOCを翻訳(あ、外国のソフトです)してみますね。 あ、そう言えばNetwide Assemblerが0.98にもうすぐなるそうです。 AMDの3Dnow!に対応するとか。 でわ。 PromisenceJ [1998/12/31 Thu 05:12:20] [202.213.243.99] >>ゲームマシン語 シューティングという本ですよね。 >>当時ちょうど部内のプログラムコンテストに向けてネタや資料を >>探していたので本屋で見かけて思わず衝動買いしました。 >>おかげで最初作ろうとしていたよりずっと良いものを出展できました。 >>システムスケルトンのソースが非常に参考になりました。 >>MASMの5.1でも通るように修正するのが大変でしたけど。 >>今年の文化祭に出展したプログラムはC言語で書いたんですけど、 >>ライブラリとして使用できるようにしたものを使いました。 >>MASMの5.1しかなく、サンプルソースも手を加えないと通らない >>という状況下で苦労しましたが、アセンブラによるマルチタスクの >>手法などいろんなことを学ばせてもらいました。 レスが大変遅れてしまい申し訳ありません。 「マシン語シューティング98」の著者の一人である葛目 PromisenceJと申します。この本の企画会議でも、MASMの バージョンに関する問題点は大きく取り上げられ検討を練った のですが、結果的にVer6.0以降専用になってしまいました。 すみません。とはいえ、スケルトンを利用していただき、 少しでもお役にたてて嬉しいかぎりです。 ひでぼう [1998/12/22 Tue 10:58:44] [133.145.228.4] はじめまして。ひでぼうです。 アセンブラをキーワードにネットサーフィンしてましたらこの掲示板を見つけました。 最近8086系のアセンブラを勉強しようと思っています。MASM v6をMSDNより手にいれて「初めて読むMASM」、「初めて読む486」を参考にしています。 まずは、リアルモードとプロテクトモードでのレジスタ群やメモリ内容をダンプしたいと考えていますがなにせど素人なので良く分かりません。PC起動時のダンプはMS-DOSのファンクションコールは使えないし..。 どなたか参考になる本、HOMEPAGE等をご存知でしたら教えてください。よろしくお願いします。 PS:なんでまたダンプなんてと思われるかも知れませんがずZC辰討、 るデバッグツールはMS-DOS付属?のDEBUGしか私は持ってませんので、 32BIT アセンブラでプログラムを作成してもDEBUG出来ません。っていうよりやり方が分かりません。 Magnesia [98/12/11 Fri 02:30:36] [210.227.119.215] >こんにちは、PromisenceJと申します。 ども、はじめまして、Magnesiaというものです。 >実は、私はアセンブラ関連の本を’96に出したことがあります。 >ですが、いわゆる「読者さんの生の声」というものを聞いたことが >なく、この点が非常に気になって仕方ありません。 >以下がその本なのですが、お読みになった方は是非、ちょっとした >感想でも構いませんのでお寄せください! >「ゲームマシン語 PC-98版」 >ISBN4-88317-056-X >日高徹・葛目元公 共著 ゲームマシン語 シューティングという本ですよね。 当時ちょうど部内のプログラムコンテストに向けてネタや資料を 探していたので本屋で見かけて思わず衝動買いしました。 おかげで最初作ろうとしていたよりずっと良いものを出展できました。 システムスケルトンのソースが非常に参考になりました。 MASMの5.1でも通るように修正するのが大変でしたけど。 今年の文化祭に出展したプログラムはC言語で書いたんですけど、 ライブラリとして使用できるようにしたものを使いました。 MASMの5.1しかなく、サンプルソースも手を加えないと通らない という状況下で苦労しましたが、アセンブラによるマルチタスクの 手法などいろんなことを学ばせてもらいました。 meredith [98/12/09 Wed 22:03:51] [210.139.153.67] 最近、書きこみがないですねぇ。 Unit Missing Link [98/11/04 Wed 18:30:45] [210.163.141.4] Unit Missing Link's Web page 'Rhythm' 08/01/98 〜 09/20/98 の書き込みをログページ Message Log 10 に、 09/21/98 〜 10/31/98 の書き込みをログページ Message Log 11 に移動しました。 Message Log 10 に移動したログには、ちょいとえらいことになっていた時期 の書き込みを全てそのままの形で残してあります。 編集・削除しなかった理由としては、みなさんが Technical Assembler への書き込 みに使ってくれた時間を残しておきたかったからです。 これも全て Assembler への思い入れやこだわりの違いからの事だと思いますので・・・ この件に関して何かご意見のある方は、私までメールでお願いいたします。 : |
e-mail: mist@e-net.or.jp | Structured Anchor Tree Return to Menu Return to Parent Menu |
Powered by Unit Missing Link. |