Jump to content
LaunchBox Community Forums

Default Mame Bezels


Moleburt

Recommended Posts

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. :D)

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).

image.png.4878bbe735f061ba3fffaed03499f35f.png

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 by Headrush69
Link to comment
Share on other sites

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. 

image.png.19e260475169e59eb682f24fc7a5b7e8.png

 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"] .

image.png.9dd1fa5ca8a298398413ff1f08448e52.png

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?

  • Like 1
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

@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

1020628730_MameScreenshot2021_10.11-20_58_35_46.thumb.png.797159daa94813560eda4bd2ba18503a.png vs 2111289420_MameScreenshot2021_10.11-20_59_08_84.thumb.png.4e65ee3532fdedc0d908bdb6e3b1b2ff.png

 

  • Unusual Gem 1
Link to comment
Share on other sites

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

1020628730_MameScreenshot2021_10.11-20_58_35_46.thumb.png.797159daa94813560eda4bd2ba18503a.png vs 2111289420_MameScreenshot2021_10.11-20_59_08_84.thumb.png.4e65ee3532fdedc0d908bdb6e3b1b2ff.png

 

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&quot;HIRESINV&quot;"/>
            <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?

 

Link to comment
Share on other sites

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?

Captura2.thumb.PNG.1f8176159619e907db758d2fd5df88f6.PNG

 

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

Link to comment
Share on other sites

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. :D

  • Haha 1
Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

@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!
 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...