diff options
Diffstat (limited to 'src/mame/drivers/hh_sm510.cpp')
-rw-r--r-- | src/mame/drivers/hh_sm510.cpp | 108 |
1 files changed, 105 insertions, 3 deletions
diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp index 7059b9e156b..bc823464fa1 100644 --- a/src/mame/drivers/hh_sm510.cpp +++ b/src/mame/drivers/hh_sm510.cpp @@ -1720,7 +1720,7 @@ MACHINE_CONFIG_END /*************************************************************************** Tiger Double Dragon (model 7-780) - * Sharp SM510 under epoxy (die label CMS54C, KMS570, KMS593) + * Sharp SM510 under epoxy (die label CMS54C, KMS570, 593) * lcd screen with custom segments, 1-bit sound ***************************************************************************/ @@ -1901,6 +1901,98 @@ MACHINE_CONFIG_END /*************************************************************************** + Tiger Vindicators (model 7-786) + * Sharp SM510 under epoxy (die label CMS54C, KMS595) + * lcd screen with custom segments, 1-bit sound + +***************************************************************************/ + +class tvindictr_state : public hh_sm510_state +{ +public: + tvindictr_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_sm510_state(mconfig, type, tag) + { + m_inp_lines = 6; + m_inp_fixed = 6; + } +}; + +// config + +static INPUT_PORTS_START( tvindictr ) + 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) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) + PORT_BIT( 0x09, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.2") // S3 + PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.3") // S4 + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Gun Right") + PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.4") // S5 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Fire") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Gun Left") + PORT_BIT( 0x0c, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.5") // S6 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_sm510_state, input_changed, nullptr) PORT_NAME("Max Score") + PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.6") // 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( tvindictr ) + + /* 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(1459, 1080) + MCFG_SCREEN_VISIBLE_AREA(0, 1459-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 Ninja Gaiden (model 7-787) * Sharp SM510 under epoxy (die label M82) * lcd screen with custom segments, 1 led, 1-bit sound @@ -3420,7 +3512,7 @@ MACHINE_CONFIG_END /*************************************************************************** Tiger Judge Dredd (model 78-581) - * Sharp SM510 under epoxy (die label MKS) + * Sharp SM510 under epoxy (die label MK5) * lcd screen with custom segments, 1-bit sound ***************************************************************************/ @@ -4158,6 +4250,15 @@ ROM_START( tkarnov ) ROM_END +ROM_START( tvindictr ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD( "595", 0x0000, 0x1000, CRC(b574d16f) SHA1(d2cb0f2e21ca2defe49a4b45f4c8e169ae9979ab) ) + + ROM_REGION( 314165, "svg", 0) + ROM_LOAD( "tvindictr.svg", 0, 314165, CRC(2241992c) SHA1(efd44879d1c0d5befd7ea07089418406fc101315) ) +ROM_END + + ROM_START( tgaiden ) ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD( "m82", 0x0000, 0x1000, CRC(278eafb0) SHA1(14396a0010bade0fde705969151200ed432321e7) ) @@ -4310,7 +4411,7 @@ ROM_END ROM_START( tjdredd ) ROM_REGION( 0x1000, "maincpu", 0 ) - ROM_LOAD( "mks", 0x0000, 0x1000, CRC(7beee5a7) SHA1(9a190197c5751b43a9ab2dc8c536934dc5fc5e83) ) + ROM_LOAD( "mk5", 0x0000, 0x1000, CRC(7beee5a7) SHA1(9a190197c5751b43a9ab2dc8c536934dc5fc5e83) ) ROM_REGION( 1051586, "svg", 0) ROM_LOAD( "tjdredd.svg", 0, 1051586, CRC(4fcdca0a) SHA1(d4b019fec94890ba6600baf2b2096dbcf3295180) ) @@ -4388,6 +4489,7 @@ CONS( 1989, tgaunt, 0, 0, tgaunt, tgaunt, tgaunt_state, CONS( 1991, trobhood, tgaunt, 0, trobhood, trobhood, tgaunt_state, 0, "Tiger Electronics", "Robin Hood (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1989, tddragon, 0, 0, tddragon, tddragon, tddragon_state, 0, "Tiger Electronics (licensed from Technos/Tradewest)", "Double Dragon (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1989, tkarnov, 0, 0, tkarnov, tkarnov, tkarnov_state, 0, "Tiger Electronics (licensed from Data East)", "Karnov (handheld)", MACHINE_SUPPORTS_SAVE ) +CONS( 1989, tvindictr, 0, 0, tvindictr, tvindictr, tvindictr_state, 0, "Tiger Electronics (licensed from Tengen)", "Vindicators (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1989, tgaiden, 0, 0, tgaiden, tgaiden, tgaiden_state, 0, "Tiger Electronics (licensed from Tecmo)", "Ninja Gaiden (handheld)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) CONS( 1989, tbatman, 0, 0, tbatman, tbatman, tbatman_state, 0, "Tiger Electronics", "Batman (handheld)", MACHINE_SUPPORTS_SAVE ) CONS( 1990, tsharr2, 0, 0, tsharr2, tsharr2, tsharr2_state, 0, "Tiger Electronics (licensed from Sega)", "Space Harrier II (handheld)", MACHINE_SUPPORTS_SAVE ) |