New working machine added

--------
Tandy Electronic Basketball [hap, Sean Riddle]
This commit is contained in:
hap 2017-02-17 23:55:15 +01:00
parent 182fc20c15
commit a032716dc9
3 changed files with 222 additions and 4 deletions

View File

@ -13,7 +13,7 @@
@033 1655A 1979, Toytronic Football (newer) @033 1655A 1979, Toytronic Football (newer)
@036 1655A 1979, Ideal Maniac @036 1655A 1979, Ideal Maniac
*043 1655A 1979, Caprice Pro-Action Baseball (have dump) *043 1655A 1979, Caprice Pro-Action Baseball (have dump)
*051 1655A 1979, U.S. Games Basketball/Tandy Electronic Basketball (have dump) @051 1655A 1979, Tandy Electronic Basketball
@053 1655A 1979, Atari Touch Me @053 1655A 1979, Atari Touch Me
@0?? 1655A 1979, Tiger Half Court Computer Basketball/Sears Electronic Basketball (custom label) @0?? 1655A 1979, Tiger Half Court Computer Basketball/Sears Electronic Basketball (custom label)
@061 1655A 1980, Lakeside Le Boom @061 1655A 1980, Lakeside Le Boom
@ -36,6 +36,8 @@
TODO: TODO:
- leboom discrete sound for volume decay (simulated for now) - leboom discrete sound for volume decay (simulated for now)
- ttfball/ttfballa: discrete sound part, for volume gating? - ttfball/ttfballa: discrete sound part, for volume gating?
- what's the relation between hccbaskb and tbaskb? Is one the bootleg
of the other? Or are they both made by the same subcontractor?
***************************************************************************/ ***************************************************************************/
@ -49,6 +51,7 @@
#include "maniac.lh" // clickable #include "maniac.lh" // clickable
#include "melodym.lh" // clickable #include "melodym.lh" // clickable
#include "rockpin.lh" #include "rockpin.lh"
#include "tbaskb.lh"
#include "touchme.lh" // clickable #include "touchme.lh" // clickable
#include "ttfball.lh" #include "ttfball.lh"
@ -765,6 +768,115 @@ MACHINE_CONFIG_END
/***************************************************************************
Tandy Electronic Basketball (model 60-2146)
* PIC1655A-51
* 2 7seg LEDs + 21 other LEDs, 1-bit sound
The ROM is nearly identical to hccbaskb, the shell/overlay is the same as
U.S. Games/Tandy Trick Shot Basketball.
***************************************************************************/
class tbaskb_state : public hh_pic16_state
{
public:
tbaskb_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_pic16_state(mconfig, type, tag)
{ }
void prepare_display();
DECLARE_READ8_MEMBER(read_a);
DECLARE_WRITE8_MEMBER(write_b);
DECLARE_WRITE8_MEMBER(write_c);
};
// handlers
void tbaskb_state::prepare_display()
{
// B4,B5 are 7segs
set_display_segmask(0x30, 0x7f);
display_matrix(7, 6, m_c, m_b);
}
READ8_MEMBER(tbaskb_state::read_a)
{
// A2: skill switch, A3: multiplexed inputs
return m_inp_matrix[5]->read() | read_inputs(5) | 3;
}
WRITE8_MEMBER(tbaskb_state::write_b)
{
// B0: RTCC pin
m_maincpu->set_input_line(PIC16C5x_RTCC, data & 1);
// B0-B4: input mux
m_inp_mux = ~data & 0x1f;
// B0-B5: led select
m_b = data;
prepare_display();
}
WRITE8_MEMBER(tbaskb_state::write_c)
{
// C7: speaker out
m_speaker->level_w(data >> 7 & 1);
// C0-C6: led data
m_c = ~data;
prepare_display();
}
// config
static INPUT_PORTS_START( tbaskb )
PORT_START("IN.0") // B0 port A3
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_16WAY
PORT_START("IN.1") // B1 port A3
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_16WAY
PORT_START("IN.2") // B2 port A3
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_16WAY
PORT_START("IN.3") // B3 port A3
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_16WAY
PORT_START("IN.4") // B4 port A3
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_START("IN.5") // port A2
PORT_CONFNAME( 0x04, 0x04, "Skill Level" )
PORT_CONFSETTING( 0x04, "1" )
PORT_CONFSETTING( 0x00, "2" )
INPUT_PORTS_END
static MACHINE_CONFIG_START( tbaskb, tbaskb_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", PIC1655, 1000000) // approximation - RC osc. R=18K, C=47pF
MCFG_PIC16C5x_READ_A_CB(READ8(tbaskb_state, read_a))
MCFG_PIC16C5x_WRITE_B_CB(WRITE8(tbaskb_state, write_b))
MCFG_PIC16C5x_READ_C_CB(CONSTANT(0xff))
MCFG_PIC16C5x_WRITE_C_CB(WRITE8(tbaskb_state, write_c))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_pic16_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_tbaskb)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************
Tiger Electronics Rocket Pinball (model 7-460) Tiger Electronics Rocket Pinball (model 7-460)
@ -976,6 +1088,7 @@ static MACHINE_CONFIG_START( hccbaskb, hccbaskb_state )
MCFG_CPU_ADD("maincpu", PIC1655, 1000000) // approximation - RC osc. R=15K, C=47pF MCFG_CPU_ADD("maincpu", PIC1655, 1000000) // approximation - RC osc. R=15K, C=47pF
MCFG_PIC16C5x_READ_A_CB(READ8(hccbaskb_state, read_a)) MCFG_PIC16C5x_READ_A_CB(READ8(hccbaskb_state, read_a))
MCFG_PIC16C5x_WRITE_B_CB(WRITE8(hccbaskb_state, write_b)) MCFG_PIC16C5x_WRITE_B_CB(WRITE8(hccbaskb_state, write_b))
MCFG_PIC16C5x_READ_C_CB(CONSTANT(0xff))
MCFG_PIC16C5x_WRITE_C_CB(WRITE8(hccbaskb_state, write_c)) MCFG_PIC16C5x_WRITE_C_CB(WRITE8(hccbaskb_state, write_c))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_pic16_state, display_decay_tick, attotime::from_msec(1)) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_pic16_state, display_decay_tick, attotime::from_msec(1))
@ -993,9 +1106,13 @@ MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************
Toytronic Football Toytronic Football (set 1)
* PIC1655-024 or PIC1655A-033 * PIC1655A-033
* 4511 7seg BCD decoder, 7 7seg LEDs + 27 other LEDs, 1-bit sound * 4511 7seg BCD decoder, 7 7seg LEDs + 27 other LEDs, 1-bit sound
(no brand) Football (set 2)
* PIC1655-024
* rest same as above, 1 less button
Hello and welcome to another Mattel Football clone, there are so many of these. Hello and welcome to another Mattel Football clone, there are so many of these.
The PIC1655-024 one came from an unbranded handheld, but comparison suggests The PIC1655-024 one came from an unbranded handheld, but comparison suggests
@ -1120,7 +1237,7 @@ INPUT_PORTS_END
static MACHINE_CONFIG_START( ttfball, ttfball_state ) static MACHINE_CONFIG_START( ttfball, ttfball_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", PIC1655, 1000000) // approximation - RC osc. R=27K or 33K, C=68pF MCFG_CPU_ADD("maincpu", PIC1655, 1000000) // approximation - RC osc. R=27K(set 1) or 33K(set 2), C=68pF
MCFG_PIC16C5x_READ_A_CB(READ8(ttfball_state, read_a)) MCFG_PIC16C5x_READ_A_CB(READ8(ttfball_state, read_a))
MCFG_PIC16C5x_WRITE_B_CB(WRITE8(ttfball_state, write_b)) MCFG_PIC16C5x_WRITE_B_CB(WRITE8(ttfball_state, write_b))
MCFG_PIC16C5x_READ_C_CB(CONSTANT(0xff)) MCFG_PIC16C5x_READ_C_CB(CONSTANT(0xff))
@ -1169,6 +1286,12 @@ ROM_START( leboom )
ROM_END ROM_END
ROM_START( tbaskb )
ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "pic1655a-051", 0x0000, 0x0400, CRC(92534b40) SHA1(7055e32846c913e68f7d35f279cd537f6325f4f2) )
ROM_END
ROM_START( rockpin ) ROM_START( rockpin )
ROM_REGION( 0x0400, "maincpu", 0 ) ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "pic1650a-110_69-11397", 0x0000, 0x0400, CRC(d5396e77) SHA1(952feaff70fde53a9eda84c54704520d50749e78) ) ROM_LOAD( "pic1650a-110_69-11397", 0x0000, 0x0400, CRC(d5396e77) SHA1(952feaff70fde53a9eda84c54704520d50749e78) )
@ -1202,6 +1325,8 @@ CONS( 1979, maniac, 0, 0, maniac, maniac, driver_device, 0, "Ideal
CONS( 1980, leboom, 0, 0, leboom, leboom, driver_device, 0, "Lakeside", "Le Boom", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK ) CONS( 1980, leboom, 0, 0, leboom, leboom, driver_device, 0, "Lakeside", "Le Boom", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK )
CONS( 1979, tbaskb, 0, 0, tbaskb, tbaskb, driver_device, 0, "Tandy Radio Shack", "Electronic Basketball (Tandy)", MACHINE_SUPPORTS_SAVE )
CONS( 1979, rockpin, 0, 0, rockpin, rockpin, driver_device, 0, "Tiger Electronics", "Rocket Pinball", MACHINE_SUPPORTS_SAVE ) CONS( 1979, rockpin, 0, 0, rockpin, rockpin, driver_device, 0, "Tiger Electronics", "Rocket Pinball", MACHINE_SUPPORTS_SAVE )
CONS( 1979, hccbaskb, 0, 0, hccbaskb, hccbaskb, driver_device, 0, "Tiger Electronics", "Half Court Computer Basketball", MACHINE_SUPPORTS_SAVE ) CONS( 1979, hccbaskb, 0, 0, hccbaskb, hccbaskb, driver_device, 0, "Tiger Electronics", "Half Court Computer Basketball", MACHINE_SUPPORTS_SAVE )

View File

@ -0,0 +1,92 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="static_black"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="disk_black"><disk><color red="0" green="0" blue="0" /></disk></element>
<element name="static_white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
<element name="disk_white"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element>
<element name="text_l1"><text string="HOME" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_l2"><text string="VISITOR" align="2"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="led" defstate="0">
<disk state="0"><color red="0.2" green="0.04" blue="0.05" /></disk>
<disk state="1"><color red="1.0" green="0.2" blue="0.23" /></disk>
</element>
<element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.2" blue="0.23" /></led7seg>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="3.26" right="21.74" top="-2.75" bottom="23.25" />
<!-- bezel -->
<bezel element="static_white"><bounds x="3.25" y="5" width="18.5" height="23" /></bezel>
<bezel element="static_black"><bounds x="3.5" y="5.5" width="18" height="23" /></bezel>
<bezel element="static_white"><bounds x="10" y="5.25" width="5" height="7.25" /></bezel>
<bezel element="static_white"><bounds x="9" y="7.5" width="7" height="0.25" /></bezel>
<bezel element="static_white"><bounds x="9" y="8.75" width="7" height="0.25" /></bezel>
<bezel element="static_white"><bounds x="9" y="10" width="7" height="0.25" /></bezel>
<bezel element="static_black"><bounds x="10.25" y="5.5" width="4.5" height="7.25" /></bezel>
<bezel element="disk_white"><bounds x="10" y="10" width="5" height="5" /></bezel>
<bezel element="disk_black"><bounds x="10.25" y="10.25" width="4.5" height="4.5" /></bezel>
<bezel element="static_black"><bounds x="10.85" y="9.5" width="0.35" height="3" /></bezel>
<bezel element="static_black"><bounds x="12.25" y="9.5" width="0.5" height="3" /></bezel>
<bezel element="static_black"><bounds x="13.8" y="9.5" width="0.35" height="3" /></bezel>
<bezel element="static_white"><bounds x="10.1" y="12.25" width="4.8" height="0.25" /></bezel>
<bezel element="disk_white"><bounds x="10" y="19.25" width="5" height="5" /></bezel>
<bezel element="disk_black"><bounds x="10.25" y="19.5" width="4.5" height="4.5" /></bezel>
<bezel element="static_white"><bounds x="3.3" y="21.65" width="18.4" height="5" /></bezel>
<bezel element="static_black"><bounds x="0" y="21.9" width="25" height="5" /></bezel>
<bezel element="static_black"><bounds x="0" y="0" width="25" height="5.25" /></bezel>
<bezel element="static_white"><bounds x="9" y="1" width="7" height="0.25" /></bezel>
<bezel element="disk_white"><bounds x="10.75" y="2" width="3.5" height="2" /></bezel>
<bezel element="disk_black"><bounds x="11" y="2.25" width="3" height="1.5" /></bezel>
<bezel element="text_l1"><bounds x="4" y="22" width="10" height="1" /></bezel>
<bezel element="text_l2"><bounds x="11" y="22" width="10" height="1" /></bezel>
<!-- leds -->
<bezel name="digit5" element="digit"><bounds x="11" y="-2" width="1.5" height="2.25" /></bezel>
<bezel name="digit4" element="digit"><bounds x="12.5" y="-2" width="1.5" height="2.25" /></bezel>
<bezel name="0.5" element="led"><bounds x="12" y="2.5" width="1" height="1" /></bezel>
<bezel name="3.0" element="led"><bounds x="4" y="6" width="1" height="1" /></bezel>
<bezel name="3.1" element="led"><bounds x="8" y="6" width="1" height="1" /></bezel>
<bezel name="3.2" element="led"><bounds x="12" y="6" width="1" height="1" /></bezel>
<bezel name="3.3" element="led"><bounds x="16" y="6" width="1" height="1" /></bezel>
<bezel name="3.4" element="led"><bounds x="20" y="6" width="1" height="1" /></bezel>
<bezel name="2.0" element="led"><bounds x="4" y="10.75" width="1" height="1" /></bezel>
<bezel name="2.1" element="led"><bounds x="8" y="10.75" width="1" height="1" /></bezel>
<bezel name="2.2" element="led"><bounds x="12" y="10.75" width="1" height="1" /></bezel>
<bezel name="2.3" element="led"><bounds x="16" y="10.75" width="1" height="1" /></bezel>
<bezel name="2.4" element="led"><bounds x="20" y="10.75" width="1" height="1" /></bezel>
<bezel name="1.0" element="led"><bounds x="4" y="15.5" width="1" height="1" /></bezel>
<bezel name="1.1" element="led"><bounds x="8" y="15.5" width="1" height="1" /></bezel>
<bezel name="1.2" element="led"><bounds x="12" y="15.5" width="1" height="1" /></bezel>
<bezel name="1.3" element="led"><bounds x="16" y="15.5" width="1" height="1" /></bezel>
<bezel name="1.4" element="led"><bounds x="20" y="15.5" width="1" height="1" /></bezel>
<bezel name="0.0" element="led"><bounds x="4" y="20.25" width="1" height="1" /></bezel>
<bezel name="0.1" element="led"><bounds x="8" y="20.25" width="1" height="1" /></bezel>
<bezel name="0.2" element="led"><bounds x="12" y="20.25" width="1" height="1" /></bezel>
<bezel name="0.3" element="led"><bounds x="16" y="20.25" width="1" height="1" /></bezel>
<bezel name="0.4" element="led"><bounds x="20" y="20.25" width="1" height="1" /></bezel>
</view>
</mamelayout>

View File

@ -14322,6 +14322,7 @@ leboom // Lakeside
maniac // Ideal maniac // Ideal
melodym // GAF melodym // GAF
rockpin // Tiger Electronics rockpin // Tiger Electronics
tbaskb // Tandy Radio Shack
touchme // Atari touchme // Atari
ttfball // Toytronic ttfball // Toytronic
ttfballa // Toytronic ttfballa // Toytronic