VOGONS


First post, by feuse8

User metadata
Rank Newbie
Rank
Newbie

Hi,

I've been trying to install Hugo in Dosbox 0.74. The problem is that setup cancels and says that I haven't got enough free disk space. I used the following mount command to mount the Dosbox C drive:

mount C D:\dosbox -freesize 1200

Does anyone have an idea on how I could solve this issue?

Here you find some German infos about the game
http://www.hugo-troll.de/games/klassik/hugo3/pccdrom.html

Running Dosbox 0.74 on Windows 7 x64.

Last edited by feuse8 on 2011-05-27, 14:58. Edited 1 time in total.

Reply 2 of 16, by feuse8

User metadata
Rank Newbie
Rank
Newbie

Thanks for your reply!

I also tried different values (50 mb, 100mb) but it didn't work.

Forgot to add my CD Mount command - maybe it has to do something with the issue:

mount D K:\ -t cdrom -ioctl

Reply 4 of 16, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

Dosbox have the trouble with the -freesize 512+. So - use something like "mount c d:\dosbox -freesize 500".

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 5 of 16, by feuse8

User metadata
Rank Newbie
Rank
Newbie

Doesn't work either.

I just tried with Dosbox 0.70. There it works. Attached you find my 0.74 Config file - maybe I made a mistake there.

Attachments

  • Filename
    dosbox-0.74.conf
    File size
    5.1 KiB
    Downloads
    319 downloads
    File license
    Fair use/fair dealing exception

Reply 6 of 16, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Please try a clean build of the most recent SVN source available here. Some changes were made regarding the drive characteristics reported for free space queries; mostly to work around bugs in some installers.

Reply 8 of 16, by feuse8

User metadata
Rank Newbie
Rank
Newbie

Attached you find a zip File containing the install.exe.

The Message
"Deine Festplatte hat nicht genügend freien Speicher für Hugo..." means that the disk doesn't have enough free space to install.

Thanks for your help!!

Attachments

  • Filename
    hugo5_setup.zip
    File size
    199.19 KiB
    Downloads
    396 downloads
    File license
    Fair use/fair dealing exception

Reply 9 of 16, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The installer checks the 8-character BIOS date string at F000:FFF5, and if it finds a reasonable date it performs an additional drive check with INT 13. DOSBox has a date string in 0.73 and later, so earlier versions managed to avoid the drive check.

The drive check is a call to INT 13/04 (verify disk sectors) on the MBR. DOSBox does not set the carry flag to indicate an error, but it does not clear AH, so the installer thinks there's a problem with the drive and won't use it.

Doing something similar to what is done for the Inherit The Earth cdrom installer works around the issue. Note that the high bit of the drive number is not set (i.e. for drive C, DL==0x02), as would be expected:

     case 0x04: /* Verify sectors */
if (reg_al==0) {
reg_ah = 0x01;
CALLBACK_SCF(true);
return CBRET_NONE;
}
+ if (!any_images) {
+ // Hugo (uses it as disk test)
+ if ((reg_dl>1) && (reg_dl<DOS_DRIVES) && (Drives[reg_dl]) && (reg_dh==0) && ((reg_cl&0x3f)==1)) {
+ reg_ah = 0;
+ CALLBACK_SCF(false);
+ return CBRET_NONE;
+ }
+ }
if(driveInactive(drivenum)) return CBRET_NONE;

Reply 11 of 16, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The changes are to bios_disk.cpp; however, do you really need to go through the exercise of compiling DOSBox? Simply use a version prior to 0.73 to install the game, and the current version to play. If a similar check is done by the game itself, then I guess you'll also need to use the older version to play.

Reply 12 of 16, by feuse8

User metadata
Rank Newbie
Rank
Newbie

Thanks for your reply. Recompiling is not what I'd like to do 😉

I've got another 2 setup files that don't work. You find the one attached below and the other here:
http://www.share-online.biz/dl/YXC3F6MLOV8

The password is "hugo"

These two files don't work in older dosbox versions. Maybe you can give me a hint. Thanks!

Attachments

  • Filename
    hugo3.zip
    File size
    19.48 KiB
    Downloads
    325 downloads
    File license
    Fair use/fair dealing exception

Reply 13 of 16, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It seems they all use the same disk test, but hugo5 skips it if there's no BIOS date string. Not sure why it looks for the date... I guess because INT 13 is a BIOS function, and not having a date could mean the BIOS has been replaced with UMBs or some such.

Anyway, here is a TSR program that should satisfy the disk check these installers use. Run it inside DOSBox before running the installers. See if it also needs to be resident in memory when playing the game, or just for installing.

Attachments

  • Filename
    HUGOFIX.ZIP
    File size
    727 Bytes
    Downloads
    592 downloads
    File license
    Fair use/fair dealing exception

Reply 15 of 16, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author
ripsaw8080 wrote:
The installer checks the 8-character BIOS date string at F000:FFF5, and if it finds a reasonable date it performs an additional […]
Show full quote

The installer checks the 8-character BIOS date string at F000:FFF5, and if it finds a reasonable date it performs an additional drive check with INT 13. DOSBox has a date string in 0.73 and later, so earlier versions managed to avoid the drive check.

The drive check is a call to INT 13/04 (verify disk sectors) on the MBR. DOSBox does not set the carry flag to indicate an error, but it does not clear AH, so the installer thinks there's a problem with the drive and won't use it.

Doing something similar to what is done for the Inherit The Earth cdrom installer works around the issue. Note that the high bit of the drive number is not set (i.e. for drive C, DL==0x02), as would be expected:

     case 0x04: /* Verify sectors */
if (reg_al==0) {
reg_ah = 0x01;
CALLBACK_SCF(true);
return CBRET_NONE;
}
+ if (!any_images) {
+ // Hugo (uses it as disk test)
+ if ((reg_dl>1) && (reg_dl<DOS_DRIVES) && (Drives[reg_dl]) && (reg_dh==0) && ((reg_cl&0x3f)==1)) {
+ reg_ah = 0;
+ CALLBACK_SCF(false);
+ return CBRET_NONE;
+ }
+ }
if(driveInactive(drivenum)) return CBRET_NONE;

Think I will add a log message to that if I commit it.

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

Reply 16 of 16, by Yesterplay80

User metadata
Rank Oldbie
Rank
Oldbie

It seems this fix was never commited, as I had the same problem with the game in the current SVN today. However, ripsaw8080s TSR tool still works great, thanks for that!

My full-featured DOSBox SVN builds for Windows & Linux: Vanilla DOSBox and DOSBox ECE (Google Drive Mirror)