summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/layout
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2021-04-15 23:14:16 +0200
committer hap <happppp@users.noreply.github.com>2021-04-15 23:14:16 +0200
commita6a38853991c7c90de50c2097848618873ef535e (patch)
tree34f1efaa76898ca2dfbd9512909c41190ad3de33 /src/mame/layout
parent0e8a9b2f92566ff201fe8efbfff079f420b656da (diff)
layouts: put shifter position in <collection> instead of separate views, with setting for opaque shifters
Diffstat (limited to 'src/mame/layout')
-rw-r--r--src/mame/layout/280zzzap.lay83
-rw-r--r--src/mame/layout/buggybjr.lay82
-rw-r--r--src/mame/layout/buggyboy.lay4
-rw-r--r--src/mame/layout/buggychl.lay127
-rw-r--r--src/mame/layout/cbombers.lay87
-rw-r--r--src/mame/layout/changela.lay87
-rw-r--r--src/mame/layout/chasehq.lay87
-rw-r--r--src/mame/layout/chqflag.lay127
-rw-r--r--src/mame/layout/cischeat.lay87
-rw-r--r--src/mame/layout/contcirc.lay264
-rw-r--r--src/mame/layout/dblaxle.lay87
-rw-r--r--src/mame/layout/destroyr.lay87
-rw-r--r--src/mame/layout/enforceja.lay264
-rw-r--r--src/mame/layout/f1gpstar.lay87
-rw-r--r--src/mame/layout/f1superb.lay87
-rw-r--r--src/mame/layout/finalapr.lay87
-rw-r--r--src/mame/layout/finallap.lay87
-rw-r--r--src/mame/layout/grchamp.lay127
-rw-r--r--src/mame/layout/konamigt.lay87
-rw-r--r--src/mame/layout/lagunar.lay127
-rw-r--r--src/mame/layout/outrun.lay2
-rw-r--r--src/mame/layout/overdriv.lay127
-rw-r--r--src/mame/layout/pdrift.lay87
-rw-r--r--src/mame/layout/polepos.lay87
-rw-r--r--src/mame/layout/radr.lay87
-rw-r--r--src/mame/layout/roundup5.lay87
-rw-r--r--src/mame/layout/spdheat.lay340
-rw-r--r--src/mame/layout/speedfrk.lay89
-rw-r--r--src/mame/layout/speedrs.lay99
-rw-r--r--src/mame/layout/speedup.lay87
-rw-r--r--src/mame/layout/spyhunt.lay375
-rw-r--r--src/mame/layout/spyhunttec.lay375
-rw-r--r--src/mame/layout/sspeedr.lay107
-rw-r--r--src/mame/layout/stocker.lay87
-rw-r--r--src/mame/layout/superchs.lay139
-rw-r--r--src/mame/layout/topracer.lay87
-rw-r--r--src/mame/layout/topspeed.lay87
-rw-r--r--src/mame/layout/turbotag.lay127
-rw-r--r--src/mame/layout/tx1.lay138
-rw-r--r--src/mame/layout/wecleman.lay87
40 files changed, 3319 insertions, 1544 deletions
diff --git a/src/mame/layout/280zzzap.lay b/src/mame/layout/280zzzap.lay
index 8122ae7cf13..6d889332ab6 100644
--- a/src/mame/layout/280zzzap.lay
+++ b/src/mame/layout/280zzzap.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="overlay">
<rect>
<bounds left="0" top="0" right="260" bottom="224" />
@@ -63,78 +66,66 @@ license:CC0
</element>
- <view name="Color Overlay + Shifter-R">
+<!-- build screen -->
+
+ <view name="Color Overlay">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <collection name="Overlay">
+ <collection name="Color Overlay">
<element ref="overlay" blend="multiply">
<bounds x="0" y="0" width="640" height="480" />
</element>
</collection>
- <collection name="Shifter">
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
<element ref="shifter" inputtag="IN0" inputmask="0x10">
<bounds x="606" y="414" width="32" height="64" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Color Overlay + Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <collection name="Overlay">
- <element ref="overlay" blend="multiply">
- <bounds x="0" y="0" width="640" height="480" />
- </element>
- </collection>
- <collection name="Shifter">
+ <collection name="Shifter-R Off-screen" visible="no">
<element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="2" y="414" width="32" height="64" />
+ <bounds x="648" y="414" width="32" height="64" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Widescreen Color Overlay + Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <collection name="Overlay">
- <element ref="overlay" blend="multiply">
- <bounds x="0" y="0" width="640" height="480" />
- </element>
- </collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Overlay" visible="no">
<element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="648" y="414" width="32" height="64" />
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Widescreen Color Overlay + Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <collection name="Overlay">
- <element ref="overlay" blend="multiply">
- <bounds x="0" y="0" width="640" height="480" />
- </element>
- </collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Off-screen" visible="no">
<element ref="shifter" inputtag="IN0" inputmask="0x10">
<bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
- <view name="Color Overlay">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="overlay" blend="multiply">
- <bounds x="0" y="0" width="640" height="480" />
- </element>
- </view>
</mamelayout>
diff --git a/src/mame/layout/buggybjr.lay b/src/mame/layout/buggybjr.lay
index 9ce91499b10..0404d138761 100644
--- a/src/mame/layout/buggybjr.lay
+++ b/src/mame/layout/buggybjr.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,45 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
+<!-- build screen -->
- <view name="Shifter-L">
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
-
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:YM2149_IC19_A" inputmask="0x40">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/buggyboy.lay b/src/mame/layout/buggyboy.lay
index 68a8a664813..49f5490b3ed 100644
--- a/src/mame/layout/buggyboy.lay
+++ b/src/mame/layout/buggyboy.lay
@@ -57,7 +57,7 @@ license:CC0
<!-- build screen -->
- <view name="Triple-Screen + Shifter">
+ <view name="Triple-Screen">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
@@ -118,7 +118,7 @@ license:CC0
</collection>
</view>
- <view name="Single-Screen + Shifter">
+ <view name="Single-Screen">
<screen index="1">
<bounds x="0" y="0" width="640" height="480" />
</screen>
diff --git a/src/mame/layout/buggychl.lay b/src/mame/layout/buggychl.lay
index c046eea56aa..d13154c87d8 100644
--- a/src/mame/layout/buggychl.lay
+++ b/src/mame/layout/buggychl.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,54 +54,86 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x08">
- <bounds x="446" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x08">
- <bounds x="2" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x08">
- <bounds x="496" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x08">
- <bounds x="-48" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x08">
- <bounds x="446" y="648" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x08">
- <bounds x="2" y="648" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="446" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="446" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="2" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x08">
+ <bounds x="2" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/cbombers.lay b/src/mame/layout/cbombers.lay
index c8dde3f1001..3056d0a74d4 100644
--- a/src/mame/layout/cbombers.lay
+++ b/src/mame/layout/cbombers.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS0" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/changela.lay b/src/mame/layout/changela.lay
index 60604a6e7d4..65bea628be8 100644
--- a/src/mame/layout/changela.lay
+++ b/src/mame/layout/changela.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x01">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x01">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x01">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x01">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/chasehq.lay b/src/mame/layout/chasehq.lay
index 0b3526f73c8..47288a1f8f8 100644
--- a/src/mame/layout/chasehq.lay
+++ b/src/mame/layout/chasehq.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/chqflag.lay b/src/mame/layout/chqflag.lay
index 7e1ba875b1f..e995dd325d9 100644
--- a/src/mame/layout/chqflag.lay
+++ b/src/mame/layout/chqflag.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,54 +54,86 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="446" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="2" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="496" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="-48" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="446" y="648" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="2" y="648" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="446" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="446" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/cischeat.lay b/src/mame/layout/cischeat.lay
index c90f25c0a75..15b471dbf0e 100644
--- a/src/mame/layout/cischeat.lay
+++ b/src/mame/layout/cischeat.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x02">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x02">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x02">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x02">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/contcirc.lay b/src/mame/layout/contcirc.lay
index 3a4cc3ef5e7..cbea7c9f3d9 100644
--- a/src/mame/layout/contcirc.lay
+++ b/src/mame/layout/contcirc.lay
@@ -61,39 +61,59 @@ license:CC0
<!-- build screen -->
- <view name="Shifter-R">
+ <view name="Standard Screen">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
<view name="3D Scope Straight View">
@@ -105,13 +125,42 @@ license:CC0
<element name="shutter0" ref="shutter"><bounds x="644" y="0" width="640" height="480" /></element>
<!-- shifter options (off-screen shifter is not possible here) -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="1250" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="1250" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="1250" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="646" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="646" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="646" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
@@ -124,13 +173,42 @@ license:CC0
<element name="shutter1" ref="shutter"><bounds x="644" y="0" width="640" height="480" /></element>
<!-- shifter options (off-screen shifter is not possible here) -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="1250" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="1250" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="1250" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="646" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="646" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="646" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
@@ -139,17 +217,52 @@ license:CC0
<element name="shutter1" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
<!-- shifter options -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="648" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="-40" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
@@ -158,17 +271,52 @@ license:CC0
<element name="shutter0" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
<!-- shifter options -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="648" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN1" inputmask="0x10"><bounds x="-40" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
diff --git a/src/mame/layout/dblaxle.lay b/src/mame/layout/dblaxle.lay
index 0da0a093c2a..c102026af92 100644
--- a/src/mame/layout/dblaxle.lay
+++ b/src/mame/layout/dblaxle.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/destroyr.lay b/src/mame/layout/destroyr.lay
index 2d746e08871..8b944e19d5b 100644
--- a/src/mame/layout/destroyr.lay
+++ b/src/mame/layout/destroyr.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/enforceja.lay b/src/mame/layout/enforceja.lay
index b1614932736..f846f5ae9aa 100644
--- a/src/mame/layout/enforceja.lay
+++ b/src/mame/layout/enforceja.lay
@@ -61,39 +61,59 @@ license:CC0
<!-- build screen -->
- <view name="Shifter-R">
+ <view name="Standard Screen">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x01">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
<view name="3D Scope Straight View">
@@ -105,13 +125,42 @@ license:CC0
<element name="shutter0" ref="shutter"><bounds x="644" y="0" width="640" height="480" /></element>
<!-- shifter options (off-screen shifter is not possible here) -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="1250" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="1250" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="1250" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="646" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="646" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="646" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
@@ -124,13 +173,42 @@ license:CC0
<element name="shutter1" ref="shutter"><bounds x="644" y="0" width="640" height="480" /></element>
<!-- shifter options (off-screen shifter is not possible here) -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="1250" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="1250" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="1250" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="646" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="646" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="646" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
@@ -139,17 +217,52 @@ license:CC0
<element name="shutter1" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
<!-- shifter options -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="648" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="-40" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
@@ -158,17 +271,52 @@ license:CC0
<element name="shutter0" ref="shutter"><bounds x="0" y="0" width="640" height="480" /></element>
<!-- shifter options -->
- <collection name="Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="606" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="2" y="414" width="32" height="64" /><color alpha="0.6" /></element>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-R" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="648" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Widescreen Shifter-L" visible="no">
- <element ref="shifter" inputtag="IN2" inputmask="0x01"><bounds x="-40" y="414" width="32" height="64" /></element>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
diff --git a/src/mame/layout/f1gpstar.lay b/src/mame/layout/f1gpstar.lay
index f60053ccf52..2761130679c 100644
--- a/src/mame/layout/f1gpstar.lay
+++ b/src/mame/layout/f1gpstar.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x20">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x20">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN2" inputmask="0x20">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/f1superb.lay b/src/mame/layout/f1superb.lay
index dae79a37e50..02619687c94 100644
--- a/src/mame/layout/f1superb.lay
+++ b/src/mame/layout/f1superb.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/finalapr.lay b/src/mame/layout/finalapr.lay
index 0b3526f73c8..47288a1f8f8 100644
--- a/src/mame/layout/finalapr.lay
+++ b/src/mame/layout/finalapr.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/finallap.lay b/src/mame/layout/finallap.lay
index 09ae8262098..e3730e73216 100644
--- a/src/mame/layout/finallap.lay
+++ b/src/mame/layout/finallap.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="MCUH" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="MCUH" inputmask="0x20">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="MCUH" inputmask="0x20">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="MCUH" inputmask="0x20">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="MCUH" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/grchamp.lay b/src/mame/layout/grchamp.lay
index 43130f6788f..a7193f5b76e 100644
--- a/src/mame/layout/grchamp.lay
+++ b/src/mame/layout/grchamp.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,54 +54,86 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="TILT" inputmask="0x04">
- <bounds x="446" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="TILT" inputmask="0x04">
- <bounds x="2" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="TILT" inputmask="0x04">
- <bounds x="496" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="TILT" inputmask="0x04">
- <bounds x="-48" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="TILT" inputmask="0x04">
- <bounds x="446" y="648" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
- <element ref="shifter" inputtag="TILT" inputmask="0x04">
- <bounds x="2" y="648" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="446" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="446" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="2" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="TILT" inputmask="0x04">
+ <bounds x="2" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/konamigt.lay b/src/mame/layout/konamigt.lay
index 0b3526f73c8..47288a1f8f8 100644
--- a/src/mame/layout/konamigt.lay
+++ b/src/mame/layout/konamigt.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/lagunar.lay b/src/mame/layout/lagunar.lay
index f9a8528735c..7e6577e100d 100644
--- a/src/mame/layout/lagunar.lay
+++ b/src/mame/layout/lagunar.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,54 +54,86 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="446" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="2" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="496" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="-48" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="446" y="648" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x10">
- <bounds x="2" y="648" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="446" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="446" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="2" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x10">
+ <bounds x="2" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/outrun.lay b/src/mame/layout/outrun.lay
index f02ddb3a4b0..23d88ceb61e 100644
--- a/src/mame/layout/outrun.lay
+++ b/src/mame/layout/outrun.lay
@@ -110,6 +110,6 @@ license:CC0
</element>
</collection>
</collection>
-
</view>
+
</mamelayout>
diff --git a/src/mame/layout/overdriv.lay b/src/mame/layout/overdriv.lay
index c67911b3d12..ccd376471bc 100644
--- a/src/mame/layout/overdriv.lay
+++ b/src/mame/layout/overdriv.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,54 +54,86 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="446" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="2" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="496" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="-48" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="446" y="648" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
- <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
- <bounds x="2" y="648" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="446" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="446" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="2" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="INPUTS" inputmask="0x01">
+ <bounds x="2" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/pdrift.lay b/src/mame/layout/pdrift.lay
index 2a4e6eb60f6..11c2ccc1626 100644
--- a/src/mame/layout/pdrift.lay
+++ b/src/mame/layout/pdrift.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="GENERAL" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/polepos.lay b/src/mame/layout/polepos.lay
index 552c8139f28..02cb6617be0 100644
--- a/src/mame/layout/polepos.lay
+++ b/src/mame/layout/polepos.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x02">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/radr.lay b/src/mame/layout/radr.lay
index 27ef0aaaa05..8868ec6f01b 100644
--- a/src/mame/layout/radr.lay
+++ b/src/mame/layout/radr.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="mainpcb:P1_A" inputmask="0x01">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/roundup5.lay b/src/mame/layout/roundup5.lay
index 13d4a8c46ab..999fd464dd8 100644
--- a/src/mame/layout/roundup5.lay
+++ b/src/mame/layout/roundup5.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x0008">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x0008">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x0008">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x0008">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0008">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/spdheat.lay b/src/mame/layout/spdheat.lay
index 847bc47ffcb..167b78fc007 100644
--- a/src/mame/layout/spdheat.lay
+++ b/src/mame/layout/spdheat.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,7 +54,10 @@ license:CC0
</disk>
</element>
- <view name="Quadruple (1P/2P side)">
+
+<!-- build screen -->
+
+ <view name="Quadruple (P1/P2 side)">
<screen index="0">
<bounds x="0" y="3.25" width="4" height="3" />
</screen>
@@ -64,123 +70,166 @@ license:CC0
<screen index="3">
<bounds x="4.25" y="0" width="4" height="3" />
</screen>
+
+ <!-- shifter options (no off-screen shifters towards inner side) -->
<collection name="Shifters">
- <collection name="1P Shifter">
+
+ <!-- player 1 -->
+ <collection name="P1 Shifter-R Overlay" visible="no">
<element ref="shifter" inputtag="IN0" inputmask="0x0001" >
<bounds x="3.7875" y="5.8375" width="0.2" height="0.4" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="3.7875" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
- <collection name="2P Shifter">
- <element ref="shifter" inputtag="IN0" inputmask="0x0010">
- <bounds x="8.0375" y="5.8375" width="0.2" height="0.4" />
+ <collection name="P1 Shifter-L Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="0.0125" y="5.8375" width="0.2" height="0.4" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="0.0125" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
- <collection name="3P Shifter">
- <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
- <bounds x="0.0125" y="0.0125" width="0.2" height="0.4" />
+ <collection name="P1 Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="-0.2125" y="5.8375" width="0.2" height="0.4" />
<color alpha="0.6" />
- <orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="-0.2125" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
- <collection name="4P Shifter">
- <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
- <bounds x="4.2625" y="0.0125" width="0.2" height="0.4" />
+
+ <!-- player 2 -->
+ <collection name="P2 Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010">
+ <bounds x="8.0375" y="5.8375" width="0.2" height="0.4" />
<color alpha="0.6" />
- <orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010">
+ <bounds x="8.0375" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
- </collection>
- </view>
-
- <view name="Quadruple (3P/4P side)">
- <screen index="0">
- <bounds x="4.25" y="0" width="4" height="3" />
- <orientation rotate="180" />
- </screen>
- <screen index="1">
- <bounds x="0" y="0" width="4" height="3" />
- <orientation rotate="180" />
- </screen>
- <screen index="2">
- <bounds x="4.25" y="3.25" width="4" height="3" />
- <orientation rotate="180" />
- </screen>
- <screen index="3">
- <bounds x="0" y="3.25" width="4" height="3" />
- <orientation rotate="180" />
- </screen>
- <collection name="Shifters">
- <collection name="1P Shifter">
- <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
- <bounds x="4.2625" y="0.0125" width="0.2" height="0.4" />
+ <collection name="P2 Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010">
+ <bounds x="8.2625" y="5.8375" width="0.2" height="0.4" />
<color alpha="0.6" />
- <orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010">
+ <bounds x="8.2625" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
- <collection name="2P Shifter">
+ <collection name="P2 Shifter-L Overlay" visible="no">
<element ref="shifter" inputtag="IN0" inputmask="0x0010">
+ <bounds x="4.2625" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010">
+ <bounds x="4.2625" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
+ </collection>
+
+ <!-- player 3 -->
+ <collection name="P3 Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
<bounds x="0.0125" y="0.0125" width="0.2" height="0.4" />
<color alpha="0.6" />
<orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
+ <bounds x="0.0125" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- <collection name="3P Shifter">
+ <collection name="P3 Shifter-R Off-screen" visible="no">
<element ref="shifter" inputtag="IN1" inputmask="0x0001" >
- <bounds x="8.0375" y="5.8375" width="0.2" height="0.4" />
+ <bounds x="-0.2125" y="0.0125" width="0.2" height="0.4" />
<color alpha="0.6" />
+ <orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
+ <bounds x="-0.2125" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- <collection name="4P Shifter">
- <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
- <bounds x="3.7875" y="5.8375" width="0.2" height="0.4" />
+ <collection name="P3 Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
+ <bounds x="3.7875" y="0.0125" width="0.2" height="0.4" />
<color alpha="0.6" />
+ <orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
+ <bounds x="3.7875" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- </collection>
- </view>
- <view name="Widescreen Quadruple (1P/2P side)">
- <screen index="0">
- <bounds x="0" y="3.25" width="4" height="3" />
- </screen>
- <screen index="1">
- <bounds x="4.25" y="3.25" width="4" height="3" />
- </screen>
- <screen index="2">
- <bounds x="0" y="0" width="4" height="3" />
- </screen>
- <screen index="3">
- <bounds x="4.25" y="0" width="4" height="3" />
- </screen>
- <collection name="Shifters">
- <collection name="1P Shifter">
- <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
- <bounds x="-0.2125" y="5.8375" width="0.2" height="0.4" />
- </element>
- </collection>
- <collection name="2P Shifter">
- <element ref="shifter" inputtag="IN0" inputmask="0x0010">
- <bounds x="8.2625" y="5.8375" width="0.2" height="0.4" />
+ <!-- player 4 -->
+ <collection name="P4 Shifter-R Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="4.2625" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ <orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="4.2625" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- <collection name="3P Shifter">
- <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
- <bounds x="-0.2125" y="0.0125" width="0.2" height="0.4" />
+ <collection name="P4 Shifter-L Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="8.0375" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
<orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="8.0375" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- <collection name="4P Shifter">
+ <collection name="P4 Shifter-L Off-screen" visible="no">
<element ref="shifter" inputtag="IN1" inputmask="0x0010" >
<bounds x="8.2625" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
<orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="8.2625" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
+
</collection>
</view>
- <view name="Widescreen Quadruple (3P/4P side)">
+ <view name="Quadruple (P3/P4 side)">
<screen index="0">
<bounds x="4.25" y="0" width="4" height="3" />
<orientation rotate="180" />
@@ -197,29 +246,162 @@ license:CC0
<bounds x="0" y="3.25" width="4" height="3" />
<orientation rotate="180" />
</screen>
+
+ <!-- shifter options (no off-screen shifters towards inner side) -->
<collection name="Shifters">
- <collection name="1P Shifter">
+
+ <!-- player 1 -->
+ <collection name="P1 Shifter-R Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="4.2625" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ <orientation rotate="180" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="4.2625" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P1 Shifter-L Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="8.0375" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ <orientation rotate="180" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="8.0375" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P1 Shifter-L Off-screen" visible="no">
<element ref="shifter" inputtag="IN0" inputmask="0x0001" >
<bounds x="8.2625" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
<orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0001" >
+ <bounds x="8.2625" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- <collection name="2P Shifter">
- <element ref="shifter" inputtag="IN0" inputmask="0x0010">
+
+ <!-- player 2 -->
+ <collection name="P2 Shifter-R Overlay " visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010" >
+ <bounds x="0.0125" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ <orientation rotate="180" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010" >
+ <bounds x="0.0125" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P2 Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010" >
<bounds x="-0.2125" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
<orientation rotate="180" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010" >
+ <bounds x="-0.2125" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
</collection>
- <collection name="3P Shifter">
- <element ref="shifter" inputtag="IN1" inputmask="0x0001" >
+ <collection name="P2 Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010" >
+ <bounds x="3.7875" y="0.0125" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ <orientation rotate="180" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x0010" >
+ <bounds x="3.7875" y="0.0125" width="0.2" height="0.4" />
+ <orientation rotate="180" />
+ </element>
+ </collection>
+ </collection>
+
+ <!-- player 3 -->
+ <collection name="P3 Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001">
+ <bounds x="8.0375" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001">
+ <bounds x="8.0375" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P3 Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001">
<bounds x="8.2625" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001">
+ <bounds x="8.2625" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P3 Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001">
+ <bounds x="4.2625" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0001">
+ <bounds x="4.2625" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
- <collection name="4P Shifter">
+
+ <!-- player 4 -->
+ <collection name="P4 Shifter-R Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="3.7875" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="3.7875" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P4 Shifter-L Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="0.0125" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="0.0125" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="P4 Shifter-L Off-screen" visible="no">
<element ref="shifter" inputtag="IN1" inputmask="0x0010" >
<bounds x="-0.2125" y="5.8375" width="0.2" height="0.4" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x0010" >
+ <bounds x="-0.2125" y="5.8375" width="0.2" height="0.4" />
+ </element>
+ </collection>
</collection>
+
</collection>
</view>
</mamelayout>
diff --git a/src/mame/layout/speedfrk.lay b/src/mame/layout/speedfrk.lay
index 4b24da8ef64..83e71a383df 100644
--- a/src/mame/layout/speedfrk.lay
+++ b/src/mame/layout/speedfrk.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="64" top="0" bottom="64" />
@@ -90,40 +93,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
- <bounds x="574" y="414" width="64" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
- <bounds x="2" y="414" width="64" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
- <bounds x="648" y="414" width="64" height="64" />
- <color alpha="0.65" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
- <bounds x="-72" y="414" width="64" height="64" />
- <color alpha="0.65" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="574" y="414" width="64" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="574" y="414" width="64" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="648" y="414" width="64" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="648" y="414" width="64" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="2" y="414" width="64" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="2" y="414" width="64" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="-72" y="414" width="64" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="GEAR" inputmask="0x0f" inputraw="yes">
+ <bounds x="-72" y="414" width="64" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/speedrs.lay b/src/mame/layout/speedrs.lay
index 7860a780e54..2a1beb08763 100644
--- a/src/mame/layout/speedrs.lay
+++ b/src/mame/layout/speedrs.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -53,20 +56,10 @@ license:CC0
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
- <view name="Shifter-R">
- <bounds left="0" right="640" top="0" bottom="480" />
- <screen index="0">
- <bounds x="0" y="0" width="738.46" height="480" />
- </screen>
- <element ref="black">
- <bounds x="640" y="0" width="100" height="480" />
- </element>
- <element ref="shifter" inputtag="IN.2" inputmask="0x02">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<bounds left="0" right="640" top="0" bottom="480" />
<screen index="0">
<bounds x="0" y="0" width="738.46" height="480" />
@@ -74,33 +67,55 @@ license:CC0
<element ref="black">
<bounds x="640" y="0" width="100" height="480" />
</element>
- <element ref="shifter" inputtag="IN.2" inputmask="0x02">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <bounds left="0" right="682" top="0" bottom="480" />
- <screen index="0">
- <bounds x="0" y="0" width="738.46" height="480" />
- </screen>
- <element ref="black">
- <bounds x="640" y="0" width="100" height="480" />
- </element>
- <element ref="shifter" inputtag="IN.2" inputmask="0x02">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <bounds left="-42" right="640" top="0" bottom="480" />
- <screen index="0">
- <bounds x="0" y="0" width="738.46" height="480" />
- </screen>
- <element ref="black">
- <bounds x="640" y="0" width="100" height="480" />
- </element>
- <element ref="shifter" inputtag="IN.2" inputmask="0x02">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN.2" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/speedup.lay b/src/mame/layout/speedup.lay
index aeca4fb56e0..bb3cf473aa2 100644
--- a/src/mame/layout/speedup.lay
+++ b/src/mame/layout/speedup.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x40">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x40">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x40">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x40">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x40">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/spyhunt.lay b/src/mame/layout/spyhunt.lay
index 34f383c0c1f..3181f147d12 100644
--- a/src/mame/layout/spyhunt.lay
+++ b/src/mame/layout/spyhunt.lay
@@ -4,6 +4,8 @@ license:CC0
-->
<mamelayout version="2">
+<!-- define elements -->
+
<element name="lamp_miss" defstate="0">
<text string="MISSILES" state="0">
<color red="0.3" green="0.1" blue="0.0" />
@@ -12,7 +14,6 @@ license:CC0
<color red="1.0" green="0.4" blue="0.2" />
</text>
</element>
-
<element name="lamp_oil" defstate="0">
<text string="OIL SLICK" state="0">
<color red="0.3" green="0.0" blue="0.25" />
@@ -21,7 +22,6 @@ license:CC0
<color red="1.0" green="0.2" blue="0.8" />
</text>
</element>
-
<element name="lamp_van" defstate="0">
<text string="WEAPONS VAN" state="0">
<color red="0.3" green="0.25" blue="0.0" />
@@ -30,7 +30,6 @@ license:CC0
<color red="1.0" green="0.8" blue="0.2" />
</text>
</element>
-
<element name="lamp_smoke" defstate="0">
<text string="SMOKE SCREEN" state="0">
<color red="0.3" green="0.0" blue="0.25" />
@@ -39,7 +38,6 @@ license:CC0
<color red="1.0" green="0.2" blue="0.8" />
</text>
</element>
-
<element name="lamp_gun" defstate="0">
<text string="MACHINE GUNS" state="0">
<color red="0.3" green="0.1" blue="0.0" />
@@ -49,6 +47,87 @@ license:CC0
</text>
</element>
+ <element name="lamp_miss_r" defstate="0">
+ <text string="MISL." align="1" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="MISL." align="1" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_oil_r" defstate="0">
+ <text string="OIL" align="1" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="OIL" align="1" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_van_r" defstate="0">
+ <text string="VAN" align="1" state="0">
+ <color red="0.3" green="0.25" blue="0.0" />
+ </text>
+ <text string="VAN" align="1" state="1">
+ <color red="1.0" green="0.8" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_smoke_r" defstate="0">
+ <text string="SMOKE" align="1" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="SMOKE" align="1" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_gun_r" defstate="0">
+ <text string="GUNS" align="1" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="GUNS" align="1" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
+
+ <element name="lamp_miss_l" defstate="0">
+ <text string="MISL." align="2" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="MISL." align="2" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_oil_l" defstate="0">
+ <text string="OIL" align="2" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="OIL" align="2" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_van_l" defstate="0">
+ <text string="VAN" align="2" state="0">
+ <color red="0.3" green="0.25" blue="0.0" />
+ </text>
+ <text string="VAN" align="2" state="1">
+ <color red="1.0" green="0.8" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_smoke_l" defstate="0">
+ <text string="SMOKE" align="2" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="SMOKE" align="2" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_gun_l" defstate="0">
+ <text string="GUNS" align="2" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="GUNS" align="2" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
<element name="shifter" defstate="0">
<rect>
@@ -99,186 +178,250 @@ license:CC0
</element>
- <group name="lamps">
- <bounds x="0" y="0" width="480" height="25" />
-
- <element name="lamp1" ref="lamp_miss">
- <bounds x="5" y="0" width="60" height="25" />
- </element>
- <element name="lamp0" ref="lamp_oil">
- <bounds x="72" y="0" width="59" height="25" />
- </element>
- <element name="lamp2" ref="lamp_van">
- <bounds x="172" y="0" width="85" height="25" />
- </element>
- <element name="lamp3" ref="lamp_smoke">
- <bounds x="295" y="0" width="93" height="25" />
- </element>
- <element name="lamp4" ref="lamp_gun">
- <bounds x="390" y="0" width="90" height="25" />
- </element>
- </group>
+<!-- build screen -->
-
- <view name="Lamps + Shifter-R">
+ <view name="Lamps Bottom">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
+ <!-- on the cabinet, the lamps are below the screen -->
<collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <element name="lamp1" ref="lamp_miss">
+ <bounds x="5" y="641" width="60" height="25" />
+ </element>
+ <element name="lamp0" ref="lamp_oil">
+ <bounds x="72" y="641" width="59" height="25" />
+ </element>
+ <element name="lamp2" ref="lamp_van">
+ <bounds x="172" y="641" width="85" height="25" />
+ </element>
+ <element name="lamp3" ref="lamp_smoke">
+ <bounds x="295" y="641" width="93" height="25" />
+ </element>
+ <element name="lamp4" ref="lamp_gun">
+ <bounds x="390" y="641" width="90" height="25" />
+ </element>
</collection>
- <collection name="Shifter">
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
<element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
<bounds x="446" y="574" width="32" height="64" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Lamps + Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="667" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="667" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Overlay" visible="no">
<element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
<bounds x="2" y="574" width="32" height="64" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
-
- <view name="Lamps + Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
<element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="496" y="574" width="32" height="64" />
+ <bounds x="2" y="667" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="667" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
- <view name="Lamps + Widescreen Shifter-L">
+ <view name="Lamps Right">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
<collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <element name="lamp1" ref="lamp_miss_r">
+ <bounds x="488" y="430" width="38" height="25" />
+ </element>
+ <element name="lamp0" ref="lamp_oil_r">
+ <bounds x="488" y="455" width="22" height="25" />
+ </element>
+ <element name="lamp2" ref="lamp_van_r">
+ <bounds x="488" y="480" width="26" height="25" />
+ </element>
+ <element name="lamp3" ref="lamp_smoke_r">
+ <bounds x="488" y="505" width="42" height="25" />
+ </element>
+ <element name="lamp4" ref="lamp_gun_r">
+ <bounds x="488" y="530" width="32" height="25" />
+ </element>
</collection>
- <collection name="Shifter">
+ <!-- shifter options (TATE makes no sense here) -->
+ <collection name="Shifter-R Overlay" visible="no">
<element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="-48" y="574" width="32" height="64" />
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Widescreen Lamps and Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
-
- <collection name="Lamps">
- <element name="lamp1" ref="lamp_miss">
- <bounds x="494" y="430" width="60" height="25" />
- </element>
- <element name="lamp0" ref="lamp_oil">
- <bounds x="493" y="455" width="59" height="25" />
- </element>
- <element name="lamp2" ref="lamp_van">
- <bounds x="494" y="480" width="85" height="25" />
- </element>
- <element name="lamp3" ref="lamp_smoke">
- <bounds x="492" y="505" width="93" height="25" />
+ <collection name="Shifter-R Off-screen" visible="yes">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
- <element name="lamp4" ref="lamp_gun">
- <bounds x="494" y="530" width="90" height="25" />
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Off-screen" visible="no">
<element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="496" y="574" width="32" height="64" />
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
- <view name="Widescreen Lamps and Shifter-L">
+ <view name="Lamps Left">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
<collection name="Lamps">
- <element name="lamp1" ref="lamp_miss">
- <bounds x="-70" y="430" width="60" height="25" />
+ <element name="lamp1" ref="lamp_miss_l">
+ <bounds x="-42" y="430" width="38" height="25" />
</element>
- <element name="lamp0" ref="lamp_oil">
- <bounds x="-69" y="455" width="59" height="25" />
+ <element name="lamp0" ref="lamp_oil_l">
+ <bounds x="-30" y="455" width="22" height="25" />
</element>
- <element name="lamp2" ref="lamp_van">
- <bounds x="-95" y="480" width="85" height="25" />
+ <element name="lamp2" ref="lamp_van_l">
+ <bounds x="-34" y="480" width="26" height="25" />
</element>
- <element name="lamp3" ref="lamp_smoke">
- <bounds x="-102" y="505" width="93" height="25" />
+ <element name="lamp3" ref="lamp_smoke_l">
+ <bounds x="-50" y="505" width="42" height="25" />
</element>
- <element name="lamp4" ref="lamp_gun">
- <bounds x="-100" y="530" width="90" height="25" />
+ <element name="lamp4" ref="lamp_gun_l">
+ <bounds x="-40" y="530" width="32" height="25" />
</element>
</collection>
- <collection name="Shifter">
+ <!-- shifter options (TATE makes no sense here) -->
+ <collection name="Shifter-R Overlay" visible="no">
<element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="-48" y="574" width="32" height="64" />
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Vertical Widescreen Lamps + Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="446" y="667" width="32" height="64" />
- </element>
+ <collection name="Shifter-L Off-screen" visible="yes">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
- <view name="Vertical Widescreen Lamps + Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
-
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
-
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="2" y="667" width="32" height="64" />
- </element>
- </view>
</mamelayout>
diff --git a/src/mame/layout/spyhunttec.lay b/src/mame/layout/spyhunttec.lay
index d0f32700faa..464b864f659 100644
--- a/src/mame/layout/spyhunttec.lay
+++ b/src/mame/layout/spyhunttec.lay
@@ -4,6 +4,8 @@ license:CC0
-->
<mamelayout version="2">
+<!-- define elements -->
+
<element name="lamp_miss" defstate="0">
<text string="MISSILES" state="0">
<color red="0.3" green="0.1" blue="0.0" />
@@ -12,7 +14,6 @@ license:CC0
<color red="1.0" green="0.4" blue="0.2" />
</text>
</element>
-
<element name="lamp_oil" defstate="0">
<text string="OIL SLICK" state="0">
<color red="0.3" green="0.0" blue="0.25" />
@@ -21,7 +22,6 @@ license:CC0
<color red="1.0" green="0.2" blue="0.8" />
</text>
</element>
-
<element name="lamp_van" defstate="0">
<text string="WEAPONS VAN" state="0">
<color red="0.3" green="0.25" blue="0.0" />
@@ -30,7 +30,6 @@ license:CC0
<color red="1.0" green="0.8" blue="0.2" />
</text>
</element>
-
<element name="lamp_smoke" defstate="0">
<text string="SMOKE SCREEN" state="0">
<color red="0.3" green="0.0" blue="0.25" />
@@ -39,7 +38,6 @@ license:CC0
<color red="1.0" green="0.2" blue="0.8" />
</text>
</element>
-
<element name="lamp_gun" defstate="0">
<text string="MACHINE GUNS" state="0">
<color red="0.3" green="0.1" blue="0.0" />
@@ -49,6 +47,87 @@ license:CC0
</text>
</element>
+ <element name="lamp_miss_r" defstate="0">
+ <text string="MISL." align="1" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="MISL." align="1" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_oil_r" defstate="0">
+ <text string="OIL" align="1" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="OIL" align="1" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_van_r" defstate="0">
+ <text string="VAN" align="1" state="0">
+ <color red="0.3" green="0.25" blue="0.0" />
+ </text>
+ <text string="VAN" align="1" state="1">
+ <color red="1.0" green="0.8" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_smoke_r" defstate="0">
+ <text string="SMOKE" align="1" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="SMOKE" align="1" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_gun_r" defstate="0">
+ <text string="GUNS" align="1" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="GUNS" align="1" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
+
+ <element name="lamp_miss_l" defstate="0">
+ <text string="MISL." align="2" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="MISL." align="2" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_oil_l" defstate="0">
+ <text string="OIL" align="2" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="OIL" align="2" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_van_l" defstate="0">
+ <text string="VAN" align="2" state="0">
+ <color red="0.3" green="0.25" blue="0.0" />
+ </text>
+ <text string="VAN" align="2" state="1">
+ <color red="1.0" green="0.8" blue="0.2" />
+ </text>
+ </element>
+ <element name="lamp_smoke_l" defstate="0">
+ <text string="SMOKE" align="2" state="0">
+ <color red="0.3" green="0.0" blue="0.25" />
+ </text>
+ <text string="SMOKE" align="2" state="1">
+ <color red="1.0" green="0.2" blue="0.8" />
+ </text>
+ </element>
+ <element name="lamp_gun_l" defstate="0">
+ <text string="GUNS" align="2" state="0">
+ <color red="0.3" green="0.1" blue="0.0" />
+ </text>
+ <text string="GUNS" align="2" state="1">
+ <color red="1.0" green="0.4" blue="0.2" />
+ </text>
+ </element>
<element name="shifter" defstate="0">
<rect>
@@ -99,186 +178,250 @@ license:CC0
</element>
- <group name="lamps">
- <bounds x="0" y="0" width="480" height="25" />
-
- <element name="lamp1" ref="lamp_miss">
- <bounds x="5" y="0" width="60" height="25" />
- </element>
- <element name="lamp0" ref="lamp_oil">
- <bounds x="72" y="0" width="59" height="25" />
- </element>
- <element name="lamp2" ref="lamp_van">
- <bounds x="172" y="0" width="85" height="25" />
- </element>
- <element name="lamp3" ref="lamp_smoke">
- <bounds x="295" y="0" width="93" height="25" />
- </element>
- <element name="lamp4" ref="lamp_gun">
- <bounds x="390" y="0" width="90" height="25" />
- </element>
- </group>
+<!-- build screen -->
-
- <view name="Lamps + Shifter-R">
+ <view name="Lamps Bottom">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
+ <!-- on the cabinet, the lamps are below the screen -->
<collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <element name="lamp1" ref="lamp_miss">
+ <bounds x="5" y="641" width="60" height="25" />
+ </element>
+ <element name="lamp0" ref="lamp_oil">
+ <bounds x="72" y="641" width="59" height="25" />
+ </element>
+ <element name="lamp2" ref="lamp_van">
+ <bounds x="172" y="641" width="85" height="25" />
+ </element>
+ <element name="lamp3" ref="lamp_smoke">
+ <bounds x="295" y="641" width="93" height="25" />
+ </element>
+ <element name="lamp4" ref="lamp_gun">
+ <bounds x="390" y="641" width="90" height="25" />
+ </element>
</collection>
- <collection name="Shifter">
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
<element ref="shifter" inputtag="IN2" inputmask="0x10">
<bounds x="446" y="574" width="32" height="64" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Lamps + Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="446" y="667" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="446" y="667" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Overlay" visible="no">
<element ref="shifter" inputtag="IN2" inputmask="0x10">
<bounds x="2" y="574" width="32" height="64" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
-
- <view name="Lamps + Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
<element ref="shifter" inputtag="IN2" inputmask="0x10">
- <bounds x="496" y="574" width="32" height="64" />
+ <bounds x="2" y="667" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="2" y="667" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
- <view name="Lamps + Widescreen Shifter-L">
+ <view name="Lamps Right">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
<collection name="Lamps">
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <element name="lamp1" ref="lamp_miss_r">
+ <bounds x="488" y="430" width="38" height="25" />
+ </element>
+ <element name="lamp0" ref="lamp_oil_r">
+ <bounds x="488" y="455" width="22" height="25" />
+ </element>
+ <element name="lamp2" ref="lamp_van_r">
+ <bounds x="488" y="480" width="26" height="25" />
+ </element>
+ <element name="lamp3" ref="lamp_smoke_r">
+ <bounds x="488" y="505" width="42" height="25" />
+ </element>
+ <element name="lamp4" ref="lamp_gun_r">
+ <bounds x="488" y="530" width="32" height="25" />
+ </element>
</collection>
- <collection name="Shifter">
+ <!-- shifter options (TATE makes no sense here) -->
+ <collection name="Shifter-R Overlay" visible="no">
<element ref="shifter" inputtag="IN2" inputmask="0x10">
- <bounds x="-48" y="574" width="32" height="64" />
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Widescreen Lamps and Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
-
- <collection name="Lamps">
- <element name="lamp1" ref="lamp_miss">
- <bounds x="494" y="430" width="60" height="25" />
- </element>
- <element name="lamp0" ref="lamp_oil">
- <bounds x="493" y="455" width="59" height="25" />
- </element>
- <element name="lamp2" ref="lamp_van">
- <bounds x="494" y="480" width="85" height="25" />
- </element>
- <element name="lamp3" ref="lamp_smoke">
- <bounds x="492" y="505" width="93" height="25" />
+ <collection name="Shifter-R Off-screen" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
- <element name="lamp4" ref="lamp_gun">
- <bounds x="494" y="530" width="90" height="25" />
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Off-screen" visible="no">
<element ref="shifter" inputtag="IN2" inputmask="0x10">
- <bounds x="496" y="574" width="32" height="64" />
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
</view>
- <view name="Widescreen Lamps and Shifter-L">
+ <view name="Lamps Left">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
<collection name="Lamps">
- <element name="lamp1" ref="lamp_miss">
- <bounds x="-70" y="430" width="60" height="25" />
+ <element name="lamp1" ref="lamp_miss_l">
+ <bounds x="-42" y="430" width="38" height="25" />
</element>
- <element name="lamp0" ref="lamp_oil">
- <bounds x="-69" y="455" width="59" height="25" />
+ <element name="lamp0" ref="lamp_oil_l">
+ <bounds x="-30" y="455" width="22" height="25" />
</element>
- <element name="lamp2" ref="lamp_van">
- <bounds x="-95" y="480" width="85" height="25" />
+ <element name="lamp2" ref="lamp_van_l">
+ <bounds x="-34" y="480" width="26" height="25" />
</element>
- <element name="lamp3" ref="lamp_smoke">
- <bounds x="-102" y="505" width="93" height="25" />
+ <element name="lamp3" ref="lamp_smoke_l">
+ <bounds x="-50" y="505" width="42" height="25" />
</element>
- <element name="lamp4" ref="lamp_gun">
- <bounds x="-100" y="530" width="90" height="25" />
+ <element name="lamp4" ref="lamp_gun_l">
+ <bounds x="-40" y="530" width="32" height="25" />
</element>
</collection>
- <collection name="Shifter">
+ <!-- shifter options (TATE makes no sense here) -->
+ <collection name="Shifter-R Overlay" visible="no">
<element ref="shifter" inputtag="IN2" inputmask="0x10">
- <bounds x="-48" y="574" width="32" height="64" />
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
</collection>
- </view>
- <view name="Vertical Widescreen Lamps + Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <element ref="shifter" inputtag="IN2" inputmask="0x10">
- <bounds x="446" y="667" width="32" height="64" />
- </element>
+ <collection name="Shifter-L Off-screen" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
- <view name="Vertical Widescreen Lamps + Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
-
- <group ref="lamps">
- <bounds x="0" y="641" width="480" height="25" />
- </group>
-
- <element ref="shifter" inputtag="IN2" inputmask="0x10">
- <bounds x="2" y="667" width="32" height="64" />
- </element>
- </view>
</mamelayout>
diff --git a/src/mame/layout/sspeedr.lay b/src/mame/layout/sspeedr.lay
index a26f903e833..e55a668e1cc 100644
--- a/src/mame/layout/sspeedr.lay
+++ b/src/mame/layout/sspeedr.lay
@@ -3,9 +3,12 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="digit">
<led7seg>
- <color red="1.0" green="0.3" blue="0.0" />
+ <color red="1.0" green="0.15" blue="0.17" />
</led7seg>
</element>
@@ -16,31 +19,38 @@ license:CC0
</rect>
<text string="1ST">
- <bounds left="-88" top="33" right="0" bottom="52" />
+ <bounds x="-88" y="35" width="70" height="16" />
+ <color red="0.6" green="0.2" blue="0.3" />
</text>
<text string="2ND">
- <bounds left="-88" top="60" right="0" bottom="79" />
+ <bounds x="-88" y="62" width="70" height="16" />
+ <color red="0.6" green="0.2" blue="0.3" />
</text>
<text string="3RD">
- <bounds left="-88" top="87" right="0" bottom="106" />
+ <bounds x="-88" y="89" width="70" height="16" />
+ <color red="0.6" green="0.2" blue="0.3" />
</text>
<text string="4TH">
- <bounds left="-88" top="114" right="0" bottom="133" />
+ <bounds x="-88" y="116" width="70" height="16" />
+ <color red="0.6" green="0.2" blue="0.3" />
</text>
<text string="5TH">
- <bounds left="-88" top="141" right="0" bottom="160" />
+ <bounds x="-88" y="143" width="70" height="16" />
+ <color red="0.6" green="0.2" blue="0.3" />
</text>
<text string="SCORE">
- <bounds left="-88" top="175" right="0" bottom="194" />
+ <bounds x="-88" y="177" width="70" height="16" />
+ <color red="0.6" green="0.2" blue="0.3" />
</text>
<text string="TIME">
- <bounds left="-88" top="264" right="0" bottom="283" />
+ <bounds x="-88" y="266" width="70" height="16" />
+ <color red="0.1" green="0.3" blue="0.6" />
</text>
</element>
@@ -121,36 +131,31 @@ license:CC0
<element name="empty" />
- <view name="Simple LEDs">
+<!-- build screen -->
+ <view name="Internal Layout">
<screen index="0">
<bounds left="0" top="0" right="282" bottom="376" />
</screen>
<collection name="Score Display">
-
<element name="panel" ref="panel">
<bounds left="-168.29" top="0" right="0" bottom="376" />
</element>
-
<element name="lampGO" ref="lampGO">
- <bounds left="-73.91" top="355" right="-9.0968" bottom="368" />
+ <bounds x="-90" y="355" width="70" height="12" />
</element>
-
<element name="lampEP" ref="lampEP">
- <bounds left="-160.33" top="355" right="-75.0484" bottom="368" />
+ <bounds x="-155" y="355" width="70" height="12" />
</element>
-
<element name="digit24" ref="digit">
<bounds left="-131.90" top="264" right="-120.532" bottom="283" />
</element>
-
<element name="digit25" ref="digit">
<bounds left="-115.984" top="264" right="-104.613" bottom="283" />
</element>
-
<repeat count="5">
<param name="y" start="33" increment="27" />
<param name="s" start="0" increment="4" />
@@ -163,7 +168,6 @@ license:CC0
</repeat>
</repeat>
-
<repeat count="4">
<param name="x" start="-147.823" increment="15.919" />
<param name="n" start="20" increment="1" />
@@ -172,25 +176,84 @@ license:CC0
</element>
</repeat>
-
<collection name="Centre Display" visible="no">
-
<element ref="empty">
<bounds left="282" top="0" right="450.29" bottom="376" />
</element>
+ </collection>
+ </collection>
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="256" y="326" width="24" height="48" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="256" y="326" width="24" height="48" />
+ </element>
</collection>
+ </collection>
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="288" y="326" width="24" height="48" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="288" y="326" width="24" height="48" />
+ </element>
+ </collection>
</collection>
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="256" y="382" width="24" height="48" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="256" y="382" width="24" height="48" />
+ </element>
+ </collection>
+ </collection>
- <collection name="Shifter">
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="2" y="326" width="24" height="48" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="2" y="326" width="24" height="48" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="Shifter-L Off-screen H" visible="no">
<element ref="shifter" inputtag="IN2" inputmask="0x04">
- <bounds x="256" y="326" width="24" height="48" />
+ <bounds x="-30" y="326" width="24" height="48" />
<color alpha="0.6" />
</element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="-30" y="326" width="24" height="48" />
+ </element>
+ </collection>
+ </collection>
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="2" y="382" width="24" height="48" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN2" inputmask="0x04">
+ <bounds x="2" y="382" width="24" height="48" />
+ </element>
+ </collection>
</collection>
</view>
diff --git a/src/mame/layout/stocker.lay b/src/mame/layout/stocker.lay
index 8d2ee2f6be0..edcfea3d4fd 100644
--- a/src/mame/layout/stocker.lay
+++ b/src/mame/layout/stocker.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x02">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x02">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/superchs.lay b/src/mame/layout/superchs.lay
index 8ccb36373e9..5b2637a2406 100644
--- a/src/mame/layout/superchs.lay
+++ b/src/mame/layout/superchs.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,44 +54,118 @@ license:CC0
</disk>
</element>
- <view name="Upright (4:3), Shifter-R">
- <screen index="0">
- <bounds left="0" top="0" right="640" bottom="480" />
- </screen>
- <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Upright (4:3), Shifter-L">
- <screen index="0">
- <bounds left="0" top="0" right="640" bottom="480" />
- </screen>
- <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <!-- Super Chase (Deluxe/Cockpit cab) used a widescreen monitor, see http://flyers.arcade-museum.com/?page=thumbs&db=videodb&id=1118 -->
+<!-- build screen -->
- <view name="Deluxe (16:9), Shifter-R">
+ <view name="Upright (4:3)">
<screen index="0">
- <bounds left="0" top="0" right="800" bottom="450" />
+ <bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
- <bounds x="766" y="384" width="32" height="64" />
- <color alpha="0.6" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
- <view name="Deluxe (16:9), Shifter-L">
+
+ <view name="Deluxe (16:9)">
+ <!-- Super Chase (Deluxe/Cockpit cab) used a widescreen monitor, see http://flyers.arcade-museum.com/?page=thumbs&db=videodb&id=1118 -->
<screen index="0">
- <bounds left="0" top="0" right="800" bottom="450" />
+ <bounds x="0" y="0" width="853.333" height="480" />
</screen>
- <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
- <bounds x="2" y="384" width="32" height="64" />
- <color alpha="0.6" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="819.333" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="819.333" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="861.333" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="861.333" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="SWITCHES" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
</mamelayout>
diff --git a/src/mame/layout/topracer.lay b/src/mame/layout/topracer.lay
index 6a51c74a8f3..afb15412e57 100644
--- a/src/mame/layout/topracer.lay
+++ b/src/mame/layout/topracer.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="648" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/topspeed.lay b/src/mame/layout/topspeed.lay
index 0b3526f73c8..47288a1f8f8 100644
--- a/src/mame/layout/topspeed.lay
+++ b/src/mame/layout/topspeed.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN1" inputmask="0x10">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN1" inputmask="0x10">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/turbotag.lay b/src/mame/layout/turbotag.lay
index 84fc5950c0f..f3aac680500 100644
--- a/src/mame/layout/turbotag.lay
+++ b/src/mame/layout/turbotag.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,54 +54,86 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="446" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="2" y="574" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="488" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="-40" y="574" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="480" height="640" />
- </screen>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="446" y="648" width="32" height="64" />
- </element>
- </view>
- <view name="Vertical Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="480" height="640" />
</screen>
- <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
- <bounds x="2" y="648" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen H" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="488" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="446" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen H" visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="-40" y="574" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen V" visible="no"><!-- TATE -->
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="648" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="ssio:IP0" inputmask="0x10">
+ <bounds x="2" y="648" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/tx1.lay b/src/mame/layout/tx1.lay
index cd5b9339000..c32cd7ca432 100644
--- a/src/mame/layout/tx1.lay
+++ b/src/mame/layout/tx1.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,23 +54,10 @@ license:CC0
</disk>
</element>
- <view name="Triple-Screen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <screen index="1">
- <bounds x="640" y="0" width="640" height="480" />
- </screen>
- <screen index="2">
- <bounds x="1280" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
- <bounds x="1886" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Triple-Screen Shifter-L">
+<!-- build screen -->
+
+ <view name="Triple-Screen">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
@@ -78,29 +68,109 @@ license:CC0
<bounds x="1280" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Single-Screen Shifter-R">
- <screen index="1">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="1886" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="1886" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="1928" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="1928" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
- <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
- <view name="Single-Screen Shifter-L">
+
+ <view name="Single-Screen">
<screen index="1">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="soundbrd:PPI_PORTC" inputmask="0x08">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>
diff --git a/src/mame/layout/wecleman.lay b/src/mame/layout/wecleman.lay
index b20b47199c9..afb15412e57 100644
--- a/src/mame/layout/wecleman.lay
+++ b/src/mame/layout/wecleman.lay
@@ -3,6 +3,9 @@
license:CC0
-->
<mamelayout version="2">
+
+<!-- define elements -->
+
<element name="shifter" defstate="0">
<rect>
<bounds left="0" right="32" top="0" bottom="64" />
@@ -51,38 +54,62 @@ license:CC0
</disk>
</element>
- <view name="Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="606" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Shifter-L">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="2" y="414" width="32" height="64" />
- <color alpha="0.6" />
- </element>
- </view>
- <view name="Widescreen Shifter-R">
- <screen index="0">
- <bounds x="0" y="0" width="640" height="480" />
- </screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="648" y="414" width="32" height="64" />
- </element>
- </view>
- <view name="Widescreen Shifter-L">
+
+<!-- build screen -->
+
+ <view name="Shifter">
<screen index="0">
<bounds x="0" y="0" width="640" height="480" />
</screen>
- <element ref="shifter" inputtag="IN0" inputmask="0x20">
- <bounds x="-40" y="414" width="32" height="64" />
- </element>
+
+ <!-- shifter options -->
+ <collection name="Shifter-R Overlay" visible="yes">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="606" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-R Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="648" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Overlay" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="2" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
+
+ <collection name="Shifter-L Off-screen" visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ <color alpha="0.6" />
+ </element>
+ <collection name="Opaque Shifter " visible="no">
+ <element ref="shifter" inputtag="IN0" inputmask="0x20">
+ <bounds x="-40" y="414" width="32" height="64" />
+ </element>
+ </collection>
+ </collection>
</view>
+
</mamelayout>