summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/layout
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2021-05-31 11:20:28 -0700
committer Aaron Giles <aaron@aarongiles.com>2021-05-31 11:20:28 -0700
commit05cacea947d7db129c25f33c85aca7ec74be6799 (patch)
tree1211caac4a3428254f73596af8c61b0b6fe9f9b1 /src/mame/layout
parentb1e775504bb02c1168d64853ca058cbcce6b5978 (diff)
ympsr60: Fleshed out the PSR60/PSR70 drivers
* Split YM2154 into a separate device * Created fake YM2154 ROMs as placeholders * Created new BBD sound device in src/devices/sound/bbd.cpp * Created new mixer device in src/devices/sound/mixer.cpp * Connected YM2154 and BBD devices * Approximated BBD driver behavior * Exposed analog sliders as adjusters (accessible via ` menu) * Added sliders to layout and animated them
Diffstat (limited to 'src/mame/layout')
-rw-r--r--src/mame/layout/psr60.lay91
-rw-r--r--src/mame/layout/psr70.lay63
2 files changed, 153 insertions, 1 deletions
diff --git a/src/mame/layout/psr60.lay b/src/mame/layout/psr60.lay
index e008753326a..7fd4d694efd 100644
--- a/src/mame/layout/psr60.lay
+++ b/src/mame/layout/psr60.lay
@@ -279,6 +279,61 @@ license:CC0
<rect><bounds x="11" y="2" width="150" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
</element>
+ <element name="slider-bar-white">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-green">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="0.5" green="1.0" blue="0.5" /></rect>
+ </element>
+ <element name="slider-bar-yellow">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="1.0" green="1.0" blue="0.5" /></rect>
+ </element>
+ <element name="slider-bar-blue">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="0.5" green="0.5" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-red">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="1.0" green="0.2" blue="0.2" /></rect>
+ </element>
+ <element name="slider-bar-grey">
+ <disk><bounds x="0" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <disk><bounds x="41" y="0" width="23" height="23" /><color red="0.0" green="0.0" blue="0.0" /></disk>
+ <rect><bounds x="11" y="0" width="40" height="23" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <disk><bounds x="2" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <disk><bounds x="43" y="2" width="19" height="19" /><color red="0.3" green="0.3" blue="0.3" /></disk>
+ <rect><bounds x="11" y="2" width="40" height="19" /><color red="0.3" green="0.3" blue="0.3" /></rect>
+ <rect><bounds x="30" y="2" width="5" height="19" /><color red="0.6" green="0.6" blue="0.6" /></rect>
+ </element>
+
<!-- LED primitive -->
<element name="led" defstate="0">
<disk state="0"><color red="0.4" green="0.3" blue="0.3" /></disk>
@@ -388,11 +443,17 @@ license:CC0
<element ref="power"><bounds x="177" y="165" width="82" height="17" /></element>
<element ref="led" name="DRVIF_0_DP4"><bounds x="213" y="188" width="12" height="12" /></element>
<element ref="slider-power"><bounds x="177" y="209" width="82" height="23" /></element>
+ <element ref="slider-bar-red"><bounds x="193" y="209" width="64" height="23" /></element>
<element ref="mastervolume"><bounds x="177" y="307" width="139" height="17" /></element>
<element ref="slidermin"><bounds x="177" y="336" width="139" height="13" /></element>
<element ref="slidermax"><bounds x="177" y="336" width="139" height="13" /></element>
<element ref="slider"><bounds x="177" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-grey">
+ <animate inputtag="MASTERVOL" mask="0xff" />
+ <bounds state="0" x="177" y="352" width="64" height="23" />
+ <bounds state="100" x="252" y="352" width="64" height="23" />
+ </element>
</group>
<!-- pitch group -->
@@ -451,11 +512,21 @@ license:CC0
<element ref="slidermin"><bounds x="567" y="338" width="139" height="12" /></element>
<element ref="slidermax"><bounds x="567" y="338" width="139" height="12" /></element>
<element ref="slider"><bounds x="567" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-blue">
+ <animate inputtag="RYP4_6" mask="0xff" />
+ <bounds state="0" x="567" y="352" width="64" height="23" />
+ <bounds state="100" x="642" y="352" width="64" height="23" />
+ </element>
<element ref="bassvolume"><bounds x="567" y="378" width="139" height="14" /></element>
<element ref="slidermin"><bounds x="727" y="338" width="139" height="12" /></element>
<element ref="slidermax"><bounds x="727" y="338" width="139" height="12" /></element>
<element ref="slider"><bounds x="727" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-blue">
+ <animate inputtag="RYP4_5" mask="0xff" />
+ <bounds state="0" x="727" y="352" width="64" height="23" />
+ <bounds state="100" x="802" y="352" width="64" height="23" />
+ </element>
<element ref="chordvolume"><bounds x="727" y="378" width="139" height="14" /></element>
</group>
@@ -553,11 +624,21 @@ license:CC0
<element ref="slidermin"><bounds x="923" y="338" width="139" height="12" /></element>
<element ref="slidermax"><bounds x="923" y="338" width="139" height="12" /></element>
<element ref="slider"><bounds x="923" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_3" mask="0xff" />
+ <bounds state="0" x="923" y="352" width="64" height="23" />
+ <bounds state="100" x="998" y="352" width="64" height="23" />
+ </element>
<element ref="volume"><bounds x="923" y="378" width="139" height="14" /></element>
<element ref="sliderslow"><bounds x="1081" y="338" width="174" height="12" /></element>
<element ref="sliderfast"><bounds x="1081" y="338" width="174" height="12" /></element>
<element ref="slider-tempo"><bounds x="1081" y="352" width="174" height="23" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_4" mask="0xff" />
+ <bounds state="0" x="1081" y="352" width="64" height="23" />
+ <bounds state="100" x="1191" y="352" width="64" height="23" />
+ </element>
<element ref="tempo"><bounds x="1081" y="378" width="174" height="14" /></element>
</group>
@@ -667,6 +748,11 @@ license:CC0
<element ref="slidermin"><bounds x="1597" y="338" width="139" height="12" /></element>
<element ref="slidermax"><bounds x="1597" y="338" width="139" height="12" /></element>
<element ref="slider"><bounds x="1597" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-green">
+ <animate inputtag="RYP4_2" mask="0xff" />
+ <bounds state="0" x="1597" y="352" width="64" height="23" />
+ <bounds state="100" x="1672" y="352" width="64" height="23" />
+ </element>
<element ref="volume"><bounds x="1597" y="378" width="139" height="14" /></element>
<element ref="button" inputtag="DRVIF_4" inputmask="0x80"><bounds x="1755" y="353" width="65" height="21" /></element>
@@ -750,6 +836,11 @@ license:CC0
<element ref="slidermin"><bounds x="2271" y="338" width="139" height="12" /></element>
<element ref="slidermax"><bounds x="2271" y="338" width="139" height="12" /></element>
<element ref="slider"><bounds x="2271" y="352" width="139" height="23" /></element>
+ <element ref="slider-bar-white">
+ <animate inputtag="RYP4_1" mask="0xff" />
+ <bounds state="0" x="2271" y="352" width="64" height="23" />
+ <bounds state="100" x="2346" y="352" width="64" height="23" />
+ </element>
<element ref="volume"><bounds x="2271" y="378" width="139" height="14" /></element>
<element ref="button" inputtag="DRVIF_13" inputmask="0x80"><bounds x="2429" y="353" width="65" height="21" /></element>
diff --git a/src/mame/layout/psr70.lay b/src/mame/layout/psr70.lay
index 102d7951f09..369f7355b12 100644
--- a/src/mame/layout/psr70.lay
+++ b/src/mame/layout/psr70.lay
@@ -268,6 +268,31 @@ license:CC0
<rect><bounds x="0" y="0" width="152" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
<rect><bounds x="2" y="2" width="148" height="18" /><color red="0.3" green="0.3" blue="0.3" /></rect>
</element>
+ <element name="slider-bar-grey">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.67" green="0.65" blue="0.65" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-red">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.83" green="0.21" blue="0.19" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-cyan">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.70" green="0.97" blue="0.96" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-yellow">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.95" green="0.85" blue="0.58" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
+ <element name="slider-bar-green">
+ <rect><bounds x="0" y="0" width="40" height="22" /><color red="0.0" green="0.0" blue="0.0" /></rect>
+ <rect><bounds x="2" y="2" width="36" height="18" /><color red="0.66" green="0.92" blue="0.78" /></rect>
+ <rect><bounds x="18" y="2" width="5" height="18" /><color red="1.0" green="1.0" blue="1.0" /></rect>
+ </element>
<!-- LED primitives -->
<element name="led" defstate="0">
@@ -384,11 +409,17 @@ license:CC0
<element ref="slidermin"><bounds x="689" y="468" width="136" height="13" /></element>
<element ref="slidermax"><bounds x="689" y="468" width="136" height="13" /></element>
<element ref="slider"><bounds x="699" y="480" width="116" height="22" /></element>
+ <element ref="slider-bar-grey">
+ <animate inputtag="MASTERVOL" mask="0xff" />
+ <bounds state="0" x="699" y="480" width="40" height="23" />
+ <bounds state="100" x="775" y="480" width="40" height="23" />
+ </element>
<element ref="mastervolume"><bounds x="699" y="504" width="139" height="13" /></element>
<element ref="slideroff"><bounds x="719" y="522" width="76" height="13" /></element>
<element ref="slideron"><bounds x="719" y="522" width="76" height="13" /></element>
<element ref="slider"><bounds x="699" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-red"><bounds x="755" y="534" width="40" height="23" /></element>
<element ref="power"><bounds x="699" y="558" width="116" height="13" /></element>
<element ref="led" name="DRVIF_0_DP4"><bounds x="820" y="539" width="12" height="12" /></element>
</group>
@@ -416,11 +447,21 @@ license:CC0
<element ref="slidermin"><bounds x="868" y="468" width="136" height="13" /></element>
<element ref="slidermax"><bounds x="868" y="468" width="136" height="13" /></element>
<element ref="slider"><bounds x="878" y="480" width="116" height="22" /></element>
+ <element ref="slider-bar-cyan">
+ <animate inputtag="RYP4_6" mask="0xff" />
+ <bounds state="0" x="878" y="480" width="40" height="23" />
+ <bounds state="100" x="954" y="480" width="40" height="23" />
+ </element>
<element ref="bassvolume"><bounds x="878" y="504" width="139" height="13" /></element>
<element ref="slidermin"><bounds x="868" y="522" width="136" height="13" /></element>
<element ref="slidermax"><bounds x="868" y="522" width="136" height="13" /></element>
<element ref="slider"><bounds x="878" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-cyan">
+ <animate inputtag="RYP4_5" mask="0xff" />
+ <bounds state="0" x="878" y="534" width="40" height="23" />
+ <bounds state="100" x="954" y="534" width="40" height="23" />
+ </element>
<element ref="chordvolume"><bounds x="878" y="558" width="139" height="13" /></element>
</group>
@@ -518,11 +559,21 @@ license:CC0
<element ref="slidermin"><bounds x="1047" y="522" width="136" height="13" /></element>
<element ref="slidermax"><bounds x="1047" y="522" width="136" height="13" /></element>
<element ref="slider"><bounds x="1057" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_3" mask="0xff" />
+ <bounds state="0" x="1057" y="534" width="40" height="23" />
+ <bounds state="100" x="1133" y="534" width="40" height="23" />
+ </element>
<element ref="volume"><bounds x="1057" y="558" width="116" height="13" /></element>
<element ref="sliderslow"><bounds x="1232" y="522" width="172" height="13" /></element>
<element ref="sliderfast"><bounds x="1232" y="522" width="172" height="13" /></element>
<element ref="slider-tempo"><bounds x="1242" y="534" width="152" height="22" /></element>
+ <element ref="slider-bar-yellow">
+ <animate inputtag="RYP4_4" mask="0xff" />
+ <bounds state="0" x="1242" y="534" width="40" height="23" />
+ <bounds state="100" x="1354" y="534" width="40" height="23" />
+ </element>
<element ref="tempo"><bounds x="1242" y="558" width="152" height="13" /></element>
</group>
@@ -617,6 +668,11 @@ license:CC0
<element ref="slidermin"><bounds x="1629" y="522" width="136" height="13" /></element>
<element ref="slidermax"><bounds x="1629" y="522" width="136" height="13" /></element>
<element ref="slider"><bounds x="1639" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-green">
+ <animate inputtag="RYP4_2" mask="0xff" />
+ <bounds state="0" x="1639" y="534" width="40" height="23" />
+ <bounds state="100" x="1715" y="534" width="40" height="23" />
+ </element>
<element ref="volume"><bounds x="1639" y="558" width="116" height="13" /></element>
<!-- right column -->
@@ -709,6 +765,11 @@ license:CC0
<element ref="slidermin"><bounds x="2029" y="522" width="136" height="13" /></element>
<element ref="slidermax"><bounds x="2029" y="522" width="136" height="13" /></element>
<element ref="slider"><bounds x="2038" y="534" width="116" height="22" /></element>
+ <element ref="slider-bar-grey">
+ <animate inputtag="RYP4_1" mask="0xff" />
+ <bounds state="0" x="2038" y="534" width="40" height="23" />
+ <bounds state="100" x="2114" y="534" width="40" height="23" />
+ </element>
<element ref="volume"><bounds x="2038" y="558" width="116" height="13" /></element>
<!-- right column -->
@@ -773,7 +834,7 @@ license:CC0
<element ref="keysplit"><bounds x="247" y="617" width="85" height="13" /></element>
<element ref="button-yellow" inputtag="DRVIF_3" inputmask="0x10"><bounds x="338" y="618" width="40" height="15" /></element>
- <element ref="led" name="DRVIF_3_DP4"><bounds x="381" y="619" width="12" height="12" /></element>
+ <element ref="led" name="DRVIF_2_DP4"><bounds x="381" y="619" width="12" height="12" /></element>
<element ref="keyboardpercussion"><bounds x="399" y="617" width="160" height="13" /></element>
<element ref="fillin"><bounds x="532" y="617" width="60" height="13" /></element>