mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
funtech.cpp: Use recommended button layout/labels from manual in
fts2in1, also fixed coin/credit counter outputs. [Vas Crabb, Ioannis Bampoulas]
This commit is contained in:
parent
85eabc1952
commit
7e50747849
@ -64,7 +64,7 @@ private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<ticket_dispenser_device> m_hopper;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
output_finder<8> m_lamps;
|
||||
output_finder<6> m_lamps;
|
||||
|
||||
uint8_t m_vreg;
|
||||
|
||||
@ -225,32 +225,25 @@ void fun_tech_corp_state::funtech_map(address_map &map)
|
||||
|
||||
void fun_tech_corp_state::lamps_w(uint8_t data)
|
||||
{
|
||||
for (int i = 0; i < 8; i++)
|
||||
for (int i = 0; i < 6; i++)
|
||||
m_lamps[i] = BIT(data, i);
|
||||
|
||||
// bit 6 (0x40) is set when displaying a hand in poker, but there are only six lamp outputs
|
||||
// bit 7 (0x80) is always set
|
||||
}
|
||||
|
||||
void fun_tech_corp_state::coins_w(uint8_t data)
|
||||
{
|
||||
if (data & 0x01) logerror("coins_w %02x\n", data);
|
||||
|
||||
// 80 = hopper motor?
|
||||
machine().bookkeeping().coin_counter_w(4, BIT(data, 1)); // COUNTER HOPPER
|
||||
machine().bookkeeping().coin_counter_w(0, BIT(data, 2)); // COUNTER A (coin A)
|
||||
machine().bookkeeping().coin_counter_w(1, BIT(data, 3)); // COUNTER B (keyin B)
|
||||
machine().bookkeeping().coin_counter_w(2, BIT(data, 4)); // COUNTER C (coin C)
|
||||
machine().bookkeeping().coin_counter_w(3, BIT(data, 5)); // COUNTER D (coin D)
|
||||
machine().bookkeeping().coin_counter_w(5, BIT(data, 6)); // COUNTER CREDIT OUT
|
||||
|
||||
m_hopper->motor_w(BIT(data, 7));
|
||||
|
||||
// 40 = ? sometimes
|
||||
|
||||
// 20 = coin 3 counter
|
||||
machine().bookkeeping().coin_counter_w(2, data & 0x20 );
|
||||
|
||||
// 10 = coin 2 counter
|
||||
machine().bookkeeping().coin_counter_w(1, data & 0x10 );
|
||||
|
||||
// 08 = coin 4 counter
|
||||
machine().bookkeeping().coin_counter_w(3, data & 0x08 );
|
||||
|
||||
// 04 = coin 1 counter
|
||||
machine().bookkeeping().coin_counter_w(0, data & 0x04 );
|
||||
|
||||
// 02 = used when hopper is used (coin out counter?)
|
||||
}
|
||||
|
||||
void fun_tech_corp_state::vreg_w(uint8_t data)
|
||||
@ -295,8 +288,8 @@ static INPUT_PORTS_START( funtech )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin A")
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Coin C")
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_NAME("Coin D")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1, Take Score, Odds, Left Stop") // manual suggests Double Up and Odds are same line
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4, Double-Up")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1, Take Score, Odds, Left Stop") // shows odds in 8-liner game
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4, Double-Up") // manual suggests this shows odds, but it doesn't
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3, Small, Right Stop")
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2, Big, Center Stop")
|
||||
|
||||
|
@ -1,190 +1,262 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
copyright-holders:Vas Crabb
|
||||
|
||||
Super Two in One control panel
|
||||
Based on recommended button layout in manual
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
<element name="bluelamp" defstate="0">
|
||||
|
||||
<!-- define button-lamps -->
|
||||
|
||||
<element name="hold1" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
<color red="0.15" green="0.075" blue="0.0" />
|
||||
</rect>
|
||||
<text string="LEFT STOP">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="TAKE SCORE">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.375" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 1">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold2" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.15" green="0.075" blue="0.0" />
|
||||
</rect>
|
||||
<text string="CENTER STOP">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="BIG">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.375" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 2">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold3" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.15" green="0.075" blue="0.0" />
|
||||
</rect>
|
||||
<text string="RIGHT STOP">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="SMALL">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.375" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 3">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold4" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.15" green="0.075" blue="0.0" />
|
||||
</rect>
|
||||
<text string="DOUBLE-UP">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.375" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 4">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold5" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="1.0" green="0.5" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.15" green="0.075" blue="0.0" />
|
||||
</rect>
|
||||
<text string="BET">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.375" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="HOLD 5">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="start" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.0" green="1.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.0" green="0.15" blue="0.0" />
|
||||
</rect>
|
||||
<text string="ALL STOP">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.1" width="1" height="0.25" />
|
||||
</text>
|
||||
<text string="START">
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.375" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- define basic elements -->
|
||||
|
||||
<element name="cpanel">
|
||||
<rect>
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="stop1" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<element name="hold_b" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.7" green="0.35" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.1" green="0.05" blue="0.0" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<text string="HOLD 1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<element name="start_b" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.0" green="0.7" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.0" green="0.1" blue="0.0" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<text string="STOP 1">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="TAKE">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
<!-- define cpanel degradee elements -->
|
||||
|
||||
<element name="stop2" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
<element name="cpanel1">
|
||||
<rect>
|
||||
<color red="0.20" green="0.20" blue="0.20" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<text string="HOLD 2">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
<element name="cpanel2">
|
||||
<rect>
|
||||
<color red="0.15" green="0.15" blue="0.15" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<text string="STOP 2">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
<element name="cpanel3">
|
||||
<rect>
|
||||
<color red="0.10" green="0.10" blue="0.10" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<text string="BIG">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
<element name="cpanel4">
|
||||
<rect>
|
||||
<color red="0.05" green="0.05" blue="0.05" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="stop3" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 3">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="STOP 3">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.35" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="SMALL">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold4" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 4">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="DOUBLE">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="hold5" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="HOLD 5">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
|
||||
<text string="BET">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.65" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<element name="start1" defstate="0">
|
||||
<rect state="1">
|
||||
<color red="0.2" green="0.2" blue="1.0" />
|
||||
</rect>
|
||||
<rect state="0">
|
||||
<color red="0.04" green="0.04" blue="0.20" />
|
||||
</rect>
|
||||
|
||||
<text string="START">
|
||||
<color red="1.0" green="0.0" blue="0.0" />
|
||||
<bounds x="0" y="0.05" width="1" height="0.25" />
|
||||
</text>
|
||||
</element>
|
||||
|
||||
<view name="Simple Artwork">
|
||||
<bounds left="0" right="400" top="0" bottom="330" />
|
||||
<view name="Button Lamps">
|
||||
<screen index="0">
|
||||
<bounds left="0" right="400" top="0" bottom="300" />
|
||||
<bounds left="0" top="0" right="4" bottom="3" />
|
||||
</screen>
|
||||
|
||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) (port IN1) -->
|
||||
<bezel name="lamp1" element="start1" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="10" y="312" width="16" height="16" />
|
||||
<bezel element="cpanel">
|
||||
<bounds left="0" right="4" top="3" bottom="3.40" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hold 1, Take, Odds, Stop 1") -->
|
||||
<bezel name="lamp5" element="stop1" inputtag="IN0" inputmask="0x10">
|
||||
<bounds x="30" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 2, Big, Stop 2") -->
|
||||
<bezel name="lamp3" element="stop2" inputtag="IN0" inputmask="0x80">
|
||||
<bounds x="50" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 3, Small, Stop 3") -->
|
||||
<bezel name="lamp2" element="stop3" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="70" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 4, Double") -->
|
||||
<bezel name="lamp4" element="hold4" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="90" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 5, Bet") -->
|
||||
<bezel name="lamp0" element="hold5" inputtag="IN0" inputmask="0x01" >
|
||||
<bounds x="110" y="312" width="16" height="16" />
|
||||
</bezel>
|
||||
|
||||
<!-- gets set when displaying a hand in poker, doesn't seem button related -->
|
||||
<!--
|
||||
<bezel name="lamp6" element="bluelamp">
|
||||
<bounds x="130" y="312" width="16" height="16" />
|
||||
<bezel element="cpanel1">
|
||||
<bounds left="0" right="4" top="3.01" bottom="3.39" />
|
||||
</bezel>
|
||||
-->
|
||||
|
||||
<!-- always set, maybe cabinet marquee or just global enable? -->
|
||||
<!--
|
||||
<bezel name="lamp7" element="bluelamp">
|
||||
<bounds x="150" y="312" width="16" height="16" />
|
||||
<bezel element="cpanel2">
|
||||
<bounds left="0" right="4" top="3.02" bottom="3.38" />
|
||||
</bezel>
|
||||
-->
|
||||
|
||||
<bezel element="cpanel3">
|
||||
<bounds left="0" right="4" top="3.03" bottom="3.37" />
|
||||
</bezel>
|
||||
|
||||
<bezel element="cpanel4">
|
||||
<bounds left="0" right="4" top="3.04" bottom="3.36" />
|
||||
</bezel>
|
||||
|
||||
<bezel element="cpanel">
|
||||
<bounds left="0" right="4" top="3.05" bottom="3.35" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<!-- define lamps -->
|
||||
|
||||
<bezel name="lamp5" element="hold_b" inputtag="IN0" inputmask="0x10">
|
||||
<bounds x="0.05" y="3.08" width="0.50" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp5" element="hold1" inputtag="IN0" inputmask="0x10">
|
||||
<bounds x="0.07" y="3.10" width="0.46" height="0.20" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<bezel name="lamp3" element="hold_b" inputtag="IN0" inputmask="0x80">
|
||||
<bounds x="0.72" y="3.08" width="0.50" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp3" element="hold2" inputtag="IN0" inputmask="0x80">
|
||||
<bounds x="0.74" y="3.10" width="0.46" height="0.20" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<bezel name="lamp2" element="hold_b" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="1.39" y="3.08" width="0.50" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp2" element="hold3" inputtag="IN0" inputmask="0x40">
|
||||
<bounds x="1.41" y="3.10" width="0.46" height="0.20" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<bezel name="lamp4" element="hold_b" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="2.06" y="3.08" width="0.50" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp4" element="hold4" inputtag="IN0" inputmask="0x20">
|
||||
<bounds x="2.08" y="3.10" width="0.46" height="0.20" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<bezel name="lamp0" element="hold_b" inputtag="IN0" inputmask="0x01">
|
||||
<bounds x="2.73" y="3.08" width="0.50" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp0" element="hold5" inputtag="IN0" inputmask="0x01">
|
||||
<bounds x="2.75" y="3.10" width="0.46" height="0.20" />
|
||||
</bezel>
|
||||
|
||||
|
||||
<bezel name="lamp1" element="start_b" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="3.45" y="3.08" width="0.50" height="0.24" />
|
||||
</bezel>
|
||||
<bezel name="lamp1" element="start" inputtag="IN1" inputmask="0x40">
|
||||
<bounds x="3.47" y="3.10" width="0.46" height="0.20" />
|
||||
</bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
||||
|
Loading…
Reference in New Issue
Block a user