DOSの問題点を語るスレ

このエントリーをはてなブックマークに追加
107Be名無しさん:2007/10/07(日) 20:06:01
'$' までの文字列出力 … CP/Mからのパクリ
ファイルオープン    … UNIXからのパクリ
だからな。

文字列出力をAH=40hで標準出力へ書き込むようにすれば無問題。
108Be名無しさん:2008/01/05(土) 15:51:42
PCカードが手軽に使えない。
109Be名無しさん:2008/01/07(月) 23:57:20
メモリマップが必要なカードはつらいな
110Be名無しさん:2008/01/09(水) 13:47:33
PCカードが使えないとLANカードが使えないからインターネットができない。
モデム時代はシリアルに外付けモデムでOKだったんだが。
111Be名無しさん:2008/03/26(水) 23:05:13
98SEやMEの SETRAMD.BAT が DOS6.2/V で動作が変になる
具体的には2ドライブ未満(C:だけ、或はHDDレス)の環境で正しい値が取得できない
理由を解説できる人居ます?

まあ、エラーレベル総当りで書いたら解決したが
1.22KB 57行が2.14KB 166行になってしまった・・・
112Be名無しさん:2008/03/26(水) 23:57:37
98/Me持ってないからよくわからないけど、MS-DOS 6.2ではramdiskってramdrive.sysで作るもんじゃないの?
113Be名無しさん:2008/03/27(木) 03:03:13
>112
いや DOS7&8 (98/ME)でもRAMDRIVE.SYSで作るんだけど・・・

作った後でRAMディスクやCDのドライブレターを検出するためのBATファイルだよ
FINDRAMD.EXE実行して戻り値によって確定させるプロセスね
環境変数 %RAMD% や %CDROM% でドライブ名置き換えることができるから
ディスク構成の違うマシンでもいろいろ出来るのさ

CDだけならここまでHDD無いだろうって所で決め打ち出来るけど美しくないじゃない?
114Be名無しさん:2008/03/27(木) 03:15:40
総当り式の内容書いとくね、まあ期待通り動いてる
純正でダメな理由がいまいちわからんので引き続き解説希望

-----------------------
前処理

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 エラーだよ
:(終了)
-----------------------
115Be名無しさん:2008/03/27(木) 03:45:40
findramd.exeの仕様じゃね?
116Be名無しさん:2008/03/27(木) 17:18:05
>>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: のパラメータが存在しない為

でよろしいニカ?
117Be名無しさん:2008/03/28(金) 01:27:40
いや〜、すごいね。完璧な回答ありがとう
実は昨日の書き込み後、コマンドラインの107文字制限ってのは発見したんだ
パラメータの"27 * 26 Z "まで削ったところで期待通りの動作になった
でもそれだけ、解決方法は >114 以外に思い浮かばなかったな
変数名やファイル名削るって発想はなかったニダ
118Be名無しさん:2008/03/28(金) 16:57:40
RAMDRIVE.SYSやFINDRAMD.EXEが
直接、環境変数RAMDを設定するような作りにはできなかったのかといつも思う。
119Be名無しさん:2008/03/28(金) 19:22:02
>>118
TurbodskとSrdiskというソフトが環境変数にドライブレターを設定してたはず
120Be名無しさん:2008/04/08(火) 22:50:20
カバチャン
121Be名無しさん:2008/04/08(火) 23:08:13
>>118
自分の環境を書き換えても終了時に開放されちゃうから、
親の環境を書き換えないといけないんだよね〜。
122111:2008/04/25(金) 22:06:43
vectorに専用ツール有ったのね・・・

GETDRV se011773.html
srcdrv se014571.html

ま、>116 氏のおかげで解決済みだからいいけど
123Be名無しさん:2009/07/17(金) 21:48:13
>DOSの問題点
その気になれば簡単にHuckされる脆さかな?
以前DOS窓を使っていたら表示するメッセージが書き換えられているのを発見
友達に触らせた時悪戯された(笑泣
124Be名無しさん:2010/08/09(月) 20:31:18
age
125Be名無しさん:2011/09/06(火) 21:54:00.54
dosに問題なんかないよ
126Be名無しさん:2012/01/10(火) 09:23:51.59
MS−DOSとは一体何だったのか
http://awabi.2ch.net/test/read.cgi/poverty/1326153783/l50
127Be名無しさん:2013/03/06(水) 22:08:59.19
問題無い
128Be名無しさん:2013/03/07(木) 09:52:32.77
DOS思想に基づく全く新規の64bitディスクオペレーティングシステムの出現が為されても善いのではとは思うね。

GPGPUの様なハードウェアプロセッサが登場した今日であればこそ今度こそ誤解や迷信を伴わないDOS運用が可能であるしw
129Be名無しさん:2013/03/07(木) 10:06:06.72
>>128 A:B:ドライブ優先BIOSが廃れた今となってはあまり意味が無いかなw
130Be名無しさん:2013/03/07(木) 10:57:39.06
UEFI
131Be名無しさん:2013/03/08(金) 21:20:56.98
>>128
DOS思想とは一体どういう思想?

Disk Operating System的なもんを今さら?
132Be名無しさん:2013/03/08(金) 21:31:07.36
保護なし、シングルタスクってことでしょ。
たとえばシスコルータのIOSみたいに、保護なしOSが採用される場面ってものも無いわけじゃない。
133Be名無しさん:2013/03/14(木) 12:08:16.37
>>129
PC-98だと常に起動ドライブがAだったし桶
134Be名無しさん:2013/03/14(木) 17:58:32.61
PC-98時代が一番よかった。
メモリ管理だけが面倒だったが。
135Be名無しさん:2014/02/20(木) 05:18:48.75
フロテクトモードの32bitDOSを出せばよかったんだよ。
136ギンコ ◆BonGinkoCc :2014/12/21(日) 07:43:50.00
Windows 3.1が出る直前、初心者でも使いやすくするためのMS-DOSの拡張シェルがあったような…。
難しいDOSコマンドを覚えなくても、キーボードでメニューを選択することで使えます。
もちろん、DOSコマンドがわかるという人なら、コマンドプロンプトのモードに切り替えもできます。

ホームページ制作ソフトにおいて、HTMLがわかる人が使うHTMLタグ直接編集機能と同じ。

マウスって、MS-DOSでも使えたんじゃないかと勘違いするユーザーも多いかもしれませんが、
それはそのソフトの中だけで使えたのであって、MS-DOS自体はマウスは使えません。
137Be名無しさん:2014/12/29(月) 10:43:42.25
>>136
MS-DOS自体、が何を指してるのかわからんが、DOS付属ツールなら使えるものは有った

MS-DOS4に付いていたDosShell、DOS5に付いていたQbasicとEdit、MSDなど、コンソール型ではないアプリ

コンソール型のアプリ(外部コマンド)でマウスが使えないのはDOSに限った話ではないな
138Be名無しさん:2014/12/30(火) 00:12:32.97
>>136
ttp://news.mynavi.jp/articles/2013/04/08/dosshell/001.html
この記事で紹介されてるDOS Shellなら、俺もエプソン98互換機用MS-DOS上で少しだけ使った事がある
ttp://s.cyrill.lilect.net/uploader/files/201412300011050000.png
139Be名無しさん:2014/12/30(火) 01:25:18.14
>>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ドライブってのが多かった、、、時代を感じるな
140Be名無しさん:2014/12/30(火) 01:33:54.96
>>138
記事によるとDOS5にはあって6では廃止との事なので俺の勘違いか、まあ余り出番の無かったDOS Shell
141Be名無しさん:2014/12/31(水) 01:31:07.65
NEC PC-9801用MS-DOS 3.3
中身は3.2相当だったというのは有名な話
142Be名無しさん:2014/12/31(水) 14:53:25.20
プロセスのスイッチができるが、普通MS-DOSアプリはそんな使われ方を想定して
作られてないから、事実上無用の長物だったな、DOSShell
143Be名無しさん:2014/12/31(水) 18:25:56.06
>>142
裏に回ったアプリのメモリイメージは何処に退避してたんだろう、あまり使わなかったから記憶にないわ

DOS Shell自体がExtenderになっていて上位アドレスに退避したのか、それともハードディスクにスワップアウトしてたのか
144Be名無しさん:2015/01/01(木) 02:37:15.66
MS-DOS 6.22 upgradeは未フォーマットのHDDにはインストール出来ないのだが、一旦止めて手作業でfdisk, formatをするとupgradeとしてインストール出来る

という裏ワザがあった
145Be名無しさん:2015/01/02(金) 13:10:13.32
使っていいUMB番地と使ってはいけない番地(VRAM, BIOS等)はどうやって指定するんだっけ
himem.sysのオプション?
146Be名無しさん:2015/01/03(土) 21:36:52.03
Undocumented DOSという洋書が役に立った

MS Pressから出てたIBM-PCのテクニック本、Peter Norton & Paul YaoのIBM-PC解説本

IBM-PCに付属していたBIOSマニュアルとソースコード

これらも読みあさった
147Be名無しさん:2015/01/04(日) 13:04:02.82
IBM製CGAカードは、直接テキストVRAMに書くとスノーと呼ばれる画面ノイズが出た
V-Syncのタイミングをポートから読み取ってそれを待ってから一定時間内に書くとノイズが出ない、というのが解説本に載っていた

他社製CGA互換カードやEGA以降、あとNEC-98とかはそういう問題がなかった
148Be名無しさん:2015/01/05(月) 22:51:34.98
NEC 98用のMS-DOS 5.0にもQBasic/Editってついてたんだっけ?
149Be名無しさん:2015/01/07(水) 00:46:27.49
各社IBM PC互換機, IBM PS/2, PS55
IBM PS55(J-DOS運用)
各社AX
東芝J-3100/Dynabook
三菱Multi 16
NEC PC-9801

機種別のDOSの種類ってほかにあったっけ

PC互換機には番外編DR-DOSもあるな
150Be名無しさん:2015/01/07(水) 11:00:02.64
KDOS
151Be名無しさん:2015/01/07(水) 12:04:22.40
towns osてのはDOSとは違うの?
152Be名無しさん:2015/01/07(水) 16:55:37.54
MS-DOSをDOSと略すな

TOWNS OSはいわゆるDOSエクステンダにグラフィカルシェルとかが付いたもの
153Be名無しさん:2015/01/08(木) 08:16:36.27
TOWNS用もあれば16βやいくらでも有るような
154Be名無しさん:2015/01/11(日) 12:51:30.15
Townsは一度も触ったことないけど、コンパイラとかの汎用DOSブログラムは動いたのか
155Be名無しさん:2015/02/13(金) 19:04:36.81
普通にMS-DOSはあったから、普通のMS-DOS汎用のプログラムなら動いたよ。
156Be名無しさん
エクステンダなので子プロセスでもDOSプログラムが普通に呼べる。
まあ色々常駐してる分リアルメモリは少なくなるけど。