summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hh_sm510.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hh_sm510.cpp')
-rw-r--r--src/mame/drivers/hh_sm510.cpp65
1 files changed, 64 insertions, 1 deletions
diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp
index 87ea3872395..185a39cb8ef 100644
--- a/src/mame/drivers/hh_sm510.cpp
+++ b/src/mame/drivers/hh_sm510.cpp
@@ -17,7 +17,7 @@ Use -autosave to at least make them remember the highscores.
TODO:
- improve display decay simulation? but SVG doesn't support setting brightness
per segment, adding pwm_display_device right now has no added value
-- improve/redo SVG of: exospace
+- improve/redo SVG of: exospace, auslalom
- confirm gnw_bfight rom (assumed to be the same as gnw_bfightn)
- confirm gnw_climber rom (assumed to be the same as gnw_climbern)
- confirm gnw_smb rom (assumed to be the same as gnw_smbn)
@@ -9239,6 +9239,68 @@ ROM_END
/***************************************************************************
+ Elektronika Автослалом (Autoslalom) (model IM-23)
+ * KB1013VK1-2 MCU
+ * lcd screen with custom segments, 1-bit sound
+
+ This is not an unlicensed clone, but doing a hex compare with MC-25
+ still shows around 30% similarity so clearly they used that as a base.
+
+***************************************************************************/
+
+class auslalom_state : public hh_sm510_state
+{
+public:
+ auslalom_state(const machine_config &mconfig, device_type type, const char *tag) :
+ hh_sm510_state(mconfig, type, tag)
+ { }
+
+ void auslalom(machine_config &config);
+};
+
+// config
+
+static INPUT_PORTS_START( auslalom )
+ PORT_START("IN.0") // R2
+ PORT_BIT( 0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
+
+ PORT_START("IN.1") // R3
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN ) PORT_CHANGED_CB(input_changed) PORT_16WAY
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP ) PORT_CHANGED_CB(input_changed) PORT_16WAY
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN ) PORT_CHANGED_CB(input_changed) PORT_16WAY
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP ) PORT_CHANGED_CB(input_changed) PORT_16WAY
+
+ PORT_START("IN.2") // R4
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_CB(input_changed) PORT_NAME("Time")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Game B")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Game A")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_CHANGED_CB(input_changed) PORT_NAME("Alarm")
+
+ PORT_START("ACL")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_CHANGED_CB(acl_button) PORT_NAME("ACL")
+INPUT_PORTS_END
+
+void auslalom_state::auslalom(machine_config &config)
+{
+ kb1013vk12_common(config, 1780, 1080); // R mask option ?
+}
+
+// roms
+
+ROM_START( auslalom )
+ ROM_REGION( 0x1000, "maincpu", 0 )
+ ROM_LOAD( "im-23.bin", 0x0000, 0x0740, CRC(3b6e726f) SHA1(eabd04722811d1cc6519db9386b14a535f5aa865) )
+
+ ROM_REGION( 79971, "screen", 0)
+ ROM_LOAD( "auslalom.svg", 0, 79971, BAD_DUMP CRC(092c1358) SHA1(8a26b600b4b776aa06e5027cfa7a0b306ddae667) )
+ROM_END
+
+
+
+
+
+/***************************************************************************
+
VTech Electronic Number Muncher
* Sharp SM511 under epoxy (die label 772)
* lcd screen with custom segments(no background), 1-bit sound
@@ -9487,4 +9549,5 @@ CONS( 1983, tigarden, trshutvoy, 0, tigarden, trshutvoy, trshutvoy_
CONS( 1982, trsrescue, 0, 0, trsrescue, trsrescue, trsrescue_state, empty_init, "Tronica", "Space Rescue", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK )
// misc
+CONS( 1990, auslalom, 0, 0, auslalom, auslalom, auslalom_state, empty_init, "Elektronika", "Autoslalom", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING )
CONS( 1989, nummunch, 0, 0, nummunch, nummunch, nummunch_state, empty_init, "VTech", "Electronic Number Muncher", MACHINE_SUPPORTS_SAVE )