the beef said:
im a new gp2x user, i have the same problem as the guy who started this topic, what i want to do is make a kind of rom folder and link all emulators to this one folder...
Well, it comes down to what Orkie said, as I understand it. Though I've never done this, so I could be wrong - just so you know. NB also that most emus are quite happy with any directory for their rom dir; the convention was established early on to use sd:\\roms\systemname as the directory most used. Most emus either start looking there, or will remember it if you load something from there. So Picodrive will quite hapilly remember your roms are in sd:\\roms\genesis or wherever they are. Just load the first one.
Note, though, that since most emulators use zipped rom files, having one directory for all of them would get confusing, since there's no way the emu could distinguish between a zipped GBA game and a zipped SNES game. Hence using system names as well.
However, that's the simple way, and only works if the emu lets you decide where you want your roms (mostly the case, but not so in a few important instances). The next bit will tell you how to share a romset between two recalcitrant emulators. So let's take a look at what Orkie said.
Orkie said:
After a bit of thought, you could however make a 'copy' of the directory using "mount --bind /mnt/sd/source /mnt/sd/dest".
First step is to make sure you have something better than notepad to edit .txt files with. Notepad adds extra invisible characters to the end of each line, which confuses the hell out of unix. I use
Metapad, others prefer
Notepad++. They're both fine. I think using edit in a command prompt would probably work, too, but for all that that's already there, let's minimise command prompt stuff for now.
Second is to find out the directory on the SD card where each emulator expects to find it's roms. Check the readme files that are probably in the .zip or .rar archive you downloaded of that emu. Let's imagine that each one uses a subdirectory called roms in it's own directory, and that you're installing, say, two copies of mame, for the sake of argument mame1 and mame2. Also work out where you actually want the roms, and note down the .gpe files that you run to run each emu. Let's assume for now you want them in roms\mame . So, so far, we know that:
- Mame1 is in sd:\\mame1 and looks for roms in sd:\\mame1\roms, and is run with mame.gpe
- Mame2 is in sd:\\mame2 and looks for roms in sd:\\mame2\roms, and is run with mame.gpe
- You want your roms in sd:\\roms\mame
Unzip each copy of mame wherever you want it. Rename both copies of "mame.gpe" to "mame" (minus quotes). Linux doesn't care about file extentions, so it'll confuse you less later if there are fewer executables to choose from.
Next, open your text editor and
type the following:
CODE
mount --bind /mnt/sd/roms/mame /mnt/sd/mame1/roms
mame
And save it as mame1.gpe. Edit the line /mnt/sd/mame1/roms to /mnt/sd/mame2/roms and save as mame2.gpe. Copy the respective gpe files to their directories. Run as usual.
With any luck each instance will end up seeing the rom dir which is held elsewhere as present in their own install directories
. This won't leave your SD card properly tidy, though, when you finish with mame, and it's conceivable you'll get an error if you load it, quit, then load it again (because the rom directory is *already* mounted where you're telling Linux to mount it again), but hey, I can't see how to unbind a directory double-mounted in this way. Should work in principle, though, assuming Orkie's command is valid
.