flat assembler
Message board for the users of flat assembler.

flat assembler > DOS > DOS version detection

Author
Thread Post new topic Reply to topic
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
First of all, sorry if my bumping this thread annoys anyone. Smile


  1. 10 Big Myths about copyright explained.
  2. reported DOS versions (see below):


Code:
- different DOS-compatible OSes report different (usually phony)
  versions (from int 21h,30h or int 21h,3306h) for compatibility:

  - DR-DOS 7.03 reports 6.00
  - Win XP Home SP2 reports 5.00
  - RxDOS 7.2 beta reports 6.20
  - MS-DOS 6.22 reports 6.22 (no surprise there)
  - FreeDOS Beta 8 (install bootdisk) reports 5.00
  - FreeDOS Beta 9 sr 2 (ODIN 0.72 bootdisk) reports 7.10
  - Win 95 (my minimal bootdisk) reports 7.00
  - DOSbox 0.65 reports 5.00

  - DR-DOS does this without SETVER.EXE loaded and despite %VER%=7
    - (SETVER is usually only needed for oldies like some MS-DOS 5.00
       apps, etc.)
       - not sure about SETVER /X, though (advanced version
         reporting)
         - that's a bit too complex for my understanding!   Smile

    - there is a way to find out the real DR-DOS version:

      MOV AX, 4452h      ; (4452h = 'DR')
      STC
      INT 21h
      JC Not_DR-DOS

      - DR-DOS 7.03 Lite returns 1073h in AX:
        10h = single user, 73h = 7.02 beta1 or newer ?
        - (refer to Ralf Brown's list: INTER61?.ZIP: ? = [A-F])

- DR-DOS VER (built-in) doesn't support /R
  - this VER is silly (useless?) because it only reports the value of %VER%
    - e.g., "set VER=3" then "VER":

---------------------<snippet #1 begins>-----------------------------------
        Caldera DR-DOS 3.03
        Copyright (c) 1976, 1998 Caldera, Inc.  All rights reserved.
---------------------<snippet #1 ends>-------------------------------------

- 4DOS 4.50 build 130 (built-in VER) reports 'Novell DOS 7.00' on DR-DOS 7.03 Lite
    
Post 20 Jun 2006, 04:06
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
http://fd-doc.sourceforge.net/faq/cgi-bin/viewfaq.cgi?faq=General_Information/557

Code:

========================
 FreeDOS identification
========================

nobody@???.?.?.? / Mon Jan 9 19:36:18 2006

How does FreeDOS identify itself (30h, INT 21h)?
How might this change as FreeDOS evolves?

-=================================================-

eric / Tue Jan 10 02:38:40 2006

Hi, Ralf Brown's Interrupt List tells:
--------D-2130-------------------------------
INT 21 - DOS 2+ - GET DOS VERSION
        AH = 30h
---DOS 5+ ---
        AL = what to return in BH
            00h OEM number (see #01394)
            01h version flag

Return: AL = major version number (00h if DOS 1.x)
        AH = minor version number
        BL:CX = 24-bit user serial number (not used often)
---if DOS <5 or AL=00h---
        BH = MS-DOS OEM number (see #01394)

The OEM number for FreeDOS is 0FDh.
We also use BL as build index.
You can also get the version STRING with function
int 21, AX=33ff, returns segment, offset in DX, AX.
Or look for os_release in the sources.

-=================================================-

    
Post 08 Feb 2007, 21:39
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
And guess what? I've now discovered that a certain author no longer has any interest in FreeDOS (he says they insulted him), so he has (as of a year ago) closed his sources and actually implemented a version detect to NOT work on FreeDOS (although it works okay on other DOSes, supposedly).

I guess detecting specific versions is a two-sided street. Either you use it for improved compatibility or for holding grudges. Sad

BTW, I'm not posting a link nor mentioning his/her name so as not to fan the flames. Surely this version detect could be worked around (I doubt the author is naive), but I definitely won't. Plus, it would only make him/her mad(der?).

But, seriously, why such a big deal? Isn't this a little immature? Oh well, we all have our flaws. Razz
Post 26 Feb 2007, 20:34
View user's profile Send private message Visit poster's website Reply with quote
scientica
Retired moderator


Joined: 16 Jun 2003
Posts: 689
Location: Linköping, Sweden
moderation notice: thread splitt/moved from old post
Post 28 Feb 2007, 14:51
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
Yes, I was wondering if this should be moved, so thanks.

smiddy posted some of his DOS id code in that old v2os thread (because Dex/ASHLEY needed it for his OS), but he's too busy (upcoming baby? congrats!) to really add much to this nowadays. Smile Anyways, I'm pretty sure he's wrong in that MS-DOS 8.0 is really WinME.

P.S. DR-DOS was, at one time, prevented from running Windows 3.x, but eventually they patched it to work. (I only recently tried briefly installing/running Win 3.0 on 7.03 ... it does indeed work. But, Win95 supposedly won't.)
Post 01 Mar 2007, 03:28
View user's profile Send private message Visit poster's website Reply with quote
Hayden



Joined: 06 Oct 2005
Posts: 132
windows 9x ect... fails to install under dr-dos

_________________
New User.. Hayden McKay.
Post 26 Apr 2007, 18:17
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1904
Quote:
windows 9x ect... fails to install under dr-dos/


Nonsense. "9x ect" is NOT a DOS app and not supposed to run/install under FreeDOS/DR-DOS/EDR-DOS or anything except the included bootloader Very Happy
Post 27 Apr 2007, 07:12
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
But the installer runs under DOS
Post 27 Apr 2007, 13:53
View user's profile Send private message Reply with quote
Hayden



Joined: 06 Oct 2005
Posts: 132
Quote:

Nonsense. "9x ect" is NOT a DOS app and not supposed to run/install under FreeDOS/DR-DOS/EDR-DOS or anything except the included bootloader


I had an old computer with no boot from cd option in the bios so I tried to load dr-dos from floppy and install windows manualy from the cd but installer ended up failing ( after it coppied setup files to the HD ), also tried caldra-dos with no success. I ended up haveing to go to workshop and get windows me bootdisk.

from memory... ms-dos clones will have thier own oem version numbers, however the version number returned by function AH=30h will return the ms-dos version compatability. I don't know how true this is....

_________________
New User.. Hayden McKay.
Post 27 Apr 2007, 17:54
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
DR-DOS will not run Win95 or later (though in-house they patched it to work but never released such). It will only run Win 3.x etc. But, since Win95 and later include their own DOS (so to speak), you don't need it anyway.

If you can read the CD-ROM via a FreeDOS bootdisk (using XCDROM or your native DOS CD-ROM driver plus SHSUCDX loaded), then you can ideally copy or unpack the .CAB files and grab what you need for making a boot disk. Or try something like eltorito.sys (haven't tried that, but it sounds like it'd be useful, at least).
Post 24 May 2007, 06:07
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2019, Tomasz Grysztar.

Powered by rwasa.