Message Log 12 Return to Parent Menu 
Last Updated by 07/01/05(Fri)  

 
Tips
 

 話がはずんでますなぁ・・・やっぱりアセンブラは良いね。


 
Message log list
 

 アセンブラ掲示板に書き込まれた過去のログです。


Message log 44 (05/01/0506/30/05)
Message log 43 (01/01/0504/30/05)
Message log 42 (01/01/0412/31/04)
Message log 41 (11/01/0312/31/03)
Message log 40 (10/01/0310/31/03)
Message log 39 (04/01/0309/30/03)
Message log 38 (12/01/0203/31/03)
Message log 37 (08/01/0211/30/02)
Message log 36 (05/01/0207/31/02)
Message log 35 (03/01/0204/30/02)
Message log 34 (01/01/0202/28/02)
Message log 33 (09/15/0112/31/01)
Message log 32 (08/01/0109/14/01)
Message log 31 (05/26/0107/31/01)
Message log 30 (05/15/0105/25/01)
Message log 29 (05/01/0105/14/01)
Message log 28 (02/01/0104/30/01)
Message log 27 (01/01/0101/31/01)
Message log 26 (10/01/0012/31/00)
Message log 25 (07/21/0009/30/00)
Message log 24 (06/16/0007/20/00)
Message log 23 (05/20/0006/15/00)
Message log 22 (05/01/0005/19/00)
Message log 21 (04/01/0004/30/00)
Message log 20 (02/01/0003/31/00)
Message log 19 (01/01/0001/31/00)
Message log 18 (11/01/9912/31/99)
Message log 17 (09/05/9910/31/99)
Message log 16 (08/21/9909/04/99)
Message log 15 (07/01/9908/20/99)
Message log 14 (04/01/9906/30/99)
Message log 13 (02/01/9903/31/99)
Message log 12 (11/01/9801/31/99)
Message log 11 (09/21/9810/31/98)
Message log 10 (08/01/9809/20/98)
Message log 09 (07/01/9807/31/98)
Message log 08 (05/04/9806/30/98)
Message log 07 (04/08/9805/03/98)
Message log 06 (02/23/9804/07/98)
Message log 05 (01/01/9802/22/98)
Message log 04 (11/09/9712/31/97)
Message log 03 (10/17/9711/08/97)
Message log 02 (08/22/9710/16/97)
Message log 01 (06/20/9708/21/97)


 
Message log 11/01/9801/31/99
 




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.