mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
msg db '懐かしのDOS時代のプログラミングについて語ろうぜ ver.2',0dh,0ah,'$'
前スレ
懐かしのMS-DOSプログラミング
http://toro.2ch.net/test/read.cgi/tech/1271821343/
懐かしのMS-DOSプログラミング ver.2
■ このスレッドは過去ログ倉庫に格納されています
2014/05/15(木) 22:29:17.71ID:wgclvry3
342デフォルトの名無しさん
2017/01/03(火) 23:12:51.54ID:tIB0Geiv timeout で最後まで待ったら処理A、途中でキーを押したら処理Bに分岐したいです
343デフォルトの名無しさん
2017/01/04(水) 01:01:34.11ID:MZRDhGwM for /f "usebackq tokens=3" %i in (`timeout 3`) do set res=%i
「0 秒待っています。続行するには何かキーを押してください ...」←普段はこの左の数字が変化するけど
「3 秒待っています。続行するには何かキーを押してください ..0」←for文では左の数字は固定で..のあとに変化する数字が付くことに気づきました
これで途中でキーを押せば「...」「..2」など、最後まで待てば「..0」を取得できました
しかし、なぜか
if %res%==..0
で比較できません…
何か目に見えない特殊な文字コードが入っている?
「0 秒待っています。続行するには何かキーを押してください ...」←普段はこの左の数字が変化するけど
「3 秒待っています。続行するには何かキーを押してください ..0」←for文では左の数字は固定で..のあとに変化する数字が付くことに気づきました
これで途中でキーを押せば「...」「..2」など、最後まで待てば「..0」を取得できました
しかし、なぜか
if %res%==..0
で比較できません…
何か目に見えない特殊な文字コードが入っている?
344デフォルトの名無しさん
2017/01/04(水) 01:33:52.26ID:MZRDhGwM %res:~8,1%
これが空なら途中でキーを押した、0なら最後まで待ったということが分かりましたw
なんとかなりましたorz
見た目は「..0」でも1文字ずつ調べるとピリオドは3つあり、「...(空)2(空)1(空)0」となっていました
(空)はたぶん制御文字で、途中でキーを押すと最後の0まで伸びない
秒数に応じて(空)も合わせて2つづつ位置が伸びるようで、5秒なら %res:~12,1%
これが空なら途中でキーを押した、0なら最後まで待ったということが分かりましたw
なんとかなりましたorz
見た目は「..0」でも1文字ずつ調べるとピリオドは3つあり、「...(空)2(空)1(空)0」となっていました
(空)はたぶん制御文字で、途中でキーを押すと最後の0まで伸びない
秒数に応じて(空)も合わせて2つづつ位置が伸びるようで、5秒なら %res:~12,1%
345デフォルトの名無しさん
2017/04/23(日) 03:31:30.84ID:H8Cvp+NU AT-互換機のDOS互換FDDブートかWindowsの16bitモードやDOSBOX等で動くLSI-Cで
VRAMに図形を出すのって何処かに例はありますか?
VRAMに図形を出すのって何処かに例はありますか?
346デフォルトの名無しさん
2017/04/23(日) 13:48:25.26ID:O7b/t+5P Turbo C++ for Windows 7, 8, 8.1 and Windows 10
ttp://turboc.codeplex.com/
ttp://turboc.codeplex.com/
347デフォルトの名無しさん
2017/06/05(月) 14:58:52.67ID:yTD0hQm/ memo
【ランサムウエア】「身代金要求型」不正ウイルス作成の疑い 中学生を逮捕
asahi.2ch.net
test
read.cgi
newsplus
1496631476
【自作PC】AMD、32コア/64スレッドのEPYCを6月20日、次世代のRadeon VegaはSIGGRAPHで発表
asahi.2ch.net
test
read.cgi
newsplus
1496264554
【ランサムウエア】「身代金要求型」不正ウイルス作成の疑い 中学生を逮捕
asahi.2ch.net
test
read.cgi
newsplus
1496631476
【自作PC】AMD、32コア/64スレッドのEPYCを6月20日、次世代のRadeon VegaはSIGGRAPHで発表
asahi.2ch.net
test
read.cgi
newsplus
1496264554
348デフォルトの名無しさん
2018/02/16(金) 06:36:37.30ID:W1XJdyx1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
349デフォルトの名無しさん
2018/05/23(水) 22:16:44.71ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
2FT6E
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
2FT6E
350デフォルトの名無しさん
2018/07/04(水) 23:47:27.16ID:gFgZc5FG EIR
351デフォルトの名無しさん
2018/11/08(木) 16:09:22.71ID:vbhiXs8X PC/AT の VGA カードって、PC-9801みたいに、テキストとグラフィックの画面の合成はできないのでしょうか。
352デフォルトの名無しさん
2018/11/08(木) 18:45:12.55ID:cDcIjCKR >>351
多分、出来ないんじゃないかな、たとえ1バイトの ASCII 文字であっても。
「text mode」はあるけれど、「mode」という言葉が示すとおり、グラフィック mode
とは切り替えて使っていただと思う。PC-9801 や PC-8801 では、text と
graphic をハードウェア的に重ね合わせることが出来て便利だったけれど。
多分、出来ないんじゃないかな、たとえ1バイトの ASCII 文字であっても。
「text mode」はあるけれど、「mode」という言葉が示すとおり、グラフィック mode
とは切り替えて使っていただと思う。PC-9801 や PC-8801 では、text と
graphic をハードウェア的に重ね合わせることが出来て便利だったけれど。
353352
2018/11/09(金) 15:22:02.19ID:mgnuIu1c [VGA]
・640 x 480, 16色/モノクロ
・640 x 200, 16色/モノクロ (EGA 互換)
16色は、4BIT分使うから、(640*480*4/8)/1024 = 150 で、
640 x 480 x 4BIT は、150(KB)。また、
640*480*4/8 = 0x25800。
[EGA]
典型例:
・640 x 350, 64色中の16色/モノクロ
・640 x 200, 16色
[CGA]
text mode と graphic mode を持つ。
・320 x 200, 16色のうちの4色
・640 x 200, 2色
PC/AT の video memory は、古い仕様書では、0xA0000 - 0xBFFFF (128KB)と
なっているが、実際は 「RAM」だけでも、150(KB)以上あるはず。
仕様書的には典型的なアドレスは、
0xA0000 : EGA/VGA graphics modes (64 KB)
0xB0000 : monochrome text mode (32 KB)
0xB8000 : color text mode and CGA-compatible graphics modes (32 KB)
0xC0000 : Video BIOS の ROM ---> VGA の場合は、ROM ではなく、VRAMのはず。
となっており、VGA での text buffer は、0xB8000 となっている。
0xA0000 から 150KB までの領域は、最終アドレスが、0xC57FF となり、
0xB8000 と重なってしまう。なので、graphic と text の同時使用は出来
ないハズ。ただし、ネットで入手できる仕様書は概ね かなり古いようだが。
・640 x 480, 16色/モノクロ
・640 x 200, 16色/モノクロ (EGA 互換)
16色は、4BIT分使うから、(640*480*4/8)/1024 = 150 で、
640 x 480 x 4BIT は、150(KB)。また、
640*480*4/8 = 0x25800。
[EGA]
典型例:
・640 x 350, 64色中の16色/モノクロ
・640 x 200, 16色
[CGA]
text mode と graphic mode を持つ。
・320 x 200, 16色のうちの4色
・640 x 200, 2色
PC/AT の video memory は、古い仕様書では、0xA0000 - 0xBFFFF (128KB)と
なっているが、実際は 「RAM」だけでも、150(KB)以上あるはず。
仕様書的には典型的なアドレスは、
0xA0000 : EGA/VGA graphics modes (64 KB)
0xB0000 : monochrome text mode (32 KB)
0xB8000 : color text mode and CGA-compatible graphics modes (32 KB)
0xC0000 : Video BIOS の ROM ---> VGA の場合は、ROM ではなく、VRAMのはず。
となっており、VGA での text buffer は、0xB8000 となっている。
0xA0000 から 150KB までの領域は、最終アドレスが、0xC57FF となり、
0xB8000 と重なってしまう。なので、graphic と text の同時使用は出来
ないハズ。ただし、ネットで入手できる仕様書は概ね かなり古いようだが。
354352
2018/11/09(金) 16:06:28.02ID:mgnuIu1c 【CGA】
https://www.seasip.info/VintagePC/cga.html
[Graphics Modes]
In the two graphics modes, all memory is used for the framebuffer. Each row is 80 bytes.
At the beginning of memory are the first set of rows (0, 2, 4, ..., 198); offset by 8k are
the second set (1, 3, 5, ..., 199). This may have been to make it easier for the hardware
to produce an interlaced picture, but it's a pain to program.
グラフィック・モードでは、1ラインは、80バイトで、
0行目、2行目、4行目、・・・、198行目
と続いた後、先頭から 8KB 離れて、
1行目、3行目、5行目、・・・、199行目
となっていたらしい。
In low-resolution graphics mode (320x200), a byte corresponds to four pixels; in high-resolution
mode (640x200), a byte corresponds to 8. In each case, the highest-numbered bits correspond
to the leftmost pixel.
↑は、つまり、320x200 では、4色だから、1ピクセル当たり2BIT。
よって、8/2 = 4 で、1バイト当たりで、4ピクセル。
この場合、1行は、4(ピクセル/バイト) × 80(バイト) = 320(ピクセル)。
640x200 は、モノクロモードだから、8BIT で、8ピクセルに相当。
つまり、4色カラーモードでも、当初からパックド・ピクセル方式だったらしい。
この場合、1行は、8(ピクセル/バイト) × 80(バイト) = 640(ピクセル)。
https://www.seasip.info/VintagePC/cga.html
[Graphics Modes]
In the two graphics modes, all memory is used for the framebuffer. Each row is 80 bytes.
At the beginning of memory are the first set of rows (0, 2, 4, ..., 198); offset by 8k are
the second set (1, 3, 5, ..., 199). This may have been to make it easier for the hardware
to produce an interlaced picture, but it's a pain to program.
グラフィック・モードでは、1ラインは、80バイトで、
0行目、2行目、4行目、・・・、198行目
と続いた後、先頭から 8KB 離れて、
1行目、3行目、5行目、・・・、199行目
となっていたらしい。
In low-resolution graphics mode (320x200), a byte corresponds to four pixels; in high-resolution
mode (640x200), a byte corresponds to 8. In each case, the highest-numbered bits correspond
to the leftmost pixel.
↑は、つまり、320x200 では、4色だから、1ピクセル当たり2BIT。
よって、8/2 = 4 で、1バイト当たりで、4ピクセル。
この場合、1行は、4(ピクセル/バイト) × 80(バイト) = 320(ピクセル)。
640x200 は、モノクロモードだから、8BIT で、8ピクセルに相当。
つまり、4色カラーモードでも、当初からパックド・ピクセル方式だったらしい。
この場合、1行は、8(ピクセル/バイト) × 80(バイト) = 640(ピクセル)。
355352
2018/11/09(金) 16:41:28.91ID:mgnuIu1c >>351
見つけた。CGA では、排他使用しか出来なかったらしい。
多分、この伝統を VGA も受け継いでいたと考えられる:
【Register I/O】
03D8h: Mode control register
The following bits are used:
Bit 1: Graphics mode
If this bit is set, the display RAM will be treated as bitmap graphics rather than as text.
↑[I/O ポート、0x3D8]
BIT1 = 0 : display RAM will be treated as text.
1 : display RAM will be treated as bitmap graphics.
見つけた。CGA では、排他使用しか出来なかったらしい。
多分、この伝統を VGA も受け継いでいたと考えられる:
【Register I/O】
03D8h: Mode control register
The following bits are used:
Bit 1: Graphics mode
If this bit is set, the display RAM will be treated as bitmap graphics rather than as text.
↑[I/O ポート、0x3D8]
BIT1 = 0 : display RAM will be treated as text.
1 : display RAM will be treated as bitmap graphics.
356デフォルトの名無しさん
2018/11/10(土) 12:38:05.67ID:2tjkLAbl 昔の人のほうが頭使ってた気がする
357デフォルトの名無しさん
2018/11/10(土) 13:58:30.77ID:g7tZUN2t >>356
ゆとりが悪い
ゆとりが悪い
358デフォルトの名無しさん
2018/11/10(土) 16:53:22.03ID:mr47SEAg ちなみに、おいらは、昔の人全体の代表ではない。
昔から、浮いた、もとい、特殊な存在だったよ。
昔から、浮いた、もとい、特殊な存在だったよ。
359デフォルトの名無しさん
2018/11/11(日) 03:11:43.95ID:4b5Szb0b 昔から今に至るまで中二病が良くなってないのか
ご愁傷様
ご愁傷様
360デフォルトの名無しさん
2019/04/05(金) 13:07:38.08ID:RIbaYTZD パンチカードでプログラミングの体験したい
361デフォルトの名無しさん
2019/04/05(金) 18:03:16.74ID:H6W88Bbl okitacはカードでtosbacは紙テープだったな
362デフォルトの名無しさん
2019/04/05(金) 22:01:28.30ID:2ukm4Pa5 昔、ウルトラマンで紙テープを読みとるの見て憧れたな。
363デフォルトの名無しさん
2019/04/05(金) 23:30:38.78ID:YlNbo3fd 仮面ライダーV3はカタカナ表示がスクロールしてたぞ
364デフォルトの名無しさん
2019/04/06(土) 06:38:29.24ID:25bhzAdA 和文もあるのか?
Windows7 が走る機械で編集・コンパイルして PC-9801FA にバイナリーを送り込む、ってのを最終的にやりたいのですが、
そしてデータ受け渡しは RS-232C が適当だと思っていますが、手をつけるにあたって何かいい方法・書籍・Cバス基盤はありませんか?
そしてデータ受け渡しは RS-232C が適当だと思っていますが、手をつけるにあたって何かいい方法・書籍・Cバス基盤はありませんか?
366デフォルトの名無しさん
2020/01/05(日) 02:26:57.67ID:/f8ZqQ50 >>365
PC9801関連のスレで聞いた方がよいのでは?
RS-232Cなら標準搭載しているのでCバス拡張ボードは不要なんじゃ。
それよりバイナリ転送するなら、ホスト側はUSBポートしかない機種だとRS-USB変換アダプタの
フロー制御でハードウェア・ハンドシェイクできる製品を検討することが重要な気がするけど。
仮に、MS-DOS側(=PC9801)の転送ソフトを知識ゼロから自作したいという話だとしても
CCT-98IIIとかフリーソフトとかの転送用ソフトで試してみては?
様々なバイナリ転送プロトコルを勉強したいとかなら廃刊になったCマガジンとか。
(今では電子書籍で安価に買えるみたい)
PC9801関連のスレで聞いた方がよいのでは?
RS-232Cなら標準搭載しているのでCバス拡張ボードは不要なんじゃ。
それよりバイナリ転送するなら、ホスト側はUSBポートしかない機種だとRS-USB変換アダプタの
フロー制御でハードウェア・ハンドシェイクできる製品を検討することが重要な気がするけど。
仮に、MS-DOS側(=PC9801)の転送ソフトを知識ゼロから自作したいという話だとしても
CCT-98IIIとかフリーソフトとかの転送用ソフトで試してみては?
様々なバイナリ転送プロトコルを勉強したいとかなら廃刊になったCマガジンとか。
(今では電子書籍で安価に買えるみたい)
367デフォルトの名無しさん
2021/08/04(水) 01:20:33.88ID:j/I41xD/ >>365
素直にUSB接続のFDDを買いなよ・・・
素直にUSB接続のFDDを買いなよ・・・
368デフォルトの名無しさん
2021/08/09(月) 03:13:50.04ID:TVSytFqE369デフォルトの名無しさん
2021/08/09(月) 03:14:58.82ID:TVSytFqE あるいはヘキサダンプをプリントアウトしてPC-9801FAでバイナリエディタを使って手入力w
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 旧姓使用拡大に連合会長が反発 「何の説明もない。選択的夫婦別氏制度導入を」 男女共同参画会議 [ぐれ★]
- 向こう3カ月のコメ価格、下落予想強まる…新の収穫量増え需給緩むか 米穀安定供給…調査 [蚤の市★]
