Headrush69 Posted October 11, 2021 Share Posted October 11, 2021 (edited) 1 hour ago, JoeViking245 said: It seems like artwork for non-arcade machines works just like how you do per-game configs [for softlist's]. For my tests I added (actually changed) the folder to "artpath" in pegasus.ini. (By now you all probably have a pegasus.ini file. ) pegasus -override_artwork %romfile% -rom1 %romfile% This all works ASSUMING that in your MAME settings, you remove quotes and the file extension and path, and that your artwork folders (or zip files) are the same name as the pegasus roms (just like it's done for arcade machines). For the file names inside the folders or zips, I don't think it matters. As long as there's one called "default.lay". Then it's only in the default.lay file that it looks for the other files by name in that particular folder/zip. Again, as long as the folder or zip itself is named the same as the rom. This is very interesting. Are you 100% sure MAME isn't loading in software list mode? Since you're loading with just the rom name, that would mean your pegasus roms are all in your default roms directory based on your screenshot. (which doesn't seem practical) Also, that would mean MAME would be using artwork in software list mode when passing a rom file directly, which would seem inconsistent. I'm not suggesting your wrong, just curious. Going to test myself some more. Edited October 11, 2021 by Headrush69 Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted October 11, 2021 Share Posted October 11, 2021 2 hours ago, Headrush69 said: that would mean your pegasus roms are all in your default roms directory My pegasus roms are all in D:\MAME\software\pegasus_cart\ "pegasus_cart" being the exact same as MAME's hash file name. My Atari 2600 [cartridge] roms are all in D:\MAME\software\a2600\ My Atari 2600 [cassette] roms are all in D:\MAME\software\a2600_cass\ Since the command line starts with "pegasus", MAME knows I'm loading a softlist (same thing if you had used "gba", "nes", "a2600" etc.). MAME will then look for a subfolder under the folders listed in its rompath that corresponds to that softlist. Example: If I used in the command line "a2600" along with "-cart", MAME will look for folders D:\MAME\roms\a2600\ and also D:\MAME\software\a2600\ If I used "a2600" along with "-cass", MAME will look for folders D:\MAME\roms\a2600_cass\ and also D:\MAME\software\a2600_cass\ It will of course only find them under the 2nd location ("software"). @sundogak taught me that trick. See here for more Here's a snippet of my D:\MAME\software\ folder. Each set of softlist roms are in their respective folder [that is named after the hash file name, just like how you get them in a torrent]. How's that for practical? And again, the ONLY folder you need to add in MAME's rompath is the root folder that holds all the softlist subfolders [in this case, "software"] . And since MAME is so smart to know WHICH subfolder(s) to look for, it's also smart enough to accept just the softlist rom name. And this pretty much flows into what it's doing for the artwork. The exact same thing. MAME sees "pegasus" in the command line, it knows it's a softlist, so it looks in the artpath we gave it (from the ini file) for a subfolder properly named "pegasus". It THEN looks in there for a subfolder (or zip file) of the name that we gave it to use ["tank", "1942", "1942blah"...]. It really is a lot easier than how I'm describing it here. But I hope it at least makes a little sense. 3 hours ago, Headrush69 said: Are you 100% sure MAME isn't loading in software list mode? Not sure I follow. mame.exe <softlist_name> in the command line kinda puts it in 'software list mode', doesn't it? 1 Quote Link to comment Share on other sites More sharing options...
Headrush69 Posted October 12, 2021 Share Posted October 12, 2021 That was a very detailed and well explained post JoeViking245. I knew all that though. I missed the small post where ci2own mentioned he was using software lists, hence my confusion and why I suggested a work around. So yes you are using software lists. I use this method for Mattel Intellivision so I can use game specific artwork for the controller overlays. 1 Quote Link to comment Share on other sites More sharing options...
sundogak Posted October 12, 2021 Share Posted October 12, 2021 @JoeViking245Great explanation! I don't typically do bezel setups on software lists and few I do are at the Machine level (i.e., Atari 2600 bezel, so a2600.zip works fine). But gave it a whirl to see. If I launch a CMD window within the MAME directory and launch these as you noted in your post they all work as expected with override (renamed a random artwork zip to "tank.zip"). mame pegasus tank -override_artwork 1942 mame pegasus tank -override_artwork tank First one launches the 1942 arcade bezel and second did whatever I renamed to "tank.zip". Unfortunately, MAME doesn't look beyond the Machine name for artwork without forcing with override. Side Note (related but off topic of bezels): Spoiler you don't need the media flag (-cart) since the HASH file will pickup what media type is required based on the name. Only time you HAVE to use a media flag is if want to force that media type for whatever reason or in case of things like Atari 2600 where the cassettes must be loaded with a cartridge so becomes: mame a2600 scharger -cass commumut But particularly for multi-floppies it is easier to not use the -flop command like in the first example so you get a Disk 1 and Disk 2 loaded automatically (no messing with -flop1 and -flop2). If you specifically put a flag then it only loads what you tell it. Basically, with SL if let the HASH file figure things out it makes LB command setups easier. mame apple2e ultima4 mame apple2e -flop1 ultima4 vs 1 Quote Link to comment Share on other sites More sharing options...
ci2own Posted October 12, 2021 Share Posted October 12, 2021 7 hours ago, sundogak said: @JoeViking245Great explanation! I don't typically do bezel setups on software lists and few I do are at the Machine level (i.e., Atari 2600 bezel, so a2600.zip works fine). But gave it a whirl to see. If I launch a CMD window within the MAME directory and launch these as you noted in your post they all work as expected with override (renamed a random artwork zip to "tank.zip"). mame pegasus tank -override_artwork 1942 mame pegasus tank -override_artwork tank First one launches the 1942 arcade bezel and second did whatever I renamed to "tank.zip". Unfortunately, MAME doesn't look beyond the Machine name for artwork without forcing with override. Side Note (related but off topic of bezels): Hide contents you don't need the media flag (-cart) since the HASH file will pickup what media type is required based on the name. Only time you HAVE to use a media flag is if want to force that media type for whatever reason or in case of things like Atari 2600 where the cassettes must be loaded with a cartridge so becomes: mame a2600 scharger -cass commumut But particularly for multi-floppies it is easier to not use the -flop command like in the first example so you get a Disk 1 and Disk 2 loaded automatically (no messing with -flop1 and -flop2). If you specifically put a flag then it only loads what you tell it. Basically, with SL if let the HASH file figure things out it makes LB command setups easier. mame apple2e ultima4 mame apple2e -flop1 ultima4 vs Regarding your offtopic: On some systems, you need to load the game after the OS System loads. This happens for example in Acorn Atom (Disk Images), ABC80, and others. Shouldn't mame auto-load the game? MAME also knows this info: if i exec mame64.exe abc80 -lsoft i get info about how to run each abc80 game. As an example: abc80.txt For the game hiresinv it says: <software name="hiresinv"> <description>Hires Invasion</description> <year>2017</year> <publisher>Genesis Project</publisher> <info name="usage" value="RUN"HIRESINV""/> <part name="flop1" interface="floppy_5_25"> <dataarea name="flop" size="163840"> <rom name="hiresinv.dsk" size="163840" crc="b811b980" sha1="805b4369085120662769f5a3d11b0e66ffbbfb76"/> </dataarea> </part> </software> Is there a way to make mame auto-load the games? Quote Link to comment Share on other sites More sharing options...
ci2own Posted October 12, 2021 Share Posted October 12, 2021 Finally i made per system bezels work. It seems the .lay file inside systemname.zip can be systemname.lay or default.lay For example for system pegasus: artwork name should be pegasus.zip and .lay file inside pegasus.zip should named pegasus.lay, or default.lay. What don't work is per game bezel. It only works if use -override_artwork gamename I also get this warnings because it seems MAME changed the way it uses the bezels. Does someone know how to adapt the .lay to avoid this warnings? This is the working Default Bezels file with default.lay inside. I also changed the bezel order to show the Sony Trinitron First. Just rename it to your systemname.zip. MAME Default Bezel for Computers.zip Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted October 12, 2021 Share Posted October 12, 2021 3 hours ago, ci2own said: Is there a way to make mame auto-load the games? Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted October 12, 2021 Share Posted October 12, 2021 3 hours ago, ci2own said: Does someone know how to adapt the .lay to avoid this warnings? Some pretty big enhancements to layouts was done a couple (several) revisions ago. The good thing is, the 'old' layouts still function. From what little I've looked into it, it seemed the "how" was to basically re-write them. What I do personally to avoid the warnings is to turn off the console window and to play them via LB/BB here you won't see the window-of-warnings. 1 Quote Link to comment Share on other sites More sharing options...
ci2own Posted October 12, 2021 Share Posted October 12, 2021 1 hour ago, JoeViking245 said: I knew autoboot command, but i want to avoid to write a different autobot command for each game on some systems that needs a specific load line per game. What i wanna mean, is: The same as MAME knows the media to use, so now you don't need to tell if is a -flop, -flop1, cass, etc. MAME also knows the command to load each game after system loads. I wonder if is there any way for MAME to make it load auto just executing the game. (Always using same command line) If a system always need the same command to load all games, autoboot is a good option, but if each game needs a specific command to load it, it's a mess. Specially if this system have hundreds of games. Quote Link to comment Share on other sites More sharing options...
JoeViking245 Posted October 12, 2021 Share Posted October 12, 2021 44 minutes ago, ci2own said: I wonder if is there any way for MAME to make it load auto just executing the game. Replied here Quote Link to comment Share on other sites More sharing options...
spycat Posted October 12, 2021 Share Posted October 12, 2021 @ci2own Regarding the deprecated elements warnings: As of MAME 0.225 lay file background element instances such as for bezels are considered deprecated and that's what's triggering the warnings. Things will still work ok with MAME 0.225 to the latest 0.236 but possibly not forever. If you want to fix rather than just hide the warnings then you will need to update your lays. I've done it manually for my fallback lays as well as my multi view lays for some of my Software Systems and the warnings have gone. Still more to do, as well as my 100 or so Arcade games lays. I had a quick look at your posted lay. Under the view name sections you need to replace all instances of <bezel element= and </bezel> with <element ref= and </element> Do make a backup of your lay should you need to revert! Quote Link to comment Share on other sites More sharing options...
ci2own Posted October 12, 2021 Share Posted October 12, 2021 1 hour ago, spycat said: @ci2own Regarding the deprecated elements warnings: As of MAME 0.225 lay file background element instances such as for bezels are considered deprecated and that's what's triggering the warnings. Things will still work ok with MAME 0.225 to the latest 0.236 but possibly not forever. If you want to fix rather than just hide the warnings then you will need to update your lays. I've done it manually for my fallback lays as well as my multi view lays for some of my Software Systems and the warnings have gone. Still more to do, as well as my 100 or so Arcade games lays. I had a quick look at your posted lay. Under the view name sections you need to replace all instances of <bezel element= and </bezel> with <element ref= and </element> Do make a backup of your lay should you need to revert! That worked! Here is the modified bezel, just in case someone wants to use it. Thank you very much! MAME Default Bezel for Computers.zip Quote Link to comment Share on other sites More sharing options...
spycat Posted October 12, 2021 Share Posted October 12, 2021 You're more than welcome. That's all that's needed for simple single element lays. More complex lays need extra work when updating. 1 Quote Link to comment Share on other sites More sharing options...
k_rollo Posted October 31 Share Posted October 31 (edited) On 4/5/2020 at 8:36 AM, spycat said: Check this out. https://www.mameworld.info/mrdo/mame_artwork_generic.php On 4/5/2020 at 11:06 AM, spycat said: I don't use Mr Do myself, prefer to use my own approach which works fine for me with both Arcade games and Software Systems. MAME's fallback artwork feature allows any Arcade game or Software System that doesn't have an artwork zip to use a common (fallback) artwork zip. Two separate zips can be set, horizont.zip for horizontal (4:3 aspect) games and vertical.zip for vertical (3:4 aspect) games. Making Fallback Artwork: First create two separate artwork zips for horizontal (4:3) and vertical (3:4) games. Each of these zips should contain a suitable lay file and a matching bezel. Name the zips as horizont.zip vertical.zip and drop them into your artwork folder. Next create two empty ini files named horizont.ini vertical.ini Add the line fallback_artwork horizont to the horizont.ini and add the line fallback_artwork vertical to the vertical.ini and drop both ini files into MAME's ini folder Now, any Arcade game or Software System that doesn't have it's own artwork zip will use fallback artwork. Thank you! 4 years on and this is exactly what I needed. Just a note to those who will stumble upon this thread, you don't need to rename to horizont.zip and vertical.zip, you just have to reference whatever the file name is (without the file extension) in their respective .ini files. The .ini files don't need to be renamed either. I ended up using the override_artwork option instead to ensure it's my only bezel for everything. Also works with ARCADE64 (successor to MAMEUIFX). I'm attaching the relevant files from Mr. Do's Arcade. Cheers! generic_artwork_INI_files.zip genhorizontal.zip genvertical.zip Generic MAME Artwork - Mr. Do!'s Arcade.pdf Edited October 31 by k_rollo Added PDF guide. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.