[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 08:39 / Filesize : 220 KB / Number-of Response : 953
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DOSでプログラミング



1 名前:デフォルトの名無しさん [03/03/07 10:45]
ハードウェアを直接叩くのはやっぱり楽しい!

DOSにおける開発について語りましょう。


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みたいな変なポートもあったし、しかも機種ごとに働きが違ったりね。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<220KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef