video21: added color overlay (nw)

This commit is contained in:
hap 2018-09-25 22:42:37 +02:00
parent 666a649015
commit a2f529a761
2 changed files with 125 additions and 100 deletions

View File

@ -16,7 +16,6 @@ TODO:
- improve sound, it's definitely beeper pitch control, but sounds offtune
- identify all dips (7 total)
- confirm CPU clock
- color overlay as seen on flyer upright cabinet
When booted, press Key out (mapped to W by default) to get it going.
@ -69,7 +68,7 @@ private:
required_shared_ptr<u8> m_p_videoram;
required_region_ptr<u8> m_p_chargen;
optional_device<beep_device> m_beeper;
output_finder<24> m_lamps;
output_finder<6> m_lamps;
};
@ -136,7 +135,7 @@ WRITE8_MEMBER(video21_state::lamp1_w)
// d5: take/stand(which?)
// d6: take/stand(which?)
// d7: start
for (int i = 0; i < 8; i++)
for (int i = 0; i < 3; i++)
m_lamps[i+0] = BIT(data, 7-i);
}
@ -146,8 +145,8 @@ WRITE8_MEMBER(video21_state::lamp2_w)
// d5: bet
// d6: accept win/double(which?)
// d7: accept win/double(which?)
for (int i = 0; i < 8; i++)
m_lamps[i+8] = BIT(data, 7-i);
for (int i = 0; i < 3; i++)
m_lamps[i+3] = BIT(data, 7-i);
}

View File

@ -1,108 +1,134 @@
<?xml version="1.0"?>
<mamelayout version="2">
<element name="Out0_80" defstate="0">
<rect state="1">
<color red="0.80" green="0.80" blue="0.80" />
</rect>
<rect state="0">
<color red="0.10" green="0.10" blue="0.10" />
</rect>
<text string="Start">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<!-- define elements -->
<element name="Out0_40" defstate="0">
<rect state="1">
<color red="0.80" green="0.80" blue="0.80" />
</rect>
<rect state="0">
<color red="0.10" green="0.10" blue="0.10" />
</rect>
<text string="Take">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="overlay">
<rect>
<bounds x="0" y="0" width="256" height="97" />
<color red="1" green="0.2" blue="0.2" />
</rect>
<rect>
<bounds x="0" y="96" width="129" height="37" />
<color red="0.2" green="0.5" blue="1" />
</rect>
<rect>
<bounds x="128" y="96" width="128" height="37" />
<color red="0.2" green="1" blue="0.1" />
</rect>
<rect>
<bounds x="0" y="132" width="256" height="92" />
<color red="1" green="1" blue="0.2" />
</rect>
</element>
<element name="Out0_20" defstate="0">
<rect state="1">
<color red="0.80" green="0.80" blue="0.80" />
</rect>
<rect state="0">
<color red="0.10" green="0.10" blue="0.10" />
</rect>
<text string="Stand">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="start" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="Start">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="Out1_20" defstate="0">
<rect state="1">
<color red="0.80" green="0.80" blue="0.80" />
</rect>
<rect state="0">
<color red="0.10" green="0.10" blue="0.10" />
</rect>
<text string="Bet">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="take" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="Take">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="Out1_40" defstate="0">
<rect state="1">
<color red="0.80" green="0.80" blue="0.80" />
</rect>
<rect state="0">
<color red="0.10" green="0.10" blue="0.10" />
</rect>
<text string="Accept">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="stand" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="Stand">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="Out1_80" defstate="0">
<rect state="1">
<color red="0.80" green="0.80" blue="0.80" />
</rect>
<rect state="0">
<color red="0.10" green="0.10" blue="0.10" />
</rect>
<text string="Double">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="bet" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="Bet">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="accept" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="Accept">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<element name="double" defstate="0">
<rect state="1">
<color red="1.0" green="0.0" blue="0.0" />
</rect>
<rect state="0">
<color red="0.3" green="0.0" blue="0.0" />
</rect>
<text string="Double">
<color red="0.0" green="0.0" blue="0.0" />
<bounds x="0.1" y="0.25" width="0.8" height="0.5" />
</text>
</element>
<view name="Button Lamps">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<!-- build screen -->
<bezel name="lamp10" element="Out1_20" inputtag="IN44" inputmask="0x10">
<bounds x="0.00" y="3.10" width="0.20" height="0.14" />
</bezel>
<bezel name="lamp0" element="Out0_80" inputtag="IN42" inputmask="0x04">
<bounds x="0.25" y="3.10" width="0.20" height="0.14" />
</bezel>
<bezel name="lamp1" element="Out0_40" inputtag="IN42" inputmask="0x08">
<bounds x="0.50" y="3.10" width="0.20" height="0.14" />
</bezel>
<bezel name="lamp2" element="Out0_20" inputtag="IN42" inputmask="0x10">
<bounds x="0.75" y="3.10" width="0.20" height="0.14" />
</bezel>
<bezel name="lamp8" element="Out1_40" inputtag="IN44" inputmask="0x40">
<bounds x="1.00" y="3.10" width="0.20" height="0.14" />
</bezel>
<bezel name="lamp9" element="Out1_80" inputtag="IN44" inputmask="0x20">
<bounds x="1.25" y="3.10" width="0.20" height="0.14" />
</bezel>
<view name="Internal Layout">
<screen index="0">
<bounds left="0" top="0" right="4" bottom="3" />
</screen>
<overlay name="overlay" element="overlay">
<bounds left="0" top="0" right="4" bottom="3" />
</overlay>
</view>
<bezel name="lamp5" element="bet" inputtag="IN44" inputmask="0x10">
<bounds x="0.0" y="3.05" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp0" element="start" inputtag="IN42" inputmask="0x04">
<bounds x="0.4" y="3.05" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp1" element="take" inputtag="IN42" inputmask="0x08">
<bounds x="0.8" y="3.05" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp2" element="stand" inputtag="IN42" inputmask="0x10">
<bounds x="1.2" y="3.05" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp3" element="accept" inputtag="IN44" inputmask="0x40">
<bounds x="1.85" y="3.05" width="0.35" height="0.24" />
</bezel>
<bezel name="lamp4" element="double" inputtag="IN44" inputmask="0x20">
<bounds x="2.25" y="3.05" width="0.35" height="0.24" />
</bezel>
</view>
</mamelayout>