hh_tms1k: esoccer is playable, still need to make proper artwork

New working machines added
-----------
Entex Electronic Soccer [hap, Sean Riddle]
This commit is contained in:
hap 2016-05-31 18:49:15 +02:00
parent 430f88f2f6
commit bc4c408e5f
2 changed files with 83 additions and 2 deletions

View File

@ -1633,6 +1633,10 @@ MACHINE_CONFIG_END
* TMS1000NL MP0158 (die label same)
* 2 7seg LEDs, 30 other LEDs, 1-bit sound
known releases:
- USA: Electronic Soccer, 2 versions (green bezel, transparent bezel)
- Germany: Fussball, with skill switch
***************************************************************************/
class esoccer_state : public hh_tms1k_state
@ -1652,25 +1656,59 @@ public:
void esoccer_state::prepare_display()
{
// R8,R9 are 7segs
m_display_segmask[8] = m_display_segmask[9] = 0x7f;
display_matrix(7, 10, m_o, m_r);
}
WRITE16_MEMBER(esoccer_state::write_r)
{
// R0-R2: input mux
m_inp_mux = data & 7;
// R10: speaker out
m_speaker->level_w(data >> 10 & 1);
// R0-R9: led select
m_r = data;
prepare_display();
}
WRITE16_MEMBER(esoccer_state::write_o)
{
// O0-O6: led state
m_o = data;
prepare_display();
}
READ8_MEMBER(esoccer_state::read_k)
{
return 0;
// K: multiplexed inputs
return read_inputs(3);
}
// config
static INPUT_PORTS_START( esoccer )
PORT_START("IN.0") // R0
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY
PORT_START("IN.1") // R1
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY
PORT_START("IN.2") // R2
PORT_CONFNAME( 0x03, 0x01, "Players" )
PORT_CONFSETTING( 0x01, "1" ) // Auto
PORT_CONFSETTING( 0x02, "2" ) // Manual
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
INPUT_PORTS_END
static MACHINE_CONFIG_START( esoccer, esoccer_state )

View File

@ -3,6 +3,10 @@
<!-- define elements -->
<element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.2" blue="0.23" /></led7seg>
</element>
<element name="led" defstate="0">
<disk state="0"><color red="0.2" green="0.04" blue="0.046" /></disk>
<disk state="1"><color red="1.0" green="0.2" blue="0.23" /></disk>
@ -14,7 +18,46 @@
<view name="Internal Layout">
<bounds left="0" right="100" top="0" bottom="100" />
<bezel name="0.0" element="led"><bounds x="1" y="1" width="1" height="1" /></bezel>
<bezel name="digit8" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel>
<bezel name="digit9" element="digit"><bounds x="20" y="0" width="10" height="15" /></bezel>
<bezel name="0.0" element="led"><bounds x="0" y="20" width="1" height="1" /></bezel>
<bezel name="0.1" element="led"><bounds x="1" y="20" width="1" height="1" /></bezel>
<bezel name="0.2" element="led"><bounds x="2" y="20" width="1" height="1" /></bezel>
<bezel name="1.0" element="led"><bounds x="0" y="21" width="1" height="1" /></bezel>
<bezel name="1.1" element="led"><bounds x="1" y="21" width="1" height="1" /></bezel>
<bezel name="1.2" element="led"><bounds x="2" y="21" width="1" height="1" /></bezel>
<bezel name="1.3" element="led"><bounds x="3" y="21" width="1" height="1" /></bezel>
<bezel name="2.0" element="led"><bounds x="0" y="22" width="1" height="1" /></bezel>
<bezel name="2.1" element="led"><bounds x="1" y="22" width="1" height="1" /></bezel>
<bezel name="2.2" element="led"><bounds x="2" y="22" width="1" height="1" /></bezel>
<bezel name="2.3" element="led"><bounds x="3" y="22" width="1" height="1" /></bezel>
<bezel name="3.0" element="led"><bounds x="0" y="23" width="1" height="1" /></bezel>
<bezel name="3.1" element="led"><bounds x="1" y="23" width="1" height="1" /></bezel>
<bezel name="3.2" element="led"><bounds x="2" y="23" width="1" height="1" /></bezel>
<bezel name="3.3" element="led"><bounds x="3" y="23" width="1" height="1" /></bezel>
<bezel name="4.0" element="led"><bounds x="0" y="24" width="1" height="1" /></bezel>
<bezel name="4.1" element="led"><bounds x="1" y="24" width="1" height="1" /></bezel>
<bezel name="4.2" element="led"><bounds x="2" y="24" width="1" height="1" /></bezel>
<bezel name="4.3" element="led"><bounds x="3" y="24" width="1" height="1" /></bezel>
<bezel name="5.0" element="led"><bounds x="0" y="25" width="1" height="1" /></bezel>
<bezel name="5.1" element="led"><bounds x="1" y="25" width="1" height="1" /></bezel>
<bezel name="5.2" element="led"><bounds x="2" y="25" width="1" height="1" /></bezel>
<bezel name="5.3" element="led"><bounds x="3" y="25" width="1" height="1" /></bezel>
<bezel name="6.0" element="led"><bounds x="0" y="26" width="1" height="1" /></bezel>
<bezel name="6.1" element="led"><bounds x="1" y="26" width="1" height="1" /></bezel>
<bezel name="6.2" element="led"><bounds x="2" y="26" width="1" height="1" /></bezel>
<bezel name="6.3" element="led"><bounds x="3" y="26" width="1" height="1" /></bezel>
<bezel name="7.0" element="led"><bounds x="0" y="27" width="1" height="1" /></bezel>
<bezel name="7.1" element="led"><bounds x="1" y="27" width="1" height="1" /></bezel>
<bezel name="7.2" element="led"><bounds x="2" y="27" width="1" height="1" /></bezel>
</view>
</mamelayout>