summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/sweetland.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/sweetland.cpp')
-rw-r--r--src/mame/drivers/sweetland.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/mame/drivers/sweetland.cpp b/src/mame/drivers/sweetland.cpp
new file mode 100644
index 00000000000..e2da3a98e67
--- /dev/null
+++ b/src/mame/drivers/sweetland.cpp
@@ -0,0 +1,69 @@
+// license:BSD-3-Clause
+// copyright-holders:
+
+/*
+ Skeleton driver for Namco Sweet Land screenless crane machine. Supposed to be the 1986 version.
+ PCB silkscreened I602961100 (I602971100), with a T0544 sticker
+
+ Main components:
+ 1x Z80A CPU
+ 2x 8255
+ 1x YM2203C
+ 1x 6 dips bank
+*/
+
+#include "emu.h"
+#include "speaker.h"
+#include "cpu/z80/z80.h"
+#include "machine/i8255.h"
+#include "sound/2203intf.h"
+
+class sweetland_state : public driver_device
+{
+public:
+ sweetland_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ { }
+
+ void sweetland(machine_config &config);
+
+private:
+ void program_map(address_map &map);
+};
+
+void sweetland_state::program_map(address_map &map) // TODO: check everything
+{
+ map(0x0000, 0x3fff).rom().region("maincpu", 0);
+ map(0x4000, 0x47ff).ram();
+ map(0x8000, 0x8001).w("ym", FUNC(ym2203_device::write));
+ map(0x9000, 0x9003).rw("8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0xa000, 0xa003).rw("8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
+ //map(0xc000, 0xc000)
+}
+
+
+static INPUT_PORTS_START( sweetland )
+INPUT_PORTS_END
+
+void sweetland_state::sweetland(machine_config &config)
+{
+ z80_device &maincpu(Z80(config, "maincpu", 4000000)); // unknown clock
+ maincpu.set_addrmap(AS_PROGRAM, &sweetland_state::program_map);
+
+ I8255(config, "8255_0");
+
+ I8255(config, "8255_1");
+
+ SPEAKER(config, "mono").front_center();
+
+ YM2203(config, "ym", 4000000).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown clock
+}
+
+
+ROM_START(sweetlnd)
+ ROM_REGION(0x4000, "maincpu", 0)
+ ROM_LOAD( "sw1.5h", 0x0000, 0x4000, CRC(6e361ae5) SHA1(b12ce39aa8235993d0acdc623ff8dbce9feb146e) )
+ROM_END
+
+
+GAME( 1986?, sweetlnd, 0, sweetland, sweetland, sweetland_state, empty_init, ROT0, "Namco", "Sweet Land", MACHINE_IS_SKELETON_MECHANICAL )