New working machine added

---------
Tiger Ditto [hap, Sean Riddle]
This commit is contained in:
hap 2016-09-15 20:33:25 +02:00
parent d40870467d
commit eebd8b7935
3 changed files with 153 additions and 6 deletions

View File

@ -45,7 +45,7 @@
*MP1359 TMS1100? 1985, Capsela CRC2000
@MP1525 TMS1170 1980, Coleco Head to Head Baseball
*MP1604 ? 1981, Hanzawa Twinvader III/Tandy Cosmic Fire Away 3000 (? note: VFD-capable)
*MP1801 TMS1100? 1981, Tiger Copycat Jr/Ditto/Tandy Pocket Repeat
@MP1801 TMS1700 1981, Tiger Ditto/Tandy Pocket Repeat (model 60-2152)
@MP2105 TMS1370 1979, Gakken/Entex Poker
*MP2139 TMS1370? 1982, Gakken Galaxy Invader 1000
@MP2726 TMS1040 1979, Tomy Break Up
@ -141,6 +141,7 @@
#include "comp4.lh" // clickable
#include "copycat.lh" // clickable
#include "copycatm2.lh" // clickable
#include "ditto.lh" // clickable
#include "cqback.lh"
#include "ebball.lh"
#include "ebball2.lh"
@ -3733,11 +3734,12 @@ MACHINE_CONFIG_END
This is a 2-player electronic board game. It still needs game pieces like the
original Battleship board game.
It went through 4 hardware revisions:
1977: model 4750A, see notes above
1977: model 4750B, see notes at bshipb (driver below this)
1979: model 4750C: cost-reduced single chip design, lesser quality game board.
It went through at least 5 hardware revisions (not counting Talking Battleship):
1977: model 4750A, TMS1000 discrete sound, see notes above
1977: model 4750B, TMS1000 SN76477 sound, see notes at bshipb (driver below this)
1979: model 4750C: cost-reduced single-chip design, lesser quality game board.
The chip is assumed to be custom, no MCU: 28-pin DIP, label 4750, SCUS 0462
1982: similar custom single-chip hardware, chip label MB4750 SCUS 0562
1982: back to MCU, COP420 instead of choosing TI, emulated in hh_cop400.cpp
***************************************************************************/
@ -5591,7 +5593,8 @@ MACHINE_CONFIG_END
* TMS1730 MCU, label MP3005N (die label 1700 MP3005)
* 4 LEDs, 1-bit sound
This is a simplified rerelease of Copy Cat, 10(!) years later.
This is a simplified rerelease of Copy Cat, 10(!) years later. The gameplay
is identical to Ditto.
3 variations exist, each with a different colored case. Let's assume that
they're on the same hardware.
@ -5659,6 +5662,77 @@ MACHINE_CONFIG_END
/***************************************************************************
Tiger Ditto (model 7-530)
* TMS1700 MCU, label MP1801-N2LL (die label 1700 MP1801)
* 4 LEDs, 1-bit sound
known releases:
- World: Ditto
- USA: Electronic Pocket Repeat (model 60-2152/60-2468A), distributed by Tandy
model 60-2482 from 1996 is assumed to be a clone of Tiger Copycat Jr.
***************************************************************************/
class ditto_state : public hh_tms1k_state
{
public:
ditto_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_tms1k_state(mconfig, type, tag)
{ }
DECLARE_WRITE16_MEMBER(write_r);
DECLARE_WRITE16_MEMBER(write_o);
};
// handlers
WRITE16_MEMBER(ditto_state::write_r)
{
// R0-R3: leds
display_matrix(4, 1, data & 0xf, 1);
}
WRITE16_MEMBER(ditto_state::write_o)
{
// O5,O6: speaker out
m_speaker->level_w(data >> 5 & 3);
}
// config
static INPUT_PORTS_START( ditto )
PORT_START("IN.0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Yellow Button")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Blue Button")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Orange Button")
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Red Button")
INPUT_PORTS_END
static MACHINE_CONFIG_START( ditto, ditto_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMS1730, 275000) // approximation - RC osc. R=100K, C=47pf
MCFG_TMS1XXX_READ_K_CB(IOPORT("IN.0"))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(ditto_state, write_r))
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(ditto_state, write_o))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
MCFG_DEFAULT_LAYOUT(layout_ditto)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SPEAKER_LEVELS(4, copycat_speaker_levels)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
/***************************************************************************
Tomy(tronics) Break Up (manufactured in Japan)
@ -6608,6 +6682,16 @@ ROM_START( copycat )
ROM_LOAD( "tms1000_copycat_output.pla", 0, 365, CRC(b1d0c96d) SHA1(ac1a003eab3f69e09e9050cb24ea17211e0523fe) )
ROM_END
ROM_START( ditto )
ROM_REGION( 0x0200, "maincpu", 0 )
ROM_LOAD( "mp1801", 0x0000, 0x0200, CRC(cee6043b) SHA1(4ec334be6835688413637ff9d9d7a5f0d61eba27) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1000_ditto_micro.pla", 0, 867, CRC(2710d8ef) SHA1(cb7a13bfabedad43790de753844707fe829baed0) )
ROM_REGION( 365, "maincpu:opla", 0 )
ROM_LOAD( "tms1000_ditto_output.pla", 0, 365, CRC(2b708a27) SHA1(e95415e51ffbe5da3bde1484fcd20467dde9f09a) )
ROM_END
ROM_START( copycatm2 )
ROM_REGION( 0x0200, "maincpu", 0 )
ROM_LOAD( "mp3005n", 0x0000, 0x0200, CRC(a87649cb) SHA1(14ef7967a80578885f0b905772c3bb417b5b3255) )
@ -6710,6 +6794,7 @@ COMP( 1976, speechp, 0, 0, speechp, speechp, driver_device, 0, "Tel
CONS( 1979, copycat, 0, 0, copycat, copycat, driver_device, 0, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1989, copycatm2, copycat, 0, copycatm2, copycatm2, driver_device, 0, "Tiger Electronics", "Copy Cat (model 7-522)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1981, ditto, 0, 0, ditto, ditto, driver_device, 0, "Tiger Electronics", "Ditto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1979, tbreakup, 0, 0, tbreakup, tbreakup, driver_device, 0, "Tomy", "Break Up (Tomy)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, phpball, 0, 0, phpball, phpball, driver_device, 0, "Tomy", "Power House Pinball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )

61
src/mame/layout/ditto.lay Normal file
View File

@ -0,0 +1,61 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="disk_1"><disk><color red="0.8" green="0.8" blue="0.1" /></disk></element>
<element name="disk_2"><disk><color red="0.2" green="0.3" blue="0.8" /></disk></element>
<element name="disk_3"><disk><color red="0.8" green="0.1" blue="0.2" /></disk></element>
<element name="disk_4"><disk><color red="0.8" green="0.4" blue="0.1" /></disk></element>
<element name="text_1"><text string="GAME 1 / BEGINNER"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_2"><text string="GAME 2 / AMATEUR"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_3"><text string="AGAIN / CHAMP"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_4"><text string="LAST / EXPERT"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="hlf" defstate="0">
<disk><color red="1.0" green="1.0" blue="1.0" /></disk>
</element>
<element name="hlb" defstate="0">
<disk state="0"><color red="0.9" green="0.9" blue="0.9" /></disk>
<disk state="1"><color red="0.75" green="0.75" blue="0.75" /></disk>
</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>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="0" right="16" top="-0.5" bottom="16.5" />
<bezel element="disk_1"><bounds x="1" y="1" width="6" height="6" /></bezel>
<bezel element="disk_2"><bounds x="1" y="9" width="6" height="6" /></bezel>
<bezel element="disk_3"><bounds x="9" y="1" width="6" height="6" /></bezel>
<bezel element="disk_4"><bounds x="9" y="9" width="6" height="6" /></bezel>
<bezel element="hlf" inputtag="IN.0" inputmask="0x01"><bounds x="1" y="1" width="6" height="6" /><color alpha="0.0" /></bezel>
<bezel element="hlf" inputtag="IN.0" inputmask="0x02"><bounds x="1" y="9" width="6" height="6" /><color alpha="0.0" /></bezel>
<bezel element="hlf" inputtag="IN.0" inputmask="0x04"><bounds x="9" y="1" width="6" height="6" /><color alpha="0.0" /></bezel>
<bezel element="hlf" inputtag="IN.0" inputmask="0x08"><bounds x="9" y="9" width="6" height="6" /><color alpha="0.0" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x01"><bounds x="2" y="2" width="2" height="2" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x02"><bounds x="2" y="12" width="2" height="2" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x04"><bounds x="12" y="2" width="2" height="2" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x08"><bounds x="12" y="12" width="2" height="2" /></bezel>
<bezel name="0.0" element="led"><bounds x="5" y="5" width="0.8" height="0.8" /></bezel>
<bezel name="0.1" element="led"><bounds x="5" y="10.2" width="0.8" height="0.8" /></bezel>
<bezel name="0.2" element="led"><bounds x="10.2" y="5" width="0.8" height="0.8" /></bezel>
<bezel name="0.3" element="led"><bounds x="10.2" y="10.2" width="0.8" height="0.8" /></bezel>
<bezel element="text_1"><bounds x="0" y="0" width="8" height="0.75" /></bezel>
<bezel element="text_2"><bounds x="0" y="15.25" width="8" height="0.75" /></bezel>
<bezel element="text_3"><bounds x="8" y="0" width="8" height="0.75" /></bezel>
<bezel element="text_4"><bounds x="8" y="15.25" width="8" height="0.75" /></bezel>
</view>
</mamelayout>

View File

@ -14151,6 +14151,7 @@ cnfball2 // Conic
cnsector // Parker Bros
comp4 // Milton Bradley
cqback // Coleco
ditto // Tiger Electronics
ebaskb2 // Entex
ebball // Entex
ebball2 // Entex