'$' までの文字列出力 … CP/Mからのパクリ
ファイルオープン … UNIXからのパクリ
だからな。
文字列出力をAH=40hで標準出力へ書き込むようにすれば無問題。
PCカードが手軽に使えない。
メモリマップが必要なカードはつらいな
PCカードが使えないとLANカードが使えないからインターネットができない。
モデム時代はシリアルに外付けモデムでOKだったんだが。
98SEやMEの SETRAMD.BAT が DOS6.2/V で動作が変になる
具体的には2ドライブ未満(C:だけ、或はHDDレス)の環境で正しい値が取得できない
理由を解説できる人居ます?
まあ、エラーレベル総当りで書いたら解決したが
1.22KB 57行が2.14KB 166行になってしまった・・・
98/Me持ってないからよくわからないけど、MS-DOS 6.2ではramdiskってramdrive.sysで作るもんじゃないの?
>112
いや DOS7&8 (98/ME)でもRAMDRIVE.SYSで作るんだけど・・・
作った後でRAMディスクやCDのドライブレターを検出するためのBATファイルだよ
FINDRAMD.EXE実行して戻り値によって確定させるプロセスね
環境変数 %RAMD% や %CDROM% でドライブ名置き換えることができるから
ディスク構成の違うマシンでもいろいろ出来るのさ
CDだけならここまでHDD無いだろうって所で決め打ち出来るけど美しくないじゃない?
総当り式の内容書いとくね、まあ期待通り動いてる
純正でダメな理由がいまいちわからんので引き続き解説希望
-----------------------
前処理
IF ERRORLEVEL 26 GOTO (エラー) 米ZだとCDが作れないんでエラー扱い・・・
〜
IF ERRORLEVEL 8 GOTO RAMD_H
〜
IF ERRORLEVEL 3 GOTO RAMD_C
GOTO (エラー)
:RAMD_Y
(略)
〜
:RAMD_H
SET RAMD=H
SET CDROM=I
GOTO (終了)
〜
:RAMD_C
(略)
:(エラー)
ECHO エラーだよ
:(終了)
-----------------------
findramd.exeの仕様じゃね?
>>114 理由:バッファオーバーフローによる文字列の取りこぼしの為
解説:TEST.BAT をコピペして実行して確かめて下さい
TEST.BAT
---- ここから -----
SET LGLDV=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15 O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
SET LGLDRV=%LGLDV%
SET
CALL A123456 %LGLDRV%
CALL A123456 %LGLDV%
CALL A12 %LGLDV%
---- ここまで -----
※ A123456.BAT と A12.BAT は、作成&実在しなくてよい
対応策:環境変数名をLGLDRVからLGLDV等の最高5文字までにし、
なおかつSETRAMD.BATのファイル名をSRD.BATのように3文字までにする
95・98は、
SHELL=COMMAND.COM /E:4096 /L:1024 /U:250
のようにバッファを増やすことが可能だが
6.2/Vは、/L: /U: のパラメータが存在しない為
でよろしいニカ?
いや〜、すごいね。完璧な回答ありがとう
実は昨日の書き込み後、コマンドラインの107文字制限ってのは発見したんだ
パラメータの"27 * 26 Z "まで削ったところで期待通りの動作になった
でもそれだけ、解決方法は >114 以外に思い浮かばなかったな
変数名やファイル名削るって発想はなかったニダ
RAMDRIVE.SYSやFINDRAMD.EXEが
直接、環境変数RAMDを設定するような作りにはできなかったのかといつも思う。
>>118 TurbodskとSrdiskというソフトが環境変数にドライブレターを設定してたはず
カバチャン
>>118 自分の環境を書き換えても終了時に開放されちゃうから、
親の環境を書き換えないといけないんだよね〜。
122 :
111:2008/04/25(金) 22:06:43
vectorに専用ツール有ったのね・・・
GETDRV se011773.html
srcdrv se014571.html
ま、>116 氏のおかげで解決済みだからいいけど
>DOSの問題点
その気になれば簡単にHuckされる脆さかな?
以前DOS窓を使っていたら表示するメッセージが書き換えられているのを発見
友達に触らせた時悪戯された(笑泣
age
125 :
Be名無しさん:2011/09/06(火) 21:54:00.54
dosに問題なんかないよ
126 :
Be名無しさん:2012/01/10(火) 09:23:51.59
127 :
Be名無しさん:2013/03/06(水) 22:08:59.19
問題無い
128 :
Be名無しさん:2013/03/07(木) 09:52:32.77
DOS思想に基づく全く新規の64bitディスクオペレーティングシステムの出現が為されても善いのではとは思うね。
GPGPUの様なハードウェアプロセッサが登場した今日であればこそ今度こそ誤解や迷信を伴わないDOS運用が可能であるしw
129 :
Be名無しさん:2013/03/07(木) 10:06:06.72
>>128 A:B:ドライブ優先BIOSが廃れた今となってはあまり意味が無いかなw
UEFI
>>128 DOS思想とは一体どういう思想?
Disk Operating System的なもんを今さら?
保護なし、シングルタスクってことでしょ。
たとえばシスコルータのIOSみたいに、保護なしOSが採用される場面ってものも無いわけじゃない。
133 :
Be名無しさん:2013/03/14(木) 12:08:16.37
>>129 PC-98だと常に起動ドライブがAだったし桶
134 :
Be名無しさん:2013/03/14(木) 17:58:32.61
PC-98時代が一番よかった。
メモリ管理だけが面倒だったが。
フロテクトモードの32bitDOSを出せばよかったんだよ。
Windows 3.1が出る直前、初心者でも使いやすくするためのMS-DOSの拡張シェルがあったような…。
難しいDOSコマンドを覚えなくても、キーボードでメニューを選択することで使えます。
もちろん、DOSコマンドがわかるという人なら、コマンドプロンプトのモードに切り替えもできます。
ホームページ制作ソフトにおいて、HTMLがわかる人が使うHTMLタグ直接編集機能と同じ。
マウスって、MS-DOSでも使えたんじゃないかと勘違いするユーザーも多いかもしれませんが、
それはそのソフトの中だけで使えたのであって、MS-DOS自体はマウスは使えません。
>>136 MS-DOS自体、が何を指してるのかわからんが、DOS付属ツールなら使えるものは有った
MS-DOS4に付いていたDosShell、DOS5に付いていたQbasicとEdit、MSDなど、コンソール型ではないアプリ
コンソール型のアプリ(外部コマンド)でマウスが使えないのはDOSに限った話ではないな
>>138 そう、それです
MS-DOS 4.01プリインストールのPC互換機立ち上げると、最初はいきなりそれが起動した
MS-DOS 5.0では撤去されてたような気もするけも、DOS/Vとか日本向けのには付いてたのかなあ、記憶が定かでない
そう言えばMS-DOS 5.0小売バージョンは確か5.25"の360KBフロッピー5枚組だった
当時は5.25"がAドライブ、3.5"がBドライブってのが多かった、、、時代を感じるな
>>138 記事によるとDOS5にはあって6では廃止との事なので俺の勘違いか、まあ余り出番の無かったDOS Shell
NEC PC-9801用MS-DOS 3.3
中身は3.2相当だったというのは有名な話
プロセスのスイッチができるが、普通MS-DOSアプリはそんな使われ方を想定して
作られてないから、事実上無用の長物だったな、DOSShell
>>142 裏に回ったアプリのメモリイメージは何処に退避してたんだろう、あまり使わなかったから記憶にないわ
DOS Shell自体がExtenderになっていて上位アドレスに退避したのか、それともハードディスクにスワップアウトしてたのか
MS-DOS 6.22 upgradeは未フォーマットのHDDにはインストール出来ないのだが、一旦止めて手作業でfdisk, formatをするとupgradeとしてインストール出来る
という裏ワザがあった
使っていいUMB番地と使ってはいけない番地(VRAM, BIOS等)はどうやって指定するんだっけ
himem.sysのオプション?
Undocumented DOSという洋書が役に立った
MS Pressから出てたIBM-PCのテクニック本、Peter Norton & Paul YaoのIBM-PC解説本
IBM-PCに付属していたBIOSマニュアルとソースコード
これらも読みあさった
IBM製CGAカードは、直接テキストVRAMに書くとスノーと呼ばれる画面ノイズが出た
V-Syncのタイミングをポートから読み取ってそれを待ってから一定時間内に書くとノイズが出ない、というのが解説本に載っていた
他社製CGA互換カードやEGA以降、あとNEC-98とかはそういう問題がなかった
NEC 98用のMS-DOS 5.0にもQBasic/Editってついてたんだっけ?
各社IBM PC互換機, IBM PS/2, PS55
IBM PS55(J-DOS運用)
各社AX
東芝J-3100/Dynabook
三菱Multi 16
NEC PC-9801
機種別のDOSの種類ってほかにあったっけ
PC互換機には番外編DR-DOSもあるな
KDOS
towns osてのはDOSとは違うの?
MS-DOSをDOSと略すな
TOWNS OSはいわゆるDOSエクステンダにグラフィカルシェルとかが付いたもの
TOWNS用もあれば16βやいくらでも有るような
Townsは一度も触ったことないけど、コンパイラとかの汎用DOSブログラムは動いたのか
普通にMS-DOSはあったから、普通のMS-DOS汎用のプログラムなら動いたよ。
エクステンダなので子プロセスでもDOSプログラムが普通に呼べる。
まあ色々常駐してる分リアルメモリは少なくなるけど。