From 23fe4e94d06acaeb3d5ca9d84998e5e31c46bdf7 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 6 Jan 2018 21:26:18 +0100 Subject: New working machines ----------- The Incredible Crash Dummies (Tiger handheld) [hap, Sean Riddle] --- src/mame/drivers/hh_sm510.cpp | 99 +++++++++++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 1 + 2 files changed, 100 insertions(+) diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp index 56a8d8e201e..7059b9e156b 100644 --- a/src/mame/drivers/hh_sm510.cpp +++ b/src/mame/drivers/hh_sm510.cpp @@ -2856,6 +2856,95 @@ MACHINE_CONFIG_END +/*************************************************************************** + + Tiger The Incredible Crash Dummies (model 78-516) + * Sharp SM510 under epoxy (die label ME0) + * lcd screen with custom segments, 1-bit sound + +***************************************************************************/ + +class tdummies_state : public hh_sm510_state +{ +public: + tdummies_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_sm510_state(mconfig, type, tag) + { + m_inp_lines = 5; + m_inp_fixed = 5; + } +}; + +// config + +static INPUT_PORTS_START( tdummies ) + PORT_START("IN.0") // S1 + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) + PORT_BIT( 0x0b, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.1") // S2 + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Crash + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) // Brake + PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.2") // S3 + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) + PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.3") // S4 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Accelerate") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Pick") + PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.4") // S5 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Pause") + PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.5") // GND! + PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Power On/Start") + + PORT_START("BA") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_VOLUME_DOWN ) PORT_NAME("Sound") + + PORT_START("B") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POWER_OFF ) + + PORT_START("ACL") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, acl_button, nullptr) PORT_NAME("ACL") +INPUT_PORTS_END + +static MACHINE_CONFIG_START( tdummies ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", SM510, XTAL_32_768kHz) + MCFG_SM510_WRITE_SEGS_CB(WRITE16(hh_sm510_state, sm510_lcd_segment_w)) + MCFG_SM510_READ_K_CB(READ8(hh_sm510_state, input_r)) + MCFG_SM510_WRITE_S_CB(WRITE8(hh_sm510_state, input_w)) + MCFG_SM510_WRITE_R_CB(WRITE8(hh_sm510_state, piezo_r1_w)) + MCFG_SM510_R_DIRECT_CONTROL(true) + MCFG_SM510_READ_BA_CB(IOPORT("BA")) + MCFG_SM510_READ_B_CB(IOPORT("B")) + + /* video hardware */ + MCFG_SCREEN_SVG_ADD("screen", "svg") + MCFG_SCREEN_REFRESH_RATE(50) + MCFG_SCREEN_SIZE(1441, 1080) + MCFG_SCREEN_VISIBLE_AREA(0, 1441-1, 0, 1080-1) + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_sm510_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_svg) + + /* 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 Street Fighter II (model 78-522) @@ -4165,6 +4254,15 @@ ROM_START( tsonic ) ROM_END +ROM_START( tdummies ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD( "me0", 0x0000, 0x1000, CRC(29efae4a) SHA1(0b26913a3fd2fde2b39549f0f7cbc3daaa41eb50) ) + + ROM_REGION( 525493, "svg", 0) + ROM_LOAD( "tdummies.svg", 0, 525493, CRC(a18a5216) SHA1(1238e8c489445e715d4fc53e597820845b386233) ) +ROM_END + + ROM_START( tsfight2 ) ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD( "me1", 0x0000, 0x1000, CRC(73384e94) SHA1(350417d101ce034b3974b4a1d2e04bcb3bf70605) ) @@ -4300,6 +4398,7 @@ CONS( 1991, tswampt, 0, 0, tswampt, tswampt, tswampt_state, CONS( 1991, tmchammer, 0, 0, tmchammer, tmchammer, tmchammer_state, 0, "Tiger Electronics", "MC Hammer: U Can't Touch This (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1991, tbtoads, 0, 0, tbtoads, tbtoads, tbtoads_state, 0, "Tiger Electronics (licensed from Rare/Tradewest)", "Battletoads (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1992, tsonic, 0, 0, tsonic, tsonic, tsonic_state, 0, "Tiger Electronics (licensed from Sega)", "Sonic The Hedgehog (handheld)", MACHINE_SUPPORTS_SAVE ) +CONS( 1993, tdummies, 0, 0, tdummies, tdummies, tdummies_state, 0, "Tiger Electronics", "The Incredible Crash Dummies (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1993, tsfight2, 0, 0, tsfight2, tsfight2, tsfight2_state, 0, "Tiger Electronics (licensed from Capcom)", "Street Fighter II (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1993, tnmarebc, 0, 0, tnmarebc, tnmarebc, tnmarebc_state, 0, "Tiger Electronics", "Nightmare Before Christmas (handheld)", MACHINE_SUPPORTS_SAVE ) // note: title has no "The" CONS( 1993, tmkombat, 0, 0, tmkombat, tmkombat, tmkombat_state, 0, "Tiger Electronics (licensed from Midway)", "Mortal Kombat (handheld)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index b3835aca8a2..5ec293abdd0 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14762,6 +14762,7 @@ tbatfor // Tiger tbatman // Tiger tbtoads // Tiger tddragon // Tiger +tdummies // Tiger tgaiden // Tiger tgaunt // Tiger tgoldnaxe // Tiger -- cgit v1.2.3