トップページ⇒tech
981コメント294KB

DOSでプログラミング

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさんNGNG
ハードウェアを直接叩くのはやっぱり楽しい!

DOSにおける開発について語りましょう。
0002デフォルトの名無しさんNGNG
フリーのコンパイラ/アセンブラ

16bit

LSI C-86 Ver. 3.30c試食版
http://www.lsi-j.web.sh.cwidc.net/freesoft/index.html

Turbo C / Turbo C++ / Turbo Pascal (PC-9800では動作不可)
http://community.borland.com/museum/

Pacific C
http://www.htsoft.com/products/pacific.html

16bit/32bit

Open Watcom
http://www.openwatcom.org/

Digital Mars C/C++ compiler (Win32で動作)
http://www.digitalmars.com/

MASM32 (Win32で動作)
http://www.masm32.com/

NASM
http://nasm.sourceforge.net/
0003デフォルトの名無しさんNGNG
32bit

DJGPP
http://www.delorie.com/djgpp/

16bit リンカ
ftp://ftp.microsoft.com/Softlib/MSLFILES/LNK563.EXE
0004デフォルトの名無しさんNGNG
今でも入手できる商用のコンパイラ/アセンブラ
Borland C++ Suite
http://www.borland.co.jp/bcsuite/

LSI C-86
http://www.lsi-j.web.sh.cwidc.net/product/c86/index.html

Light Macro Assembler
http://www.tamasoft.co.jp/lasm/
00051NGNG
というわけで、立ててみました。
現在、PC-9821用のグラフィックライブラリを作っています。
将来的には、Quakeとか移植できたらいいな、と思ってます。
0006おぼーん&rlo;んーぼお&rlo; NGNG
おぼーん
0007デフォルトの名無しさんNGNG
メモリモデルとかがいまいち理解できてないんですけど教えてもらえますか?

near 1セグメントのみ
far セグメントをまたいでアクセスが可能

とか。
0008デフォルトの名無しさんNGNG
nearポインタ : オフセットのみでのアクセス
farポインタ : セグメント:オフセットでのアクセス
hugeポインタ : セグメント:オフセットでのアクセス、常に正規化するので64kbytes以上のデータにアクセス可能

Tinyモデル (COM形式)
コード : near、データ : near、コードとデータが同セグメント

Smallモデル
コード : near、データ : near、コードとデータが別セグメント

Mediumモデル
コード : far、データ : near

Compactモデル
コード : near、データ : far

Largeモデル
コード : far、データ : far

Hugeモデル
コード : far、データ : huge
0009デフォルトの名無しさんNGNG
DOS/V 簡易グラフィックライブラリ「GRPTEST 1.0」
http://www.vector.co.jp/soft/dos/prog/se008421.html

VESA256色モードをサポートし、TCとBCに対応。
しかし、配布されてるのはソースだけで、TASMがないとコンパイルできない。
誰かコンパイルしたのをうぷして!
0010デフォルトの名無しさんNGNG
>>9
grplib.cの107行目、

#pragma inline

をコメントアウトすればtasmなしでコンパイルできる。


しかし、ヘッダもついてないのね(汗)
0011とてNGNG
情報 求む

 昔 昔の クイックC2 のAT版所持者
      nec98ならあるが 今わ動かない
      そこで AT版なら動く可能性がある
   マイクロソフトのQuickC Ver2.0
      
0012デフォルトの名無しさんNGNG
  ∧_∧
 ( ´∀`)< ぬるぽ
0013デフォルトの名無しさんNGNG
       | | ガッ
  ( ・∀・) | |      
 と    ) | |   
   Y /ノ   
    / )  .人 
  _/し'  <  >_Λ∩
 (_フ彡  V`Д´)/
            / ←>>12
0014デフォルトの名無しさんNGNG
>>11
PC/AT版って、日本語版はないんじゃないかな?
J-3100の英語モード用に英語版が販売されていたような。
0015デフォルトの名無しさんNGNG
>>5を見てこのスレには何の価値もないと思った。
>>1よ、もはやメモリモデルを気にしたり、
ソフトウェアでグラフィックを高速化したりする時代は終わったのだ。
俺と一緒にDirectX9を勉強しようじゃないか。
00169NGNG
>>10
レスありがとう。
でも、インライン命令使わないと遅いってことはないですか?
ま、動けばいいんですけどね。

関係ないけど、DX4でも整数sqrtは実数sqrtの3倍遅かったです。
0017デフォルトの名無しさんNGNG
QCではなくVC1.5を使えば?
00189NGNG
デモソース動きました。
でも、コメントに書いてあったとおり、フォントは読み出せなかったようで、
グラフィック文字出力はダメでした。

>>15
DOSプログラミングには箱庭的楽しみがありまふ。
0019デフォルトの名無しさんNGNG
つーか、意味ないよな

>将来的には、Quakeとか移植できたらいいな、と思ってます。
ハードの性能的に無理でしょ。
0020デフォルトの名無しさんNGNG
>>19
PentiumII機あったけど。
0021デフォルトの名無しさんNGNG
>>19 >>20
ttp://www.amy.hi-ho.ne.jp/nakajima-jr/com_2/raiii1g/raiii1g.htm
1GHz動作するから、十分可能かも。
0022デフォルトの名無しさんNGNG
>>11
2.0だったか2.5だったか持ってたはずだが・・・
ちょっと探したけど見つからない。
「情報」とはどのような?
0023FreeDOS教徒NGNG
この板だとすぐ落ちそうな気がするんですが、それはさておいて。
なんつー面白そうなスレ立ててんだ>>1よ。じっくりヲチさせてもらうぞ。
0024とてNGNG
今のパソコン
 セレロン300で メモリー128 HD 6G
のパソコンで動かす
 業務の異動 NEC98からATタイプに
 ソースはあるから コンパイルしなおしたら
動くかの判定 

 パソコン本体は 別にして 数万円で構築できるメリット



0025デフォルトの名無しさんNGNG
>>18
パックドピクセルのMCGAモードなんか、
他人のよくわからんライブラリ使うまでもないだろ。
自分で書け
0026デフォルトの名無しさんNGNG
いまからだとハード周りの書籍を探すのがなかなか困難だ
流行らせてから秘蔵の書籍をヤフオク辺りに出品してぼったくりたい
0027デフォルトの名無しさんNGNG
>>26
英文ならネットに一杯あるよ
0028デフォルトの名無しさんNGNG
>>18
フォントは、BIOS使って読み出すよりも、
ビットマップフォントを用意した方が早いんじゃ?(手間的にも速度的にも)
0029デフォルトの名無しさんNGNG
速度云々言う奴の頭には、BIOSから読み出したフォントを
キャッシュするという考えが無いのだろうか?

DOSからWindowsに環境が変わっても同じようなことを言う奴がいる
GDIのテキスト出力が遅いという理由でビットマップで
フォントを作っておくとか言い出す馬鹿者と同レベル
0030デフォルトの名無しさんNGNG
DOSでぬるぽ
0031デフォルトの名無しさんNGNG
>>30
NULL pointer assignmentは何回か出したことあるよ。QuickCで。
0032デフォルトの名無しさんNGNG
 DOSダロウトナンダロウト
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>30
0033デフォルトの名無しさんNGNG
保守
0034デファクトのスタンダードさんNGNG
ちょっとスレ違いかもしれないんですがedlinについてです。

1.44MBフロッピーに日本語を表示できるようにいろいろ詰め込んだ時に、
どうしてもedit.exeが入らなかったので(QuickBasicが必要だから)
edlinを入れようと思って探したらMS-DOS 6.2/Vには無いんですね。

で、記憶を辿ったらDOS5にはある。(但しNEC版)ってことは、6.2/Vは
アップ版だから無いんだろうという結論にしたのですが、そもそもNEC版
ではないAT互換機でDOS5の日本語版なんて出回ったのでしょうか?

思い出したら気になりだしたんで…
0035デフォルトの名無しさんNGNG
せめてDOS Extender使うとか。
64KB境界気にしつつやってられねーよ。
0036デフォルトの名無しさんNGNG
DOS/Vの最初は4.xだったはず
0037デフォルトの名無しさんNGNG
(DOSじゃなくWin9x向けなのですが)
上司の無茶な思い付きにより
FATとFAT32用のデフラグツールを
独自実装する羽目になりそうです。

Googleで探しても、この辺の資料って少なくて
困ってます(デフラグ製品ばっかり引っかかって、
実装方法やらアルゴリズムに関する資料は
なかなか見つからない・・・)

この辺の勉強にいいページとか本とか
教えていただけないでしょうか?

当方のレベルは、ユーザモードで動く
C/C++/Javaアプリケーションなら
だいたいどんなものでも書ける程度です。
(が、ハードを直接たたくような
コードは書いたことがありません。)
0038デフォルトの名無しさんNGNG
>>37
> (DOSじゃなくWin9x向けなのですが)
> 上司の無茶な思い付きにより
> FATとFAT32用のデフラグツールを
> 独自実装する羽目になりそうです。
今更そんなのを新たに作っても売れんよ?
0039デファクトのスタンダードさんNGNG
>36
ソリはAXでは?
0040デファクトのスタンダードさんNGNG
>>37
> この辺の勉強にいいページとか本とか

あんまり役に立たないレスですが、そーゆーのってハード系
(CQ出版のインタフェースとか)を当たると何か役に立つんじゃ
ないでしょうか。あとATAやSCSI関連の仕様の中にポロッと出て
きそうです。
0041デフォルトの名無しさんNGNG
>39
http://www.google.co.jp/search?q=dos%2Fv+%E6%AD%B4%E5%8F%B2&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0042デフォルトの名無しさんNGNG
>>37
>当方のレベルは、ユーザモードで動く
>C/C++/Javaアプリケーションなら
>だいたいどんなものでも書ける程度です。

ならば、ハードを直接叩くコードを
自動生成するプログラムを作れるだろ?
0043デフォルトの名無しさんNGNG
>>42
自動生成するプログラムが生成した「ハードを直接叩くコード」は
人間が書くんだよ。
今現在何もないところからコードを作り出せるプログラムがあると思ってるの?
0044デフォルトの名無しさんNGNG
>>43
・「コードを自動生成するプログラム」というものは存在し得る。
・「コードを自動生成するプログラム」はユーザーモードで動かす事が可能である、
・>>37は「ユーザモードで動くアプリケーションならだいたいどんなものでも書ける」

ならば、>>37はハードを直接叩くコードを自動生成するプログラムを作れる

簡単な理屈だろ。

俺は今まで「ユーザモードで動くアプリケーションならだいたいどんなものでも書ける」
なんてトンデモな事を言いきれる奴を見た事が無かったので言ってみただけ。
0045デフォルトの名無しさんNGNG
copy a: b:
del a:
0046デフォルトの名無しさんNGNG

95発売以前は、ウイルス作りにマジ燃えたな。
いわゆるステルス型とかいろいろ作った。
俺を裏切った香具師に、それ仕込んだゲームソフトをあげて悦に浸ったりしたな〜。
0047デフォルトの名無しさんNGNG
>>46
キモッ!
0048デフォルトの名無しさんNGNG
DOS/VのDMAの使い方を日本語で解説しているページってないですか?
0049デフォルトの名無しさんNGNG
>>48
以前,ちょこっと勉強したけど日本語資料はあんまりなかった気がする.
CQ出版の本とLinuxのソース,あとはIntelからDMAコントローラの資料ダウンロードして
IDEのDMA転送は一応可能になったよ.

ぬるい情報で申し訳ない.
0050デフォルトの名無しさんNGNG
>>48
DOS/V(MS-DOS/IBM PC-DOSの日本語版)にDMAはついてないわけだが。
PC-AT互換機のハードウェアDMAの使い方は古い本にしか出てないし、
今さら勉強する価値があるとも思えない。
0051山崎渉NGNG
(^^)
0052デフォルトの名無しさんNGNG
保守
0053デフォルトの名無しさんNGNG
質問させてください。
バッチファイルを作って、それにD&Dして、バッチファイルと同じディレクトリにおいてる
スクリプトを呼び出して処理しようとしてるのですが・・・

カレントディレクトリの移動に失敗してしまいます。
バッチファイル内で・・・

cd %0%../

こんな事してるんですが、移動できません。
バッチがおいてあるディレクトリへ移動する良い方法はありませんか?
0054デフォルトの名無しさんNGNG
>>53
バッチファイルプログラミング質問スレ
http://pc2.2ch.net/test/read.cgi/tech/1040614686/
0055デフォルトの名無しさんNGNG
>>53
右クリック→プロパティ→プログラム→作業ディレクトリ
は駄目か?
0056デフォルトの名無しさんNGNG
>46
95以前はHDDを初期化したとしても大した被害はないよ。
0057デフォルトの名無しさんNGNG
DOS画面の指定した2つの行でだけスクロールするCONドライバを
作りたいんですが、元になるソースとか情報とかありませんか?
0058デフォルトの名無しさんNGNG
98ならFCONあたりは?
0059デフォルトの名無しさんNGNG
IBM/AT or IBM/XTなんです。
0060デフォルトの名無しさんNGNG
じゃあ、NNANSIとか
0061デフォルトの名無しさんNGNG
どうも。
今PCが手元にないんで、あとで探してみます。
0062デフォルトの名無しさんNGNG
どうやってアクセスしてるんだ。携帯か?
0063デフォルトの名無しさんNGNG
DOSマシーン。これもPCだった。
0064デフォルトの名無しさんNGNG
NNANSIありました。286以上用だったんで、TASM1.0で再アセンブル
したが上手く出来ないみたい。残念ながらスクロール範囲指定エス
ケープはありませんでしたが、十二分に参考になりました。どうも。
0065デフォルトの名無しさんNGNG
http://rd.vector.co.jp/soft/dl/dos/hardware/se003206.html
↑あんま、参考にならないかな?
0066デフォルトの名無しさんNGNG
関係ないけどTASMのバージョン非互換には萎える。
ま、cmacros.incもやめてほしいんだけど。(w
0067デフォルトの名無しさんNGNG
DOSで動くHTTPサーバ無いでしか?
0068デフォルトの名無しさんNGNG
DOSの上でwin.comを動かせば、結構あると思う。
0069デフォルトの名無しさんNGNG
>>67
http://dos.zive.net:200/www.htm
007067NGNG
thanx!>>68-69
みたけど本物???
ソース2000行くらいしか無いけど...
0071デフォルトの名無しさんNGNG
>ハードウェアを直接叩くのはやっぱり楽しい!
やっぱりストレスがたまっているときはこれだよね
0072デフォルトの名無しさんNGNG
dosだとcpuの計算時間ってどうやって表示させるんですか?
0073デフォルトの名無しさんNGNG
dosって16ビットだから直接叩いても処理速度おそい
win32に直接叩け、俺は叩けるけど、お前らには無理だろうな(藁
0074デフォルトの名無しさんNGNG
>>72
echo+>crlf
time<crlf
(時間を計るプログラムを走らせる)
time<crlf
というBATファイルで、
時間は自分で引き算するw
0075デフォルトの名無しさんNGNG
ちょっと質問なんですがよろしいでしょうか?
別の板のとあるスレで
「とあるサイトを見ていたら突然PCの画面が黒地に白の文字が現れて、強制的に再起動をさせられるという事があった。
一瞬の出来事で、文字の内容は「STOP」等と書かれていた以外は読み取ることが出来なかった。」
という書き込みを見つけたんですが、数時間後に犯人を名乗る人物から
「バッチファイルを実行したからコマンドプロンプトが立ち上がって表示されたんだよ。
OSがブートしなくなったりするかもな。」という書き込みがされました。

これって一体どういう仕組みなんでしょうか?なんかでたらめを言っているようにしか聞こえないのですが。
もしよろしければ正常に戻すための対処方みたいなものも教えていただければ幸いです…
質問するべき場所では無いのかもしれませんが、本当にお願い致します。その方が困ってるみたいなので…
0076デフォルトの名無しさんNGNG
取り敢えず、その犯人とやらの科白は痛すぎ。
0077デフォルトの名無しさんNGNG
>>75
バッチファイルで再起動はできる。
だが、Systemファイルをいじれるかは不明。
正常に戻すにはOSの再セットアップが一番良いが、
今は、重大なファイルのバックアップとっとけばいいと思う。
やばくなったら再セットアップだな。
念のためレジストリの修復はした方がいいかも。
0078山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0079デフォルトの名無しさんNGNG
↑アフォ
age
0080無知無知NGNG
DOSでぷろぐらみんぐってどゆこと?
(・∀・)
0081デフォルトの名無しさんNGNG
>>80
command.com でプログラミングするんじゃないか?
(・∀・)
0082デフォルトの名無しさんNGNG
Debugって入力てみたらどうだ?
0083デフォルトの名無しさんNGNG
むしろシムデブ
0084デフォルトの名無しさんNGNG
>>73
DOSでも32bit命令は普通に使えるが?
0085デフォルトの名無しさんNGNG
>>73
これだからクローズなOSは(ry
0086デフォルトの名無しさんNGNG
なんか変な厨がわいちゃってるね。
0087デフォルトの名無しさんNGNG
w
0088超初心者NGNG
仮想86モードじゃだめだけどリアルモードならセグメントリミットを4GBにしてESIとかのレジスタで32ビットアドレス空間自在にアクセスできますよ。
repプリフィックスとdb 67hとmovsdとかで楽勝です。mov al,fs:[edi]なんてやれるし。
セグメントレジスタは0を入れるのが楽です。esiなどの32ビットレジスタに物理アドレスを入れるだけ。
CALL先は1MB空間に限定でuse32センテンスが使えるDOSエクステンダ系とは違って面倒ですが。
セグメントリミットを4GBにするのはセレクタの設定です。ソース必要であれば掲載します。
0089超初心者NGNG
補足、仮想86モードの場合はVCPIかDPMIで32ビットアプリを組めます。
私はVCPI(なつかしのMelware)でTASMとTCで無理やり組んだことがあります。
でもこれは殆どWin32環境のコンソールアプリと同じだな。TC(use16)ゆえにCでポインタが使えないことが問題だったが。
でもハードは、ばんばんにアクセスできます。
Win32環境では基本的にカーネル0で作るデバドラかI/Oトランザクションをゲートを通して実行するしかないでしょう。
SCSIなどはASPIファンクションで自在に扱えるという盲点のデバイスもあります・・・
0090デフォルトの名無しさんNGNG
?
0091超初心者NGNG
Win32環境でI/Oドライバ作ってもアプリに実行権が渡るまで反応できないよね。
即在に反応するのであれば全てデバドラ内部で処理する必要あり。
でもDOSだと自由です。
0092デフォルトの名無しさんNGNG
必要ならデバドラで反応すればいいじゃないの。
やり方知らんからどうでも良いけど。
DOSはCでもinp/outpでできちゃうからね。
0093超初心者NGNG
結局16ビットでI/O処理が遅いというのが気になっただけだけど。
リアルモードなり仮想86で32ビット命令使う場合にプリフィックス付く分メモリアクセス不利はわかりますが、Win32の環境じゃぁ速いI/O処理は難しいね。
32ビット処理は速いのは当たり前だけど環境がWin32とリアルタイムOSじゃ差があるのは当然で、DOS環境ならわがままし放題で速いソフト作れるねって話です。
Win32でもDirectXなどのI/Oサポートを使えば素晴らしい速度になりますが、話がそれましたね。
0094デフォルトの名無しさんNGNG
ageないの?
0095デフォルトの名無しさんNGNG
何をもって速い/遅いって言っているかによるだろうけど。
反応(リアルタイム性)と速度(データレート)と幅(16/32bit)などが
ごちゃまぜのような・・・
0096た す け てNGNG
マジレス求めても良いですか?

今 PC9801版DOS 命令と同処理をなぜかWin 版に直してんだが。
Dos の BIOS 制御で
Int 18h 命令で
AH 00h を入れた命令ってなにしてるんだ!!!?

AH 0Ah とかは資料に載ってるんだが・・・。どなたか親切な方たのむ。
0097_NGNG
http://homepage.mac.com/hiroyuki44/
0098デフォルトの名無しさんNGNG
>>96
必死だな(ワラ
0099デフォルトの名無しさんNGNG
>>98晒しあげ
0100_NGNG
http://homepage.mac.com/hiroyuki44/
0101デフォルトの名無しさんNGNG
C:\>debug
-a100
2463:0100 mov dx,109
2463:0103 mov ah,9
2463:0105 int 21
2463:0107 int 20
2463:0109 db 'Hello world',d,a,24
2463:0117
-r cx
CX 0000
:17
-n hello.com
-w
00017 バイト書き込み中.
-q

C:\>hello
Hello world

C:\>
0102デフォルトの名無しさんNGNG
>>96

キーデータの読み出し

割り込み INT 18H
入力 AH <- 00H
出力 AX <- キーコードデータ (AH <- キーコード、 AL <- キーデータ)
010396NGNG
>>102
ありがとうございます。

その後、int18 ではなく int 18 と検索ワードを書いたところ
ネットから情報を得ることができました。
不用意な書き込みにレス頂き感謝します。

また、頂いた「キーコードデータの割り込み」を用いて検索を
行いましたところより詳細なページも見つけられました。
ありがとうございました。
0104山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0105山崎 渉NGNG
(^^)
0106山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0107デフォルトの名無しさんNGNG
>2
> Turbo C / Turbo C++ / Turbo Pascal (PC-9800では動作不可)

98固有のライブラリを呼ばなければ、98も可能では。
逆の「98版TurboC Ver2.0+IBM固有Lib不使用」ではIBMでOKです。
こまかいですが。
0108デフォルトの名無しさんNGNG
>>107
当時のBorlandのIBM PC向け製品は98ではコンパイラが動かないのです。
IBM PCに依存するコードが含まれているのでしょう。

生成されたバイナリはIBM PCに依存するライブラリを使用していなければ98でも動きます。
0109デフォルトの名無しさんNGNG
確かスタートアップでどっかの割り込みベクタを保存してて
それがIBM PC固有で98だと不都合が出たと聞いたような。
コンパイラもそのコードを使ってるから。

パッチ当てれば動くようになったらしい。
0110デフォルトの名無しさんNGNG
>108
コンパイラ自体が動かないんだ。
むかし、IBMのTurboC1.5環境版を98で動かすパッチがあったような。
2.0で98版が出たからね。
0111デフォルトの名無しさんNGNG
Turbo Visionってまだあったんですね。Win32やUnixでもあるとは。
0112デフォルトの名無しさんNGNG
タダで使えるBorland C++ Part3から誘導されてきました。

「目的」
Win2000のコマンドプロンプトから、
グラフィックを使用するDOS用のプログラム(シミュレーションプログラム)
を実行したい。

以下、本からの引用
言語 C
コンパイラ Turbo C、 Borland C++ など
パソコン機種 PC-9801シリーズおよびその互換機、
IBM-PCおよびその互換機 (J-3100、AX、DOS/V)
CRT 640×400ドット
です。(引用終わり)

コンパイラは、TurboC++1.01です
ttp://community.borland.com/museum/

「質問」
ソースをみると、機種選択をするようになっています。

引用
#define IBM_PC
#define PC_98
#define PC_98_V2

これはIBM_PCを選択しコンパイルすれば、目的が適うでしょうか?
宜しくお願いします。

長文失礼しました。

0113デフォルトの名無しさんNGNG
OK
0114デフォルトの名無しさんNGNG
640x400てのが若干気になるけど、98やJ3100にあわせたんだろう。
たぶん下80行が使われないだけかな。

あと、コマンドプロンプトで実行して見栄えが悪かったら
ALT+Enterでフルスクリーン表示にするといいかも。
0115112NGNG
>113,114
ありがとう。

では、やってみます。
また質問がでたら、宜しくお願いします。

以上です。
0116112NGNG
途中経過です。
TC2.01を利用して、以下のプログラム(ネットで拾った)をコンパイルしてみました。
>tcc -ml graphics.lib gg.c
gg.c ソース
#include <graphics.h>
#include <conio.h>
void main(void){
int gd=DETECT,gm ;
initgraph(&gd,&gm,"b:\\graph");
setcolor(WHITE);              /*境界線を白色と指定*/
circle(319,175,100);         /*(319,175)を中心として半径100の円を書く*/
circle(260,250,100);         /*(260,250)を中心として半径100の円を書く*/
circle(369,250,100);         /*(369,250)を中心として半径100の円を書く*/
 setfillstyle(SOLID_FILL,RED);        /*べた塗りで色は赤色を指定*/
 floodfill(319,80,WHITE);  /*(319,80)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,BLUE);  /*べた塗りで色は青色を指定*/
 floodfill(260,340,WHITE);         /*(260,340)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,GREEN);  /*べた塗りで色は緑色を指定*/
 floodfill(369,340,WHITE);         /*(369,340)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,WHITE);  /*べた塗りで色は白色を指定*/
 floodfill(319,270,WHITE);         /*(319,270)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,YELLOW);      /*べた塗りで色は黄色を指定*/
 floodfill(370,200,WHITE);         /*(370,200)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,LIGHTCYAN);    /*べた塗りで色は水色を指定*/
 floodfill(320,290,WHITE);         /*(320,290)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,MAGENTA);     /*べた塗りで色は紫色を指定*/
 floodfill(230,200,WHITE);         /*(230,280)から境界線が白色までを塗る*/
getch();
closegraph();}
上手く、表示されました。
initgraph(&gd,&gm,"b:\\graph");これが、気になるのですが、
変えなくてもよいものなのでしょうか?宜しくお願いします。
0117デフォルトの名無しさんNGNG
>>116
"b:\\graph"は .BGI のあるディレクトリに変えた方が良いような気がする。
0118112NGNG
>117
レスありがとう。

やっぱり変えたほうがいいですよね。
なんか、気持ち悪いし、、、、。

また、すすみ次第、報告します。
0119デフォルトの名無しさんNGNG
>116
initgraphの引数が1つ足らんな(w
bgidemoは試したのか?
0120112NGNG
>119
レス ありがとう。手元に TURBO C++
のコンパイラ・マニュアルがあるので参照しました。

initgraph
機能 グラフィックスシステムを初期化する。
ヘッダ graphics.h
書式  void far initgraph(int far *graphdriver,int far *graphmode,
char far *pathtodriver)
でした。
だから、引数は3つで良いみたい。

>bgidemoは試したのか?
早速やってみました。

画面がちかちかと変わって(変えて)
”That's OK!,folks"と、最後に表示されましたよ。

最後に、
bgidemo.cから抜粋
initgraph( &GraphDriver, &GraphMode, "" );
3つめの引数は省略可ですね。
0121デフォルトの名無しさんNGNG
マニュアルがあるならバッチリですな(w
BGIはOBJに変換してリンクすると楽かも。
0122112NGNG
>121さんへ。

いや〜、こないだ、たまたま、ヤフオクで
ナツメ社から出ている
TURBO C++ コンパイラ・マニュアル
をゲットしたのですよ。100円でした。
運が良かったです。

ところで、
>BGIはOBJに変換してリンクすると楽かも。
は、どういうことですか?

すみませんが、教えてください。
宜しくお願いします。
0123デフォルトの名無しさんNGNG
100円とはラッキ〜〜。この手の本は少ないしね。

bgi2obj.exeだったかな?それを使って、BGIファイルをOBJファイルに
変換出来るんです。BGIファイルは実行時にinitgraphがロードしますが、
OBJだとリンクしておけるんで。initgraphのモードをDETECTにしておくと
EGAなどグラフィックアダプタに合わせてロードしてくれるんで便利ですが、
今時は解像度の高いのをリンクしておけば済むような気もするしね(w
0124112NGNG
>123
ラッキーでしょ〜。

makeが使えることも知ったし、十二分に元を取りましたよ。

ちょっと、質問の続きなのですが、後半の

>initgraphのモードをDETECTにしておくと
>EGAなどグラフィックアダプタに合わせてロードしてくれるんで便利ですが、
>今時は解像度の高いのをリンクしておけば済むような気もするしね(w

が、判らないです。

じつは、ライブラリをオブジェクトにするメリットも、いまいち
良くわかっていません。
gccとかで、数学関数を使うとき -lmって付けますよね。
だけど、数学関数のライブラリをオブジェクトにするっていうのは
聞いたことがありません。

教えてもらってばかりで恐縮ですが、お願いします。
0125デフォルトの名無しさんNGNG
objもlibも似たようなもんじゃないのとか思った。複数のobjまとめられるとか。そんなん?
0126デフォルトの名無しさんNGNG
>>124
> ちょっと、質問の続きなのですが、後半の
> >initgraphのモードをDETECTにしておくと
> >EGAなどグラフィックアダプタに合わせてロードしてくれるんで便利ですが、
> >今時は解像度の高いのをリンクしておけば済むような気もするしね(w
> が、判らないです。

ヘルプか参考書でregisterbgidriverを調べれ。

BGIファイルをOBJファイルにしてそしてリンクすることにより、
EXEファイル内にBGIファイルの内容を埋め込むことができる。

すると人様にソフトを配布する時にBGIファイルを添付する必要が無く
EXEファイルだけで済む。ちょっとカコイイ。という話。

まあ、見栄えの問題だけだから、面倒なら気にしなくてもいい。

ところで、目的のシミュレーションプログラムはどうだったんだろうか?
プログラムに日本語文字が使われているとコンパイラを通らない
可能性もあるが。
0127121NGNG
>126
なるほど、、、有難う御座います。

目的のシミュレーションは、まだ打ち込み中です。
日本語表記はないので、大丈夫かと思います。

もう1週間もかかっている、、、。
あさってまでには完成します。

0128デフォルトの名無しさんNGNG
>124
>じつは、ライブラリをオブジェクトにするメリットも、いまいち
>良くわかっていません。

ライブラリをオブジェクトにするメリットというか・・・
ライブラリはオブジェクトの固まりです。
図書館みたいなもんです。そこにある本がオブジェクトですね(w

DOSの拡張子で言えば、objを固めて実行出来るようにしたのがexe、
objをまとめておくために固めたのがlibです。libは使うときには
リンカがその中の「必要なobj」だけを取り出してexeにしてくれます。
単にobjを固めると使わない関数も固められてしまいます(昔のTurboC等は)
最近のWin32等のリンカは使っていないobjを関数単位で削除してくれますが。
例えば、ソースを関数毎とかにしてそのobjでlibを作ると、リンカが
必要なものを取り出して関数毎に固めてくれるわけです。

gccはよくしらんのですが、-lmとすると、libm.so(だっけ?)とかがあると
すれば、それはDOSのlibに相当します。
Winでは実行時にリンクするライブラリとしてDLLなんていうのもありますね。
DOSでもDLLとはちょっと違いますが、実行時にロードするオーバーレイ
なんていうのがありました。
0129121NGNG
>128さん、有難う。

こんな感じですか?

関数 tmp.exeは、tmp.objやaaa.lib
から生成されるものとする。

aaa.libはリンク時、リンカーによって
aa1.obj〜aan.obj等に変換され、
tmp.obj,aa1.obj(必要なobj)
でtmp.exeが作られる。

数学関数 例えば math.hによる
ライブラリの場合、sin()しか使わない
場合は、sin()のみのobjが作られるのですね。
そしてlinkされる。

少し、判ってきました。
0130デフォルトの名無しさんNGNG
>gccはよくしらんのですが、-lmとすると、libm.so(だっけ?)とかがあると
>すれば、それはDOSのlibに相当します。

いいえ、DLL相当です。
0131デフォルトの名無しさんNGNG
>129
objはlibから変換されるというか、取り出されるという感じでしょうか。
似たようなもんですが(w libはアーカイブなんです。objが固めて
あるので、オブジェクトライブラリって言うのが正しいのかも。
取り出されるのは、objの単位というか結局ソースの単位になってると
思います。だからsinだけ使ったらsin.objがリンクされるかはわかりません。
sinとcosで1つのソースが作られていれば、sinを使ってもcosも付いて
きちゃうというという感じでしょうか。
#最近のリンカでは、使っていない関数は取り除かれるようですが、
#どのように取り除くかはいまいちわかりません。

>130
.soはDLLでしたか、しんずれい(w
0132デフォルトの名無しさんNGNG
>>131
?
0133デフォルトの名無しさんNGNG
>132
何が? かな?
0134デフォルトの名無しさんNGNG
DOSでPCIバスのボードを複数枚制御する際、同じ割り込みを割り振られた場合
どのボードで割り込みが掛かったと判断するにはどうしたら良いですか?
0135デフォルトの名無しさんNGNG
>>134
>>134

INTを見る
0136デフォルトの名無しさんNGNG
>>134
各ボードのステータスを順繰りにチェックするしかないだす。
0137デフォルトの名無しさんNGNG
>>135-136
どうもです。なんとかやってみます。
0138デフォルトの名無しさんNGNG
ちょっくらDOS環境でプログラミングしようと思って,
http://www.borland.co.jp/bcsuite/
を買ったのですが,MSDNサブスクライバーでダウンロードしたMSDOS6.2には,
DPMIついてないし,EMM386に/DMPIオプションないので,
16ビットDPMIが必要なTurboC++4.0が動作しないんです。

DOS6ってPC-98x1でしか使ったことないんで,M$製DOSはよくわかりましぇん。
どなたかご存知ではありませんか?
DR-DOSについても検討したのですが,ネット上にある環境構築に関する情報では
みんながみんなDPMI=OFFなんですよ。何か問題が?

今はとりあえずMeマシン上でBorlandC++5.0Jでクロス開発してます・・・
0139デフォルトの名無しさんNGNG
>>138
TC4はVCPIで動くよ。

NEC版DOS6.2のEMM386.EXEの/DPMIは、VCPIを有効にするオプション。
VCPIは正式サポートではないが、付属のI-O DATA製DPMI.EXEがVCPIを必要とするため、
DPMI.EXEを使用する場合は/DPMIオプションを指定するようになっている。
DPMIを有効にするオプションではなく、「DPMI.EXEを使用する場合に指定するオプション」というわけ。

AT互換機用DOS6.2のEMM386.EXEは標準でVCPIに対応していたはず。
0140デフォルトの名無しさんNGNG
>>139
>AT互換機用DOS6.2のEMM386.EXEは標準でVCPIに対応していたはず。
まじですか。たしかにDOS解説系サイトではDPMI≒VCPIみたいに書いてありますね。

bochs上ではtc.exe起動時に
LTR:386TSS: loading tr.limit < 103
とPANICになってしまうので,あきらめてたんです。もしかして実機ならオケーなんでしょうか。
ちなみにこのbochs上でのmemの出力は
-------------------------------------------------------------------
メモリの種類 合計 = 使用 + 空き
---------------- ------- ------- -------
コンベンショナル 640K 78K 562K
上位 98K 98K 0K
予約済み 384K 384K 0K
XMS メモリ* 31,646K 2,873K 28,773K
---------------- ------- ------- -------
全メモリ 32,768K 3,432K 29,336K
全 1MB 以下メモリ 738K 175K 563K
全 EMS メモリ 3,376K (3,457,024 バイト)
空き EMS メモリ* 2,832K (2,899,968 バイト)
* EMM386 は EMS メモリをシミュレートするために XMS メモリを使っています.
空き EMS メモリは空き XMS メモリの変更によって変わることがあります.
最大実行可能プログラムサイズ 562K (575,808 バイト)
最大空き上位メモリブロック 0K (112 バイト)
MS-DOS はハイメモリ領域に常駐しています.
-------------------------------------------------------------------
こんな感じです。使っているbochsは
http://ebisa.hp.infoseek.co.jp/bochs/index.shtml
のbochs-2.1.pre3-jpfix-20040103-win32.zip です。
どっちにしてもひまみつけて実機で試してみますぅ。
0141デフォルトの名無しさんNGNG
現品.comで買ったSBC(P-166)に32MBのCFカードと,フロッピーと電源だけ繋いで,立ち上げてみました。
DOS6.2Vをインストールして,TC4Jをフロッピーからインストールしました。
なんら問題なく立ち上がりました。bochs上ではTC4は動作しないということで・・・
どうもありがとうございました。またよろ〜ヽ(´ー`)ノ
0142デフォルトの名無しさんNGNG
今VCの16ビット(ver1.5?)手に入れるとしたら
オークションぐらいしかないですか?
0143デフォルトの名無しさんNGNG
なんか、このスレ見てたら98で同人ゲーム
作っていた当時を思い出したよ
今は、しがない業務アプリの設計者だけど
久しぶりにa8000Hとかに直書きしたくなってきた
0144141NGNG
>>143
>久しぶりにa8000Hとかに直書きしたくなってきた
ちょっとした組み込み系だとそういうのまだ現役ですよ。だいたい現場は3K職場ですけど。
ついでにお伺いしたいのですが,a8000Hとか,d0000Hとかに直書きするとき,どうやってました?
その1(ポインタでしこしこ)
void *base_adr;
base_adr = 0xd0000h;
その2(レジスタマップなんかを構造体にしてリンクでアドレス指定)
struct board_foo{
char register[10];
char flag[3];
}foo1;
としておいて,foo1がd0000hに配置されるようにリンカオプションで指定。
0145デフォルトの名無しさんNGNG
>144
その1とその2の合わせ技でしょう。
0146141NGNG
>>145
その場合,リンカオプションをいじらずに,ソース上に全部の情報が載るわけですな。
0147デフォルトの名無しさんNGNG
なるほど、構造体をかぶせるのが一番ですね。
0148141NGNG
構造体にかぶせるのを,アドレス指定(つまりポインタ)で書くと,
foo1->register[REGNO_CHANNEL1] = 1;
とかになって,「->」がうざいというシトがおられます。
構造体の配置自体をリンク時に指定してやれば,
foo1 . register[REGNO_CHANNEL1] = 1;
と書けるのです。C++でなら,参照を使って,
board_foo &foo2=*foo1;
とか書けるといいんですが,そうは問屋がおろさないようです。
組み込み系の処理系(PL/M,古いintelC)ではかなり太古から変数の配置アドレスをソース上で
操作できるのが普通だと思うのですが,gccとか今風の処理系でもできるんですかね。
そういうの使わないととんでもなく書きにくいと思うのは,頭が古いんでしょうか。
0149デフォルトの名無しさんNGNG
>>148
>とかになって,「->」がうざいというシトがおられます。

刺して下さい。
0150141NGNG
->->->->-> ;y=ー( ゚д゚)・∵. ターン

->演算子で刺しておきました。
0151デフォルトの名無しさんNGNG
>>150
噂の演算子オーバーロードですね。
0152143NGNG
おや、レスが来てた
いや、当時は全部アセンブラで書いていたから・・・
DSをa800hに変更して直書きしてたから意味合いで言えば、
その2に近いのかな?どちらにしても10年以上前の話だからなぁ
0153141NGNG
>>152
>いや、当時は全部アセンブラで書いていたから・・・
(MASMの)アセンブラの構造体こそ望ましいものです。アドレスを指定して,
構造体メンバにアクセスできて「->」をうざがって刺されることもないです。
0154デフォルトの名無しさんNGNG
 
0155デフォルトの名無しさんNGNG
>148
PLMとは懐かしい。今でも昔のサポートで使うことありますが(w
gccでも直アドレス指定出来ますよ。
まあOSによっては、やっても怒られるだけですが(w
0156141NGNG
>>155
>gccでも直アドレス指定出来ますよ。
直アドレスを
char *base_adr= 0xd0000;
とできるのは当たり前で,お伺いしたかったのは
struct board_foo;
として作ったものを0xd0000に配置するような機能のことです。ほんとうにできますか。
>まあOSによっては、やっても怒られるだけですが(w
WindowsNT系でもOS標準でできるんで困りませんし,タイミングが10msec以上の
比較的シビアなものではリアルタイム拡張製品などを使うので問題ありません。
それにタイミングが絡んでくると,OSなんかの機能よりも「作り方・書き方」の方が大事だと思います。
特殊なハードのラッチ信号をPCからポチポチ制御するような困ったちゃんシステムとか。
0157デフォルトの名無しさんNGNG
>156
あれま(構造体)変数などの絶対番地ロケートでしたか。
gccで開発するCPUでROM化などしたことがないのでわかりませ〜〜ん(^^;
わざわざ実体を重ねなくても、構造体へのポインタで良いような
気がしますけどね。処理系の環境に依存させるのがいやですから。

怒られるはメモリアクセス例外などが出るだったんですが。
タイミングですか、OSの機能というより挙動を知ってないと
いけない、じゃないですかね。何がWinNT系のOS標準で出来る
だかわかりませんが、WinNT系でもリアルタイム拡張があれば
時間の保証が得られるらしいですね。
0158デフォルトの名無しさんNGNG
昔は知識不足その他で果たせなかった事を何となくしてみたくなって、
使わなくなってた古い9821にdjgppをインストールしました。
今更ですが、Undocumentedな機能(PEGCとか)を使ってみたり、
直書きや割り込み、DPMI等で遊んでます。

…何で今更はまるんでしょう(笑)
結局、DOSは嫌いじゃないんだよなあと再確認しますた。
0159デフォルトの名無しさんNGNG
>>156
> struct board_foo;
> として作ったものを0xd0000に配置するような機能のことです。ほんとうにできますか。

mapped I/Oなら
#define foo1 (*(struct board_foo *)0xd0000)
じゃダメなん?
0160141NGNG
>>159
>#define foo1 (*(struct board_foo *)0xd0000)
おお。新パターンです。ありがとうございます。
#defineだとデバッガが・・・ゲホゲホ
ちなみにこれは,実際にお使いですか?
0161デフォルトの名無しさんNGNG
mapped I/Oでドライバ書いたことはないけど、DOSでは使ったな。
0162デフォルトの名無しさんNGNG
>>161
VRAMの位置とか?
0163デフォルトの名無しさんNGNG
質問させてください。キーイン待ちして、何秒後かにタイムアウトする
ようなプログラムは作れるでしょうか?
キーイン待ちのときに割り込み28hが呼ばれるようになっていても、
この中からいきなりキー入力処理の後にジャンプなんてできそうに
ないと思うし(安全とは思えないので)。なんか手ってないもんでしょうかね?
0164デフォルトの名無しさんNGNG
>>163
while(kbhit()){
if(time >= basetime + 1000){
timeoutflag = 1;
break;
}
}
0165163NGNG
>>164
ありがとうございます。
そうですね、この方法がありますね。一点気になるのがCPUを喰いすぎる
かなと思うところです。(シングルタスクなので実際上の問題は無いと思い
ますが。。)
0166デフォルトの名無しさんNGNG
>> 163
割り込み28hの中でフラグ立てるようにして,
キー入力待ちする側でタイムアウトをカウントしながら
そのフラグを監視すればよいと思います。
もちろんそのフラグは利用側で事前・事後にクリアしてやらないといけません。
>> 165
> 一点気になるのがCPUを喰いすぎる
?CPUを食わないようになんてできませんよ。CPUは常に100%フル回転です。
nop連続にした方がバスへのアクセスも減って,動作しない内部ロジックが増えて
発熱・消費電力を抑えられるとか,そういう趣旨なんですかね。
それとも省電力対応CPUのお話ですか。
0167デフォルトの名無しさんNGNG
ビジーループってこったろ
0168デフォルトの名無しさんNGNG
>>167
MS-DOSでビジーループを気にする理由がわかりませんね。
タイマ割り込みでソフトタイマー作って,キー入力を割り込みで処理するんなら,
なんにも悩むことなんてありませんですよ。
自前で擬似マルチタスクでも作ってその上で何かなさっておられるのなら,
ビジーウェイトを気になさるのも理解できますが。
0169デフォルトの名無しさんNGNG
ごめんごめん。俺が悪かった。

>(シングルタスクなので実際上の問題は無いと思い
>ますが。。)

これすら読まずに屁理屈こねるような奴に言っても無駄だったな。
0170デフォルトの名無しさんNGNG
お互い様でしょうね。
0171デフォルトの名無しさんNGNG
>>170
同意。
0172デフォルトの名無しさんNGNG
Interrupt Listの最新って61?
0173デフォルトの名無しさんNGNG
61
ttp://www.ctyme.com/rbrown.htm
0174デフォルトの名無しさんNGNG
あげ
0175デフォルトの名無しさんNGNG
バッチファイルを作っているのですが
特定のアプリを強制終了させるコマンドがどうしてもわかりません。
どなたか教えてください。

OS環境はWindows2000Proです。

XPだと、taskkillコマンドが使えるらしく
Win2kならtasklist→killコマンドが使えるらしいのですが
MS-DOS上でそのコマンドを打ってみてもだめでした

ダメモトでバッチファイルでkillコマンドとtaskkillコマンドを書き込んでみましたが
当然だめでした。
0176デフォルトの名無しさんNGNG
>>175
killはWindows 2000 Support Toolsに入っている。
Windows 2000 Support ToolsはWindows 2000のCDに入っている。
0177175NGNG
ありがとうございます!!
0178デフォルトの名無しさんNGNG
カレントディレクトリのファイル名を全部大文字にするツールを
作ってるんですが、rename( 旧ファイル名, 新ファイル名 ) とやっても
全然変化しないんですよ。

DOS プロンプトから rename 旧ファイル名 新ファイル名 なら
いけるんですが・・・

Cで DOS のコマンドを実行するっていう命令ありませんでした?
10年前に使ったような記憶があるが思い出せない・・・
0179デフォルトの名無しさんNGNG
system
または
exec系関数
0180デフォルトの名無しさんNGNG
ここはいっちょディレクトリエントリを
直接書き換えるというのは、、、
0181デフォルトの名無しさんNGNG
>>178
一回ダミーファイル名に変換してからとか。
0182デフォルトの名無しさんNGNG
ありがとうございます。
さっそくプログラム中・・・
メインプログラマーがウンコすぎて仕事が殆どオレに
まわってきて死にそうです。
0183デフォルトの名無しさんNGNG
とりあえずダミーファイル名に変更することで対応できました。
ありがとうございました。
ていうかメインプログラマーまだ出社してこないよ・・・
もう○んでクレ。
0184デフォルトの名無しさんNGNG
おそらく彼は今頃コタツの中で安らかに・・・
0185デフォルトの名無しさんNGNG
おならを死んだ
0186デフォルトの名無しさんNGNG
すみません。
時間を取得してファイル名にセットしたいのですが、
TIMEコマンドだと:が混じってしまい設定ができません。
何か良い方法は無いでしょうか?
よろしくお願いします。
0187デフォルトの名無しさんNGNG
age
0188田宮良子NGNG
おまえ、混じっているな
0189ツソイチNGNG
混じってるって、どぼぉいうことだよ、
みゅぅぃぃぃぃぃぃいいいぎゅぅいいいいいいいいいいいいぃぃぃ!!!!!
0190は ◆cplnFO9T0I NGNG
ネットワークプログラマに朗報です。
閉鎖されてたかと思われたTEENのサイトは、ただ単に鯖のHDが飛んでただけなので、
(マシントラブルとかかれていますが、どう考えたって、消失するといったらHDが飛んだとしか考えられません。)
仮運用の状態にあるそうです。みなさん、これからもがんがってください。
ttp://www.pc88.gr.jp/~teen/
0191デフォルトの名無しさんNGNG
>>190
>(マシントラブルとかかれていますが、どう考えたって、消失するといったらHDが飛んだとしか考えられません。)

さて、と。
0192デフォルトの名無しさんNGNG
>>6
0193デフォルトの名無しさんNGNG
こんなサイトを見つけました↓

http://www.command.com/

ここのスレの住民なら笑えるかも。
0194デフォルトの名無しさんNGNG
ttp://command.com/
にして、www.を省略したほうがそれっぽいよ。
0195は ◆cplnFO9T0I NGNG
2ちゃんねるブラウザを作ってるんですが、
お気に入りを読み込む部分は動的リンクにしたほうが良いでしょうか?
回答願います。
0196デフォルトの名無しさんNGNG
スレ違い
0197デフォルトの名無しさんNGNG
>>196
そうなのか?
0198デフォルトの名無しさんNGNG
Web Boy を参考にせよ
0199デフォルトの名無しさんNGNG
>>197
だってどう見ても195はDOS用の2ちゃんねるブラウザを作っているようには見えない
0200は ◆cplnFO9T0I NGNG
>>198
参考にしろといわれてもねぇ。
>>199
何故に?
コンポーネントをEXEにして分離したほうがいいのか聞いてるんですけど。
0201デフォルトの名無しさんNGNG
>>200
それは動的リンクとは言わない。
0202デフォルトの名無しさんNGNG
オーバーレイとかあったなぁ(しみじみ
0203デフォルトの名無しさんNGNG
思うがままに作って、完成させてから要望聞いて対応すりゃいいじゃん。
要望が出そうなところが分かってるなら、最初からそういう風に設計できるだろ?
ただ、DOS用なら、俺としては実行部はファイル1つの方が分かりやすい。
>>195の言う「動的リンク」が何を指すのか、>>200でいよいよ分からなくなったが…
0204は ◆cplnFO9T0I NGNG
>>201
似非動的リンク
>>203
わかったYO!
ともかくそこの部分を変更可能なように作っておくということで。
ともかく、ひとつのEXEで作ってみる。
0205デフォルトの名無しさんNGNG
>>204
似てもいない。
0206デフォルトの名無しさんNGNG
とりあえず、がんがれ。
0207デフォルトの名無しさんNGNG
消えた「は」
0208は ◆cplnFO9T0I NGNG
生きてますよ。
0209デフォルトの名無しさんNGNG
昔から疑問だったんだけど、>>143にあるようなVRAMアドレスって
DOSエクステンダを使うとどうなるんですか?
アドレス変わっちゃうのかな?
0210デフォルトの名無しさんNGNG
DOSエクステンダは1MB以下のメモリはアドレスが変わらないように
マップしてくれます。その代わりぬるぽが検出できないわけで
0211デフォルトの名無しさんNGNG
pharlapのdosエクステンダはvram用セレクタがあるよ
0212デフォルトの名無しさんNGNG
前に他のスレで伺ったらスレ違いとのことでしたので、
こちらでお尋ねしてもよろしいでしょうか?

VCでCUIのプログラムを作ったのですが、
Windows(XP/200/98等)内のDOSプロンプトでは動作するのに、
Windows98の起動ディスクで起動したDOSプロンプト内では動作しません。
Win32APIは使っていません。
調べた範囲ではSTUBが動作してしまっているようなのですが、
どうすればこの場合STUBではなく通常動作させられるのでしょうか?
0213デフォルトの名無しさんNGNG
最近のVCはDOS用プログラム作れないからCUIでビルドしても無理
DOS対応コンパイラを探せ
0214デフォルトの名無しさんNGNG
TurboC++とかだな
0215212NGNG
>>213 , >>214
ありがとう
0216デフォルトの名無しさんNGNG
Digital MarsとかもDOS吐けるでしょ。
0217デフォルトの名無しさんNGNG
お分かりになる方がいらしたら教えていただきたいのですが・・・

MASMver5で作ったマンデルブロ集合計算プログラム( .387ディレクティブ
で有効にした浮動小数点命令を使用してます)なんですが、IBMのDOS5J
の下で実行させると45分もかかるのに対して、WIN98SEのDOS窓では
4分程で終了します。どうしてこんなに実行時間に差がでるのか?と不思議に
思っています。何が原因でしようか。
CPUはATHLON2000+で、マ・・集合計算プログラム中でEMMS命令により
MMX命令を禁止させてます。(EMMS命令を追加してやらないと浮動小数点
命令が正常に実行されません)

よろしくお願いします。。
0218デフォルトの名無しさんNGNG
SEは優秀だから
0219デフォルトの名無しさんNGNG
>>217
計算だけ? 描画もしてる?
DOS窓はフルスクリーン?
0220217NGNG
>>219様
レス、ありがとうございます。
DOS窓はフルスクリーンで、計算と同時に描画も行っています。
0221デフォルトの名無しさんNGNG
>>220
試しに計算だけで比べてみるといい。
DOSの描画はVGA互換モードだから遅いのかな。
0222217NGNG
>>221様
ありがとうございます。
ご指摘のようにDOSでの描画は、BIOSのサービス(ファンクション番号
0CH)を利用しているため遅いです。正確に測ったことはありませんが、
単純に点を打っていくだけでも、400*400の面いっぱいを描くのに数十
秒位かかったように記憶しています。
0223デフォルトの名無しさんNGNG
XPでLSI-Cを使おうとすると、uasgeが空行になっちゃうんですが
対処法あります?
0224デフォルトの名無しさんNGNG
>>223
状況がよく分からんのでソース貼ってくれ。
実行結果も。
0225デフォルトの名無しさんNGNG
>>224
いやただたんに

$lsic

(謎の改行(usage分?))

$

こんな感じなんですよ
0226デフォルトの名無しさんNGNG
一回command.com起動汁

XPってDOSコマンドが表示されない時があるんだよな・・・
0227デフォルトの名無しさんNGNG
NTVDMとやらが悪さしているようでガスね
毎回command.com立ち上げるのめんどいんでこれを機にDOSBOX入れまス
0228デフォルトの名無しさんNGNG
DOSBOXってこれ?
http://dosbox.sourceforge.net/
0229デフォルトの名無しさんNGNG
sou
0230デフォルトの名無しさんNGNG
ハードウェアを直接叩くのが面白いと聞いたので、パンチしたら壊れました。
どう責任とってくれるんですか。楽しくありませんでした。
0231デフォルトの名無しさんNGNG
スレ違い
http://pc5.2ch.net/test/read.cgi/tech/1090324689/
0232デフォルトの名無しさんNGNG
最近はハードウェアよりもソフトウェアに対してムカつくことが多いです。
ソフトウェアを直接叩く方法を教えてください。
0233デフォルトの名無しさんNGNG
>>232
右斜め45度から勢いよくやれ。
0234デフォルトの名無しさんNGNG
>>233
本当だな?
0235sageNGNG
諸先輩方に質問があります。
大変、厨房な質問ではありますがどうかよろしくお願いいたします。

(1).EXEファイルの先頭512バイトのリロケーション情報領域の事ですが、先頭1バイト目の『ファイル識別子』の種類と意味を知りたいのですがどなたかご存知でしょうか?
(2).EXE/.COMファイルのリロケーション領域について詳しく紹介されているHPがあれば教えていただきたいのですが。

現在、勉強中なのですが参考文献も減ってきており四苦八苦しております。
どうか宜しくお願い致します。
0236235NGNG
>(2).EXE/.COMファイルのリロケーション領域について詳しく紹介されているHPがあれば教えていただきたいのですが。
(2).EXEのリロケーション領域と.COMのPSP領域について詳しく紹介されているHPがあれば教えていただきたいのですが。
の間違いでした。スミマセン。
0237デフォルトの名無しさんNGNG
MSDOS拡張機能セットを買え
0238デフォルトの名無しさんNGNG
昔はプログラミングの資料がOSに付いてたんだったな
つーかマジな話拡張機能セットってまだ買えるの?
0239デフォルトの名無しさんNGNG
MSDNに載ってないか?
0240デフォルトの名無しさんNGNG
ここにある資料ではどうよ?
漏れは「リロケーション領域」の意味がわからんので自分で調べてくれ。

ttp://www.wotsit.org/
0241デフォルトの名無しさんNGNG
>>235
DOS PSP」でググッたら、PSPの説明ありますた。
超カメレスで、スマソ

ttp://www5c.biglobe.ne.jp/~ecb/assembler2/7_5.html
0242235NGNG
皆さんレス有難う御座います。

>MSDOS拡張機能セット
・・・資金が不足している為、購入不可です。

>MSDN
そういえば、載っているかも知れませんね。
調査不足でした。

>>240さんから紹介して頂いたページは最高にいいですね。
ピンポイントで知りたい情報が載ってました。
その他にも色々なファイル情報があり素晴らしいページですね。
お気に入りに登録しときました。
本当に有難う御座いました。

もうちょっと精進しときます。
0243デフォルトの名無しさんNGNG
>>235
DOS5Aのマニュアルp295,296
「EXEファイルの構造と・・・」

http://uploda.net/cgi/uploader2/index.php
ここに飛んでupload25235.jpgをクリックしてちょ
0244デフォルトの名無しさんNGNG
>>233
せっかくカラー化できると思ったのに白黒に逆戻りになってしまうではないですか?
0245デフォルトの名無しさんNGNG
VGAの同期信号を一時的に停止させるgenericな方法ってありませんか?
0246デフォルトの名無しさんNGNG
VGA コントロールレジスタ」でググッたら、こんなのがありますた。
         ↓
http://community.osdev.info/index.php?VGA

0x03c3:VGA動作許可レジスタ(8bit、W)
bit0:VGA動作許可(1:動作許可)
bit1-7:リザーブ
このレジスタいじったら、どうなるんだろ?
0247デフォルトの名無しさんNGNG
PCIバスボードの割り込み関係の話なんですけど、
割り込みを使用するボードを1枚挿してBIOS上で
単一のIRQ(例えば5)のみを使用するように設定して
そのベクタを書き換えた場合の割り込み処理は問題ないのですが、
複数のIRQ(例えば5と12)を使用するように設定した場合に
ベクタを書き換えた後、割り込みが発生すると
スタックオーバーフローが出て暴走してしまいます。
勿論IRQを複数使用できる設定にしていても実際使用している
IRQは1つですし、実行ファイルも同じものです。
割り込み処理の記述等で何か注意する必要があったりしますか?
0248デフォルトの名無しさんNGNG
>>247
「スタックオーバーフローが出て暴走してしまいます。」

スタックポインタのチェックコードが有効のままになっていて、
割り込みルーチンであぼんしているわけじゃなくて、本当にスタックを
食いつぶしているってことですか?
0249デフォルトの名無しさんNGNG
interrupts?で追い確認?
0250デフォルトの名無しさんNGNG
>>248
割り込みを発生させた途端、

Internal Stack Overflow
System Halted

のようなメッセージが画面に表示されて
止まってしまうような状況です・・・。
このメッセージ自身DOSで出してるので
恐らく実際スタックを潰しちゃってると
思うんですが・・・。
0251デフォルトの名無しさんNGNG
>>250
割り込みの発生ペースは上がってますか?
config.sys で STACKS=64,512 とか指定してみるとどうでしょう。
0252デフォルトの名無しさんNGNG
>>251
割り込みトリガそのものは外部のスイッチから与えてるので
発生している割り込みは1回だけだと思います、多分。
スイッチのチャタリングが発生してる可能性もあるかも知れませんが、
上手くいくパターンでは1回の割り込みしか発生していませんでした。
しかし駄目なパターンの場合はその1回目で例のメッセージが
出てしまうんですよね・・・・。
config.sysの変更については今その環境が無いので
試せませんが明後日に試してみようかと思います。
0253デフォルトの名無しさんNGNG
ん〜駄目でした・・・・orz
でもどうやら駄目なケースの場合は何故かベクタの書き換えが
上手くいっていないようです。
今日も色々試したんですがサッパリ・・・・もうどうすれば(ノД`)
0254デフォルトの名無しさんNGNG
すみません。MS-DOS 6 の Files/FCBS/Buffers/Lastdrive/stacks を
UMBやHMAに持ち上げるプログラムありませんか?
PC-98 用なら何とかありますが、DOS/V用がありません。
無ければ作ろうと思いますので、資料でも可。
0255デフォルトの名無しさんNGNG
DOSでプログラミングと言えば、ボーランドが昔のDOS用の製品を
まとめて売り出しているが、買う香具師いるのか?
ttp://www.borland.co.jp/bcsuite/
0256デフォルトの名無しさんNGNG
いません。
どうせあと二年もすれば無料になるよ。
0257デフォルトの名無しさんNGNG
Windowsが普及しきってからPCを使い始めましたが
なぜかDOSに惹かれるので、DOSコマンドも覚えました。

今からDOSプログラミングを始めようと思ったら
どういった手段で資料を集めればいいでしょうか?
大きい本屋になら未だに並んでるのか、Web上で足りるのか、諦めるしかないのか・・・
0258デフォルトの名無しさんNGNG
どんなことをなさりたいのか分かりませんが、DOSのシステムコールの説明
なら、DOSの拡張セット(NECのDOSの場合)にマニュアルが添付されて
ました。が、今でも販売されているかどうか? オークションに出るかもしれ
ませんね。BIOSサービスとかハードウェア関係は、CQ出版社が昔、解説本を
多数出してましたが、今でも在庫があるかどうか?
0259デフォルトの名無しさんNGNG
コマンドがどうとかっていうことが興味の方向なら、
Cygwin でも入れて perl とか awk その他を覚えてゆくのが良いような気がする。
0260デフォルトの名無しさんNGNG
>>254
PACK for WIN GOLD 98後期版」なるCDブックにENVHI.EXEという
フリーソフトが収録されていて、これが「一番親のcommand.comの
環境変数をUMBに追いやって、ほんの少しだけ空きメモリを広くできる
かも知れません。」なのだそう。こういうのを差しているのかな?
激しくカメレスで、スマソ
0261デフォルトの名無しさんNGNG
>>254
MSDOS7なら全部〜Highがあるんだけどそれじゃだめだよな。
0262デフォルトの名無しさんNGNG
>257です。
コマンドラインで作業をしたいという訳ではなく、>258の仰るようなことに興味があります。

資料はオクで探すしかないようですね。ありがとうございました
0263デフォルトの名無しさんNGNG
>>262
http://www5c.biglobe.ne.jp/~ecb/assembler2/assembler10.html
0264デフォルトの名無しさんNGNG
すみません。

C言語 dos で
msecの時間を表示したいのですが、
どのようにすればよいでしょうか?

よろしくお願いします。
よろしければプログラム貼り付けてください。
0265デフォルトの名無しさんNGNG
hoge
0266デフォルトの名無しさんNGNG
>>263
アセンブラのコンパイラってなんだ???
0267デフォルトの名無しさんNGNG
>>264
環境依存です。
0268デフォルトの名無しさんNGNG
>>264
読解力不足のせいで意味がわかりかねるのですが、もしmsecがミリセコンドの略で
あり、また、何等かの現象をパソコン内臓のタイマを利用してミリセコンド単位で
計測、表示したいというのが>>264氏の希望であるのならば、これが役に立つかも?
ただし、NECの9801の場合で、しかもアセンブリ言語です。  ↓
     速水さん、許してちょ              ↓
              ttp://ludwig.kir.jp/ok/src/1097534047798.jpg
              ttp://ludwig.kir.jp/ok/src/1097534142576.jpg     ↓
              ttp://ludwig.kir.jp/ok/src/1097534225064.jpg

所謂DOS/V機の場合、最近のマザーボートはWIN2000以降のOSを前提に
設計されているようなので、タイマIC8253完全互換の機能をサポートしてる
のどうかとかアドレスがオリジナルPC/AT機と同じかどうかは?ですね。
0269デフォルトの名無しさんNGNG
DOSでtimeGetTime()見たいのってないの?
0270デフォルトの名無しさんNGNG
ない。
DOS時代はタイマICに直接アクセスするとか、
VSYNC割り込みトラップして自分でカウントするとかでなんとかしてた。
0271デフォルトの名無しさんNGNG
ttp://www.vector.co.jp/soft/dos/personal/se004253.html
0272デフォルトの名無しさんNGNG
そうか、タイマはFM再生とか効果音に使いそうだからやっぱりVSYNCなのかな
ありがとう
0273デフォルトの名無しさんNGNG
>>268 の貼ってくれたスキャンみてて思ったんですけど
outのあと何クロックはoutの結果に依存した処理をしちゃいけない
とかを解説したとこってないですか?
0274デフォルトの名無しさんNGNG
ttp://anabuki.ec.u-tokai.ac.jp/class/kouza/kakitoku/kaki.htm
0275デフォルトの名無しさんNGNG
>>264
いろいろ書いてあります↓
ttp://www.webtech.co.jp/undoc/io_cal.txt
> o カレンダ時計割り込み搭載機種では、MS-DOS環境でHRTIMER.SYSというデバ
>イスドライバを組み込むことでDOSファンクションで1/100秒単位の時刻を
>取得することが可能である。

ttp://www.webtech.co.jp/undoc/io_tcu.txt
0276デフォルトの名無しさんNGNG
DOS
0277デフォルトの名無しさんNGNG
上げてみるクスコ
0278デフォルトの名無しさんNGNG
32Bitコンパイラで「int 10h」
のシステムコールを使うとバグるんですが
32bitコンパイラでDOSのビデオモードの
変更とかどうやってやるんですか?
教えてください、お願いします。
0279デフォルトの名無しさんNGNG
環境ぐらい書け
0280デフォルトの名無しさんNGNG
一般的なことしか書けませんが、プロテクトモードではIDTを記述して
やらないと割り込みが使えないはずですが、この点はいかがでしょうか。
32bitコンパイラに関してはド素人なもので、こんなことしか書けません。
失礼しました。
0281デフォルトの名無しさんNGNG
ただ単にWindowsの32ビットプログラムでやろうとしているだけだったりして。
0282デフォルトの名無しさんNGNG
想像で語るのはやめようや
0283デフォルトの名無しさんNGNG
だったら環境かけよボケが
0284デフォルトの名無しさんNGNG
>>281
けっきょくこれか?クズが!
0285デフォルトの名無しさんNGNG
>>278
リアルモードにおりてから実行妹汁
0286278NGNG
>>280,285
有難うございました、やってみます


環境はBorland C++5.5でMEです。
其の他の人もどうもすみませんでした。
0287デフォルトの名無しさんNGNG
281の言う通りでしたとさ。
0288デフォルトの名無しさんNGNG
DOS窓という通称の弊害がこんなところに
0289デフォルトの名無しさんNGNG
DOSエクステンダーってどうやって使うの?
教えてエロい人(;つД`)
0290デフォルトの名無しさんNGNG
マヌアルを小便ちびるまで嫁
0291デフォルトの名無しさんNGNG
manual自体入手しづらくないか?
0292デフォルトの名無しさんNGNG
言い訳はトイレに行って一人でして下さい
0293デフォルトの名無しさんNGNG
まにゅあるなんてもうねぇだろ
0294デフォルトの名無しさんNGNG
マニュアル付きDOSエクステンダ (EXE386)
ttp://www.vector.co.jp/soft/maker/kmc/se002624.html

処理系も欲しいなら

Digital Mars C++ (X32) (コンパイラはWin32アプリ)
ttp://www.digitalmars.com/

Open Watcom (DOS/4GW) (こっちはDOS上でもコンパイルできる)
ttp://www.openwatcom.org/index.html
0295デフォルトの名無しさんNGNG
Digital MarsとOpen Watcomって
とっちが使いやすい?
0296デフォルトの名無しさんNGNG
正直俺も仮想8086モードでINT関係が使えん何故だ・・・・
0297デフォルトの名無しさんNGNG
Open Watcomって商用では使わない方が良いって聞くけど何で?
0298デフォルトの名無しさんNGNG
>>297
何故そう言った奴に聞かない?
0299デフォルトの名無しさんNGNG
噂とかで流れてんじゃねーの( ´ー`)フゥー...
0300デフォルトの名無しさんNGNG
>>297
商用で使ってはいけないとライセンスに書かれているからです。
0301デフォルトの名無しさんNGNG
マジッスカ???
0302デフォルトの名無しさんNGNG
マジッスヨ???
0303デフォルトの名無しさんNGNG
DOS画面で、入力内容とかメッセージとかをファイルに出力するコマンドがあったら
教えて下さい。
0304デフォルトの名無しさんNGNG
>>303
質問があいまいだな
COPY CON filename や ECHO 、リダイレクトなど。
0305デフォルトの名無しさんNGNG
>>303さん
レスありがとうございます。
DOS画面の表示内容をそのままファイルに出力したいのです。
長いバッチで古い上の方が消えてしまうもので、
それを全て記録したいのです。
初心者なのでいまいちうまく説明できなくてすみません。
0306デフォルトの名無しさんNGNG
>>304さんありがとうございました。
リダイレクトでできました。
即レスありがとうございます。
0307デフォルトの名無しさんNGNG
0308デフォルトの名無しさんNGNG
[Windows]初心者〜管理者まで必読!コマンドライン(DOS Pt.3)
http://pc5.2ch.net/test/read.cgi/win/1062775949/
0309デフォルトの名無しさんNGNG
アスキー出版局の、PC−9801スーパーテクニックっつー本
誰かいらんけ?
0310デフォルトの名無しさんNGNG
>>309
図書委員の権限発動して高校の図書館に入れさせてコピーした記憶のある懐かしい代物だなw
0311デフォルトの名無しさんNGNG
あなたを詐欺罪で訴えます。
0312デフォルトの名無しさんNGNG
>>2 >>109
今更だが、パッチってこれだな。
http://groups.google.com/groups?hl=ja&lr=&c2coff=1&selm=37E0FA53.FF84E994%40anet.ne.jp
0313デフォルトの名無しさんNGNG
>>312
まぁあれだ、MSに対向するためのみの意義しかないグラフィック機能を除けば今でもそれなりだろうね。
少なくともLSI-Cを使うよりも16倍いい。
#あれはあれで、悪くはないのだが。
0314デフォルトの名無しさんNGNG
LSI-CはLFN libraryがあるから、Win/DOS両方で使えるような小物を作るのに重宝している。
0315デフォルトの名無しさんNGNG
dosのフォントが気に入らない。変更するにはレジストリをいじるしかないのかな?
0316デフォルトの名無しさんNGNG
そりゃDOS窓やろ
0317デフォルトの名無しさんNGNG
もし窓じゃないDOSならCONFIG.SYSをいじって下さい。
0318デフォルトの名無しさんNGNG

0319デフォルトの名無しさんNGNG
DOSってなんどす?
0320デフォルトの名無しさんNGNG
Turbo C + nasm + alink => 16bits DOS EXE
をしているのですが、どうもうまくいきません。

ASMからC関数はよべるのですが、
CからASM関数をよぶとエラーになってしまいます。

それから、Cから指定されたポインタはスタック内でどのようになっているのでしょうか。
たとえば、

mov ah,09h
mov dx,[bp] ;<-ここがよくわかんない
int 21h

というように、ASM側でどのように指定してよいかわかりません。

どなたか教えていただけませんか?
0321デフォルトの名無しさんNGNG
DOSで動作するMASMの6か5.1ってフリーになってないのかな。
0322デフォルトの名無しさんNGNG
セグメントディスクリプタを書いてないんじゃないかと E.S.P.
0323デフォルトの名無しさんNGNG
>>320
FAQ

勉強してから質問しれ
0324320NGNG
>321
MASM はサイズが大きすぎるので、ちょっと。。。

>322
せぐめんとでぃすくりぷたとは??
0325320NGNG
>323
質問の説明が悪かったですね。。


まず、ASM関数 _puts を用意します。
関数内では、
ah=09h
ds:dx=buffer
int 21h
を処理するようにします。

そして、Cからこの関数を呼び出したいとします。

セグメントが違う(僕の勘違いかもしれませんが)ので、
mov ah,09h
mov dx,[bp] ;[bp]=Cの引数
int 21h
とすると、ゴミが表示されます。


という内容でした。
0326デフォルトの名無しさんNGNG
>>325
引数は正しくわたされてるか
_pusは正しく動作するか
C側のオブジェクトは確保されているか

これらを確かめた上で

tcのローカル変数を処理したいのならば([bp]と書いてあるので)、スタック上に確保されている
よってDSで処理する_putsに適合させることはできない。(セグメントオーバーライドでも不可)
DS上の別領域にでもコピーする

ただし、small modelならばSS=DSなので問題は起きない




0327デフォルトの名無しさんNGNG
つーか、コンパイラにアセンブリ出力させてよく見ろ。
0328デフォルトの名無しさんNGNG
ACPIをDOSでコントロールしたいのですが、どこかにソースかライブラリが落ちていないですか?
0329デフォルトの名無しさんNGNG
俺はEPSONのPC386からぶっこぬいてきたフォントをTerminalの14ptに突っ込んで使ってるので
DOSの時代からWin95/98/2000を経てXPのコマンドプロンプトまで同じフォント。
ついでにLinux上のX-Winodwも一緒
0330デフォルトの名無しさんNGNG
日記は(ry
0331デフォルトの名無しさんNGNG
w
0332320NGNG
>327
引数の受け渡されているところが、なまなましく見ることができ理解できました。


ただ、C側のアドレスに関しては解決できません。

extern void putc( char c);/*ASM関数*/
char* ss="Hello World!\n$";
putc( *ss);/*表示されるのは,ゴミ*/

相性が悪いのでしょうか?

0333デフォルトの名無しさんNGNG
asm以前にCもわかってなさそうだな・・・・・
0334デフォルトの名無しさんNGNG
>>333
俺も全く同じ事を思った。

>>332
>相性が悪いのでしょうか?
プログラミングとあなたの相性が悪いせいかもしれない。
0335デフォルトの名無しさんNGNG
なんせ完全な解が出てるのに無視してる
0336320NGNG
ソースです。ご指摘、お願いします。

NASM -f obj start.nas
TCC -c main.c
ALINK start.obj main.obj -oEXE -o test.exe

;start.nas
segment .text USE16
extern _main

..start:
call _main
mov ax,4C00h
int 21h

global _putc
_putc:
push bp
mov bp,sp
add bp,4
push dx
mov ah,02h
mov dl,[ss:bp]
int 21h
pop dx
pop bp
ret

segment stack stack
resb 100h
stacktop:
0337320NGNG
/*main.c*/
extern void putc ( char c);
void main ( void)
{
char* test="Hello World!\n$";
putc( 'i');/*"i"表示*/
putc( *test);/*ゴミ表示*/
}
0338デフォルトの名無しさんNGNG
だからCの勉強をしなさいって。
0339デフォルトの名無しさんNGNG
"Hello World!\n$"
なんの意味があるんだ最後の$…
0340デフォルトの名無しさんNGNG
うーん・・・・まず2chの勉強が先かと・・・・・・・・
まずはsageと打鍵する練習
0341デフォルトの名無しさんNGNG
じゃなかった。この原因は。

Cの「スタートアップ」と呼ばれるものが何をしているか
もっとはっきり言えば、DS,ES,SSは誰がいつ設定しているのか、と。
0342デフォルトの名無しさんNGNG
それもCの勉強なんだがな
0343320NGNG
"Hello World!" のセグメントは、>326 の言ったとおり取得できないんでしょうか?

>341
スタートアップについてはよくわかりません。。
バイナリ初心者なもので。。
0344デフォルトの名無しさんNGNG
うひょひょひょ。
ヘルプ見ろ。
サンプル見ろ。
ヘルプ見ろ。
サンプル見ろ。
関数の使い方書いてあるだろ。
初心者はそれ真似することからはじめろよw
0345デフォルトの名無しさんNGNG

char* ss="Hello World!\n$";
putc2( *ss);

mov ah,09h
mov dx,[bp + 0]
mov ds,[bp + 2]
int 21h

としてみてください・・・
0346デフォルトの名無しさんNGNG

char[] ss={"Hello World!\n$"};
putc2(ss);

mov ah,09h
mov dx,[bp + 0]
mov ds,[bp + 2]
int 21h

としてみてください・・・
0347320NGNG
訂正です。
"Hello World!\n$" =訂正=> "Hello World!\r\n$"

>345
ASM関数
_puts:
push bp
mov bp,sp
add bp,4
push dx
push ds
mov ah,09h
mov dx,[bp + 0]
mov ds,[bp + 2]
int 21h
pop ds
pop dx
pop bp
ret

を追加した後、C側で puts( ss); としたところ、これもゴミが出てきます。。。
0348デフォルトの名無しさんNGNG
半可通が教えるクンして泥沼プ
またーりオチ
0349デフォルトの名無しさんNGNG
よくこんなんで、nasmとかalinkを使うよな。
トラブルが全く切り分けられないのに、標準以外のツールなんか使うなよ。
0350デフォルトの名無しさんNGNG
typoっぽいケアレスが気になるんだけど、何回も書いているから本当に理解してないのかも・・・・・・
0351デフォルトの名無しさんNGNG
しかし、ここの住人はキモイな
ここまで性根が腐ってるとは。。。
よっぽど現実社会じゃ、みじめでいじめられてるんだろうんなw
0352デフォルトの名無しさんNGNG
ASM関数
_puts:
mov bp,sp
push dx
push ds
mov ah,09h
mov dx,[bp + 2]
mov ds,[bp + 0]
int 21h
pop ds
pop dx
ret

としてみてください・・・
0353デフォルトの名無しさんNGNG
手取り足取り指導してる方がよっぽど醜悪
これがわからない内は引き篭もってろ
0354\________/        NGNG
       ∨
    / ̄ ̄ ̄ ̄\   
   (  人_____,,)
    |ミ/  ー◎-◎-)  ボクハ ホントウハ ツヨインダゾ・・・ブツブツ
   (6     (_ _) )    カタカタカタ
   | ∴ ノ  3 .ノ  ______
    ヽ、,,     __,ノ   |  | ̄ ̄\ \
   /       \.____|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
0355デフォルトの名無しさんNGNG
>>351
絶妙な釣りと、釣りに気づきながら悪ノリしているこのスレの常連の構図だが。
0356デフォルトの名無しさんNGNG
過疎スレで釣りをする人間がいる訳ないし(ヒマな引き篭もりほど
そんな発想をするんだろが)、こんな過疎スレでいつもの構図も何もない。
悪ノリと言っても、みじめな自分の社会生活のウサ晴らしに
初学者をいびってるだけだろうが。
顔だけでなく精神まで腐ってちゃ救いようがないな。
全く内外ともに絵に描いた様なキモオタだな。
だから何時までもバカにされてみじめなんだよ。耳が痛いだろう。
アンタらは、もう一生救われないよ。
0357デフォルトの名無しさんNGNG
久しぶりの餌なんだから、もっとゆっくり食べようよ
0358デフォルトの名無しさんNGNG
魚が逃げちゃうよ。orz
0359デフォルトの名無しさんNGNG
初学者の割に、他人のアドバイスを聞く耳を持ってないようだがw
耳に心地良い(そして間違ってるwww)アドバイスについて逝くしwwwww
0360デフォルトの名無しさんNGNG
wを連打してるのが痛々しい  悔し泣きしてるのか?
0361デフォルトの名無しさんNGNG
他のasmスレに逝ってないようだし、本当に釣りだったかも
0362デフォルトの名無しさんNGNG
とりあえずメモリモデルについて調べろ、引数がstackにどう積まれるか、だな
0363デフォルトの名無しさんNGNG
何を逝っても無駄・・・・・誰の話もきいちゃいなかったし・・・・・・・・
0364デフォルトの名無しさんNGNG
だーかーらー、釣りだってばよ。
0365デフォルトの名無しさんNGNG
こんなリアルっぽい釣りがあるかよ
0366デフォルトの名無しさんNGNG
リアルっぽいからこそ釣れるんだろ。
0367デフォルトの名無しさんNGNG
おまいらピラニアかよ
0368デフォルトの名無しさんNGNG
本物はどこかふざけてるんだよ。
今回はそれがない。
0369デフォルトの名無しさんNGNG
( ´・_・`)320タン、ちゃんとCの勉強してるかなー
0370320NGNG
すいません。レス遅くなっちゃいました。。

なかなかうまくいかないので、最初からまた調べ直そうと思います。
教えてくれたみなさん、わざわざありがとうございました。

またつまずいたら、ずうずうしいながら質問させて頂きます。
その時は、もう少し高度な話題ができたらなと思います。

(マジレスでした。。。)
0371デフォルトの名無しさんNGNG
もう一度だけまじめに書くけど、>>337がうまく動かないのは、
コンパイラは文字列リテラル "Hello ..."がDGROUPのセグメントにあると仮定したコードを吐いているのに
DSが別の領域を指しているため、全然別のデータを読んでいるから。
DSを設定するのはスタートアップ(TCCならc0x.obj)で、
コンパイラがリンカを呼び出すときに、これをリンクしている。

とりあえず、アセンブラコード内でcall _mainするのをやめて
単にCのソースにアセンブラの関数をリンクして動かしてみ。
0372HelpNGNG
どなたかご存知でしたら教えてください。
C#で作成したDLLからVB6へイベントを通知する方法を
ご存知でしたら教えてください。
VB6は、C#記述のInterfaceをサポートしていないので
デリゲートでイベント通知がうまく出来ません。
お願いします。
0373320NGNG
>371
その方法は何度かためしたのですが、
Error: Fixup overflow in module main.c at _TEXT:000E, target = _putc
という感じで、リンクが出来ませんでした。。
0374デフォルトの名無しさんNGNG
じゃあ、コンパイラの出力を参考にセグメント指定をしなさい。
_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セグメントの中。
0375デフォルトの名無しさんNGNG
なんでも教えりゃわかるってもんじゃないんだよ
0376デフォルトの名無しさんNGNG
INT28
0377デフォルトの名無しさんNGNG
INT 1B
0378デフォルトの名無しさんNGNG
>>377
clc/stc/cmc
0379kaiNGNG
dos用に作られたCプログラムをwindows上で動かすことはできないのですか?
0380デフォルトの名無しさんNGNG
>>379
自分で試せよ。
0381デフォルトの名無しさんNGNG
基本的に動く。ただしNECのPC98のハードウェア、BIOSに依存したものは動かない。
その場合98エミュレータ上では動く。
0382デフォルトの名無しさんNGNG
餌がコネェ
0383デフォルトの名無しさん05/01/17 00:57:24
CGの技術・性能が向上していく一方で、テキストだけ、あるいはラインアートな絵といった
ゲームにも大きな魅力を感じている人間がここにいる。
ミステリーハウスとかZorkとかNethackとか。どういうわけだか好きなんだ。
かといって派手な演出が嫌いというわけでもないんだが、とにかく
今もDOSでプログラミングとかしている人は尊敬するわけです。
がんばってくださいありがとう保守。
0384デフォルトの名無しさん05/01/19 00:32:50
DOSはもう流行ることもないんだろうけど
消えることもないんだろうナ‥
せっかく書くんだ 一番好きなOSで動かすのが当然だろう
0385デフォルトの名無しさん05/01/27 10:57:57
TurboC++1.01を使ってるんですが286までしか扱ってくれないので
386レジスタを使おうとしてもコンパイルエラーが出ます
なんとかできませんか
アセンブラは386対応のものを使ってます

int main()
{
 asm{
  mov eax,0  ; eaxって何?って言われる
 };
 return 0;
}
0386デフォルトの名無しさん05/01/27 10:59:41
>>385
何故eaxを使いたいのか聞かせてくれ
0387デフォルトの名無しさん05/01/27 11:04:44
前に 66h 埋め込んでおけばいいんじゃねーの?
TC++でどうやるかは知らんが。(emitか?)
0388デフォルトの名無しさん05/01/27 11:22:02
>>386
386で動かすプログラムだからeax使った方が効率いいからです

>>387
コンパイラが286時代のものなのでそもそもeaxレジスタは存在していなく
未定義の識別子扱いをしてパースしてくれないんです
0389デフォルトの名無しさん05/01/27 11:24:16
go WATCOM with DOS-extender to get the 32bit-full-power!
0390デフォルトの名無しさん05/01/27 11:41:55
>>388
だから、mov eax,0の代わりに、mov ax,0にしてその前に66hを埋め込むってこと。
0391デフォルトの名無しさん05/01/27 12:00:07
こうですか…
mov eax,0
db 66h
なんと言うか可読性がすごいことになりそうですね…
0392デフォルトの名無しさん05/01/27 12:01:41
>>391
ホームラン級の馬鹿だな
0393デフォルトの名無しさん05/01/27 12:07:45
ワロタ
0394デフォルトの名無しさん05/01/27 12:12:49
その程度の認識で効率がどうのこうの言うのは背伸びしすぎ
0395デフォルトの名無しさん05/01/27 12:13:21
素直にアセンブラ使えばいいのに。タボシなんか捨てて。
0396デフォルトの名無しさん05/01/27 17:50:51
いや、TurboC/C++は、アセンブラコードは処理できないよ。
外部のアセンブラに渡すだけ。

ていうかね、.286とか.386cって書いているの見たこと内科医?
どっか先頭の方、適当なところに入れて桶
0397デフォルトの名無しさん05/01/28 13:19:16
PC/AT互換機用のTCなら、ボーランドのFTPサーバーから
自由にダウンロードできるようですが・・・
違ってたらスマソ
0398デフォルトの名無しさん05/01/28 13:30:28
FTPは知らんが、HTTPなら。
http://community.borland.com/museum/
0399デフォルトの名無しさん05/01/30 23:36:17
BCC使ってるんですけど、

system("set /P A=\"[Y/N] \"");
system("echo \%A\%");

とやると「%A%」と表示されてしまいます。
どうしたら良いのでしょうか?
ご指導くださいませ。
0400デフォルトの名無しさん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\%");
とするか、バッチファイル作って呼び出せ。
0401デフォルトの名無しさん05/01/31 03:06:39
system("echo %A%");
0402デフォルトの名無しさん05/02/07 03:02:15
バッチファイル以外で %環境変数% が使えるようになったのはWin95付属のDOS7.0以降だな。
0403デフォルトの名無しさんNGNG
ttp://www.256b.com/demo/225
ttp://www.256b.com/demo/112
0404たかのぶ2005/05/09(月) 21:58:11
こんなん叩いたら↓
if not exist z: net use z: \\Server01\e$ PPPPP /user:XXXXXX
こんなもんがでたYO↓
z: は \\Server01\e$との接続を記憶しています。
記憶している接続に上書きしますか?(Y/N)
藻前ら分かる香具師はいますか
0405デフォルトの名無しさん2005/05/11(水) 05:51:11
command.comは気が狂いだすから持ち出すのやめてくれ
0406デフォルトの名無しさん2005/05/11(水) 16:01:09
うはwwwwwcommand.comおwwww
いいけつしとるのぉwwwwおkwwww
0407デフォルトの名無しさん2005/06/18(土) 23:11:50
初心者です。突然すいません。急いでいるもので。
○○.EXEというDOSプログラムの中身を見るのはどうしたらよいのですか?
0408デフォルトの名無しさん2005/06/18(土) 23:15:13
バイナリエディタで開け
0409デフォルトの名無しさん2005/06/18(土) 23:16:02
>>407

d>debug ○○.EXE
0410デフォルトの名無しさん2005/06/18(土) 23:20:00
ありがとう。
定番バイナリエディタってどれです?
(409は難しそう)
0411デフォルトの名無しさん2005/06/18(土) 23:33:43
16進でみたいだけならviでもhidemaruでもMifes(綴分からん)でもいいけど。

中味を見るというのがよく分からん。
ひょっとしてexeからソースを復元したいの?
0412デフォルトの名無しさん2005/06/18(土) 23:36:22
はげまるって、 まだDOS版売ってるの?
0413デフォルトの名無しさん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のバッテリー情報を確認できるツールが有るんだけれど
機種によって使えたり使えなかったりするので、どこかを変えれば何とかなるのかなって思って…

だけどこの数字の羅列の意味はよく分からないな…
0414デフォルトの名無しさん2005/06/18(土) 23:53:10
dos限定だったのか。
エスパーな会話しちゃったw

0415デフォルトの名無しさん2005/06/19(日) 00:02:25
>>413
それがプログラム
左が16進数で、右がテキストエディタで開いたときのものと思え

ってか、お前がバイナリエディタで開いたバイナリは
改編を認めてるのか?
ライセンス違反だぞ
0416デフォルトの名無しさん2005/06/19(日) 00:03:48
このスレッドの名は
DOSでプログラミング
"で"なんだから、DOSを使うのが前提でしょ?
コマンドプロンプトではなくDOS
ずっと俺はそう思ってたけど
0417デフォルトの名無しさん2005/06/19(日) 00:10:55
>>416
winに付属しているコマンドプロンプトしか頭になかった。
正直すまんかった。

(そういや、伯父もいまだにPC98FAつかっているしな)
0418デフォルトの名無しさん2005/06/19(日) 00:15:22
>>413
どんなプログラムか知らんがその機種にあったものを探した方が早いと思うぞ。
素人がぱっと見ただけでパッチを当てられるようなもんじゃない。
0419デフォルトの名無しさん2005/06/19(日) 08:21:05
DOS始めるには何からやればいいの?
0420デフォルトの名無しさん2005/06/19(日) 08:39:23
あきらめる
0421デフォルトの名無しさん2005/06/19(日) 11:46:26
>>419
DOSのインストール
0422デフォルトの名無しさん2005/06/19(日) 19:41:31
>>421
DOSのインストールって何
もともとあるんじゃないの?どこにあるの?
0423デフォルトの名無しさん2005/06/19(日) 19:49:03
>>422
DOSだって昔は単独で販売されていたんだからインストーラだって存在していた。
0424デフォルトの名無しさん2005/06/19(日) 20:15:09
>>422
WinNT系にはDOSは入っていない。

今DOS単体が手に入るのかどうかは不明。
やりたいんならWin9x系OSをインストールするとかかな
0425デフォルトの名無しさん2005/06/19(日) 20:50:01
DR DOSでも使えばいい
0426デフォルトの名無しさん2005/06/19(日) 21:11:03
Windows 2k/XPでもDOS起動ディスクは作れないわけではない。
http://homepage2.nifty.com/winfaq/w2k/hints.html#952
http://homepage2.nifty.com/winfaq/wxp/boot.html#745
0427デフォルトの名無しさん2005/06/19(日) 21:13:34
DOS"で"プログラミング
なんだから、DOSでやろうや
Win9xでやるのもいいと思うが、そしたら絶対に
Windowsのエディタでコード書くだろ
DOSを入れろ
0428デフォルトの名無しさん2005/06/20(月) 01:43:36
やっぱ、VB1が、とても好き。
mouse.com入れて、結構あそべます。
0429デフォルトの名無しさん2005/06/21(火) 09:44:56
MS-DOSを使ってみて、かなり不自由だったので
ツール郡を移植したあの日々
2ヶ月後くらいに公開したら、もっと質のいいものが出回ってるとしった日
死にたくなった

あれから、2度とDOSの画面は見ていない
0430デフォルトの名無しさん2005/07/18(月) 10:49:41
DOS上で、Windows のプログラム開発は、出来ますか?
gcc + mingw とかで。
0431デフォルトの名無しさん2005/07/18(月) 11:03:22
>>430
MS-DOSでgccは動かないと思いますが。
0432デフォルトの名無しさん2005/07/18(月) 12:48:01
>>430
動作確認はどうするんだよ。
0433デフォルトの名無しさん2005/07/18(月) 13:32:58
djgpp
0434デフォルトの名無しさん2005/07/18(月) 15:25:42
>>431
マジっすか?

というか、勝手に思っててください。
0435デフォルトの名無しさん2005/07/18(月) 16:41:54
思うだけなら自由だしな
0436デフォルトの名無しさん2005/07/18(月) 19:35:05
ここでいってるDOSってMS-DOSのことなの?
もし、MS-DOS限定ならバージョンはどれを指すの?
>>1を見るとハードを直に叩けるって言ってるから6.1以前の物限定?
0437デフォルトの名無しさん2005/07/20(水) 05:25:08
ポッカーーーン
0438デフォルトの名無しさん2005/07/20(水) 05:46:40
俺がMS-DOSを使わなくなったのはメモリの管理を阿呆みたいにし始めたからかな
0439デフォルトの名無しさん2005/07/20(水) 11:26:23
EMSにXMS、さらにはBMSか?
0440デフォルトの名無しさん2005/07/20(水) 17:39:37
UMB,HMA,
0441デフォルトの名無しさん2005/07/20(水) 20:16:29
>>440
どっちもXMSの一部じゃなかったっけ?
0442デフォルトの名無しさん2005/07/21(木) 00:14:12
そういえばそうだったかも。
ん、でもHMAはXMSのおまけで、UMBは仮想EMSのおまけだったような気も。
XMSって286以上の規格じゃなかった?
0443デフォルトの名無しさん2005/07/21(木) 06:14:11
UMBの割り当て/解放のファンクションはXMSドライバのファンクションの一部に
いちおうなってる
http://www.ctyme.com/intr/rb-4768.htm
EMM386を組み込まないと実際には使えないんだろうけど
0444440,4422005/07/21(木) 17:22:29
勉強になりました。
でもこの先使うことなどなさそうな知識だ。
0445デフォルトの名無しさん2005/07/21(木) 18:49:15
(ノ∀`)それを言わないで
0446デフォルトの名無しさん2005/07/23(土) 07:17:32
CD-ROMドライバはネットワークドライブ(のドライバ)の一種だそうですが、ネットワークドライブの仕様について情報源があれば教えて下さい。
0447デフォルトの名無しさん2005/07/23(土) 07:19:48
ドキュメント読めよ
0448デフォルトの名無しさん2005/07/23(土) 14:47:28
ドキュメントはないんじゃなかったっけ?
Undocumented DOSにネットワークリダイレクタの機能を利用した
RAMディスクのサンプルが出てたけど
0449デフォルトの名無しさん2005/07/24(日) 19:37:18
DOSでプログラミングじゃなくてDOSをプログラミングになってきた俺はどうすればいいんだろう・・・
0450デフォルトの名無しさん2005/07/24(日) 20:55:13
>>449
用途によってはDOS互換OSもまだ需要があるから
そのままがんがれ!
0451デフォルトの名無しさん2005/07/31(日) 21:00:23
Dos Promptでシューティングでも作りたいんだが
なんか良い解説サイトとかない?
0452デフォルトの名無しさん2005/07/31(日) 21:01:05
こことか超おすすめ
http://www.google.co.jp/
0453デフォルトの名無しさん2005/07/31(日) 21:31:34
俺はDOSエクステンダを自分で作ってみたい
っていうか、どういう処理をしてるんだよ
気になって夜も眠れん
0454デフォルトの名無しさん2005/07/31(日) 22:02:59
その時の気分でプロテクトモードとリアルモードを切り替えてるんだよ
0455デフォルトの名無しさん2005/07/31(日) 22:07:13
>>453
ttp://www.vector.co.jp/soft/dos/prog/se008332.html
04564532005/08/01(月) 22:08:39
>>455
おーサンクス心の友よ
0457デフォルトの名無しさん2005/08/18(木) 23:41:51
こっちのほうが詳しそうな人がおおいので、質問させていただきます
PCIデバイスのプログラミングやっとります。

PCIデバイスで割り込みを使うには、PIC(割り込みコントローラー)の、モードをLevelトリガーモードに
しないといけないようです。そのためPCIバス対応の割り込みコントローラー(APIC?)には、IRQを部分的に
Levelトリガーモードにする機能があるようなのですが、いくらぐぐっても
らしき資料が見つかりません。

どなかた助けてください、お願いします
0458デフォルトの名無しさん2005/08/19(金) 00:20:43
適当にハード関連の本を十冊くらい嫁
0459デフォルトの名無しさん2005/08/19(金) 09:58:25
>>458
何もしらんくせにええかげんなこと書くなよ...
0460デフォルトの名無しさん2005/08/19(金) 16:21:32
>>457
まずはそのデバイスがedge-trigger使えるかどうか調べてからにしな
04614572005/08/19(金) 19:32:06
ここで聞いた俺が馬鹿だったわ。Linuxのソースコードでも読むことにする
あばよ

>>460
Edge-triggerはPCIデバイスでは使えない、PCIデバイスは全部Level trigger
0462デフォルトの名無しさん2005/08/19(金) 21:00:37
つか、DOSでPCIバス叩いてた奴なんて少数派だと思うぞ。
0463デフォルトの名無しさん2005/08/19(金) 21:41:23
>>461
YMF7x4のFM音源割り込みはモロにIRQだったけどなw
INTなんか使ってねーよ
0464デフォルトの名無しさん2005/08/19(金) 22:18:08
>>463
PCIのIRQ割り込みは基本的にEdge trigger、しかしPCIの場合はこれをLevel triggerにしないとだめ
そのためPCIをサポートしているチップセットは、一部のIRQのみをLevel triggerにする機能がついてるわけ
その方法を探している。

Linuxのコードをざっと読んだところ、0x4d0, 0x4d1の二つのポートを使って、それが可能のようなのだが
これはどうやらEISA用のやり方らしい、PCIも同じ方法でできるのかどうかはわからない。

Linuxのコメントを読むと、APIC用の別のやり方があるそうなのだが...不明
04654642005/08/19(金) 22:19:20
ごめん間違えた
(誤)PCIのIRQ割り込みは基本的にEdge trigger、しかしPCIの場合はこれをLevel triggerにしないとだめ
(正)PCのIRQ割り込みは基本的にEdge trigger、しかしPCIの場合はこれをLevel triggerにしないとだめ
0466デフォルトの名無しさん2005/08/20(土) 11:46:50
>>464
まずはdatasheet読もうぜ
440BXとかその辺のヤツだけど役に立つだろ
('A`)ノシ http://www.intel.com/design/intarch/datashts/290562.htm
0467デフォルトの名無しさん2005/08/20(土) 15:38:39
>>466
Thx!、そうか、Intelの本家ページを探せばよかったのか!...
やはり0x4D0, 0x4D1の二つのポートを使うらしい。ただしIRQ1とIRQ2は絶対、Edge triggerで
Levelには変更できないそうだ、ありがとう!
0468デフォルトの名無しさん2005/08/20(土) 22:34:31
>>467
お前英語読めねーの?
思い切り書いてあるんだが。
0469デフォルトの名無しさん2005/08/21(日) 10:23:06
>>468
だから、上のマニュアル読んで言ってるんじゃないか。ああ、おせっかいだったか悪かったな。
「やはり...」の文脈の流れから見てわかんねーの?半島の方ですか?

後それからIRQ1,2に加えて8,13も無理みたいだな。
0470デフォルトの名無しさん2005/08/21(日) 10:30:18
なにこれしきのことでファビョってるんだ?
0471デフォルトの名無しさん2005/08/21(日) 12:35:44
DOS使いはレベルが低いね
0472デフォルトの名無しさん2005/08/21(日) 13:16:05
IBM PC DOS 7.0J/V(または 2000) で REXX のプログラムの話は出て来ないものか。
0473デフォルトの名無しさん2005/08/21(日) 13:29:58
>>467
16bit 環境でプログラムですよね?(プロテクトモードはよく知らないので)
ISA時代で使われていたテクニックそのままで良いですよ。

強いて違いを挙げるとすれば、

・大抵のPCIボードは、割り込みステータスレジスタがあり、これをクリア
 しないと、割り込みハンドラからIRETしても、割り込みハンドラに再突入
 する。
・PCIボードは、ISAボードと違い、割り込み共有可能。
 つまり、
  割り込みハンドラに突入=自分のPCIボードへ割り込みが入った
 とは必ずしも言えない。
・PCIコンフィギュレーションレジスタを弄って、IRQを書き換える時、
 レガシーデバイスと共有できない点に注意。
 (レガシーデバイスは、レベルトリガじゃないのが、ほとんど)

まぁ、こんな所ですかね。

ところで、PCIボードを制御したいって、制御対象は産業用ですか?
産業用なら、メーカーから何がしか情報が出てませんかね?
0474デフォルトの名無しさん2005/08/23(火) 02:01:32
>>473
産業用ではありませんNE2000互換のNICの制御を目的としております。

>割り込みステータスレジスタがあり、これをクリア
>しないと、割り込みハンドラからIRETしても、割り込みハンドラに再突入
>する。
なるほど、Levelトリガーゆえの挙動ですね。肝に銘じておきます。

あと、追加質問で大変申し訳ないのですが、LevelトリガーはEdgeトリガーとは
EOI発行のタイミングが異なると小耳に挟んだのですが、そこらへんは
どうなんでしょうか?
0475デフォルトの名無しさん2005/08/27(土) 10:52:04
>>474
遅くなってすんません(週一で巡回しているもので)。

> あと、追加質問で大変申し訳ないのですが、LevelトリガーはEdgeトリガーとは
厳密な内部の違いになると あまり自信は無いです。

基本的には、割り込み処理を抜ける前に EOI で十分です。
(優先順位の高い割り込みへの割り込みを許す為に、先にEOIを発行するって
ワザもありとは思いますが、8259を更に弄る必要が無かったっけ?)

> NE2000互換のNICの制御
プログラムが主目的でなく、通信が主目的なら、NICに関して言えば、
メーカーさんから NDISとか呼ばれている DOS用のドライバが提供されて
いると思います。

それを採用するのも一つの手ではあります。
(100kb程度のメモリを占有するのがネックですが)
0476デフォルトの名無しさん2005/08/29(月) 08:33:40
>>475
>基本的には、割り込み処理を抜ける前に EOI で十分です。
わかりました、ありがとうございます。
0477デフォルトの名無しさん2005/09/01(木) 19:19:03
INT13の使い方について質問です。

AX=0x4300でIDEのHDDを書き換えようとしたら、エラーが出ました。戻り値はAH=0x01でした。
調べてみるとパラメータ異常ということで、試しにAXに代入する値を0x4100に変えて、
それ以外はまったく同じ条件でまったく同じセクタを読み込んでみると正常終了します。

読み込みが可能で書き込みのできない条件というのが、今ひとつよくわかりません。
エラーの原因と対策を教えてください。

環境は、Win98SEの起動ディスク(DOS 7.1)の上で実行しています。DOS窓ではありません。
LOCKも事前に実行しました。
マザーのBIOSも確認しましたが、HDDを保護するような項目は見あたりませんでした。
0478デフォルトの名無しさん2005/09/02(金) 11:34:04
>>477
HDDの容量は?
0479デフォルトの名無しさん2005/09/02(金) 22:01:32
>>478
20GBです。

その後、試行錯誤してWinMeの起動ディスクから起動すれば、正常に書き込みできることが判明しました。
いずれのケースでもCONFIG.SYSは0バイト、ドライバ類は何も組み込んでいません。
何が違うのかさっぱりです。
0480デフォルトの名無しさん2005/09/12(月) 22:48:40
定期age
0481デフォルトの名無しさん2005/09/12(月) 22:50:58
PentiumD使いの俺がきましたよ
0482デフォルトの名無しさん2005/09/12(月) 22:52:39
シングルタスクOSでデュアルコアCPU...
0483デフォルトの名無しさん2005/09/12(月) 22:53:54
>>481
そのPCはDOS専用機に汁!
0484デフォルトの名無しさん2005/09/12(月) 23:03:13
DOSBox(エミュ)使ったほうが開発しやすくないだろうか
0485は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I 2005/09/16(金) 20:42:53
>>484
グラフィックアプリ、I/O直叩き
これをやるのにはエミュじゃ無理じゃない?
0486デフォルトの名無しさん2005/09/16(金) 21:04:28
モノにもよるが、標準的なデバイスなら大体おkなんじゃない?
最終的には実機でデバッグすればいいんだし。
0487デフォルトの名無しさん2005/09/17(土) 20:24:01
ふつークロス開発
0488デフォルトの名無しさん2005/09/19(月) 11:38:44
つ[ハンマー]
0489デフォルトの名無しさん2005/11/06(日) 16:37:59
DOSでPCIでネットワーク処理って楽しそうだな(w
すなおにLinuxとかのフリーライセンスなマルチタスクOS使っておけばいいのに。
0490デフォルトの名無しさん2005/11/06(日) 18:52:03
やれやれ、最近の若いもんはPacket Driverも知らんのか・・・
困ったもんじゃて。
0491デフォルトの名無しさん2005/11/06(日) 19:06:14
>>479
HDDの中身はWinMeでFDISKかけてないか?Win98かMeの時にWin2000との互換性取るためにVFAT他で仕様変わってるはず
0492デフォルトの名無しさん2005/11/07(月) 17:36:23
>>490
そんなの使ってサーバ作りたくないなw
0493デフォルトの名無しさん2005/11/09(水) 04:28:12
>>491
INT 13でのアクセスなので、ファイルシステムは関係ありません。
ぶっちゃけ、初期化されてないHDDでもアクセスできるというか、
そもそもFDISK自体がINT13でHDDを初期化しているわけですから。
結局のところ解決できず、HDDは今のところ放置です。

そのかわり、今はUSBメモリで四苦八苦しています。
手持ちのノートパソコンをUSBメモリからブートさせたいのですが、
BIOSがタコでサポートしているディスク形式(ジオメトリ)が限られているらしく、
なかなかうまくいかなくて。
HDDエミュレーションの仕組みをよく理解していないので、MBRにパッチを当てて
動作をトレースしているところです。
0494デフォルトの名無しさん2005/11/09(水) 18:11:50
ボリュームの排他ロックってのが必要じゃなかったっけ? たとえMS-DOSモードでも。
Meでは廃止されたのかな
0495デフォルトの名無しさん2005/11/09(水) 23:33:29
>>494
事前にコマンドプロンプトからLOCKコマンドは実行したのですが、
それとはまた別の手続きが必要なのでしょうか?
ちょっと調べてみます。
0496デフォルトの名無しさん2005/11/25(金) 00:59:57
ローカルにある三つのファイルをまとめて圧縮したいのですがこれをコマンドプロンプトでやるには
どうしたらいいのでしょうか?DLLはWINDOWS標準でついているものを使いたいです。
例えばC:/マイドキュメントのa.log、b.log、c.logを
c:/work/guro/の下に圧縮する場合
なんてコマンドプロンプトを打ち込めばいいのでしょうか?
どうぞご教授お願いいたします。
0497デフォルトの名無しさん2005/11/25(金) 01:12:49
スレ違いどころか板違い。このへんででも聞け。
http://pc8.2ch.net/test/read.cgi/win/1116131036/
0498デフォルトの名無しさん2005/11/25(金) 01:35:47
>>496
つ[makecab file c:/work/guro/file.cab]
0499デフォルトの名無しさん2005/11/26(土) 05:50:37
PITなんですが、インターバル間隔として設定されている値はどうすれば取得できますか?
例えば#0の場合、40hをただINするだけでは設定値は得られないみたいなんですが・・・
何かコマンドを送って得られましたっけ?
0500デフォルトの名無しさん2005/11/26(土) 11:02:22
あらら500
0501デフォルトの名無しさん2005/11/26(土) 13:23:59
>>499
ググったらこんなの有った。あとはコマンド表見て考えれ

>8253/8254の動作中のカウンタの値を読み出すには、一旦ラッチコマンドを使用して値を確定させます。
>8254は他に "Read-Back command"を用いることで、現在のカウンタの状態(動作モード、OUT信号)を
>読み出すことができます。
0502デフォルトの名無しさん2005/11/27(日) 01:14:31
>>477
|試しにAXに代入する値を0x4100に変えて、
|それ以外はまったく同じ条件でまったく同じセクタを読み込んでみると正常終了します。
ah=41は"IBM/MS INT 13 Extensions - INSTALLATION CHECK"だよ。
EXTENDED READはah=42。
Ralf Brown's Interrupt ListとBIOS Enhanced Disk Drive Specification
を読みなさい。
ほれ。擬似コード。このままだと動かないと思うよ。
inreg.x.ax = 0x4300;
inreg.h.dl = drive | 0x80;
segreg.ds = FP_SEG(pac);
inreg.x.si = FP_OFF(pac);
pac.size = sizeof pac;
pac.reserved = 0;
pac.blocks = sectors;
pac.ptr = FP_OFF(buff);
pac.seg = FP_SEG(buff);
pac.lbalow = lbasec.LowPart;
pac.lbahi = lbasec.HighPart;
0503デフォルトの名無しさん2005/12/01(木) 14:52:14
age
0504デフォルトの名無しさん2005/12/22(木) 15:26:03
DOSで動的リンクについて詳しいサイトとかってあったら教えてください。
0505デフォルトの名無しさん2005/12/22(木) 17:40:04
AsciiNetの過去ログが詳しい。
0506デフォルトの名無しさん2006/02/09(木) 13:51:40
PCを再起動しようと思い、INT 19Hと書いたのですが、
電源が再投入される訳ではないのですね。
Windowsを再起動したときのように、BIOSの起動からやり直すのは
どうすればいいのでしょうか?
0507デフォルトの名無しさん2006/02/09(木) 15:23:07
>>506
JMP FFFF:0000
05085062006/02/09(木) 18:05:40
>>507
再起動できました!
ありがとうございます。
0509デフォルトの名無しさん2006/02/11(土) 15:07:46
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>30
0510デフォルトの名無しさん2006/03/29(水) 11:13:26
>175さんの質問に近いのですが質問です。

win2kProで現在動いているWindowsのプロセス(イメージ名)一覧
を返却するバッチを作りたいのですが、
win2kだとtasklistコマンド使えないみたいなので(XPProでは使えましたが)
困っております。どうすれば良いでしょうか?
0511デフォルトの名無しさん2006/03/29(水) 15:22:07
>>510
これを解析
ttp://www.vector.co.jp/soft/win95/util/se360371.html

ここってピュアDOSのスレじゃないのかな。
0512デフォルトの名無しさん2006/03/29(水) 18:31:10
ピュアDOSなのだと思うが、質問者にピュアDOSかどうかの区別がつかないから仕方がない
0513デフォルトの名無しさん2006/03/29(水) 19:35:10
510は区別がついてるがスレ違いってところだろ。

>>1の書き方見た感じ、VDMはHW直接叩けないからダメだとは思うね。
0514デフォルトの名無しさん2006/04/09(日) 19:20:00
>>499
直接設定値は取得できないが、現在のカウント値を複数回読んで得られる最大の値は
かなり正確な設定値となる。
元ねたはPC-9801スーパーテクニックでシリアル通信速度を取得したい、という例だったかと。
半信半疑で試してみたら本当に正確な値が得られたのでマジびっくり。

>>501
8bit単位で入出力するからいったん16bitまるごと内部レジスタにラッチしないと正しい
カウント値が得られない場合があるんだよね。

0515デフォルトの名無しさん2006/05/13(土) 11:07:36
MS-DOSでDMA転送を使うときに使用するメモリってどうやって確保するのでしょうか?
mallocじゃ無理ですよね?
Linuxだとカーネルメモリを確保する関数があるんですが、MS-DOSでは分かりませんでした。
0516デフォルトの名無しさん2006/05/13(土) 13:55:34
>515
手元に資料が無く、適当に思い出しながら書いてます。

少量なメモリのDMA転送を行う場合:
 普通にmallocして使ってください。

大量(1MB以上とか)なメモリのDMA転送を行う場合:
 ズボラなやり方
  →メモリマネージャを使ってなければ1MB以上は、DOSの管理外なので
   直接書き込んでしまいます。
 真面目なやり方
  →HIMEM.SYSならXMS、EMM386.SYSならEMSというメモリ管理機構が
   使えるので、これでメモリを確保して使います。
   Ver.7以降なら、VCPIやDPMIもデフォルトで使えるかも知れません。
   (そうでなくても、そういうものが使えるマネージャが大抵用意されてます)
0517デフォルトの名無しさん2006/05/13(土) 14:04:08
>515
補足です。

Linuxと違って、DOSは全て特権モードで動いているようなものです。
カーネルは全く保護されていません。
(カーネルが置いてあるエリアを適当に0クリアすれば、いつでもクラッシュできます)
メモリも全く保護されていません。
(メモリ例外は起きません)

安心?して、自由きままなコードを書いて下さい。
05185152006/05/13(土) 15:15:42
>>517
mallocで大丈夫なのですね。
HDDにDMA転送でセクタ書換を行っていたのですが、
試してみるとエラーとなってしまったのでmallocの問題とばかり
思っていました。
原因は別のところにありそうなのでもう少し調べてみます。
ありがとうございました。
0519デフォルトの名無しさん2006/05/13(土) 15:26:30
BIOSの領域ってDOSからアクセスできますか?
0520デフォルトの名無しさん2006/05/13(土) 15:47:07
>>516
XMS/EMS(除HMA)は物理アドレス取れないからアウト。
多分DPMIでも取れない。
よってズボラなやり方推奨。
0521デフォルトの名無しさん2006/05/13(土) 16:20:48
>>519
BIOSだろうがI/Oだろうがアクセスしまくりです。
0522デフォルトの名無しさん2006/05/13(土) 21:39:08
計算した数値をコンソールに出力したいのですが、どうすればいいのでしょうか?
0523デフォルトの名無しさん2006/05/13(土) 21:50:43
>>522
所謂DOS窓のことならスレ違い。
0524デフォルトの名無しさん2006/05/13(土) 22:03:34
>>523
どこで聞けばいいのでしょうか?
0525デフォルトの名無しさん2006/05/13(土) 23:45:18
>>524
Win32APIスレ辺りかな。つーか、聞く前に探すように。
0526デフォルトの名無しさん2006/05/14(日) 00:25:47
>>525
サンクス。
05275152006/05/15(月) 11:58:06
IDE接続のHDDにDMAにてセクタを書き換えたいのですがまだ上手くできません・・・。
コンパイラはOpen Watcomを使用して、DOS-32BIT(CauseWay Executable)として
コンパイルしています。
この場合でもmallocしたメモリのアドレスをそのままDMA転送用のアドレスとして
I/O レジスタに登録しても大丈夫なのでしょうか?
物理アドレスに変換する必要とかはないでようか?
mallocにて確保したアドレスは4MBを少し超えたところになります。

I/Oレジスタへ確保したアドレスを登録しても、HDDにはアドレス0以降の内容が
書き込まれてしまいます。

どこかにサンプルソースとかないでしょうか。
05285152006/05/15(月) 12:56:03
>>527
Open Watcomのスレがあったのでそちらで質問してみます。
0529デフォルトの名無しさん2006/05/15(月) 16:54:06
アセンブラの勉強をしようと思って、MASMでアセンブルしてTurboDebuggerでデバッグしよと
したら、Not a 32-bit Program と言われて拒否されました。

16ビット用のデバッガってあるのでしょうか?
0530デフォルトの名無しさん2006/05/15(月) 17:48:04
>>529
debug, symdeb, exdeb, 16bit用のTurbo Debugger等々
0531デフォルトの名無しさん2006/05/15(月) 18:15:52
>>530
サンクス。
16bit版のTurbo Debuggerもあるんだ。
探してみます。
0532デフォルトの名無しさん2006/05/31(水) 19:14:48
Borland C++ 5.0って32ビットDOSアプリケーションを作れるのでしょうか?
sizeof(int)ってすると2となるので16ビットアプリケーションになっている気がします。。。
0533デフォルトの名無しさん2006/05/31(水) 21:46:08
>>532
32bitDOSアプリケーションを作るのには別売りのDOS Power Packが必要。
DOS Power PackはBC4.0or4.5用だが非公式にはBC5.0でも動く旨の文書がどこかにあったはず。
05345322006/06/01(木) 00:11:18
>>533
DOS Power Packはプロテクトモードなので今回は使えないんです。

16ビットのままでもなんとか使おうと思っているのですが、__int64が未定義エラーに
なってしまいます。
16ビットコンパイラで64ビット整数を扱うのは無理なのでしょうか???
0535デフォルトの名無しさん2006/06/01(木) 01:25:21
>>534
↓これによるとVer.5.02JのBCC32から__int64が使えるようだが
ttp://mulnet.net/bcc5.html
32bit用コンパイラでコンパイルできて 16bit用で出来ないのなら無理なのだろう。

というか普通「32ビットDOSアプリ」というとDOSエクステンダを使ったものを指すので
必然的にプロテクトモード(と仮想86モード)を使うことになるよ。

ちなみにOpenWatcomの16bitコード用コンパイラ(wcl)なら__int64が使えた。
#この場合は16bit用なので当然 sizeof(int) == 2
0536デフォルトの名無しさん2006/06/03(土) 23:10:08
非プロテクトモードで動く32bitアプリってどんなアプリじゃ。
64bitINT型が使いたいだけってことなら、C++でlonglong型を実装すれば
いいんじゃね?
0537デフォルトの名無しさん2006/06/04(日) 06:54:15
x86でプロテクトモードじゃない32ビットアプリ
とか言ってるような輩は相手にするな
0538デフォルトの名無しさん2006/06/04(日) 16:35:09
リアルモードで32bitレジスタアクセスすれば32bitアプリ
・・・とは言わんよな、普通は。
0539デフォルトの名無しさん2006/07/23(日) 02:47:00
最近のマザボでDOSを起動する時、EMSドライバがエラー起こす・・
対策方法とかあります?
それとも諦めるしかない?
0540デフォルトの名無しさん2006/07/23(日) 06:00:36
ウチは大丈夫

情報すくなすぎ
0541デフォルトの名無しさん2006/07/27(木) 00:22:32
>>518
PC/ATのDMAコントローラは64KBごとのブロックをまたがる位置のDMAは
出来ないのでは?
PC-98にもその制限がありDMAするデータのサイズの二倍の領域を
mallocして前半がブロックをまたがる場合には後半の領域をDMAバッファ
にして対処したことがある。
>>527
DMAコントローラには物理アドレスを与える。
Phoenix Technologiesの"PCI-ATA-DMA"は読んだ?
元のPC/ATにはIDEのDMAコントローラは無いから、各社のPCIの
ATAコントローラを直接制御するってこと?PnP大変でしょ?
0542デフォルトの名無しさん2006/07/27(木) 08:14:38
PICやAVRでIDE叩くよりマシ
0543デフォルトの名無しさん2006/07/28(金) 22:10:52
INT 25h や 26h での質問。
セクタライトするとき lock unlock しないといけないはずだけど、どうするの?
解説書が無いので調べられない。細かい説明はいらないからソース書いてよ。
0544デフォルトの名無しさん2006/07/28(金) 22:20:51
できればMASMでお願いします。MS-Cでもいいです。
0545デフォルトの名無しさん2006/07/28(金) 22:45:49
>>539
これでダメならあきらめろ
device=emm386.exe ram frame=D800 i=D800-E7FF
0546デフォルトの名無しさん2006/07/29(土) 01:48:48
>>543
DOS 6.2までならロックいらないでしょ?
>>492 が生DOSでも必要と言っているけどWin95(MS-DOS 7.0)からそうなったの?
資料はRalf Brown's Interrupt Listと
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/95func_9jl4.asp
0547デフォルトの名無しさん2006/07/29(土) 10:23:21
>>546
> http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/95func_9jl4.asp

それはメディアをイジェクトできないようにするロックだな。
int 25h とかで使うのは、Minor Code 4Ah, 4Bh の方。
FAT32にも対応させるなら、↓も見ておくべし。
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/fat32_70z4.asp


> >>492 が生DOSでも必要と言っているけどWin95(MS-DOS 7.0)からそうなったの?

自前でロックするか、lockコマンドでロックしておかないとエラーメッセージが出て
DOSが停止したと思うが。アンカーミスってるようだがどこ指したかったんだ?
05485462006/07/29(土) 21:28:33
>>547
出したかったのは
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/win9x/95func_50j7.asp?frame=true
と
>>494
だった。orz
0549デフォルトの名無しさん2006/07/30(日) 00:17:16
DOS/V用の表計算やワープロ(エディタじゃない)ソフトを使いたいが
オークションでも出品されてない。
PC-98なら結構あるんだが

誰か作ってくれ!DOS用だからそんなに多機能じゃなくていい、むしろシンプルに!
でも100行くらいしか使えない表計算なんていらないけどね

0550デフォルトの名無しさん2006/07/30(日) 00:31:09
フリーでいくらでもあるのに
0551デフォルトの名無しさん2006/07/30(日) 00:35:24
いくらですか?
ん...? フリーなのに?
0552デフォルトの名無しさん2006/07/30(日) 00:40:59
もしかして子供?
0553デフォルトの名無しさん2006/07/30(日) 01:48:06
MS-Worksはちょっと便利かも。
0554デフォルトの名無しさん2006/07/30(日) 04:58:39
はれ?Works って、DOS用あったんだ。
Win3.1用しか知らんかった。

ん〜...
しかし、フリーで DOS用の表計算アプリって、いくらでもって程あったっけ?
ググって見た。

HYO (未だ更新中?)
ttp://homepage3.nifty.com/akino-yo/Computer/FreeSoftware/HYO/Index.htm

CXP
ttp://hp.vector.co.jp/authors/VA003342/


参考: (MG LIB: ドスモバ用アプリのライブラリ)
http://mb.amcsys.com/mlib/
超計算 ぺけぺけ
ttp://mb.amcsys.com/mlib/soft/dos/application/xx25.lzh
0555デフォルトの名無しさん2006/07/30(日) 08:40:10
>>553
未だに使っている。PC-98用とDOS/V用とWin3.1用があったかと。
0556デフォルトの名無しさん2006/07/31(月) 22:22:55
>554
HYOは訳わからないっス

CXPは行数が少ないっス

超計算 ぺけぺけ   最高っス!

おいらはCSVが大好きっス

でもエクセルなんか使っても、100分の1も機能使ってないっス

ぺけぺけは究極のシンプル・イズ・ベストアプリっス

今の付加価値蔓延PC環境の中でおいらはもがいていたっス

こういうシンプリーなものがおいらには合うっス

で、エディタじゃないワープロのものってないっスか

ワードや一太郎はいらないっス

イメージ的にはこんなやつっス

http://homepage3.nifty.com/mzakd/starthp/sc10.html

用紙サイズが指定できて、エディタのように文章を打ち続けると改行するまでずーと

右に移動するものじゃなく、きちんと用紙サイズに対応して改行しなくても字が折り返す

やつで、せいぜい罫線が引けりゃ十分というものっス。

よろしくっス!
0557デフォルトの名無しさん2006/07/31(月) 23:50:56
Ver4以下の一太郎。dashでもjump(教育用だっけ?)でも可。(386以下ならVer.3以前)
機能過剰はVer.4からだが、今のようなあからさまな変化(似非DTPソフト化)はVer.5以降。

そもそも文章打ちを最初からワープロでやろうってのが間違い。
入力、推敲はエディタでやって、ワープロソフトではそれ以外の作業を行う。(紙に合わせて文の折り返しの長さを調整したり効果を付けたり。絵や図を入れることも。)
エディタだって折り返しカラム数指定できるものはある。
0558デフォルトの名無しさん2006/08/01(火) 00:03:25
しかし、スレ違いだな。
プログラミング板の話題じゃないよ。

↓

MS-DOS ってどうよ
ttp://pc8.2ch.net/test/read.cgi/os/1010640399/
0559デフォルトの名無しさん2006/08/01(火) 00:08:06
>557
折り返しできるエデイタでフリーのDos/Vタイプってありますか?
0560デフォルトの名無しさん2006/08/01(火) 06:41:17
>>559
>>558
0561デフォルトの名無しさん2006/08/02(水) 09:18:48
HyperCube
0562デフォルトの名無しさん2006/08/05(土) 08:22:30
DOS で動く Java環境って無いの?
0563デフォルトの名無しさん2006/08/06(日) 11:40:12
レスが無い... 無いのか.... or2
0564デフォルトの名無しさん2006/08/06(日) 13:26:45
グラフィックもネットワークも標準である訳じゃないし
VM作る気にもならなかったとしてもおかしくない罠
0565デフォルトの名無しさん2006/08/10(木) 23:47:26
ハードディスクの ボリュームラベル の作成・変更・削除ってどうするの?
0566デフォルトの名無しさん2006/08/16(水) 00:37:03
保守
0567デフォルトの名無しさん2006/08/17(木) 18:31:04
>>565
labelコマンド
0568デフォルトの名無しさん2006/08/17(木) 21:47:31
>>567
mov  ah,09h
mov  dx,offset msg_korosuzo
int   21h

msg_korosuzo db "一応プログラミングのスレなのでそのレスはいかがな物かと思います。",0Dh,0Ah,'$'
0569デフォルトの名無しさん2006/08/17(木) 21:54:46
system("label.exe …");
0570デフォルトの名無しさん2006/08/17(木) 22:10:50
ボリュームラベル属性のファイルをルートに作るんじゃなかったっけ
0571デフォルトの名無しさん2006/08/17(木) 23:08:15
>565
FAT(FAT12,16,32)は>570の通り。実際にそれを行うコマンドがLabelコマンド。
パーティーション自体に付くラベル(FS非依存)はHDDメニューあたりのエントリを書き換える。
0572デフォルトの名無しさん2006/08/17(木) 23:19:42
わざわざ小細工して互換性の問題出すより
569がいいんじゃないの
0573デフォルトの名無しさん2006/08/18(金) 00:12:34
Int 21h Function 440Dh Minor Code 46h
0574デフォルトの名無しさん2006/08/18(金) 01:40:53
system って無敵関数だったもんな。format とかでお世話になった。
0575デフォルトの名無しさん2006/08/18(金) 01:43:32
おれGUI開発したぜ!

system("win.com")
0576デフォルトの名無しさん2006/08/27(日) 23:46:14
system("del io.sys")
system("del msdos.sys")
system("del command.com")
0577デフォルトの名無しさん2006/08/27(日) 23:56:57
C:\io.sys が見つかりませんでした。
C:\msdos.sys が見つかりませんでした。
C:\command.com が見つかりませんでした。
0578デフォルトの名無しさん2006/08/28(月) 09:27:51
http://win.com/
http://command.com/
0579デフォルトの名無しさん2006/08/28(月) 20:52:49
system("del c:\\ntldr")
0580デフォルトの名無しさん2006/08/28(月) 23:56:12
ツリー状にフォルダがたくさんあって各フォルダの中のmp3ファイルだけを抜き出してコピーするにはどうすればいいの?
できれば一度のコマンドもしくはバッチファイルで実現したい
0581デフォルトの名無しさん2006/08/29(火) 00:10:35
>>580
for /R src %i in (*.mp3) do @copy /y %i dst
0582デフォルトの名無しさん2006/08/29(火) 07:52:12
すげー、天才かよ
0583デフォルトの名無しさん2006/09/09(土) 10:09:12
基本的なことで申し訳ありませんが、DOS窓でコマンド手打ちだと動くのに、バッチにすると一瞬で窓が閉じて何もされません・・・
なにがいけないのでしょうか?
0584デフォルトの名無しさん2006/09/09(土) 11:36:33
>>583
バッチファイルの最終行にpauseって書いておくと幸せになれるかもね。
0585デフォルトの名無しさん2006/09/18(月) 20:58:02
>>583
コマンドプロンプト(DOS窓)から実行すればおk。
0586デフォルトの名無しさん2006/09/19(火) 01:00:41
>>583
ftp.bat
0587デフォルトの名無しさん2006/09/21(木) 19:12:48
DOSプログラムからフルスクリーンで
system("notepad.exe");
で実行すると、DOS側がフルスクリーンから
DOS窓になってしまいます。 (TURBOC, MS-DOS)
ALT+Enter で手動で戻すのではなくて、
自動でフルスクリーンに戻すにはどうすればいいですか?
0588デフォルトの名無しさん2006/09/22(金) 21:02:09
MS-DOSでDOS窓を表示させるとは
ただ者ではないな
0589デフォルトの名無しさん2006/09/25(月) 11:17:35
>>588
H/W PC9801 OS Windows98 でフルスクリーンからDOS窓でした orz...

ちなみに「MS-DOS プログラムにWindowsを検出させない」にチェックを入れると
フルスクリーンからDOS窓に変更されることはないのですが、
案の定system関数も実行されなくなってしまいます。

ALT+ENTER キーを仮想で押したかのような実験はまだしてません。
それより何かもっといい手があるかと思いまして。
0590デフォルトの名無しさん2006/09/25(月) 12:29:47
>>587

なぜ、そのような変則的な操作が必要なのか、だれも理解できていないよ。

具体的なシチュエーションを簡潔に述べよ。
(注意:あるソフトで・・・→× とある業務ソフトで・・・→×)
0591デフォルトの名無しさん2006/09/26(火) 11:21:21
>>590
具体的には、
・Win98に作成したDOSプログラムを起動。
・オペレーター(おばちゃん)が特定処理を行うと、CSV形式のデータを出力。 
・その後、DOS側でsystem関数を使用し、作成したWindowsプログラムに
 出力データを引き渡す。
・その際、DOS側では system関数に STARTコマンドを使用し、 /WAIT オプションで一時停止
・Win側プログラムはデータを処理して、LAN経由でサーバーに送信。自身で自動終了。

・DOS側はプログラム終了後に”送信完了しました”と表示。
・フルスクリーンが解除され、DOS窓状態に。
・おばちゃん「なんだか画面が小さくなってます」報告
・上司「なんとかならんのか」報告

DOSプログラムをWinに変更出来ないのはクライアントの予算の問題 orz
0592デフォルトの名無しさん2006/09/26(火) 18:52:44
最初っからDOS窓にしときゃいい。
0593デフォルトの名無しさん2006/09/26(火) 19:52:30
>>591
全画面とウィンドウ表示を切り替える関数は、Windows APIですらXP/2003でようやく実装されたという次第。
http://msdn.microsoft.com/library/en-us/dllproc/base/setconsoledisplaymode.asp

まして9xのシステムコールでは存在するわけがなかった。
http://msdn.microsoft.com/archive/en-us/win9x/95func_50j7.asp

ところで、DOS窓へAlt+Enterをプログラムから送ってみたらどうだろう?
それを行うだけのWin32プログラムを作ってさ。
0594デフォルトの名無しさん2006/09/26(火) 21:39:59
Win9xだからWM_SYSCOMMANDで適当にそれっぽいの送るなんていう
いい加減な方法でも動作したような
0595デフォルトの名無しさん2006/09/29(金) 00:22:30
>>590
理路整然が邪魔になることもままあることを学べ。学生よ。
05965902006/09/29(金) 00:44:05
>>595
学生じゃなくてファーム屋なんだが。


>>591の苦労は俺も味わったことがある。

俺の場合は、工員さんがDOSの黒い画面を毛嫌いするから逆だったが。
0597デフォルトの名無しさん2006/09/29(金) 00:51:37
>>596
農家か。
0598デフォルトの名無しさん2006/09/29(金) 16:18:02
>>26
モロにハード周りの書籍「PC9801スーパーテクニック」っていう
本持ってるけど、誰か買ってくれないかな。
今書籍名で検索したら3500円だかでオクに出されてたけど
送料込み2000円ぐらいでいい。俺にはもう用がねえんだ。
中古屋に糞みたいな値段で売るのも癪だし必要な人間に売りたいので
処分に困ってるw

思えば中学生のころQuick CでINT21hとかやってたわ。懐かしい。
05995982006/09/29(金) 16:30:49
すみません↑はスルーしてください。
amazonで中古が400円とかで売ってたわ。
シャレになんねーなこの価格崩壊。当時5000円もしたのにw
0600デフォルトの名無しさん2006/10/03(火) 04:27:19
注文前に相場教えてくれてありがとう
0601デフォルトの名無しさん2006/10/03(火) 08:39:53
PC9801スーパーテクニックって俺も持ってるわ。
あと、アセンブラの本が3冊出てきた。
0602デフォルトの名無しさん2006/10/03(火) 10:42:23
UNDOCUMENTED DOSが出てきた
0603デフォルトの名無しさん2006/10/03(火) 22:42:52
>>598
俺もそれ持ってるw

>>601
俺と環境がそっくりだww
0604デフォルトの名無しさん2006/10/05(木) 11:23:17
テキストファイルの全行を削除するDOSコマンドは
ありませんでしょうか?
0605デフォルトの名無しさん2006/10/05(木) 11:33:12
copy /y nul ファイル名
0606デフォルトの名無しさん2006/10/05(木) 11:41:13
del fileして、copy nul fileとか?
0607デフォルトの名無しさん2006/10/05(木) 12:33:22
del > file
0608デフォルトの名無しさん2006/10/05(木) 19:11:38
rem > file
0609デフォルトの名無しさん2006/10/06(金) 12:10:48
copy nul fileで出来ました。
ありがと!

追加で
テキストファイルが空(0行、nul)ではない場合
Excelを起動するコマンドありますか?
0610デフォルトの名無しさん2006/10/06(金) 17:07:52
↓を改行せずに1行で記述

mshta.exe "javascript:
try{new ActiveXObject('Scripting.FileSystemObject').GetFile('file').Size&&ne
w ActiveXObject('WScript.Shell').Run('excel.exe');}catch(e){}finally{close();}"
0611デフォルトの名無しさん2006/10/06(金) 18:19:33
>>610
解りませんでした

言い方かえます。
テキストファイルのサイズがゼロ以外の場合、Excelを実行する
BATなんですけど

宜しくお願いします
0612デフォルトの名無しさん2006/10/06(金) 18:50:23
>>611
メモ帳の使い方から教えろと言うのか?
0613デフォルトの名無しさん2006/10/06(金) 18:56:45
>>612
言ってません。
BATファイルの作り方です。
0614デフォルトの名無しさん2006/10/06(金) 19:28:17
メモ帳に>>610の
mshta.exe "javascript:try{new ActiveXObject('Scripting.FileSystemObject').GetFile('file').Size&&new ActiveXObject('WScript.Shell').Run('excel.exe');}catch(e){}finally{close();}"
をはりつけて、拡張子を.batにして保存すればいいのでは
0615デフォルトの名無しさん2006/10/06(金) 19:38:06
そもそも"MS-DOS"用のExcelはない。
0616デフォルトの名無しさん2006/10/06(金) 20:25:05
そもそもActiveX自体がWindows専用だけどね。

>610
警告:悪質なスクリプトを検出しました

オブジェクト:FileSystem Object
活動:GetFile

コンピュータが停止しました。このスクリプトを処理する必要があります:

ファイル:
C:\Documents and Settings\***********\デスクトップ\javascript:try{new ActiveXObject
('Scripting.FileSystemObject').GetFile('file').Size&&new ActiveXObject('WScript.Shell')
.Run('excel.exe');}catch(e){}finally{close();}

どう処理しますか?

処理:
  このスクリプトを停止する (推奨)
  この活動を 1 回許可する
→スクリプト全体を 1 回許可する
  このスクリプトを認証する
0617デフォルトの名無しさん2006/10/06(金) 20:27:35
ウイルスを掲示板に張るなボケカス
0618デフォルトの名無しさん2006/10/06(金) 20:35:16
偉そうに根拠のない因縁つけてくるのは先生の方だけどね。
0619デフォルトの名無しさん2006/10/06(金) 20:50:38
GetFileを使おうとしただけで悪質なスクリプト扱いか。
0620デフォルトの名無しさん2006/10/06(金) 21:10:21
↓あたりはノートン先生もご立腹なんだろうな。

WSH(・∀・)スレッド!
http://pc8.2ch.net/test/read.cgi/tech/1055075469/l50
HTAをもっと流行らせる計画
http://pc8.2ch.net/test/read.cgi/tech/1124559962/l50

というわけで純粋なDOS環境の話でなければ↓や↑を見るといいですよ。

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/l50
0621デフォルトの名無しさん2006/10/07(土) 19:55:35
>>618
他人が妹のパンツをずらそうとしたら、兄として君は怒るだろう?
0622デフォルトの名無しさん2006/10/07(土) 20:38:54
>>621
ずらしたい奴がずらせばいいと思う
0623デフォルトの名無しさん2006/10/08(日) 00:05:14
開発環境として聞きたいんだけど、
みんなが使ってる環境ってどんな感じ?

自分は家では、
OS: PC DOS 2000
CC: LSI-C
使ってるんだけど、ノートで使うと省電力機能がほとんど使えないから
バッテリの消費が激しくて使えないから、BSD使ってる。

モバイルでDOS使ってる人っている?
0624デフォルトの名無しさん2006/10/08(日) 01:51:33
dosidle 入れてもダメ?
0625デフォルトの名無しさん2006/10/08(日) 01:56:46
開発環境としてなら、普通にWindowsのDOS窓でいいと思うのだけど。
どうしても純DOSでないと駄目?
0626デフォルトの名無しさん2006/10/08(日) 02:05:33
>>625
Windows 9xは不安定
しかも窓だと色々と縛りがあったりしてウザイ
0627デフォルトの名無しさん2006/10/08(日) 02:53:40
>>626

2kにしない理由は?
0628デフォルトの名無しさん2006/10/08(日) 03:01:15
>>627
2KにDOSなんてねーだろ
エミュレータ使えってことか?
0629デフォルトの名無しさん2006/10/08(日) 03:26:36
>>628
そういう言葉尻はどうでもいいからさ

つかさ、2kのコマンドプロンプトで出来ないことって、
そんなにないだろ。

パラレルポートの制御だってドライバいれればできる。
OSの乗換えを検討したほうがいいと思うのだが?
0630デフォルトの名無しさん2006/10/08(日) 04:12:26
>>629
多分君はDOSを使う必要がないからコマンドプロンプトでいいんだと思う。
ここはDOSのスレであって、コマンドプロンプトでできることを話すスレではない
0631デフォルトの名無しさん2006/10/08(日) 06:54:39
>>630
2KのコマンドプロンプトはDOSのシステムコールエミュレータだから
こいつで動かせないような直接ハード叩くようなコードは
それこそDOSスレで話す範疇じゃあなくなるんだが? 藻前さんの理論だとさ。

批判のための批判は自分の首締めるだけだからやめといたほうがいいよ。
0632デフォルトの名無しさん2006/10/08(日) 07:05:26
直接ハードを叩かないDOSプログラムなんて、つまんなーい!
0633 ◆0uxK91AxII 2006/10/08(日) 07:08:58
開発環境 コマンド プロンプト、所謂DOS BOX
実行環境 実機+DOS
0634デフォルトの名無しさん2006/10/08(日) 07:20:43
デスクトップPCでISAバスの工業用ボード使ってれば別だが、
問題提起した人間はノーパソ使ってるって言ってるしな、
さほど特殊な環境じゃないだろう。

というわけで>>630の負け。
0635デフォルトの名無しさん2006/10/08(日) 07:40:58
ハードがPCでよければ、WMWareとかqemuにPC-DOSインストールすれば
外側は省電力の効くWinのまんまでハードも叩ける開発環境がゲットできる
0636デフォルトの名無しさん2006/10/08(日) 13:23:08
コマンドプロンプトでDOSのゲームができるとでも思ってるのか?
0637デフォルトの名無しさん2006/10/08(日) 14:07:32
NetHackならできたぞ
0638デフォルトの名無しさん2006/10/08(日) 19:12:54
できるよね
0639デフォルトの名無しさん2006/10/08(日) 21:09:20
>>631
おまえさぁ、DOSシステムコールだけでプログラミングなんてあり得んでしょう。
0640デフォルトの名無しさん2006/10/08(日) 21:10:24
>>634
>デスクトップPCでISAバスの工業用ボード使ってれば別だが、

えらい限定しますね、あなたのお仕事はよく分かりましたが・・・。
0641デフォルトの名無しさん2006/10/09(月) 03:54:55
unko
0642デフォルトの名無しさん2006/10/09(月) 09:34:57
del D:\xxx\yyy\*.txt

でゴミ箱に行かない削除ってできましたっけ?
shift+ctrl+削除みたいのDOSコマンドでできますか?
0643デフォルトの名無しさん2006/10/09(月) 09:35:40
DOSどころかコマンドプロンプトすら全く使ったことがないのが丸わかりな質問だな
0644デフォルトの名無しさん2006/10/09(月) 09:52:17
>>643
で?
0645デフォルトの名無しさん2006/10/09(月) 10:06:06
>>644
>643
0646デフォルトの名無しさん2006/10/09(月) 10:20:49
>>645
>644
0647デフォルトの名無しさん2006/10/09(月) 11:34:20
>>646
>643
0648デフォルトの名無しさん2006/10/09(月) 11:50:55
ウンコ
0649デフォルトの名無しさん2006/10/09(月) 12:07:22
ウンコ迷惑
0650デフォルトの名無しさん2006/10/09(月) 12:10:21
>>649
そらそうだ。と、誰もが思った。
0651デフォルトの名無しさん2006/10/09(月) 16:43:31
ここはいつから 「コマンドプロンプト相談スレ」 になったんだ?
0652デフォルトの名無しさん2006/10/09(月) 17:17:16
コマンドプロンプトとDOSの違いもわからない奴が蔓延してるから
どうしようもない
0653句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx. 2006/10/09(月) 19:24:27
>>652
0654デフォルトの名無しさん2006/10/09(月) 20:53:55
2chで句読点を求めるなよ。
0655デフォルトの名無しさん2006/10/09(月) 23:30:20
>>639
DOS窓はDOSじゃないなんてつまんないこと言ってるから
ハード叩くのはDOSの範疇じゃないだろ、という
至極原理的な反応返されただけの話。

それとも、ハード叩かないのはDOSプログラミングではない
とでも言うつもりか?
0656デフォルトの名無しさん2006/10/09(月) 23:52:10
一人しか言ってないのに、すべてが自分の対極とはどんな思考回路だ?
0657デフォルトの名無しさん2006/10/10(火) 00:00:21
別にDOS上でハードに直接アクセスするのはDOSプログラミングの範疇だと思うが。
0658デフォルトの名無しさん2006/10/10(火) 00:36:35
>>656
漏れもその一人しか相手してないつもりだが
そう読めなかったなら書き込み不足だな、申し訳ない

>>657
もちろんその通り
同じようにWin上のDOS窓だってDOSプログラミングの範疇だ
と>>630に反論してるだけ
0659デフォルトの名無しさん2006/10/10(火) 01:05:03
暇なのか?
>>630は書き込んでねーだろ
0660デフォルトの名無しさん2006/10/10(火) 01:52:51
よーするに、ターゲットがDOS上で動くなら開発環境は
実機だろうがDOS窓だろうがエミュだろうがなんだっていいんじゃないの
ってことだろ。

つまらんことを何時までもグダグダと反論してるなよ。
0661デフォルトの名無しさん2006/10/10(火) 03:30:48
これだから今時のDOS使いは・・・
0662デフォルトの名無しさん2006/10/10(火) 05:30:33
VC++6でコンソールアプリケーションを作って
コマンドプロンプトやそれを全画面にして動かすのは出来たのですが
DOSをフロッピーから起動したところで実行すると変なエラーが出て
(スタブが云々)実行されません。どうすればよいのでしょうか?
0663デフォルトの名無しさん2006/10/10(火) 05:31:35
あ、言い忘れましたが、WindowsAPIは一切使っていません。
DOSのシステムコールだけで作っています。
0664デフォルトの名無しさん2006/10/10(火) 05:55:35
DOS用のコンパイラで作る
0665デフォルトの名無しさん2006/10/10(火) 19:08:52
VC++6はWindowsアプリケーションしか作れない。
コンソールアプリケーションだって、Windowsアプリケーションの内。

663のいうDOSのシステムコールとは何なのか気になる。
想像は付かなくもないが。
0666デフォルトの名無しさん2006/10/10(火) 23:06:55
Windows用のコンパイラ使うとたとえコンソールアプリケーションでも
出来る実行ファイルはNE(Win3.1まで)ないしPE(NT系およびWin95以降)。

ついでに言うなら裏でWinMainだって動いてるしCの標準関数もMSVCRT.DLL等の
DLLを呼び出して実現しているわけで。
裏でWindowsAPIが使われているのだから純粋なDOS上では動きません。

MS-DOSのシステムコールはINT20h〜27h,拡張用は2Fh。
指定レジスタにパラメータ入れて呼び出し。
BIOS,ハードウェアへの直接アクセスの制限もないから
直接叩いたほうが早いこともあるけどね。

・・・・・・・って言って理解できればいいけどね。
0667デフォルトの名無しさん2006/10/10(火) 23:23:49
そこでなぜか、「WindowsアプリケーションからINT 21hを読んだがうまくいかない」という方向へ↓
0668デフォルトの名無しさん2006/10/11(水) 00:04:47
win16なら使えるがな
0669デフォルトの名無しさん2006/10/11(水) 00:27:08
Win32でも使う裏技がある。といってもWin9xだけだが。
0670デフォルトの名無しさん2006/10/11(水) 20:45:06
>669
そーゆーことするから2kやxpで動かないソフトが続出して困るんだよね。
0671デフォルトの名無しさん2006/10/11(水) 23:30:08
>>670
いや、それだけはありえないから。あの裏技、マイナーすぎ。
0672デフォルトの名無しさん2006/10/12(木) 02:40:16
自演乙
0673デフォルトの名無しさん2006/10/12(木) 07:01:42
自演乙乙
0674デフォルトの名無しさん2006/10/12(木) 11:34:43
>>668
win16だとリアルモード以外は286のプロテクトモードか286ディスクプリタで動いていたと覚えているが
どういう仕掛けでint xx系のソフト割り込みが使えていたんだろう。
0675デフォルトの名無しさん2006/10/12(木) 15:36:29
DOSエクステンダでぐぐってみ
0676デフォルトの名無しさん2006/10/12(木) 20:39:46
つーかWin16はint 21h使うのが前提だったから
ファイルアクセス系のAPIがちゃんとそろってなかった
0677デフォルトの名無しさん2006/10/13(金) 01:30:08
呼ばれるたびにCPUリセットしていたらしいが
0678デフォルトの名無しさん2006/10/13(金) 01:31:24
だって、リセット以外にRealモードに移行する手段がないんですもの。
0679デフォルトの名無しさん2006/10/13(金) 06:22:56
それは286の話。386以降では仮想86モードでリアルモードコードを実行していた。
0680デフォルトの名無しさん2006/10/13(金) 06:53:57
メモリ4Mくらいの386マシンで
一度プロテクトモードに移行してから
セグメントのリミットを4Gに設定してリアルモードに戻り
16bitコードで全領域にアクセスして、なんとなく偉くなった気分になってたな。

仮想86モードでは使えないし、あまり意義はなかったんだけど。
0681デフォルトの名無しさん2006/10/13(金) 07:15:42
面白いと思うよ。
0682デフォルトの名無しさん2006/10/14(土) 00:03:47
壁があることには変わりない
0683デフォルトの名無しさん2006/10/14(土) 05:51:24
そりゃ今でこそ4GBも「壁」として認識されだしたけど
0684デフォルトの名無しさん2006/10/14(土) 06:50:04
DOSの頃作られたlhaやzipはほとんど2G/4Gで壊れる死ね
0685デフォルトの名無しさん2006/10/14(土) 08:37:57
そもそもDOSって4GB超のファイル対応してたっけ?
0686デフォルトの名無しさん2006/10/14(土) 09:58:50
>>685 「そもそもDOS」ってどこのOSなんだろう。
0687デフォルトの名無しさん2006/10/14(土) 09:58:59
>>685
対応していない。おそらく存在できない。

DOSでアクセスできるFAT16はパーティションサイズが最大2GiBまで。
FAT32も1ファイル4GiBまで。
0688デフォルトの名無しさん2006/10/14(土) 13:41:33
>>666
int86位知っとるわバーカ
0689デフォルトの名無しさん2006/10/14(土) 22:03:51
あの... int 21h とか、int86 とかって、何ですか?
ググったり、ヤフったりするのは嫌いなんで、
ウィキペディアったんですけど、わかりませんでしたorz...
0690デフォルトの名無しさん2006/10/14(土) 22:38:10
int86はMS-DOS用C処理系で使える関数のひとつ
書式:
#include <dos.h>
int int86(int intno,union REGS *in,union REGS *out);

LSI-C86試食版でも使えるからそっちのマニュアル参照。
ttp://www.vector.co.jp/vpack/filearea/maker/lsi/index.html

int 21hはMS-DOSのファンクションコール呼び出すときの割る込み番号(アセンブラ表記)
こっちはMS-DOSプログラミングを勉強して来いとしか言えない。
0691デフォルトの名無しさん2006/10/14(土) 23:06:57
ここは、古参のパソ通を彷彿とさせる素直な人が多いから好きだけど、
たまにバカが混じるから困るんだなコレが。

検索で調べる作業さえ嫌うバカの>>689にそんな説明しても、
わかる訳無いよ(wwwwww

>>689へ。勉強する近道はググることだ。覚えておけ。
昔と比べて、どれだけ調べ物が効率的になったか気づいてくれ。

そして、Web上にドキュメントを作成した先駆者に
感謝の気持ちも忘れないようにな。
0692デフォルトの名無しさん2006/10/14(土) 23:27:14
ウィキペディアで一番近い内容と言ったらこれかな。
http://en.wikipedia.org/wiki/INT_%28x86_instruction%29
0693デフォルトの名無しさん2006/10/14(土) 23:36:11
>>689
そこはウィキペディアしか調べてなくてもウィキるって言わないと
0694デフォルトの名無しさん2006/10/15(日) 00:05:54
ウィキているということー
0695デフォルトの名無しさん2006/10/15(日) 00:12:41
Ralf Brown's Interrupt List
ttp://www.ctyme.com/rbrown.htm
0696デフォルトの名無しさん2006/10/15(日) 22:35:03
Interrupt ListもWebで鑑賞できる時代になったか。
PC-9800関係の割り込みは当然ながら載ってないけど。
0697デフォルトの名無しさん2006/10/15(日) 23:57:08
かなり昔からあった覚えがあるが
0698デフォルトの名無しさん2006/10/16(月) 05:37:16
          ,,,.. ‐‐ ...,,,
       ,..::':.,:.:.:.:.:.:.:.:.:.:.:.:=.:=.、
     ,/.:.:.:/:.;.;.;.、.:.、:.:.:.、:.:.:.‐:.‐`、ヽ::ヽ,
    ./.:.:.ミ/""" ヽ:.:、:.:.:、:、.:.:.:.:.:.:i !..ヽ:.;、
.    /i:/"      ヽ:ヾ:.:ヽ:、;;:.:.:.:|  ヽ:.:.i
   / |:i |         >、ヽ:.、ゝッ.:.:|   ヽ:l
.  / |::| l      /,,,=.-、\:/z;.:+‐T ̄.:.:|      / ̄\
 /  l:.l.----     "{;;;;'..} ヽ /r.= 、j.:.:.:.:.:.|     |      |
 `ー-..l:.l /,=、      `ー.'   i/|ト` }|:.:.:.:.:.:i!    |  わ  |
  |.:.:.:ト」. i !;:::'j      "".  ! |- ノ L|:.:.:.:.i!    |  ざ  .|
  |.:.:.:.|ヽ{ヽ`´  '           /".   |:.:.:.:|i!  ∠.  と  .|
  |.:.:.:.i!  ヽ"          ,.'      |:i:.:.:|i!.   |  !  |
  |.:.:.:|i!  ヽ、   (_.)   ,/>‐‐‐ 、 .|:i!.:.:|l..   |      |
  |:|:.:.| i    ` ー-- 一 /   /-、リ.|.:.|.i.    \_/
  i:il:.:| i      /<' 、    // `t.|.:l |
.  l!i:.:| i     ゝへ.ヽソ\_///    `|;!
   ! i:.|      / ヽ〈::`::〉、   V /   ヽ

0699デフォルトの名無しさん2006/10/16(月) 05:40:46
Interrupt ListってPC98のBIOSも何故か微妙に乗ってた記憶があるがw
0700デフォルトの名無しさん2006/10/16(月) 08:02:23
int 10h
0701デフォルトの名無しさん2006/10/16(月) 19:04:20
V!G!A!
V!G!A!
0702デフォルトの名無しさん2006/10/16(月) 22:23:33
いや、ここはあえてDCGAで
0703デフォルトの名無しさん2006/10/16(月) 22:34:54
9801
0704デフォルトの名無しさん2006/10/16(月) 22:57:23
ウィキるのにつかれました... orz
つってきます.. さようなら...
0705デフォルトの名無しさん2006/10/19(木) 06:13:36
キャラジェネ
0706net time2006/10/19(木) 22:10:56
コマンドに"net time"時刻同期のコマンドがあるのですが、1度コマンドを実行すると10秒ほど経たないと次の"net time"コマンドが飛ばないようなのですが、すぐに2回目のコマンドを飛ばすことはできないのでしょうか?
ご教授願います。
0707デフォルトの名無しさん2006/10/19(木) 22:16:49
>>706
NET TIMEってLAN MANAGERのことならなんとか範疇かもしれない。
COMMAND PROMPTの使い方はすれ違い。
0708デフォルトの名無しさん2006/10/25(水) 11:50:40
今、98Emu(np2.exe)+LSI-C86試食版で
テキスト表示のゲーム作ってるんですが、
画面下部に表示されているファンクションキー表示と、
カーソルの点滅を消す方法って、どうすれば良いんでしょうか。

ゲームは動いてるんですけど、カーソルはちかちかしてるし、
ファンクションキーは使わないのに表示が残っているしで、
なんか格好悪いんです。
どなたか教えてください。
0709デフォルトの名無しさん2006/10/25(水) 13:03:13
>708
LSI-C86を使ったことがないからわからんけど
TurboCではconio.hに_setcursortypeってのがあって
NOCURSORだっけかな?を指定するとカーソルを表示しなくなる、てのがあった。はず。
参考にはならんかな・・・
0710デフォルトの名無しさん2006/10/25(水) 14:18:12
これで大体足りるでしょ
http://www.google.co.jp/search?q=pc98+%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9+%E3%83%95%E3%82%A1%E3%83%B3%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%AD%E3%83%BC
0711デフォルトの名無しさん2006/10/25(水) 16:30:32
>>709-710
ありがとうございます。
エスケープシーケンスで解決できました。
割と単純な方法で済んでほっとしました…。w
0712デフォルトの名無しさん2006/12/01(金) 12:31:45
net sendコマンドを使用して
コンピュータ名とメッセージ内容の
入力を求め、その内容で送信するようなものを
作りたいのですがどうすればいいんでしょうか?
0713は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I NGNG?2BP(1000)
>>712
気合いで結合してsystemに入れてみる
0714デフォルトの名無しさん2006/12/02(土) 18:13:43
>>498
>>ぴゅあさん
classpath何とか解決できました!!コンパイルもできました!!!
本当にありがとうございました!
0715デフォルトの名無しさん 2007/01/21(日) 11:47:46
XPのコマンドプロンプトから壁紙を変更する方法を
教えてください
0716デフォルトの名無しさん2007/01/21(日) 11:57:08
changerootwindow.reg
というファイルを作る
0717デフォルトの名無しさん2007/01/21(日) 12:00:24
\\HKEY_CURRENT_USER\Control Panel\Desktop\ConvertedWallpaper
\\HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper
0718デフォルトの名無しさん2007/01/21(日) 12:39:06
レスありがとうございます

DOS窓で
\\HKEY_CURRENT_USER\Control Panel\Desktop\ConvertedWallpaper a.bmp
とするとネットワークパスが見つかりませんとでます

WinXPがDドライブだからでしょうか?
0719デフォルトの名無しさん2007/01/21(日) 13:57:30
>>718
| 何について調べますか?
| ┌────────────┐
| |レジストリとは          |
| |                  |
| └────────────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`──────────┐ ┌───
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ
0720デフォルトの名無しさん2007/01/21(日) 14:00:00
\\HKEY_何たらで始まっている時点でレジストリキーのパスだって事に気づかないと。

regeditのコマンドラインからの使い方を知らないことには・・・
0721デフォルトの名無しさん2007/01/21(日) 15:52:32
そもそもスレ違いだ。
0722デフォルトの名無しさん2007/01/21(日) 16:23:41
>>715です
>>721 スレ誘導お願いします
0723デフォルトの名無しさん2007/01/21(日) 16:27:56
>>722
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/l50
0724デフォルトの名無しさん2007/02/03(土) 21:38:08
何でレジストリが\\HKEYから始まるわけ?
07253652007/02/07(水) 12:14:03
DOSで あるプログラムを、a.exe "引数パス指定" と起動しているのですが、
引数パス部分に空白が混じっていると、引数が2個と判定されうまく動きません。
空白が混じっている引数パスを一個のものとして認識させるには、
どうすればいいでしょうか?
0726デフォルトの名無しさん2007/02/07(水) 12:26:29
>>725
a.exe の仕様によって異なる。
0727デフォルトの名無しさん2007/02/07(水) 16:12:31
>>725
a.exe が本当にDOSならばパスに空白が入ることはない。

a.exe C:\DOCUME~1\HOGE\MYDOCU~1\ABCDE~1.TXT
0728デフォルトの名無しさん2007/03/15(木) 22:55:25
古いけど
はじめて読むシリーズは最高にわかりやすくてよい
0729団塊親父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はありますか?
良き指針をお願いいたします。
0730デフォルトの名無しさん2007/03/21(水) 13:28:08
http://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
0731デフォルトの名無しさん2007/03/21(水) 13:51:06
ハードを直接叩けないのは必然的な進化の方向性。
Windowsの上でWindowsアプリケーションが、
PC-98版でもPC/AT版でも、今で言えばx86でもx64 (WOW64)でも
共通のバイナリで動くようにするため、
またそれよりなによりマルチタスクを実現するに当たって
現実的な解は(少なくとも当時)それくらいしかなかった。

そもそも理想的にはソフトウェアはハードウェアのことを意識するべきではないというのが
大昔からソフトウェアに関わる学者・研究者に根底に存在する風潮。
最近のコンピュータの性能向上でようやくWindows並に
ハードウェアを隠しても性能的に問題なくなってきたというところ。
0732デフォルトの名無しさん2007/03/21(水) 13:54:06
>>729
今でもデジタルI/Oボードを出しているメーカではドライバとライブラリを出している。
しかも大抵はドライバやライブラリは愚かサンプルプログラムも無料で。
従って、適当なボードと適切なライブラリを組み合わせればハードを直接叩くようなことも何ら問題ない。
リアルタイム所為はまぁ、工夫のしどころではあるが。
0733団塊親父2007/03/21(水) 23:09:13
皆様レスありがと。
>>730さん
  DOSもCも売ってるんですね、買って遊んでみようと思います。
   果して自分のWin-XPマシンで動作するのか?
   最近のWinマシンはPC/AT互換機なのか?
   そしてグラフィックスはどうやって書くのか?
  興味津々です。
>>731さん
  なるほどね、やっぱ普及時代から成熟期に入るとブラックボックス化してしまうんですね、
  趣味的には面白く無いのでWinodwsには手を出すまいと思います。
  何かオーディオの世界が、球から石へレコードからCDへ変って興味が無くなったのと似てます。
>>732さん
 確かにくぐるといろんなドライバがありました。
 ただ「ソフトクロックは±200%も振れるので使わないように」と注意書がありました。
 昔はNOPを勘定してれば良かったのですが、
 結論としてはWin環境でリアルタイムサンプリンクするならば、外部からクロックを与える必要が有りそうです。
 それとて、クロックは正確でも取込み処理のオーバーヘッドがものすごく
 デバイスドライバ→DLL→変数→保存という処理に何μSかかるか誰にも解らないとのこと
 参考になるスレが有ったらご紹介下さい。  
0734デフォルトの名無しさん2007/03/21(水) 23:40:26
リアルタイムで何かやるなら、それ専用のサブプロセッサ(とバッファ)用意するのが
最近の流れじゃないの。PC(Windows)側のレイテンシはそんなにシビアに要求しない。
0735デフォルトの名無しさん2007/03/21(水) 23:51:30
そうだね。
パソコンをクロック測るためだけに使うのってもったいない。
0736デフォルトの名無しさん2007/03/22(木) 00:31:18
計測とかだと、今はPICなんかで独立基盤に実装して
シリアル-USBでデータだけパソコンに取り込む形が一番手軽なんじゃないかな

最近のPCじゃ手軽に使える汎用I/O自体なくなってるから
最低でもPCIなI./Oボード調達しなきゃならない
OSもリアルタイム向きとはいえないし
0737デフォルトの名無しさん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になっちゃったり
しますね。
0738デフォルトの名無しさん2007/05/04(金) 17:19:43
ATバスの無いAT互換機なんて・・・
0739デフォルトの名無しさん2007/05/05(土) 13:05:34
ATバスってISAのこと?
0740デフォルトの名無しさん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とでも言いたくなる代物だけど。
0741デフォルトの名無しさん2007/05/08(火) 12:22:59
そうか、XTバスのことを考えるとISAって呼ぶより
ATバスって呼んだほうが自然だね
0742デフォルトの名無しさん2007/05/18(金) 00:34:22
ポワーシェルは放置?
0743デフォルトの名無しさん2007/05/18(金) 23:13:53
DOSでは動かんからな
0744デフォルトの名無しさん2007/05/30(水) 00:31:02
なあ、前から疑問なんだけどフラットに32bitアドレス空間をアクセス可能な
プロテクトモードをサポートした、かつハードウェアを直接叩く事ができる
(仮想86モードで?)DOS上位互換なOS(DOS?)ってあり得ないのかな?
DOSエクステンダではなくて。

それともそんなものを誰も作ってくれないだけ?
07457442007/05/30(水) 01:32:17
I/O処理はEFIを呼び出せたり、Windows用のデバイス・ドライバを登録して
使用(流用)できたりしたら最高なんだが。
なおかつI/Oの直叩きもできる、と言うのは矛盾があるだろうか?
0746デフォルトの名無しさん2007/05/30(水) 01:45:27
>>744
つ FreeDOS-32
0747デフォルトの名無しさん2007/05/30(水) 06:00:30
>>744
Mona
0748デフォルトの名無しさん2007/05/30(水) 16:34:32
WindowsのDPMIは、Windows 3.x-9xのデバイスドライバ (VxD)が呼べたと思う
実質DOSエクステンダだけどね
それに、IOだって直叩きしても実際にはVxDが割り込んで処理するし
0749デフォルトの名無しさん2007/05/31(木) 22:49:03
Towns
0750デフォルトの名無しさん2007/05/31(木) 22:53:13
>>749
なにそのDOSエクステンダ
0751デフォルトの名無しさん2007/06/07(木) 23:28:27
ab123.jpgというファイルでabを900と書き換えて900123.jpg
とする方法を教えてください。
ren ab*.jpg 900*.jpg とすると90023となり全体が5桁になり
900123になりません。

よろしくお願いします。
0752デフォルトの名無しさん2007/06/07(木) 23:50:06
>>744
いまどきシングルタスクなんて…

マルチスレッドだとハード叩くと危険。
0753デフォルトの名無しさん2007/06/08(金) 00:19:26
>751
そのまま維持したい部分(”123”)を
 "*"じゃなくて文字数分の"?"で表せば良いんじゃなかったっけ?
>752
だからハードを直叩きするにはシングルタスクにするしかないだろ?
そうすれば全部ひとつのアプリが管理するから余計な事を考える必要が無くて
自分が使う単機能なソフトを書くには楽なんだよ。
0754デフォルトの名無しさん2007/06/08(金) 00:32:29
>>753
OSいるの?
0755デフォルトの名無しさん2007/06/08(金) 00:46:45
>>753
セクタ0のIPLからアセンブリコード書けば解決じゃね?
0756デフォルトの名無しさん2007/06/08(金) 01:36:17
>754-755
セルフ開発環境どころからローダーすらなしかいw?
0757デフォルトの名無しさん2007/06/08(金) 07:32:57
>753
????で合わせても全体の文字数をrenが
一致させてしまうのでうまく行きません。

5桁から6桁にする方法が分からないのですが。
07587532007/06/08(金) 12:44:54
>757
どうもDOSのRenameコマンドのワイルドカード表現には文字数による奇妙な制約があるみたい。
そういう場合、私は良くDIRコマンドの出力をリダイレクトするなどしてファイルに落とし、
エディターで1ファイルずつリネームするコマンドを並べたバッチファイルを作成します。
名前を変更したいファイルが何千件もあるとかなり大変ですが。

後は専用ユーティリティソフトを使うか自分でコードを書くしか無いような。
REXXのような正規表現を扱えるスクリプト言語が手近にあると便利です。
0759デフォルトの名無しさん2007/06/08(金) 13:00:33
下手に実行してファイル失ったこと数知れず
0760デフォルトの名無しさん2007/06/08(金) 13:25:17
>759
それが心配なら先に別のディレクトリなどへバックアップコピーを作っておけばよい。
また、いきなり本番を実行しないでまずは少数の失っても良いファイルに対する
バッチorコマンドを作成して試しておく。

Renコマンド自体、もし変更後の名前が既にあるファイル名と衝突すると
エラーで止まるのでそう危険じゃないし。
0761デフォルトの名無しさん2007/06/08(金) 14:12:19
一番いいのは 無償のVirtual-PCを入れる事だと思うな
http://www.microsoft.com/japan/windows/virtualpc/default.mspx
0762デフォルトの名無しさん2007/06/08(金) 18:14:43
>761
意味が良く分からんが例えばXPが動作するPC上にVirtual-PCを導入して
その上でDOSを走らせておいてゴニョゴニョやると言うような事かな?

そうするとその仮想マシン上のDOSからアクセスできるハードディスク
エリアに目的のファイル(のコピー?)を全て持ってくる必要があるな。
0763デフォルトの名無しさん2007/06/08(金) 19:34:21
出来ればWin95を持っているといいんだけど、
そうじゃないと面倒かも

まあFDD付いてるパソコンならいいんだけど、最近FDD無いPCもあるから、その場合、
virtual-PCにDR-DOSなんかを入れるにも、まずVFDを作らないといけないのだけど
それを作るにも、まずはDOSが必要というジレンマ。
0764デフォルトの名無しさん2007/06/08(金) 20:49:56
>>763
つ [FreeDOSのISOイメージ]
0765デフォルトの名無しさん2007/06/08(金) 21:10:12
>>763
つ [FreeDOS/V珠洲版]


>>764さんの FreeDOSのISOイメージでCDブートした場合は仮想HDDを用意して
それにインストールする事になるけど

これは 解凍したら .IMG が出来るんで、VirtualPCの仮想FDでそのまま起動可能になる
0766デフォルトの名無しさん2007/06/10(日) 00:11:31
FreeDOS 1.0 のインストールCDもLiveCDになってるからISOイメージ読ませるだけで使えるぞ。

まあ所詮DOSだからHDDにインストールしても最初に1回手間が掛かるだけでそんなに容量食わないけどな。
OpenWatcomやnasmなどの開発ツールも含まれてるし。
0767デフォルトの名無しさん2007/06/17(日) 08:53:00
XPに標準で入っているコマンドプロンプトで、whichやwhereにあたるコマンドは
なんになるのでしょう?
0768デフォルトの名無しさん2007/06/17(日) 09:37:55
ファイル郡に対して処理出来る FOR
ファイル内容に対して処理出来る FOR はあるけど
プログラムの制御命令としてはGOTO しかないさ
0769デフォルトの名無しさん2007/06/17(日) 18:09:36
>767
whichはないんじゃないかな。
whereはdir /sで代用。
0770デフォルトの名無しさん2007/06/17(日) 20:27:31
>>769
dir /s か。知らんかったんで勉強になった。
でもやっぱwhich/whereは作るしかないか。
0771デフォルトの名無しさん2007/06/23(土) 05:31:08
cygwin入れてcygwin\binにパス通しておけば各種コマンド使い放題になるよ。
0772デフォルトの名無しさん2007/06/23(土) 05:37:37
いいかげんバージョン
mywhich.bat
@%comspec% /e:on /c echo "%~$PATH:1"

> mywhich explorer.exe
"C:\WINDOWS\explorer.exe"

> mywhich explorer
""
0773デフォルトの名無しさん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へ
07747732007/07/24(火) 07:45:55
DOSバッチでbu使ったらあっさりできました
レスポンスに多少問題有るので今度はQBASICかLSI-C86あたりでやってみます
0775は@c178.016.c3-net.ne.jp ◆cplnFO9T0I NGNG?2BP(1000)
master.libって結構色々と入っているのな。
BFNTのsuper_putぐらいしていなかったから驚いた。
0776デフォルトの名無しさん2007/08/08(水) 18:17:55
純粋に32bitのDOSってあるの?
0777デフォルトの名無しさん2007/08/08(水) 19:44:53
nai
0778デフォルトの名無しさん2007/08/09(木) 01:54:27
Disk Operating Systemとしてなら窓含め腐るほどあるじゃん
0779デフォルトの名無しさん2007/08/09(木) 11:19:58
ありがと。
じゃ、UNIXのCUIに行くわ。
0780は@c178.016.c3-net.ne.jp ◆cplnFO9T0I NGNG?2BP(1000)
98のアナログパレットってひっちゃかめっちゃかにかき回しておk?
CEDITでBFNTフォーマットの画像をいじっているとそうは感じられなくて....
0781デフォルトの名無しさん2007/08/29(水) 11:46:57
よく意味わからんけど、何out しても大乗V
0782デフォルトの名無しさん2007/08/29(水) 21:06:22
つ 常駐パレット
0783デフォルトの名無しさん2007/09/04(火) 23:23:04
com形式のプログラムの開始位置アドレスが100hからなのは
DOSが生のアドレスを扱っていて、0h〜077hまでに
DOS側ですでに割り込みテーブルなどがしかれているからですか?
0784デフォルトの名無しさん2007/09/04(火) 23:31:55
>>783
CP/Mとの互換性のため。

8086の割り込みベクタ・テーブルは0000:0000から。
いくらDOSでもそんなメモリの先頭付近にユーザープログラムを
配置したりはしない。
0785デフォルトの名無しさん2007/09/04(火) 23:43:52
>>784
即レスありがとうございました
先頭64バイト程度の犠牲なら互換性を取る価値があったってことですか、なるほど
よく考えなくても100hはオフセットアドレスの話でしたね…
0786デフォルトの名無しさん2007/09/04(火) 23:54:57
256バイトでしたorz
0787デフォルトの名無しさん2007/09/05(水) 00:15:50
>>786
0x80からはコマンドラインで使っている。だから、256バイト丸々無駄にしているわけではない。
0788デフォルトの名無しさん2007/09/05(水) 00:48:41
>>787
あ、80hにコマンドラインの引数を格納してたのは決まりごとだったんですね
度々ありがとうございます
07897872007/09/05(水) 00:53:50
>度々ありがとうございます
いや、私が書いたのは>787だけ。
0790デフォルトの名無しさん2007/09/05(水) 01:01:17
先頭256バイトの内容
ttp://www5c.biglobe.ne.jp/~ecb/assembler2/7_5.html
0791デフォルトの名無しさん2007/09/05(水) 01:07:04
>>789
あ…早合点してましたすみません
>>790
とても分かりやすいです、ありがとうございます
0792デフォルトの名無しさん2007/09/07(金) 07:59:01
    ORG 100H
:START
0793デフォルトの名無しさん2007/09/10(月) 12:07:30
DOS コマンドについて聞きたい事がありますが、
どこのスレが適当でしょうか・・・・
0794デフォルトの名無しさん2007/09/10(月) 20:56:43
>>793
http://pc11.2ch.net/test/read.cgi/win/1169994853/l50
0795デフォルトの名無しさん2007/11/05(月) 02:04:38
最近の若い人はDOSの使い方を知らない人が多過ぎます。
DOSのバッチを作成すれば仕事も自動化できるのに・・・・

新人研修でまずはDOSを使うことを教えるべきだよな。
0796デフォルトの名無しさん2007/11/05(月) 02:26:28
>>795
その場合には、わざわざ DOS じゃなくても適当な shell がいいと思う

DOS はフルパワーで IO 処理させるのが好きだ
0797デフォルトの名無しさん2007/11/08(木) 22:07:01
WSH覚えたらバッチなんて馬鹿らしくて使えない。
最近はPowerShellにどっぷり
0798デフォルトの名無しさん2007/11/09(金) 00:43:24
DOSでWSHやPowerShellを使うとは凄いですな
0799デフォルトの名無しさん2007/11/09(金) 18:53:06
教えてください。
いま、ffmpeg に付属してた ffplay.exe(動画再生)をDOSコマンドラインでいじってます。
それの起動オプションのヘルプを見るには、【 ffplay -h 】だとドキュメントにあったので
やってみても、何も表示しないんで、【 ffplay -h > help.txt 】とやったら、ファイルになって見れました。
それならってんで
【 ffplay -h > con 】なら出るかと思いきや、画面には出ませんでした。

ファイルで見れるから問題はないんですが、こういう場合画面に出す方法を知りたいんです。
0800デフォルトの名無しさん2007/11/09(金) 20:03:55
知りたいですかそうですか。
0801デフォルトの名無しさん2007/11/09(金) 22:14:45
cmdはdosじゃないから
0802799:2007/11/09(金) 22:27:22
>>800
ぜひともw
0803799:2007/11/09(金) 22:51:09
>>800 >>801
どうやら、場違いなスレッドに質問したようで、失礼しました。
コマンドライン関係のスレッドがありましたので、そっちへ行きます。
0804デフォルトの名無しさん2007/11/10(土) 00:02:23
>>801

どっちでも、いいじゃん
0805デフォルトの名無しさん2007/11/10(土) 00:37:33
cmdならスレ違いだと本人が気がついてるんだし。
0806デフォルトの名無しさん2007/11/15(木) 08:12:45
Windowsでコマンドプロンプトが16bit DOSセッションへの
命令だったのは95(及び98&Me)までだったっけ?
Win3.1だけだったって事はないよな。

W2Kは確か、もう32bit環境でのコマンドラインだったはず。
0807デフォルトの名無しさん2007/11/15(木) 18:44:32
XPになってもcommand.comのバージョンは MS-DOS 5.00 のままだな。

Meの最新バージョンを移植とかできないだろうか・・・
0808デフォルトの名無しさん2007/11/16(金) 23:02:02
まあ、NT系ではDOSのファンクションコールから先はNTVDMのエミュレーションだし。
0809デフォルトの名無しさん2007/11/19(月) 00:46:09
Win3.1のアプリはDOSのファンクションリクエスト使ってたよね。

スワップファイルだけは32bitアクセスだったっけ?
0810デフォルトの名無しさん2007/11/19(月) 05:52:02
WindowsXPでちゃんと動いた。
DOSそれもCP/M互換ファンクション呼びまくり。

http://dn.codegear.com/article/20693
0811デフォルトの名無しさん2007/11/21(水) 02:51:09
@C1メ0ニ5!@ア0(チヘ!テ
0812デフォルトの名無しさん2007/11/22(木) 01:29:36
何?
0813デフォルトの名無しさん2007/11/22(木) 03:19:35
NO SYSTEM FILES
0814デフォルトの名無しさん2007/11/23(金) 13:13:45
>>810
超早そう。ソース書く前にビルド完了してそうだ。
0815デフォルトの名無しさん2007/12/04(火) 22:24:36
教えていただけると助かります。

現在、Win95でDOSプログラム(粒子解析系)を動かしているのですが
なにぶん古いPCなので時間がかかります。

そこでこのプログラムをXPで実行できればかなり早くなるのではないかと思い
調べたところ、16Bitと32Bitの違いにより基本的にはXPじゃ無理で
仮想DOSマシン(VDM)上で起動すればできるかもしれないと書かれていました。
その手順通りにXP上で動かしてみたのですが、エラーで動きませんでした。

16Bitのプログラムを32Bitに変換するようなことって出来るのでしょうか?
それともXPで動かすのは無理なのでしょうか。




0816デフォルトの名無しさん2007/12/04(火) 23:06:52
>>815
ソースからなら修正しまくって変換できるかもよ。
0817デフォルトの名無しさん2007/12/04(火) 23:08:08
俺は詳しくないがコーディングによる
16bitと32bitでは、データ型のサイズが違ってくるので
その辺を意識すればどっちでも動くようにはできるかもしれない
0818デフォルトの名無しさん2007/12/04(火) 23:50:16
>>816>>817
プログラム素人なうえ、そのプログラムもほかの人が作ったものなので
ソースがあるかわかりませんが、ありがとうございます!

それとVirtual-PC2004というものでWin95がエミュレートできる?(理解が間違ってるかもしれません)
ようなのですけど、そのエミュレートした95上でなら動かすことができるでしょうか。
やってみれば早い話ですね…ありがとうございました。
0819デフォルトの名無しさん2007/12/04(火) 23:54:06
つーかDOSプログラムならXPが動いてるマシンをDOSで起動して動かせば
それなりに速くなるのでは。
0820デフォルトの名無しさん2007/12/04(火) 23:58:10
>>818
再コンパイルの話(たとえ可能性だとしても)が無いところから見て、exeしかないんだろうな、多分。

そのプログラムのソースがあるならフリーでもいいからコンパイラを入手してリビルド。
C,C++はもちろんだが、Fortranなんかでも探せばあるだろ。

もし無くて、NTVDMでも弾かれてるなら仕方が無いからDOSで起動出来る環境を作れ。
VirtualPCとかでやっても遅くなるだけ(それでもマシかもしれないけど)だから純粋なDOS環境にしろ。

DOS起動用のシステム入りFDDはそういう指定でフォーマットすれば出来る(xp上からでも)
メモリとかの必要でconfig.sys弄るとなると知識要るけど。

もしPC-9800シリーズ専用とかだったら・・・手に負えん。ソフトの移植をできる人間に頼め。
0821デフォルトの名無しさん2007/12/05(水) 00:26:20
>>819>>820
丁寧にありがとうございます。
おっしゃるとおり、exeしかないのでソースがあるのかどうか確認してみます。
あれば、コンパイラというものでできる可能性があるということですね!

XPでDOS起動フロッピーを作成すれば、それだけでDOS起動できるようになるのでしょうか。
メモリ、PC98専用等の問題は大丈夫なはずなので、やってみます。

本当に助かります!

0822デフォルトの名無しさん2007/12/05(水) 02:48:34
>>815
おまえのPCのXPをアンインスコして
W98にするのが一番速いだろうね
0823デフォルトの名無しさん2007/12/05(水) 03:35:37
>>815
古いPCに何入れても同じ。
0824デフォルトの名無しさん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ツールを探しています
詳しい方いらっしゃいましたら検索のヒントでも教えていただければ助かります
宜しくお願いいたします。
0825 ◆0uxK91AxII 2007/12/17(月) 08:04:19
>>824
他人様が掛けたpasswordをcrackしたいのがミエミエの糞は、死んでおいた方が良いよ。
0826デフォルトの名無しさん2007/12/17(月) 11:56:02
>>824
つatapwdぐらいしかシラネ
>>825
わかんないならわかりませんって正直に言えよwww
0827デフォルトの名無しさん2007/12/19(水) 11:17:35
申し訳ございませんが教えてください

DOS画面で「〜」ってどうやって入力するのですか
windowsのプロンプトでは「〜」はShiftを押しながら「へ」で入力できるのに
dos画面でできなーいでこまっておりまする

どうしても入力が必要なコマンドがありまして
そこで滞っております
0828デフォルトの名無しさん2007/12/19(水) 19:51:34
>827
あなたが入力したいのは半角の「チルダ」と言う記号だと思うが
なぜDOS画面(コマンドプロンプト?)で出ないのかは良く分からない。
キーボード種類がまっとうに認識されていたら可能なはずなんだが。

参考:http://allabout.co.jp/computer/notepc/closeup/CU20011001/
0829デフォルトの名無しさん2007/12/19(水) 21:57:49
>827
追記ですが、もしかしたら「~」を入力しようとしたら「 ̄」(半角オーバーライン)が
表示されていますか?(上に挙げた文字自体は半角ではなく全角オーバーラインですが)

もしそうならJISコードとASCIIコードにおける同じ文字コード(0x7E)に対する
表記の違いに過ぎないので(バックスラッシュと¥記号のような関係)気にせず
そのままコマンド入力してください。多分、意図した通りに動作すると思います。

参考:http://www.bugbearr.jp/?%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91
の「メモ」「US-ASCII と JIS X0201 ラテン文字用図形文字集合」の項参照
0830デフォルトの名無しさん2007/12/19(水) 22:07:49
こういう問題もある。
ttp://support.microsoft.com/kb/418323/ja
0831デフォルトの名無しさん2007/12/20(木) 06:55:01
CapsLockされてるとか
08328272007/12/20(木) 09:16:46
>>828-831
ご指導ありがとーございます

解決いたしました
> 追記ですが、もしかしたら「~」を入力しようとしたら「 ̄」(半角オーバーライン)が
でした

まだまだ修行が足りませぬ
精進いたします

改めて御礼申し上げます
それでは失礼いたします
0833デフォルトの名無しさん2007/12/30(日) 10:02:32
win2000, lsi-c試食版を使ってます
USB接続MP3プレイヤーの再生順(ディレクトリエントリ順)を
変更したいと思い、少し調べてみました。
(UMSSortというソフトのコマンドライン版です)

intdos()でレジスタ設定してbdos()でシステムコール25h,26hを使えば
いけそうな気が…。
0834デフォルトの名無しさん2007/12/30(日) 11:13:23
普通にシェルスクリプト(或いはバッチファイル)でできるレベルのことだろ。
そもそも、何故それをDOSでプログラミングしたいんだか。
0835デフォルトの名無しさん2007/12/30(日) 11:45:48
>>834
ディレクトリエントリの順を変更がバッチファイルでできるの?
0836デフォルトの名無しさん2007/12/30(日) 11:47:26
「エントリの順を」は「エントリ順の」の間違いです。すまん。
renやcopyでは駄目だったのは確認済みですが…。
0837デフォルトの名無しさん2007/12/30(日) 12:36:32
>>833
int 25h/26hはFAT32には使えない。FAT32ならint 21h,ax=7305hになるが、
そもそもこいつらはWinNT系ではブロックされて使えない。

で、並べ替える簡単な方法は、ディレクトリ内のすべてのファイルを一旦一時ディレクトリに
移動してから、並べ替えたい順番で元のディレクトリに移動すること。
0838デフォルトの名無しさん2007/12/30(日) 13:11:13
>>837
やっぱだめなのか…
win32APIとvisual basicあたりを使うのが無難ですかね

いったん別のところに移動して、ってのは考えてたけど
あまり頻繁にフラッシュメモリ上のファイルを移動するのは
どうかなと思ったのでやめました
なので、直接ディレクトリエントリを書き換える方法を模索してました

ほぼ毎日podcastを追加して、携帯MP3プレイヤーで聞こうかと。
使っているプレイヤーにランダム再生が無い(ディレクトリエントリ順に再生)ので、
PC側で操作するつもりでした。

いろいろ教えてくれてどうもありがとう。あとで本屋に行ってきます。
0839デフォルトの名無しさん2007/12/30(日) 13:44:14
同じドライブ内の移動なら、DOSの頃からディレクトリエントリを書き換えるだけだぞ。
ディスク領域そのもののフラグメンテーションは起きない。

ちなみに、NT系で直接ディスクアクセスしたければ、
ドライブやディスクそのものをWin32のCreateFileで開けばいい。
普通にRead/WriteFileで読み書きできる。
当然スレ違いだけどな。

0840デフォルトの名無しさん2007/12/30(日) 13:44:57
>>838
NT系で直接読み書きするには、CreateFile("\\\\.\\D:", 〜)などとして
ドライブをオープンし、ReadFile(), WriteFile()などを使う。
スレ違いなのでこの程度で。
0841デフォルトの名無しさん2007/12/30(日) 13:50:22
>>839
そうなのか!って今思えば確かにそうだ・・・
なんか馬鹿でした。どうもありがとう。
途中までランダムにして移動させるバッチファイルは作ってあったので
(でもrenじゃ駄目だと分かって捨ててた)
それでやります!

>>840
直接はやっぱりwinでのプログラムですね。


いろいろ教えてもらえてよかったです。ありがとうございました。
0842デフォルトの名無しさん2007/12/30(日) 13:59:08
最早どうでもいいんだけどさ、move使えばバッチファイルででもできるんだけどなぁ。
0843デフォルトの名無しさん2007/12/30(日) 14:20:25
>>842
841です。そのつもりなんですが...
0844デフォルトの名無しさん2007/12/30(日) 14:36:15
つーか、擬似シャッフルみたいなことをしたいのか。
だったらディレクトリを作ってそこに順番にcopyするだけじゃね。
0845デフォルトの名無しさん2007/12/30(日) 14:46:34
>>844
そうです。擬似シャッフル。
copyすると時間もかかるしフラッシュメモリにも良く無さそうなので
教えてもらったとおりmoveで作りました

お世話になったかたがたへ
というわけで上手くいきました!ありがとうございました。
0846デフォルトの名無しさん2007/12/31(月) 08:21:14
こんな年末に発生しなくても良かったんだけど('A`)
ttp://d.hatena.ne.jp/honto117/20061117/p1
↑
これに書いてある「.logを参考に(A)を書き換える処理を(B)に追加」と
もう一つ「最期まで無事に走ったら終了」の処理を書いて頂けないでせうか
0847デフォルトの名無しさん2007/12/31(月) 11:40:16
>>846
HDDは消耗品だ。ヤマダ電機行って新しいの買ってこい。
0848デフォルトの名無しさん2007/12/31(月) 11:41:58
>>846 最期
(-人-)ナムー
0849デフォルトの名無しさん2008/01/01(火) 04:02:04
アケオメd('∀`)b!
奇跡の復帰を果たしましたぜ!
ヤマダ行った後なんだけども…
お騒がせしました!
0850デフォルトの名無しさん2008/01/24(木) 12:38:56
VFL, VFZ の構造が知りたいです。

vfl.docに書かれている
Nifty FLABO LIB 2 #1824 VFS .LZH VFL サンプルソース & 技術資料
って、今は昔過ぎてググっても見付かりません。

どこかこのファイルの入手方法はありますでしょうか
0851デフォルトの名無しさん2008/05/11(日) 05:00:40
ホす
0852デフォルトの名無しさん2008/05/27(火) 07:17:24
cat <in.txt >out.txt みたいなことできるdosのコマンドありませんか?
(winは全バージョン可能)

typeだとstdinからは無理っぽいんですが…
copy con out.txt とかひねくれたの思いついたんですけど、これはstdinじゃないです。
困ってるのでよろしくお願いします。
0853デフォルトの名無しさん2008/05/27(火) 07:25:51
more < in.txt
とかいけそうなんですけど、やりたい事は標準入出力を使ったファイルのコピーなんです。
moreだと--MORE--とかゴミがつくので期待はずれになります。
できれば、テキストでなくてバイナリも標準入出力を通す(通過のみで処理しないフィルタコマンド)のありませんでしょうか。
0854デフォルトの名無しさん2008/05/27(火) 07:32:12
findとか。
0855デフォルトの名無しさん2008/05/27(火) 13:32:05
find,moreはテキストファイルはできるんですけど、バイナリでfind,moreすると転送先のファイルが壊れます。
試したらmoreでは上に書いたゴミはつきませんでした。
そのプログラムを自分で作れるんですけど、unixシェルの様にOS標準のを探してます。
他にないでしょうか。(特にバイナリ―ファイルの標準入力を受け付けるコマンド(フィルターとも言われます)です)
0856デフォルトの名無しさん2008/05/27(火) 13:45:17
問題を整理しよう。
要は、標準入出力をスルーで流せる標準コマンドがないか、ということでよろしいか。
で、findもmoreも(改行を特殊処理するからか)出力が壊れると言うことだね。
findstrはどうだろう。今手元のcmd.exeからfindstr /v "^$" a.exe > fooしたら大丈夫なようだ。
# "^$"でいいかどうかは検討が必要だけどね。
0857デフォルトの名無しさん2008/05/27(火) 14:41:43
やりたい事は、標準入力からファイルデータ(特にバイナリ)を入力するので、
もしそのコマンドなら、

findstr /v "^$" <a.exe > b.exe

とかです。が、失敗します。
0858デフォルトの名無しさん2008/05/27(火) 14:47:53
テキストファイルのときは、
more <a.txt>b.txt
で出来ますが(実質copy /a a.txt b.txtと同じだけど意味が違う)

バイナリファイルだとこのコマンドでは出来ません。
若しくは玄人向けのdosコマンドレファレンスのサイトご存知ないでしょうか。
0859デフォルトの名無しさん2008/05/27(火) 14:57:54
CATくらい自作したらいいんじゃないかい。
DOSのパイプは中間ファイルを作るからあんまり面白くないけど。
Win9x系のパイプも中間ファイル式だったのにがっかりした記憶がある。
0860デフォルトの名無しさん2008/05/27(火) 15:19:31
だから作れるんですけど…
findstrはstdinでリダイレクト入力使うとバグってる(仕様)みたいだから作りたくなるのは山々ですが
0861デフォルトの名無しさん2008/05/27(火) 15:27:42
技術力が高いスレで聞いてもいいんですけど。じゃ質問を少し変えると、
標準入力(リダイレクト < )を使ってテキスト・バイナリ・ファイルを作ることはで来ますか?
できれば、後はパイプでできるんで・・・
0862デフォルトの名無しさん2008/05/27(火) 15:29:43
標準入力の内容をそのままのデータで、ローカル・ディスク上のファイルにすることは出来ますか?と同じです。
0863デフォルトの名無しさん2008/05/27(火) 15:51:04
DOSの仕様を回避するなら

type o.jpg | findstr ".*" > p.jpg

になるんですけど、まず、このo.jpg(バイナリ)をstdinから作りたいんですけど、そのようなコマンドありますか?
0864デフォルトの名無しさん2008/05/27(火) 15:54:27
stdin/stdoutが通常はテキストモードでオープンされているから不都合があるってことかな?
手元に資料はないけどバイナリモードへの切り替える方法はあったと思うよ。
0865デフォルトの名無しさん2008/05/27(火) 15:56:02
「標準」のコマンドだけだと、たぶん無理だと思う(wshでスクリプト組む場合は別)

#ActivePerlを標準コマンド扱いにして強制インスコして、binmodeで
#スクリプト組めばいいとかアホな回答を思いついたw
0866デフォルトの名無しさん2008/05/27(火) 23:07:10
それね、できたよ。でもね、なんか原始人みたいだから教えてあげないww
0867デフォルトの名無しさん2008/05/28(水) 00:49:31
comモデルまんせーヽ(´ー`)ノ
0868デフォルトの名無しさん2008/05/28(水) 22:40:13
DOSには標準でdebug.exeがあるじゃないか。
aで必要なプログラムを叩き込め
#com2txtでもいいけどw
0869亀2008/05/30(金) 22:10:52
cygwinとかUNIX like toolsってのは販促?
0870デフォルトの名無しさん2008/05/31(土) 00:18:33
90年代末の乾電池ノートはDOSでしか動かんのよ
BSD動く機種もあったけど
0871デフォルトの名無しさん2008/06/11(水) 18:00:20
UNIX like toolsはDOS用あるよ
0872デフォルトの名無しさん2008/06/11(水) 20:36:53
つ"UNI+"
0873洩れ車@J算譜工房2008/06/20(金) 22:05:39
>>872 「つ"UNI+"」
アスキーのパロディ版に載ってた「ユニクロス」の事ですか?(確かDOS上ではなく
CP/M上でさえなくスタンドアロンのN88BASICの上で動いていた。)
0874洩れ車@J算譜工房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 実行時のものとなる。)
0875デフォルトの名無しさん2008/08/27(水) 21:10:09
なんかさ・・・

「Aができるコマンドありませんか?」という質問をしている奴に限って
その「A」は別の目的「B」を達成するための手段として本人が唯一
思いついたものに過ぎなくて、実は手段「C」やら手段「D」やらの方が
より簡単に目的「B」を達成できたりする、ってことが多いんだよね。

catみたいなDOSコマンド、を連発している奴、本当は何がしたいの?
0876デフォルトの名無しさん2008/08/27(水) 22:29:09
キャット空中三回転
0877デフォルトの名無しさん2008/08/27(水) 22:56:18
ドスでファミコンが作りたいのですが
どうしたら作れるでしょうか?
0878デフォルトの名無しさん2008/08/27(水) 23:45:27
>877
まずは6502ニーモニックを使いこなせるよう自分で勉強だ。分からない用語はググれ。
幾つもの古本屋を渡り歩いてでも参考書を買いあさる根性も必要になるはず。
0879デフォルトの名無しさん2008/09/21(日) 12:29:59
DOS の画面でBIOSのアップデートをしようとしているのですが、
afudos /iP5K-Pk上波線M1 ROM
と打ち込みたいのですが、上波線の打ち方を教えてもらえませんか?
キーボードの表示はあるのだが、どうしても打ち込めない。

それともBIOSのファイル自体を、名前変更してもOK?
0880デフォルトの名無しさん2008/09/21(日) 12:41:55
>>879
使っているのが日本語キーボードで日本語キーボードの設定が済んでいるなら
Shift + ^

使っているのが日本語キーボードで日本語キーボードの設定が済んでいないなら
Shift + 半角/全角
08818792008/09/21(日) 15:21:59
>>880 ありがとうございます。
0882は@携帯 ◆cplnFO9T0I 2008/10/06(月) 09:56:24
master.libのsuper_putの実行速度をまとめた物ってないですか?
前に見かけたのですが見つかりません
0883デフォルトの名無しさん2008/11/01(土) 03:16:18
コマンドプロンプトについてはここでいいのでしょうか?
分からない点があり教えていただきたいです。
検索してコマンド一覧などが乗っているHPを参考にいろいろなコマンドを実行してみているのですが
editコマンドを使って終了したところ、 英語モード とかいうやつになったのですが、
これを日本語モードに戻したいのですが、検索したHPなどを見ると jp と打てば戻ると書いてあるのですが
jp を試してみたところ 認識されてない みたいな英文がでてきます。
コマンドが変わったりでもしたのでしょうか? versionは 6.0.6001 とあります。
0884デフォルトの名無しさん2008/11/01(土) 05:00:49
確か
chcp 932
とかそんなんだったと思う。
違ったらごめんな。
0885デフォルトの名無しさん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
0886デフォルトの名無しさん2009/01/08(木) 20:19:40
質問です。コレ(↓)
  in  ax,20h
と、コレ(↓)
  in  al,21h
  mov  ah,al
  in  al,20h
は、結果は同じですか?ワードアクセスするとAHレジスタには21hの内容が入る。
(ポート020h,021hは例えで意味はありません)
もし同じなら、なんで、ax 一括で読み込まないんでしょう?
0887デフォルトの名無しさん2009/01/08(木) 20:39:49
>>886
8bit幅のアクセスしか出来ないとか?
0888 ◆0uxK91AxII 2009/01/08(木) 21:03:44
>>886
HWに依存する事項だから。
0889デフォルトの名無しさん2009/01/09(金) 01:55:12
>>886
書いたヤツに聞け
0890デフォルトの名無しさん2009/01/12(月) 11:40:53
20hからワードアクセスしたときの上位バイト(ah)と、21hからバイトアクセスした時(al)の内容は同じ物だっけ?
0891デフォルトの名無しさん2009/01/12(月) 13:06:27
ハードの実装次第でどうとでもなる
0892デフォルトの名無しさん2009/01/12(月) 13:43:33
DOS用ハードって実装次第だっけ?
0893 ◆0uxK91AxII 2009/01/12(月) 13:50:17
CPUの信号線がどうなるかを調べれば分かるように、HW依存。
0894デフォルトの名無しさん2009/01/12(月) 14:57:00
CPUの信号線がどうなるかを調べなくてもバス構成を知っていれば判るように、実装依存。
0895デフォルトの名無しさん2009/01/12(月) 17:23:20
DOS用のハードのCPUって実装依存だっけ?
0896デフォルトの名無しさん2009/01/12(月) 17:28:38
CPUが実装依存なんじゃない。周辺回路が実装依存なんだ。
0897デフォルトの名無しさん2009/01/12(月) 17:54:35
DOS用のハードって何?
0898デフォルトの名無しさん2009/01/12(月) 19:19:14
メモリー空間とか割り込み�bニかのことだろ
int21等は共通事項だが、ヒープ・スタックは実装依存に決まってるじゃん。
0899デフォルトの名無しさん2009/01/12(月) 20:59:34
すげぇ、流れが捻じ曲がったよ。
0900デフォルトの名無しさん2009/01/12(月) 21:43:22
なんでヒープやスタックが出てくるんだよ。
I/Oはともかく、1MB以下の空間ならメモリは一応DOSが管理してるだろ(ザルだが)
0901デフォルトの名無しさん2009/01/12(月) 22:10:13
大丈夫、DOSも晩年は1MB以上の空間もちゃんと管理している。
0902デフォルトの名無しさん2009/01/13(火) 00:13:18
mov ax,[20h]
でahには21hのメモリの内容がはいるだろ。同じように、
in ax,20h
でahには21hのポートの内容がはいるんじゃないの?
オレって勘違いしていた?
0903デフォルトの名無しさん2009/01/13(火) 00:14:00
入るとは限らないって上で何人も回答あるだろ・・・
0904デフォルトの名無しさん2009/01/13(火) 01:25:11
>>902
バカまるだしw
0905デフォルトの名無しさん2009/01/13(火) 04:44:55
>>902
メモリがそう読めるというのは、そう実装されているから。
I/Oがメモリ同様に実装されているかどうかは別の問題。
「マイコンの作り方」みたいな本でも探してきて一読するか、
諦めて布団被って寝るか、どっちかにしてくれ。
0906デフォルトの名無しさん2009/01/13(火) 12:38:47
要するに原住民番号20-8番から20-15番まで来なさいって命令と、
原住民番号21-0番から21-7番まで来なさいって命令は別物ってだけだろ。
0907デフォルトの名無しさん2009/01/13(火) 16:05:07
余計わかり辛いw
0908デフォルトの名無しさん2009/01/13(火) 17:24:00
DOSの3.3 までと 5.0以降は分けないと アレだな
8086 と Z80も わけたほうが良いかもな CP/M のシステムコールをもっとMSX-DOSというものもあるからな。
0909デフォルトの名無しさん2009/01/13(火) 17:24:30
s/もっと/もった/
0910デフォルトの名無しさん2009/01/13(火) 17:26:56
MASMの話しなら、 ALは不定ってのは常識だな
>>902みたいなのが、バッファオーバーフローで、ハッカーにやられる典型的なホール製造者ってことだな
0911デフォルトの名無しさん2009/01/13(火) 19:09:25
902だが906の説明でわかったわ。
20年前はバイトアクセスしかしなかったから助かったのか。
0912デフォルトの名無しさん2009/01/13(火) 19:16:32
例えばI/Oが16ビットカウンタだとしたら、8ビット2回に分けてアクセスしちゃまずいだろ。HとLでずれるぜ。
0913デフォルトの名無しさん2009/01/13(火) 21:12:14
16ビットアクセスするのに同じアドレスを2回に分けて
読み書きしてた。
0914デフォルトの名無しさん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命令が使えない。
0915デフォルトの名無しさん2009/01/14(水) 00:36:32
FMは出来たんだっけか?
なんか特権モードで凄いのがあった気がするけど。
0916デフォルトの名無しさん2009/01/14(水) 01:21:19
>>886の質問がアバウト過ぎるのさw
0917デフォルトの名無しさん2009/01/16(金) 21:34:17
質問者のターゲットとする環境がAT互換機に限定できれば
I/Oポートの20Hと21Hの用途も決まってるしワードアクセス可能かどうかも決まるんだが。
0918デフォルトの名無しさん2009/01/16(金) 23:48:07
>>917
それこそを、機種依存したプログラムと言わずして、なんと呼ぼう?
構造主義進化論は脆くも崩れ去ったか・・・合掌
0919デフォルトの名無しさん2009/01/16(金) 23:51:21
機種依存全盛の時代のOSのスレでそんなこと言われても……。
0920デフォルトの名無しさん2009/01/17(土) 00:01:43
>質問者のターゲットとする環境がAT互換機に限定できれば

AT互換機以外でDOSが動くのってあるの???
0921デフォルトの名無しさん2009/01/17(土) 00:05:56
PC-98だろ。
0922デフォルトの名無しさん2009/01/17(土) 00:08:00
>>920
まさかAT互換機用以外のDOSがない(なかった)とでも思ってるのか。
0923デフォルトの名無しさん2009/01/17(土) 00:11:16
山ほどあるぞ
思いつくだけで数十シリーズ
0924デフォルトの名無しさん2009/01/17(土) 00:12:35
ttp://ja.wikipedia.org/wiki/MS-DOS
PC-9800シリーズやEPSONの98互換機だけじゃないぞ。
AXやJ-3100シリーズも微妙に違う。
0925デフォルトの名無しさん2009/01/17(土) 00:49:15
>>920
くっそー!! 坊やみたいのが、うちらに管巻かせちゃうんだぞ!だぜ?
0926デフォルトの名無しさん2009/01/17(土) 01:20:32
>>920
日立のB16、2020
富士通のFM-R、FM-16β
どれも、AT互換でもPC-98互換でもない独自アーキテクチャのパソコンだよ
これらの機種の性質の悪いところは、普段は人目に付かないけれど、ある所には大量にあるんだよ
0927デフォルトの名無しさん2009/01/17(土) 01:24:09
PC-100
0928 ◆0uxK91AxII 2009/01/17(土) 02:52:46
このスレ、何かクサイね。
0929デフォルトの名無しさん2009/01/17(土) 06:16:50
>>921-927
それ、いつの時代の話?
まさか・・・20世紀??

全裸で外を出歩いて、「石器時代はみんな裸だったんだぞ!」
って言ってるようなもんじゃん。
0930デフォルトの名無しさん2009/01/17(土) 06:27:54
>>914
Linuxではその手の違いを力技でエミュレートしてるよ
ttp://slashdot.jp/~bero/journal/352742
0931デフォルトの名無しさん2009/01/17(土) 07:01:29
デバドラやOSのAPIなど使わずにダイレクトにIN/OUTするのがDOS流
0932デフォルトの名無しさん2009/01/17(土) 07:09:12
>>929
DOSのスレで一体何を言ってるんだ?
0933デフォルトの名無しさん2009/01/17(土) 10:22:12
コンドームやピルなど使わずにダイレクトにIN/OUTするのが俺流
0934デフォルトの名無しさん2009/01/17(土) 11:15:32
まるでピルを使うとダイレクトではなくなるような誤解乙。
0935デフォルトの名無しさん2009/01/17(土) 13:24:49
>>929
一般人はいいよなぁ
ろくすっぽ資料の存在しない機械と格闘しなくてもいいから...
0936デフォルトの名無しさん2009/01/17(土) 16:26:45
DOSなのに資料が無いって・・・
0937デフォルトの名無しさん2009/01/17(土) 18:24:18
Windowsは、ハードの細かい仕様を気にせずに済むのがいいところだな
0938デフォルトの名無しさん2009/01/17(土) 18:41:54
てか、ハードを動かすプログラムを書く奴はめったにいない。
鈍臭いアプリばっかり。
0939デフォルトの名無しさん2009/01/17(土) 19:51:22
>>929
時代も変わったようだな。
坊やみたいなのがDOSプログスレの住人とはな。
だが、戦場であったらこうはいかないぞ。がんばれよ。

(って、20世紀の有名なネタも通じないのだろう f(^ー^;)
0940デフォルトの名無しさん2009/01/18(日) 02:52:40
爆釣
0941デフォルトの名無しさん2009/01/24(土) 00:06:19
ところで、PC-98 と PC-AT の I/O ポートの一覧というか空きポートが記されている表とかある?
昔の N88-BASIC のソフトを移植してくれという依頼が来た。
0942デフォルトの名無しさん2009/01/24(土) 01:03:43
どんなソフトだ?
0943デフォルトの名無しさん2009/01/24(土) 03:10:07
そもそも、ソフトの移植に何で空きポートが関係するんだ?
0944デフォルトの名無しさん2009/01/24(土) 05:56:36
>>941
神田の古本屋廻ってこい
0945デフォルトの名無しさん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 (?)
0946デフォルトの名無しさん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 の順序」もあって、これも場合により重要になる。
0947デフォルトの名無しさん2009/01/25(日) 17:47:39
>制御用にでも使ってたんだろ。それで専用の拡張ボード使ってて、ハードごと移植ってことでは?
それを「N88-BASICのソフトの移植」とは普通は言わないと思うんだ。
0948デフォルトの名無しさん2009/01/25(日) 20:39:59
Cバスユニバーサル基板か何かでI/Fを自作していたらあるかもね。
0949デフォルトの名無しさん2009/01/27(火) 23:49:11
市販品だが、Cバスのフレームバッファを弄ってた記憶があるな。メモリとIOの両方でアクセス出来る。
アセンブラだったけど。
0950デフォルトの名無しさん2009/01/28(水) 01:08:50
カノプーがGDBRのCバス汎用インターフェイスボードを出していたね。RS-432ボード等もどこからか出ていた。
検索したが辿り着けなかったが・・・今でも、その手のものを置いているところはあるんだね。
懐かしかった。 → ttp://www2.wbs.ne.jp/~c2main/zaiko-06.htm
0951デフォルトの名無しさん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時代のプログラミングってのはそういうもん。
0952デフォルトの名無しさん2009/01/28(水) 23:23:56
I/Oアドレスの一覧がわかったところで、もっと具体的というか実践的な使い方がわからないと
解析は難しいと思うんだけどね。
OUT 5FHみたいな変なポートもあったし、しかも機種ごとに働きが違ったりね。
0953デフォルトの名無しさん2009/06/23(火) 18:45:05
何かの実行ファイル(hoge.exe)が
あるファイル(hoge.log)を掴んでいて、
コマンドプロンプトからは書き換え不可(他のプロセスが使用中)で
エディタで開くと更新可能です。

これをbatで編集(空にする)したいのですが、どう書けばいいですか。
ご教示願います。
0954デフォルトの名無しさん2009/06/23(火) 18:49:32
エディタが読み込み専用モードで開いているだけでは?
本当に内容を更新できるの?
他のプロセスが書き込みモードで開いているなら、書き込めないはず
0955デフォルトの名無しさん2009/06/23(火) 18:59:39
エディタでやると開くときから何も言われないんですよ。他で使ってるから上書き禁止、って注意もなく更新できてしまう。

今はプロセス落とすことなく6コのログファイルを手動でクリアしてるんだけど、batで1クリックでやりたいんです。
0956デフォルトの名無しさん2009/06/23(火) 19:14:24
空っぽにはできないけど
echo "" > huga.txt
0957デフォルトの名無しさん2009/06/23(火) 19:35:52
それが効かないんです。
batで作って、いくらたたいても反応ないなと思い、コマンドラインから打って見てみたら「他のプロセスで使用中」って。
0958デフォルトの名無しさん2009/06/23(火) 20:47:02
プロセスを止めればいいじゃん
0959デフォルトの名無しさん2009/06/23(火) 20:53:39
>>956
0バイトのファイルを作るには
COPY NUL hoge.txt
TYPE NUL >hoge.txt
などでできるよ
0960デフォルトの名無しさん2009/06/24(水) 08:51:18
>>958
すげえな、最上レベルの読解力のなさだなw
0961デフォルトの名無しさん2009/06/24(水) 15:46:21
>>960
そういうことは、解決策を提案してから言え
0962デフォルトの名無しさん2009/06/24(水) 21:59:52
ハンドル閉じれ
0963 ◆0uxK91AxII 2009/06/24(水) 22:45:56
>>953
DOSとは違うし、目的と手段を混同していそうで、頭が悪そう。
0964デフォルトの名無しさん2009/06/25(木) 10:48:34
ふつう unix などで昔から使われている手法だけど
(Windows風に書けば)

プロセスを止める(TASKKILL か NET STOP などで)
ログを空にする(COPY NUL hoge.log か RENAME hoge.log 日付.log みたいな感じで)
プロセスを再開する(hoge.exe か NET START などで)

これが普通の方法だよ。
具体的にどう書けばいいのかは、hoge.exe の仕様によるから・・・
0965デフォルトの名無しさん2009/07/04(土) 14:40:04
元がWindowsでコンソールアプリの話っぽいから、たぶんスレ違い。
0966デフォルトの名無しさん2009/07/16(木) 19:00:47
みんなの自慢のバッチの機能を教えてくれ。
0967デフォルトの名無しさん2009/07/21(火) 18:24:00
super.libの説明書、質疑応答ファイルの方に書いてある処理時間って
どうやって計測したか判る方はいらっしゃいますか?
0968デフォルトの名無しさん2009/07/29(水) 00:57:33
つ。プロファイラ。
0969デフォルトの名無しさん2009/08/07(金) 02:01:37
>>968
ありがとうございます。LSI C-86の試食版で測ってみます。
0970デフォルトの名無しさん2009/08/07(金) 02:05:38
って、LSI C-86に付いているプロファイラだと計測できませんね。
TurboCの方でできることを期待しておきます(すぐ出せる状態にない
0971デフォルトの名無しさん2009/08/10(月) 12:30:33
ここで質問していいですか?
set m=0123
if !m:~0,1! == 0 (echo !m:~0,1!) else echo else
この「if !m:~0,1!〜」っていう書き方ってできなかったですか?
0972デフォルトの名無しさん2009/08/10(月) 14:55:52
MS-DOSで何をプログラミングしているのですか?
0973デフォルトの名無しさん2009/08/10(月) 15:27:02
できなさそうだね・・・
set m=0123
if %m:~0,1% == 0 (echo %m:~0,1%) else echo ...
とするか、
setlocal enabledelayedexpansion
set m=0123
if %m:~0,1% == 0 (echo !m:~0,1!) else echo X
だな。
! ! は遅延展開なので、遅延させてしまってはIF式を評価できないんだろね。
0974デフォルトの名無しさん2009/08/10(月) 21:06:58
MS-DOSで遅延展開なんて出来ません
0975デフォルトの名無しさん2009/08/10(月) 22:07:39
MS-DOSでプログラミングすることで得られる技術って何があるの?
例えば、極端ですがアセンブリ言語やC言語及びMS-DOSのアーキテクチャに詳しくなれる
とか、

0976デフォルトの名無しさん2009/08/10(月) 22:50:21
no
09779712009/08/10(月) 22:50:35
>>973
なんですとー
%と!の変数が混在するパターンもあるのですね
ifの中でsetする必要があるので、後者でいけました
ありがとうー
0978デフォルトの名無しさん2009/08/10(月) 23:01:34
>>975
Cとかポインタを多用する言語には最悪の環境です。
0979デフォルトの名無しさん2009/08/11(火) 03:20:49
>>975
プロテクトメモリを自由に使えるようになる。
WINやLINUXと違い、リニアに4Gでも16Gでも使い放題。
0980デフォルトの名無しさん2009/08/13(木) 11:00:36
>>975
温故知新だな。
余計な物がついていないから扱いやすいわけで学生さんが8085で演習を行う感じの基礎を学ぶためのものかな。


>>978
末期にはポインタ使わなくていい言語もあったし、XSCompilerとかもそうだった気がする。
今でもEuphoiraというポインタを意識しなくて良いマルチプラットホームな言語がある。
ただ、Euphoria Version.4.0でDOS版廃止。時代の流れだな。
0981デフォルトの名無しさん2009/08/18(火) 14:00:48
ちんこしゃぶれ
レス数が950を超えています。1000を超えると書き込みができなくなります。