VOGONS


First post, by Valentine

User metadata
Rank Newbie
Rank
Newbie

I'm trying to install my old game "Machiavelli The Prince" (see here if you aren't familiar with it) using DOSBox. I have a C: drive mounted and a D: drive as the CD-ROM (and I've tried both a folder on my hard disk and the actual CD-ROM drive for the D: drive). But when I run the installation, I get the following error:

The game needs 0 bytes of disk space.
You only have 0 bytes available.

Someone else here apparently encountered this problem with a different game, as you can read here. Unfortunately their solution is geared specifically to "Return of the Phantom" best as I can tell.

How do I get around this issue for Machiavelli?

In the spirit of this post, here are my specs (as best as I can figure it out):

  • I have no idea what my motherboard is. I have a MacBook Pro, newly purchased this last January (2010).
  • The processor is a 2.8 GHz Intel Core 2 Duo.
  • I don't know the type of RAM, but I have 8 GB of it.
  • I'm a little confused about the video board information; it looks like I have two, which doesn't seem plausible. The first is an NVIDIA GeForce 9400M with 256 MB VRAM. The second is an NVIDIA GeForce 9600M GT with 512 MB VRAM.
  • The sound board information doesn't seem to be very detailed at all. It says "Built In" and describes itself as "Intel High Definition Audio".
  • I'm running Mac OS X version 10.6.3.
  • The game is "Machiavelli The Prince", as mentioned above.
  • I think I described the problem in enough detail above.
  • The problem happens with 100% consistency.
  • I'm not sure what's meant by "sound mode used". I'm using the default settings for DOSBox.
  • Ditto for "video mode".
  • I'm using DOSBox 0.74.
  • I've tried mounting a local folder as the CD-ROM, mounting the CD drive as the CD-ROM, and even just installing from the mounted C: drive (which is a folder in my home folder). The program can tell when it's trying to be installed from a local hard drive and objects, saying that it has to be installed from the original CD (presumably as an old anti-piracy effort). Otherwise, the location of the installation is totally irrelevant; the problem occurs from any "CD" installation drive.

Thanks for any help!

Reply 1 of 16, by Valentine

User metadata
Rank Newbie
Rank
Newbie

One other thing: According to the Wikipedia article I linked to in the original post, one can get this game to run on DOSBox by turning off EMS. This is supposedly done by going into a dosbox.conf file and changing "ems=true" to "ems=false".

Unfortunately, I just can't find this file anywhere!

Reply 2 of 16, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

DOSBox only shows 260 meg of free HD space. The install may need either more or less.

Try playing around with the -freesize switch for the mount command.

How To Ask Questions The Smart Way
Make your games work offline

Reply 4 of 16, by Valentine

User metadata
Rank Newbie
Rank
Newbie

DosFreak: I'll experiment with that a bit. Thank you!

robertmo: I had looked at that; it just didn't seem to say anything about the kinds of modifications that would help. But! Since you suggested it again, I looked and guessed that you might be pointing at the preferences file that I had previously ignored since I didn't care about auto-mounting. Lo, the settings I've been looking for are there! So thank you!

Reply 6 of 16, by Valentine

User metadata
Rank Newbie
Rank
Newbie

post your mount lines and what is written under every mount line

Sure.

I type:

mount C ~/dosgames

and get the response:

Drive C is mounted as local directory /Users/Valentine/dosgames/

I type:

mount D ~/doscd -t cdrom -ioctl

and get the response:

MSCDEX: Mounted subdirectory: limited support.
Drive D is mounted as CDRom /Users/Valentine/doscd

(I added the "-ioctl" as a suggestion from this tutorial, though admittedly I haven't a clue what that code does. Not adding those parameters gives no discernable difference to behavior at all that I've found.)

post what is written after you type "mount"

Sure:

Current mounted drives are:
Drive C is mounted as local directory /Users/Valentine/dosgames/
Drive D is mounted as CDRom /Users/Valentine/doscd/
Drive Z is mounted as Internal Virtual Drive

As an aside, I've tried everything I could think of to try with the preferences file, including messing with the -freespace command as DosFreak suggested, and it has had no effect at all. I tried looking through the readme and even tutorials aimed at OS X; the only two things of seeming relevance I've found thus far are (a) that Wikipedia reference to the game working fine in DOSBox when EMS is turned off (which didn't affect this installation problem) and (b) that "Return of the Phantom" problem that someone else encountered that's identical to my difficulty, plus a workaround that is for that specific game.

Edit: Apparently it's on the DOSBox database as working perfectly well, as you can see here. Unfortunately there's no mention at all of this installation problem.

Reply 8 of 16, by Valentine

User metadata
Rank Newbie
Rank
Newbie
robertmo wrote:

I have. Twice. The problem I'm having doesn't seem to be addressed in this guide. In the OS X guide, step 5 suggests just running the installation program. That works fine, but the installation program claims that the program "needs 0 bytes" and that I "only have 0 bytes", and thus simply won't install. I can't get past that error to a point where the game will install and play.

I should add, by the way, that the installation program claims that my system meets all the minimum requirements for the game. This error appears only when I tell it to actually start the installation.

I've read through the ReadMe file, searched the Wiki, looked through the various Guides here on Vogons, and searched through every FAQ I could find. All I can find are references to the game working perfectly well for other people and one reference to a different game ("Return of the Phantom") having this same problem at installation along with a fix that seems specific to that other game.

If I'm missing something on the guide you've pointed me toward, would you be so kind as to specify what it is I'm missing?

Thank you.

Reply 10 of 16, by Valentine

User metadata
Rank Newbie
Rank
Newbie
robertmo wrote:

> MSCDEX: Mounted subdirectory: limited support.

this is wrong

mount a real cd or imgmount image

I've done that. I've tried using "mount d /Volumes/Untitled -t cdrom", and it can find the physical CD when I do that, but it still says that it gives "limited support" (and gives the "0 bytes" error).

Since you seem to think that's the problem, I tried looking up ways of getting around having "limited support". I found this:

http://forum.magicball.net/showthread.php?t=14026

I tried the code there that they suggest, which on my machine comes out like so:

mount d /Volumes/Untitled -t cdrom -label Untitled -usecd 0

(Yes, I checked that the number that goes there is indeed zero.) That got me the following response in DOSBox:

MSCDEX installed.
Drive D is mounted as CDRom /Volumes/Untitled

Yet when I run the installation program from the disk, it yields exactly the same error (the "0 bytes" thing).

Have I misunderstood your suggestion? Or is there something else going on here?

Reply 13 of 16, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Have you tried using the debugger enabled version of dosbox to see if some interesting message pops up (it is in the development forum). You seem to mount things right, so it must be a compatibility problem of dosbox.

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

Reply 14 of 16, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The installer for the game performs a couple of tests that fail in DOSBox unless booting real DOS. First, INT 21/52 "List of Lists" is checked for the number of installed block devices, and the installer expects to find at least two, but DOSBox reports zero. Second, INT 25 is called to read the MBR of the C drive, and the installer wants the word at offset 0x1c to be non-zero. The offset is in the boot code, not the partition area, so the purpose of checking it is not clear to me.

There are actually a few Microprose games with installers that use the same tests, so I made a workaround program that will show the installer what it wants to see, allowing the game to be installed. Run the program inside DOSBox before running the installer, install the game, and then restart DOSBox to remove the program from memory because its influence could cause problems later. Source code is included in the attached archive.

Attachments

  • Filename
    MPSFIX.ZIP
    File size
    852 Bytes
    Downloads
    740 downloads
    File license
    Fair use/fair dealing exception

Reply 15 of 16, by Valentine

User metadata
Rank Newbie
Rank
Newbie
ripsaw8080 wrote:

The installer for the game performs a couple of tests that fail in DOSBox unless booting real DOS. First, INT 21/52 "List of Lists" is checked for the number of installed block devices, and the installer expects to find at least two, but DOSBox reports zero. Second, INT 25 is called to read the MBR of the C drive, and the installer wants the word at offset 0x1c to be non-zero. The offset is in the boot code, not the partition area, so the purpose of checking it is not clear to me.

There are actually a few Microprose games with installers that use the same tests, so I made a workaround program that will show the installer what it wants to see, allowing the game to be installed. Run the program inside DOSBox before running the installer, install the game, and then restart DOSBox to remove the program from memory because its influence could cause problems later. Source code is included in the attached archive.

That did it!

Thank you so much!

Reply 16 of 16, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Earlier MicroProse installers generally work OK in DOSBox. They look similar to this:

mpi1.png

Later installers like this one use the problematic drive tests, where the workaround could be helpful:

mpi2.png

I've only seen a few games from 1994 and after that use the later type of installer.