Closed Sterophonick closed 2 years ago
I get that this project uses Flatpaks for all the emulators, and MAME doesn't have its own Flatpak or AppImage (it does have a Snap but everybody hates Snap), but there's a way around that.
So, I have my MAME folder, extracted from the Arch Linux package: https://archlinux.org/packages/community/x86_64/mame/
Notice that mame.sh
script.
#!/bin/bash
export SDL_JOYSTICK_HIDAPI=0
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
./mame "$@"
LD_LIBRARY_PATH
exposes another directory for mame
to look for dependencies.
And then, we can add all the libraries as needed to a folder named lib
:
This has worked with live environments of Manjaro and EndeavourOS. I don't have a Steam Deck to test with.
MAME doesn't rely on the standard emulator form of loading games where there's a single ROM file. Instead it relies on ROM sets zipped together in a certain directory, launched as mame pacman
for example if you wanted to launch Pac-Man and pacman.zip
was present in the provided ROMs directory. A new ROMs directory can be provided with the -rompath
parameter.
UI controls are remappable. The important ones are Config Menu
and UI Cancel
. Pressing the UI Cancel
mapping within a game will close the emulator, and Config Menu
will open up the in-game UI where you can reset it, change controls, change DIP switches, and the like.
These controls are stored in cfg/default.cfg
.
I get that this project uses Flatpaks for all the emulators, and MAME doesn't have its own Flatpak or AppImage (it does have a Snap but everybody hates Snap), but there's a way around that.
So, I have my MAME folder, extracted from the Arch Linux package: https://archlinux.org/packages/community/x86_64/mame/
Notice that
mame.sh
script.#!/bin/bash export SDL_JOYSTICK_HIDAPI=0 export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH ./mame "$@"
LD_LIBRARY_PATH
exposes another directory formame
to look for dependencies.And then, we can add all the libraries as needed to a folder named
lib
:This has worked with live environments of Manjaro and EndeavourOS. I don't have a Steam Deck to test with.
Would love to look into this but I'm not a super-savvy linux user, just a guy who likes to tinker who also happens to have a Steam Deck. Where are you pulling the libraries from? I want to see if this even works on the Deck.
Pulling all these libraries from the Arch repos.
prelim work - fixed by #207 PR still needs - launcher script, binary, config files
Added standalone Mame as an option in 0.17.6
Added standalone Mame as an option in 0.17.6
Is it possible to launch a game directly from steam into the standalone MAME? I haven't had success.
yes, it works fine. Did you use the Mame parser, and put your games in the arcade folder? are your games from the right romset, and do you have the bios files with the roms?
On Fri, Aug 12, 2022 at 12:51 PM Drew Baumann @.***> wrote:
Added standalone Mame as an option in 0.17.6
Is it possible to launch a game directly from steam into the standalone MAME? I haven't had success.
— Reply to this email directly, view it on GitHub https://github.com/dragoonDorise/EmuDeck/issues/121#issuecomment-1213320545, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAM3AOOENQNM3WZ6QL66OPLVYZ6HJANCNFSM5VGSHQJQ . You are receiving this because you commented.Message ID: @.***>
@Godsbane Thanks for your response. This is what I did, and please correct me if I incorrectly used the software:
Uninstalled Emudeck
Install MAME flatpak via discover
Reinstalled Emudeck with easy installer
Transferred rom to mame directory in the roms directory
Opened up Steam Rom Manager
Ensured that the parsers for Arcade - MAME were all checked
Clicked Preview, Generate App List, it found the rom, and I saved the list
Open Steam
Find game in collection (or non-steam games)
Attempt to open - fails
Look at properties, see it points to retroarch
Go into Emulation Station, change emulator to MAME standalone, and successfully launch from there
So given that information, did I make a mistake somewhere along the way?
Which specific folder is your game in? It appears you are trying to use the mame2003 folder and parser. (This is for mame2003 core in retroarch)
The correct location is Emulation/roms/arcade for mame standalone.
If you wish to use MAME standalone, I recommend you turn off the other parsers for the RetroArch versions unless you need them for some reason.
Also quick edit - you do not need to install it from discover. The Emudeck install script does this.
I just fixed the rom directory, uninstalled and reinstalled emudeck, and we are in business! Thank you for the support!
Using really old versions of MAME such as MAME2003 and MAME2010 like being used here is never a good idea outside of the realm of devices with weak CPUs like the Raspberry Pi. The usage of such versions ensures outdated ROM sets and old emulation glitches remain present in the modern era. Steam Deck is plenty capable of running a modern version of MAME at full speed in just about any Arcade game. To top that off, the current release of MAME as a libretro core is just a really bad port. Screwy joystick support, unusable UI scaling, and unpredictable machine support for more oddball machines.