1 名前:デフォルトの名無しさん [03/03/07 10:45] ハードウェアを直接叩くのはやっぱり楽しい! DOSにおける開発について語りましょう。
724 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 21:38:08 ] 何でレジストリが\\HKEYから始まるわけ?
725 名前:365 [2007/02/07(水) 12:14:03 ] DOSで あるプログラムを、a.exe "引数パス指定" と起動しているのですが、 引数パス部分に空白が混じっていると、引数が2個と判定されうまく動きません。 空白が混じっている引数パスを一個のものとして認識させるには、 どうすればいいでしょうか?
726 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 12:26:29 ] >>725 a.exe の仕様によって異なる。
727 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 16:12:31 ] >>725 a.exe が本当にDOSならばパスに空白が入ることはない。 a.exe C:\DOCUME~1\HOGE\MYDOCU~1\ABCDE~1.TXT
728 名前:デフォルトの名無しさん [2007/03/15(木) 22:55:25 ] 古いけど はじめて読むシリーズは最高にわかりやすくてよい
729 名前:団塊親父 [2007/03/21(水) 13:24:38 ] プロフェショナルの皆様、教えて下され PC9821+MS-DOS6.2-Mind(Forth風言語)+MASMで 機嫌良くデジタルIOボードを使いロジックアナライザやプリント基板CADとかのアプリを作って遊んでおった やっぱり640×400dotのグラフィックが苦しくて、環境移行を考えWindowsのVBとかVCとか触ってみたんだが 何かDOSより退化している気がした、WebもNETもマルチタスクも要らないとしたらDOSがマシなのでは 例えば10msのタイマを作ろうとしてもダメだった、 ハードも直接叩けないらしい。 VBのピクチャボックスではスクロールすらできないようだしN88BASICより貧弱と思った 「何じゃこりゃ」という感じだった。 この感想は当っていますか? 現在PC/AT用のDOSは売られていますか?、探したけれど見つからなかった Windowsでも腕を磨けばDOS以上のことができる? Windowsでは無理、他のお勧めOSはありますか? 良き指針をお願いいたします。
730 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:28:08 ] www.amazon.co.jp/%E6%97%A5%E6%9C%AC%E3%82%A2%E3%82%A4%E3%83%BB%E3%83%93%E3%83%BC%E3%83%BB%E3%82%A8%E3%83%A0-PC-DOS-2000-%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88/dp/B00008HYVG
731 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:51:06 ] ハードを直接叩けないのは必然的な進化の方向性。 Windowsの上でWindowsアプリケーションが、 PC-98版でもPC/AT版でも、今で言えばx86でもx64 (WOW64)でも 共通のバイナリで動くようにするため、 またそれよりなによりマルチタスクを実現するに当たって 現実的な解は(少なくとも当時)それくらいしかなかった。 そもそも理想的にはソフトウェアはハードウェアのことを意識するべきではないというのが 大昔からソフトウェアに関わる学者・研究者に根底に存在する風潮。 最近のコンピュータの性能向上でようやくWindows並に ハードウェアを隠しても性能的に問題なくなってきたというところ。
732 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:54:06 ] >>729 今でもデジタルI/Oボードを出しているメーカではドライバとライブラリを出している。 しかも大抵はドライバやライブラリは愚かサンプルプログラムも無料で。 従って、適当なボードと適切なライブラリを組み合わせればハードを直接叩くようなことも何ら問題ない。 リアルタイム所為はまぁ、工夫のしどころではあるが。
733 名前:団塊親父 [2007/03/21(水) 23:09:13 ] 皆様レスありがと。 >>730 さん DOSもCも売ってるんですね、買って遊んでみようと思います。 果して自分のWin-XPマシンで動作するのか? 最近のWinマシンはPC/AT互換機なのか? そしてグラフィックスはどうやって書くのか? 興味津々です。 >>731 さん なるほどね、やっぱ普及時代から成熟期に入るとブラックボックス化してしまうんですね、 趣味的には面白く無いのでWinodwsには手を出すまいと思います。 何かオーディオの世界が、球から石へレコードからCDへ変って興味が無くなったのと似てます。 >>732 さん 確かにくぐるといろんなドライバがありました。 ただ「ソフトクロックは±200%も振れるので使わないように」と注意書がありました。 昔はNOPを勘定してれば良かったのですが、 結論としてはWin環境でリアルタイムサンプリンクするならば、外部からクロックを与える必要が有りそうです。 それとて、クロックは正確でも取込み処理のオーバーヘッドがものすごく デバイスドライバ→DLL→変数→保存という処理に何μSかかるか誰にも解らないとのこと 参考になるスレが有ったらご紹介下さい。
734 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:40:26 ] リアルタイムで何かやるなら、それ専用のサブプロセッサ(とバッファ)用意するのが 最近の流れじゃないの。PC(Windows)側のレイテンシはそんなにシビアに要求しない。
735 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 23:51:30 ] そうだね。 パソコンをクロック測るためだけに使うのってもったいない。
736 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 00:31:18 ] 計測とかだと、今はPICなんかで独立基盤に実装して シリアル-USBでデータだけパソコンに取り込む形が一番手軽なんじゃないかな 最近のPCじゃ手軽に使える汎用I/O自体なくなってるから 最低でもPCIなI./Oボード調達しなきゃならない OSもリアルタイム向きとはいえないし
737 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:52:45 ] >>733 氏 >果して自分のWin-XPマシンで動作するのか? 作成したDOSアプリは「コマンド プロンプト (DOS窓)」で動作しますが、やっぱり メモリ、I/O、割り込み、DMAには直接 アクセスすることはできません。 >最近のWinマシンはPC/AT互換機なのか? OADGの発展系と言ってよいと思います。 目について違うところはIRQ16以上が あることでしょうか? >そしてグラフィックスはどうやって書くのか? Win32 APIかDirectDrawを使用することに なると思いますが、面倒そうです。 サードパーティ製の便利ライブラリがあるかも 知れません。 タイミングにシビアな計測等はハードウェア側で 完結させてしまうというのが当然のような流れに なってますね。 A/Dなら自前のタイマ、でかいFIFOが必要なので CPLDでは足りなくて、結局FPGAになっちゃったり しますね。
738 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 17:19:43 ] ATバスの無いAT互換機なんて・・・
739 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 13:05:34 ] ATバスってISAのこと?
740 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 14:06:33 ] 元々はね。 ATバスをIEEEが規格化したのがISAバス。正確にはEISAが制定されたときに一緒に付けられたらしい。 ttp://ja.wikipedia.org/wiki/Industry_Standard_Architecture その前にXTバスってのがあって、その上位互換がATバス。 >738 ちなみにレガシーデバイスは今でも見かけ上ISAバス経由ということになっている。 最低限のポート、メモリ領域、IRQ 、DMAの割り当ては昔からそのまま。これをもってAT互換機って事にしてるみたいだから。 もっとも今はIA(インテルアーキテクチャ)-PCとでも言いたくなる代物だけど。
741 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 12:22:59 ] そうか、XTバスのことを考えるとISAって呼ぶより ATバスって呼んだほうが自然だね
742 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 00:34:22 ] ポワーシェルは放置?
743 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 23:13:53 ] DOSでは動かんからな
744 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 00:31:02 ] なあ、前から疑問なんだけどフラットに32bitアドレス空間をアクセス可能な プロテクトモードをサポートした、かつハードウェアを直接叩く事ができる (仮想86モードで?)DOS上位互換なOS(DOS?)ってあり得ないのかな? DOSエクステンダではなくて。 それともそんなものを誰も作ってくれないだけ?
745 名前:744 mailto:sage [2007/05/30(水) 01:32:17 ] I/O処理はEFIを呼び出せたり、Windows用のデバイス・ドライバを登録して 使用(流用)できたりしたら最高なんだが。 なおかつI/Oの直叩きもできる、と言うのは矛盾があるだろうか?
746 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 01:45:27 ] >>744 つ FreeDOS-32
747 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 06:00:30 ] >>744 Mona
748 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:34:32 ] WindowsのDPMIは、Windows 3.x-9xのデバイスドライバ (VxD)が呼べたと思う 実質DOSエクステンダだけどね それに、IOだって直叩きしても実際にはVxDが割り込んで処理するし
749 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:49:03 ] Towns
750 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:53:13 ] >>749 なにそのDOSエクステンダ
751 名前:デフォルトの名無しさん [2007/06/07(木) 23:28:27 ] ab123.jpgというファイルでabを900と書き換えて900123.jpg とする方法を教えてください。 ren ab*.jpg 900*.jpg とすると90023となり全体が5桁になり 900123になりません。 よろしくお願いします。
752 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 23:50:06 ] >>744 いまどきシングルタスクなんて… マルチスレッドだとハード叩くと危険。
753 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:19:26 ] >751 そのまま維持したい部分(”123”)を "*"じゃなくて文字数分の"?"で表せば良いんじゃなかったっけ? >752 だからハードを直叩きするにはシングルタスクにするしかないだろ? そうすれば全部ひとつのアプリが管理するから余計な事を考える必要が無くて 自分が使う単機能なソフトを書くには楽なんだよ。
754 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:32:29 ] >>753 OSいるの?
755 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:46:45 ] >>753 セクタ0のIPLからアセンブリコード書けば解決じゃね?
756 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 01:36:17 ] >754-755 セルフ開発環境どころからローダーすらなしかいw?
757 名前:デフォルトの名無しさん [2007/06/08(金) 07:32:57 ] >753 ????で合わせても全体の文字数をrenが 一致させてしまうのでうまく行きません。 5桁から6桁にする方法が分からないのですが。
758 名前:753 mailto:sage [2007/06/08(金) 12:44:54 ] >757 どうもDOSのRenameコマンドのワイルドカード表現には文字数による奇妙な制約があるみたい。 そういう場合、私は良くDIRコマンドの出力をリダイレクトするなどしてファイルに落とし、 エディターで1ファイルずつリネームするコマンドを並べたバッチファイルを作成します。 名前を変更したいファイルが何千件もあるとかなり大変ですが。 後は専用ユーティリティソフトを使うか自分でコードを書くしか無いような。 REXXのような正規表現を扱えるスクリプト言語が手近にあると便利です。
759 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 13:00:33 ] 下手に実行してファイル失ったこと数知れず
760 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 13:25:17 ] >759 それが心配なら先に別のディレクトリなどへバックアップコピーを作っておけばよい。 また、いきなり本番を実行しないでまずは少数の失っても良いファイルに対する バッチorコマンドを作成して試しておく。 Renコマンド自体、もし変更後の名前が既にあるファイル名と衝突すると エラーで止まるのでそう危険じゃないし。
761 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 14:12:19 ] 一番いいのは 無償のVirtual-PCを入れる事だと思うな www.microsoft.com/japan/windows/virtualpc/default.mspx
762 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 18:14:43 ] >761 意味が良く分からんが例えばXPが動作するPC上にVirtual-PCを導入して その上でDOSを走らせておいてゴニョゴニョやると言うような事かな? そうするとその仮想マシン上のDOSからアクセスできるハードディスク エリアに目的のファイル(のコピー?)を全て持ってくる必要があるな。
763 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 19:34:21 ] 出来ればWin95を持っているといいんだけど、 そうじゃないと面倒かも まあFDD付いてるパソコンならいいんだけど、最近FDD無いPCもあるから、その場合、 virtual-PCにDR-DOSなんかを入れるにも、まずVFDを作らないといけないのだけど それを作るにも、まずはDOSが必要というジレンマ。
764 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 20:49:56 ] >>763 つ [FreeDOSのISOイメージ]
765 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 21:10:12 ] >>763 つ [FreeDOS/V珠洲版] >>764 さんの FreeDOSのISOイメージでCDブートした場合は仮想HDDを用意して それにインストールする事になるけど これは 解凍したら .IMG が出来るんで、VirtualPCの仮想FDでそのまま起動可能になる
766 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 00:11:31 ] FreeDOS 1.0 のインストールCDもLiveCDになってるからISOイメージ読ませるだけで使えるぞ。 まあ所詮DOSだからHDDにインストールしても最初に1回手間が掛かるだけでそんなに容量食わないけどな。 OpenWatcomやnasmなどの開発ツールも含まれてるし。
767 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 08:53:00 ] XPに標準で入っているコマンドプロンプトで、whichやwhereにあたるコマンドは なんになるのでしょう?
768 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 09:37:55 ] ファイル郡に対して処理出来る FOR ファイル内容に対して処理出来る FOR はあるけど プログラムの制御命令としてはGOTO しかないさ
769 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 18:09:36 ] >767 whichはないんじゃないかな。 whereはdir /sで代用。
770 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:27:31 ] >>769 dir /s か。知らんかったんで勉強になった。 でもやっぱwhich/whereは作るしかないか。
771 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 05:31:08 ] cygwin入れてcygwin\binにパス通しておけば各種コマンド使い放題になるよ。
772 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 05:37:37 ] いいかげんバージョン mywhich.bat @%comspec% /e:on /c echo "%~$PATH:1" > mywhich explorer.exe "C:\WINDOWS\explorer.exe" > mywhich explorer ""
773 名前:デフォルトの名無しさん mailto:sage [2007/07/08(日) 08:52:41 ] 下記のような事がしたいのですが.batかjperlかkermitで可能な方法は無いでしょうか loop Escキーが押されたら終了 aキーが押されたら 処理1 0.3秒ポーズ 処理2 loopへ Aキーが押されたら 処理2 0.5秒ポーズ 処理3 loopへ PgUpキーが押されたら 処理4 loopへ HOMEキーが押されたら 処理5 loopへ
774 名前:773 mailto:sage [2007/07/24(火) 07:45:55 ] DOSバッチでbu使ったらあっさりできました レスポンスに多少問題有るので今度はQBASICかLSI-C86あたりでやってみます
775 名前:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I [2007/08/06(月) 00:17:53 BE:50436825-2BP(1000)] master.libって結構色々と入っているのな。 BFNTのsuper_putぐらいしていなかったから驚いた。
776 名前:デフォルトの名無しさん [2007/08/08(水) 18:17:55 ] 純粋に32bitのDOSってあるの?
777 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:44:53 ] nai
778 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 01:54:27 ] Disk Operating Systemとしてなら窓含め腐るほどあるじゃん
779 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 11:19:58 ] ありがと。 じゃ、UNIXのCUIに行くわ。
780 名前:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I [2007/08/27(月) 17:47:08 BE:60523362-2BP(1000)] 98のアナログパレットってひっちゃかめっちゃかにかき回しておk? CEDITでBFNTフォーマットの画像をいじっているとそうは感じられなくて....
781 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 11:46:57 ] よく意味わからんけど、何out しても大乗V
782 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 21:06:22 ] つ 常駐パレット
783 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 23:23:04 ] com形式のプログラムの開始位置アドレスが100hからなのは DOSが生のアドレスを扱っていて、0h〜077hまでに DOS側ですでに割り込みテーブルなどがしかれているからですか?
784 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 23:31:55 ] >>783 CP/Mとの互換性のため。 8086の割り込みベクタ・テーブルは0000:0000から。 いくらDOSでもそんなメモリの先頭付近にユーザープログラムを 配置したりはしない。
785 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 23:43:52 ] >>784 即レスありがとうございました 先頭64バイト程度の犠牲なら互換性を取る価値があったってことですか、なるほど よく考えなくても100hはオフセットアドレスの話でしたね…
786 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 23:54:57 ] 256バイトでしたorz
787 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 00:15:50 ] >>786 0x80からはコマンドラインで使っている。だから、256バイト丸々無駄にしているわけではない。
788 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 00:48:41 ] >>787 あ、80hにコマンドラインの引数を格納してたのは決まりごとだったんですね 度々ありがとうございます
789 名前:787 mailto:sage [2007/09/05(水) 00:53:50 ] >度々ありがとうございます いや、私が書いたのは>787だけ。
790 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 01:01:17 ] 先頭256バイトの内容 ttp://www5c.biglobe.ne.jp/~ecb/assembler2/7_5.html
791 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 01:07:04 ] >>789 あ…早合点してましたすみません >>790 とても分かりやすいです、ありがとうございます
792 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 07:59:01 ] ORG 100H :START
793 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 12:07:30 ] DOS コマンドについて聞きたい事がありますが、 どこのスレが適当でしょうか・・・・
794 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 20:56:43 ] >>793 pc11.2ch.net/test/read.cgi/win/1169994853/l50
795 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 02:04:38 ] 最近の若い人はDOSの使い方を知らない人が多過ぎます。 DOSのバッチを作成すれば仕事も自動化できるのに・・・・ 新人研修でまずはDOSを使うことを教えるべきだよな。
796 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 02:26:28 ] >>795 その場合には、わざわざ DOS じゃなくても適当な shell がいいと思う DOS はフルパワーで IO 処理させるのが好きだ
797 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 22:07:01 ] WSH覚えたらバッチなんて馬鹿らしくて使えない。 最近はPowerShellにどっぷり
798 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:43:24 ] DOSでWSHやPowerShellを使うとは凄いですな
799 名前:デフォルトの名無しさん [2007/11/09(金) 18:53:06 ] 教えてください。 いま、ffmpeg に付属してた ffplay.exe(動画再生)をDOSコマンドラインでいじってます。 それの起動オプションのヘルプを見るには、【 ffplay -h 】だとドキュメントにあったので やってみても、何も表示しないんで、【 ffplay -h > help.txt 】とやったら、ファイルになって見れました。 それならってんで 【 ffplay -h > con 】なら出るかと思いきや、画面には出ませんでした。 ファイルで見れるから問題はないんですが、こういう場合画面に出す方法を知りたいんです。
800 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 20:03:55 ] 知りたいですかそうですか。
801 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 22:14:45 ] cmdはdosじゃないから
802 名前:799: [2007/11/09(金) 22:27:22 ] >>800 ぜひともw
803 名前:799: [2007/11/09(金) 22:51:09 ] >>800 >>801 どうやら、場違いなスレッドに質問したようで、失礼しました。 コマンドライン関係のスレッドがありましたので、そっちへ行きます。
804 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:02:23 ] >>801 どっちでも、いいじゃん
805 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:37:33 ] cmdならスレ違いだと本人が気がついてるんだし。
806 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 08:12:45 ] Windowsでコマンドプロンプトが16bit DOSセッションへの 命令だったのは95(及び98&Me)までだったっけ? Win3.1だけだったって事はないよな。 W2Kは確か、もう32bit環境でのコマンドラインだったはず。
807 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 18:44:32 ] XPになってもcommand.comのバージョンは MS-DOS 5.00 のままだな。 Meの最新バージョンを移植とかできないだろうか・・・
808 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:02:02 ] まあ、NT系ではDOSのファンクションコールから先はNTVDMのエミュレーションだし。
809 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:46:09 ] Win3.1のアプリはDOSのファンクションリクエスト使ってたよね。 スワップファイルだけは32bitアクセスだったっけ?
810 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 05:52:02 ] WindowsXPでちゃんと動いた。 DOSそれもCP/M互換ファンクション呼びまくり。 dn.codegear.com/article/20693
811 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 02:51:09 ] @C1メ0ニ5!@ア0(チヘ!テ
812 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 01:29:36 ] 何?
813 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 03:19:35 ] NO SYSTEM FILES
814 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 13:13:45 ] >>810 超早そう。ソース書く前にビルド完了してそうだ。
815 名前:デフォルトの名無しさん [2007/12/04(火) 22:24:36 ] 教えていただけると助かります。 現在、Win95でDOSプログラム(粒子解析系)を動かしているのですが なにぶん古いPCなので時間がかかります。 そこでこのプログラムをXPで実行できればかなり早くなるのではないかと思い 調べたところ、16Bitと32Bitの違いにより基本的にはXPじゃ無理で 仮想DOSマシン(VDM)上で起動すればできるかもしれないと書かれていました。 その手順通りにXP上で動かしてみたのですが、エラーで動きませんでした。 16Bitのプログラムを32Bitに変換するようなことって出来るのでしょうか? それともXPで動かすのは無理なのでしょうか。
816 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:06:52 ] >>815 ソースからなら修正しまくって変換できるかもよ。
817 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:08:08 ] 俺は詳しくないがコーディングによる 16bitと32bitでは、データ型のサイズが違ってくるので その辺を意識すればどっちでも動くようにはできるかもしれない
818 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:50:16 ] >>816 >>817 プログラム素人なうえ、そのプログラムもほかの人が作ったものなので ソースがあるかわかりませんが、ありがとうございます! それとVirtual-PC2004というものでWin95がエミュレートできる?(理解が間違ってるかもしれません) ようなのですけど、そのエミュレートした95上でなら動かすことができるでしょうか。 やってみれば早い話ですね…ありがとうございました。
819 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:54:06 ] つーかDOSプログラムならXPが動いてるマシンをDOSで起動して動かせば それなりに速くなるのでは。
820 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 23:58:10 ] >>818 再コンパイルの話(たとえ可能性だとしても)が無いところから見て、exeしかないんだろうな、多分。 そのプログラムのソースがあるならフリーでもいいからコンパイラを入手してリビルド。 C,C++はもちろんだが、Fortranなんかでも探せばあるだろ。 もし無くて、NTVDMでも弾かれてるなら仕方が無いからDOSで起動出来る環境を作れ。 VirtualPCとかでやっても遅くなるだけ(それでもマシかもしれないけど)だから純粋なDOS環境にしろ。 DOS起動用のシステム入りFDDはそういう指定でフォーマットすれば出来る(xp上からでも) メモリとかの必要でconfig.sys弄るとなると知識要るけど。 もしPC-9800シリーズ専用とかだったら・・・手に負えん。ソフトの移植をできる人間に頼め。
821 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 00:26:20 ] >>819 >>820 丁寧にありがとうございます。 おっしゃるとおり、exeしかないのでソースがあるのかどうか確認してみます。 あれば、コンパイラというものでできる可能性があるということですね! XPでDOS起動フロッピーを作成すれば、それだけでDOS起動できるようになるのでしょうか。 メモリ、PC98専用等の問題は大丈夫なはずなので、やってみます。 本当に助かります!
822 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 02:48:34 ] >>815 おまえのPCのXPをアンインスコして W98にするのが一番速いだろうね
823 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 03:35:37 ] >>815 古いPCに何入れても同じ。
824 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 18:45:36 ] 213 不明なデバイスさん 2007/11/10(土) 14:07:06 ID:W3p2XVa0 >>210 HDDパスワードクラックって言うより DOSでMBR(メンテナンスエリア)丸ごと書き換えの方法 ttp://trashbox.homeip.net/nownow/20070107/ ここの下のソフトがあればダンプしてバイナリエディタで見れそう ロシア系サイトらしいけどなんてソフトなんだろ? HDDパスワードについてググってたらHitしたんですが 上記のHPに紹介されてるようなDOSツールをご存知ないでしょうか? 古いThinkPad240のBIOSアップデート中にフリーズし電源切って立ち上げたら 本体とHDDにロックがかかっていました 本体のパスはttp://sodoityourself.com/hacking-ibm-thinkpad-bios-password/などを 参考にEPROMリーダーを自作し解除が出来たのですが その解析したパスがなぜか内臓HDDには通らずロックがかかった状態です ローレベルフォーマットしてもロックは解除できないようで 色々検索してtteditorなども試してみたんですが上手くいかず上記書きこみのDOSツールを探しています 詳しい方いらっしゃいましたら検索のヒントでも教えていただければ助かります 宜しくお願いいたします。
825 名前: ◆0uxK91AxII mailto:sage [2007/12/17(月) 08:04:19 ] >>824 他人様が掛けたpasswordをcrackしたいのがミエミエの糞は、死んでおいた方が良いよ。
826 名前:デフォルトの名無しさん [2007/12/17(月) 11:56:02 ] >>824 つatapwdぐらいしかシラネ >>825 わかんないならわかりませんって正直に言えよwww
827 名前:デフォルトの名無しさん [2007/12/19(水) 11:17:35 ] 申し訳ございませんが教えてください DOS画面で「〜」ってどうやって入力するのですか windowsのプロンプトでは「〜」はShiftを押しながら「へ」で入力できるのに dos画面でできなーいでこまっておりまする どうしても入力が必要なコマンドがありまして そこで滞っております
828 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 19:51:34 ] >827 あなたが入力したいのは半角の「チルダ」と言う記号だと思うが なぜDOS画面(コマンドプロンプト?)で出ないのかは良く分からない。 キーボード種類がまっとうに認識されていたら可能なはずなんだが。 参考:allabout.co.jp/computer/notepc/closeup/CU20011001/
829 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 21:57:49 ] >827 追記ですが、もしかしたら「~」を入力しようとしたら「 ̄」(半角オーバーライン)が 表示されていますか?(上に挙げた文字自体は半角ではなく全角オーバーラインですが) もしそうならJISコードとASCIIコードにおける同じ文字コード(0x7E)に対する 表記の違いに過ぎないので(バックスラッシュと¥記号のような関係)気にせず そのままコマンド入力してください。多分、意図した通りに動作すると思います。 参考:www.bugbearr.jp/?%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91 の「メモ」「US-ASCII と JIS X0201 ラテン文字用図形文字集合」の項参照
830 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 22:07:49 ] こういう問題もある。 ttp://support.microsoft.com/kb/418323/ja
831 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 06:55:01 ] CapsLockされてるとか
832 名前:827 [2007/12/20(木) 09:16:46 ] >>828-831 ご指導ありがとーございます 解決いたしました > 追記ですが、もしかしたら「~」を入力しようとしたら「 ̄」(半角オーバーライン)が でした まだまだ修行が足りませぬ 精進いたします 改めて御礼申し上げます それでは失礼いたします
833 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 10:02:32 ] win2000, lsi-c試食版を使ってます USB接続MP3プレイヤーの再生順(ディレクトリエントリ順)を 変更したいと思い、少し調べてみました。 (UMSSortというソフトのコマンドライン版です) intdos()でレジスタ設定してbdos()でシステムコール25h,26hを使えば いけそうな気が…。
834 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:13:23 ] 普通にシェルスクリプト(或いはバッチファイル)でできるレベルのことだろ。 そもそも、何故それをDOSでプログラミングしたいんだか。
835 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:45:48 ] >>834 ディレクトリエントリの順を変更がバッチファイルでできるの?
836 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:47:26 ] 「エントリの順を」は「エントリ順の」の間違いです。すまん。 renやcopyでは駄目だったのは確認済みですが…。
837 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 12:36:32 ] >>833 int 25h/26hはFAT32には使えない。FAT32ならint 21h,ax=7305hになるが、 そもそもこいつらはWinNT系ではブロックされて使えない。 で、並べ替える簡単な方法は、ディレクトリ内のすべてのファイルを一旦一時ディレクトリに 移動してから、並べ替えたい順番で元のディレクトリに移動すること。
838 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:11:13 ] >>837 やっぱだめなのか… win32APIとvisual basicあたりを使うのが無難ですかね いったん別のところに移動して、ってのは考えてたけど あまり頻繁にフラッシュメモリ上のファイルを移動するのは どうかなと思ったのでやめました なので、直接ディレクトリエントリを書き換える方法を模索してました ほぼ毎日podcastを追加して、携帯MP3プレイヤーで聞こうかと。 使っているプレイヤーにランダム再生が無い(ディレクトリエントリ順に再生)ので、 PC側で操作するつもりでした。 いろいろ教えてくれてどうもありがとう。あとで本屋に行ってきます。
839 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:44:14 ] 同じドライブ内の移動なら、DOSの頃からディレクトリエントリを書き換えるだけだぞ。 ディスク領域そのもののフラグメンテーションは起きない。 ちなみに、NT系で直接ディスクアクセスしたければ、 ドライブやディスクそのものをWin32のCreateFileで開けばいい。 普通にRead/WriteFileで読み書きできる。 当然スレ違いだけどな。
840 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:44:57 ] >>838 NT系で直接読み書きするには、CreateFile("\\\\.\\D:", 〜)などとして ドライブをオープンし、ReadFile(), WriteFile()などを使う。 スレ違いなのでこの程度で。
841 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:50:22 ] >>839 そうなのか!って今思えば確かにそうだ・・・ なんか馬鹿でした。どうもありがとう。 途中までランダムにして移動させるバッチファイルは作ってあったので (でもrenじゃ駄目だと分かって捨ててた) それでやります! >>840 直接はやっぱりwinでのプログラムですね。 いろいろ教えてもらえてよかったです。ありがとうございました。
842 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:59:08 ] 最早どうでもいいんだけどさ、move使えばバッチファイルででもできるんだけどなぁ。
843 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 14:20:25 ] >>842 841です。そのつもりなんですが...
844 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 14:36:15 ] つーか、擬似シャッフルみたいなことをしたいのか。 だったらディレクトリを作ってそこに順番にcopyするだけじゃね。
845 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 14:46:34 ] >>844 そうです。擬似シャッフル。 copyすると時間もかかるしフラッシュメモリにも良く無さそうなので 教えてもらったとおりmoveで作りました お世話になったかたがたへ というわけで上手くいきました!ありがとうございました。
846 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 08:21:14 ] こんな年末に発生しなくても良かったんだけど('A`) ttp://d.hatena.ne.jp/honto117/20061117/p1 ↑ これに書いてある「.logを参考に(A)を書き換える処理を(B)に追加」と もう一つ「最期まで無事に走ったら終了」の処理を書いて頂けないでせうか
847 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:40:16 ] >>846 HDDは消耗品だ。ヤマダ電機行って新しいの買ってこい。
848 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:41:58 ] >>846 最期 (-人-)ナムー
849 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 04:02:04 ] アケオメd('∀`)b! 奇跡の復帰を果たしましたぜ! ヤマダ行った後なんだけども… お騒がせしました!
850 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:38:56 ] VFL, VFZ の構造が知りたいです。 vfl.docに書かれている Nifty FLABO LIB 2 #1824 VFS .LZH VFL サンプルソース & 技術資料 って、今は昔過ぎてググっても見付かりません。 どこかこのファイルの入手方法はありますでしょうか
851 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 05:00:40 ] ホす
852 名前:デフォルトの名無しさん [2008/05/27(火) 07:17:24 ] cat <in.txt >out.txt みたいなことできるdosのコマンドありませんか? (winは全バージョン可能) typeだとstdinからは無理っぽいんですが… copy con out.txt とかひねくれたの思いついたんですけど、これはstdinじゃないです。 困ってるのでよろしくお願いします。
853 名前:デフォルトの名無しさん [2008/05/27(火) 07:25:51 ] more < in.txt とかいけそうなんですけど、やりたい事は標準入出力を使ったファイルのコピーなんです。 moreだと--MORE--とかゴミがつくので期待はずれになります。 できれば、テキストでなくてバイナリも標準入出力を通す(通過のみで処理しないフィルタコマンド)のありませんでしょうか。
854 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 07:32:12 ] findとか。
855 名前:デフォルトの名無しさん [2008/05/27(火) 13:32:05 ] find,moreはテキストファイルはできるんですけど、バイナリでfind,moreすると転送先のファイルが壊れます。 試したらmoreでは上に書いたゴミはつきませんでした。 そのプログラムを自分で作れるんですけど、unixシェルの様にOS標準のを探してます。 他にないでしょうか。(特にバイナリ―ファイルの標準入力を受け付けるコマンド(フィルターとも言われます)です)
856 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:45:17 ] 問題を整理しよう。 要は、標準入出力をスルーで流せる標準コマンドがないか、ということでよろしいか。 で、findもmoreも(改行を特殊処理するからか)出力が壊れると言うことだね。 findstrはどうだろう。今手元のcmd.exeからfindstr /v "^$" a.exe > fooしたら大丈夫なようだ。 # "^$"でいいかどうかは検討が必要だけどね。
857 名前:デフォルトの名無しさん [2008/05/27(火) 14:41:43 ] やりたい事は、標準入力からファイルデータ(特にバイナリ)を入力するので、 もしそのコマンドなら、 findstr /v "^$" <a.exe > b.exe とかです。が、失敗します。
858 名前:デフォルトの名無しさん [2008/05/27(火) 14:47:53 ] テキストファイルのときは、 more <a.txt>b.txt で出来ますが(実質copy /a a.txt b.txtと同じだけど意味が違う) バイナリファイルだとこのコマンドでは出来ません。 若しくは玄人向けのdosコマンドレファレンスのサイトご存知ないでしょうか。
859 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 14:57:54 ] CATくらい自作したらいいんじゃないかい。 DOSのパイプは中間ファイルを作るからあんまり面白くないけど。 Win9x系のパイプも中間ファイル式だったのにがっかりした記憶がある。
860 名前:デフォルトの名無しさん [2008/05/27(火) 15:19:31 ] だから作れるんですけど… findstrはstdinでリダイレクト入力使うとバグってる(仕様)みたいだから作りたくなるのは山々ですが
861 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:27:42 ] 技術力が高いスレで聞いてもいいんですけど。じゃ質問を少し変えると、 標準入力(リダイレクト < )を使ってテキスト・バイナリ・ファイルを作ることはで来ますか? できれば、後はパイプでできるんで・・・
862 名前:デフォルトの名無しさん [2008/05/27(火) 15:29:43 ] 標準入力の内容をそのままのデータで、ローカル・ディスク上のファイルにすることは出来ますか?と同じです。
863 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:51:04 ] DOSの仕様を回避するなら type o.jpg | findstr ".*" > p.jpg になるんですけど、まず、このo.jpg(バイナリ)をstdinから作りたいんですけど、そのようなコマンドありますか?
864 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:54:27 ] stdin/stdoutが通常はテキストモードでオープンされているから不都合があるってことかな? 手元に資料はないけどバイナリモードへの切り替える方法はあったと思うよ。
865 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 15:56:02 ] 「標準」のコマンドだけだと、たぶん無理だと思う(wshでスクリプト組む場合は別) #ActivePerlを標準コマンド扱いにして強制インスコして、binmodeで #スクリプト組めばいいとかアホな回答を思いついたw
866 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:07:10 ] それね、できたよ。でもね、なんか原始人みたいだから教えてあげないww
867 名前:デフォルトの名無しさん [2008/05/28(水) 00:49:31 ] comモデルまんせーヽ(´ー`)ノ
868 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:40:13 ] DOSには標準でdebug.exeがあるじゃないか。 aで必要なプログラムを叩き込め #com2txtでもいいけどw
869 名前:亀 mailto:sage [2008/05/30(金) 22:10:52 ] cygwinとかUNIX like toolsってのは販促?
870 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:18:33 ] 90年代末の乾電池ノートはDOSでしか動かんのよ BSD動く機種もあったけど
871 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:00:20 ] UNIX like toolsはDOS用あるよ
872 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:36:53 ] つ"UNI+"
873 名前:洩れ車@J算譜工房 mailto:sage [2008/06/20(金) 22:05:39 ] >>872 「つ"UNI+"」 アスキーのパロディ版に載ってた「ユニクロス」の事ですか?(確かDOS上ではなく CP/M上でさえなくスタンドアロンのN88BASICの上で動いていた。)
874 名前:洩れ車@J算譜工房 mailto:sage [2008/06/20(金) 22:19:54 ] >>852-866 >>852 > cat <in.txt >out.txt みたいなことできるdosのコマンドありませんか? > typeだとstdinからは無理っぽいんですが… >>858 > テキストファイルのときは、 > more <a.txt>b.txt > で出来ますが(実質copy /a a.txt b.txtと同じだけど意味が違う) > > バイナリファイルだとこのコマンドでは出来ません。 全然参考にならんとは思うが,MS-DOS Ver 2.11 の COMMAND.COM では A:\IO.SYS がバイナリでも(ついでに不可視・システム属性とかでも) type A:\IO.SYS >B:\IO.SYS などとして正しくファイルのコピーができた(但し B:\IO.SYS のタイム スタンプは当然 type 実行時のものとなる。)
875 名前:デフォルトの名無しさん [2008/08/27(水) 21:10:09 ] なんかさ・・・ 「Aができるコマンドありませんか?」という質問をしている奴に限って その「A」は別の目的「B」を達成するための手段として本人が唯一 思いついたものに過ぎなくて、実は手段「C」やら手段「D」やらの方が より簡単に目的「B」を達成できたりする、ってことが多いんだよね。 catみたいなDOSコマンド、を連発している奴、本当は何がしたいの?
876 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:29:09 ] キャット空中三回転
877 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:56:18 ] ドスでファミコンが作りたいのですが どうしたら作れるでしょうか?
878 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:45:27 ] >877 まずは6502ニーモニックを使いこなせるよう自分で勉強だ。分からない用語はググれ。 幾つもの古本屋を渡り歩いてでも参考書を買いあさる根性も必要になるはず。
879 名前:デフォルトの名無しさん [2008/09/21(日) 12:29:59 ] DOS の画面でBIOSのアップデートをしようとしているのですが、 afudos /iP5K-Pk上波線M1 ROM と打ち込みたいのですが、上波線の打ち方を教えてもらえませんか? キーボードの表示はあるのだが、どうしても打ち込めない。 それともBIOSのファイル自体を、名前変更してもOK?
880 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 12:41:55 ] >>879 使っているのが日本語キーボードで日本語キーボードの設定が済んでいるなら Shift + ^ 使っているのが日本語キーボードで日本語キーボードの設定が済んでいないなら Shift + 半角/全角
881 名前:879 mailto:sage [2008/09/21(日) 15:21:59 ] >>880 ありがとうございます。
882 名前:は@携帯 ◆cplnFO9T0I [2008/10/06(月) 09:56:24 ] master.libのsuper_putの実行速度をまとめた物ってないですか? 前に見かけたのですが見つかりません
883 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 03:16:18 ] コマンドプロンプトについてはここでいいのでしょうか? 分からない点があり教えていただきたいです。 検索してコマンド一覧などが乗っているHPを参考にいろいろなコマンドを実行してみているのですが editコマンドを使って終了したところ、 英語モード とかいうやつになったのですが、 これを日本語モードに戻したいのですが、検索したHPなどを見ると jp と打てば戻ると書いてあるのですが jp を試してみたところ 認識されてない みたいな英文がでてきます。 コマンドが変わったりでもしたのでしょうか? versionは 6.0.6001 とあります。
884 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 05:00:49 ] 確か chcp 932 とかそんなんだったと思う。 違ったらごめんな。
885 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 09:38:04 ] C:\>type %windir%\system32\jp.bat @echo off rem Change the active CODE PAGE to 932 (Japan) CHCP 932 C:\>type %windir%\system32\us.bat @echo off rem Change the active CODE PAGE to 437 (United States) CHCP 437
886 名前:デフォルトの名無しさん [2009/01/08(木) 20:19:40 ] 質問です。コレ(↓) in ax,20h と、コレ(↓) in al,21h mov ah,al in al,20h は、結果は同じですか?ワードアクセスするとAHレジスタには21hの内容が入る。 (ポート020h,021hは例えで意味はありません) もし同じなら、なんで、ax 一括で読み込まないんでしょう?
887 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 20:39:49 ] >>886 8bit幅のアクセスしか出来ないとか?
888 名前: ◆0uxK91AxII mailto:sage [2009/01/08(木) 21:03:44 ] >>886 HWに依存する事項だから。
889 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 01:55:12 ] >>886 書いたヤツに聞け
890 名前:デフォルトの名無しさん [2009/01/12(月) 11:40:53 ] 20hからワードアクセスしたときの上位バイト(ah)と、21hからバイトアクセスした時(al)の内容は同じ物だっけ?
891 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 13:06:27 ] ハードの実装次第でどうとでもなる
892 名前:デフォルトの名無しさん [2009/01/12(月) 13:43:33 ] DOS用ハードって実装次第だっけ?
893 名前: ◆0uxK91AxII mailto:sage [2009/01/12(月) 13:50:17 ] CPUの信号線がどうなるかを調べれば分かるように、HW依存。
894 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 14:57:00 ] CPUの信号線がどうなるかを調べなくてもバス構成を知っていれば判るように、実装依存。
895 名前:デフォルトの名無しさん [2009/01/12(月) 17:23:20 ] DOS用のハードのCPUって実装依存だっけ?
896 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:28:38 ] CPUが実装依存なんじゃない。周辺回路が実装依存なんだ。
897 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 17:54:35 ] DOS用のハードって何?
898 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 19:19:14 ] メモリー空間とか割り込みbニかのことだろ int21等は共通事項だが、ヒープ・スタックは実装依存に決まってるじゃん。
899 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 20:59:34 ] すげぇ、流れが捻じ曲がったよ。
900 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 21:43:22 ] なんでヒープやスタックが出てくるんだよ。 I/Oはともかく、1MB以下の空間ならメモリは一応DOSが管理してるだろ(ザルだが)
901 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 22:10:13 ] 大丈夫、DOSも晩年は1MB以上の空間もちゃんと管理している。
902 名前:デフォルトの名無しさん [2009/01/13(火) 00:13:18 ] mov ax,[20h] でahには21hのメモリの内容がはいるだろ。同じように、 in ax,20h でahには21hのポートの内容がはいるんじゃないの? オレって勘違いしていた?
903 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 00:14:00 ] 入るとは限らないって上で何人も回答あるだろ・・・
904 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 01:25:11 ] >>902 バカまるだしw
905 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 04:44:55 ] >>902 メモリがそう読めるというのは、そう実装されているから。 I/Oがメモリ同様に実装されているかどうかは別の問題。 「マイコンの作り方」みたいな本でも探してきて一読するか、 諦めて布団被って寝るか、どっちかにしてくれ。
906 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 12:38:47 ] 要するに原住民番号20-8番から20-15番まで来なさいって命令と、 原住民番号21-0番から21-7番まで来なさいって命令は別物ってだけだろ。
907 名前:デフォルトの名無しさん [2009/01/13(火) 16:05:07 ] 余計わかり辛いw
908 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 17:24:00 ] DOSの3.3 までと 5.0以降は分けないと アレだな 8086 と Z80も わけたほうが良いかもな CP/M のシステムコールをもっとMSX-DOSというものもあるからな。
909 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 17:24:30 ] s/もっと/もった/
910 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 17:26:56 ] MASMの話しなら、 ALは不定ってのは常識だな >>902 みたいなのが、バッファオーバーフローで、ハッカーにやられる典型的なホール製造者ってことだな
911 名前:デフォルトの名無しさん [2009/01/13(火) 19:09:25 ] 902だが906の説明でわかったわ。 20年前はバイトアクセスしかしなかったから助かったのか。
912 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 19:16:32 ] 例えばI/Oが16ビットカウンタだとしたら、8ビット2回に分けてアクセスしちゃまずいだろ。HとLでずれるぜ。
913 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 21:12:14 ] 16ビットアクセスするのに同じアドレスを2回に分けて 読み書きしてた。
914 名前:デフォルトの名無しさん [2009/01/14(水) 00:27:07 ] >>912 AT互換機の8254等はもともと8bit CPUの8085周辺用に設計されたものなので、 16bitタイマのレジスタでも、タイマ内部でダブルバッファ構造とすることで、 バイト単位での読み書きに対応できるようになっている。 具体的には、下位バイト読み込み時に16bitの値をテンポラリにラッチして、 後から上位バイトを読んでも下位バイト読み込み時に保持された値を読み 出す。 書き込み時には、下位バイトを書き込んだ時にはテンポラリに ラッチし、後から上位バイトを書き込む時に、16bitデータを一括でレジ スタに書き込むようになっている。 但し、上位/下位バイトアクセス中に、割込処理内で同じI/Oデバイスのレジ スタにアクセスされると困るので、レジスタ読み/書き中は割込禁止しなけ ればならん。 それに、AT互換機と違ってNEC PC-9801シリーズなんて、ダイナミックバス サイジング機構を搭載していないので、8-bit I/Oが1バイトおきにマップ されていて、そもそもワードI/O命令が使えない。
915 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 00:36:32 ] FMは出来たんだっけか? なんか特権モードで凄いのがあった気がするけど。
916 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 01:21:19 ] >>886 の質問がアバウト過ぎるのさw
917 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:34:17 ] 質問者のターゲットとする環境がAT互換機に限定できれば I/Oポートの20Hと21Hの用途も決まってるしワードアクセス可能かどうかも決まるんだが。
918 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:48:07 ] >>917 それこそを、機種依存したプログラムと言わずして、なんと呼ぼう? 構造主義進化論は脆くも崩れ去ったか・・・合掌
919 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:51:21 ] 機種依存全盛の時代のOSのスレでそんなこと言われても……。
920 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:01:43 ] >質問者のターゲットとする環境がAT互換機に限定できれば AT互換機以外でDOSが動くのってあるの???
921 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:05:56 ] PC-98だろ。
922 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:08:00 ] >>920 まさかAT互換機用以外のDOSがない(なかった)とでも思ってるのか。
923 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:11:16 ] 山ほどあるぞ 思いつくだけで数十シリーズ
924 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:12:35 ] ttp://ja.wikipedia.org/wiki/MS-DOS PC-9800シリーズやEPSONの98互換機だけじゃないぞ。 AXやJ-3100シリーズも微妙に違う。
925 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:49:15 ] >>920 くっそー!! 坊やみたいのが、うちらに管巻かせちゃうんだぞ!だぜ?
926 名前:デフォルトの名無しさん [2009/01/17(土) 01:20:32 ] >>920 日立のB16、2020 富士通のFM-R、FM-16β どれも、AT互換でもPC-98互換でもない独自アーキテクチャのパソコンだよ これらの機種の性質の悪いところは、普段は人目に付かないけれど、ある所には大量にあるんだよ
927 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 01:24:09 ] PC-100
928 名前: ◆0uxK91AxII mailto:sage [2009/01/17(土) 02:52:46 ] このスレ、何かクサイね。
929 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 06:16:50 ] >>921-927 それ、いつの時代の話? まさか・・・20世紀?? 全裸で外を出歩いて、「石器時代はみんな裸だったんだぞ!」 って言ってるようなもんじゃん。
930 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 06:27:54 ] >>914 Linuxではその手の違いを力技でエミュレートしてるよ ttp://slashdot.jp/~bero/journal/352742
931 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:01:29 ] デバドラやOSのAPIなど使わずにダイレクトにIN/OUTするのがDOS流
932 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:09:12 ] >>929 DOSのスレで一体何を言ってるんだ?
933 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 10:22:12 ] コンドームやピルなど使わずにダイレクトにIN/OUTするのが俺流
934 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 11:15:32 ] まるでピルを使うとダイレクトではなくなるような誤解乙。
935 名前:デフォルトの名無しさん [2009/01/17(土) 13:24:49 ] >>929 一般人はいいよなぁ ろくすっぽ資料の存在しない機械と格闘しなくてもいいから...
936 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:26:45 ] DOSなのに資料が無いって・・・
937 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:24:18 ] Windowsは、ハードの細かい仕様を気にせずに済むのがいいところだな
938 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:41:54 ] てか、ハードを動かすプログラムを書く奴はめったにいない。 鈍臭いアプリばっかり。
939 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:51:22 ] >>929 時代も変わったようだな。 坊やみたいなのがDOSプログスレの住人とはな。 だが、戦場であったらこうはいかないぞ。がんばれよ。 (って、20世紀の有名なネタも通じないのだろう f(^ー^;)
940 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 02:52:40 ] 爆釣
941 名前:デフォルトの名無しさん [2009/01/24(土) 00:06:19 ] ところで、PC-98 と PC-AT の I/O ポートの一覧というか空きポートが記されている表とかある? 昔の N88-BASIC のソフトを移植してくれという依頼が来た。
942 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 01:03:43 ] どんなソフトだ?
943 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 03:10:07 ] そもそも、ソフトの移植に何で空きポートが関係するんだ?
944 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 05:56:36 ] >>941 神田の古本屋廻ってこい
945 名前:デフォルトの名無しさん [2009/01/25(日) 12:19:11 ] I/Oポートの話に割り込むようで悪いが、メモリの場合は、 Bit0-8 Bit9-15 Bit16-23 Bit24-31 0800H [あ] [い] [う] [え] 0801H [い] 0802H [う] [え] 0803H [え] 0804H [か] [き] [く] [け] 0805H [き] のように設計しているから、 mov ax,ds:[800h] ; AX=いあ と mov al,ds:[800h] mov ah,ds:[801h] ; AX=いあ が同じ内容になるんだけど、I/Oポートの場合は、 Bit0-8 Bit9-15 Bit16-23 Bit24-31 0080H [あ] [い] [う] [え] 0081H [お] 0082H [か] [き] 0083H [き] だとすると、 in ax,80h ; AX=いあ と in al,80h ; in ah,81h ; AX=おあ が違うって事か。(82h/83h ではメモリのような設計なので同じになる) Y/N (?)
946 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:12:21 ] >>941 神田神保町へ行けるくらいならいっそのいこと国会図書館(東京本館)までいってこい。 日本国内で出版された書籍・雑誌ならほぼすべて所蔵しているから本のタイトルが判るならそっちのほうが確実。 検索と登録利用者用サービスの一部はネット上から使える。貸し出しは出来ないけどな。 >>943 制御用にでも使ってたんだろ。それで専用の拡張ボード使ってて、ハードごと移植ってことでは? >>945 そんな単純な問題では・・・ ttp://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol1_Online_i.pdf >13.3. I/O アドレス空間 >連続する2 つの8 ビット・ポートを1 つの16 ビット・ポートとして、また連続する4 >つの8 ビット・ポートを1 つの32 ビット・ポートとして扱うことができる。 >アライメントが合っていないポートにアクセスするためのバスサイクル順序は特に >定義されていない >ハードウェアまたはソフトウェア上の理由でI/O ポートに書き込む順序が決められ >ている場合は、その順序を明示的に指定する必要がある。 「13.6. I/O の順序」もあって、これも場合により重要になる。
947 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 17:47:39 ] >制御用にでも使ってたんだろ。それで専用の拡張ボード使ってて、ハードごと移植ってことでは? それを「N88-BASICのソフトの移植」とは普通は言わないと思うんだ。
948 名前:デフォルトの名無しさん [2009/01/25(日) 20:39:59 ] Cバスユニバーサル基板か何かでI/Fを自作していたらあるかもね。
949 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:49:11 ] 市販品だが、Cバスのフレームバッファを弄ってた記憶があるな。メモリとIOの両方でアクセス出来る。 アセンブラだったけど。
950 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 01:08:50 ] カノプーがGDBRのCバス汎用インターフェイスボードを出していたね。RS-432ボード等もどこからか出ていた。 検索したが辿り着けなかったが・・・今でも、その手のものを置いているところはあるんだね。 懐かしかった。 → ttp://www2.wbs.ne.jp/~c2main/zaiko-06.htm
951 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 23:18:01 ] >>941 98 ttp://www.webtech.co.jp/company/doc/undocumented_mem/ AT ttp://www.ctyme.com/rbrown.htm もっと単純に、シリアルポートを制御するような場合だって、I/Oマッピングがわからないと 手も足も出ないよ。 DOS時代のプログラミングってのはそういうもん。
952 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 23:23:56 ] I/Oアドレスの一覧がわかったところで、もっと具体的というか実践的な使い方がわからないと 解析は難しいと思うんだけどね。 OUT 5FHみたいな変なポートもあったし、しかも機種ごとに働きが違ったりね。