1 // license:BSD-3-Clause
2 // copyright-holders:
3 /*******************************************************************************
4 
5     Skeleton driver for Merit Scorpion darts machines
6 
7     Hardware overview:
8     Main CPU: Dallas DS80C3202-UM or compatible
9     Sound: DAC?
10     NVRAM: Dallas DS1220Y-120 or compatible
11     Other: Dallas DS1232 MicroMonitor
12            Dallas DS1204U-3 Electronic Key (not populated)
13     OSCs: 12.000 MHz, 3.2768 MHz
14     Dips: 2 x 8 dips banks
15 
16 *******************************************************************************/
17 
18 #include "emu.h"
19 #include "cpu/mcs51/mcs51.h"
20 #include "machine/nvram.h"
21 #include "sound/dac.h"
22 #include "speaker.h"
23 
24 
25 class merits_state : public driver_device
26 {
27 public:
merits_state(const machine_config & mconfig,device_type type,const char * tag)28 	merits_state(const machine_config &mconfig, device_type type, const char *tag)
29 		: driver_device(mconfig, type, tag)
30 		, m_maincpu(*this, "maincpu")
31 	{
32 	}
33 
34 	void scrpiond(machine_config &config);
35 
36 private:
37 	void mem_map(address_map &map);
38 	void io_map(address_map &map);
39 
40 	required_device<cpu_device> m_maincpu;
41 };
42 
mem_map(address_map & map)43 void merits_state::mem_map(address_map &map)
44 {
45 	map(0x0000, 0xffff).rom().region("maincpu", 0);
46 }
47 
io_map(address_map & map)48 void merits_state::io_map(address_map &map)
49 {
50 	map(0x8000, 0x87ff).ram().share("nvram");
51 	//map(0x9000, 0x9000).r();
52 	//map(0xa000, 0xa000).r();
53 	//map(0xc000, 0xc000).w();
54 	//map(0xd000, 0xd000).w();
55 	//map(0xe000, 0xe000).w();
56 	//map(0xf000, 0xf000).w();
57 	//map(0xf800, 0xf800).w();
58 }
59 
INPUT_PORTS_START(scrpiond)60 static INPUT_PORTS_START(scrpiond)
61 INPUT_PORTS_END
62 
63 void merits_state::scrpiond(machine_config &config)
64 {
65 	DS80C320(config, m_maincpu, 12_MHz_XTAL);
66 	m_maincpu->set_addrmap(AS_PROGRAM, &merits_state::mem_map);
67 	m_maincpu->set_addrmap(AS_IO, &merits_state::io_map);
68 
69 	NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // DS1220Y
70 }
71 
72 ROM_START(scrpiond)
73 	ROM_REGION(0x10000, "maincpu", 0)
74 	ROM_LOAD( "27c512.u7", 0x00000, 0x10000, CRC(06cdf965) SHA1(4cdac131063fc0dd954eaaee2ae40d5731f83469) )
75 ROM_END
76 
77 ROM_START(scrpionda)
78 	ROM_REGION(0x10000, "maincpu", 0)
79 	ROM_LOAD( "4978-22_u7-r5_c1997_mii.u7", 0x00000, 0x10000, CRC(e647a17e) SHA1(4a7b9e2af3656a1b6f4ffd8c17b68eec5c534776) )
80 ROM_END
81 
82 
83 GAME(1999, scrpiond,         0, scrpiond, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Jun 15, 1999)", MACHINE_IS_SKELETON_MECHANICAL)
84 GAME(1997, scrpionda, scrpiond, scrpiond, scrpiond, merits_state, empty_init, ROT0, "Merit", "Scorpion (Oct 01, 1997)", MACHINE_IS_SKELETON_MECHANICAL)
85