New working machine added

----------
Conic Multisport/Tandy Sports Arena [hap, Sean Riddle]
This commit is contained in:
hap 2017-01-04 21:20:31 +01:00
parent 7907229e28
commit ac111836fd
3 changed files with 195 additions and 3 deletions

View File

@ -21,7 +21,7 @@
*MP0057 TMS1000 1978, APH Student Speech+ (same ROM contents as TSI Speech+?) *MP0057 TMS1000 1978, APH Student Speech+ (same ROM contents as TSI Speech+?)
@MP0158 TMS1000 1979, Entex Soccer (6003) @MP0158 TMS1000 1979, Entex Soccer (6003)
@MP0163 TMS1000 1979, A-One LSI Match Number/LJN Electronic Concentration @MP0163 TMS1000 1979, A-One LSI Match Number/LJN Electronic Concentration
*MP0168 TMS1000 1979, Conic Multisport/Tandy Sports Arena @MP0168 TMS1000 1979, Conic Multisport/Tandy Sports Arena (model 60-2158)
@MP0170 TMS1000 1979, Conic Football @MP0170 TMS1000 1979, Conic Football
*MP0230 TMS1000 1980, Entex Blast It (6015) *MP0230 TMS1000 1980, Entex Blast It (6015)
@MP0271 TMS1000 1982, Tandy Radio Shack Monkey See @MP0271 TMS1000 1982, Tandy Radio Shack Monkey See
@ -140,6 +140,7 @@
#include "bcheetah.lh" #include "bcheetah.lh"
#include "bigtrak.lh" #include "bigtrak.lh"
#include "bship.lh" // clickable #include "bship.lh" // clickable
#include "cmsport.lh"
#include "cnfball.lh" #include "cnfball.lh"
#include "cnfball2.lh" #include "cnfball2.lh"
#include "cnsector.lh" // clickable #include "cnsector.lh" // clickable
@ -1757,6 +1758,119 @@ MACHINE_CONFIG_END
/***************************************************************************
Conic Electronic Multisport
* TMS1000 MP0168 (die label same)
* PCB label: 101-027(1979), or 101-021 REV A(1980, with DS8871N)
* 2 7seg LEDs, 33 other LEDs, 1-bit sound
This handheld includes 3 games: Basketball, Ice Hockey, Soccer.
MAME external artwork is needed for the switchable overlays.
known releases:
- Hong Kong: Electronic Multisport
- Hong Kong: Basketball/Ice Hockey/Soccer (3 separate handhelds)
- USA(1): Electronic Multisport, distributed by Innocron
- USA(2): Sports Arena, distributed by Tandy (model 60-2158)
***************************************************************************/
class cmsport_state : public hh_tms1k_state
{
public:
cmsport_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_tms1k_state(mconfig, type, tag)
{ }
void prepare_display();
DECLARE_WRITE16_MEMBER(write_r);
DECLARE_WRITE16_MEMBER(write_o);
DECLARE_READ8_MEMBER(read_k);
};
// handlers
void cmsport_state::prepare_display()
{
// R5,R6 are 7segs
set_display_segmask(0x60, 0x7f);
display_matrix(8, 9, m_o, m_r & ~0x80);
}
WRITE16_MEMBER(cmsport_state::write_r)
{
// R7: speaker out
m_speaker->level_w(data >> 7 & 1);
// R0,R9,R10: input mux
m_inp_mux = (data & 1) | (data >> 8 & 6);
// R0-R6,R8: led select
m_r = data;
prepare_display();
}
WRITE16_MEMBER(cmsport_state::write_o)
{
// O0-O7: led data
m_o = data;
prepare_display();
}
READ8_MEMBER(cmsport_state::read_k)
{
// K: multiplexed inputs
return read_inputs(3);
}
// config
static INPUT_PORTS_START( cmsport )
PORT_START("IN.0") // R0
PORT_CONFNAME( 0x05, 0x01, "Game Select" )
PORT_CONFSETTING( 0x01, "Basketball" )
PORT_CONFSETTING( 0x00, "Soccer" )
PORT_CONFSETTING( 0x04, "Ice Hockey" )
PORT_BIT( 0x0a, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN.1") // R9
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY
PORT_START("IN.2") // R10
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Shoot")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Score")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_CONFNAME( 0x08, 0x00, "Skill Level" )
PORT_CONFSETTING( 0x00, "1" ) // amateur
PORT_CONFSETTING( 0x08, "2" ) // professional
INPUT_PORTS_END
static MACHINE_CONFIG_START( cmsport, cmsport_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMS1000, 375000) // approximation - RC osc. R=47K, C=47pf
MCFG_TMS1XXX_READ_K_CB(READ8(cmsport_state, read_k))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(cmsport_state, write_r))
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(cmsport_state, write_o))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_cmsport)
/* 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
/*************************************************************************** /***************************************************************************
Conic Electronic Football Conic Electronic Football
@ -7480,6 +7594,17 @@ ROM_START( tc4 )
ROM_END ROM_END
ROM_START( cmsport )
ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "mp0168.u1", 0x0000, 0x0400, CRC(0712a268) SHA1(bd4e23e5c17b28c52e7e769e44773cc9c8839bed) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_common2_micro.pla", 0, 867, CRC(d33da3cf) SHA1(13c4ebbca227818db75e6db0d45b66ba5e207776) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_cmsport_output.pla", 0, 365, CRC(7defa140) SHA1(477e3cb55e79938d6acaa911e410f6dcb974c218) )
ROM_END
ROM_START( cnfball ) ROM_START( cnfball )
ROM_REGION( 0x0400, "maincpu", 0 ) ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "mp0170", 0x0000, 0x0400, CRC(50e8a44f) SHA1(fea6ae03c4ef329d825f8688e6854df15023d47e) ) ROM_LOAD( "mp0170", 0x0000, 0x0400, CRC(50e8a44f) SHA1(fea6ae03c4ef329d825f8688e6854df15023d47e) )
@ -8020,6 +8145,7 @@ CONS( 1980, h2hbaseb, 0, 0, h2hbaseb, h2hbaseb, driver_device, 0, "Col
CONS( 1981, h2hboxing, 0, 0, h2hboxing, h2hboxing, driver_device, 0, "Coleco", "Head to Head Boxing", MACHINE_SUPPORTS_SAVE ) CONS( 1981, h2hboxing, 0, 0, h2hboxing, h2hboxing, driver_device, 0, "Coleco", "Head to Head Boxing", MACHINE_SUPPORTS_SAVE )
CONS( 1981, tc4, 0, 0, tc4, tc4, driver_device, 0, "Coleco", "Total Control 4", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1981, tc4, 0, 0, tc4, tc4, driver_device, 0, "Coleco", "Total Control 4", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
CONS( 1979, cmsport, 0, 0, cmsport, cmsport, driver_device, 0, "Conic", "Electronic Multisport", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
CONS( 1979, cnfball, 0, 0, cnfball, cnfball, driver_device, 0, "Conic", "Electronic Football (Conic, TMS1000 version)", MACHINE_SUPPORTS_SAVE ) CONS( 1979, cnfball, 0, 0, cnfball, cnfball, driver_device, 0, "Conic", "Electronic Football (Conic, TMS1000 version)", MACHINE_SUPPORTS_SAVE )
CONS( 1979, cnfball2, 0, 0, cnfball2, cnfball2, driver_device, 0, "Conic", "Electronic Football II (Conic)", MACHINE_SUPPORTS_SAVE ) CONS( 1979, cnfball2, 0, 0, cnfball2, cnfball2, driver_device, 0, "Conic", "Electronic Football II (Conic)", MACHINE_SUPPORTS_SAVE )

View File

@ -0,0 +1,65 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.25" blue="0.28" /></led7seg>
</element>
<element name="led" defstate="0">
<disk state="0"><color red="0.1" green="0.025" blue="0.028" /></disk>
<disk state="1"><color red="1.0" green="0.25" blue="0.28" /></disk>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="-1" right="14" top="-1" bottom="21.5" />
<bezel name="5.7" element="led"><bounds x="0" y="0" width="1" height="1" /></bezel>
<bezel name="8.a" element="led"><bounds x="6" y="0" width="1" height="1" /></bezel>
<bezel name="6.7" element="led"><bounds x="12" y="0" width="1" height="1" /></bezel>
<bezel name="0.7" element="led"><bounds x="0" y="2.5" width="1" height="1" /></bezel>
<bezel name="1.7" element="led"><bounds x="3" y="2.5" width="1" height="1" /></bezel>
<bezel name="2.7" element="led"><bounds x="6" y="2.5" width="1" height="1" /></bezel>
<bezel name="3.7" element="led"><bounds x="9" y="2.5" width="1" height="1" /></bezel>
<bezel name="4.7" element="led"><bounds x="12" y="2.5" width="1" height="1" /></bezel>
<bezel name="0.6" element="led"><bounds x="0" y="5" width="1" height="1" /></bezel>
<bezel name="1.6" element="led"><bounds x="3" y="5" width="1" height="1" /></bezel>
<bezel name="2.6" element="led"><bounds x="6" y="5" width="1" height="1" /></bezel>
<bezel name="3.6" element="led"><bounds x="9" y="5" width="1" height="1" /></bezel>
<bezel name="4.6" element="led"><bounds x="12" y="5" width="1" height="1" /></bezel>
<bezel name="0.5" element="led"><bounds x="0" y="7.5" width="1" height="1" /></bezel>
<bezel name="1.5" element="led"><bounds x="3" y="7.5" width="1" height="1" /></bezel>
<bezel name="2.5" element="led"><bounds x="6" y="7.5" width="1" height="1" /></bezel>
<bezel name="3.5" element="led"><bounds x="9" y="7.5" width="1" height="1" /></bezel>
<bezel name="4.5" element="led"><bounds x="12" y="7.5" width="1" height="1" /></bezel>
<bezel name="0.4" element="led"><bounds x="0" y="10" width="1" height="1" /></bezel>
<bezel name="1.4" element="led"><bounds x="3" y="10" width="1" height="1" /></bezel>
<bezel name="2.4" element="led"><bounds x="6" y="10" width="1" height="1" /></bezel>
<bezel name="3.4" element="led"><bounds x="9" y="10" width="1" height="1" /></bezel>
<bezel name="4.4" element="led"><bounds x="12" y="10" width="1" height="1" /></bezel>
<bezel name="0.3" element="led"><bounds x="0" y="12.5" width="1" height="1" /></bezel>
<bezel name="1.3" element="led"><bounds x="3" y="12.5" width="1" height="1" /></bezel>
<bezel name="2.3" element="led"><bounds x="6" y="12.5" width="1" height="1" /></bezel>
<bezel name="3.3" element="led"><bounds x="9" y="12.5" width="1" height="1" /></bezel>
<bezel name="4.3" element="led"><bounds x="12" y="12.5" width="1" height="1" /></bezel>
<bezel name="0.0" element="led"><bounds x="0" y="15" width="1" height="1" /></bezel>
<bezel name="1.0" element="led"><bounds x="3" y="15" width="1" height="1" /></bezel>
<bezel name="2.0" element="led"><bounds x="6" y="15" width="1" height="1" /></bezel>
<bezel name="3.0" element="led"><bounds x="9" y="15" width="1" height="1" /></bezel>
<bezel name="4.0" element="led"><bounds x="12" y="15" width="1" height="1" /></bezel>
<bezel name="digit5" element="digit"><bounds x="4.5" y="17.5" width="2" height="3" /></bezel>
<bezel name="digit6" element="digit"><bounds x="6.5" y="17.5" width="2" height="3" /></bezel>
</view>
</mamelayout>

View File

@ -14271,12 +14271,13 @@ bcheetah // Bandai
bigtrak // Milton Bradley bigtrak // Milton Bradley
bship // Milton Bradley bship // Milton Bradley
bshipb // Milton Bradley bshipb // Milton Bradley
copycat // Tiger Electronics cmsport // Conic
copycatm2 // Tiger Electronics
cnfball // Conic cnfball // Conic
cnfball2 // Conic cnfball2 // Conic
cnsector // Parker Bros cnsector // Parker Bros
comp4 // Milton Bradley comp4 // Milton Bradley
copycat // Tiger Electronics
copycatm2 // Tiger Electronics
cqback // Coleco cqback // Coleco
ditto // Tiger Electronics ditto // Tiger Electronics
ebaskb2 // Entex ebaskb2 // Entex