dosbox-pure icon indicating copy to clipboard operation
dosbox-pure copied to clipboard

DOS games that don't launch when being moved from their original install location

Open TradeDraft opened this issue 4 years ago • 21 comments

Got Fallout but when I try to run the Game it. Message comes up just saying they it can Detect the CD.

Is this Fixable.

Video showing it doing it in other Games:

https://www.youtube.com/watch?v=-FvDOzQ-SVI

TradeDraft avatar Jan 16 '21 07:01 TradeDraft

Can't make Elder's Scrolls Daggerfall work. DosBox pure does not detect the CD for this game also.

Are there any written instructions on how to do it? Because i can't understand what he is talking about with this accent.

Tasosgemah avatar Jan 17 '21 04:01 Tasosgemah

Also found Constructor comes up and says "Error = Constructor CD must be in the Drive"

TradeDraft avatar Jan 17 '21 05:01 TradeDraft

I got fallout to work, just put the bin and cue files in a folder called cd and zip it up into a file called fallout.zip Run this through pure and in the puremenu run the install.exe, you can use minimum install option then setup your soundcard with autodetect This will create all the files needed to run, then exit the game Run fallout.zip through pure and select fallout.exe to autoboot Optionally you can copy the contents of retroarch\saves\fallout.save.zip back into your original fallout.zip to make it standalone

bigroy00 avatar Jan 21 '21 18:01 bigroy00

While most DOS games don't care where they were installed and can be moved around freely on the harddrive, some of the games mentioned in this issue are all well known as being picky about installation location and CD mount point or disc label.

I can't give specific help about these game distributions but what I learned is that {REDACTED} (Admin: removed reference to piracy) is quite incoherent.

  • Fallout: Pre-installed to /fallout1, mounts / as C: drive
  • Daggerfall: Pre-installed to /ESdagger, mounts / as C: drive
  • Orion Burger: Pre-installed to /BURGER/BURGER, mounts /BURGER as C: drive

The way DOSBox Pure handles ZIP files that have nothing but a single directory in the root, it will mount that directory as C: drive. Which, for these 3 examples, ends up breaking Fallout and Daggerfall but fixing Orion Burger. One could fix Fallout and Daggerfall by adding any file (an empty text file would work) to the root of their ZIP files which would cause the root directory to be mounted as the C: drive.

One possible solution I can think of is to mount the single directory in two points. For example Fallout would mount the fallout1 directory under both C:\ and C:\fallout1\. Though this would end up doubling all items listed in the start menu, so it should be optional and rather confusing without a lengthy explanation like this.

Another more comprehensive but more complex solution would be to create a list of all known games that are picky like this and make DOSBox Pure read the configuration files (for example it would read the line path C:\ESdagger\arena2\ from Daggerfall's Z.CFG and know where it needs to be mounted. But that would need some help from people who can help with testing and have more games than I do.

schellingb avatar Jan 21 '21 18:01 schellingb

@bigroy00 did that and I get same Result saying no CD Detected

TradeDraft avatar Jan 22 '21 05:01 TradeDraft

@schellingb The 1st Solution sounds be the Quickest way of Fixing it sounds. Though would it effect other games?

The 2nd ones guess you need to find People to help you with that Project

TradeDraft avatar Jan 22 '21 06:01 TradeDraft

@TradeDraft The 1st solution is the one I could come up with that doesn't break anything (no saves that people might already have in the current version). But it would end up showing everything twice in the start menu for any ZIP that has only one folder in its root. Which means every game coming from that {REDACTED} (Admin: removed reference to piracy) as far as I can tell. Not great.

So maybe I can try implementing that solution but for now only apply it when a content with "fallout" or "daggerfall" gets loaded. They are well known DOS games with high chance of people wanting to play so it makes sense to focus on them first.

schellingb avatar Jan 22 '21 06:01 schellingb

Yeah, a per-game solution would be good. With enough people reporting, most of the ones that need it will be covered.

Tasosgemah avatar Jan 22 '21 06:01 Tasosgemah

@schellingb I agree that doing that be the Best Way of Doing it and Daggerall and Fallout are 2 games where lot of People want to Play

@Tasosgemah so be reported the Word has to go our to ask people IF this happens where to Report it

TradeDraft avatar Jan 22 '21 08:01 TradeDraft

@TradeDraft I have recorded a video here: https://youtu.be/tgFv4JtwLu8 (the sound is choppy because I am running in a window in order to record the video)

bigroy00 avatar Jan 22 '21 13:01 bigroy00

As far as Daggerfall is concerned, look for the iso version, then you can use the same method as Fallout

bigroy00 avatar Jan 22 '21 16:01 bigroy00

Thanks for the Video @bigroy00 that made lot more Sense to me.

But Today I have found a Way to make them work on Dosbox Pure.

I use D-Fend Reload to Install the Game from CD thru the Wizards.

Install it and have it Add the CD Image.

Then I go to the Vitrual HDD Folder where games are Installed. Then I just Zip the Folder Up and Run the Zip File thru Dosbox Pure and it Loads Fine.

Worked on Both Fallout and Daggerfall

TradeDraft avatar Jan 23 '21 08:01 TradeDraft

List of games that don't run from C:\ or have specific paths in some config file:

  • Fallout (mentioned in this thread)
  • Daggerfall (mentioned in this thread)
  • Orion Burger (mentioned in this thread)
  • Psycho Pinball (mentioned in #108)
  • IndyCar Racing 2 (mentioned in #98)
  • Hyper 3D Pinball (mentioned in #149)
  • Constructor

I still have no idea how to tackle this and have these "just work" but this list will help once I can find time to focus on this.

schellingb avatar Aug 27 '21 15:08 schellingb

I found that Installing the Game will get it to work

TradeDraft avatar Jan 24 '22 03:01 TradeDraft

I think it's time to finally deal with this. During development of DOSBox Pure I had a brain fart of making things "cleaner" by omitting empty root directories when loading a game. So a ZIP file containing /GAME/GAME.EXE and /GAME/GAME.DAT will be mounted as C:\GAME.EXE and C:\GAME.DAT instead of C:\GAME\GAME.EXE and C:\GAME\GAME.DAT. Which is what causes most of the problems reported here and in a few other issues.

I really want to stop doing that and keep the paths as they were. But that would break a lot of save games. Not great, but it might be unavoidable. I tried to think of a way to convert old savegames automatically but I just can't come up with any reasonable system that would work for everybody. Currently save games are saved as "GAME.save.zip". I could make it so that if .save.zip exists, use the old behavior. If not, don't and save the game as "GAME.save2.zip". I really like .save.zip though. Maybe .sav.zip. Or .load.zip. Or .changes.zip. Or .x.zip. Or .dbp.zip. Help

schellingb avatar Jan 24 '22 03:01 schellingb

What if we renamed the saves we already have in order to work with this potential change?

Tasosgemah avatar Jan 24 '22 04:01 Tasosgemah

I wish I could politely ask all users of the core to fix things up for me but I don't think that's possible. There really is no nice way out of this for me. I even thought about making a new core with a new name and continue there just to get rid of this ugliness.

I might go with GAME.pure.zip for the save file. If the old file GAME.save.zip exists, use that with the old behavior, otherwise run fixed. I'm not sure if the core needs to provide a "reset save data" functionality or if it'd be enough to just tell users to delete their old save file if they need this fixed.

schellingb avatar Jan 24 '22 15:01 schellingb

Finally gotten around to implement and commit this change. It's not yet released because it's the only change since the last version and so much time has passed since the core was initially released that it hardly is a pressing matter anymore. I'm hoping to make some more changes for the next version that will be more useful for existing user than this change that at this point in time is more of an annoyance than anything else.

schellingb avatar Mar 19 '22 16:03 schellingb

So this is now finally finally out in the newly released 0.9.0 beta. As mentioned before and in the release notes this won't magically fix save data that might have been created with an older version of DOSBox Pure but it should help with games launched for the first time from now on.

schellingb avatar Apr 19 '22 16:04 schellingb

Updated list of games that don't run when being moved from their original install location (or refuse to run from C:):

  • Fallout (mentioned in this thread)
  • Daggerfall (mentioned in this thread)
  • Orion Burger (mentioned in this thread)
  • Psycho Pinball (mentioned in #108)
  • IndyCar Racing 2 (mentioned in #98)
  • Hyper 3D Pinball (mentioned in #149)
  • Constructor
  • Screamer, Screamer 2, and Screamer Rally (#429)
  • The Lost Vikings (2014 Blizzard version) (see #435 for circumvention)
  • Lemmings 2 (stores BIOS info and hard drive boot sector)

If anyone knows other games that have quirks in this regard please post them here. Looking for games that do stuff like

  • store the install path in a config file and refuse to run from anywhere else
  • store the install media drive letter in a config file and refuse to run when CDROM/disk drive letter changes
  • store the hard disk geometry in a config file and refuse to run when being moved to a different disk
  • refuse to run from the root of a drive

schellingb avatar Nov 08 '23 10:11 schellingb

Is there any update on this? Still can't figure out how to make Daggerfall to work.

Tasosgemah avatar Mar 07 '24 12:03 Tasosgemah