1 名前:デフォルトの名無しさん [03/03/07 10:45] ハードウェアを直接叩くのはやっぱり楽しい! DOSにおける開発について語りましょう。
357 名前:デフォルトの名無しさん mailto:sage [04/12/19 14:33:13] 久しぶりの餌なんだから、もっとゆっくり食べようよ
358 名前:デフォルトの名無しさん mailto:sage [04/12/19 14:38:33] 魚が逃げちゃうよ。orz
359 名前:デフォルトの名無しさん [04/12/19 14:48:02] 初学者の割に、他人のアドバイスを聞く耳を持ってないようだがw 耳に心地良い(そして間違ってるwww)アドバイスについて逝くしwwwww
360 名前:デフォルトの名無しさん mailto:sage [04/12/19 14:53:48] wを連打してるのが痛々しい 悔し泣きしてるのか?
361 名前:デフォルトの名無しさん mailto:sage [04/12/19 21:45:00] 他のasmスレに逝ってないようだし、本当に釣りだったかも
362 名前:デフォルトの名無しさん mailto:sage [04/12/19 21:47:40] とりあえずメモリモデルについて調べろ、引数がstackにどう積まれるか、だな
363 名前:デフォルトの名無しさん mailto:sage [04/12/19 22:10:00] 何を逝っても無駄・・・・・誰の話もきいちゃいなかったし・・・・・・・・
364 名前:デフォルトの名無しさん mailto:sage [04/12/19 22:57:13] だーかーらー、釣りだってばよ。
365 名前:デフォルトの名無しさん mailto:sage [04/12/20 00:52:20] こんなリアルっぽい釣りがあるかよ
366 名前:デフォルトの名無しさん mailto:sage [04/12/20 12:54:55] リアルっぽいからこそ釣れるんだろ。
367 名前:デフォルトの名無しさん mailto:sage [04/12/20 13:34:37] おまいらピラニアかよ
368 名前:デフォルトの名無しさん mailto:sage [04/12/20 14:29:30] 本物はどこかふざけてるんだよ。 今回はそれがない。
369 名前:デフォルトの名無しさん mailto:sage [04/12/20 16:47:10] ( ´・_・`)320タン、ちゃんとCの勉強してるかなー
370 名前:320 [04/12/21 00:30:55] すいません。レス遅くなっちゃいました。。 なかなかうまくいかないので、最初からまた調べ直そうと思います。 教えてくれたみなさん、わざわざありがとうございました。 またつまずいたら、ずうずうしいながら質問させて頂きます。 その時は、もう少し高度な話題ができたらなと思います。 (マジレスでした。。。)
371 名前:デフォルトの名無しさん mailto:sage [04/12/21 01:04:57] もう一度だけまじめに書くけど、>>337 がうまく動かないのは、 コンパイラは文字列リテラル "Hello ..."がDGROUPのセグメントにあると仮定したコードを吐いているのに DSが別の領域を指しているため、全然別のデータを読んでいるから。 DSを設定するのはスタートアップ(TCCならc0x.obj)で、 コンパイラがリンカを呼び出すときに、これをリンクしている。 とりあえず、アセンブラコード内でcall _mainするのをやめて 単にCのソースにアセンブラの関数をリンクして動かしてみ。
372 名前:Help [04/12/21 01:36:21] どなたかご存知でしたら教えてください。 C#で作成したDLLからVB6へイベントを通知する方法を ご存知でしたら教えてください。 VB6は、C#記述のInterfaceをサポートしていないので デリゲートでイベント通知がうまく出来ません。 お願いします。
373 名前:320 [04/12/21 01:44:46] >371 その方法は何度かためしたのですが、 Error: Fixup overflow in module main.c at _TEXT:000E, target = _putc という感じで、リンクが出来ませんでした。。
374 名前:デフォルトの名無しさん mailto:sage [04/12/21 01:56:07] じゃあ、コンパイラの出力を参考にセグメント指定をしなさい。 _TEXT segment byte public 'CODE' みたいな奴。(byteかwordか忘れた) そして、_putcを _TEXT segment assume cs:_TEXT _putc proc ... _TEXT ends と書く。 データ領域があったら、DGROUPも設定する。 うろ覚えのまま書いてるから、正確にはコンパイラの出力をコピーするように。 もし、asm側から_mainを呼ぶなら、call _mainの前にDSを設定する。 もちろん、呼び出す所はassume cs:_TEXTとされた_TEXTセグメントの中。
375 名前:デフォルトの名無しさん mailto:sage [04/12/21 04:21:10] なんでも教えりゃわかるってもんじゃないんだよ
376 名前:デフォルトの名無しさん mailto:sage [04/12/21 08:53:39] INT28
377 名前:デフォルトの名無しさん mailto:sage [04/12/22 03:07:11] INT 1B
378 名前:デフォルトの名無しさん mailto:sage [04/12/22 19:33:56] >>377 clc/stc/cmc
379 名前:kai [04/12/27 00:44:06] dos用に作られたCプログラムをwindows上で動かすことはできないのですか?
380 名前:デフォルトの名無しさん mailto:sage [04/12/27 00:46:59] >>379 自分で試せよ。
381 名前:デフォルトの名無しさん mailto:sage [04/12/27 13:49:21] 基本的に動く。ただしNECのPC98のハードウェア、BIOSに依存したものは動かない。 その場合98エミュレータ上では動く。
382 名前:デフォルトの名無しさん mailto:sage [04/12/28 21:52:20] 餌がコネェ
383 名前:デフォルトの名無しさん mailto:sage [05/01/17 00:57:24 ] CGの技術・性能が向上していく一方で、テキストだけ、あるいはラインアートな絵といった ゲームにも大きな魅力を感じている人間がここにいる。 ミステリーハウスとかZorkとかNethackとか。どういうわけだか好きなんだ。 かといって派手な演出が嫌いというわけでもないんだが、とにかく 今もDOSでプログラミングとかしている人は尊敬するわけです。 がんばってくださいありがとう保守。
384 名前:デフォルトの名無しさん mailto:sage [05/01/19 00:32:50 ] DOSはもう流行ることもないんだろうけど 消えることもないんだろうナ‥ せっかく書くんだ 一番好きなOSで動かすのが当然だろう
385 名前:デフォルトの名無しさん [05/01/27 10:57:57 ] TurboC++1.01を使ってるんですが286までしか扱ってくれないので 386レジスタを使おうとしてもコンパイルエラーが出ます なんとかできませんか アセンブラは386対応のものを使ってます int main() { asm{ mov eax,0 ; eaxって何?って言われる }; return 0; }
386 名前:デフォルトの名無しさん mailto:sage [05/01/27 10:59:41 ] >>385 何故eaxを使いたいのか聞かせてくれ
387 名前:デフォルトの名無しさん mailto:sage [05/01/27 11:04:44 ] 前に 66h 埋め込んでおけばいいんじゃねーの? TC++でどうやるかは知らんが。(emitか?)
388 名前:デフォルトの名無しさん mailto:sage [05/01/27 11:22:02 ] >>386 386で動かすプログラムだからeax使った方が効率いいからです >>387 コンパイラが286時代のものなのでそもそもeaxレジスタは存在していなく 未定義の識別子扱いをしてパースしてくれないんです
389 名前:デフォルトの名無しさん mailto:sage [05/01/27 11:24:16 ] go WATCOM with DOS-extender to get the 32bit-full-power!
390 名前:デフォルトの名無しさん mailto:sage [05/01/27 11:41:55 ] >>388 だから、mov eax,0の代わりに、mov ax,0にしてその前に66hを埋め込むってこと。
391 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:00:07 ] こうですか… mov eax,0 db 66h なんと言うか可読性がすごいことになりそうですね…
392 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:01:41 ] >>391 ホームラン級の馬鹿だな
393 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:07:45 ] ワロタ
394 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:12:49 ] その程度の認識で効率がどうのこうの言うのは背伸びしすぎ
395 名前:デフォルトの名無しさん mailto:sage [05/01/27 12:13:21 ] 素直にアセンブラ使えばいいのに。タボシなんか捨てて。
396 名前:デフォルトの名無しさん mailto:sage [05/01/27 17:50:51 ] いや、TurboC/C++は、アセンブラコードは処理できないよ。 外部のアセンブラに渡すだけ。 ていうかね、.286とか.386cって書いているの見たこと内科医? どっか先頭の方、適当なところに入れて桶
397 名前:デフォルトの名無しさん mailto:sage [05/01/28 13:19:16 ] PC/AT互換機用のTCなら、ボーランドのFTPサーバーから 自由にダウンロードできるようですが・・・ 違ってたらスマソ
398 名前:デフォルトの名無しさん mailto:sage [05/01/28 13:30:28 ] FTPは知らんが、HTTPなら。 community.borland.com/museum/
399 名前:デフォルトの名無しさん [05/01/30 23:36:17 ] BCC使ってるんですけど、 system("set /P A=\"[Y/N] \""); system("echo \%A\%"); とやると「%A%」と表示されてしまいます。 どうしたら良いのでしょうか? ご指導くださいませ。
400 名前:デフォルトの名無しさん mailto:sage [05/01/30 23:59:03 ] >>399 Borland C++ の16bit版? ていうかDOSでは set /P は使えないだろ。 >system("set /P A=\"[Y/N] \""); >system("echo \%A\%"); system() 関数は呼び出す毎に別の環境になるので 最初の行で環境変数 A を設定しても その値は次の行には引き継がれない。 system("set /P A=\"[Y/N] \" && echo \%A\%"); とするか、バッチファイル作って呼び出せ。
401 名前:デフォルトの名無しさん mailto:sage [05/01/31 03:06:39 ] system("echo %A%");
402 名前:デフォルトの名無しさん mailto:sage [05/02/07 03:02:15 ] バッチファイル以外で %環境変数% が使えるようになったのはWin95付属のDOS7.0以降だな。
403 名前:デフォルトの名無しさん mailto:sage [int 2ch =05/04/02(土) 07:57:13 ] ttp://www.256b.com/demo/225 ttp://www.256b.com/demo/112
404 名前:たかのぶ [2005/05/09(月) 21:58:11 ] こんなん叩いたら↓ if not exist z: net use z: \\Server01\e$ PPPPP /user:XXXXXX こんなもんがでたYO↓ z: は \\Server01\e$との接続を記憶しています。 記憶している接続に上書きしますか?(Y/N) 藻前ら分かる香具師はいますか
405 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 05:51:11 ] command.comは気が狂いだすから持ち出すのやめてくれ
406 名前:デフォルトの名無しさん mailto:sage [2005/05/11(水) 16:01:09 ] うはwwwwwcommand.comおwwww いいけつしとるのぉwwwwおkwwww
407 名前:デフォルトの名無しさん [2005/06/18(土) 23:11:50 ] 初心者です。突然すいません。急いでいるもので。 ○○.EXEというDOSプログラムの中身を見るのはどうしたらよいのですか?
408 名前:デフォルトの名無しさん [2005/06/18(土) 23:15:13 ] バイナリエディタで開け
409 名前:デフォルトの名無しさん mailto:sage [2005/06/18(土) 23:16:02 ] >>407 d>debug ○○.EXE
410 名前:デフォルトの名無しさん [2005/06/18(土) 23:20:00 ] ありがとう。 定番バイナリエディタってどれです? (409は難しそう)
411 名前:デフォルトの名無しさん [2005/06/18(土) 23:33:43 ] 16進でみたいだけならviでもhidemaruでもMifes(綴分からん)でもいいけど。 中味を見るというのがよく分からん。 ひょっとしてexeからソースを復元したいの?
412 名前:デフォルトの名無しさん mailto:sage [2005/06/18(土) 23:36:22 ] はげまるって、 まだDOS版売ってるの?
413 名前:デフォルトの名無しさん [2005/06/18(土) 23:53:04 ] >>411 難しいことはよく分かりません。 とりあえず「Stirling」ってやつVectorで定番って書いてあったからそれで開いてみた。 4D 5A 20 01 6C 00 74 00 20 00 C4 09 FF FF 52 0D MZ .l.t. .ト...R. ↓ ↓ ↓ 延々と続いてる 初めて見ました。(初心者です) 右のほうは何なんですかね?文字化けしてるのかな? DOSプログラムでNotePCのバッテリー情報を確認できるツールが有るんだけれど 機種によって使えたり使えなかったりするので、どこかを変えれば何とかなるのかなって思って… だけどこの数字の羅列の意味はよく分からないな…
414 名前:デフォルトの名無しさん [2005/06/18(土) 23:53:10 ] dos限定だったのか。 エスパーな会話しちゃったw
415 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 00:02:25 ] >>413 それがプログラム 左が16進数で、右がテキストエディタで開いたときのものと思え ってか、お前がバイナリエディタで開いたバイナリは 改編を認めてるのか? ライセンス違反だぞ
416 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 00:03:48 ] このスレッドの名は DOSでプログラミング "で"なんだから、DOSを使うのが前提でしょ? コマンドプロンプトではなくDOS ずっと俺はそう思ってたけど
417 名前:デフォルトの名無しさん [2005/06/19(日) 00:10:55 ] >>416 winに付属しているコマンドプロンプトしか頭になかった。 正直すまんかった。 (そういや、伯父もいまだにPC98FAつかっているしな)
418 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 00:15:22 ] >>413 どんなプログラムか知らんがその機種にあったものを探した方が早いと思うぞ。 素人がぱっと見ただけでパッチを当てられるようなもんじゃない。
419 名前:デフォルトの名無しさん [2005/06/19(日) 08:21:05 ] DOS始めるには何からやればいいの?
420 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 08:39:23 ] あきらめる
421 名前:デフォルトの名無しさん [2005/06/19(日) 11:46:26 ] >>419 DOSのインストール
422 名前:デフォルトの名無しさん [2005/06/19(日) 19:41:31 ] >>421 DOSのインストールって何 もともとあるんじゃないの?どこにあるの?
423 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 19:49:03 ] >>422 DOSだって昔は単独で販売されていたんだからインストーラだって存在していた。
424 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 20:15:09 ] >>422 WinNT系にはDOSは入っていない。 今DOS単体が手に入るのかどうかは不明。 やりたいんならWin9x系OSをインストールするとかかな
425 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 20:50:01 ] DR DOSでも使えばいい
426 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 21:11:03 ] Windows 2k/XPでもDOS起動ディスクは作れないわけではない。 homepage2.nifty.com/winfaq/w2k/hints.html#952 homepage2.nifty.com/winfaq/wxp/boot.html#745
427 名前:デフォルトの名無しさん mailto:sage [2005/06/19(日) 21:13:34 ] DOS"で"プログラミング なんだから、DOSでやろうや Win9xでやるのもいいと思うが、そしたら絶対に Windowsのエディタでコード書くだろ DOSを入れろ
428 名前:デフォルトの名無しさん [2005/06/20(月) 01:43:36 ] やっぱ、VB1が、とても好き。 mouse.com入れて、結構あそべます。
429 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 09:44:56 ] MS-DOSを使ってみて、かなり不自由だったので ツール郡を移植したあの日々 2ヶ月後くらいに公開したら、もっと質のいいものが出回ってるとしった日 死にたくなった あれから、2度とDOSの画面は見ていない
430 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 10:49:41 ] DOS上で、Windows のプログラム開発は、出来ますか? gcc + mingw とかで。
431 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 11:03:22 ] >>430 MS-DOSでgccは動かないと思いますが。
432 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 12:48:01 ] >>430 動作確認はどうするんだよ。
433 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 13:32:58 ] djgpp
434 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 15:25:42 ] >>431 マジっすか? というか、勝手に思っててください。
435 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 16:41:54 ] 思うだけなら自由だしな
436 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 19:35:05 ] ここでいってるDOSってMS-DOSのことなの? もし、MS-DOS限定ならバージョンはどれを指すの? >>1 を見るとハードを直に叩けるって言ってるから6.1以前の物限定?
437 名前:デフォルトの名無しさん mailto:sage [2005/07/20(水) 05:25:08 ] ポッカーーーン
438 名前:デフォルトの名無しさん mailto:sage [2005/07/20(水) 05:46:40 ] 俺がMS-DOSを使わなくなったのはメモリの管理を阿呆みたいにし始めたからかな
439 名前:デフォルトの名無しさん mailto:sage [2005/07/20(水) 11:26:23 ] EMSにXMS、さらにはBMSか?
440 名前:デフォルトの名無しさん mailto:sage [2005/07/20(水) 17:39:37 ] UMB,HMA,
441 名前:デフォルトの名無しさん mailto:sage [2005/07/20(水) 20:16:29 ] >>440 どっちもXMSの一部じゃなかったっけ?
442 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 00:14:12 ] そういえばそうだったかも。 ん、でもHMAはXMSのおまけで、UMBは仮想EMSのおまけだったような気も。 XMSって286以上の規格じゃなかった?
443 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 06:14:11 ] UMBの割り当て/解放のファンクションはXMSドライバのファンクションの一部に いちおうなってる www.ctyme.com/intr/rb-4768.htm EMM386を組み込まないと実際には使えないんだろうけど
444 名前:440,442 mailto:sage [2005/07/21(木) 17:22:29 ] 勉強になりました。 でもこの先使うことなどなさそうな知識だ。
445 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 18:49:15 ] (ノ∀`)それを言わないで
446 名前:デフォルトの名無しさん [2005/07/23(土) 07:17:32 ] CD-ROMドライバはネットワークドライブ(のドライバ)の一種だそうですが、ネットワークドライブの仕様について情報源があれば教えて下さい。
447 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 07:19:48 ] ドキュメント読めよ
448 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 14:47:28 ] ドキュメントはないんじゃなかったっけ? Undocumented DOSにネットワークリダイレクタの機能を利用した RAMディスクのサンプルが出てたけど
449 名前:デフォルトの名無しさん mailto:sage [2005/07/24(日) 19:37:18 ] DOSでプログラミングじゃなくてDOSをプログラミングになってきた俺はどうすればいいんだろう・・・
450 名前:デフォルトの名無しさん mailto:sage [2005/07/24(日) 20:55:13 ] >>449 用途によってはDOS互換OSもまだ需要があるから そのままがんがれ!
451 名前:デフォルトの名無しさん mailto:sage [2005/07/31(日) 21:00:23 ] Dos Promptでシューティングでも作りたいんだが なんか良い解説サイトとかない?
452 名前:デフォルトの名無しさん mailto:sage [2005/07/31(日) 21:01:05 ] こことか超おすすめ www.google.co.jp/
453 名前:デフォルトの名無しさん mailto:sage [2005/07/31(日) 21:31:34 ] 俺はDOSエクステンダを自分で作ってみたい っていうか、どういう処理をしてるんだよ 気になって夜も眠れん
454 名前:デフォルトの名無しさん mailto:sage [2005/07/31(日) 22:02:59 ] その時の気分でプロテクトモードとリアルモードを切り替えてるんだよ
455 名前:デフォルトの名無しさん mailto:sage [2005/07/31(日) 22:07:13 ] >>453 ttp://www.vector.co.jp/soft/dos/prog/se008332.html
456 名前:453 mailto:sage [2005/08/01(月) 22:08:39 ] >>455 おーサンクス心の友よ
457 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 23:41:51 ] こっちのほうが詳しそうな人がおおいので、質問させていただきます PCIデバイスのプログラミングやっとります。 PCIデバイスで割り込みを使うには、PIC(割り込みコントローラー)の、モードをLevelトリガーモードに しないといけないようです。そのためPCIバス対応の割り込みコントローラー(APIC?)には、IRQを部分的に Levelトリガーモードにする機能があるようなのですが、いくらぐぐっても らしき資料が見つかりません。 どなかた助けてください、お願いします