VOGONS


First post, by TheSeeker

User metadata
Rank Newbie
Rank
Newbie

Running the new 0.6 release and tried to install various ancient windows versions on it.

3.0 starts to install OK, but then gives an incorrect dos version: 3.1 or greater required message. (see screenshot)

other:

1.0x will start to install, but hang. I think it's trying to use diskcopy.com for the installation.

2.03 will install, but then just show the startup screen and boot to prompt with no error.

3.11 for workgroups detects subst.exe and join.exe running and gives a warning. Ignoring the warning and continuing with setup results in an "Exit to error: Unhandled CPU opcode" at default cycles, or a boot to prompt at a lower speed.

Could we get an option in the conf to set the dos version as seen by other applications?

Attachments

  • snap0000.png
    Filename
    snap0000.png
    File size
    134.74 KiB
    Views
    7142 views
    File license
    Fair use/fair dealing exception

Reply 3 of 13, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

Reported DOS version should be made configurable inside the configuration file. I would also like to know if there is a way to tweak several config.sys parameters (or equivalent) for buffers, fcbs, files, etc...

Reply 5 of 13, by MuMart

User metadata
Rank Newbie
Rank
Newbie

Microsoft tried VERY hard to prevent various versions of windows from running on IBM PCDOS and DR-DOS, so they could boost their MSDOS sales.

Just google for "AARD detection code" for some technical info.

Reply 6 of 13, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Here is the link to article about "AARD detection code":

http://www.ddj.com/documents/s=1030/ddj9309d/9309d.htm

This problem should concern only beta versions of Windows (it exists in release but is not used), but in any case it proves Microsoft's attitude to alternative versions of DOS.

Also the following is usefull (and should be remembered if ever DOSBOX tries to run Windows):
**************************************************
Certainly, it's true that DOS workalikes such as DR DOS have to pretend to be an older version of DOS (DOS 3.31, for instance) if they want to run Windows Enhanced mode. This is because of an undocumented interface shared by the Windows Enhanced mode DOSMGR virtual device driver (VxD) inside WIN386.EXE and MS-DOS 5 and 6. To appear as more recent versions of DOS, would-be clones must reverse-engineer and implement this undocumented protocol.
**************************************************
In other words: the version number configurable in DOSBOX.CONF could be useful for future.

Mirek

Reply 7 of 13, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author
The crucial and, appropriately, most obfuscated test, however, 
appears at the end of the AARD test gauntlet. This test, which was
unraveled by Geoff Chappell (geoffc@cix.compulink.co.uk) first checks
to see whether a network redirector (such as MSCDEX) is running. If a
redirector is running, the AARD code checks that DOS's default upper
case-map is located in the DOS data segment. If a redirector is not
running, the code checks that the pointer to the first simulated-file
control block (FCB-SFT) is located on a paragraph boundary; that is, it
has a 0 offset.

Dunno about the direct need for a version number in the config file.
I'm not sure if helps a thing. It's not that the version number is too low or too high. It's just the way how applications try to detect it.

lowering the version number would be bad as the internal structures of dos alter each version. Would be very awful to support all versions.

Water flows down the stream
How to ask questions the smart way!

Reply 8 of 13, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Fortunately that AARD check is not in release versions of Windows (to be precise it is not allowed there), so there is no need to try to support it (alternative DOSes run Windows even though they fail the check).

As for version number - I wonder how those DR DOSes do it? You said that internal structure changes between versions (I know that). But I doubt that those DR DOSes etc. support two versions of internal structures (one normal, one for Windows) or that they would stick for ever with pretending DOS 3.31.
IMHO they just behave as DOS 3.31 in that one specific test which is done in enhanced mode (in order to decide whether the supported IF is available).

Anyway it is rather preliminary discussion, DOSBOX is not able to run Windows in any mode (and I guess "real mode" would be the first to aim on), so this "enhanced mode" problem is far in the future. I just meant it should be remembered if DOSBOX ever comes so far.

Mirek

Reply 9 of 13, by mirekluza

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

I just now remebered. DOSEMU (or what is its name 😀 ) in Linux.

It is open source DOS emulator and it runs Windows 3.1. So they had to solve all these problems. I remember reading some document about installing Windows in DOSEMU (in short: it is possible, just do not expect much from it - probably not very high stability).

Mirek

Reply 12 of 13, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

I would imagine that if the DOSBox crew were to get something as complex as Win 3.1 working (especially in protected mode), it would mean that DOSBox at that point will have achieved an amazing compatability rate. It would be quite an accomplishment 😀

Reply 13 of 13, by Tricrokra

User metadata
Rank Newbie
Rank
Newbie
Harekiet wrote:

Seems to be more an issue with windows using some undocumented calls to determine the dos version.

That is some kind of thing happened before...
There were programs in the past that required a certain DOS version, and some spoof programs allowed those program to run on lower (or competition company created) DOS versions, but the MicroSoft programs, like MSD and Windows, DOS programs like "XCOPY" and such never fell for it...

It shows how Microsoft forced in a monopoly I suppose...

(I guess you know why I hate MicroSCHOFT 😠 )

("Schoft" is in Dutch a very strong word to refer to a bad person)

Please visit my site