[リストへもどる] [返信 ]  [新着記事] [最新50] [ワード検索] [過去ログ]

記事閲覧・返信


タイトル NT系DOS 5.0の真のバージョンは5.50
投稿日: 2024/12/07(土) 17:27
投稿者: konno
 番 号 11720   

Xの savaさん(LP-Project の Lukewarm氏)の記事で知りました。
> x86版NT系WindowsのNTVDM(DOS 5.0相当だがfunc 3306hの「真のバージョン」では5.50を返す。このことにより判別可能なのは逆に有情か…?)

そうだったんだ! 以前 NT系DOSのVerが 5.5 と表示され、?? と思ったことがありました。

> #7208: Re: commannd.com窓 投稿者:konno   2016/02/21(日)
> Meu.com ver.1.20 1991-94 (c) By SEIN
> MSDOS version = 5.50 / revision = 0 / exist in HMA
> う、commannd.com窓のDOSverは、5.50 ??

この時ははて? と思っただけですが
MEU は func 3306hを使って「真のバージョン」を返していたんですね。
ブラウンさんのリストを翻訳すると

DOS 5+ - 真のバージョン番号を取得
AX = 3306h

Return:
BL = major version
BH = minor version
DL = revision (bits 2-0, all others 0)
DH = version flags

bit 3:
DOS is in ROM

bit 4:
DOS is in HMA.
AL = FFh if true DOS version < 5.0

筆記:この関数は、AH=30h とは異なり、常に真のバージョン番号を返します。 その戻り値は SETVER で変更できます。

このようになっています。
掲示板検索したら、文太さんが過去に言及していました。
> #10540: get true ver (ax=$3306) 投稿者:文太   2023/01/29(日)
この記事で確認用のマクロも貼り付けていました。
-----------------------------------------------------------
=== Macrotmp by B ===; always returns "true" dos version
* M
50 ^^ "Macrotmp"

ax=$3306, &i($21) ;vtdos returns 6.20 here
&m("MS-DOS v%d.%d",bx&$FF,bx>>8&$FF) ;vtdos returns the ver of
; ax=$3000, &i($21) ;command.com used again.
; &m("MS-DOS v%d.%d",ax&$FF,ax>>8&$FF) ;So made, it seems.

*
-----------------------------------------------------------
でもこれは別の目的でたまたまだったようで、私は全然気が付きませんでした。(^^;


- - 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)[引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表 ※折り返しません)
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]