1 /***************************************************************************
2 
3  Berzerk Driver by Zsolt Vasvari
4  Sound Driver by Alex Judd
5 
6 ***************************************************************************/
7 
8 #include "driver.h"
9 #include "vidhrdw/generic.h"
10 #include "includes/berzerk.h"
11 
12 
13 
MEMORY_READ_START(berzerk_readmem)14 static MEMORY_READ_START( berzerk_readmem )
15 	{ 0x0000, 0x07ff, MRA_ROM },
16 	{ 0x0800, 0x09ff, MRA_RAM },
17 	{ 0x1000, 0x37ff, MRA_ROM },
18 	{ 0x4000, 0x87ff, MRA_RAM },
19 MEMORY_END
20 
21 static MEMORY_WRITE_START( berzerk_writemem )
22 	{ 0x0000, 0x07ff, MWA_ROM },
23 	{ 0x0800, 0x09ff, MWA_RAM, &generic_nvram, &generic_nvram_size },
24 	{ 0x1000, 0x37ff, MWA_ROM },
25 	{ 0x4000, 0x5fff, berzerk_videoram_w, &videoram },
26 	{ 0x6000, 0x7fff, berzerk_magicram_w, &berzerk_magicram },
27 	{ 0x8000, 0x87ff, berzerk_colorram_w, &colorram },
28 MEMORY_END
29 
30 
31 static MEMORY_READ_START( frenzy_readmem )
32 	{ 0x0000, 0x3fff, MRA_ROM },
33 	{ 0x4000, 0x87ff, MRA_RAM },
34 	{ 0xc000, 0xcfff, MRA_ROM },
35 	{ 0xf800, 0xf9ff, MRA_RAM },
36 MEMORY_END
37 
38 static MEMORY_WRITE_START( frenzy_writemem )
39 	{ 0x0000, 0x3fff, MWA_ROM },
40 	{ 0x4000, 0x5fff, berzerk_videoram_w, &videoram },
41 	{ 0x6000, 0x7fff, berzerk_magicram_w, &berzerk_magicram },
42 	{ 0x8000, 0x87ff, berzerk_colorram_w, &colorram },
43 	{ 0xc000, 0xcfff, MWA_ROM },
44 	{ 0xf800, 0xf9ff, MWA_RAM },
45 MEMORY_END
46 
47 
48 static PORT_READ_START( readport )
49 	{ 0x44, 0x44, berzerk_voiceboard_r },
50 	{ 0x48, 0x48, input_port_0_r },
51 	{ 0x49, 0x49, input_port_1_r },
52 	{ 0x4a, 0x4a, input_port_2_r },
53 	{ 0x4c, 0x4c, berzerk_nmi_enable_r },
54 	{ 0x4d, 0x4d, berzerk_nmi_disable_r },
55 	{ 0x4e, 0x4e, berzerk_port_4e_r },
56 	{ 0x60, 0x60, input_port_4_r },
57 	{ 0x61, 0x61, input_port_5_r },
58 	{ 0x62, 0x62, input_port_6_r },
59 	{ 0x63, 0x63, input_port_7_r },
60 	{ 0x64, 0x64, input_port_8_r },
61 	{ 0x65, 0x65, input_port_9_r },
62 	{ 0x66, 0x66, berzerk_led_off_r },
63 	{ 0x67, 0x67, berzerk_led_on_r },
64 PORT_END
65 
66 static PORT_WRITE_START( writeport )
67 	{ 0x40, 0x46, berzerk_sound_control_a_w }, /* First sound board */
68 	{ 0x47, 0x47, IOWP_NOP }, /* not used sound stuff */
69 	{ 0x4b, 0x4b, berzerk_magicram_control_w },
70 	{ 0x4c, 0x4c, berzerk_nmi_enable_w },
71 	{ 0x4d, 0x4d, berzerk_nmi_disable_w },
72 	{ 0x4f, 0x4f, berzerk_irq_enable_w },
73 	{ 0x50, 0x57, IOWP_NOP }, /* Second sound board but not used */
74 PORT_END
75 
76 
77 #define COINAGE(CHUTE) \
78 	PORT_DIPNAME( 0x0f, 0x00, "Coin "#CHUTE ) \
79 	PORT_DIPSETTING(    0x09, DEF_STR( 2C_1C ) ) \
80 	PORT_DIPSETTING(    0x0d, DEF_STR( 4C_3C ) ) \
81 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) ) \
82 	PORT_DIPSETTING(    0x0e, DEF_STR( 4C_5C ) ) \
83 	PORT_DIPSETTING(    0x0a, DEF_STR( 2C_3C ) ) \
84 	PORT_DIPSETTING(    0x0f, DEF_STR( 4C_7C ) ) \
85 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) ) \
86 	PORT_DIPSETTING(    0x0b, DEF_STR( 2C_5C ) ) \
87 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) ) \
88 	PORT_DIPSETTING(    0x0c, DEF_STR( 2C_7C ) ) \
89 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_4C ) ) \
90 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) ) \
91 	PORT_DIPSETTING(    0x05, DEF_STR( 1C_6C ) ) \
92 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_7C ) ) \
93 	PORT_DIPSETTING(    0x07, "1 Coin/10 Credits" ) \
94 	PORT_DIPSETTING(    0x08, "1 Coin/14 Credits" ) \
95 	PORT_BIT( 0xf0, IP_ACTIVE_LOW,  IPT_UNUSED )
96 
97 
98 INPUT_PORTS_START( berzerk )
99 	PORT_START      /* IN0 */
100 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
101 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
102 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
103 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
104 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
105 	PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
106 
107 	PORT_START      /* IN1 */
108 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
109 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
110 	PORT_BIT( 0x1c, IP_ACTIVE_LOW, IPT_UNUSED )
111 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 )
112 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
113 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
114 
115 	PORT_START      /* IN2 */
116 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
117 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
118 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
119 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
120 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
121 	PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNUSED )
122 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
123 	PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
124 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
125 
126 	PORT_START      /* IN3 */
127 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_VBLANK )
128 	PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
129 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL )	/* Collision */
130 
131 	PORT_START      /* IN4 */
132 	PORT_BITX(    0x01, 0x00, IPT_DIPSWITCH_NAME | IPF_TOGGLE, "Input Test Mode", KEYCODE_F2, IP_JOY_NONE )
133 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
134 	PORT_DIPSETTING(    0x01, DEF_STR( On ) )
135 	PORT_BITX(    0x02, 0x00, IPT_DIPSWITCH_NAME | IPF_TOGGLE, "Crosshair Pattern", KEYCODE_NONE, IP_JOY_NONE )
136 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
137 	PORT_DIPSETTING(    0x02, DEF_STR( On ) )
138 	PORT_BIT( 0x3c, IP_ACTIVE_LOW,  IPT_UNUSED )
139 	PORT_DIPNAME( 0xc0, 0x00, "Language" )
140 	PORT_DIPSETTING(    0x00, "English" )
141 	PORT_DIPSETTING(    0x40, "German" )
142 	PORT_DIPSETTING(    0x80, "French" )
143 	PORT_DIPSETTING(    0xc0, "Spanish" )
144 
145 	PORT_START      /* IN5 */
146 	PORT_BITX(    0x03, 0x00, IPT_DIPSWITCH_NAME | IPF_TOGGLE, "Color Test", KEYCODE_NONE, IP_JOY_NONE )
147 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
148 	PORT_DIPSETTING(    0x03, DEF_STR( On ) )
149 	PORT_BIT( 0x3c, IP_ACTIVE_LOW,  IPT_UNUSED )
150 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Bonus_Life ) )
151 	PORT_DIPSETTING(    0xc0, "5000 and 10000" )
152 	PORT_DIPSETTING(    0x40, "5000" )
153 	PORT_DIPSETTING(    0x80, "10000" )
154 	PORT_DIPSETTING(    0x00, "None" )
155 
156 	PORT_START      /* IN6 */
157 	COINAGE(3)
158 
159 	PORT_START      /* IN7 */
160 	COINAGE(2)
161 
162 	PORT_START      /* IN8 */
163 	COINAGE(1)
164 
165 	PORT_START      /* IN9 */
166 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Free_Play ) )
167 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
168 	PORT_DIPSETTING(    0x01, DEF_STR( On ) )
169 	PORT_BIT( 0x7e, IP_ACTIVE_LOW,  IPT_UNUSED )
170 	PORT_BITX(0x80, IP_ACTIVE_HIGH, 0, "Stats", KEYCODE_F1, IP_JOY_NONE )
171 INPUT_PORTS_END
172 
173 INPUT_PORTS_START( frenzy )
174 	PORT_START      /* IN0 */
175 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
176 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
177 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
178 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
179 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
180 	PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
181 
182 	PORT_START      /* IN1 */
183 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
184 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
185 	PORT_BIT( 0x3c, IP_ACTIVE_LOW, IPT_UNUSED )
186 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
187 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
188 
189 	PORT_START      /* IN2 */
190 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
191 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
192 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
193 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
194 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
195 	PORT_BIT( 0x60, IP_ACTIVE_LOW, IPT_UNUSED )
196 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
197 	PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
198 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
199 
200 	PORT_START      /* IN3 */
201 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_VBLANK )
202 	PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNUSED )
203 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL )	/* Collision */
204 
205 	PORT_START      /* IN4 */
206 	PORT_DIPNAME( 0x0f, 0x03, DEF_STR( Bonus_Life ) )
207 	PORT_DIPSETTING(    0x01, "1000" )
208 	PORT_DIPSETTING(    0x02, "2000" )
209 	PORT_DIPSETTING(    0x03, "3000" )
210 	PORT_DIPSETTING(    0x04, "4000" )
211 	PORT_DIPSETTING(    0x05, "5000" )
212 	PORT_DIPSETTING(    0x06, "6000" )
213 	PORT_DIPSETTING(    0x07, "7000" )
214 	PORT_DIPSETTING(    0x08, "8000" )
215 	PORT_DIPSETTING(    0x09, "9000" )
216 	PORT_DIPSETTING(    0x0a, "10000" )
217 	PORT_DIPSETTING(    0x0b, "11000" )
218 	PORT_DIPSETTING(    0x0c, "12000" )
219 	PORT_DIPSETTING(    0x0d, "13000" )
220 	PORT_DIPSETTING(    0x0e, "14000" )
221 	PORT_DIPSETTING(    0x0f, "15000" )
222 	PORT_DIPSETTING(    0x00, "None" )
223 	PORT_BIT( 0x30, IP_ACTIVE_HIGH, IPT_UNUSED )
224 	PORT_DIPNAME( 0xc0, 0x00, "Language" )
225 	PORT_DIPSETTING(    0x00, "English" )
226 	PORT_DIPSETTING(    0x40, "German" )
227 	PORT_DIPSETTING(    0x80, "French" )
228 	PORT_DIPSETTING(    0xc0, "Spanish" )
229 
230 	PORT_START      /* IN5 */
231 	PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )  /* Bit 0 does some more hardware tests */
232 	PORT_BITX(    0x04, 0x00, IPT_DIPSWITCH_NAME | IPF_TOGGLE, "Input Test Mode", KEYCODE_F2, IP_JOY_NONE )
233 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
234 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
235 	PORT_BITX(    0x08, 0x00, IPT_DIPSWITCH_NAME | IPF_TOGGLE, "Crosshair Pattern", KEYCODE_NONE, IP_JOY_NONE )
236 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
237 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
238 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
239 
240 	/* The following 3 ports use all 8 bits, but I didn't feel like adding all 256 values :-) */
241 	PORT_START      /* IN6 */
242 	PORT_DIPNAME( 0x0f, 0x01, "Coins/Credit B" )
243 	/*PORT_DIPSETTING(    0x00, "0" )    Can't insert coins  */
244 	PORT_DIPSETTING(    0x01, "1" )
245 	PORT_DIPSETTING(    0x02, "2" )
246 	PORT_DIPSETTING(    0x03, "3" )
247 	PORT_DIPSETTING(    0x04, "4" )
248 	PORT_DIPSETTING(    0x05, "5" )
249 	PORT_DIPSETTING(    0x06, "6" )
250 	PORT_DIPSETTING(    0x07, "7" )
251 	PORT_DIPSETTING(    0x08, "8" )
252 	PORT_DIPSETTING(    0x09, "9" )
253 	PORT_DIPSETTING(    0x0a, "10" )
254 	PORT_DIPSETTING(    0x0b, "11" )
255 	PORT_DIPSETTING(    0x0c, "12" )
256 	PORT_DIPSETTING(    0x0d, "13" )
257 	PORT_DIPSETTING(    0x0e, "14" )
258 	PORT_DIPSETTING(    0x0f, "15" )
259 	PORT_BIT( 0xf0, IP_ACTIVE_HIGH,  IPT_UNUSED )
260 
261 	PORT_START      /* IN7 */
262 	PORT_DIPNAME( 0x0f, 0x01, "Coins/Credit A" )
263 	/*PORT_DIPSETTING(    0x00, "0" )    Can't insert coins  */
264 	PORT_DIPSETTING(    0x01, "1" )
265 	PORT_DIPSETTING(    0x02, "2" )
266 	PORT_DIPSETTING(    0x03, "3" )
267 	PORT_DIPSETTING(    0x04, "4" )
268 	PORT_DIPSETTING(    0x05, "5" )
269 	PORT_DIPSETTING(    0x06, "6" )
270 	PORT_DIPSETTING(    0x07, "7" )
271 	PORT_DIPSETTING(    0x08, "8" )
272 	PORT_DIPSETTING(    0x09, "9" )
273 	PORT_DIPSETTING(    0x0a, "10" )
274 	PORT_DIPSETTING(    0x0b, "11" )
275 	PORT_DIPSETTING(    0x0c, "12" )
276 	PORT_DIPSETTING(    0x0d, "13" )
277 	PORT_DIPSETTING(    0x0e, "14" )
278 	PORT_DIPSETTING(    0x0f, "15" )
279 	PORT_BIT( 0xf0, IP_ACTIVE_HIGH,  IPT_UNUSED )
280 
281 	PORT_START      /* IN8 */
282 	PORT_DIPNAME( 0x0f, 0x01, "Coin Multiplier" )
283 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
284 	PORT_DIPSETTING(    0x01, "1" )
285 	PORT_DIPSETTING(    0x02, "2" )
286 	PORT_DIPSETTING(    0x03, "3" )
287 	PORT_DIPSETTING(    0x04, "4" )
288 	PORT_DIPSETTING(    0x05, "5" )
289 	PORT_DIPSETTING(    0x06, "6" )
290 	PORT_DIPSETTING(    0x07, "7" )
291 	PORT_DIPSETTING(    0x08, "8" )
292 	PORT_DIPSETTING(    0x09, "9" )
293 	PORT_DIPSETTING(    0x0a, "10" )
294 	PORT_DIPSETTING(    0x0b, "11" )
295 	PORT_DIPSETTING(    0x0c, "12" )
296 	PORT_DIPSETTING(    0x0d, "13" )
297 	PORT_DIPSETTING(    0x0e, "14" )
298 	PORT_DIPSETTING(    0x0f, "15" )
299 	PORT_BIT( 0xf0, IP_ACTIVE_HIGH,  IPT_UNUSED )
300 
301 	PORT_START      /* IN9 */
302 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN3 )
303 	PORT_BIT( 0x7e, IP_ACTIVE_LOW,  IPT_UNUSED )
304 	PORT_BITX(0x80, IP_ACTIVE_HIGH, 0, "Stats", KEYCODE_F1, IP_JOY_NONE )
305 INPUT_PORTS_END
306 
307 
308 static MACHINE_DRIVER_START( berzerk )
309 
310 	/* basic machine hardware */
311 	MDRV_CPU_ADD_TAG("main", Z80, 2500000)        /* 2.5 MHz */
312 	MDRV_CPU_MEMORY(berzerk_readmem,berzerk_writemem)
313 	MDRV_CPU_PORTS(readport,writeport)
314 	MDRV_CPU_VBLANK_INT(berzerk_interrupt,8)
315 
316 	MDRV_FRAMES_PER_SECOND(60)
317 	MDRV_VBLANK_DURATION(2500)  /* Needs to be long enough so 2 of the 8 */
318 								/* interrupts fall inside the VBLANK */
319 	MDRV_MACHINE_INIT(berzerk)
320 	MDRV_NVRAM_HANDLER(generic_0fill)
321 
322 	/* video hardware */
323 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
324 	MDRV_SCREEN_SIZE(256, 256)
325 	MDRV_VISIBLE_AREA(0, 256-1, 32, 256-1)
326 	MDRV_PALETTE_LENGTH(16)
327 
328 	MDRV_PALETTE_INIT(berzerk)
329 	MDRV_VIDEO_START(generic_bitmapped)
330 	MDRV_VIDEO_UPDATE(generic_bitmapped)
331 
332 	/* sound hardware */
333 	MDRV_SOUND_ADD(SAMPLES, berzerk_samples_interface)
334 	MDRV_SOUND_ADD(CUSTOM, berzerk_custom_interface)
335 MACHINE_DRIVER_END
336 
337 static MACHINE_DRIVER_START( frenzy )
338 
339 	/* basic machine hardware */
340 	MDRV_IMPORT_FROM(berzerk)
341 	MDRV_CPU_MODIFY("main")
342 	MDRV_CPU_MEMORY(frenzy_readmem,frenzy_writemem)
343 
344 	MDRV_MACHINE_INIT(NULL)
345 	MDRV_NVRAM_HANDLER(NULL)
346 MACHINE_DRIVER_END
347 
348 
349 
350 /***************************************************************************
351 
352   Game driver(s)
353 
354 ***************************************************************************/
355 
356 ROM_START( berzerk )
357 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
358 	ROM_LOAD( "1c-0",         0x0000, 0x0800, CRC(ca566dbc) SHA1(fae2647f12f1cd82826db61b53b116a5e0c9f995) )
359 	ROM_LOAD( "1d-1",         0x1000, 0x0800, CRC(7ba69fde) SHA1(69af170c4a39a3494dcd180737e5c87b455f9203) )
360 	ROM_LOAD( "3d-2",         0x1800, 0x0800, CRC(a1d5248b) SHA1(a0b7842f6a5f86c16d80d78e7012c78b3ea11d1d) )
361 	ROM_LOAD( "5d-3",         0x2000, 0x0800, CRC(fcaefa95) SHA1(07f849aa39f1e3db938187ffde4a46a588156ddc) )
362 	ROM_LOAD( "6d-4",         0x2800, 0x0800, CRC(1e35b9a0) SHA1(5a5e549ec0e4803ab2d1eac6b3e7171aedf28244) )
363 	ROM_LOAD( "5c-5",         0x3000, 0x0800, CRC(c8c665e5) SHA1(e9eca4b119549e0061384abf52327c14b0d56624) )
364 ROM_END
365 
366 ROM_START( berzerk1 )
367 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
368 	ROM_LOAD( "rom0.1c",      0x0000, 0x0800, CRC(5b7eb77d) SHA1(8de488e279036fe40d6fb4c0dde16075309342fd) )
369 	ROM_LOAD( "rom1.1d",      0x1000, 0x0800, CRC(e58c8678) SHA1(a11f08448b457d690b270512c9f02fcf1e41d9e0) )
370 	ROM_LOAD( "rom2.3d",      0x1800, 0x0800, CRC(705bb339) SHA1(845191df90cd7d80f8fed3d2b69305301d921549) )
371 	ROM_LOAD( "rom3.5d",      0x2000, 0x0800, CRC(6a1936b4) SHA1(f1635e9d2f25514c35559d2a247c3bc4b4034c19) )
372 	ROM_LOAD( "rom4.6d",      0x2800, 0x0800, CRC(fa5dce40) SHA1(b3a3ee52bf65bbb3a20f905d3e4ebdf6871dcb5d) )
373 	ROM_LOAD( "rom5.5c",      0x3000, 0x0800, CRC(2579b9f4) SHA1(890f0237afbb194166eae88c98de81989f408548) )
374 ROM_END
375 
376 ROM_START( frenzy )
377 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
378 	ROM_LOAD( "1c-0",         0x0000, 0x1000, CRC(abdd25b8) SHA1(e6a3ab826b51b2c6ddd63d55681848fccad800dd) )
379 	ROM_LOAD( "1d-1",         0x1000, 0x1000, CRC(536e4ae8) SHA1(913385c43b8902d3d3ad2194a3137e19e61c6573) )
380 	ROM_LOAD( "3d-2",         0x2000, 0x1000, CRC(3eb9bc9b) SHA1(1e43e76ae0606a6d41d9006005d6001bdee48694) )
381 	ROM_LOAD( "5d-3",         0x3000, 0x1000, CRC(e1d3133c) SHA1(2af4a9bc2b29735a548ae770f872127bc009cc42) )
382 	ROM_LOAD( "6d-4",         0xc000, 0x1000, CRC(5581a7b1) SHA1(1f633c1c29d3b64f701c601feba26da66a6c6f23) )
383 	/* 1c & 2c are the voice ROMs */
384 ROM_END
385 
386 
387 
388 GAME( 1980, berzerk,  0,       berzerk, berzerk, 0, ROT0, "Stern", "Berzerk (set 1)" )
389 GAME( 1980, berzerk1, berzerk, berzerk, berzerk, 0, ROT0, "Stern", "Berzerk (set 2)" )
390 GAME( 1982, frenzy,   0,       frenzy,  frenzy,  0, ROT0, "Stern", "Frenzy" )
391