VOGONS


First post, by 3rock

User metadata
Rank Newbie
Rank
Newbie

Hi,

I'm trying to figure out why DOSBox doesn't allow app's to see the volume serial number?

I've got a copy protected dos app that requires registration and uses the Volume Serial Number to do that. It doesn't need to be on drive C:, doesn't verify the VSN through hardware, works under XP and qemu.

I downloaded vol.exe from FreeDOS, it reported the wrong number (0000-1234) under DOSBox. I tried re-registering using that number, but no go.

I'm running the app off a USB drive, it's registered with the flash drives VSN. Works under XP, but I need to run it in a window to take screenshots (I can't get it to do that under XP, it always goes fullscreen and grabs all input until terminated and yes I have tried to change the settings for Windows dos box to keep it in a window). The app also needs to share files with certain Windows app's, so locking it in a qemu hard drive image would make things difficult.

Reply 2 of 7, by 3rock

User metadata
Rank Newbie
Rank
Newbie

Any idea on how to fake it?

Reply 3 of 7, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

a disc image maybe, but that would introduce the same problem as qemu.

Probably would have to code support it.

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

Reply 4 of 7, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

You could (I think) fake it if you could load a TSR-program that always reported that VSN. Or you could compile your own version of DOSBox and have DOSBox report the desired VSN. But since I am not a programmer I don't know how difficult it would be.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 5 of 7, by 3rock

User metadata
Rank Newbie
Rank
Newbie

Would you be interested if a disc image didn't work?

I'm also thinking that it may be using dir or vol to see the VSN, as it isn't looking directly at the hardware. vol is easy to fake, I'm not sure how to go about it with dir.

Reply 6 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

There are several ways of reading volume info. The most direct method is INT 21/69, which DOSBox doesn't support (it sets the carry flag, but doesn't provide a meaningful error code, which could confuse programs a bit).

Another method is with the IOCTL call INT 21/440D subfunction 66, which DOSBox does support, although it fabricates some of the information it reports, such as that 0000:1234 serial number.

If the application in question is using INT 21/69, it's understandable that it's not happy. However, booting real DOS with an image might work in that case. It would be a fairly simple little program to take the results of the IOCTL call and report that same info for INT 21/69.

Reply 7 of 7, by collector

User metadata
Rank l33t
Rank
l33t

I haven't spent any time looking into it, but I wonder if this is the same reason that some of the old Sierra AGI games can't find the original floppy, even though it is mounted as the A: drive, and mounted as a floppy. The original disks usually do not have labels, either. It might be looking for the VSN.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers