Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change folders to mount in root directory in C:\ #555

Closed
toniosj opened this issue Nov 20, 2024 · 9 comments
Closed

Change folders to mount in root directory in C:\ #555

toniosj opened this issue Nov 20, 2024 · 9 comments

Comments

@toniosj
Copy link

toniosj commented Nov 20, 2024

I want to use the games from the eXoDos/eXoWin pack directly, but all the games have a parent folder, above the game folder (and the WINDOWS folder in the case of eXoWin).

Game.zip
-Parentfolder
--Folder Game
--Windows Folder (eXoWin Pack)

Dosbox mounts the drive
C:\parentfolder\foldergame
C:\parentfolder\Windows

My question is if there is a way to mount a folder or several folders as root directories C:, above the main one, so that the game and the windows folder are mounted in the root directory.

That is, skip the parentfolder.
C:\foldergame
C:\Windows

Is there a way to do this?

@toniosj toniosj changed the title Change the way to mount root directories in C:\ Change folders to mount in root directory in C:\ Nov 20, 2024
@alexb3d
Copy link

alexb3d commented Nov 23, 2024

This has been discussed many times.

Precompiled packages handle subfolders to organize themselves in frontends. DOSBox Pure handles the original format of a PC&C.

To load the contents of an eXo without errors, you have to unzip, remove "-Parentfolder" and zip again, so that "--Folder Game" remains in the root, C:

@yonailo
Copy link

yonailo commented Dec 3, 2024

Hello @alexb3d,

I have not followed the previous dicussions, but I find this PR interesting in order to ease the usage of those precompiled packages. Adding an option like this would benefit end-users, which could just drop those compilations and start playing without any additional steps.

I’m not sure if the limitation is technical, a matter of project scope as you mentioned, or a preference not to support these kinds of compilations. I have asked ChatGPT how many options the bash command "find" has, and it has told me over "50".

I hope you will never end up with over 50 different command line options, but please consider something like this PR from the point of view of a user which downloads an entire colletion of well-structured DOS games and which would like to use your execellent software to play them.

@alexb3d
Copy link

alexb3d commented Dec 4, 2024

in the case of eXoWin

This one slipped my mind...

If you want some advice, forget about Windows 3.1 packages in Pure.
Do a shell-like install and use Pure normally...

Actually it was like that before, it mounted the folders, but it is not the natural way. Pure respects the original PC structure.

The precompiled files are wonderful, but they are designed for another emulation system.

Configuring a game the way it was done in those days, is something that may be pleasing to some, it's nostalgic.

Still, it would be very interesting and convenient if you could load the precompiled ones (like eXo)

@schellingb Do you think it is possible to have something to ignore that first folder and load the content in C:? It can be an extension (like the one to load in drive) game.pre.zip or game.com.zip
or...
game.conf.zip and that at once activates the configuration to load the .conf

@yonailo
Copy link

yonailo commented Dec 4, 2024

It might be difficult to implement something like this, as a zip file could potentially have multiple directories and/or files at its root… on the other hand, if the zip file has one and only one single root directory (no other files, only a single directory), it could be automatically ignored and the mounted path could start inside it ….

(Maybe this does not help with exodos games I don’t know if they are structured exactly like this…)

@yonailo
Copy link

yonailo commented Dec 4, 2024

@toniosj can you give us an exodos’ title that could benefit from this feature ? It could help for testing purposes and to better understand the issue here.

@toniosj
Copy link
Author

toniosj commented Dec 4, 2024

@toniosj can you give us an exodos’ title that could benefit from this feature ? It could help for testing purposes and to better understand the issue here.

An example: MDK

The game only works with C:\MDK\

But dosboxpure automounts exodos game as C:\MDK\MDK\

@schellingb
Copy link
Owner

My question is if there is a way to mount a folder or several folders as root directories C:, above the main one, so that the game and the windows folder are mounted in the root directory.

@toniosj The core provides the "Shared System Shell" feature which lets you basically load 2 ZIP files as C:. Though not into separate folders, they just get overlaid directly. See the documentation about it here: "Shared System Shell".

@schellingb Do you think it is possible to have something to ignore that first folder and load the content in C:?

It's funny you suggest that. The core actually used to do that until c763ce0 which was released with 0.9.0. It caused all kinds of issues which you find documented in #87. Future versions of the core will offer the SUBST command, which was added as part of #479, which can then be used together with REMOUNT in a batch file if such a behavior were desired. But the real solution is to have ZIP files that match the desired file system structure. The given example wants to have \MDK\MDK\ in the ZIP appear as C:\MDK\ in DOS, but that would mean that a correct ZIP with just \MDK\ would appear as C:\.

I'm not sure having a special extension like suggested makes much sense. It is much easier to just un-zip and re-zip. All desktop operating systems offer these functions so anyone can do it and it doesn't need a manual to explain some special file naming to work around issues with people's ZIP files.

Please try to keep discussion relevant to the first post of the issue. There are all kinds of very similar issues to this and to what is being discussed, it would be immensely useful if the discussions were kept in the same place and if overall open issues were kept low. DOS games that require to exist in a specific location and how that potentially could be automatically fixed by the core is what the issue #87 is about.

@toniosj
Copy link
Author

toniosj commented Dec 5, 2024

@schellingb thanks!! It works with SUBST parameter! Now I can remount drive C as I want.

remount C Y
SUBST C: Y:\MDK

It works too for win3x eXo games.

Thanks for the info!

@alexb3d
Copy link

alexb3d commented Dec 5, 2024

It is much easier to just un-zip and re-zip.

this is the solution, without a doubt.

I didn't know there was a dedicated post, it's very good.

sorry for the confusion.

@toniosj toniosj closed this as completed Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants