- Joined
- Jun 21, 2020
- Messages
- 2,036
- Solutions
- 1
- Reaction score
- 1,194
- Points
- 125
- Favorite Pinball Machine
- Indiana Jones
@Isaac Sauvage
So my daughters though they were faster than I (still) am :D I I recall this thread.
after a couple of games I went up to 129700 top score... Just in case you're still trying :D
# getting on topic of MAME adventures #
I though I'd finally do some "marquee_only" layouts and give yet another use for my old tablet. Kind of a Proof of concept (.lay files can get really complicated) but for now it's fine for me.
I installed Windows Subsystem for Linux, ubuntu distro and p7zip afterwards.
Why you ask? Because work smarter not harder and bash rules :D
I used snowbros rom for testing purposes so from here on, it's simple substitution.
So 1st I extracted a bunch of "marquees" I have. They're all conveniently named <romname>.png files into a folder; one was obviously snowbros.png
Note: here's a link to a very nice collection of marquees. So download v219 parts 1 and 2, the update to .219 and update to .220. Extract all in this order to a folder and proceed with steps below.
Caveat: Delete the .jpg files. Most (not all, i.e., spang - Super Pang) are just duplicates. Should not a problem if you have mame extras but i'll let you decide if you want to sort those by hand or not. I just kept the .png which is what the code below uses anyway. You're on your own if you want to use the .jpg files.
Then I created a simple template "default.lay"
Then I created .lay files for all .png
Then I changed romname by the actual romname
zip both <romname>.lay and <romname>.png in <romname>.zip (this will take a while)
Optional step; if you use mame extras it is probable that you're seeing bezels. In this case you'll have to rename the <romname>.lay to default.lay inside the .zip and hopefully your main monitor will have bezels but the 2nd monitor only the marquee will show.
You can of course still press TAB - Video and set screen #0 and #1 to whatever options you have while in-game
And finally move the .zips to your artwork folder (default is inside mame folder)
In mame.ini we MUST set
# remember to set this to 1 if your 2nd monitor is disconnected or mame WILL crash next time
numscreens 2
#force screen0 to be main monitor
screen0 \\.\DISPLAY1
view0 Standard
#will call view from layout file
view1 Marquee_Only
Under "CORE ARTWORK OPTIONS" add:
If a game doesn't have yet a marquee configured and/or you want one while browsing roms, you can have a generic one set like this:
edit mame.ini and change the following lines:
So my daughters though they were faster than I (still) am :D I I recall this thread.
after a couple of games I went up to 129700 top score... Just in case you're still trying :D
# getting on topic of MAME adventures #
I though I'd finally do some "marquee_only" layouts and give yet another use for my old tablet. Kind of a Proof of concept (.lay files can get really complicated) but for now it's fine for me.
I installed Windows Subsystem for Linux, ubuntu distro and p7zip afterwards.
Why you ask? Because work smarter not harder and bash rules :D
I used snowbros rom for testing purposes so from here on, it's simple substitution.
So 1st I extracted a bunch of "marquees" I have. They're all conveniently named <romname>.png files into a folder; one was obviously snowbros.png
Note: here's a link to a very nice collection of marquees. So download v219 parts 1 and 2, the update to .219 and update to .220. Extract all in this order to a folder and proceed with steps below.
Caveat: Delete the .jpg files. Most (not all, i.e., spang - Super Pang) are just duplicates. Should not a problem if you have mame extras but i'll let you decide if you want to sort those by hand or not. I just kept the .png which is what the code below uses anyway. You're on your own if you want to use the .jpg files.
Then I created a simple template "default.lay"
XML:
<!-- romname.lay -->
<mamelayout version="2">
<element name="marq">
<image file="romname.png" />
</element>
<view name="Marquee_Only">
<!-- use aspect ratio instead -->
<bounds x="0" y="0" width="16" height="9" />
<element ref="marq">
<!-- y=2 center vertically -->
<bounds x="0" y="2" width="16" height="4.5" />
</element>
</view>
</mamelayout>
Then I created .lay files for all .png
Bash:
for file in *.png ; do cp default.lay $(basename "$file" .png).lay ; done
Then I changed romname by the actual romname
Bash:
for file in *.lay ; do basename $file .lay; sed -i "s/romname/$(basename "$file" .lay)/g" "$file" ; done
zip both <romname>.lay and <romname>.png in <romname>.zip (this will take a while)
Bash:
for file in *.lay ; do 7z a -tzip $(basename "$file" .lay).zip $file $(basename "$file" .lay).png ; done
Optional step; if you use mame extras it is probable that you're seeing bezels. In this case you'll have to rename the <romname>.lay to default.lay inside the .zip and hopefully your main monitor will have bezels but the 2nd monitor only the marquee will show.
You can of course still press TAB - Video and set screen #0 and #1 to whatever options you have while in-game
Bash:
for file in *.zip ; do 7z l -ba $file | grep -oP '\S+lay$' | xargs -I {} 7z rn $file {} default.lay ; done
And finally move the .zips to your artwork folder (default is inside mame folder)
In mame.ini we MUST set
# remember to set this to 1 if your 2nd monitor is disconnected or mame WILL crash next time
numscreens 2
#force screen0 to be main monitor
screen0 \\.\DISPLAY1
view0 Standard
#will call view from layout file
view1 Marquee_Only
Under "CORE ARTWORK OPTIONS" add:
use_backdrops 1
use_overlays 1
use_bezels 1
use_marquees 1
If a game doesn't have yet a marquee configured and/or you want one while browsing roms, you can have a generic one set like this:
edit mame.ini and change the following lines:
# default is what I use. Just the NAME of your default layout file.
# Example, you have a MyDefaultLayout.zip in your artwork folder and inside you have a MyDefaultLayout.lay along your image file.
#The fallback_artwork parameter must be MyDefaultLayout
fallback_artwork default
override_artwork 1
Last edited: