joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.79k stars 383 forks source link

Files not showing up when created outside DOSBox-X #2457

Open prino opened 3 years ago

prino commented 3 years ago

I don't yet want to call this a bug, but something seems to be not right:

I'm working with Turbo Pascal V3 generated code, and am a registered user of IDA Pro (the AD 2004 version). I've used the latter to disassemble a program, trying to figure out how I can automate setting up a IDC (IDA script file) to disassemble changed versions, and I use the output of IDA together with David Lindauer's GRDB to step through the generated code.

It was only today that I remembered that GRDB has support for symbols, and, ta-da, IDA can generate MAP files. So downloaded David's MKSYM.ZIP, put it on the Z-drive, used IDA to produce a MAP file and then?

The MAP file does not show on the emulated drive, although it is there when I look at the original directory in XYplorer. Eventually I found a solution, or more a workaround, if I do a "mount g: -u" followed by a "mount g: [the to-be-mounted directory]" the file suddenly appears.

Is it a bug, is it "by design", or something other? I can set up a bat file to perform these actions, so it's not too big a deal, but it's just a little inconvenient.

viki-t-s commented 3 years ago

This is not a bug as far as I know. Dosbox and by extension Dosbox-x use a virtualized file system. i.e we mount a drive and contents at the moment of executing the mount will be visible in Dosbox. Running the rescan command should synchronize the content of all mounted drives again with contents from the real file system.

From the dosbox wiki https://www.dosbox.com/wiki/RESCAN

prino commented 3 years ago

Mea culpa, mea maxima culpa. It might be useful to add this to the FAQ on https://dosbox-x.com/wiki/ I don't think I'm the first person to be puzzled by this.

Wengier commented 3 years ago

In DOSBox-X you can also disable directory caching by setting nocachedir=true in [dosbox] section of the DOSBox-X config file. In such case the RESCAN command is not required for synchronizing the content of mounted drives from the file system. This option is supported by DOSBox-X but not DOSBox.

viki-t-s commented 3 years ago

Wow. I was not aware of this.

Wengier commented 3 years ago

The use of nocachedir=true and RESCAN command is now covered in the FAQ section on https://dosbox-x.com/wiki/

prino commented 3 years ago

That's great, thank you!

For what it's worth, with more and more host systems now running from SSD's, is caching still providing any benefits?

Wengier commented 3 years ago

@prino Caching can still make things faster sometimes of course, especially when there are a lot of files. But for small number of files you may not notice the difference in such case at all.