summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/daryde.cpp
blob: 977ab59b00a67e7e86e264e595a01288d56496c3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
// license:BSD-3-Clause
// copyright-holders:AJR
/*******************************************************************************

    Skeleton driver for Daryde darts machines.

*******************************************************************************/

#include "emu.h"
#include "cpu/z180/z180.h"
#include "machine/timekpr.h"

class daryde_state : public driver_device
{
public:
	daryde_state(const machine_config &mconfig, device_type type, const char *tag)
		: driver_device(mconfig, type, tag)
	{
	}

	void pandart(machine_config &config);

private:
	void mem_map(address_map &map);
	void io_map(address_map &map);
};

void daryde_state::mem_map(address_map &map)
{
	map(0x00000, 0x7ffff).rom().region("program", 0);
	map(0xef000, 0xef005).unmapw();
	map(0xf0000, 0xf1fff).rw("timekpr", FUNC(mk48t08_device::read), FUNC(mk48t08_device::write));
}

void daryde_state::io_map(address_map &map)
{
	map(0x0000, 0x00ff).noprw();
	map(0x4000, 0x4000).unmapr();
	map(0xc000, 0xc000).unmaprw();
}

static INPUT_PORTS_START(pandart)
INPUT_PORTS_END

void daryde_state::pandart(machine_config &config)
{
	cpu_device &maincpu(Z80180(config, "maincpu", XTAL(18'432'000)));
	maincpu.set_addrmap(AS_PROGRAM, &daryde_state::mem_map);
	maincpu.set_addrmap(AS_IO, &daryde_state::io_map);

	MK48T08(config, "timekpr");
}

/* Daryde Panther Darts PCB
 ____________________________________________________________________________
 | ____________________   _____________________   _______   _______          |
 | ||||CN8 (16 pins)|||   ||||CN5 (16 pins)||||   ||CN6||   |CN15||     ___  |
 | ___                           ___________  ___________  __________   |__| |
 | |CN3                          |_74HC273N_| |_74HC273N_| |_ULN2803A|  |__| |
 | |__|                          ___________  ___________  __________   |C_| |
 |  __                           |_74HC273N_| |_74HC273N_| |_ULN2803A|  |N_| |
 | |CN7                          ___________  ___________  __________   |4_| |
 |  ____                         |_74HC273N_| |_74HC273N_| |_ULN2803A|  |__| |
 | |CN12|                          _________  ___________               |__| |
 | |DB9 |   _________              74HC138AN| |_74HC273N_|                   |
 | |    |   |MAX232N_|             _________  ___________               ___  |
 | |____| ___________              CD4051BCN| |_74HC244N_|              |__| |
 |  ___   |PALCE16V8H|       _______________                            |__| |
 |  |CN14 ______________     |              | ___________               |C_| |
 |  |__|  |            |     |M48T08-150PCI | |_74HC244N_|              |N_| |
 |  ___   |  CPU (IC6) |     |______________|                           |9_| |
 |  |CN11 |            |     _______________  ___________  ___          |__| |
 |  |  |  |            |     |AM27C040 (IC5)| |_74HC244N_| |H606016     |__| |
 |  |  |  |____________|     |______________|                           |__| |
 |  |__|  _____       _________   _________  ___________     ____            |
 |        |XTAL|      |||CN2|||   |||CN1|||  |||CN13||||     |CN10           |
 |___________________________________________________________________________|

Xtal = 18.432 MHz

CN1 = 6 pins
CN2 = 8 pins
CN4 = 20 pins
CN5 = 16 pins
CN6 = 6 pins
CN8 = 16 pins
CN9 = 26 pins
CN10 = 4 pins
CN11 = 10 pins
CN12 = 9 pins (DB9)
CN13 = 16 pins, but no connector, 2200μF25V capacitor between last pins
CN14 = 6 pins
CN15 = 5 pins
*/
ROM_START(pandart)
	ROM_REGION(0x80000, "program", 0)
	ROM_LOAD("27c040.ic5", 0x00000, 0x80000, CRC(b1bd5c14) SHA1(7164dcaebf0f23f5330b225e44ee87d9a8c79f4f))

	ROM_REGION(0x117, "pal", 0)
	ROM_LOAD("palce16v8h.ic1", 0x000, 0x117, NO_DUMP) // protected
ROM_END

/* Daryde Cricket PCB
 __________________________________________________
 |    ___________________  ___________________     |
 |    |_CN13 (12 pins)__|  |___CN (12 pins)__|     |
 |                            ___               __ |
 |                _______    |H606016   ____    |C||
 |__              |74LS273N             |XTAL   |N||
 ||CN       _____________                          |
 |__        | DS1225Y-150|     ____________     __ |
 ||C|       |____________|     |           |    | ||
 ||N|       _____________      |Z8018010VSC|    |C||
 ||6|       |IC3 27C040  |     |Z180 MPU   |    |N||
 ||_|       |____________|     |___________|    |9||
 |__     _______  _______   _______             |_||
 ||C|   TDG2083AP |74LS273N |PALCE16B8             |
 ||N|    _______  _______   _______             __ |
 ||5|   |74LS273N |74LS273N |PALCE16B8          |C||
 ||_|             _______   _______             |N||
 |__              |74HCT244N|74HC244N           |8||
 ||CN             _______   _______             |_||
 ||7|             |74HC244N |74HC244N              |
 ||_|  ______ _____ _____  _____       _____       |
 |     |CN14 ||JP1| |CN11| |CN2 |      |CN10|      |
 |_________________________________________________|

XTAL = 18.432MHz
JP1 (4 bridges):
 2: VDD
 1: GND
 2: VDD
 1: GND
*/
ROM_START(cricket)
	ROM_REGION(0x80000, "program", 0)
	ROM_LOAD("daryde_cricket_red_1.0.ic3", 0x00000, 0x80000, CRC(6abaa50e) SHA1(f128ed9cd9926684bd77ec708a5d3edf2736e39c)) // AM27C040

	ROM_REGION(0x22e, "pal", 0)
	ROM_LOAD("a_palce16v8h.ic4", 0x000, 0x117, NO_DUMP)
	ROM_LOAD("b_palce16v8h.ic5", 0x117, 0x117, NO_DUMP)

	ROM_REGION(0x2000, "nvram", 0)
	ROM_LOAD("ds1225y.ic7", 0x0000, 0x2000, BAD_DUMP CRC(3a7f0f6f) SHA1(b672859399db854bc049c75beea482b5afb3d2bb)) // NVRAM dumped from a working machine, but may not be the default
ROM_END

/* Kursaal Darts PCB
 __________________________________________________
 |    __________________   _____                   |
 |    |_CN13 (12 pins)__|  |CN10|         |H606014 |
 |__        _____________        XTAL 18.432MHz __ |
 || |       |U632H64BD1C |     ____________     |C||
 ||C|       |____________|     |           |    |N||
 ||N|       _____________      |Z8018010VSC|    |1||
 ||3|       |IC5 27C4001 |     |Z180 MPU   |    __ |
 || |       |____________|     |___________|    |C||
 || |          __________                       |N||
 ||_|          |PAL16V8H_|      __________      __ |
 |                              |74HC138AN|     | ||
 |__           __________       __________      |C||
 ||C|          |74HC244N_|      |__2803___|     |N||
 ||N|          __________       __________      |6||
 ||4|          |74HC244N_|      |74HC273N_|     | ||
 |__           __________       __________      | ||
 ||C|          |74HC244N_|      |74HC273N_|     |_||
 ||N|                           __________      __ |
 ||1|                           |74HC273N_|  CN7|_||
 ||3|          __________       __________      __ |
 ||_|          |74HC244B1|      |74HC273N_|  CN5|_||
 |__                                             o |
 || |                                           __ |
 ||_|CN14                                     CN|_||
 |_________________________________________________|
*/
ROM_START(kurdart)
	ROM_REGION(0x80000, "program", 0)
	ROM_LOAD("kursaal_m27c4001.ic5", 0x00000, 0x80000, CRC(6adece55) SHA1(4d0060ec0fe9c18ade27d1b78adf8fd3391d4e1f)) // M27C4001

	ROM_REGION(0x117, "pal", 0)
	ROM_LOAD("palce16v8h-25.ic2", 0x000, 0x117, NO_DUMP)

	// No NVRAM on this PCB
ROM_END

GAME(1995, cricket, 0, pandart, pandart, daryde_state, empty_init, ROT0, "Daryde S. L.", "Cricket",       MACHINE_IS_SKELETON_MECHANICAL)
GAME(1999, pandart, 0, pandart, pandart, daryde_state, empty_init, ROT0, "Daryde S. L.", "Panther Darts", MACHINE_IS_SKELETON_MECHANICAL)
GAME(199?, kurdart, 0, pandart, pandart, daryde_state, empty_init, ROT0, "K7 Kursaal",   "Kursaal Darts", MACHINE_IS_SKELETON_MECHANICAL)