MAME games Android problem

Hello everyone !

I still have the same problem starting games on different MAME machines. I tried the Game & Watch with this method here it works.

But if I take another machine like the FM Town Marty I have a black screen I don’t understand why ?!

I installed the version of MAME x64 proposed by the Reddit tutorial here then I locked the core so that it would not be deleted by an update.

Then I installed the Marty console BIOS (fmtmarty.zip) in:

/emulated/0/RetroArch/system/mame/roms

I then created a .cmd file to launch the game here is its content:

fmtmarty -cdrom "/storage/emulated/0/Roms/Marty\Flashback.cue" -rp "/storage/emulated/0/RetroArh/system/mame/roms" -ui_active

When I run the created .cmd file RetroArch crashes with a black screen??? I don’t understand where is the error ???

Thank you for your help regards :slight_smile:

In ur system/mame/roms folder add another folder named fmtmarty…then another fmtmarty folder inside that …place the bios inside the 2nd fmtmarty folder and also unzip it…adjust the cmd file to point to the system/roms/fmtmarty location, then launch again… thats how I do it for every and any mess system on mame for android

1 Like

Your command line looks correct, and should work. (And should get around the path restrictions of the other method.) Generate a log and it should tell you what’s wrong. Probably MAME can’t find a file. I am assuming you may need additional bios files.

@sanchezmike01 hello thank you for your answer I have always been told that you should NEVER unzip the MAME BIOS??? What are your .cmd files I can see their contents ?!

@Duimon hello thank you for your help I have all the necessary BIOSes because on MAME libretro on Windows my game works fine & starts without problems… if I run the fmtmarty.zip file with RetroArch for Android on my mobile phone the BIOS of the machine starts but not the game… I don’t understand ?! Conclusion it’s not the BIOS that are the problem but other files… can you help me ?!

The BIOS files can be in a ZIP or a folder with the same name. MAME treats them the same.

Without a log I would only be guessing.

The traditional method is to put the roms in the folder name the software list expects. (And the BIOS in the same folder.) I often use the method you are using instead because it amounts to a greater number of playable games.


Check and make sure you have the mame_boot_from_cli = "enabled" line in your “fmtmarty.opt”.

Also you will need the mame_softlists_enable = "disabled" line.

@Duimon I don’t have an " fmtmarty.opt " file?! I only have one “ MAME.opt ” file ?!

1 Like

I recently moved and my nvidia shield is still in storage…the way I do it, is the way I wrote it…I have the bios in the folder named as the bios both zipped and unzipped…also make sure for android u are using mame0.226 or below because anything above will cause mame to crash unless it’s arcade only games…now there are other ways to use cmd files and honestly they all work…as the saying goes , there’s more ways to skin a cat

That can create serious issues since software lists (fmtmarty etc.) require different settings.

Create an fmtmarty.opt in the MAME config folder with these contents.

mame_alternate_renderer = "enabled"
mame_altres = "640x480"
mame_auto_save = "disabled"
mame_boot_from_cli = "enabled"
mame_boot_to_bios = "disabled"
mame_boot_to_osd = "disabled"
mame_buttons_profiles = "enabled"
mame_cheats_enable = "disabled"
mame_cpu_overclock = "150"
mame_lightgun_mode = "none"
mame_mame_4way_enable = "disabled"
mame_mame_paths_enable = "disabled"
mame_media_type = "rom"
mame_mouse_enable = "enabled"
mame_read_config = "disabled"
mame_saves = "game"
mame_softlists_auto_media = "disabled"
mame_softlists_enable = "disabled"
mame_throttle = "disabled"
mame_write_config = "disabled"

Your full command line on windows would be.

retroarch -L “E:\RetroArch\cores\mame_libretro.dll” "fmtmarty -cdrom “E:\Temp\fmtmarty\flashback.cue” -rompath “E:\Temp\fmtmarty”

On Linux or Android you may need to use / instead of \ and you may need to escape the quotes like \"E:\RetroArch\cores\mame_libretro.dll"

Substitute your paths for mine.

I don’t know why but the unpaired quote before the fmtmarty is important.

BTW. If you can get your hands on a MAME Software list CHD set it would make your life a lot easier.

That is the traditional method, but it is severely limited. The benefit is that it will take advantage of boot disks and multiple media etc, which are defined in the software list xml files.

The disadvantage is that it will not run anything marked “unsupported” in the xml.

For advanced needs you can turn on read and write cfg files and use an *.ini to do a lot of the work that the xml does in software list mode.

Yes ur correct…I personally use android and anything mame related I use cmd files…for me it’s easy because I do batch scripts to automate cmd files, opt, configs, etc per game…depends on the games and if it needs special settings like auto boot etc…unfortunately as far as I know things on Android only work up to mame 0.226

1 Like

Hello I followed your method but I still have the same problem with a black screen & nothing happens when launching the .cmd file I don’t know what to do it’s depressing !

Can you show me the contents of one of your .cmd files to compare with mine ? Thanks :grinning:

1 Like

You can try the traditional method but you will be limited to games marked “supported” by MAME.

Do what @sanchezmike01 said and create an “fmtmarty” folder in your roms folder. Within that folder put the BIOS file (It should not need to be unzipped.)

Your fmtmarty.opt file needs to be…

mame_alternate_renderer = "enabled"
mame_altres = "640x480"
mame_auto_save = "disabled"
mame_boot_from_cli = "disabled"
mame_boot_to_bios = "disabled"
mame_boot_to_osd = "disabled"
mame_buttons_profiles = "enabled"
mame_cheats_enable = "disabled"
mame_cpu_overclock = "150"
mame_lightgun_mode = "none"
mame_mame_4way_enable = "disabled"
mame_mame_paths_enable = "disabled"
mame_media_type = "rom"
mame_mouse_enable = "enabled"
mame_read_config = "disabled"
mame_saves = "game"
mame_softlists_auto_media = "enabled"
mame_softlists_enable = "enabled"
mame_throttle = "disabled"
mame_write_config = "disabled"

(The…

mame_alternate_renderer = "enabled"
mame_altres = "640x480"

…lines keeps the resolution from dynamically changing from the boot screen. It may not be needed for the Marty.)

For Flashback the ISO files (Or CHD if you can get it.) needs to be in a “flashb” folder.

You will also need a “flashb.zip” in the root, next to the BIOS file.

In this case the zip can just be a dummy text file. For other games (i.e. Kyrandia) it needs to be a user or boot disk from the MAME Software List Roms collection.

In your “Retroarch/system/mame/hash” folder you will need the “fmtowns_cd.xml” from a full mame standalone install.

Once you have this setup, your command line can simply be…

retroarch -L “E:\RetroArch\cores\mame_libretro.dll” “E:\roms\fmtmarty\flashb.zip”

The XML takes care of everything else.

A search of the XML will tell you what folders you need to put your ISO files in, what ZIP file you may or may not need, and whether the game is supported or not.

It is a tedious setup but it only needs to be done once. :wink:

If you read this thread carefully you may find some ideas for improving your command line, if you feel like spending some more time trying the alternate method.

FWIW you may also want to try the “fmtownshr” folder and BIOS instead of “fmtmarty”. They are essentially the same system.

Also, make sure your XML and BIOS files are from the version of MAME that matches the core you are using. BIOS files can change over time.

@haojiezhu hello thank you very much for all these precious detailed explanations !

There is one thing I don’t understand… with MAME libretro on Windows I don’t use .xml files & FM Town Marty works fine on RetroArch for Windows… are they required on Android ?

The only console I managed to boot with a .cmd file is the Game & Watch & this without using .xml files can you explain it to me ?

Moreover if I launch the BIOS (fmtmarty.zip) under Android it starts but without any game why ?

@haojiezhu OK thank you for your answer but why on Windows with core MAME libretro I don’t need hash files?! Here is the content of my .cmd file:

fmtmarty -cdrom "d:\games\marty\flashback.cue" -rp "d:\emulators\retroarch\system\mame\roms\" -skip_gameinfo

I don’t use any other settings & the game even starts in .bin / cue without .xml files ?! Why on Android I can’t apply the same command line ?

This…

and this…

Are why you don’t need XML files. They are manually doing what the XML makes automatic.

For that matter…

Would also negate the need for an XML. With the XML method you don’t need a rompath switch, or a media switch… both are handled by the XML.

In the case the XML is not used becasuse of the…

change.


I do think it is a bit unusual to have the ISO/CUE files in a different folder that the roms but that may just be my personal preference.

You do not need the -skip_gameinfo line… it is only for standalone MAME.

I really wish you could post a log so we can see what is actually happening… all this rolling the dice is getting nowhere.

One more question. Your command line does not point to the Retroarch executable… or use the -L switch to call a core. Are you using a front end?

If using cmd files, u don’t need xml files and u don’t need chds inside folders…for android I don’t use xml and I renamed my chds to match the frontends artwork names and they are all loose…all my chds are together in whatever folder I placed them in…oh yea and they certainly don’t need to be in the system folder of RetroArch…I have every rom on an hdd and using the nvidia shield

OK, but then why isn’t this working for me?! Why do I have a black screen ?! If my command line is right where is the error ?!

Ok I want to do it but I don’t know how ?! Can you tell me how to create this journal ?!

On Windows I only use .cmd files that I launch via the RetroArch interface. It works great but not on Android & I would really like to play on my mobile phone :slight_smile:

OK but again why my .cmd files are not starting my games on Android. You have seen the contents of my .cmd files… where is the error ?!

https://docs.libretro.com/guides/generating-retroarch-logs/

You didn’t say if you are using a front end. It is important information…it could be causing issues.


Your command line looks almost identical to the one I used to test above. Did you try changing your backslashes “\” to forward slashes “/” like I suggested? Backslashes serve a different purpose on Android/Linux.

Not sure if your getting ur stuff from homeboy in the hyperspin forumns but his version of mame is much more updated than what we can use on android…keep that in mind…if u using mame 227 for android then make sure your Softlist is from the same number…my cmd files are a bit different from yours…mine are this: fmtmarty -cdrom “my rom name and location” -ramsize 4 -ui_active As was stated above, mine is longer because I do 1 extra step…I make an ini file which is the only thing that gets placed in a specific RetroArch folder…that goes in /storage/0/RetroArch/system/mame/ini/…and the ini will be named fmtmarty.ini…the main thing in that ini is the line that says roms…I point it to the fmtmarty folder with all the chds …hope that helps