summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-05-16 08:48:22 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2021-05-16 08:48:22 +0200
commit6fb35fced8e114cc8c9e51d1b53695f318ed0812 (patch)
tree79c47f29873e7582116f6aac9f3e284a5811c4af
parentb2d8dab3d29a3eb23a6564cbb7378c6717355b53 (diff)
New machines marked as NOT_WORKING
---------------------------------- Dangerous Bar [Museo del Recreativo (Amusement Museum)]
-rw-r--r--scripts/target/mame/arcade.lua1
-rw-r--r--src/mame/arcade.flt1
-rw-r--r--src/mame/drivers/dangbar.cpp128
-rw-r--r--src/mame/mame.lst3
4 files changed, 133 insertions, 0 deletions
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 040b48579a1..5f98ab40e80 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -2923,6 +2923,7 @@ files {
MAME_DIR .. "src/mame/drivers/cgang.cpp",
MAME_DIR .. "src/mame/drivers/cswat.cpp",
MAME_DIR .. "src/mame/drivers/dambustr.cpp",
+ MAME_DIR .. "src/mame/drivers/dangbar.cpp",
MAME_DIR .. "src/mame/drivers/dkmb.cpp",
MAME_DIR .. "src/mame/drivers/gal3.cpp",
MAME_DIR .. "src/mame/drivers/galaga.cpp",
diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt
index b515e27634b..080643e517c 100644
--- a/src/mame/arcade.flt
+++ b/src/mame/arcade.flt
@@ -296,6 +296,7 @@ d9final.cpp
dacholer.cpp
dai3wksi.cpp
dambustr.cpp
+dangbar.cpp
darius.cpp
darkmist.cpp
darkseal.cpp
diff --git a/src/mame/drivers/dangbar.cpp b/src/mame/drivers/dangbar.cpp
new file mode 100644
index 00000000000..e9f5d89064c
--- /dev/null
+++ b/src/mame/drivers/dangbar.cpp
@@ -0,0 +1,128 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*
+Dangerous Bar by Namco (1994)
+https://www.youtube.com/watch?v=XwZoXtkZ9qo
+
+Hardware notes:
+Main PCB named Hi-Pric P41 B 8813960102 (8813970102)
+- MC68HC11K1 (main CPU)
+- HD68B09P (audio CPU)
+- CY7C132 DPRAM
+- C140 (custom Namco audio chip)
+- C121 (custom Namco YM2151 compatible)
+- OSC1 49.1520MHz
+- 1 4-dip bank
+
+Led display PCB named Namco ST-M4
+Pic too blurry to read the chip markings
+*/
+
+#include "emu.h"
+#include "cpu/m6809/m6809.h"
+#include "cpu/mc68hc11/mc68hc11.h"
+#include "sound/c140.h"
+#include "sound/ymopm.h"
+#include "speaker.h"
+
+
+namespace {
+
+class dangbar_state : public driver_device
+{
+public:
+ dangbar_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ void dangbar(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+
+private:
+ required_device<mc68hc11_cpu_device> m_maincpu;
+
+ void main_map(address_map &map);
+ void audio_map(address_map &map);
+};
+
+
+void dangbar_state::machine_start()
+{
+}
+
+
+void dangbar_state::main_map(address_map &map)
+{
+ map(0x8000, 0xffff).rom().region("maincpu", 0x8000);
+}
+
+void dangbar_state::audio_map(address_map &map) // TODO: audio section seems similar to namcos2.cpp / namcos21.cpp
+{
+ map(0xd000, 0xffff).rom().region("audiocpu", 0x01000);
+}
+
+
+static INPUT_PORTS_START( dangbar )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW")
+ PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW:1")
+ PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW:2")
+ PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW:3")
+ PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW:4")
+ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) // only 4 dips
+INPUT_PORTS_END
+
+
+void dangbar_state::dangbar(machine_config &config)
+{
+ // basic machine hardware
+ MC68HC11K1(config, m_maincpu, 49.152_MHz_XTAL / 4); // divider guessed
+ m_maincpu->set_addrmap(AS_PROGRAM, &dangbar_state::main_map);
+
+ mc6809_device &audiocpu(MC6809(config, "audiocpu", 49.152_MHz_XTAL / 24)); // HD68B09P, divider guessed from other Namco drivers
+ audiocpu.set_addrmap(AS_PROGRAM, &dangbar_state::audio_map);
+
+ // video hardware
+ // TODO: LED screen
+
+ // sound hardware
+ SPEAKER(config, "mono").front_center(); // TODO: verify if stereo
+
+ C140(config, "c140", 49.152_MHz_XTAL / 384 / 6).add_route(ALL_OUTPUTS, "mono", 0.75); // 21.333kHz, copied from other Namco drivers
+
+ YM2151(config, "ymsnd", 49.152_MHz_XTAL / 24).add_route(ALL_OUTPUTS, "mono", 0.75); // actually Namco C121, divider guessed
+}
+
+
+ROM_START( dangbar )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "drb1_mprod_mpr.2c", 0x00000, 0x10000, CRC(0f197b71) SHA1(acd7ae6a843fd963d9c0aedfe18183b77c797da3) ) // 1st half is 0xff filled
+
+ ROM_REGION( 0x20000, "audiocpu", 0 )
+ ROM_LOAD( "drb1_snd0_snd.8a", 0x00000, 0x20000, CRC(8d424d04) SHA1(12dfd7b8bed22460634c34e57c18c31e38e30b4d) ) // mostly 0xff filled
+
+ ROM_REGION16_BE( 0x200000, "c140", 0 )
+ ROM_LOAD16_BYTE( "drb1_voi1.13a", 0x000000, 0x080000, CRC(3891186e) SHA1(459e68a2549b946788e8070c7ff4eeb92ad6f5c8) )
+ ROM_LOAD16_BYTE( "drb1_voi2.14a", 0x100000, 0x080000, CRC(ba704115) SHA1(0d027bf7cd9cf0b9d0b5dff7b8ae88ad6b82e45f) )
+
+ ROM_REGION( 0x20000, "ledcpu", 0 )
+ ROM_LOAD( "drb1_dot0.bin", 0x00000, 0x20000, BAD_DUMP CRC(e77b9919) SHA1(2479fbdff9b570061dbdc2906c2d4fc0152998f7) ) // FIXED BITS (xxxx1xxx)
+ROM_END
+
+} // Anonymous namespace
+
+
+GAME( 1994, dangbar, 0, dangbar, dangbar, dangbar_state, empty_init, ROT0, "Namco", "Dangerous Bar", MACHINE_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 5f0882b9ab2..d076285af6c 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -11637,6 +11637,9 @@ dambustr // (c) 1981 South West Research
dambustra // (c) 1981 South West Research
dambustruk // (c) 1981 South West Research
+@source:dangbar.cpp
+dangbar //
+
@source:darius.cpp
darius // A96 (c) 1986 Taito Corporation Japan (World)
dariuse // A96 (c) 1986 Taito Corporation (Japan)