VOGONS


First post, by Xian97

User metadata
Rank Member
Rank
Member

https://www.gog.com/news/dosbox_games_now_with_cloud_saves
GOG now supports cloud saves for over 100 games that use DOSBox. You have to use their Galaxy launcher to take advantage of this. Still no Linux Galaxy client though

Reply 1 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Pretty nice modern feature eh ? 😉 I'll add it to the SVN as well and will write up a little bit on how to use it in the near future. (sorry, not much time today)

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

Reply 2 of 15, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

Don't suppose they'll switch all the games that changed to ScummVM back to DOSBox now? I don't like paying for games that are missing half their original content.

Reply 3 of 15, by Yesterplay80

User metadata
Rank Oldbie
Rank
Oldbie

Wow! What a great feature! Well done, Qbix and the rest of the team! I'm looking forward to you adding it to the SVN!

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

Reply 4 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Added the version that is present in the GOG build.
To use it.

mount C somelocation
mount C someotherlocation -t overlay

Capabilities:

  • Merge filelists of the 2 mountlocations.
  • Swap to copy when writing to a file.
  • create new files in the overlay.
  • Create missing directories.
  • Priotize overlay files when existing.
  • Allow files that are in the "normal" folder to be deleted by marking them as deleted with a special file in the overlay. (and thus not being able to open them.)
  • Rename, overwrite, delete files in either drive.
  • Hide deleted files in DIR (findfirst/next), use overlay data if it exists.
  • Quite a bit of filename translation going on, so that it works on Linux/Macs.
  • Being able to hide a folder. (for when overlay folder is part of normal folder)

The biggest limitation is that the current version does not allow you to create/rename/remove directories, while the overlay is active.
(as it needs bigger changes to the drive_cache)

I am working on some improvements compared to this code:

  • Creating new directories. Done.
  • Directories that exist only in the overlay when mounting. Done
  • Rename directories. Working on it.
  • Removing directories. Somewhat thought out, but not starting coding yet.
  • Pretty it up: WriteOut messages, mount without arguments command. Handle class permissions better (handle and basedir)

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

Reply 5 of 15, by Yesterplay80

User metadata
Rank Oldbie
Rank
Oldbie

Nice! I just compiled the current SVN and a new DOSBox ECE with it.

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

Reply 6 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

have fun and let me know of any problems.

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

Reply 8 of 15, by krcroft

User metadata
Rank Oldbie
Rank
Oldbie

QBix, this is a very nice addition that I suspect users will find many uses for. Thanks!

I took some time to understand the overlay mount with various content on my linux system. (many of my comments repeat what you've already mentioned above or in the source code.. but I'm just mentioning them to add context).

The overlay doesn't recognize lowercase, so any overlay filenames containing lowercase won't appear when you mount the overlay.

Comment: this makes it harder to manage overlay content outside of DOSBox, because you might have to rename some or many files and directories. Yes, it can be scripted, but DOSBox already honors lowercase files provided by the native filesystem, so this feels inconsistent.

Overlay directory trees won't appear unless the same tree exists in the base directory. This means you need to pre-make the directory scaffolding in your base directory before DOSBox will honor it in the overlay.

Comment: This makes it impossible to preserve games' install directories in unadulterated states because the base directory needs the same tree of added directories, such as save games, high scores, and various temp / dpmi / swap directories.

It also means that for users who want to add content to the overlay (in my case, CDROM images and compressed audio tree, which I imgmount inside DOSBox), I have to mirror this directory structure inside my base game directory for the overlay to honor it, which pollutes it.

I would like to see the overlay's functionally expanded (or made less restrictive?) to honor lowercase and honor directory trees as-is without requiring a mirror-tree in the base, exactly likely DOSBox already handles mount content (except with the overlay-content simply 'taking president').

I know you're still working on it, so apologies if these are already in your queue!

Reply 9 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Thank you for checking it out.

lowercase is not currently planned, as that would require a drive_cache on top of the overlay entries and I am not sure if that is really worth it.
We could get away with a simpler one (to support only 8.3 input entries (in any case)), but then the next question would be. You support low-case, mixed case and uppercase, so why no long names ?

The directory stuff I am working on. In my local code, I already can create directories and directories can exist (at mount time) in the overlay only, so no need to mirror stuff there.

Please keep in mind that the code is geared towards preserving changes after installing the game. This is especially for the file lists as those aren't chosen with huge amount of files in mind (entire drives).
Nonetheless, being able to do all operations (including installing games) is something I would like myself as well.

So most of your things are planned, except for lowcase,mixed case and long file names.
I agree that it is a bit restrictive, but the overlay is primary intended to be filled by dosbox itself, you are free to add things to the directories yourselves, but then you have to play with along with its rule. It's an extension to the normal (flexible) drives, not a replacement.

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

Reply 10 of 15, by krcroft

User metadata
Rank Oldbie
Rank
Oldbie

Good stuff!

I'm looking forward toward where this is going. Like OverlayFS in Linux (which is their 3rd kick at the union-filesystem can), this is truly next-generation functionality being brought to the world of DOS. Amazing!

Regarding handling file-case in the overlay, given DOSBox already knows how to uplift lower-case native files to 8.3 upper, my fingers are crossed that you can reuse / derive / call existing code without having to bolt on entirely new constructs to make that happen! (It's always easier on paper than done in practice.. so all I can say is I wish you good luck and smooth coding!). If it doesn't work out, worst case is we can use tools/scripts to rename for those who manage their overlay externally.

Reply 11 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It's far from trivial, so it would be in a future iteration of the code if it were to happen. Directories are already stretching the current design a bit 😀

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

Reply 12 of 15, by krcroft

User metadata
Rank Oldbie
Rank
Oldbie

Understood... stretch stretch stretch 😀

Reply 13 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Added some more code to it. (experimental)
Should hopefully be to your liking.

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

Reply 14 of 15, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

Small bug: after mounting the overlay, the current directory is reset back to C:\ regardless of which directory you were in previously.

Reply 15 of 15, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Good point, thank you for finding it. Easy to fix though. (r4309)

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