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,'$'

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

ここまで見た
  • 311
  •  
  • 2011/11/18(金) 20:38:14.53
emm386とかのUMB領域の検出ってどうやってるんだろう?

ここまで見た
  • 312
  •  
  • 2011/11/18(金) 22:57:49.03
4kBごとにメモリを読んで調べてたような・・・
怪しそうな領域はMSDで調べると「恐らく使用可」なんて曖昧な答えが出たりした。

ここまで見た
ここまで見た
  • 314
  •  
  • 2011/11/21(月) 01:16:07.22
>>311-312
該当アドレスにRAMを自作メモリーボードで繋げたら見つけてくれるんかな?


ここまで見た
  • 315
  •  
  • 2011/12/08(木) 22:23:44.01


ここまで見た
  • 316
  •  
  • 2011/12/15(木) 17:54:20.54
メガデモを98のDOSに移植したいんだけど、Milleniumを使う方法はないかね?


ここまで見た
  • 317
  •  
  • 2011/12/16(金) 23:43:42.65
シーラスロジックにしとけ。16ビットカラーも使える。

ここまで見た
I/Oとメモリを見えるようにしてやれば使えるだろうけど、何かと手間

ここまで見た
  • 319
  •  
  • 2011/12/17(土) 09:21:34.34
PCIは起動時にI/Oとメモリを割り当ててるから普通に見えるだろ。
(9821ではブリッヂを経由すると割り当てられないらしいが。)

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


ここまで見た
  • 320
  •  
  • 2012/01/10(火) 09:21:55.94
MS−DOSとは一体何だったのか
http://awabi.2ch.net/test/read.cgi/poverty/1326153783/l50


ここまで見た
  • 321
  •  
  • 2012/02/25(土) 21:41:54.99
保守

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

ここまで見た
  • 322
  •  
  • 2012/02/26(日) 00:07:38.09
くたばれよジジイ

ここまで見た
MS-DOSなら16[Byte]単位での節約だよねー。

くたばれよジジイ

ここまで見た
  • 324
  •  
  • 2012/02/26(日) 13:47:34.72
16 bits

ここまで見た
  • 325
  •  
  • 2012/02/27(月) 14:35:58.53
OpenWatcom 1.9でnearポインタをunsigned longにキャストしたら
セグメント:オフセット形式になったんだけど、他のコンパイラもこんなだったっけ?

ここまで見た
>>325
C はよくわからないけれども、アセンブラですら、4バイト確保してseg:off だから、多分そうじゃないかな。

ここまで見た
  • 327
  •  
  • 2012/02/27(月) 19:15:13.91
>>291

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

ここまで見た
  • 328
  •  
  • 2012/02/27(月) 23:11:26.15
プログラミングはUNIX(SunOS)から入ったから、ポインタのNEARとかFAR
とかはハァ?って感じだった。

ここまで見た
>>325
そこはFP_SEG, FP_OF, MK_FPを使おうか...。

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

ここまで見た
nearなら無関係だったか。

ここまで見た
  • 331
  •  
  • 2012/02/28(火) 18:51:22.22
MK_FPとかあったなー
今の今まで忘れてた

ここまで見た
  • 332
  •  
  • 2012/03/25(日) 10:39:32.43
Turbo C++でやってみたけどsmall/large/huge共にセグメントアドレスは入らなかった


ここまで見た
  • 333
  •  
  • 2012/03/25(日) 14:28:05.68
333

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


ここまで見た
  • 335
  •  
  • 2012/04/27(金) 01:28:31.15
そいつはDOSの守備範囲外だ。
どの機種かはしらんがキーボードBIOSをつかうか、
あるいはキーボードI/Oを直接叩くしかないぞ。

ここまで見た
  • 336
  •  
  • 2012/04/27(金) 01:32:28.40
>>334
こんなもんだろう
 org 100h
 mov ah,02h
 int 16h
 mov ah,4ch
 int 21h
んでERRORLEVELで結果を見ればよろし


ここまで見た
  • 337
  •  
  • 2012/04/27(金) 05:34:38.03
昔ならBUで一発だったのにな

ここまで見た
  • 338
  •  
  • 2012/04/28(土) 00:11:39.06
>>336
それでできました
ありがとう
>>337
バッチユーティリティ落としました
いいですねこれ

ここまで見た
  • 339
  •  
  • 2012/04/29(日) 20:59:15.23
アセンブラでexe形式のソフトを作っているのですが
コマンドラインからの引数はどのようにすると参照できますか?

ここまで見た
ここまで見た
  • 341
  • 339
  • 2012/04/29(日) 21:49:32.99
exe形式ならES:0000hのPSPを参照すれば引数がわかるんですね。

ここまで見た
  • 342
  •  
  • 2012/04/30(月) 22:22:15.63
psp:80hにコマンドラインの文字列が置かれ、同時にデフォルトDTAでもあった。
懐かしいねぇ。

ここまで見た
  • 343
  •  
  • 2012/04/30(月) 23:06:33.05
過去形じゃなくて今でもそうだけどな

ここまで見た
  • 344
  •  
  • 2012/05/01(火) 22:41:20.07
64bitOSの普及で過去形になりつつある。
仮想86モードがあっさり切られるとはね。

ここまで見た
  • 345
  •  
  • 2012/05/02(水) 00:16:55.51
ロングモードから仮想86モードに移行できないだけで
仮想86モードが切られたわけじゃないと思うが。

ここまで見た
  • 346
  •  
  • 2012/05/02(水) 13:44:20.24
逆アセンブラは何を使ってますか?

ここまで見た
  • 347
  •  
  • 2012/05/02(水) 22:39:58.48
symdeb

ここまで見た
  • 348
  •  
  • 2012/05/03(木) 10:12:33.13
wdis (the Open Watcom disassembler)

Current State|Wasm
http://www.openwatcom.org/index.php/Wasm

ここまで見た
  • 349
  •  
  • 2012/05/03(木) 17:01:30.04
xda

ここまで見た
  • 350
  •  
  • 2012/06/10(日) 21:10:04.11
これは凄い。

Creating a raytracer for DOS, in 16 VGA colors
http://www.youtube.com/watch?v=N8elxpSu9pw


ここまで見た
  • 351
  •  
  • 2012/06/23(土) 23:38:25.39
int 20

Linuxよこんにちは

ここまで見た
  • 352
  •  
  • 2012/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
  •  
  • 2012/06/26(火) 19:18:07.23
秘孔を突いてしまったのですね

ここまで見た
  • 354
  •  
  • 2012/06/26(火) 21:58:52.30
まぁ、実験用のマシンだから別に壊れても構わない

ここまで見た
  • 355
  •  
  • 2012/06/27(水) 09:06:21.99
Cを覚え始めて楽しくなってきた頃、
>>352なことは誰もがやるよねw

ここまで見た
  • 356
  •  
  • 2012/06/27(水) 11:42:52.22
既にPC-8001でさんざんやった後だから、Cではポート叩くのはやってないなぁ。
精々RAMDISKのドライバ作ったくらい。

ここまで見た
  • 357
  •  
  • 2012/06/27(水) 11:48:31.07
>>355
誰もが? >>352とお前だけだ

ここまで見た
  • 358
  •  
  • 2012/06/27(水) 12:00:10.91
>>357
探究心のないやつだなぁ。乱数を使うのは間抜けかもしれないが。

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

ここまで見た
  • 359
  •  
  • 2012/06/27(水) 13:24:17.98
RAMDISK は cache にするべきだったな

ここまで見た
  • 360
  •  
  • 2012/06/27(水) 15:29:53.65
>>358
小学校低学年レベルの探究心の話をしてたのか
それは失礼w

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

★お気に入り追加

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