yoshisuga / MAME4iOS

Multiple Arcade Machine Emulator for iOS, iPadOS, tvOS, macOS (Catalyst)
Other
674 stars 105 forks source link

external rom support #467

Open udance4ever opened 2 months ago

udance4ever commented 2 months ago

hi! I totally understand MAME4mac is built under the same kind of containerized sandbox iOS has.

The issue (and sure this is the case with a lot of peeps) is large rom sets tend to reside on an external drive and/or network share (eg. NAS)

Is there any way to trick MAME4mac to using a roms folder outside of ~/Library/Containers/com.example.mame4ios/Data/Documents/roms ?

I'm looking for something along the lines of a bind mount like is available in Docker.

If anyone has gotten this to work, I'd love to know what steps you took!

ToddLa commented 2 months ago

You either have to change the code, or you can try replacing the roms folder with a hard/soft link to another place....

ToddLa commented 2 months ago

If we ever get this app on the store we can easily add small features like this (sigh)

ToddLa commented 2 months ago

....OR you can always edit MAME.ini and set the romspath

But NOTE MAME4iOS will still assume roms and will always install thing there, and it will assume a "no-ROMs" state and put up special UX (just drop a single decoy romset to stop that)

udance4ever commented 1 month ago

hey thanks for brainstorming some ideas. I think the first thing I did was create symlink (soft) and i think due to containerization, it scope is limited to inside the container directory. I might be wrong about this so when I reboot into macOS, I’ll give editing the .ini a shot as well!

udance4ever commented 1 month ago

ok I verified the app is sandboxed.

When I boot MAME4mac it doesn't find any roms:

MAME4mac - welcome

when I hit "Show Files" - it brings up the correct folder with the symlink (which I can click thru):

MAME4mac - Show Files

from the command line:

% pwd
/Users/udance4ever/Library/Containers/com.example.mame4ios/Data/Documents
% ls -al roms
lrwxr-xr-x  1 udance4ever  staff  29 Sep 13 15:11 roms -> /Users/Shared/roms/mame-0.139
% ls roms
robotron.zip

I understand the sandboxed environment is a function of the original environment (iOS) it was designed in.

It's okay to leave this as an enhancement request even if it's something you don't plan to get to in the short term.

I love your app and don't have any issues using alternatives as a workaround for now.