懐かしのMS-DOSプログラミングat TECH
懐かしのMS-DOSプログラミング - 暇つぶし2ch1:デフォルトの名無しさん
10/04/21 12:42:23
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h

msg db '懐かしのDOS時代のプログラミングについて語ろうぜ',0dh,0ah,'$'

2:デフォルトの名無しさん
10/04/21 12:43:18
DOS2.11の頃はDOS自体にmasmが付いていた。
Microsoft Cは98,000円もした。
29,800円で発売されたTurbo-Cにみんな飛びついた。
無料で配布されたLSI C-86試食版が大活躍してくれた。

3:デフォルトの名無しさん
10/04/21 12:45:10
code segment
mov dx,offset AI_chan
mov ah,9
int 21h
mov ax 4c00h
int 21h

AI_chan:
msg db 'このスレッドは天才チンパンジーアイちゃんが立てたものといわれています。",10,13,'$'
msg db '関係者以外のカキコはご遠慮ください',10,13,'$'

code ends

4:デフォルトの名無しさん
10/04/21 14:08:56
2パスか3パスのコンパイラで
Phoenix Cとかなかったっけ?

5:デフォルトの名無しさん
10/04/21 14:13:16
>>2
家にMSC/C++あるけどマニュアルとリファレンスが何冊も入っていて吹いた
箱でかすぎw CDもネットもない時代は大変だったんだなぁと

6:デフォルトの名無しさん
10/04/21 14:56:09
MS-DOSプログラミング、って言うぐらいならDEBUGコマンドでやろうぜ
今でも何気に搭載されてるし

7:デフォルトの名無しさん
10/04/21 14:57:35
今でもsymdebは手放せない

8:デフォルトの名無しさん
10/04/21 19:12:12
DOSプログラミングは青春の思い出だな

9:デフォルトの名無しさん
10/04/21 19:12:38
>>6
edlinも今も残ってるんだよね。
DOSの生みの親Tim Paterson氏への敬意なのかな。

10:デフォルトの名無しさん
10/04/21 22:42:19
うちはQuickCだったな。
これでCをある程度覚えた。MS-Cと互換性が高かったのも良かった。
日本語コメント付きのサンプルソースは実に役立った。
DOSの時代にCを覚えておいて正解だったと思う。
今のWindowsプログラムは複雑で何が何だか分からない。

SYMDEBは便利だったなー。
これを弄り回して8086の機械語を覚えた。
なるほど8086は2つの数値を組み合わせたアドレスでMBをアクセスするのか、とか。


11:訂正
10/04/21 22:44:18
誤) MB
正) 1MB

12:デフォルトの名無しさん
10/04/22 01:54:01
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所


13:デフォルトの名無しさん
10/04/22 09:42:43
int 21h
の代わりに
call psp:50h
でもDOSを呼べたよね。


14:デフォルトの名無しさん
10/04/22 09:54:23
>>2
LSI-C86試食版が安定してきたのはDOS3.1の時代以降だね。
初期は特に、sscanf()のバグが多くて指摘するのも大変だったw

15:デフォルトの名無しさん
10/04/22 22:47:03
Cから覚えたんだけど、アセンブラのことがちょっと分かってくると、
ライブラリ関数が既に用意されてるものであっても、
わざわざintdosとかで得意げにCからDOSファンクションを呼んだりしたもんだ。


16:デフォルトの名無しさん
10/04/22 22:57:29
Cの標準ライブラリを使わずに
敢えて似たようなものをアセンブラで自作して
それだけ作ってプログラムしたりな

17:デフォルトの名無しさん
10/04/23 12:00:14
プログラムの終了はINT 20HでもOK。

18:デフォルトの名無しさん
10/04/23 12:52:16
今ならDOSBOXとかあるから、趣味ならあえて時代に逆行してもいいと思う。
どの環境でも動くからね。

19:デフォルトの名無しさん
10/04/23 23:12:40
ファンクション31hで常駐終了するけど、
常駐させたプログラムを開放するファンクションがないので
あれこれ探したもんだ。

20:デフォルトの名無しさん
10/04/24 07:15:19
今のWindowsプログラムより、DOS時代の方が難しく感じるものの代表だな。
>TSR

21:デフォルトの名無しさん
10/04/25 18:46:59
LSI-C86はコメントが標準のしか使えないのが今にしてみるとめんどい
その代わりネストが可能だけど

22:デフォルトの名無しさん
10/04/26 09:35:59
>>20
常駐するだけなら難しくないだろ。Biosフックも今で言うAPIフックみたいなもんだし。
そんなことよりも、常駐アプリでどうやってメモリを確保するかの方がw

PC-98限定で、裏VRAMをバッファに使う猫なんて常駐物があったけど、
同じく裏VRAMをバッファに使う一太郎とバッティングするもんだから
「ウイルスだ」なんて騒ぐマスコミまで出てくるなんて楽しい時代だったね。

23:デフォルトの名無しさん
10/04/26 12:56:32
常駐開放=ベクタ復帰とメモリ開放

24:デフォルトの名無しさん
10/04/26 18:23:49
あの時代は、どうやれば1byteでも減らせるかを考えてた。

25:デフォルトの名無しさん
10/04/26 23:45:58
CP/M互換のシステムコール方法もあったよな。
CL=ファンクション番号でcall 0005hだったかな。

26:デフォルトの名無しさん
10/04/27 22:40:34
CodeViewなんてのもあったね。
持ってたけどPC-98用なので今では使えない。
結局LSI-C + symdebの世話になってる。

27:デフォルトの名無しさん
10/04/28 09:25:20
Programer's workbench

28:デフォルトの名無しさん
10/04/28 22:43:10
DOS時代は (今も?) 統合環境なんて使わないのが常識でした。

29:デフォルトの名無しさん
10/04/29 18:07:54
VzがあればIDEなんて不要

30:デフォルトの名無しさん
10/04/29 22:35:44
俺はmifes派

31:デフォルトの名無しさん
10/04/30 09:53:30
Ezカスタマイズ版やNitEmacsカスタマイズ版を使っていたのはいい思い出。

32:デフォルトの名無しさん
10/04/30 13:18:13
EMSとかXMSとかの規格が出て来て、DOSプログラムのキャパが増えた時期が楽しかった。

33:デフォルトの名無しさん
10/04/30 17:23:38
32bit DOS Extenderを使ったら、セグメントの呪縛から解放されて、天国にたどり着いたかのような気がした

34:デフォルトの名無しさん
10/05/01 21:35:57
メモリモデルなんて言葉が懐かしい。
スモールでもかなりのことが出来たな。

35:デフォルトの名無しさん
10/05/02 22:05:23
しかしスモールモデルのみとは言え、他に何の制約もないコンパイラを無償配布した
LSIジャパンの功績は大きかったと思う。

36:デフォルトの名無しさん
10/05/03 16:34:41
LSI-C試食版に付いていたcppとmakeとlccのソースは何度も読み返した。
やはりプログラミングを覚えるには、他人の書いたある程度の規模のソースを読むのが一番。

37:デフォルトの名無しさん
10/05/04 23:26:25
TURBO C Ver1.5つかってたときは、テキスト表示に
cprintf()やら、gotoxy()やら使って
ドラクエのメニューごときみたいなん作ってたなぁ

38:デフォルトの名無しさん
10/05/04 23:50:13
TCのconio.hって思いっきり98依存の関数が多かったな。
text何たらとか。

39:デフォルトの名無しさん
10/05/06 10:32:02
symdebよりdebugの方が使い出がある。
バッチコマンドからバイナリ作るとか。
ハードディスクのダイレクトアクセスとか。

40:デフォルトの名無しさん
10/05/06 10:34:14
< バイナリ
---
> バイナリファイル

41:デフォルトの名無しさん
10/05/06 12:01:36
>>35
βテストさせられたとも言える。標準ライブラリの出来が今ひとつだったからね。

>>38
IBM-PC依存の関数も山ほどあったような。

>>39
なんと言っても圧巻はX-ISH。
バイナリファイルのエンコーダ/デコーダであるISHの初期バージョンはバッチファイルによる実行モジュール作成方式で配布された。
# 今と違って、標準では転送ツールもデコーダがないから先ず最初にデコーダを作る必要があった。
# 今ならWebブラウザがバイナリファイルを受信できるしメールクライアントも添付ファイルのデコードはできて当然だけど。

42:デフォルトの名無しさん
10/05/06 13:40:43
>>39
symdebで W100 2 0 1 やリダイレクトもできるぞ
(でも意味判らず試すなよ)

43:デフォルトの名無しさん
10/05/06 22:18:42
>>41
DOS/V用Turbo-Cはお目に掛かったことがないな。日本でも売られてたの?

44:デフォルトの名無しさん
10/05/08 03:03:00
>>43
DOS/V用じゃなくて、IBM-PC/AT互換機用だよ。DOS/V用は記憶にないけれど、あったとすれば日本専用でしょ。
# DOS/V自体が(事実上)日本専用なんだから。

45:デフォルトの名無しさん
10/05/08 07:02:36
失礼。当時はAT互換機=DOS/V機だったから。

で、ということは英語版?

46:デフォルトの名無しさん
10/05/10 11:15:54
マニュアルが日本語になっていて一部メッセージが日本語になっただけの翻訳版だったかな?
もう忘れたよ……

47:デフォルトの名無しさん
10/05/10 13:13:04
Turbo-CのAX版かもね

48:デフォルトの名無しさん
10/05/11 22:30:01
TCのマニュアルは物凄く親切な記述だったように覚えてる

49:デフォルトの名無しさん
10/05/12 18:52:39
あの頃のBolandはよかったな
ライブラリのバグも少なかった気がする

パソ通の時代から、こういう「おやじ御用達スレ」はなくならんなw

50:デフォルトの名無しさん
10/05/13 23:52:33
98用のTurbo-Cに入っていたpc98mouseという関数。
「Microsoft形式のマウスドライバには対応していません」
アンチMSぶりが良く現れてたな。

51:デフォルトの名無しさん
10/05/14 23:54:44
98用DOS5.0が出たとき、NEC自身も、mouse.comはDOSシェル専用だから、
市販アプリでは使えないと明記していた。
でも実際にはMS形式のマウスに対応したアプリも多かった。

52:デフォルトの名無しさん
10/05/15 17:46:37
NEC版、MS版マウスドライバの見分け方
マウス初期化 (int 33h ax=0) のbxの値で見分けられる。
MS版はbxにボタンの個数が帰ってくるが、NEC版は何も返さない。
予めbx=0としておけば、コール後bx==0がNEC版ドライバ。

53:デフォルトの名無しさん
10/05/16 21:03:58
マウス使うのってドライバ経由が普通だっけ?
俺はなんかI/O叩いて使ってたような気がするが
さすがに記憶が曖昧すぎて覚えていない

54:デフォルトの名無しさん
10/05/17 22:37:49
マウスドライバやEMSドライバは、一見風変わりなドライバだ。
組み込み後はDOSを経由せずにアプリから直接ドライバとやり取りする。

55:デフォルトの名無しさん
10/05/18 07:20:40
>>54
???

56:デフォルトの名無しさん
10/05/18 18:55:07
多分、普通のデバイスだと
アプリ -(int 21h)- DOS -(デバイス呼び出し)- デバドラ
だけど、マウスやEMSは
アプリ -(int xxh)- デバドラ
でアプリとデバドラが直接やりとりすることを挙げてるのだと思う。

57:デフォルトの名無しさん
10/05/21 09:49:35
TCのインラインアセンブリは擬似命令だろうが何でも使えるので
おおっと思ったが、実はアセンブリソースを吐き出して
コンパイラはノータッチ、後はアセンブラ任せだった。

つまり、インラインアセンブリを使う場合アセンブラが別途必要。
(廉価版のTurboCには付いてなかったんだよ)

58:デフォルトの名無しさん
10/05/25 23:01:03
xor ax,ax

59:デフォルトの名無しさん
10/05/26 06:02:27
>>58
はるか大昔、それを得意気に使いまくってた上司に sub ax,ax を見せたら、
「そんな分かりにくいコーディングする奴があるかバカヤロォ」と怒られますたw

60:デフォルトの名無しさん
10/05/26 09:37:56
>>59
得意も何も、今でも使われている常套手段じゃないか。
怒るのは問題かもしれないが、フラグに影響を与えまくる減算を使うのは間抜けだろう。

61:デフォルトの名無しさん
10/05/26 09:52:29
はじめはxor使ってたが、ほとんどのCコンパイラがsub使ってたので途中からsubに変えた。
xorでもフラグは動くんじゃね?

62:デフォルトの名無しさん
10/05/26 09:56:38
>>61
「ほとんど」をkwsk。
このスレなんだから、まさかとは思うがx86用じゃないなんて言わないよね。

63:デフォルトの名無しさん
10/05/26 10:01:32
>>60
今でこそ常套手段だが、大昔のヘボPGには思いも及ばぬテクだったんだよ。
年代を言うとまた馬鹿が荒らすから言わんが。
そもそも、これを使う文脈でフラグに影響がどうたら言う時点で(ry

64:デフォルトの名無しさん
10/05/26 13:18:42
DOS時代からMSCはSUBだったのは覚えている。
アセンブラのソースではよくゼロクリアにXORが使われてたが
8086だったらクロックや命令長で有利とかは無いはずだから、
Z80とか8080時代に何かあったのだろうか。

65:デフォルトの名無しさん
10/05/26 14:07:49
>>64
8080/Z80だと命令長はXORもSUBも1バイトだし、クロックも最小だった。
でもなぜか、周りではみんなSUBじゃなくXORを使ってた。
もちろん、>>60の言うようなフラグどうたらの問題ではない。
(フラグを変えたくないようなレアケースではMOV命令を使ったから)

多分…小学校低学年で習うSUBに比べてXORはずっと高度な概念だから、
それを使う方が何となく「カッコ良かった」のかも知れないね。

66:デフォルトの名無しさん
10/05/26 23:26:13
一応、理屈の上ではxorの方が
各bitの出力が他のbitに影響を与えない分
回路的には簡単になるはず。

だからといってクロックや消費電力に差がつくかというと
うーんという感じなのだけど。

67:デフォルトの名無しさん
10/05/26 23:47:53
このサイト面白いよ。
URLリンク(hp.vector.co.jp)

68:デフォルトの名無しさん
10/05/27 20:34:59
ゼロクリアに xor 使うのは、決まり文句みたいなものだからね
subより分かりやすい

69:デフォルトの名無しさん
10/05/27 21:46:13
subの方がxorより複雑そうなイメージだから
何となくxorの方を使ってしまう
まあ実際速度的に差はないんだろうが

70:デフォルトの名無しさん
10/05/28 14:53:15
lsic86試食版はマニュアルがコンパクトにまとまっててよかったな。
標準ライブラリとかあのテキストファイル一枚でそうとう勉強になった。

71:デフォルトの名無しさん
10/05/28 23:52:57
x86系なのに、引数渡しにレジスタを使うのは止めて欲しかった

72:デフォルトの名無しさん
10/05/31 22:38:33
影の薄かった命令・・・LEA

73:デフォルトの名無しさん
10/05/31 22:53:41
アセンブリプログラマにはたいへん有難い命令だが

74:デフォルトの名無しさん
10/06/01 06:14:22
8086には、独立したNOP命令がない。(8080にはる)
NOPニモニックは、単にXCHG AX,AXの別名。
まぁ、実用上それで別に問題ないわけだが…
他にも、こういうCPUはたくさんあるんだろうね?

75:デフォルトの名無しさん
10/06/01 09:11:10
jmp $+2がnop代わりとか。

76:デフォルトの名無しさん
10/06/01 22:40:33
mov ax,axとかcmp bx,bxとか、使い道のない命令がいくつかあるね。
Z80だとLD (HL),(HL)はHLTに割り当てられていた。

77:デフォルトの名無しさん
10/06/01 22:44:00
LEAは頻出じゃね?

78:デフォルトの名無しさん
10/06/03 00:04:55
jmp short $+2で時間稼ぎ良くやったな

79:デフォルトの名無しさん
10/06/05 21:24:35
NOPは3クロック、ショートJMPは11クロックくらいあったっけ確か。

80:デフォルトの名無しさん
10/06/08 18:58:44
影の薄かった命令・・・LDS、LES

81:デフォルトの名無しさん
10/06/12 13:21:48
おまいの頭皮のようにな

82:デフォルトの名無しさん
10/06/12 19:31:09
どうせ面の皮は厚いんだろうけどねw

83:デフォルトの名無しさん
10/06/15 11:24:35
Win95の頃になっても、config.sysにfcbsなんてパラメータがあるのに驚いた。
その時代までFCBファンクションなんか使っていたソフトあったのかな。

84:デフォルトの名無しさん
10/06/30 22:25:20
int 29hって何だろう・・・
int 2ehって何だろう・・・

DOSの非公開機能って結構あったよね。

85:デフォルトの名無しさん
10/07/01 13:12:01
ウイルスにフックされたのか?
((((;゚Д゚))))ガクガクブルブル

86:デフォルトの名無しさん
10/07/01 13:22:14
と思ったら簡単に情報が見つかった(汗)
INT 29h 1文字出力
INT 2Eh DOSコマンド実行

87:デフォルトの名無しさん
10/07/01 16:51:04
つ Interrupt List

URLリンク(www.cs.cmu.edu)
昔DLしてよくお世話になったけど、今じゃWebでも見れるんだな。
URLリンク(www.ctyme.com)
検索できて便利…と思ったら、検索が動かんorz

88:デフォルトの名無しさん
10/07/01 22:40:40
MIFES

89:デフォルトの名無しさん
10/07/02 17:18:46
俺はVz+VJE(or WXP)派

90:デフォルトの名無しさん
10/07/02 20:40:58
Vz+WXII

91:デフォルトの名無しさん
10/07/02 20:43:14
DOSエクステンダー(苦笑)

92:デフォルトの名無しさん
10/07/02 20:45:21
emm386.sys
HIMEM.SYS

93:1
10/07/02 22:48:06
mifes派

94:デフォルトの名無しさん
10/07/02 22:49:40
emm386はexe

95:デフォルトの名無しさん
10/07/03 00:12:14
.sysの頃もあった。

96:デフォルトの名無しさん
10/07/04 09:48:22
デバドラとしても、TSRとしても、外部コマンドとしても使える。
そんな器用なプログラムが流行ったな。

97:デフォルトの名無しさん
10/07/04 09:55:51
kwsk

98:デフォルトの名無しさん
10/07/04 12:50:32
Vz Editor のことか!!

99:デフォルトの名無しさん
10/07/04 13:06:04
WinXPだが、Vzは今でも時々使ってるよ。
あの軽さと独特の使い心地は、そう簡単に手放せるもんじゃない。

100:デフォルトの名無しさん
10/07/04 23:57:18
なぜ時々?

いつも使えよ

101:デフォルトの名無しさん
10/07/05 00:14:59
TSRでありながらブロックデバイスとして登録される
smartdrv.exeも変わったプログラムだった。

102:訂正
10/07/05 09:35:10
98依存だけど、懐かしい思い出が甦るサイト
URLリンク(www2.muroran-it.ac.jp)

103:デフォルトの名無しさん
10/07/05 12:30:21
>>100
いや普段はViだからな。
あれとVzは用途がまるで違う。どっちか一つだけにはできない。

104:デフォルトの名無しさん
10/07/05 22:20:12
>103
どんなとき、viよりvzが便利なの?
俺もviユーザなので、ちょっと気になった

105:デフォルトの名無しさん
10/07/08 00:00:50
俺はDOS付属のedit派。
Windowsメモ帳とほぼ同じメニューだからとっつきやすい。

106:デフォルトの名無しさん
10/07/08 18:48:56
男ならedlin

107:デフォルトの名無しさん
10/07/08 19:36:14
真の男ならsymdeb

108:デフォルトの名無しさん
10/07/08 19:41:31
と思ったら最近のOSには含まれてなかった(汗)
かわりにdebugを実行してみたら16ビットモードで起動した

109:デフォルトの名無しさん
10/07/08 20:27:55
viユーザにとってはedlinの方がeditより使いやすい

110:デフォルトの名無しさん
10/07/08 21:36:39
>>109は馬鹿な奴

111:デフォルトの名無しさん
10/07/08 22:53:47
>>105
editって中身はQuickBASICから言語機能を外したやつだったっけ確か。
edit.comから起動される本体がqbasic.exeとかなってたような気がす。

112:デフォルトの名無しさん
10/07/08 23:31:11
にしてもedlinってのはなあ。。。

113:デフォルトの名無しさん
10/07/09 00:13:27
お前のeditだと、起動してから使えるようになるまで約10秒。

ところがedlinだと起動から「ファイル名を指定してください.」まで
約0.1秒。こいつは速い!


114:デフォルトの名無しさん
10/07/09 09:45:10
男なら type con > main.c

115:デフォルトの名無しさん
10/07/09 09:49:46
緊急時の
copy con autoexec.bat

copy con config.sys

ときどきやった

116:デフォルトの名無しさん
10/07/09 13:13:12
ま、一度はやるわな

117:デフォルトの名無しさん
10/07/09 20:19:03
暇だからDOS用の超軽量エディタでも作るか…

118:デフォルトの名無しさん
10/07/09 21:15:59
edlinが14KBか…

>117
10KBで頼む

119:デフォルトの名無しさん
10/07/14 22:29:34
メルコのMelwareとかに付いてた簡易エディタがあったよな
と思って調べたら36kBもあった。
中身を覗いたらMetaWare Cという余り聞きなれない処理系が使われてた。

120:デフォルトの名無しさん
10/07/23 22:32:20
Z80から8086に入ってきたとき、86には条件リターンがないのに驚いた。

121:デフォルトの名無しさん
10/07/23 22:39:19
movでフラグが変わらないとか

122:デフォルトの名無しさん
10/07/24 04:44:50
>>120
いやむしろ俺は、8080/Z80系をはじめて触ったとき
条件Jump/条件Call/条件Returnと揃ってることの方に驚いたが…

123:デフォルトの名無しさん
10/08/01 22:40:21


124:デフォルトの名無しさん
10/08/25 18:59:52
保守

Z80ではIX、IYを使うと笑われたから、
86でもSI、DIはストリング命令以外では使わなかったな。

125:デフォルトの名無しさん
10/08/25 19:21:15
IXやIYを使うだけで嗤う香具師はおらん
IXやIYをアキュムレータのごとく使う香具師が嗤われる

126:デフォルトの名無しさん
10/08/25 20:10:28
IX や IY はクロックをおもいくそ食うと思っていたが、HD64180 なんかでは状況はかわったのかなあ?

127:訂正
10/08/25 22:50:37
8086系のCでも、SIとDIはレジスタ変数として使われる程度だね。

128:デフォルトの名無しさん
10/08/26 04:34:12
ぷげら

129:デフォルトの名無しさん
10/08/26 10:50:31
>>127
誰が作ったんだ?その糞コンパイラはw

130:デフォルトの名無しさん
10/08/27 13:27:04
ストリングス転送命令は途中からあまり使われなくなったような気がする。

131:デフォルトの名無しさん
10/08/27 16:14:18
UNICODEが流行ってASCIIZじゃなくなったからだろ

132:デフォルトの名無しさん
10/08/27 16:19:38
ブロック転送命令は8/16/32bit長のどれも使えるぞ

133:デフォルトの名無しさん
10/08/28 08:31:25
Pentium以降、単純機能の命令が非常に高速化されたので
ストリング転送命令のような複合命令を使う理由がなくなった。
VC++のmemcpyの実装を見ると使用可能ならxmmレジスタを使ってる。

134:デフォルトの名無しさん
10/09/15 22:51:28
CTSって何する命令?
symdebで逆アセンブルすると時々出てくるんだけど。

135:デフォルトの名無しさん
10/09/15 23:14:54
>>134
ClearToSend……ってギャグはさておき。
コードは幾つよ。CTSなんて記憶にないわさ。

136:デフォルトの名無しさん
10/09/15 23:41:19
>>134
STC(SeT Carry flag) じゃなくて?

137:デフォルトの名無しさん
10/09/16 00:04:59
>>135
0fh。

symdebのアセンブラで
db 0fh
db 00h
とやって逆アセンブルすると
0F00 CTS 00
と出てくる。

138:デフォルトの名無しさん
10/09/16 00:41:43
>>137
そこには 386以降の命令が詰まっているような気が。
たしかにCTS ってなんのつもりだったんだろう?

139:デフォルトの名無しさん
10/09/16 07:22:51
>>137
symdebの時代なら8086を想定しているだろうから、0fは未定義だね。
8086って、未定義命令割り込みってあったっけ? あればAPIでも用意されているとか。

140:デフォルトの名無しさん
10/09/16 13:37:37
ない。
286以降でなかったかのう。



141:デフォルトの名無しさん
10/09/16 14:46:27
0fhって8086ではpop csだったような気がす。
86だと実際にpopが行われるから、予めpush csしておくようにと
CPU判定方法に書いてあった。

142:デフォルトの名無しさん
10/09/16 20:47:36
pop cs は、F0じゃないか?
286以降ではプリフィックスとして使われて
いわゆるF0バグを招いたやつ。

143:デフォルトの名無しさん
10/09/16 21:44:25
0F0Hは8086もlock prefix


144:デフォルトの名無しさん
10/09/16 22:56:48
push cs 0eh
push ds 1eh
push es 06h
push ss 16h

pop ds 1fh
pop es 07h
pop ss 17h

なので、pop csは0fhだったと思う。

145:デフォルトの名無しさん
10/09/18 17:58:34
8086:
AX:汎用加減乗除計算用
BX:準汎用加減乗除計算/アドレッシング補助
CX:準汎用加減乗除計算/カウンタ(条件分岐命令、ループ命令で使用)
DX:汎用加減乗除計算用
SI:メモリ転送元インデクサ
DI:メモリ転送先インデクサ
BP:スタックフレーム用
SP:スタックポインタ
それぞれけっこうギチギチに役割がふられており実は自由度は少ない。
但し多少の加算減算程度は16ビットレジスタには許可されてた
程度。よって完全にコンパイラ向け。経験知でオプティマイズできる
余地は余り無い。
しかし当時はアセンブリ職人と自称する人は会社に一人や二人は居て
腫れ物に触るように扱われてたっけW

146:デフォルトの名無しさん
10/09/19 13:30:22
>>145
>但し多少の加算減算程度は16ビットレジスタには許可されてた
>程度。
AL/AHとかの8ビットレジスタにも加減乗除演算が定義されてた(る)件

>よって完全にコンパイラ向け。
コンパイラ作成者泣かせなプロセッサと聞きました。(オプティマイズ
が難しい)

147:デフォルトの名無しさん
10/09/19 14:17:21
レジスタ割り当ては面倒だから、使い方が固定されているなら
むやみに凝るのをやめて機械的にやるのも手だと思う

148:デフォルトの名無しさん
10/10/12 23:11:58
保守

149:デフォルトの名無しさん
10/10/13 21:45:06
大阪地検のFD書き換え事件って、笑っちゃうよね。
件(くだん)の検事も上司も、パソコンのことをなんにも知らないんだからね。
ミスであんな書き換えが起こることなんて100%あり得ないのにね。


150:デフォルトの名無しさん
10/10/13 23:31:55
>>149
というか戻せばいいものを。

151:デフォルトの名無しさん
10/10/14 01:31:35
>>149
言い訳としてはアホだけど
嘘も吐き通せば無罪だからな
戦略的には勝利だろ

152:デフォルトの名無しさん
10/10/16 23:48:21
INT 21hの内容ってどこにあるんだ?
あとINT 21hでググると変なページが出るんだが

153:デフォルトの名無しさん
10/10/17 00:55:40
>>152
ググったら一番上に来たよ…?
URLリンク(home.impress.co.jp)

変なサイトの方が気になる。これ?
URLリンク(int21h.jp)

154:デフォルトの名無しさん
10/10/17 01:10:11
こっちのが詳しいかな。
URLリンク(www.ctyme.com)
つっても、殆どは使われないものばかりか。

155:デフォルトの名無しさん
10/10/17 09:48:22
>>153
そのページ
OllyDbgの画面に似てるしアクセスカウンターみたいなのもついてる

>>153,154
INT 21hの動作じゃなくて
DOSのなかにある機械語のこと

156:デフォルトの名無しさん
10/10/17 10:30:53
新しい概念: DOSのなかにある機械語

157:デフォルトの名無しさん
10/10/17 11:15:17
INT 21hってカーネルとかプログラムの中にあるんじゃないの

158:デフォルトの名無しさん
10/10/17 11:45:58
floppy disk の中にある

159:デフォルトの名無しさん
10/10/17 11:48:14
INT 21hがどのファイルのどこからどこまでがah=??のファンクションかを知りたい

160:デフォルトの名無しさん
10/10/17 11:50:05
>>156
155じゃないけど、割り込みベクターも知らないなら黙ってりゃいいのに。
馬鹿丸出しだな

161:デフォルトの名無しさん
10/10/17 12:11:39
debug使え

162:デフォルトの名無しさん
10/10/17 12:26:27
いい年こいて説明の下手な奴が怒ってるな

163:デフォルトの名無しさん
10/10/17 12:31:19
なんかトンデモ本作者と同じ論理だな。
相対性理論は俺に理解できないから間違ってる!、って奴だけどw

164:デフォルトの名無しさん
10/10/17 15:39:15
いや、機械語ってのはDOSの中にあるとかないとかってもんじゃないだろ。
それとも何か? お前等の中には日本語が入っているのか?

165:デフォルトの名無しさん
10/10/17 16:01:37
ベクタテーブル知ってるならそのアドレスからメモリダンプすれば
きっとDOSのなかにある機械語取れるよ

166:デフォルトの名無しさん
10/10/17 21:02:05
漏れの中の人はきっと日本語よりも細かいマイクロコードで動いてる希ガス

167:デフォルトの名無しさん
10/10/18 06:11:38
intはBIOS Interrupt Callsの略。実装は基本的にBIOSの中にある。
21HはDOSへ制御を移す、いわばスーパーバーザコールやAPIコールに相当する。
今はFreeBIOSなんてのもあるから、気になる人はソース見るとよろし。
そのコード量の多さに驚くと思う。

168:デフォルトの名無しさん
10/10/18 06:32:48
intに「BIOSの」なんて意味はねーよ。

intはただの割り込み。
ハードウェア割り込みの処理先として想定されていたものを
ソフト的に呼び出すことも可能にした、というだけ。

もちろん、Z80のRSTなんかもそうだが
それをソフト的に呼び出して特殊機能を実現する、というのは
かなり以前から行われていて
8086のintもその用途に使われることを前提に
割り込み番号の予約等を行っているのは確か。

169:デフォルトの名無しさん
10/10/18 07:04:02
でっていう

170:デフォルトの名無しさん
10/10/18 08:12:04
intに「BIOSの」なんて意味はねーよ。

171:デフォルトの名無しさん
10/10/18 18:48:32
FreeDOSのソースとか見ればわかるの?

172:デフォルトの名無しさん
10/10/18 18:56:27
MS-DOS ver6 のソースが流出した、
って本当なの?

173:デフォルトの名無しさん
10/10/18 22:55:24
暇なときはdebugでDOSの内部を探検したもんだ。

174:デフォルトの名無しさん
10/10/19 20:44:25
最新のMASMってDOSに対応してるのかな

175:デフォルトの名無しさん
10/10/19 20:55:39
VC++ expressについてるmlでコンパイルできるが、linkが対応してない。
dos用のlinkを用意するとこんな感じでコンパイルできる。

ml /c /omf hello.asm
link /tiny hello.obj, hello.com;


176:デフォルトの名無しさん
10/10/19 22:57:22
NASMは直接COMファイルを吐けるよね。

177:デフォルトの名無しさん
10/10/20 05:33:18
でもDOSで動かせないの

178:デフォルトの名無しさん
10/10/20 06:37:44
リンカってLNK562かLNK563ってどっちを使えばいいの

179:デフォルトの名無しさん
10/10/20 06:42:08
>>178は自己解決しましたすいません

180:デフォルトの名無しさん
10/10/20 07:25:02
stubを抜くんだ

181:デフォルトの名無しさん
10/10/20 08:43:42
>>152
これで何を知りたいのか分かる奴がいたらどうかしているぜw

>>160
怒ってないでdebug使え

182:デフォルトの名無しさん
10/10/21 12:33:37
com作るのにexe2binはいらなくなったのか・・・

183:デフォルトの名無しさん
10/10/21 23:07:21
え、普通にtinyモデルで作ればcomじゃない

184:デフォルトの名無しさん
10/10/22 00:38:49
B社のコンパイラしか使ったことないひとは
そういう認識でいればいいんじゃない

185:デフォルトの名無しさん
10/10/22 07:55:27
まあ、B社はある意味偉大だからな。
少なくともL社よりはw

186:デフォルトの名無しさん
10/10/22 23:56:49
BCやTCは癖があったからMS系の俺は馴染めなかった。

187:デフォルトの名無しさん
10/10/23 00:35:37
VCの方がもっと癖あったけどな

188:デフォルトの名無しさん
10/10/23 04:50:12
>>186
はて、どんなくせが?

189:デフォルトの名無しさん
10/10/29 23:28:25
最近C#に凝り始めたんだけど、
beepというメソッドも用意されていて、本体のスピーカーを直接鳴らせたりする。
低レベルな操作に、ちょっぴりDOS時代を思い出したのであった。

190:デフォルトの名無しさん
10/10/30 02:51:41
print '\a'

191:デフォルトの名無しさん
10/10/30 21:52:29
>>189
音の高さや長さを自由に制御できるの?
ただ決まった音でピッと鳴るだけ?

192:デフォルトの名無しさん
10/10/30 22:08:00
>>191
Win32 API呼べば好きなようにできるよ
URLリンク(msdn.microsoft.com)

193:デフォルトの名無しさん
10/10/31 15:34:35
>>192
スレ違い

194:デフォルトの名無しさん
11/01/10 22:32:46
保守

195:デフォルトの名無しさん
11/01/18 22:35:33
CDからDOS起動したいんだけど、ブータブルCDの作成がうまくいかん
FDの起動イメージ作成してそれをISOに変換して焼いても起動しない。
どうすりゃいいんだああああああああ

196:デフォルトの名無しさん
11/01/18 23:30:15
古いふる~い ms-dos のプログラムが置いてあるところって、vector 以外にないですかね。
昔お世話になった ftp サイト(kuis とか)も、archie サーバーとかも、みんな逝ってしまった‥‥‥。
neko.com がほしいのですが。

197:196
11/01/19 01:32:48
自己解決しました。
URLリンク(misdirection.oops.jp)

最近無性にふるい MS-DOS のプログラムが欲しくなりました。
nifty-serve のアーカイブを片っ端からダウンロードしておいて、MD にでも保存しておけばよかった。つくづく残念です。
いや、今からでも遅くはないから vector の dos のアーカイブを片っ端からダウンロードするべきか‥‥‥。

198:デフォルトの名無しさん
11/01/19 01:45:54
ああ
ねこじゃらしもあったぬ

199:デフォルトの名無しさん
11/01/19 02:41:51
大切なものは失ってから気付く

200:デフォルトの名無しさん
11/01/19 13:33:24
でもMDには保存しないほうが

201:デフォルトの名無しさん
11/01/19 14:39:30
>>195の件、俺も前から気になっていたのでちょっと調べてみた。
URLリンク(www.google.co.jp)

しかし、今現在に実際に欲しいのは、bootableCDではなくbootableUSBメモリ。
bootable-isoをUSBメモリ起動可能にするといっても
常にunetbootinが使えるわけじゃないだろうし。

が、冷静に考えたら、
もしかしたら単純にrawwriteかなんか使えばよいのだろうか
という気もしてきた。
試してないが。

202:デフォルトの名無しさん
11/01/22 23:19:41
PACK13000でも探したら?

203:デフォルトの名無しさん
11/02/04 22:54:57
うちにくればpack13000があるのに、残念

neko.comって何のプログラムだっけ?

204:デフォルトの名無しさん
11/02/04 23:02:48
nekoなつかしす

205:デフォルトの名無しさん
11/02/05 01:09:35
TSR

206:デフォルトの名無しさん
11/02/20 22:51:21.40
全サーバ全板10ms単位の表示になったな。
PC-98では1/100秒の計測ができなかったっけ。
後の方のmateとかになってようやく。
それまではタイマ割り込みで辛うじて計測した。

207:デフォルトの名無しさん
11/03/09 22:37:32.79


208:デフォルトの名無しさん
11/03/10 18:58:01.30
ある昔の本を読んでいて出くわしたのだが、PLink86って何だ?
BIOSで有名なPhoenix社の製品らしいが、
ぐぐってもオーバーレイリンカくらいにしか書かれてないし、
MS-Linkと具体的にどう違ったの?

209:デフォルトの名無しさん
11/03/10 21:31:54.18
オーバーレイモジュールと言う過去の技術が使えたのです。

210:デフォルトの名無しさん
11/03/11 09:08:02.60
.OVL

211:デフォルトの名無しさん
11/03/11 12:55:44.41
mslinkはオーバーレイ使ってもファイルは1つなんだよな。
1つのファイルの中に複数のexeが入ってる。

212:デフォルトの名無しさん
11/03/11 22:56:25.90
阪神大震災の頃はまだDOSが主流だったぬ

213:デフォルトの名無しさん
11/03/11 23:24:33.12
win95が出たのは何月だっけ?

win3.1のマシンを買って、使いにくかったから
DOSマシンとして使ってた。
インターネットにつなげるときだけwinを立ち上げてたよ。

214:デフォルトの名無しさん
11/03/11 23:46:36.37
11月くらいでなかったかのう


215: ◆0uxK91AxII
11/03/11 23:46:49.05
DOSだと、TEENっていうTCP stackがあったね。

216:デフォルトの名無しさん
11/03/15 18:41:29.10
へえ

217:デフォルトの名無しさん
11/03/15 20:09:44.49
NE2000とNOVELLのコンボ
あとカメレオンくらい

218:デフォルトの名無しさん
11/03/29 22:25:02.49
PACK13000の後に
PACK19000goldなんてのが出てたんだな。
そういえば買ったような覚えがあるよ。

219:デフォルトの名無しさん
11/04/11 22:52:54.14
保守

220:デフォルトの名無しさん
11/04/12 13:46:13.85
Windows SDK使えばコマンドラインソフト簡単に作れるぞ
MASMも付属(コマンドはml.exe)
cl.exeに/FAオプション与えればアセンブラソースを出力してくれる
デバッガはWinDBGというデバッガが付属している
MS-DOSに戻らなくてもWindows上で似たようなプログラミングは可能
Windowsのコマンドプロンプトソフトは
MS-DOSと違い32bitコードになるので64KBのセグメントの壁も気にしなくてよい

221:デフォルトの名無しさん
11/04/12 13:53:44.04
空気が読めないひと

222:デフォルトの名無しさん
11/04/12 14:53:38.05
ここ見て懐かしくてまたやりたくなる人もいるだろうと思ってね

#include <stdio.h>
void main(int argc, char ** argv){
printf("Hellow World\n");
}

こんなCのソースをcl.exeでコンパイルしてそのままコマンドラインで実行できるしね
ここの住人には常識かもしれないけど



223:デフォルトの名無しさん
11/04/12 15:07:15.18
お客さん、お部屋をお間違えでは?

224:デフォルトの名無しさん
11/04/13 05:49:42.56
戻り値voidにしてるくらいだからネタだろ

225:デフォルトの名無しさん
11/04/13 11:10:06.51
UNIXだと戻り値intが必要だがMS-DOSやWindowsならvoidでOK

226:デフォルトの名無しさん
11/04/13 11:28:45.10
Windowsのコマンドプロンプトって
昔のTSRみたいなこと出来ないの?


227:デフォルトの名無しさん
11/04/13 11:49:50.75
>>225
>UNIXだと戻り値intが必要だがMS-DOSやWindowsならvoidでOK
いや、その理屈はおかしい。

228:デフォルトの名無しさん
11/04/13 11:52:17.64
厳密にはコンパイラの仕様なんだがMS-DOSやWindowsでよく使われる
コンパイラではvoidでも問題ないものが多くMS-DOSの解説では
mainをvoidにしてるケースは多い
GCCはintにしてないとたしか怒られたはず

229:デフォルトの名無しさん
11/04/13 12:07:49.61
MS-DOS は void だと AX が戻り値になるんだろ

230:デフォルトの名無しさん
11/04/13 12:22:28.78
exit(n)を使ってれば、voidだろうが問題なし。

231:デフォルトの名無しさん
11/04/13 12:31:23.18
gccだとexit(n)使っていようが警告出るけどな
C言語の仕様ではintが正しいらしいがMS-DOSならどっちでもいいのでは?

「void main MS-DOS」で検索したら2番目にこんなページが出てきた
URLリンク(homepage3.nifty.com)

> 3. void main() と int main()
>
> 古い参考書では void main() が多く、新しいものでは int main() が多いようです。
> 個人で学習する範囲においては、return する値に特に意味を持たせる
> (他のプログラムやバッチ処理で利用する)つもりがなく、
> コンパイラがエラーにならないのであれば、別にどっちでもよいように思います。
> ただし、void main() にしたときは値を返さず、int main() にしたときは必ず値(0でよい)を
> 返しましょう。それが理解できていれば支障はないでしょう
> (ちなみに、私は int main() を使っています)。

232:デフォルトの名無しさん
11/04/13 12:37:47.02
exit(n)なりmainのreturn値なりがどういう意味を持つのか
分かってない奴が、混じってるように見える。

233:デフォルトの名無しさん
11/04/13 12:42:10.33
>>232
そのへんはコンパイラが吐き出すコード見れば問題ないことがわかる
voidを指定あってもコンパイラはちゃんと0を返すコードを吐き出してる

234:デフォルトの名無しさん
11/04/13 12:42:14.28
>>230
>>222 は exit(n) を使っているのか?

235:デフォルトの名無しさん
11/04/13 12:42:37.14
OSの違いとコンパイラの違いの区別がつかないのもいるな

236:デフォルトの名無しさん
11/04/13 12:43:14.56
>>229
AXじゃなくてALだよ

237:デフォルトの名無しさん
11/04/13 12:52:21.59
つまりこういうことですねわかります
#include <stdio.h>
int main(int, char **){
    return printf("Hello Work!\n");
}

238:デフォルトの名無しさん
11/04/13 12:52:59.69
「void main MS-DOS」の検索でこんなページも出てきた

URLリンク(www.asahi-net.or.jp)
> 私の知る限りではMS-DOSとUNIXがプログラムの戻り値を
> バッチやシェルスクリプトで利用することができます。
>  ちなみにMS-DOSやUNIXでvoid main()とすると、
> まともなCコンパイラなら自動的にMS-DOSやUNIXに終了コードとして
> 0を返すコードを生成してくれます。
> つまりint main(){ return 0; }と同じことです。
>  でも、ANSIに極力準拠するよう作られているGCCなどはvoid main()にすると
> コンパイル時に警告エラーが表示されるはずです。
>
>  もともとC言語はUNIX環境での利用を非常に意識して作られた言語なので
> 戻り値がintである必然性もうなずけます。
> 何せUNIXのシェルスクリプトが強力なので複数のプログラム
> (ツール的なものが多いです。ファイルをソートしてマージして加工して...など)を
> 一括処理させることが多いのです。この様なシェルスクリプトにおいて、
> あるプログラム処理中にエラーが発生したときは、シェルの処理を中断したいことがあります。
> このトリガがmain()関数の戻り値と言うわけです。
>
>  そういえば、「main()関数の戻り値はintじゃなきゃ駄目だ!」と断言する方の多くは
> UNIX(Linux)ユーザですね。
> そして「別にvoidでもいいでしょ」と言う方の多くはWindowsのC++ユーザです。(^^;

239:デフォルトの名無しさん
11/04/13 13:48:01.32
>>234
小学生みたいで微笑ましいが、まさか突っ込んだつもり?

240:デフォルトの名無しさん
11/04/13 18:02:38.45
DOS3.1時代FDD環境でお世話になったLattice C パーソナル。
int mainのreturnでなにを返してもリターンコードは0になってたな。


241: ◆0uxK91AxII
11/04/13 19:14:46.75
>>226
OSにメモリ割り当てを任せた上で割込駆動するようなのは行えない。

>>236
ahに4cでalに戻り値だね。

242:デフォルトの名無しさん
11/04/13 19:51:50.04
ERRORLEVEL

243:デフォルトの名無しさん
11/04/14 00:08:37.65
comファイルならバイナリエディタでも作れるね

244:デフォルトの名無しさん
11/04/14 00:28:21.31
>>225
make が使えなくなるのですが?

245:デフォルトの名無しさん
11/04/14 22:12:33.86
DOSプログラムを終了させる方法を4つまで覚えてるけど、
まだ他にあったかな。もう思い出せない。

int 21h ah=4ch al=(ExitCode)
int 21h ah=00h
jmp 0
ret


246:デフォルトの名無しさん
11/04/14 22:41:21.68
int 20h
csはpspを指していること。

247:デフォルトの名無しさん
11/04/15 00:08:40.80
psp:0にあるのはcdh, 20h。つまりint 20h。
ret命令やjmp 0はint 20hを実行して終わる。


248:デフォルトの名無しさん
11/04/16 21:45:40.90
psp:0へのfar jmpなら、exeファイルであっても
csはpspを指さなければならないという制約をクリアできる。

249: ◆0uxK91AxII
11/04/17 00:44:56.79
jmp farよりも、xor ax,ax; int 21Hの方が短い気がするする。

250:デフォルトの名無しさん
11/04/17 17:36:05.08
comファイルなら。
exeでもコードセグメントが64kB 1つしかないスモールかコンパクトなら可能

251:デフォルトの名無しさん
11/04/17 22:25:49.77
スモールやコンパクトモデルでもCSはコードセグメントを指してる。
初期値がPSPなのはDS。

252:デフォルトの名無しさん
11/04/18 18:09:08.49
とりあえずこういうことか。CP/M臭い・・
 .MODEL SMALL,STDCALL,NEARSTACK
 .DATA
PEXIT dd 00000000h
BDOS dd 00000050h
msg   db 'hello world !', 0dh, 0ah, '$'
 .STACK
 .CODE
 .STARTUP
 mov ax, es
 mov word ptr PEXIT[2], ax
 mov word ptr BDOS[2], ax
 mov dx, offset msg
 mov ah, 09h
 call BDOS
 jmp PEXIT
 END


253:デフォルトの名無しさん
11/04/18 19:55:13.72
BDOSエントリは0005hでなかったか?


254:デフォルトの名無しさん
11/04/18 20:01:59.72
CPM-80ではそうだな。
こっちのはDOS独自のCPM互換機能で0x0050で正解。
CP/M-86には無い。
int 21, retfがあるだけ。

255:デフォルトの名無しさん
11/04/18 22:49:59.27
>>251
あー、そうか。
Cの場合pspを指してるのはdsか。

256:デフォルトの名無しさん
11/04/18 23:05:17.65
お前ら何語を話してるんだ?w

257:デフォルトの名無しさん
11/04/19 05:58:51.81
爺共が久々に活性化w

258:デフォルトの名無しさん
11/04/19 10:11:02.79
システムコール呼び出しでcall 50hなんて使ったことないな。

259:デフォルトの名無しさん
11/04/19 23:59:57.68
親プロセス環境へのポインタ(非公開)がpsp:16h辺りにあったような気がする

260:デフォルトの名無しさん
11/04/21 00:01:51.48
親プロセスのPSPのセグメントかな。
PSP:16-17hだったと思う。

261:デフォルトの名無しさん
11/04/28 11:36:34.33
>>218
cd8枚組だっけか
買ったよ
次はDVDで出るかもなんて冊子に書かれてた

262:デフォルトの名無しさん
11/06/20 22:08:52.71
LSI C-86は俺の青春。
何万円もしたCコンパイラが無料で手に入るなんて夢のようだった。

263:デフォルトの名無しさん
11/06/21 12:43:24.37
でもパラメータのレジスタ受け渡しとかやってるのに
吐き出したコードの速度は遅いんだよな。

同じソースで吐き出したコードを比べると
Turbo-C > MS-C >> LSI-C
な感じ。

264:デフォルトの名無しさん
11/06/22 08:26:38.88
LSI-Cの出力したアセンブリリストを加工するsedスクリプトを書いたなぁ。
それだけで数%は速くなった記憶が。

265:デフォルトの名無しさん
11/06/22 21:09:03.72
この時代は何でも出来そうな気がしていた

266:デフォルトの名無しさん
11/06/26 22:16:55.97
>>262
未だに使い続けてる俺

267:デフォルトの名無しさん
11/07/09 09:57:32.88
問題
Turbo-C 2.0のメモリモデルの特徴を表にしてまとめなさい

268:デフォルトの名無しさん
11/07/09 22:53:18.85
MS-Cとほぼ同じだけど、ラージだとスタックはDGROUPの外なのが目立ったな。
ヒュージだとDGROUPそのものが存在しない。

269:デフォルトの名無しさん
11/07/12 22:14:03.78
その時代のMS-Cには、タイニーモデルはまだ存在してなかったね。

270:デフォルトの名無しさん
11/07/30 13:03:37.64
【OS】MS-DOS、誕生から30年に [11/07/28]
スレリンク(bizplus板)


271:デフォルトの名無しさん
11/07/30 23:43:10.44
もう30年も経つんだな。
QDOSとかSCPとか懐かしい言葉だ。
DOS誕生の経緯は「MS-DOSエンサイクロペディア」に詳しく書かれてたけど、今でも持ってる。

272:デフォルトの名無しさん
11/09/01 19:37:33.24
ぐぐっても見かけないからここにこっそり書き残しておこう
tasm32のparity?の生成コードはmasm等の逆

273:デフォルトの名無しさん
11/09/01 22:21:02.45
ボーランドはアンチMSだったからな。

Turbo-Cのマウス制御関数の説明に、
「Microsoft形式のマウスには対応しておりません」
とキッパリ書いてある、なんてこともあった。

274:デフォルトの名無しさん
11/09/01 22:35:37.48
そりゃマウスドライバの話だべ

275:デフォルトの名無しさん
11/09/02 00:27:18.69
mouse.comとmouse.sysか

mouse.comのほうが見た目良かったんだが、再配布禁止だったからなあ…


276:デフォルトの名無しさん
11/09/02 00:48:57.49
ソフト側ではどちらでも動くように作れてたような気がするし
ADDDEVなどで切り替えたりしてたような気もするし
今となってはどうでもいい小手先か

277:デフォルトの名無しさん
11/09/02 01:15:19.43
>>276
基本同じなんだが、困ったことに微妙に違う所があったりした

俺はそのへんめんどいので自前ドライバを使ってたが



278:デフォルトの名無しさん
11/09/03 18:06:47.28
>>195
IBM-DOS2000買うとか?(CDで売ってた)
多分まだ売ってるはず



279:デフォルトの名無しさん
11/10/08 19:32:22.10
power.exeってMS-DOSの処理が空いている時にhalt命令で消費電力を
下げるらしいですが、ユーザープログラムでこの「空いてる状態」を
作り出すにはどうしたらよいでしょうか?
(C言語ならgetch()すればいい?)

280:デフォルトの名無しさん
11/10/09 00:53:11.24
>>279
haltからの復帰には例外が必要。
自動的に復帰させるためには、haltさせる前に、復帰させるための例外を用意してやる必要がある。
タイマなんかを使うんでは無いかな。


281:デフォルトの名無しさん
11/10/09 11:13:26.33
>>280
例外じゃなくて割り込みじゃないのか?
リアルモードで例外は扱えなかったと思ったけど。

282:デフォルトの名無しさん
11/10/09 13:45:42.04
>>281
x86の場合には例外と割り込みを区別していたんだね。
知らなかった。

で、>>279が聞きたかったことって、power.exeを常駐させた上での話だったのかな?
なら、getch関数でDOSに制御が移るので空き時間作れると思う。


283:デフォルトの名無しさん
11/10/09 18:56:19.31
ATならタイマIRQ0、9821ならカレンダIRQ15(初期の9821はよく知らん)が常時ぶん回ってるから
通常、hltで止まることはないよ(どのみちキー入力IRQ1で復帰するけど)

284:デフォルトの名無しさん
11/10/09 19:10:56.89
DOSに制御が移る→暇そうならint 28h→power.exe
なんで、暇なら直接int 28hぶん回すのが手っ取り早いんじゃね

285:279
11/10/10 00:33:50.30
回答ありがとうございます。

>>283
直接コードにhalt命令を埋め込んでも常に何かしら割り込みが
発生しているので問題ないと言うことですね。

>>284
探していたのはそれだと思います。
int28hをググってみましたがint28hをフックするコードしか
みつけられず、int28hを呼び出す側はどのような値をレジスタに
セットしてcallすれば良いかわかりませんでした…。

286:デフォルトの名無しさん
11/10/10 01:00:41.71
int28hは呼び出し側で特定のレジスタ値をセットする必要はないはずだよ
int28hは「DOSが暇な時に動いて欲しい複数の常駐物のチェーンの入り口」なんで
それぞれの常駐物が勝手に何とかしてるはず、ただ、スタック少なすぎるのはまずいかも

C言語とかで普通に作ったプログラムならスタックは十分だと思うけど
破壊されちゃまずいレジスタはint28h前後で念のため退避復元するか、呼び出し後に再設定だね

古い記憶なんで間違ってたらスマソ

287:デフォルトの名無しさん
11/10/10 01:23:38.97
>>285直接コードにhalt命令を埋め込んでも・・・
>>283にも書いたけど9801(初期の9821はよく知らん)はカレンダIRQ15が無いんでまずいかもね
あと、hlt命令は仮想86モードだと一般保護例外になるんで
実際に実行されるhlt命令は仮想86モニタ(EMM386等)の例外処理内部のhlt命令になるよ

288:279
11/10/10 10:40:18.65
>>286
int28hを試してみたいと思います。

>>287
開発はOpenWatcomのDOSエクステンダなので確か特権0で
動作していたハズですからhalt埋め込みも可能かも。と思っています。
対象CPUをPentium以降にしていますのでPC-9801はほとんどが外れます。
(ODP,CPUアクセラレータ機種は微妙ですが…)

289:デフォルトの名無しさん
11/10/10 14:29:16.43
そういう動作環境なら特に問題ないかもね

まあ、DOSやBIOSを介してキー入力してるならpower.exeがうまいことhlt実行してくれるだろうから
標準ライブラリのgetch()等を使ってる限りは独自にint28h呼び出さなくても平気かもだけど

98だとそもそもINT18 AH=0のキー入力BIOSが「キー入力バッファ監視無限ループ」なんだけど
power.exeがトラップしてpower.exe内部でループさせるようにしてhlt実行されとるね

290:279
11/10/10 19:06:22.80
空ループの中でint28hを呼ぶ版と呼ばない版を用意して実験した結果、
呼ぶ版ではpower.exeのアイドル率が上昇しているのが確認できました。

仮想86環境+DOSエクステンダでhlt命令の埋め込みも実験してみましたが
一瞬で制御が戻って来ましたのでループの中で呼んでも問題なさそうです。

有用な情報ありがとうございました。

291:デフォルトの名無しさん
11/10/13 22:21:22.37
ハードを骨までしゃぶれたDOS時代は楽しかったな~

292:デフォルトの名無しさん
11/10/19 23:44:20.28
なんとなくBIOSを使わずにCTRCを直接制御して480ラインにしたいと思って
// Text GDC 30(16*30=480) line
outp( 0x62,0x0e ); // Sync command
outp( 0x60,0x4e ); // C/R (80-2 = 78)
outp( 0x60,(0x08<<5)|0x07 ); // VS(l) | HS
outp( 0x60,(0x09<<2)|(0x08>>3) ); // HFP | VS(h)
outp( 0x60,0x07 ); // HBP
outp( 0x60,0x07 ); // HFP
outp( 0x60,0x480 & 0xff ); // L/F(l)
outp( 0x60,(0x19<<2)|(0x480>>8) ); // VBP | LFh(h)
outp( 0x62,0x47 ); // Pitch command
outp( 0x60,0x50 ); // 80
// Graphics GDC 480 line
outp( 0xa2,0x0e ); // Sync command
outp( 0xa0,0x4e ); // C/R (80-2 = 78)
outp( 0xa0,(0x08<<5)|0x07 ); // VS(l) | HS
outp( 0xa0,(0x09<<2)|(0x08>>3) ); // HFP | VS(h)
outp( 0xa0,0x07 ); // HBP
outp( 0xa0,0x07 ); // HFP
outp( 0xa0,0x480 & 0xff ); // L/F(l)
outp( 0xa0,(0x19<<2)|(0x480>>8) ); // VBP | LFh(h)
outp( 0xa2,0x47 ); // Pitch command
outp( 0xa0,0x50 ); // 80
という風に作ってみたけど画面が映らなくなってしまいます。
CRTCの直接制御で9821の画面モードに変更するという事自体が間違っているのでしょうか?

293: ◆0uxK91AxII
11/10/20 01:15:23.37
>>292
256色の640*480なら、
outp(0x6a, 0x07);
outp(0x6a, 0x21);

URLリンク(www.webtech.co.jp)

294:デフォルトの名無しさん
11/10/20 01:35:06.70
それだけで解像度まで変わったか?

295: ◆0uxK91AxII
11/10/20 03:39:41.71
変わらなかった。
/(^o^)\

>>292のようなGDCの設定に加えて、outp(0x9a8, 0x01);が要る気がしてきた。

296:デフォルトの名無しさん
11/10/20 20:16:52.46
映らなくなったって事は何か足りないよりもパラメータ間違ってんじゃね?

297:デフォルトの名無しさん
11/10/20 23:56:32.98
GDC 5MHz,HS 31KHz を対象にしているので 0x9a8 は関係ないと考えています。

298:デフォルトの名無しさん
11/10/21 18:02:45.48
>>292
・SYNCコマンドのパラメータ先頭1個が抜けてる、よって後続の設定値全部間違ってる。
・SYNCコマンド0x0Eを使えば表示はどのみち消える、STARTコマンド発行するか、SYNCコマンド0x0Fを使う。
・480ラインなのに16進数の0x480で設定してるから1152ラインとか無茶振りすぎる。
・480ラインに設定出来てもSCROLLコマンド設定しなきゃ見えない(はず)。
・上記修正してもBIOS AX=300Ch BH=32h INT18hの表示と違い、画面全体が水平方向にずれて何か変。
・ちなみにBIOSでも画面表示とカーソル表示は消えるので自前で再設定する。

299:デフォルトの名無しさん
11/10/21 18:05:04.21
BIOS解析してどういうパラメータ設定してるか見た方が早い気がする

300:デフォルトの名無しさん
11/10/21 18:15:24.95
まあそうだねー
>>292の質問は画面映らなくて困ってるって話なんで、それは何とかなるやろ

301:デフォルトの名無しさん
11/10/21 20:27:08.28
>>298
SYNCコマンドが1つ不足していたのと0x480を修正したら
テキストは左寄り&グラフィックは乱れていますが画面には映るようになりました。
ありがとうございます。

30行系ソフトのソースを見たのですがBIOSが対応していない26~29行は
CRTCを制御して、25,30行はBIOSを使うようになっていたので
パラメータがわからなかったので…

パラメータはもうちょっと調べて見ます。

302:デフォルトの名無しさん
11/11/02 23:48:17.04
DOSの環境変数ってメモリのどこに記憶されているのでしょうか?
最初はDOSファンクションにあるのかと思っていましたがそれらしいのがなく、
CRT(getenv)のソースを見たらグローバル変数のポインタを参照して
その中から該当する文字列を返しているようでした。
たぶん、グローバル変数はStartupで設定されていると思うのですが…

303:デフォルトの名無しさん
11/11/02 23:56:00.48
DOS(コマンドプロンプトではない)なら
PSPのどっかに、環境変数を示すセグメントが書いてあるよ。

304:デフォルトの名無しさん
11/11/03 00:01:05.69
>>303
ありがとうございます。
やっぱりPSPですか…。


305:デフォルトの名無しさん
11/11/03 00:02:32.20
ds:2c

306:デフォルトの名無しさん
11/11/03 16:27:58.08
>>302
MS-Cならgetenv関数が用意してあるが

307:デフォルトの名無しさん
11/11/03 17:24:10.86
既にgetenvのソースを読んだ人に向かって
getenvでできるよ(キリッ とか言われても・・・

308:デフォルトの名無しさん
11/11/03 23:37:40.29
PSPの資料を見つけたのでなんとかなりそうです。
URLリンク(www5c.biglobe.ne.jp)

309:デフォルトの名無しさん
11/11/11 22:30:52.49
質問。DOS(16Bit)上からのCONFIG.SYSで読込む、デバイスドライバーの*.SYSや*.EXEのHEADER情報と、
実行(起動?)手順が知りたいのですが、ググッたが参考になる所が見つけられませんでした。
コマンドライン(又は、AUTOEXEC.BATからの実行)での*.EXEのHEADER情報は、色々と見つかり参考にさせて頂きました。
デバイスドライバー又はコマンドラインで実行できる形式の物を作りたいと思っています。
お指導・ご指南を、お願いいたします。

310:デフォルトの名無しさん
11/11/12 07:36:04.35
EXEヘッダの情報と、デバイスドライバのヘッダの構造は勝手に調べてもらうとして
俺の記憶をたどると、
COM型ドライバはそのまま読み込まれ、EXE型はax=4B01(だったと思う)でロードされる。
後は、デバイスヘッダに書かれているアドレスに来るリクエストの指示に従って初期化や常駐等を行う。
デバイスヘッダは、とりあえずぐぐって最初に出てきたDR-DOSのページでも参考になるはず。
URLリンク(hp.vector.co.jp)

311:デフォルトの名無しさん
11/11/18 20:38:14.53
emm386とかのUMB領域の検出ってどうやってるんだろう?

312:デフォルトの名無しさん
11/11/18 22:57:49.03
4kBごとにメモリを読んで調べてたような・・・
怪しそうな領域はMSDで調べると「恐らく使用可」なんて曖昧な答えが出たりした。

313: 【14.2m】 【東電 81.3 %】
11/11/20 18:40:43.50
一応貼ってみる
URLリンク(www.oadg.or.jp)
URLリンク(www.oadg.or.jp)
URLリンク(www.oadg.or.jp)

314:デフォルトの名無しさん
11/11/21 01:16:07.22
>>311-312
該当アドレスにRAMを自作メモリーボードで繋げたら見つけてくれるんかな?


315:デフォルトの名無しさん
11/12/08 22:23:44.01


316:デフォルトの名無しさん
11/12/15 17:54:20.54
メガデモを98のDOSに移植したいんだけど、Milleniumを使う方法はないかね?


317:デフォルトの名無しさん
11/12/16 23:43:42.65
シーラスロジックにしとけ。16ビットカラーも使える。

318: ◆0uxK91AxII
11/12/17 07:11:39.45
I/Oとメモリを見えるようにしてやれば使えるだろうけど、何かと手間

319:デフォルトの名無しさん
11/12/17 09:21:34.34
PCIは起動時にI/Oとメモリを割り当ててるから普通に見えるだろ。
(9821ではブリッヂを経由すると割り当てられないらしいが。)

PCI BIOSを使えばデバイス検索、リソース検索はできるから
1M以上のメモリアクセスをどうするかだ。


320:デフォルトの名無しさん
12/01/10 09:21:55.94
MS-DOSとは一体何だったのか
スレリンク(poverty板)l50


321:デフォルトの名無しさん
12/02/25 21:41:54.99
保守

昔は1バイトでも節約するのに苦労してたのに、
今はアプリ1つ起動しただけで数100MB食う有様。
メモリがいくら安くなったとはいえ、食い過ぎじゃないかと。

322:デフォルトの名無しさん
12/02/26 00:07:38.09
くたばれよジジイ

323: ◆0uxK91AxII
12/02/26 12:31:53.24
MS-DOSなら16[Byte]単位での節約だよねー。

くたばれよジジイ

324:デフォルトの名無しさん
12/02/26 13:47:34.72
16 bits

325:デフォルトの名無しさん
12/02/27 14:35:58.53
OpenWatcom 1.9でnearポインタをunsigned longにキャストしたら
セグメント:オフセット形式になったんだけど、他のコンパイラもこんなだったっけ?

326: ◆QZaw55cn4c
12/02/27 18:58:37.49
>>325
C はよくわからないけれども、アセンブラですら、4バイト確保してseg:off だから、多分そうじゃないかな。

327:デフォルトの名無しさん
12/02/27 19:15:13.91
>>291

今でもドライバ書こうとすれば…

328:デフォルトの名無しさん
12/02/27 23:11:26.15
プログラミングはUNIX(SunOS)から入ったから、ポインタのNEARとかFAR
とかはハァ?って感じだった。

329: ◆0uxK91AxII
12/02/28 00:14:43.67
>>325
そこはFP_SEG, FP_OF, MK_FPを使おうか...。

>>327
X64なWindowsだと自由とはいかないんだけどね。

330: ◆0uxK91AxII
12/02/28 17:51:04.75
nearなら無関係だったか。

331:デフォルトの名無しさん
12/02/28 18:51:22.22
MK_FPとかあったなー
今の今まで忘れてた

332:デフォルトの名無しさん
12/03/25 10:39:32.43
Turbo C++でやってみたけどsmall/large/huge共にセグメントアドレスは入らなかった


333:デフォルトの名無しさん
12/03/25 14:28:05.68
333

334:デフォルトの名無しさん
12/04/27 01:08:04.98
シフトキー
capsロック
numlock等
実際にはキー入力されないキーを利用して
バッチファイルを条件分岐したい
適当なdosプログラムが探せないので
作りたい
バッチファイルで返り血を読む方法も
よくわからないです


335:デフォルトの名無しさん
12/04/27 01:28:31.15
そいつはDOSの守備範囲外だ。
どの機種かはしらんがキーボードBIOSをつかうか、
あるいはキーボードI/Oを直接叩くしかないぞ。

336:デフォルトの名無しさん
12/04/27 01:32:28.40
>>334
こんなもんだろう
 org 100h
 mov ah,02h
 int 16h
 mov ah,4ch
 int 21h
んでERRORLEVELで結果を見ればよろし


337:デフォルトの名無しさん
12/04/27 05:34:38.03
昔ならBUで一発だったのにな

338:デフォルトの名無しさん
12/04/28 00:11:39.06
>>336
それでできました
ありがとう
>>337
バッチユーティリティ落としました
いいですねこれ

339:デフォルトの名無しさん
12/04/29 20:59:15.23
アセンブラでexe形式のソフトを作っているのですが
コマンドラインからの引数はどのようにすると参照できますか?

340:デフォルトの名無しさん
12/04/29 21:30:29.06
URLリンク(www.google.co.jp)

341:339
12/04/29 21:49:32.99
exe形式ならES:0000hのPSPを参照すれば引数がわかるんですね。

342:デフォルトの名無しさん
12/04/30 22:22:15.63
psp:80hにコマンドラインの文字列が置かれ、同時にデフォルトDTAでもあった。
懐かしいねぇ。

343:デフォルトの名無しさん
12/04/30 23:06:33.05
過去形じゃなくて今でもそうだけどな

344:デフォルトの名無しさん
12/05/01 22:41:20.07
64bitOSの普及で過去形になりつつある。
仮想86モードがあっさり切られるとはね。

345:デフォルトの名無しさん
12/05/02 00:16:55.51
ロングモードから仮想86モードに移行できないだけで
仮想86モードが切られたわけじゃないと思うが。

346:デフォルトの名無しさん
12/05/02 13:44:20.24
逆アセンブラは何を使ってますか?

347:デフォルトの名無しさん
12/05/02 22:39:58.48
symdeb

348:デフォルトの名無しさん
12/05/03 10:12:33.13
wdis (the Open Watcom disassembler)

Current State|Wasm
URLリンク(www.openwatcom.org)

349:デフォルトの名無しさん
12/05/03 17:01:30.04
xda

350:デフォルトの名無しさん
12/06/10 21:10:04.11
これは凄い。

Creating a raytracer for DOS, in 16 VGA colors
URLリンク(www.youtube.com)

351:デフォルトの名無しさん
12/06/23 23:38:25.39
int 20

Linuxよこんにちは

352:デフォルトの名無しさん
12/06/26 17:57:38.69
#include <stdlib.h>
#include <time.h>
#include <conio.h>
main()
{
srand((int)time(0));
while(1)
outp(rand(), rand()%256);
}

を実行したら、青画面が出てパソコンが死んだよ (HDDクラッシュ)。w


353:デフォルトの名無しさん
12/06/26 19:18:07.23
秘孔を突いてしまったのですね

354:デフォルトの名無しさん
12/06/26 21:58:52.30
まぁ、実験用のマシンだから別に壊れても構わない

355:デフォルトの名無しさん
12/06/27 09:06:21.99
Cを覚え始めて楽しくなってきた頃、
>>352なことは誰もがやるよねw

356:デフォルトの名無しさん
12/06/27 11:42:52.22
既にPC-8001でさんざんやった後だから、Cではポート叩くのはやってないなぁ。
精々RAMDISKのドライバ作ったくらい。

357:デフォルトの名無しさん
12/06/27 11:48:31.07
>>355
誰もが? >>352とお前だけだ

358:デフォルトの名無しさん
12/06/27 12:00:10.91
>>357
探究心のないやつだなぁ。乱数を使うのは間抜けかもしれないが。

>>356
RAMDISKが動いたことで嬉しくなって、しかも速いもんだからそのRAMDISK上で作業を続けて、
リセット掛かってなくなって我に返るのも、割りと誰もが通る途だよねw

359:デフォルトの名無しさん
12/06/27 13:24:17.98
RAMDISK は cache にするべきだったな

360:デフォルトの名無しさん
12/06/27 15:29:53.65
>>358
小学校低学年レベルの探究心の話をしてたのか
それは失礼w

361:デフォルトの名無しさん
12/06/27 22:09:16.82
debugで適当なアドレスからトレス始めてPC内部を探検とかもやったなw

362:デフォルトの名無しさん
12/06/27 22:14:21.10
ラムディスクでクラッシュはやった

363:デフォルトの名無しさん
12/06/28 01:05:43.97
PC98用のハード叩きまくりプログラムをPC/ATのWin95DOS窓でうっかり動かしたら
いきなり沈黙して再起不能になったことが…

修理に出したらメイン基板交換で返ってきた


364:デフォルトの名無しさん
12/06/28 09:10:02.24
昔、Libretto50をsymdebでROMをトレスしてたら
HDDクラッシュしたことがあったな。

365:デフォルトの名無しさん
12/08/23 00:33:46.57
Cyrix 5x86のキャッシュON/OFF制御コード解析してるんだが
write_cyrix_reg(u_char reg, u_char data)
{
outb(0x22, reg);
outb(0x23, data);
}
これだと0x23のDMAと競合しないのかね?

98でも動くara5x86.exeを逆汗しても同じようなコードが存在するから
間違ってはいないと思うのだが。

366:デフォルトの名無しさん
12/08/23 13:17:29.93
>>365
regの値を見てキャッシュ制御とDMACアクセスを切り替えるという
涙ぐましい努力をしとるのです


367:デフォルトの名無しさん
12/08/23 20:09:37.30
おお、ご存知の方がいるとは。

368:デフォルトの名無しさん
12/08/25 11:25:55.41
DMAバンクレジスタ(ch2)だから競合しても問題ないだろ。

369:デフォルトの名無しさん
12/09/29 15:53:11.03
@wktk.c
#include <stdio.h>

void main()
{
puts("+   +");
puts("  _∧_∧_ +");
puts(" (0゚・∀・)   ワクワクテカテカ");
puts(" (0゚∪ ∪ +");
puts(" と__)__) +");
}

370:デフォルトの名無しさん
12/09/29 16:14:34.98
フロッピーディスクをフォーマットしたときに書き込まれるタイムスタンプと
現在のハードディスクにフォーマット時に書き込まれるタイムスタンプは
同じフォーマットですか?


371:デフォルトの名無しさん
12/09/29 16:30:33.36
いいえちがいます

372:デフォルトの名無しさん
12/10/08 02:05:40.26
>>1
debugコマンドってこと?

373:デフォルトの名無しさん
12/10/08 02:19:10.80
プログラムのテスト/編集ツールであるデバッガを起動します.

DEBUG [[ドライブ:][パス]ファイル名 [テストファイル-パラメータ]]

[ドライブ:][パス]ファイル名
テストするファイルを指定します.
テストファイル-パラメータ テストするファイルが必要とするコマンドライン情報を
指定します.

DEBUG 起動後に, ? を入力するとデバッガのコマンド一覧が表示されます.

374:デフォルトの名無しさん
12/10/08 08:20:39.61
debug.exe って XP (Vista ?) までは動いてたけど
Windows 7 だと入ってなかった orz

375:デフォルトの名無しさん
12/10/12 17:23:52.51
NOP

376:デフォルトの名無しさん
12/10/13 10:04:08.74
LOADALL

377:デフォルトの名無しさん
12/10/13 23:58:51.23
そんな命令はない
という事になっているんだっけ?




378:デフォルトの名無しさん
12/10/14 00:11:21.44
隠し命令だからね
しかも286と386で異なる

379:デフォルトの名無しさん
12/10/14 11:18:05.08
You encode the 80286 LOADALL as a two-byte opcode, 0F05h.
The 386 LOADALL is encoded as a two-byte opcode (0F07).
URLリンク(www.rcollins.org)

380:デフォルトの名無しさん
12/10/17 09:45:39.09
ありがとうございます!

381:デフォルトの名無しさん
12/11/25 22:38:59.93
13:40頃、ヘリがヘリとしてはかなり高いところ(2000mくらい?)を2機東へ@川越

382:381
12/11/26 22:27:09.61
誤爆失礼

383:デフォルトの名無しさん
12/11/26 22:33:37.95
まちBBSか

384:デフォルトの名無しさん
13/01/01 21:10:12.82
あけおめ です

385:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/16 01:48:23.36
日本語MS-DOSのエミュレータがないかな?

386:デフォルトの名無しさん
13/10/31 13:21:39.00
あるんじゃね

387:デフォルトの名無しさん
13/11/07 02:21:16.24
age

388:片山博文MZコスモ ◆T6xkBnTXz7B0
13/11/08 11:19:51.60
>>385 URLリンク(www.mmrl.gr.jp)

389:デフォルトの名無しさん
13/11/08 15:19:24.67
え、自己レス?

390:デフォルトの名無しさん
13/11/08 15:36:25.22
C言語と、どう違うん?

391:デフォルトの名無しさん
13/11/08 18:26:45.00
DOSはへっぽこOSやがな

392:デフォルトの名無しさん
13/11/08 21:21:10.88
>>391
CP/Mよりはかなりマシ

393:デフォルトの名無しさん
13/11/09 00:16:22.82
核ミサイル制御はDOSがいい

394:デフォルトの名無しさん
13/11/09 23:04:40.94
>>392
8ビットでまともなOSを作ろうとすると、失敗に終わったM-DOSみたいな結果になる。
CP/Mは必要最小限とはいえ8ビット環境に合致してたと思う。

395:デフォルトの名無しさん
13/11/09 23:57:16.67
何を持って失敗と言ってるんだ?

396:デフォルトの名無しさん
13/11/10 01:53:00.66
CP/M-86 は失敗だったな

397:デフォルトの名無しさん
13/11/10 01:58:54.57
PC98用のWizardlyがなぜかCP/M-86だったのは覚えてる。

398:デフォルトの名無しさん
13/11/10 02:52:20.30
CCP/Mは少なくともMS-DOSなんかよりはOSとしての機能を満たしてたな

399:デフォルトの名無しさん
13/11/10 03:00:44.90
メモリ64KB、CPU8bit、CPUに仮想メモリ機能なし、
CPUにI/O保護機能なし、CPUにマルチタスク機能機能なし

そんなコンピュータがやっと個人で使えるようになった時代のOSに
何を求めてるんだよ?

その時代だと逆になにもしないほうが優れたOSだよ。

400:デフォルトの名無しさん
13/11/10 03:10:30.62
>なにもしないほうが優れたOSだよ。

リソース管理というOSの仕事の根本が理解できないバカ

401:デフォルトの名無しさん
13/11/10 03:13:03.87
いや、だからね。
その時代はそれすらもコストの高い処理で
ほとんど一つのアプリが専有状態になるんだよ。
知らないなら口開くなよ。

402:デフォルトの名無しさん
13/11/10 03:18:57.52
管理するリソースは、ファイルシステムがメインで他はおまけ

403:デフォルトの名無しさん
13/11/10 03:21:02.60
そうそう、メモリ保護機能もないから
OS含めてシステム全部、
BIOSなんかにも、普通にアクセスし放題だしね。

404:デフォルトの名無しさん
13/11/10 03:23:04.87
言っとくけど、メモリ保護機能がないのは
OSではなくてCPUだからね。

CPUにその機能、つまり特定の参照してはいけない
メモリになんかにアクセスした時に処理を奪う機能が
ないから実装しようと思っても不可能。

405:デフォルトの名無しさん
13/11/10 07:34:40.67
CP/MってFATだったっけ

406:デフォルトの名無しさん
13/11/10 10:24:29.57
メモリ,I/O保護やマルチタスクがOSの必須条件時ではないでしょう。
OSの必須条件とは、
「そのOSが動作する機器が何であろうと、OSが用意したシステムコールを使えば
 どこでも同じに使えるよう抽象化すること」
でしょう。

407:デフォルトの名無しさん
13/11/10 10:25:22.29
必須条件

408:デフォルトの名無しさん
13/11/10 10:55:23.52
OS?
BASICの間違いでしょう

409:デフォルトの名無しさん
13/11/10 11:00:23.25
昔は言語がOSそのものだったよな。
Smalltalkも似たような感じ。
言語の環境がOSになってた。

410:デフォルトの名無しさん
13/11/10 11:17:50.75
BIOS = BASIC Interpreter Operating System

411:デフォルトの名無しさん
13/11/10 11:21:09.36
>>410
ぐぐってないけど、それ間違い。

412:デフォルトの名無しさん
13/11/10 12:44:55.47
>OSの必須条件とは、
>「そのOSが動作する機器が何であろうと、OSが用意したシステムコールを使えば
> どこでも同じに使えるよう抽象化すること」
>でしょう。

珍説発見

413:デフォルトの名無しさん
13/11/10 13:01:47.81
OSの定義はあるが、さすがにMS-DOSの時代は
パソコンが高価過ぎて完全な形で実装するのが不可能だった。

パソコンというのは、そもそもパーソナルなコンピュータ。
つまり、パーソルではないコンピュータというものがあり、
昔は、そっちがメインだった。
大企業や政府や軍や大学の、個人では買えない高価なコンピュータ。

そこで作られたコンピュータが、徐々に個人向けに転用されてきたというのが
パソコンの歴史なんだよ。

だから昔の(個人向け)OSが、本来の(非個人向け)OSと大きく劣るのは
それがパソコンの歴史なんだから当たり前のこと。
OSの問題というよりも、そもそもCPUやその他のハードに
コンピュータの機能が不足していた。

414: ◆QZaw55cn4c
13/11/10 13:02:17.75
>>412
>>406 は正論だと思うけれどもね

415:デフォルトの名無しさん
13/11/10 13:03:21.15
OSとモニターの区別も付かない馬鹿がなんか言ってるw

416:デフォルトの名無しさん
13/11/10 13:07:26.56
N-BASIC にはあったねmon コマンドとかBASICコードの最初10行程度の行番号を全部 0 にしてみたりとかさ

417:デフォルトの名無しさん
13/11/10 13:36:08.73
ディスクBASICってのもあったね。
あれ、ディスクを読み書きできるわけだけど、
ディスクを読み書きしている部分はOS?
でもBASIC環境なんだよね。

不思議な世界だ。

418:デフォルトの名無しさん
13/11/10 14:09:36.59
MZ-80 シリーズなんかインタープリタをわざわざテープにロードしていたくらいだし、そうそう SWORD とかあったね、不思議な世界だね

419:デフォルトの名無しさん
13/11/10 14:49:28.43
>>409
Smalltalkはアラン・ケイらの暫定ダイナブック環境として作られた経緯があって
あえてOSの要素を含むように仕組まれているから、今の文脈からはちょっと特殊な例だろうね。

「Smalltalkの底を流れる設計思想」
URLリンク(web.archive.org)
Smalltalkでは、この基準は対話するオブジェクトというモデルで充分にみたされている。略
オペレーティングシステムがこの原則を破っているようであることはちょっと注目すべきだろう。
プログラマーは一貫した記述の枠組みをはなれ、蓄積されたコンテキストをあとにし、
まったくかけ離れた、そしてたいていはとても原始的な環境を相手にしなければならないのだ。略
オペレーティングシステムは言語におさまりきらないものを集めたもので、これは存在すべきでない

420:デフォルトの名無しさん
13/11/10 15:01:52.21
その頃からダイナブックってあるんだな。

421:デフォルトの名無しさん
13/11/10 17:51:38.08
東芝がぱくってノーパソの商標にした

422:デフォルトの名無しさん
13/11/10 19:44:29.28
>>405
FCB

423:デフォルトの名無しさん
13/11/10 20:10:30.14
>>405
URLリンク(www.cpm8680.com)

424:デフォルトの名無しさん
13/11/14 09:47:33.84
dynabook ss001の頃はパーソナルワークステーションだった
F1の鈴木亜久里ちゃんがモデルだったのよね
懐かしいわ

425:デフォルトの名無しさん
13/11/25 15:52:16.00
DOS窓からcalc.exeとか起動したときに
今起動したcalc.exeのプロセスIDを知る手段ってある?

426:デフォルトの名無しさん
13/11/25 15:57:03.40
このスレ的にはそのcalc.exeは当然DOSプログラムだよね?
そうなるとntvdm.exeにしかプロセスIDは付かない。

427:デフォルトの名無しさん
13/11/25 21:16:21.63
「DOS窓」なんだからWin9xだろ

428:デフォルトの名無しさん
13/11/25 22:03:58.84
cmd.exeは32ビットコンソールだけど、
仮想86マシンの方は俺は今でもDOS窓って呼んでるな。
もうすぐ7/64へ行くから会えなくなるけど。

429:デフォルトの名無しさん
13/11/25 22:24:44.81
cmd.exe
command.exe

430:デフォルトの名無しさん
13/11/25 22:36:19.04
COMMAND.COM

431:デフォルトの名無しさん
13/11/26 12:42:57.50
MSX-DOS は大盛況のうちに幕を閉じた。

432:デフォルトの名無しさん
13/11/26 20:44:05.71
dosプログラムの特徴といえば煩雑なメモリモデルだよね
Win32になってメモリモデルが単純になってよかった

433:デフォルトの名無しさん
13/11/26 20:46:46.33
>>432
>dosプログラムの特徴といえば煩雑なメモリモデルだよね

8086のコンパイラによる事情であって、DOS固有のことではない。

434:デフォルトの名無しさん
13/11/26 23:15:18.37
CPUが16ビットだったからね。
一つのレジスタで64KBまでしか参照できないのに
それを二つ使って1MBを超えるようなメモリを使うには
どうしても複雑にならざるを得ない。

それを補うのが当時のコンパイラの仕事の一つで
殆どの場合、複雑なメモリモデルは隠蔽されてる。

435:デフォルトの名無しさん
13/11/26 23:16:36.79
>それを二つ使って1MBを超えるようなメモリを使うには

>殆どの場合、複雑なメモリモデルは隠蔽されてる。

何か勘違いされてますね

436:デフォルトの名無しさん
13/11/26 23:17:19.12
>>435
ほう。それであんた、説明は?
それが言えなければ、ただの難癖。

437:デフォルトの名無しさん
13/11/26 23:19:58.81
>それが言えなければ、ただの難癖。

そう思いたいんだろうね

438:デフォルトの名無しさん
13/11/26 23:22:06.25
はいはい

セグメントレジスタとオフセットは大部分重なってるのでレジスタ2個使っても1M超えてはアクセス出来ない

439:デフォルトの名無しさん
13/11/26 23:25:59.39
>それを二つ使って1MBを超えるようなメモリを使うには

「1MBを超える」って、EMSかなんかを勘違いしてるのかな?

440:デフォルトの名無しさん
13/11/26 23:27:01.61
>>434
>それを補うのが当時のコンパイラの仕事の一つで

コンパイラが頑張っても1MBは超えられないよ。

441:デフォルトの名無しさん
13/11/26 23:31:07.30
>>434
MS-CのHugeモデルでも1MBは超えられませんよ。
つかメモリモデルってプログラマが指定してたけど隠蔽されてるってどゆこと?

442:デフォルトの名無しさん
13/11/27 00:09:11.13
へぇ、なんで1MB超えられないの?
それはMS-DOSが原因なの?
理由言える?

443:デフォルトの名無しさん
13/11/27 00:12:15.19
知ったか同士で仲良くお喋りなさい

444:デフォルトの名無しさん
13/11/27 00:16:44.60
>へぇ、なんで1MB超えられないの?

8086/88のアドレス空間が1MBしかないから。

445:デフォルトの名無しさん
13/11/27 00:21:23.27
そういや64ビットになってメモリモデル復活してるんだよな
意識しないといけないのは、2GBを超えるexe作るなら、だけど

446:デフォルトの名無しさん
13/11/27 00:33:37.54
>>444
つまりCPUが原因ってこと?
OSを変えれば直る問題に思えないんだけど?

447:デフォルトの名無しさん
13/11/27 00:36:00.24
>OSを変えれば直る問題

馬鹿キター!(AA略

448:デフォルトの名無しさん
13/11/27 01:08:21.29
286以降ならA20ラインで1M+64kまでOKだな

449:デフォルトの名無しさん
13/11/27 01:21:32.26
HIMEMやVCPI/DPMIといった286/386向けの機能を
DOSに含むかどうかだよな

450:デフォルトの名無しさん
13/11/27 01:30:00.19
「CPUが16ビットだったからね。
 一つのレジスタで64KBまでしか参照できないのに
 それを二つ使って1MBを超えるようなメモリを使うには
 どうしても複雑にならざるを得ない。」

という話とはとりあえず関係ない。

451:デフォルトの名無しさん
13/11/27 02:09:13.94
パソ通時代にこの手の奴居たよな
まだやってんのか

452:デフォルトの名無しさん
13/11/27 08:12:56.31
EMM386.SYS と EMM386.EXE の違いが判らんかった当時

453:デフォルトの名無しさん
13/11/27 11:51:31.31
よく知らないけど、なんか下位互換にこだわってあんなセグメントなんて概念になったんだっけ?
PC-E500 シリーズの CPU なんか 8 bit でありながら 20 bit のレジスタ持ってて
1 MByte リニアにアクセスできるのに。

454:デフォルトの名無しさん
13/11/27 13:07:29.06
8088 の悪口はそこまでだ

455:デフォルトの名無しさん
13/11/27 14:06:55.29
アドレス専用のレジスタを強いるかどうかじゃねーの

456:デフォルトの名無しさん
13/11/27 14:13:12.94
386以降のメモリモデルも
セグメントレジスタで保護モードとか設定できるのに
全部の空間を読み書きできるように反故にしてるOSがあるのは秘密

457:デフォルトの名無しさん
13/11/27 14:15:37.43
>>453
>よく知らないけど、なんか下位互換にこだわってあんなセグメントなんて概念になったんだっけ?

想定してたのは64KB以下のコードで64KB以下のデータのタスクを複数動作させるコントローラだろ。

458:デフォルトの名無しさん
13/11/27 14:27:05.80
そうだ!16bitずらしたセグメントレジスタ使えば
64KB以内のアプリは全部リロケータブルに出来るOSが作れるぞ!
俺って天才!



Windows98/2000/XP でも 64KB の壁は残りました

459:デフォルトの名無しさん
13/11/27 14:33:36.80
32bitアーキテクチャはiAPX432を準備してたし、8086/88はあくまでコントローラ

460:デフォルトの名無しさん
13/11/27 14:35:53.49
良いアーキテクチャと売れるアーキテクチャは違うということだね
286なんて中途半端なものが何であんなに売れたんだ

461:デフォルトの名無しさん
13/11/27 15:22:05.41
>>458
NT系ではエミュレータで16bitアプリ動かしてるだけじゃねーの

462:デフォルトの名無しさん
13/11/27 15:24:29.60
クロック数の多い方が勝つわ

463:デフォルトの名無しさん
13/11/27 15:32:58.65
ずれは16bitじゃなく4bit

464:デフォルトの名無しさん
13/11/27 15:41:07.58
>>458
2000 / XP の 64KB の壁って何?

465:デフォルトの名無しさん
13/11/27 15:49:43.60
東ドイツのベルリンにあっただろ

466:デフォルトの名無しさん
13/11/27 16:31:50.47
>>464
IE4とか5とか6でドロップダウンのリストボックスとかに
選択肢がいっぱいあると64KBで切れてた

467:デフォルトの名無しさん
13/11/27 16:32:47.38
いまでもあるかな
URLリンク(support.microsoft.com)

468:デフォルトの名無しさん
13/11/27 16:36:21.09
これか
URLリンク(technet.microsoft.com)

469:デフォルトの名無しさん
13/11/27 16:38:09.52
まちがえた
こっち
URLリンク(support.microsoft.com)

470:デフォルトの名無しさん
13/11/27 16:40:05.27
>>458
>そうだ!16bitずらしたセグメントレジスタ使えば

プロテクトモードでのセグメントレジスタはそういう機能じゃないよ。

471:デフォルトの名無しさん
13/11/27 16:41:07.76
それは単にGUIレベルの設計の問題だろう
1000件でも多すぎるわ→16bitにしとこ

472:デフォルトの名無しさん
13/11/27 16:49:56.87
HSPにも制限ある罠
URLリンク(lhsp.s206.xrea.com)

473:デフォルトの名無しさん
13/11/27 16:52:24.26
リストボックスの項目は多すぎても見にくいだけなので
制限あるのは判らなくもないが
エディットコントロールでも制限あったら
URLリンク(rarara.cafe.coocan.jp)
エディタもまともに作れないOSとか
64KB以上のファイル開いたら死ぬメモ帳とか
そりゃ秀丸が歓迎される罠

474:デフォルトの名無しさん
13/11/27 17:34:15.68
ワードパッドが完全無視されててカワイソス

475:デフォルトの名無しさん
13/11/27 17:46:18.76
なんだ?まだ昔のコンピュータ稼働させてるとこがあるのけ?

476:デフォルトの名無しさん
13/11/27 18:08:09.96
今はオトナの時間だ
あめだまはお子さまでもしゃぶってろ

477:デフォルトの名無しさん
13/11/27 18:09:26.74
チュパチュパ…

478:デフォルトの名無しさん
13/11/27 18:09:58.10
ウッ…ドピュッ!

479:デフォルトの名無しさん
13/11/27 18:25:27.77
えらい伸びてるとおもったら。
君ら、若くても30後半だろw。もちつけ

480:デフォルトの名無しさん
13/11/27 18:37:49.05
DOS時代が青春時代だったのはアラフォーか

481:デフォルトの名無しさん
13/11/27 18:40:19.34
あらそう。

482:デフォルトの名無しさん
13/11/27 19:41:45.71
中高生の頃Windows 95時代なのにDOSばっかいじってたぞ・・・

483:デフォルトの名無しさん
13/11/27 19:59:42.73
>>473
そうだ。
WinMeまでの「メモ帳」って64kB以上のテキスト開くと落ちるんだっけ。。

484:デフォルトの名無しさん
13/11/27 22:05:28.10
Win95ですら64KB超えた場合はワードパッドで開くか聞かれたんだが
Meは知らんが

485:デフォルトの名無しさん
13/11/27 22:09:17.39
っていうか、Windowsにプリインストールされてるものは
昔からデモ版か技術プレビュー用と決まってるんだが。
DirectXやOpenGLのデモだったり、
ネット対応になったり、今はストア対応だろ?
全部デモが目的だからさ。

486:i486
13/11/27 22:15:58.95
3.1の頃からの利用者には、むしろメモ帳の容量制限がなくなっていたことに驚く

487:デフォルトの名無しさん
13/11/27 22:51:01.78
2000以降(NT)は全く別のOSですしおすし

488:デフォルトの名無しさん
13/11/27 22:53:16.99
パイプで一時ファイル作らなくなったのって
どこから?

489:デフォルトの名無しさん
13/11/27 22:54:56.03
DOS/9x系は作る
NT系は3.1からずっと作らない

490:デフォルトの名無しさん
13/11/28 10:10:55.53
DOS窓からcalc.exeとか起動したときに
今起動したcalc.exeのプロセスIDを知る手段ってある?

491:デフォルトの名無しさん
13/11/28 10:20:56.64
タスクマネージャで見る一覧みたいなのでよければ
tasklistというコマンドがあるらしい

492:デフォルトの名無しさん
13/11/28 11:55:22.63
どこかでみたコピペだな
あっちではDOS窓はcommand.comであって
cmd.exeじゃねーとか

493:デフォルトの名無しさん
13/11/28 11:57:17.66
>>491

ここだよ

>>425

494:デフォルトの名無しさん
13/11/28 11:59:38.32
そうか
ここだったか
いつになくスレ伸び過ぎてマジで判らんかった

495:デフォルトの名無しさん
13/11/28 14:27:01.88
>>490
C#だけどAPIでも同じような感じで取れる。
DOSやWin16の場合はntvdmの起動を伴う場合だけIDが返るな。
Win9x系の場合はわからないが確か取れなかったように記憶している。

using(var p = Process.Start(
 new ProcessStartInfo(args[0]) { UseShellExecute = false } )) {
 Console.WriteLine(p.Id);
 p.WaitForExit();
}

496:デフォルトの名無しさん
13/11/28 14:55:03.79
サイズ1byteのちゃんと動作するCOMプログラム作ったよ

497:デフォルトの名無しさん
13/11/28 15:14:20.27
RET(C3) いっぱつか

CP/M(8080/Z80)のプログラムを
 jp main
ではじめていた場合、
先頭はC3なので間違ってDOSで動かしても暴走しなかった。

498:デフォルトの名無しさん
13/11/28 18:21:46.22
76がnop

499:デフォルトの名無しさん
13/11/28 18:48:11.39
76はHLT

500:デフォルトの名無しさん
13/11/28 19:05:22.00
HALT
URLリンク(www.youtube.com)

501:デフォルトの名無しさん
13/11/28 19:19:44.73
How many files(0-15)?

502:デフォルトの名無しさん
13/11/28 19:28:59.42
>>499
URLリンク(blogs.yahoo.co.jp)

503:デフォルトの名無しさん
13/11/29 09:01:37.00
英語版のみだったがQuick C And Assemblerを使ってた。.asmを統合環境でコンパイル出来た環境てのはそれまで見たことが無かった。
でも割り込みハンドラーはデバッグ出来なかったような

504:デフォルトの名無しさん
13/11/29 09:11:18.05
>>452
80286以上の人はhimem.sysてのもあった

505:デフォルトの名無しさん
13/11/29 09:15:45.21
Peter NortonのIBM-PC PS/2向けDOSプログラミング本がバイブルだった当時

506:デフォルトの名無しさん
13/11/29 09:34:07.07
専ブラ使ってないひとって50個前のレスにレスする傾向があるよね

507:デフォルトの名無しさん
13/11/29 13:19:46.25
>>503
>asmを統合環境でコンパイル出来た環境てのはそれまで見たことが無かった。

TURBO Cでできたよ

508:デフォルトの名無しさん
13/11/29 16:00:06.93
統合環境の定義に入るかどうかは知らんが、
スタンダロンのICEなら普通にアセンブルもコンパイルもできたと思うが。

509:デフォルトの名無しさん
13/11/29 17:50:49.66
Cならどれでもインラインアセンブラくらい付けてるだろ

510:デフォルトの名無しさん
13/11/29 17:55:37.48
そんなことないぞ

511:デフォルトの名無しさん
13/11/29 17:56:14.41
>Cならどれでもインラインアセンブラくらい付けてるだろ

ばかじゃねーの?

512:デフォルトの名無しさん
13/11/29 17:58:42.01
TURBO Cでは別売りのTASMがあること前提だったかな

513:デフォルトの名無しさん
13/11/29 21:24:44.58
>>511
昔を知らない子供なんだから仕方ないよw

514:デフォルトの名無しさん
13/11/29 22:00:59.45
PascalといえばTurbo Pascalだが、Microsoft Quick Pascalというのを持っていたな。PC互換機向けのみで日本では発売されなかった。まあ、言語的にはオブジェクト指向のTurboには劣っていたが。

515:デフォルトの名無しさん
13/11/29 22:01:48.83
LSI-Cのインラインアセンブラは妙に書きにくかったな。
_asm_c("mov\tax,bx\n");とか。

516:デフォルトの名無しさん
13/11/29 22:05:38.55
インラインアセンブラと.asmソースをコンパイル出来ることは違うんだけど

517:デフォルトの名無しさん
13/11/29 22:10:34.79
MSのCにはインラインアセンブラ無しの頃もあってだな・・・

518:デフォルトの名無しさん
13/11/29 22:16:58.95
>>516
>インラインアセンブラと.asmソースをコンパイル出来ることは違うんだけど

誰かそんな話してるかな?

519:デフォルトの名無しさん
13/11/29 22:32:26.99
>>518
統合環境アセンブラであるQuickC & QuickAssember 2.5に対して、インラインアセンブラなら普通にあるだろ的なツッコミがあったので

520:デフォルトの名無しさん
13/11/29 22:38:44.46
>>519
>>509以降は違う話だろ。

521:デフォルトの名無しさん
13/11/29 23:07:07.14
>>517
MS-C 4.xの頃までかな、5からインラインアセンブラ付いたような。時を同じくして最適化をチョロくしたQuickC 2.0が出た。コンパイラの言語仕様が同じだったとおもう。

522:デフォルトの名無しさん
13/11/29 23:10:08.46
その当時のQuickとかTurboはRAMコンパイルが大流行りだった。まだHDDが高価でFDDのみのマシンが多かった時代、

523:デフォルトの名無しさん
13/11/29 23:10:31.25
なんで昔話で議論できるんだろうね
すごいや

524:デフォルトの名無しさん
13/11/29 23:12:05.12
スレタイが懐かしのってなってるやん

525:デフォルトの名無しさん
13/11/29 23:14:37.46
今更実機も何もなくて確認しようもないことで議論になるのが滑稽だねって

526:デフォルトの名無しさん
13/11/29 23:19:35.11
昔話のスレだから生暖かい目で見てやれよ

527:デフォルトの名無しさん
13/11/29 23:26:54.88
>>525
実機? あるでしょ

528:デフォルトの名無しさん
13/11/29 23:30:03.10
>>521
QC2.0にはインラインアセンブラ有ったんだよなw

529:デフォルトの名無しさん
13/11/29 23:31:18.02
>>525
ソフトの話題なら実行環境だけじゃん。実機は必須ではないよ。

530:デフォルトの名無しさん
13/11/29 23:31:57.37
MSDNでは今でもDOS6.22落とせるはずだからVirtual PCに仕込めば実機の出来上がり。QuickBASICやTurbo C++とかは当時のバックアップがないと厳しいか。
NEC 9801の再現はリアルマシンじゃないと無理か。

531:デフォルトの名無しさん
13/11/29 23:33:31.82
>>528
有ったよ
ただし.asmファイルの扱いはQuickAssemberがセットになった2.5のほうだけ

532:デフォルトの名無しさん
13/11/29 23:35:02.30
Turbo C version 2.01
URLリンク(edn.embarcadero.com)

Turbo C++ version 1.01
URLリンク(edn.embarcadero.com)

533:デフォルトの名無しさん
13/11/29 23:37:35.51
日本語DOSが欲しい

534:デフォルトの名無しさん
13/11/29 23:39:30.25
円馬鹿出ろ流石だな
これ当時のDOS版みたいだな
リリースがそれぞれ89年、91年か

535:デフォルトの名無しさん
13/11/29 23:41:35.49
>>533
DOS6.2/VもMSDNでは提供してるとおもう、NECとかIBMとかDR/Novellとか無理かもな

536:デフォルトの名無しさん
13/11/29 23:42:39.19
Turbo Pascal v1.0
URLリンク(edn.embarcadero.com)

Turbo Pascal v3.02
URLリンク(edn.embarcadero.com)

Turbo Pascal v5.5
URLリンク(edn.embarcadero.com)

537:デフォルトの名無しさん
13/11/30 00:02:47.87
Turbo PascalってCP/Mの頃からあったんだよな。ちょっと驚き。

538:デフォルトの名無しさん
13/11/30 00:11:46.92
>>536
Turbo Visionの使える6.0ではない所が微妙に憎たらしいなw

539:デフォルトの名無しさん
13/11/30 00:20:05.39
プログラミングではないが、随分前にMicrosoft Word 5.0(DOS版)をMSが無料開放してたことがあるが、もう無いのかな

540:デフォルトの名無しさん
13/11/30 00:22:01.99
>>537
CP-M/86とかDOS1.0とかから弄ってた人ってここのスレに居るの?

541:デフォルトの名無しさん
13/11/30 00:25:09.17
一時期DOS/OS2 dual 対応時代のコンパイラで遊んでたな。
Win2000のOS/2 subsystemでコンパイラも、
作ったプログラムもちゃんと動く。

542:デフォルトの名無しさん
13/11/30 00:28:08.96
DOSが好きどすえ~

543:デフォルトの名無しさん
13/11/30 00:29:45.48
MS-DOS ってどうよ スレリンク(os板)
■■●DOSでネットワーク●■■ スレリンク(os板)
LinuxはMS-DOSには敵わない スレリンク(os板)
CP/M-80,MSX-DOS,CDOS2を語れ! スレリンク(os板)
DOS全般を語るスレ 2 スレリンク(os板)
9821のシステムをDOS/Vに移動する方法はありますか スレリンク(os板)
■★▲DOSはまだ現役! Drive.C: スレリンク(os板)
DOS/V時代のゲームプレイ環境保全策 スレリンク(os板)
DOS欲しい奴いる? スレリンク(os板)
DOSの問題点を語るスレ スレリンク(os板)
MS-DOS系のインストールCD持ってる人いる? スレリンク(os板)
OSなんてDOSで充分だろ スレリンク(os板)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch