facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2010/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
  •  
  • 2010/04/21(水) 12:43:18
DOS2.11の頃はDOS自体にmasmが付いていた。
Microsoft Cは98,000円もした。
29,800円で発売されたTurbo-Cにみんな飛びついた。
無料で配布されたLSI C-86試食版が大活躍してくれた。

ここまで見た
  • 3
  •  
  • 2010/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
  •  
  • 2010/04/21(水) 14:08:56
2パスか3パスのコンパイラで
Phoenix Cとかなかったっけ?

ここまで見た
  • 5
  •  
  • 2010/04/21(水) 14:13:16
>>2
家にMSC/C++あるけどマニュアルとリファレンスが何冊も入っていて吹いた
箱でかすぎw CDもネットもない時代は大変だったんだなぁと

ここまで見た
  • 6
  •  
  • 2010/04/21(水) 14:56:09
MS-DOSプログラミング、って言うぐらいならDEBUGコマンドでやろうぜ
今でも何気に搭載されてるし

ここまで見た
  • 7
  •  
  • 2010/04/21(水) 14:57:35
今でもsymdebは手放せない

ここまで見た
  • 8
  •  
  • 2010/04/21(水) 19:12:12
DOSプログラミングは青春の思い出だな

ここまで見た
  • 9
  •  
  • 2010/04/21(水) 19:12:38
>>6
edlinも今も残ってるんだよね。
DOSの生みの親Tim Paterson氏への敬意なのかな。

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

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


ここまで見た
  • 11
  • 訂正
  • 2010/04/21(水) 22:44:18
誤) MB
正) 1MB

ここまで見た
  • 12
  •  
  • 2010/04/22(木) 01:54:01
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所


ここまで見た
  • 13
  •  
  • 2010/04/22(木) 09:42:43
int 21h
の代わりに
call psp:50h
でもDOSを呼べたよね。


ここまで見た
  • 14
  •  
  • 2010/04/22(木) 09:54:23
>>2
LSI-C86試食版が安定してきたのはDOS3.1の時代以降だね。
初期は特に、sscanf()のバグが多くて指摘するのも大変だったw

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


ここまで見た
  • 16
  •  
  • 2010/04/22(木) 22:57:29
Cの標準ライブラリを使わずに
敢えて似たようなものをアセンブラで自作して
それだけ作ってプログラムしたりな

ここまで見た
  • 17
  •  
  • 2010/04/23(金) 12:00:14
プログラムの終了はINT 20HでもOK。

ここまで見た
  • 18
  •  
  • 2010/04/23(金) 12:52:16
今ならDOSBOXとかあるから、趣味ならあえて時代に逆行してもいいと思う。
どの環境でも動くからね。

ここまで見た
  • 19
  •  
  • 2010/04/23(金) 23:12:40
ファンクション31hで常駐終了するけど、
常駐させたプログラムを開放するファンクションがないので
あれこれ探したもんだ。

ここまで見た
  • 20
  •  
  • 2010/04/24(土) 07:15:19
今のWindowsプログラムより、DOS時代の方が難しく感じるものの代表だな。
>TSR

ここまで見た
  • 21
  •  
  • 2010/04/25(日) 18:46:59
LSI-C86はコメントが標準のしか使えないのが今にしてみるとめんどい
その代わりネストが可能だけど

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

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

ここまで見た
  • 23
  •  
  • 2010/04/26(月) 12:56:32
常駐開放=ベクタ復帰とメモリ開放

ここまで見た
  • 24
  •  
  • 2010/04/26(月) 18:23:49
あの時代は、どうやれば1byteでも減らせるかを考えてた。

ここまで見た
  • 25
  •  
  • 2010/04/26(月) 23:45:58
CP/M互換のシステムコール方法もあったよな。
CL=ファンクション番号でcall 0005hだったかな。

ここまで見た
  • 26
  •  
  • 2010/04/27(火) 22:40:34
CodeViewなんてのもあったね。
持ってたけどPC-98用なので今では使えない。
結局LSI-C + symdebの世話になってる。

ここまで見た
  • 27
  •  
  • 2010/04/28(水) 09:25:20
Programer's workbench

ここまで見た
  • 28
  •  
  • 2010/04/28(水) 22:43:10
DOS時代は (今も?) 統合環境なんて使わないのが常識でした。

ここまで見た
  • 29
  •  
  • 2010/04/29(木) 18:07:54
VzがあればIDEなんて不要

ここまで見た
  • 30
  •  
  • 2010/04/29(木) 22:35:44
俺はmifes派

ここまで見た
  • 31
  •  
  • 2010/04/30(金) 09:53:30
Ezカスタマイズ版やNitEmacsカスタマイズ版を使っていたのはいい思い出。

ここまで見た
  • 32
  •  
  • 2010/04/30(金) 13:18:13
EMSとかXMSとかの規格が出て来て、DOSプログラムのキャパが増えた時期が楽しかった。

ここまで見た
  • 33
  •  
  • 2010/04/30(金) 17:23:38
32bit DOS Extenderを使ったら、セグメントの呪縛から解放されて、天国にたどり着いたかのような気がした

ここまで見た
  • 34
  •  
  • 2010/05/01(土) 21:35:57
メモリモデルなんて言葉が懐かしい。
スモールでもかなりのことが出来たな。

ここまで見た
  • 35
  •  
  • 2010/05/02(日) 22:05:23
しかしスモールモデルのみとは言え、他に何の制約もないコンパイラを無償配布した
LSIジャパンの功績は大きかったと思う。

ここまで見た
  • 36
  •  
  • 2010/05/03(月) 16:34:41
LSI-C試食版に付いていたcppとmakeとlccのソースは何度も読み返した。
やはりプログラミングを覚えるには、他人の書いたある程度の規模のソースを読むのが一番。

ここまで見た
  • 37
  •  
  • 2010/05/04(火) 23:26:25
TURBO C Ver1.5つかってたときは、テキスト表示に
cprintf()やら、gotoxy()やら使って
ドラクエのメニューごときみたいなん作ってたなぁ

ここまで見た
  • 38
  •  
  • 2010/05/04(火) 23:50:13
TCのconio.hって思いっきり98依存の関数が多かったな。
text何たらとか。

ここまで見た
  • 39
  •  
  • 2010/05/06(木) 10:32:02
symdebよりdebugの方が使い出がある。
バッチコマンドからバイナリ作るとか。
ハードディスクのダイレクトアクセスとか。

ここまで見た
  • 40
  •  
  • 2010/05/06(木) 10:34:14
< バイナリ
---
> バイナリファイル

ここまで見た
  • 41
  •  
  • 2010/05/06(木) 12:01:36
>>35
βテストさせられたとも言える。標準ライブラリの出来が今ひとつだったからね。

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

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

ここまで見た
  • 42
  •  
  • 2010/05/06(木) 13:40:43
>>39
symdebで W100 2 0 1 やリダイレクトもできるぞ
(でも意味判らず試すなよ)

ここまで見た
  • 43
  •  
  • 2010/05/06(木) 22:18:42
>>41
DOS/V用Turbo-Cはお目に掛かったことがないな。日本でも売られてたの?

ここまで見た
  • 44
  •  
  • 2010/05/08(土) 03:03:00
>>43
DOS/V用じゃなくて、IBM-PC/AT互換機用だよ。DOS/V用は記憶にないけれど、あったとすれば日本専用でしょ。
# DOS/V自体が(事実上)日本専用なんだから。

ここまで見た
  • 45
  •  
  • 2010/05/08(土) 07:02:36
失礼。当時はAT互換機=DOS/V機だったから。

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

ここまで見た
  • 46
  •  
  • 2010/05/10(月) 11:15:54
マニュアルが日本語になっていて一部メッセージが日本語になっただけの翻訳版だったかな?
もう忘れたよ……

ここまで見た
  • 47
  •  
  • 2010/05/10(月) 13:13:04
Turbo-CのAX版かもね

ここまで見た
  • 48
  •  
  • 2010/05/11(火) 22:30:01
TCのマニュアルは物凄く親切な記述だったように覚えてる

ここまで見た
  • 49
  •  
  • 2010/05/12(水) 18:52:39
あの頃のBolandはよかったな
ライブラリのバグも少なかった気がする

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

ここまで見た
  • 50
  •  
  • 2010/05/13(木) 23:52:33
98用のTurbo-Cに入っていたpc98mouseという関数。
「Microsoft形式のマウスドライバには対応していません」
アンチMSぶりが良く現れてたな。

ここまで見た
  • 51
  •  
  • 2010/05/14(金) 23:54:44
98用DOS5.0が出たとき、NEC自身も、mouse.comはDOSシェル専用だから、
市販アプリでは使えないと明記していた。
でも実際にはMS形式のマウスに対応したアプリも多かった。

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

ここまで見た
  • 53
  •  
  • 2010/05/16(日) 21:03:58
マウス使うのってドライバ経由が普通だっけ?
俺はなんかI/O叩いて使ってたような気がするが
さすがに記憶が曖昧すぎて覚えていない

フリック回転寿司
フリック回転寿司
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email