1 // license:BSD-3-Clause
2 // copyright-holders:R. Belmont, Olivier Galibert, ElSemi, Angelo Salese
3 /*
4     Sega Model 2: i960KB + (5x TGP) or (2x SHARC) or (2x TGPx4)
5     System 24 tilemaps
6     Custom Sega/Lockheed-Martin rasterization hardware
7     (68000 + YM3438 + 2x MultiPCM) or (68000 + SCSP)
8 
9     Hardware and protection reverse-engineering and general assistance by ElSemi.
10     MAME driver by R. Belmont, Olivier Galibert, ElSemi and Angelo Salese.
11 
12     TODO:
13     - z-sort, focal distance, color gamma and Mip Mapping still needs to be properly sorted in the renderer;
14     - sound comms still needs some work (sometimes m68k doesn't get some commands or play them with a delay);
15     - 2C games needs TGPx4 emulation;
16     - outputs and artwork (for gearbox indicators);
17     - clean-ups;
18 
19     TODO (per-game issues)
20     - daytona: crashes when coining it up with master network active
21                culprit is a wrong command parameter in geo_parse texture data opcode;
22     - daytona: car glasses doesn't get loaded during gameplay;
23     - doa, doaa: corrupted sound, eventually becomes silent;
24     - doa, doaa: Kasumi model has many culled polygons;
25     - dynamcopc: corrupts palette for 2d (most likely unrelated with the lack of DSP);
26     - fvipers, schamp: rasterizer has issues displaying some characters @see video/model2.cpp
27     - fvipers: enables timers, but then irq register is empty, hence it crashes with an "interrupt halt" at POST (regression);
28     - lastbrnx: uses external DMA port 0 for uploading SHARC program, hook-up might not be 100% right;
29     - lastbrnx: has wrong graphics, uses several SHARC opcodes that needs to be double checked
30                 (compute_fmul_avg, shift operation 0x11, ALU operation 0x89 (compute_favg));
31     - manxtt: no escape from "active motion slider" tutorial (needs analog inputs),
32               bypass it by entering then exiting service mode;
33     - manxtt: no bikes are visible (not a z-sort issue!);
34     - manxtt: course select island map doesn't rotate properly:
35               timing issue, i960 sends read/write geo addresses to bufferram 0x918000/4 which TGP never reads in time.
36     - sgt24h: first turn in easy reverse course has ugly rendered mountain in background;
37     - skytargt: really slow during gameplay (fixed?);
38     - skytargt: short draw distance (might be down to z-sort);
39     - srallyc: some 3d elements doesn't show up properly (tree models, last hill in course 1 is often black colored);
40     - vcop: sound dies at enter initial screen (i.e. after played the game once) (untested);
41     - vcop: missing 3d at stage select screen (priority?);
42     - vstriker: stadium ads have terrible colors (they uses the wrong color table, @see video/model2rd.hxx)
43 
44     Notes:
45     - some analog games can be calibrated in service mode via volume control item ...
46     - ... while in manxtt (maybe others) you calibrate by entering input test, press service
47       (a blinking > will appear near the item to be calibrated) then keep pressed shift down while
48       calibrating the analog input (a blinking "setting" will appear).
49 
50 ======================================================================================================================================
51 
52     Sega Model 2 Feedback Driver Board
53     ----------------------------------
54 
55 
56     PCB Layout
57     ----------
58 
59     SJ25-0207-01
60     838-10646 (Daytona)
61     838-11661 (Sega Rally)
62     |---------------------------------------------|
63     |             7-SEG-LED 7-SEG-LED             |
64     |                                             |
65     |   315-5296      315-5296                    |
66     |                 DSW(8)                      |
67     |    M6253                      MB3759        |
68     |                                             |
69     |           GAL.IC23  ROM.IC12                |
70     |                                             |
71     |     Z80                                     |
72     |8MHz   MB3771 MB3771  8464                   |
73     |---------------------------------------------|
74     Notes:
75           Z80      - clock 4.000MHz [8/2]
76           8464     - 8k x8 SRAM
77           ROM.IC12 - EPR-16488A for Daytona
78                      EPR-17891  for Sega Rally
79           GAL      - Lattice GAL16V8B stamped 315-5625 common to both Daytona and Sega Rally
80           DSW(8)   - 8-Position dip switch, all OFF
81           M6253    - Oki M6253
82           315-5296 - Sega Custom QFP100
83           plus several transistors, resistors, a couple of relays and 8 connectors.
84 
85 
86 */
87 
88 #include "emu.h"
89 #include "includes/model2.h"
90 
91 #include "cpu/i960/i960.h"
92 #include "cpu/m68000/m68000.h"
93 #include "cpu/z80/z80.h"
94 #include "machine/clock.h"
95 #include "machine/cxd1095.h"
96 #include "machine/eepromser.h"
97 #include "machine/mb8421.h"
98 #include "machine/msm6253.h"
99 #include "machine/nvram.h"
100 #include "machine/315_5296.h"
101 #include "machine/315_5649.h"
102 #include "machine/model1io.h"
103 #include "machine/model1io2.h"
104 #include "sound/2612intf.h"
105 #include "video/segaic24.h"
106 #include "speaker.h"
107 
108 #include "model1io2.lh"
109 #include "segabill.lh"
110 
111 /* Timers - these count down at 25 MHz and pull IRQ2 when they hit 0 */
timers_r(offs_t offset)112 u32 model2_state::timers_r(offs_t offset)
113 {
114 	m_maincpu->i960_noburst();
115 
116 	// if timer is running, calculate current value
117 	if (m_timerrun[offset])
118 	{
119 		// get elapsed time, convert to units of 25 MHz
120 		u32 cur = (m_timers[offset]->time_elapsed() * 25000000).as_double();
121 
122 		// subtract units from starting value
123 		m_timervals[offset] = m_timerorig[offset] - cur;
124 	}
125 
126 	return m_timervals[offset];
127 }
128 
timers_w(offs_t offset,u32 data,u32 mem_mask)129 void model2_state::timers_w(offs_t offset, u32 data, u32 mem_mask)
130 {
131 	attotime period;
132 
133 	m_maincpu->i960_noburst();
134 	COMBINE_DATA(&m_timervals[offset]);
135 
136 	m_timerorig[offset] = m_timervals[offset];
137 	period = attotime::from_hz(25000000) * m_timerorig[offset];
138 	m_timers[offset]->adjust(period);
139 	m_timerrun[offset] = 1;
140 }
141 
TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_timer_cb)142 TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_timer_cb)
143 {
144 	int tnum = (int)(uintptr_t)ptr;
145 	int bit = tnum + 2;
146 
147 	if(m_timerrun[tnum] == 0)
148 		return;
149 
150 	m_timers[tnum]->reset();
151 
152 	m_intreq |= (1<<bit);
153 	if(m_intena & 1<<bit)
154 		m_maincpu->set_input_line(I960_IRQ2, ASSERT_LINE);
155 	//printf("%08x %08x (%08x)\n",m_intreq,m_intena,1<<bit);
156 	model2_check_irq_state();
157 
158 	m_timervals[tnum] = 0xfffff;
159 	m_timerrun[tnum] = 0;
160 }
161 
machine_start()162 void model2_state::machine_start()
163 {
164 	// initialize custom debugger pool, @see machine/model2.cpp
165 	debug_init();
166 
167 	save_item(NAME(m_intreq));
168 	save_item(NAME(m_intena));
169 	save_item(NAME(m_coproctl));
170 	save_item(NAME(m_coprocnt));
171 	save_item(NAME(m_geoctl));
172 	save_item(NAME(m_geocnt));
173 	save_item(NAME(m_ctrlmode));
174 	save_item(NAME(m_timervals[0]));
175 	save_item(NAME(m_timervals[1]));
176 	save_item(NAME(m_timervals[2]));
177 	save_item(NAME(m_timervals[3]));
178 	save_item(NAME(m_timerrun[0]));
179 	save_item(NAME(m_timerrun[1]));
180 	save_item(NAME(m_timerrun[2]));
181 	save_item(NAME(m_timerrun[3]));
182 
183 	save_item(NAME(m_geo_write_start_address));
184 	save_item(NAME(m_geo_read_start_address));
185 }
186 
machine_start()187 void model2_tgp_state::machine_start()
188 {
189 	model2_state::machine_start();
190 
191 	m_copro_fifo_in->setup(16,
192 						   [this]() { m_copro_tgp->stall(); },
193 						   [this]() { m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
194 						   [this]() { m_copro_tgp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
195 						   [this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
196 						   [this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
197 						   [    ]() { },
198 						   [    ]() { });
199 
200 	m_copro_fifo_out->setup(16,
201 							[this]() { m_maincpu->i960_stall(); },
202 							[this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
203 							[this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
204 							[this]() { m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
205 							[this]() { m_copro_tgp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
206 							[    ]() { },
207 							[    ]() { });
208 }
209 
machine_start()210 void model2b_state::machine_start()
211 {
212 	model2_state::machine_start();
213 
214 	m_copro_fifo_in->setup(16,
215 						   [    ]() { },
216 						   [    ]() { },
217 						   [    ]() { },
218 						   [this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
219 						   [this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
220 						   [this]() { m_copro_adsp->set_flag_input(0, m_copro_fifo_in->is_empty()); },
221 						   [this]() { m_copro_adsp->set_flag_input(0, m_copro_fifo_in->is_empty()); });
222 	m_copro_fifo_out->setup(16,
223 							[this]() { m_maincpu->i960_stall(); },
224 							[this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
225 							[this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
226 							[    ]() { },
227 							[    ]() { },
228 							[this]() { m_copro_adsp->set_flag_input(1, m_copro_fifo_in->is_full()); },
229 							[this]() { m_copro_adsp->set_flag_input(1, m_copro_fifo_in->is_full()); });
230 }
231 
machine_start()232 void model2c_state::machine_start()
233 {
234 	model2_state::machine_start();
235 
236 	m_copro_fifo_in->setup(16,
237 						   [    ]() { },
238 						   [    ]() { },
239 						   [    ]() { },
240 						   [this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
241 						   [this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
242 						   [    ]() { },
243 						   [    ]() { });
244 	m_copro_fifo_out->setup(16,
245 							[this]() { m_maincpu->i960_stall(); },
246 							[this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); },
247 							[this]() { m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); },
248 							[    ]() { },
249 							[    ]() { },
250 							[    ]() { },
251 							[    ]() { });
252 }
253 
machine_reset()254 void model2_state::machine_reset()
255 {
256 	m_intreq = 0;
257 	m_intena = 0;
258 	m_coproctl = 0;
259 	m_coprocnt = 0;
260 	m_geoctl = 0;
261 	m_geocnt = 0;
262 	m_ctrlmode = 0;
263 
264 	m_timervals[0] = 0xfffff;
265 	m_timervals[1] = 0xfffff;
266 	m_timervals[2] = 0xfffff;
267 	m_timervals[3] = 0xfffff;
268 
269 	m_timerrun[0] = m_timerrun[1] = m_timerrun[2] = m_timerrun[3] = 0;
270 
271 	for (int i = 0; i < 4; i++)
272 		m_timers[i]->reset();
273 
274 	m_uart->write_cts(0);
275 
276 	// initialize bufferram to a sane default
277 	// TODO: HW can probably parse this at will somehow ...
278 	for (int i = 0; i < 0x20000/4; i++)
279 		m_bufferram[i] = 0x07800f0f;
280 
281 	m_copro_fifo_in->clear();
282 	m_copro_fifo_out->clear();
283 	m_geo_write_start_address = 0;
284 	m_geo_read_start_address = 0;
285 }
286 
reset_model2_scsp()287 void model2_state::reset_model2_scsp()
288 {
289 	membank("bank4")->set_base(memregion("samples")->base() + 0x200000);
290 	membank("bank5")->set_base(memregion("samples")->base() + 0x600000);
291 
292 	// copy the 68k vector table into RAM
293 	memcpy(m_soundram, memregion("audiocpu")->base(), 16);
294 }
295 
machine_reset()296 void model2_tgp_state::machine_reset()
297 {
298 	model2_state::machine_reset();
299 
300 	// hold TGP in halt until we have code
301 	m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
302 }
303 
machine_reset()304 void model2a_state::machine_reset()
305 {
306 	model2_tgp_state::machine_reset();
307 	reset_model2_scsp();
308 }
309 
machine_reset()310 void model2b_state::machine_reset()
311 {
312 	model2_state::machine_reset();
313 	reset_model2_scsp();
314 
315 	m_copro_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
316 
317 	// set FIFOIN empty flag on SHARC
318 	m_copro_adsp->set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE);
319 	// clear FIFOOUT buffer full flag on SHARC
320 	m_copro_adsp->set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
321 }
322 
machine_reset()323 void model2c_state::machine_reset()
324 {
325 	model2_state::machine_reset();
326 	reset_model2_scsp();
327 
328 	m_copro_tgpx4->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
329 }
330 
palette_w(offs_t offset,u16 data,u16 mem_mask)331 void model2_state::palette_w(offs_t offset, u16 data, u16 mem_mask)
332 {
333 	COMBINE_DATA(&m_palram[offset]);
334 	u16 color = m_palram[offset];
335 	m_palette->set_pen_color(offset, pal5bit(color >> 0), pal5bit(color >> 5), pal5bit(color >> 10));
336 }
337 
palette_r(offs_t offset)338 u16 model2_state::palette_r(offs_t offset)
339 {
340 	return m_palram[offset];
341 }
342 
colorxlat_w(offs_t offset,u16 data,u16 mem_mask)343 void model2_state::colorxlat_w(offs_t offset, u16 data, u16 mem_mask)
344 {
345 	COMBINE_DATA(&m_colorxlat[offset]);
346 }
347 
colorxlat_r(offs_t offset)348 u16 model2_state::colorxlat_r(offs_t offset)
349 {
350 	return m_colorxlat[offset];
351 }
352 
353 // Apparently original Model 2 doesn't have fifo control?
fifo_control_2o_r()354 u32 model2o_state::fifo_control_2o_r()
355 {
356 	return 0xffffffff;
357 }
358 
fifo_control_2a_r()359 u32 model2_state::fifo_control_2a_r()
360 {
361 	u32 r = 0;
362 
363 	if (m_copro_fifo_out->is_empty())
364 	{
365 		r |= 1;
366 	}
367 
368 	// #### 1 if fifo empty, zerogun needs | 0x04 set
369 	// TODO: 0x04 is probably fifo full, zeroguna stalls with a fresh nvram with that enabled?
370 	return r;
371 //  return r | 0x04;
372 }
373 
videoctl_r()374 u32 model2_state::videoctl_r()
375 {
376 	u8 framenum;
377 
378 	if(m_render_mode == false)
379 		framenum = (m_screen->frame_number() & 2) << 1;
380 	else
381 		framenum = (m_screen->frame_number() & 1) << 2;
382 
383 	return (framenum) | (m_videocontrol & 3);
384 }
385 
videoctl_w(offs_t offset,u32 data,u32 mem_mask)386 void model2_state::videoctl_w(offs_t offset, u32 data, u32 mem_mask)
387 {
388 	COMBINE_DATA(&m_videocontrol);
389 }
390 
391 // Coprocessor - Common
copro_prg_r()392 u32 model2_state::copro_prg_r()
393 {
394 	return 0xffffffff;
395 }
396 
copro_ctl1_r()397 u32 model2_state::copro_ctl1_r()
398 {
399 	return m_coproctl;
400 }
401 
copro_ctl1_w(offs_t offset,u32 data,u32 mem_mask)402 void model2_state::copro_ctl1_w(offs_t offset, u32 data, u32 mem_mask)
403 {
404 	// did hi bit change?
405 	if ((data ^ m_coproctl) == 0x80000000)
406 	{
407 		if (data & 0x80000000)
408 		{
409 			logerror("Start copro upload\n");
410 			m_coprocnt = 0;
411 			copro_halt();
412 		}
413 		else
414 		{
415 			logerror("Boot copro, %d dwords\n", m_coprocnt);
416 			copro_boot();
417 		}
418 	}
419 
420 	COMBINE_DATA(&m_coproctl);
421 }
422 
423 
424 
425 // Coprocessor - TGP
copro_tgp_prog_map(address_map & map)426 void model2_tgp_state::copro_tgp_prog_map(address_map &map)
427 {
428 	map(0x000, 0xfff).ram().share("copro_tgp_program");
429 }
430 
copro_tgp_data_map(address_map & map)431 void model2_tgp_state::copro_tgp_data_map(address_map &map)
432 {
433 	map(0x0000, 0x00ff).ram();
434 	map(0x0200, 0x03ff).ram();
435 }
436 
copro_tgp_bank_map(address_map & map)437 void model2_tgp_state::copro_tgp_bank_map(address_map &map)
438 {
439 	map(0x00020, 0x00023).rw(FUNC(model2_tgp_state::copro_sincos_r), FUNC(model2_tgp_state::copro_sincos_w));
440 	map(0x00024, 0x00027).rw(FUNC(model2_tgp_state::copro_atan_r), FUNC(model2_tgp_state::copro_atan_w));
441 	map(0x00028, 0x00029).rw(FUNC(model2_tgp_state::copro_inv_r), FUNC(model2_tgp_state::copro_inv_w));
442 	map(0x0002a, 0x0002b).rw(FUNC(model2_tgp_state::copro_isqrt_r), FUNC(model2_tgp_state::copro_isqrt_w));
443 
444 	map(0x10000, 0x1ffff).rw(FUNC(model2_tgp_state::copro_tgp_memory_r), FUNC(model2_tgp_state::copro_tgp_memory_w));
445 }
446 
copro_tgp_io_map(address_map & map)447 void model2_tgp_state::copro_tgp_io_map(address_map &map)
448 {
449 	map(0x0000, 0xffff).m(m_copro_tgp_bank, FUNC(address_map_bank_device::amap32));
450 }
451 
copro_tgp_rf_map(address_map & map)452 void model2_tgp_state::copro_tgp_rf_map(address_map &map)
453 {
454 	map(0x0, 0x0).nopw(); // leds? busy flag?
455 	map(0x1, 0x1).r(m_copro_fifo_in, FUNC(generic_fifo_u32_device::read));
456 	map(0x2, 0x2).w(m_copro_fifo_out, FUNC(generic_fifo_u32_device::write));
457 	map(0x3, 0x3).w(FUNC(model2_tgp_state::copro_tgp_bank_w));
458 }
459 
copro_tgp_memory_r(offs_t offset)460 u32 model2_tgp_state::copro_tgp_memory_r(offs_t offset)
461 {
462 	offs_t adr = (m_copro_tgp_bank_reg & 0xff0000) | offset;
463 
464 	if(adr & 0x800000) {
465 		adr &= (m_copro_data->bytes() >> 2) - 1;
466 		return m_copro_data->as_u32(adr);
467 	}
468 
469 	if(adr & 0x400000) {
470 		adr &= 0x7fff;
471 		return m_bufferram[adr];
472 	}
473 
474 	return 0;
475 }
476 
copro_tgp_memory_w(offs_t offset,u32 data,u32 mem_mask)477 void model2_tgp_state::copro_tgp_memory_w(offs_t offset, u32 data, u32 mem_mask)
478 {
479 	offs_t adr = (m_copro_tgp_bank_reg & 0xff0000) | offset;
480 	if(adr & 0x400000) {
481 		adr &= 0x7fff;
482 		COMBINE_DATA(&m_bufferram[adr]);
483 	}
484 }
485 
copro_tgp_bank_w(offs_t offset,u32 data,u32 mem_mask)486 void model2_tgp_state::copro_tgp_bank_w(offs_t offset, u32 data, u32 mem_mask)
487 {
488 	COMBINE_DATA(&m_copro_tgp_bank_reg);
489 	m_copro_tgp_bank->set_bank(m_copro_tgp_bank_reg & 0xc00000 ? 1 : 0);
490 }
491 
copro_sincos_w(offs_t offset,u32 data,u32 mem_mask)492 void model2_tgp_state::copro_sincos_w(offs_t offset, u32 data, u32 mem_mask)
493 {
494 	COMBINE_DATA(&m_copro_sincos_base);
495 }
496 
copro_sincos_r(offs_t offset)497 u32 model2_tgp_state::copro_sincos_r(offs_t offset)
498 {
499 	offs_t ang = m_copro_sincos_base + offset * 0x4000;
500 	offs_t index = ang & 0x3fff;
501 	if(ang & 0x4000)
502 		index ^= 0x3fff;
503 	u32 result = m_copro_tgp_tables[index];
504 	if(ang & 0x8000)
505 		result ^= 0x80000000;
506 	return result;
507 }
508 
copro_inv_w(offs_t offset,u32 data,u32 mem_mask)509 void model2_tgp_state::copro_inv_w(offs_t offset, u32 data, u32 mem_mask)
510 {
511 	COMBINE_DATA(&m_copro_inv_base);
512 }
513 
copro_inv_r(offs_t offset)514 u32 model2_tgp_state::copro_inv_r(offs_t offset)
515 {
516 	offs_t index = ((m_copro_inv_base >> 9) & 0x3ffe) | (offset & 1);
517 	u32 result = m_copro_tgp_tables[index | 0x8000];
518 	u8 bexp = (m_copro_inv_base >> 23) & 0xff;
519 	u8 exp = (result >> 23) + (0x7f - bexp);
520 	result = (result & 0x807fffff) | (exp << 23);
521 	if(m_copro_inv_base & 0x80000000)
522 		result ^= 0x80000000;
523 	return result;
524 }
525 
copro_isqrt_w(offs_t offset,u32 data,u32 mem_mask)526 void model2_tgp_state::copro_isqrt_w(offs_t offset, u32 data, u32 mem_mask)
527 {
528 	COMBINE_DATA(&m_copro_isqrt_base);
529 }
530 
copro_isqrt_r(offs_t offset)531 u32 model2_tgp_state::copro_isqrt_r(offs_t offset)
532 {
533 	offs_t index = 0x2000 ^ (((m_copro_isqrt_base>> 10) & 0x3ffe) | (offset & 1));
534 	u32 result = m_copro_tgp_tables[index | 0xc000];
535 	u8 bexp = (m_copro_isqrt_base >> 24) & 0x7f;
536 	u8 exp = (result >> 23) + (0x3f - bexp);
537 	result = (result & 0x807fffff) | (exp << 23);
538 	if(!(offset & 1))
539 		result &= 0x7fffffff;
540 	return result;
541 }
542 
copro_atan_w(offs_t offset,u32 data,u32 mem_mask)543 void model2_tgp_state::copro_atan_w(offs_t offset, u32 data, u32 mem_mask)
544 {
545 	COMBINE_DATA(&m_copro_atan_base[offset]);
546 	m_copro_tgp->gpio0_w((m_copro_atan_base[0] & 0x7fffffff) <= (m_copro_atan_base[1] & 0x7fffffff));
547 }
548 
copro_atan_r()549 u32 model2_tgp_state::copro_atan_r()
550 {
551 	u8 ie = 0x88 - (m_copro_atan_base[3] >> 23);
552 
553 	bool s0 = m_copro_atan_base[0] & 0x80000000;
554 	bool s1 = m_copro_atan_base[1] & 0x80000000;
555 	bool s2 = (m_copro_atan_base[0] & 0x7fffffff) <= (m_copro_atan_base[1] & 0x7fffffff);
556 
557 	offs_t im = m_copro_atan_base[3] & 0x7fffff;
558 	offs_t index = ie <= 0x17 ? (im | 0x800000) >> ie : 0;
559 	if(index == 0x4000)
560 		index = 0x3fff;
561 
562 	u32 result = m_copro_tgp_tables[index | 0x4000];
563 
564 	if(s0 ^ s1 ^ s2)
565 		result >>= 16;
566 	if(s2)
567 		result += 0x4000;
568 	if((s0 && !s2) || (s1 && s2))
569 		result += 0x8000;
570 
571 	return result & 0xffff;
572 }
573 
copro_function_port_w(offs_t offset,u32 data)574 void model2_tgp_state::copro_function_port_w(offs_t offset, u32 data)
575 {
576 	u32 d = data & 0x800fffff;
577 	u32 a = (offset >> 2) & 0xff;
578 	d |= a << 23;
579 
580 	m_copro_fifo_in->push(u32(d));
581 }
582 
copro_halt()583 void model2_tgp_state::copro_halt()
584 {
585 	m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
586 }
587 
copro_boot()588 void model2_tgp_state::copro_boot()
589 {
590 	m_copro_tgp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
591 	m_copro_tgp->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
592 }
593 
copro_fifo_r()594 u32 model2_tgp_state::copro_fifo_r()
595 {
596 	m_maincpu->i960_noburst();
597 	return m_copro_fifo_out->pop();
598 }
599 
copro_fifo_w(u32 data)600 void model2_tgp_state::copro_fifo_w(u32 data)
601 {
602 	m_maincpu->i960_noburst();
603 	if (m_coproctl & 0x80000000)
604 	{
605 		m_copro_tgp_program[m_coprocnt] = data;
606 		m_coprocnt++;
607 	}
608 	else
609 		m_copro_fifo_in->push(u32(data));
610 }
611 
612 
613 
614 // Coprocessor - SHARC
615 
copro_sharc_buffer_r(offs_t offset)616 u32 model2b_state::copro_sharc_buffer_r(offs_t offset)
617 {
618 	return m_bufferram[offset & 0x7fff];
619 }
620 
copro_sharc_buffer_w(offs_t offset,u32 data)621 void model2b_state::copro_sharc_buffer_w(offs_t offset, u32 data)
622 {
623 	m_bufferram[offset & 0x7fff] = data;
624 }
625 
copro_sharc_map(address_map & map)626 void model2b_state::copro_sharc_map(address_map &map)
627 {
628 	map(0x0400000, 0x0bfffff).r(m_copro_fifo_in, FUNC(generic_fifo_u32_device::read));
629 	map(0x0c00000, 0x13fffff).w(m_copro_fifo_out, FUNC(generic_fifo_u32_device::write));
630 	map(0x1400000, 0x1bfffff).rw(FUNC(model2b_state::copro_sharc_buffer_r), FUNC(model2b_state::copro_sharc_buffer_w));
631 	map(0x1c00000, 0x1dfffff).rom().region("copro_data", 0);
632 }
633 
copro_halt()634 void model2b_state::copro_halt()
635 {
636 }
637 
copro_boot()638 void model2b_state::copro_boot()
639 {
640 	m_copro_adsp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
641 }
642 
copro_fifo_r()643 u32 model2b_state::copro_fifo_r()
644 {
645 	m_maincpu->i960_noburst();
646 	return m_copro_fifo_out->pop();
647 }
648 
copro_fifo_w(u32 data)649 void model2b_state::copro_fifo_w(u32 data)
650 {
651 	m_maincpu->i960_noburst();
652 	if (m_coproctl & 0x80000000)
653 	{
654 		m_copro_adsp->external_dma_write(m_coprocnt, data & 0xffff);
655 		m_coprocnt++;
656 	}
657 	else
658 	{
659 		m_copro_fifo_in->push(u32(data));
660 	}
661 }
662 
copro_sharc_iop_w(offs_t offset,u32 data)663 void model2b_state::copro_sharc_iop_w(offs_t offset, u32 data)
664 {
665 	/* FIXME: clean this mess */
666 	if ((strcmp(machine().system().name, "schamp" ) == 0) ||
667 		(strcmp(machine().system().name, "sfight" ) == 0) ||
668 		(strcmp(machine().system().name, "fvipers" ) == 0) ||
669 		(strcmp(machine().system().name, "fvipersb" ) == 0) ||
670 		(strcmp(machine().system().name, "vstriker" ) == 0) ||
671 		(strcmp(machine().system().name, "vstrikero" ) == 0) ||
672 		(strcmp(machine().system().name, "gunblade" ) == 0) ||
673 		(strcmp(machine().system().name, "von" ) == 0) ||
674 		(strcmp(machine().system().name, "vonj" ) == 0) ||
675 		(strcmp(machine().system().name, "vonr" ) == 0) ||
676 		(strcmp(machine().system().name, "rchase2" ) == 0))
677 	{
678 		m_copro_adsp->external_iop_write(offset, data);
679 	}
680 	else
681 	{
682 		if(offset == 0x10/4)
683 		{
684 			m_copro_adsp->external_iop_write(offset, data);
685 			return;
686 		}
687 
688 		if ((m_iop_write_num & 1) == 0)
689 		{
690 			m_iop_data = data & 0xffff;
691 		}
692 		else
693 		{
694 			m_iop_data |= (data & 0xffff) << 16;
695 			m_copro_adsp->external_iop_write(offset, m_iop_data);
696 		}
697 		m_iop_write_num++;
698 	}
699 }
700 
copro_function_port_w(offs_t offset,u32 data)701 void model2b_state::copro_function_port_w(offs_t offset, u32 data)
702 {
703 	u32 d = data & 0x800fffff;
704 	u32 a = (offset >> 2) & 0xff;
705 	d |= a << 23;
706 
707 	m_copro_fifo_in->push(u32(d));
708 }
709 
710 
711 
712 // Coprocessor - TGPx4
copro_halt()713 void model2c_state::copro_halt()
714 {
715 }
716 
copro_boot()717 void model2c_state::copro_boot()
718 {
719 	m_copro_tgpx4->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
720 }
721 
copro_fifo_r()722 u32 model2c_state::copro_fifo_r()
723 {
724 	m_maincpu->i960_noburst();
725 	return m_copro_fifo_out->pop();
726 }
727 
copro_fifo_w(u32 data)728 void model2c_state::copro_fifo_w(u32 data)
729 {
730 	m_maincpu->i960_noburst();
731 	if (m_coproctl & 0x80000000)
732 	{
733 		if (m_coprocnt & 1)
734 		{
735 			m_copro_tgpx4_program[m_coprocnt / 2] &= 0xffffffffU;
736 			m_copro_tgpx4_program[m_coprocnt / 2] |= u64(data) << 32;
737 		}
738 		else
739 		{
740 			m_copro_tgpx4_program[m_coprocnt / 2] &= 0xffffffff00000000U;
741 			m_copro_tgpx4_program[m_coprocnt / 2] |= data;
742 		}
743 
744 		m_coprocnt++;
745 	}
746 	else
747 	{
748 		m_copro_fifo_in->push(u32(data));
749 	}
750 }
751 
copro_function_port_w(offs_t offset,u32 data)752 void model2c_state::copro_function_port_w(offs_t offset, u32 data)
753 {
754 	u32 d = data & 0x800fffff;
755 	u32 a = (offset >> 2) & 0xff;
756 	d |= a << 23;
757 
758 	m_copro_fifo_in->push(u32(d));
759 }
760 
copro_tgpx4_map(address_map & map)761 void model2c_state::copro_tgpx4_map(address_map &map)
762 {
763 	map(0x00000000, 0x00007fff).ram().share("copro_tgpx4_program");
764 }
765 
copro_tgpx4_data_map(address_map & map)766 void model2c_state::copro_tgpx4_data_map(address_map &map)
767 {
768 //  map(0x00000000, 0x000003ff) internal RAM
769 	map(0x00400000, 0x00407fff).ram().share("bufferram").mirror(0x003f8000);
770 	map(0x00800000, 0x008fffff).rom().region("copro_data",0); // ROM data
771 }
772 
773 
774 /*****************************************************************************/
775 /* GEO */
776 
777 
geo_ctl1_w(u32 data)778 void model2_state::geo_ctl1_w(u32 data)
779 {
780 	// did hi bit change?
781 	if ((data ^ m_geoctl) == 0x80000000)
782 	{
783 		if (data & 0x80000000)
784 		{
785 			logerror("Start geo upload\n");
786 			m_geocnt = 0;
787 		}
788 		else
789 		{
790 			logerror("Boot geo, %d dwords\n", m_geocnt);
791 		}
792 	}
793 
794 	m_geoctl = data;
795 }
796 
push_geo_data(u32 data)797 void model2_state::push_geo_data(u32 data)
798 {
799 	//osd_printf_debug("push_geo_data: %08X: %08X\n", 0x900000+m_geo_write_start_address, data);
800 	m_bufferram[m_geo_write_start_address/4] = data;
801 	m_geo_write_start_address += 4;
802 }
803 
geo_prg_r(offs_t offset)804 u32 model2_state::geo_prg_r(offs_t offset)
805 {
806 	popmessage("Read from Geometry FIFO at %08x, contact MAMEdev",offset*4);
807 	return 0xffffffff;
808 }
809 
geo_prg_w(u32 data)810 void model2_state::geo_prg_w(u32 data)
811 {
812 	if (m_geoctl & 0x80000000)
813 	{
814 		//logerror("geo_prg_w: %08X:   %08X\n", m_geocnt, data);
815 		m_geocnt++;
816 	}
817 	else
818 	{
819 		//osd_printf_debug("GEO: %08X: push %08X\n", m_geo_write_start_address, data);
820 		push_geo_data(data);
821 	}
822 }
823 
geo_r(offs_t offset)824 u32 model2_state::geo_r(offs_t offset)
825 {
826 	int address = offset * 4;
827 	if (address == 0x2008)
828 	{
829 		return m_geo_write_start_address;
830 	}
831 	else if (address == 0x3008)
832 	{
833 		return m_geo_read_start_address;
834 	}
835 
836 //  fatalerror("geo_r: %08X, %08X\n", address, mem_mask);
837 	logerror("geo_r: PC:%08x - %08X\n", m_maincpu->pc(), address);
838 
839 	return 0;
840 }
841 
geo_w(offs_t offset,u32 data)842 void model2_state::geo_w(offs_t offset, u32 data)
843 {
844 	int address = offset * 4;
845 
846 	if (address < 0x1000)
847 	{
848 		/*if (data & 0x80000000)
849 		{
850 		    int i;
851 		    u32 a;
852 		    osd_printf_debug("GEO: jump to %08X\n", (data & 0xfffff));
853 		    a = (data & 0xfffff) / 4;
854 		    for (i=0; i < 4; i++)
855 		    {
856 		        osd_printf_debug("   %08X: %08X %08X %08X %08X\n", 0x900000+(a*4)+(i*16),
857 		            m_bufferram[a+(i*4)+0], m_bufferram[a+(i*4)+1], m_bufferram[a+(i*4)+2], m_bufferram[a+(i*4)+3]);
858 		    }
859 		}
860 		else
861 		{
862 		    int function = (address >> 4) & 0x3f;
863 		    switch (address & 0xf)
864 		    {
865 		        case 0x0:
866 		        {
867 		            osd_printf_debug("GEO: function %02X (%08X, %08X)\n", function, address, data);
868 		            break;
869 		        }
870 
871 		        case 0x4:   osd_printf_debug("GEO: function %02X, command length %d\n", function, data & 0x3f); break;
872 		        case 0x8:   osd_printf_debug("GEO: function %02X, data length %d\n", function, data & 0x7f); break;
873 		    }
874 		}*/
875 
876 		if (data & 0x80000000)
877 		{
878 			u32 r = 0;
879 			r |= data & 0x800fffff;
880 			r |= ((address >> 4) & 0x3f) << 23;
881 			push_geo_data(r);
882 		}
883 		else
884 		{
885 			if ((address & 0xf) == 0)
886 			{
887 				u32 r = 0;
888 				r |= data & 0x000fffff;
889 				r |= ((address >> 4) & 0x3f) << 23;
890 				if((address >> 4) & 0xc0)
891 				{
892 					u8 function = (address >> 4) & 0x3f;
893 					if(function == 1)
894 					{
895 						r |= ((address>>10)&3)<<29; // Eye Mode, used by Sega Rally on car select
896 						//popmessage("Eye mode %02x? Contact MAMEdev",function);
897 					}
898 				}
899 				push_geo_data(r);
900 			}
901 		}
902 	}
903 	else if (address == 0x1008)
904 	{
905 		//osd_printf_debug("GEO: Write Start Address: %08X\n", data);
906 		m_geo_write_start_address = data & 0xfffff;
907 	}
908 	else if (address == 0x3008)
909 	{
910 		//osd_printf_debug("GEO: Read Start Address: %08X\n", data);
911 		m_geo_read_start_address = data & 0xfffff;
912 	}
913 	else
914 	{
915 		fatalerror("geo_w: %08X = %08X\n", address, data);
916 	}
917 }
918 
919 /*****************************************************************************/
920 
irq_request_r()921 u32 model2_state::irq_request_r()
922 {
923 	m_maincpu->i960_noburst();
924 
925 	return m_intreq;
926 }
927 
irq_enable_r()928 u32 model2_state::irq_enable_r()
929 {
930 	m_maincpu->i960_noburst();
931 
932 	return m_intena;
933 }
934 
irq_ack_w(u32 data)935 void model2_state::irq_ack_w(u32 data)
936 {
937 	m_maincpu->i960_noburst();
938 
939 	m_intreq &= data;
940 
941 	model2_check_irqack_state(data ^ 0xffffffff);
942 }
943 
irq_enable_w(offs_t offset,u32 data,u32 mem_mask)944 void model2_state::irq_enable_w(offs_t offset, u32 data, u32 mem_mask)
945 {
946 	m_maincpu->i960_noburst();
947 
948 	COMBINE_DATA(&m_intena);
949 	model2_check_irq_state();
950 }
951 
model2_check_irq_state()952 void model2_state::model2_check_irq_state()
953 {
954 	return;
955 
956 	/* TODO: vf2 and fvipers hangs with an irq halt on POST, disabled for now */
957 	const int irq_type[12]= {I960_IRQ0,I960_IRQ1,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ3,I960_IRQ3};
958 
959 	for(int i=0;i<12;i++)
960 	{
961 		if (m_intena & (1<<i) && m_intreq & (1<<i))
962 		{
963 			m_maincpu->set_input_line(irq_type[i], ASSERT_LINE);
964 			return;
965 		}
966 	}
967 }
968 
model2_check_irqack_state(u32 data)969 void model2_state::model2_check_irqack_state(u32 data)
970 {
971 	const int irq_type[12]= {I960_IRQ0,I960_IRQ1,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ2,I960_IRQ3,I960_IRQ3};
972 
973 	for(int i=0;i<12;i++)
974 	{
975 		if(data & 1<<i)
976 			m_maincpu->set_input_line(irq_type[i], CLEAR_LINE);
977 	}
978 }
979 
980 /* TODO: rewrite this part. It's a 8251-compatible chip */
model2_serial_r(offs_t offset,u32 mem_mask)981 u32 model2_state::model2_serial_r(offs_t offset, u32 mem_mask)
982 {
983 	if (offset == 0)
984 	{
985 		u32 result = 0;
986 		if (ACCESSING_BITS_0_7 && (offset == 0))
987 			result |= m_uart->data_r();
988 		if (ACCESSING_BITS_16_23 && (offset == 0))
989 			result |= m_uart->status_r() << 16;
990 		return result;
991 	}
992 
993 	return 0xffffffff;
994 }
995 
996 
model2_serial_w(offs_t offset,u32 data,u32 mem_mask)997 void model2_state::model2_serial_w(offs_t offset, u32 data, u32 mem_mask)
998 {
999 	if (ACCESSING_BITS_0_7 && (offset == 0))
1000 	{
1001 		m_uart->data_w(data & 0xff);
1002 
1003 		if (m_scsp.found())
1004 		{
1005 			m_scsp->midi_in(data&0xff);
1006 
1007 			// give the 68k time to notice
1008 			// TODO: 40 usecs is too much for Sky Target
1009 			m_maincpu->spin_until_time(attotime::from_usec(10));
1010 		}
1011 	}
1012 	if (ACCESSING_BITS_16_23 && (offset == 0))
1013 	{
1014 		m_uart->control_w((data >> 16) & 0xff);
1015 	}
1016 }
1017 
1018 
1019 #ifdef UNUSED_FUNCTION
copro_w(offs_t offset,u32 data)1020 void model2_state::copro_w(offs_t offset, u32 data)
1021 {
1022 	int address = offset * 4;
1023 
1024 	if (address < 0x400)
1025 	{
1026 		int function = (address & 0xfff) >> 4;
1027 		switch (address & 0xf)
1028 		{
1029 			case 0x0:   osd_printf_debug("COPRO: function %02X, command %d\n", function, (data >> 23) & 0x3f); break;
1030 			case 0x4:   osd_printf_debug("COPRO: function %02X, command length %d\n", function, data & 0x3f); break;
1031 			case 0x8:   osd_printf_debug("COPRO: function %02X, data length %d\n", function, data & 0x7f); break;
1032 		}
1033 	}
1034 
1035 	//osd_printf_debug("COPRO: %08X = %08X\n", offset, data);
1036 }
1037 #endif
1038 
render_mode_r()1039 u32 model2_state::render_mode_r()
1040 {
1041 	return (m_render_unk << 14) | (m_render_mode << 2) | (m_render_test_mode << 0);
1042 }
1043 
render_mode_w(u32 data)1044 void model2_state::render_mode_w(u32 data)
1045 {
1046 	// ---- -x-- (1) 60 Hz mode
1047 	//           (0) 30 Hz mode - skytargt, desert, vstriker, vcop
1048 	// ---- ---x Test Mode (Host can "access memories that are always being reloaded")
1049 	//           Effectively used by Last Bronx to r/w to the framebuffer
1050 	m_render_test_mode = bool(BIT(data,0));
1051 
1052 	m_render_mode = bool(BIT(data,2));
1053 
1054 	// undocumented, unknown purpose
1055 	m_render_unk = bool(BIT(data,14));
1056 //  osd_printf_debug("Mode = %08X\n", data);
1057 }
1058 
tex0_w(offs_t offset,u32 data)1059 void model2_tgp_state::tex0_w(offs_t offset, u32 data)
1060 {
1061 	if ( (offset & 1) == 0 )
1062 	{
1063 		m_textureram0[offset>>1] &= 0xffff0000;
1064 		m_textureram0[offset>>1] |= data & 0xffff;
1065 	}
1066 	else
1067 	{
1068 		m_textureram0[offset>>1] &= 0x0000ffff;
1069 		m_textureram0[offset>>1] |= (data & 0xffff) << 16;
1070 	}
1071 }
1072 
tex1_w(offs_t offset,u32 data)1073 void model2_tgp_state::tex1_w(offs_t offset, u32 data)
1074 {
1075 	if ( (offset & 1) == 0 )
1076 	{
1077 		m_textureram1[offset>>1] &= 0xffff0000;
1078 		m_textureram1[offset>>1] |= data & 0xffff;
1079 	}
1080 	else
1081 	{
1082 		m_textureram1[offset>>1] &= 0x0000ffff;
1083 		m_textureram1[offset>>1] |= (data & 0xffff) << 16;
1084 	}
1085 }
1086 
lumaram_r(offs_t offset)1087 u16 model2_state::lumaram_r(offs_t offset)
1088 {
1089 	return m_lumaram[offset];
1090 }
1091 
lumaram_w(offs_t offset,u16 data,u16 mem_mask)1092 void model2_state::lumaram_w(offs_t offset, u16 data, u16 mem_mask)
1093 {
1094 	COMBINE_DATA(&m_lumaram[offset]);
1095 }
1096 
1097 /* Top Skater reads here and discards the result */
tgpid_r(offs_t offset)1098 u8 model2_state::tgpid_r(offs_t offset)
1099 {
1100 	unsigned char ID[]={0,'T','A','H',0,'A','K','O',0,'Z','A','K',0,'M','T','K'};
1101 
1102 	return ID[offset];
1103 }
1104 
fbvram_bankA_r(offs_t offset)1105 u16 model2_state::fbvram_bankA_r(offs_t offset) { return m_fbvramA[offset]; }
fbvram_bankB_r(offs_t offset)1106 u16 model2_state::fbvram_bankB_r(offs_t offset) { return m_fbvramB[offset]; }
fbvram_bankA_w(offs_t offset,u16 data,u16 mem_mask)1107 void model2_state::fbvram_bankA_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_fbvramA[offset]); }
fbvram_bankB_w(offs_t offset,u16 data,u16 mem_mask)1108 void model2_state::fbvram_bankB_w(offs_t offset, u16 data, u16 mem_mask) { COMBINE_DATA(&m_fbvramB[offset]); }
1109 
1110 /* common map for all Model 2 versions */
model2_base_mem(address_map & map)1111 void model2_state::model2_base_mem(address_map &map)
1112 {
1113 	map(0x00000000, 0x001fffff).rom().nopw();
1114 
1115 	map(0x00500000, 0x005fffff).ram().share("workram");
1116 
1117 	map(0x00800000, 0x00803fff).rw(FUNC(model2_state::geo_r), FUNC(model2_state::geo_w));
1118 	//map(0x00800010, 0x00800013).nopw();
1119 	//map(0x008000b0, 0x008000b3).nopw();
1120 	//map(0x00804004, 0x0080400f).nopw();  // quiet psikyo games
1121 
1122 	//map(0x00880000, 0x00883fff).w(FUNC(model2_state::copro_w));
1123 
1124 	map(0x00900000, 0x0091ffff).mirror(0x60000).ram().share("bufferram");
1125 
1126 	map(0x00980004, 0x00980007).r(FUNC(model2_state::fifo_control_2a_r));
1127 	map(0x0098000c, 0x0098000f).rw(FUNC(model2_state::videoctl_r), FUNC(model2_state::videoctl_w));
1128 	map(0x00980030, 0x0098003f).r(FUNC(model2_state::tgpid_r));
1129 
1130 	map(0x00e00000, 0x00e00037).ram(); // CPU control (wait-states)
1131 	map(0x00e80000, 0x00e80003).rw(FUNC(model2_state::irq_request_r), FUNC(model2_state::irq_ack_w));
1132 	map(0x00e80004, 0x00e80007).rw(FUNC(model2_state::irq_enable_r), FUNC(model2_state::irq_enable_w));
1133 
1134 	map(0x00f00000, 0x00f0000f).rw(FUNC(model2_state::timers_r), FUNC(model2_state::timers_w));
1135 
1136 	map(0x01000000, 0x0100ffff).rw("tile", FUNC(segas24_tile_device::tile_r), FUNC(segas24_tile_device::tile_w)).mirror(0x110000);
1137 	map(0x01020000, 0x01020003).nopw().mirror(0x100000);        // ABSEL, always 0
1138 	map(0x01040000, 0x01040001).w("tile", FUNC(segas24_tile_device::xhout_w)).mirror(0x100000); // Horizontal synchronization register
1139 	map(0x01060000, 0x01060001).w("tile", FUNC(segas24_tile_device::xvout_w)).mirror(0x100000); // Vertical synchronization register
1140 	map(0x01070000, 0x01070003).nopw().mirror(0x100000);        // Video synchronization switch
1141 	map(0x01080000, 0x010fffff).rw("tile", FUNC(segas24_tile_device::char_r), FUNC(segas24_tile_device::char_w)).mirror(0x100000);
1142 
1143 	map(0x01800000, 0x01803fff).rw(FUNC(model2_state::palette_r), FUNC(model2_state::palette_w));
1144 	map(0x01810000, 0x0181bfff).rw(FUNC(model2_state::colorxlat_r), FUNC(model2_state::colorxlat_w));
1145 	map(0x0181c000, 0x0181c003).w(FUNC(model2_state::model2_3d_zclip_w));
1146 	map(0x01a00000, 0x01a03fff).rw(m_m2comm, FUNC(m2comm_device::share_r), FUNC(m2comm_device::share_w)).mirror(0x10000); // Power Sled access comm.board at 0x01A0XXXX, not sure if really a mirror, or slightly different comm.device
1147 	map(0x01a04000, 0x01a04000).rw(m_m2comm, FUNC(m2comm_device::cn_r), FUNC(m2comm_device::cn_w)).mirror(0x10000);
1148 	map(0x01a04002, 0x01a04002).rw(m_m2comm, FUNC(m2comm_device::fg_r), FUNC(m2comm_device::fg_w)).mirror(0x10000);
1149 	map(0x01d00000, 0x01d03fff).ram().share("backup1"); // Backup sram
1150 	map(0x02000000, 0x03ffffff).rom().region("main_data", 0);
1151 
1152 	// "extra" data
1153 	map(0x06000000, 0x06ffffff).rom().region("main_data", 0x1000000);
1154 
1155 	map(0x10000000, 0x101fffff).rw(FUNC(model2_state::render_mode_r), FUNC(model2_state::render_mode_w));
1156 //  map(0x10200000, 0x103fffff) renderer status register
1157 	map(0x10400000, 0x105fffff).r(FUNC(model2_state::polygon_count_r));
1158 //  map(0x10600000, 0x107fffff) polygon data ping
1159 //  map(0x10800000, 0x109fffff) polygon data pong
1160 //  map(0x10a00000, 0x10bfffff) fill memory ping
1161 //  map(0x10c00000, 0x10dfffff) fill memory pong
1162 
1163 	// format is xGGGGGRRRRRBBBBB (512x400)
1164 	map(0x11600000, 0x1167ffff).rw(FUNC(model2_state::fbvram_bankA_r), FUNC(model2_state::fbvram_bankA_w)); // framebuffer A (last bronx title screen)
1165 	map(0x11680000, 0x116fffff).rw(FUNC(model2_state::fbvram_bankB_r), FUNC(model2_state::fbvram_bankB_w)); // framebuffer B
1166 
1167 	map(0x12800000, 0x1281ffff).rw(FUNC(model2_state::lumaram_r), FUNC(model2_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
1168 }
1169 
1170 /* common map for 5881 protection */
model2_5881_mem(address_map & map)1171 void model2_state::model2_5881_mem(address_map &map)
1172 {
1173 	map(0x01d80000, 0x01d8ffff).ram();
1174 	map(0x01d90000, 0x01d9ffff).m(m_cryptdevice, FUNC(sega_315_5881_crypt_device::iomap_le));
1175 }
1176 
1177 
1178 //**************************************************************************
1179 //  LIGHTGUN
1180 //**************************************************************************
1181 
1182 // Interface board ID: 837-12079
1183 // ALTERA FLEX + Sega 315-5338A
1184 
lightgun_data_r(offs_t offset)1185 u8 model2_state::lightgun_data_r(offs_t offset)
1186 {
1187 	u16 data = m_lightgun_ports[offset >> 1].read_safe(0);
1188 	return BIT(offset, 0) ? (data >> 8) : data;
1189 }
1190 
lightgun_mux_r()1191 u8 model2_state::lightgun_mux_r()
1192 {
1193 	if (m_lightgun_mux < 8)
1194 		return lightgun_data_r(m_lightgun_mux);
1195 	else
1196 		return lightgun_offscreen_r(0);
1197 }
1198 
lightgun_mux_w(u8 data)1199 void model2_state::lightgun_mux_w(u8 data)
1200 {
1201 	m_lightgun_mux = data;
1202 }
1203 
1204 // handles offscreen gun trigger detection here
lightgun_offscreen_r(offs_t offset)1205 u8 model2_state::lightgun_offscreen_r(offs_t offset)
1206 {
1207 	// 5 percent border size
1208 	const float BORDER_SIZE = 0.05f;
1209 
1210 	// calculate width depending on min/max port value
1211 	const int BORDER_P1X = (m_lightgun_ports[1]->field(0x3ff)->maxval() - m_lightgun_ports[1]->field(0x3ff)->minval()) * BORDER_SIZE;
1212 	const int BORDER_P1Y = (m_lightgun_ports[0]->field(0x3ff)->maxval() - m_lightgun_ports[0]->field(0x3ff)->minval()) * BORDER_SIZE;
1213 	const int BORDER_P2X = (m_lightgun_ports[3]->field(0x3ff)->maxval() - m_lightgun_ports[3]->field(0x3ff)->minval()) * BORDER_SIZE;
1214 	const int BORDER_P2Y = (m_lightgun_ports[2]->field(0x3ff)->maxval() - m_lightgun_ports[2]->field(0x3ff)->minval()) * BORDER_SIZE;
1215 
1216 	u16 data = 0xfffc;
1217 
1218 	const u16 P1X = m_lightgun_ports[1].read_safe(0);
1219 	const u16 P1Y = m_lightgun_ports[0].read_safe(0);
1220 	const u16 P2X = m_lightgun_ports[3].read_safe(0);
1221 	const u16 P2Y = m_lightgun_ports[2].read_safe(0);
1222 
1223 	// border hit test for player 1 and 2
1224 	if (P1X <= (m_lightgun_ports[1]->field(0x3ff)->minval() + BORDER_P1X)) data |= 1;
1225 	if (P1X >= (m_lightgun_ports[1]->field(0x3ff)->maxval() - BORDER_P1X)) data |= 1;
1226 	if (P1Y <= (m_lightgun_ports[0]->field(0x3ff)->minval() + BORDER_P1Y)) data |= 1;
1227 	if (P1Y >= (m_lightgun_ports[0]->field(0x3ff)->maxval() - BORDER_P1Y)) data |= 1;
1228 	if (P2X <= (m_lightgun_ports[3]->field(0x3ff)->minval() + BORDER_P2X)) data |= 2;
1229 	if (P2X >= (m_lightgun_ports[3]->field(0x3ff)->maxval() - BORDER_P2X)) data |= 2;
1230 	if (P2Y <= (m_lightgun_ports[2]->field(0x3ff)->minval() + BORDER_P2Y)) data |= 2;
1231 	if (P2Y >= (m_lightgun_ports[2]->field(0x3ff)->maxval() - BORDER_P2Y)) data |= 2;
1232 
1233 	return (data >> ((offset & 1)*8)) & 0xff;
1234 }
1235 
1236 
1237 //**************************************************************************
1238 //  OUTPUTS
1239 //**************************************************************************
1240 
daytona_output_w(u8 data)1241 void model2o_state::daytona_output_w(u8 data)
1242 {
1243 	// 7-------  leader led
1244 	// -6------  vr4 led
1245 	// --5-----  vr3 led
1246 	// ---4----  vr2 led
1247 	// ----3---  vr1 led
1248 	// -----2--  start led
1249 	// ------1-  coin counter 2
1250 	// -------0  coin counter 1
1251 
1252 	machine().bookkeeping().coin_counter_w(1, BIT(data, 1));
1253 	machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
1254 }
1255 
desert_output_w(u8 data)1256 void model2o_state::desert_output_w(u8 data)
1257 {
1258 	// 7-------  cannon motor
1259 	// -6------  machine gun motor
1260 	// --5-----  vr1
1261 	// ---4----  vr2
1262 	// ----3---  vr3
1263 	// -----2--  start
1264 	// ------1-  coin counter 2
1265 	// -------0  coin counter 1
1266 
1267 	machine().bookkeeping().coin_counter_w(1, BIT(data, 1));
1268 	machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
1269 }
1270 
vcop_output_w(u8 data)1271 void model2o_state::vcop_output_w(u8 data)
1272 {
1273 	// 7654----  unknown (not used?)
1274 	// ----32--  start leds (always set together)
1275 	// ------1-  coin counter 2
1276 	// -------0  coin counter 1
1277 
1278 	machine().bookkeeping().coin_counter_w(1, BIT(~data, 1));
1279 	machine().bookkeeping().coin_counter_w(0, BIT(~data, 0));
1280 }
1281 
1282 
1283 //**************************************************************************
1284 //  I/O BOARD
1285 //**************************************************************************
1286 
1287 // On the real system, another 315-5338A is acting as slave
1288 // and writes the data to the dual port RAM. This isn't
1289 // emulated yet, data just gets written to RAM.
1290 
1291 /* model 2/2a common memory map */
model2_tgp_mem(address_map & map)1292 void model2_tgp_state::model2_tgp_mem(address_map &map)
1293 {
1294 	model2_base_mem(map);
1295 
1296 	map(0x00804000, 0x00807fff).rw(FUNC(model2_tgp_state::geo_prg_r), FUNC(model2_tgp_state::geo_prg_w));
1297 	map(0x00880000, 0x00883fff).w(FUNC(model2_tgp_state::copro_function_port_w));
1298 	map(0x00884000, 0x00887fff).rw(FUNC(model2_tgp_state::copro_fifo_r), FUNC(model2_tgp_state::copro_fifo_w));
1299 
1300 	map(0x00980000, 0x00980003).rw(FUNC(model2_tgp_state::copro_ctl1_r), FUNC(model2_tgp_state::copro_ctl1_w));
1301 	map(0x00980008, 0x0098000b).w(FUNC(model2_tgp_state::geo_ctl1_w));
1302 	map(0x009c0000, 0x009cffff).rw(FUNC(model2_tgp_state::model2_serial_r), FUNC(model2_tgp_state::model2_serial_w));
1303 
1304 	map(0x12000000, 0x121fffff).ram().w(FUNC(model2o_state::tex0_w)).mirror(0x200000).share("textureram0");   // texture RAM 0
1305 	map(0x12400000, 0x125fffff).ram().w(FUNC(model2o_state::tex1_w)).mirror(0x200000).share("textureram1");   // texture RAM 1
1306 }
1307 
1308 /* original Model 2 overrides */
model2o_mem(address_map & map)1309 void model2o_state::model2o_mem(address_map &map)
1310 {
1311 	model2_tgp_mem(map);
1312 
1313 	map(0x00200000, 0x0021ffff).ram();
1314 	map(0x00220000, 0x0023ffff).rom().region("maincpu", 0x20000);
1315 	map(0x00980004, 0x00980007).r(FUNC(model2o_state::fifo_control_2o_r));
1316 	map(0x01c00000, 0x01c00fff).rw("dpram", FUNC(mb8421_device::right_r), FUNC(mb8421_device::right_w)).umask32(0x00ff00ff); // 2k*8-bit dual port ram
1317 	map(0x01c80000, 0x01c80003).rw(FUNC(model2o_state::model2_serial_r), FUNC(model2o_state::model2_serial_w));
1318 }
1319 
1320 /* Daytona "To The MAXX" PIC protection simulation */
maxx_r(offs_t offset,u32 mem_mask)1321 u32 model2o_maxx_state::maxx_r(offs_t offset, u32 mem_mask)
1322 {
1323 	u32 *ROM = (u32 *)memregion("maincpu")->base();
1324 
1325 	if (offset <= 0x1f/4)
1326 	{
1327 		// special
1328 		if (mem_mask == 0xffff0000)
1329 		{
1330 			// 16-bit protection reads
1331 			m_maxxstate++;
1332 			m_maxxstate &= 0xf;
1333 			if (!m_maxxstate)
1334 			{
1335 				return 0x00070000;
1336 			}
1337 			else
1338 			{
1339 				if (m_maxxstate & 0x2)
1340 				{
1341 					return 0;
1342 				}
1343 				else
1344 				{
1345 					return 0x00040000;
1346 				}
1347 			}
1348 		}
1349 		else if (mem_mask == 0xffffffff)
1350 		{
1351 			// 32-bit read
1352 			if (offset == 0x22/4)
1353 			{
1354 				return 0x00ff0000;
1355 			}
1356 		}
1357 	}
1358 
1359 	return ROM[offset + (0x040000/4)];
1360 }
1361 
model2o_maxx_mem(address_map & map)1362 void model2o_maxx_state::model2o_maxx_mem(address_map &map)
1363 {
1364 	model2o_mem(map);
1365 	map(0x00240000, 0x0024ffff).r(FUNC(model2o_maxx_state::maxx_r));
1366 }
1367 
gtx_r(offs_t offset)1368 u8 model2o_gtx_state::gtx_r(offs_t offset)
1369 {
1370 	u8 *ROM = memregion("prot_data")->base();
1371 
1372 	if(offset == 0xffffc) // disable protection ROM overlay (fallbacks to data rom?)
1373 		m_gtx_state = 2;
1374 	else if(offset == 0xff00c || offset == 0xf0003) // enable protection bank 0
1375 		m_gtx_state = 0;
1376 	else if(offset == 0xff000) // enable protection bank 1
1377 		m_gtx_state = 1;
1378 
1379 	return ROM[m_gtx_state*0x100000+offset];
1380 }
1381 
model2o_gtx_mem(address_map & map)1382 void model2o_gtx_state::model2o_gtx_mem(address_map &map)
1383 {
1384 	model2o_mem(map);
1385 	map(0x02c00000,0x02cfffff).r(FUNC(model2o_gtx_state::gtx_r));
1386 }
1387 
1388 /* TODO: read by Sonic the Fighters (bit 1), unknown purpose */
copro_status_r()1389 u32 model2_state::copro_status_r()
1390 {
1391 	if(m_coprocnt == 0)
1392 		return -1;
1393 
1394 	return 0;
1395 }
1396 
1397 /* 2A-CRX overrides */
model2a_crx_mem(address_map & map)1398 void model2a_state::model2a_crx_mem(address_map &map)
1399 {
1400 	model2_tgp_mem(map);
1401 
1402 	map(0x00200000, 0x0023ffff).ram();
1403 	map(0x01c00000, 0x01c0001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
1404 	map(0x01c00040, 0x01c00043).nopw();
1405 	map(0x01c80000, 0x01c80003).rw(FUNC(model2a_state::model2_serial_r), FUNC(model2a_state::model2_serial_w));
1406 }
1407 
model2a_5881_mem(address_map & map)1408 void model2a_state::model2a_5881_mem(address_map &map)
1409 {
1410 	model2a_crx_mem(map);
1411 	model2_5881_mem(map);
1412 }
1413 
model2a_0229_mem(address_map & map)1414 void model2a_state::model2a_0229_mem(address_map &map)
1415 {
1416 	model2a_crx_mem(map);
1417 	model2_0229_mem(map);
1418 }
1419 
1420 /* 2B-CRX overrides */
model2b_crx_mem(address_map & map)1421 void model2b_state::model2b_crx_mem(address_map &map)
1422 {
1423 	model2_base_mem(map);
1424 
1425 	map(0x00200000, 0x0023ffff).ram();
1426 
1427 	map(0x00804000, 0x00807fff).rw(FUNC(model2b_state::geo_prg_r), FUNC(model2b_state::geo_prg_w));
1428 	//map(0x00804000, 0x00807fff).rw(FUNC(model2b_state::geo_sharc_fifo_r), FUNC(model2b_state::geo_sharc_fifo_w));
1429 	//map(0x00840000, 0x00840fff).w(FUNC(model2b_state::geo_sharc_iop_w));
1430 
1431 	map(0x00880000, 0x00883fff).w(FUNC(model2b_state::copro_function_port_w));
1432 	map(0x00884000, 0x00887fff).rw(FUNC(model2b_state::copro_fifo_r), FUNC(model2b_state::copro_fifo_w));
1433 	map(0x008c0000, 0x008c0fff).w(FUNC(model2b_state::copro_sharc_iop_w));
1434 
1435 	map(0x00980000, 0x00980003).rw(FUNC(model2b_state::copro_ctl1_r), FUNC(model2b_state::copro_ctl1_w));
1436 	map(0x00980008, 0x0098000b).w(FUNC(model2b_state::geo_ctl1_w));
1437 	map(0x00980014, 0x00980017).r(FUNC(model2b_state::copro_status_r));
1438 	//map(0x00980008, 0x0098000b).w(FUNC(model2b_state::geo_sharc_ctl1_w));
1439 
1440 	map(0x009c0000, 0x009cffff).rw(FUNC(model2b_state::model2_serial_r), FUNC(model2b_state::model2_serial_w));
1441 
1442 	map(0x11000000, 0x110fffff).ram().share("textureram0"); // texture RAM 0 (2b/2c)
1443 	map(0x11100000, 0x111fffff).ram().share("textureram0"); // texture RAM 0 (2b/2c)
1444 	map(0x11200000, 0x112fffff).ram().share("textureram1"); // texture RAM 1 (2b/2c)
1445 	map(0x11300000, 0x113fffff).ram().share("textureram1"); // texture RAM 1 (2b/2c)
1446 	map(0x11400000, 0x1140ffff).rw(FUNC(model2b_state::lumaram_r), FUNC(model2b_state::lumaram_w));    // polygon "luma" RAM (2b/2c)
1447 	map(0x12800000, 0x1281ffff).rw(FUNC(model2b_state::lumaram_r), FUNC(model2b_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
1448 
1449 	map(0x01c00000, 0x01c0001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
1450 	map(0x01c00040, 0x01c00043).nopw();
1451 	map(0x01c80000, 0x01c80003).rw(FUNC(model2b_state::model2_serial_r), FUNC(model2b_state::model2_serial_w));
1452 }
1453 
model2b_5881_mem(address_map & map)1454 void model2b_state::model2b_5881_mem(address_map &map)
1455 {
1456 	model2b_crx_mem(map);
1457 	model2_5881_mem(map);
1458 }
1459 
model2b_0229_mem(address_map & map)1460 void model2b_state::model2b_0229_mem(address_map &map)
1461 {
1462 	model2b_crx_mem(map);
1463 	model2_0229_mem(map);
1464 }
1465 
1466 /* 2C-CRX overrides */
model2c_crx_mem(address_map & map)1467 void model2c_state::model2c_crx_mem(address_map &map)
1468 {
1469 	model2_base_mem(map);
1470 
1471 	map(0x00200000, 0x0023ffff).ram();
1472 
1473 	map(0x00804000, 0x00807fff).rw(FUNC(model2c_state::geo_prg_r), FUNC(model2c_state::geo_prg_w));
1474 	map(0x00880000, 0x00883fff).w(FUNC(model2c_state::copro_function_port_w));
1475 	map(0x00884000, 0x00887fff).rw(FUNC(model2c_state::copro_fifo_r), FUNC(model2c_state::copro_fifo_w));
1476 
1477 	map(0x00980000, 0x00980003).rw(FUNC(model2c_state::copro_ctl1_r), FUNC(model2c_state::copro_ctl1_w));
1478 	map(0x00980008, 0x0098000b).w(FUNC(model2c_state::geo_ctl1_w));
1479 	map(0x00980014, 0x00980017).r(FUNC(model2c_state::copro_status_r));
1480 	map(0x009c0000, 0x009cffff).rw(FUNC(model2c_state::model2_serial_r), FUNC(model2c_state::model2_serial_w));
1481 
1482 	map(0x11000000, 0x111fffff).ram().share("textureram0"); // texture RAM 0 (2b/2c)
1483 	map(0x11200000, 0x113fffff).ram().share("textureram1"); // texture RAM 1 (2b/2c)
1484 	map(0x11400000, 0x1140ffff).rw(FUNC(model2c_state::lumaram_r), FUNC(model2c_state::lumaram_w));    // polygon "luma" RAM (2b/2c)
1485 	map(0x12800000, 0x1281ffff).rw(FUNC(model2c_state::lumaram_r), FUNC(model2c_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
1486 
1487 	map(0x01c00000, 0x01c0001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
1488 	map(0x01c80000, 0x01c80003).rw(FUNC(model2c_state::model2_serial_r), FUNC(model2c_state::model2_serial_w));
1489 }
1490 
model2c_5881_mem(address_map & map)1491 void model2c_state::model2c_5881_mem(address_map &map)
1492 {
1493 	model2c_crx_mem(map);
1494 	model2_5881_mem(map);
1495 }
1496 
1497 
1498 //**************************************************************************
1499 //  DRIVE BOARD
1500 //**************************************************************************
1501 
1502 /*
1503     Rail Chase 2 "Drive I/O BD" documentation
1504 
1505     Aux board 837-11694, Z80 (4Mhz) with program rom EPR-17895
1506 
1507     commands 0x2* are for device status bits (all of them active low)
1508 
1509     command 0x27 (4 port valve rear cylinder)
1510     ---- --xx Cylinder Position (00 - neutral, 01 - up, 10 - down, 11 - error)
1511 
1512     command 0x29
1513     ---- -x-- Compressor Motor
1514     ---- --x- Unloader Valve
1515     ---- ---x Compression Valve
1516 
1517     command 0x2a (4 port valve left cylinder)
1518     ---- -x-- Rev Valve
1519     ---- --x- Down Valve
1520     ---- ---x Up Valve
1521 
1522     command 0x2b (4 port valve right cylinder)
1523     ---- -x-- Rev Valve
1524     ---- --x- Down Valve
1525     ---- ---x Up Valve
1526 
1527     command 0x2e
1528     ---- --xx Compression SW (00 - error, 01 - low, 10 - high, 11 - error)
1529 
1530     command 0x2f
1531     ---- x--- Emergency SW
1532     ---- ---x Safety Sensor
1533 
1534     These are all used on network check, probably some specific data port R/Ws
1535 
1536     command 0x3b
1537     command 0xe0
1538     command 0xd0
1539     command 0xb0
1540     command 0x70
1541     command 0x0e
1542     command 0x0d
1543     command 0x0b
1544     command 0x07
1545 
1546     Every other write of this controls devices behaviour:
1547 
1548     command 0x4f (left up valve off)
1549     command 0x5b (left down valve off)
1550     command 0x5d (compression valve on)
1551     command 0x5e (left rev valve on)
1552     command 0x5f (left Cylinder reset)
1553 
1554     command 0x6f (right up valve off)
1555     command 0x7b (right down valve off)
1556     command 0x7d (compression valve on)
1557     command 0x7e (right rev valve on)
1558     command 0x7f (right Cylinder reset)
1559 
1560     command 0x84 (reset up/down valves of rear cylinder)
1561     command 0x85 (rear up valve on)
1562     command 0x86 (rear down valve on)
1563 
1564     command 0x8b (compression valve on)
1565     command 0x8d (left rev valve is on)
1566     command 0x8e (right rev valve is on)
1567     command 0x8f (reset 4 port valve left / right cylinders and compression valve)
1568 
1569 */
1570 
1571 // simulate this so that it passes the initial checks
rchase2_drive_board_r()1572 u8 model2_state::rchase2_drive_board_r()
1573 {
1574 	u8 data = 0xff;
1575 
1576 	if(m_cmd_data == 0xe0 || m_cmd_data == 0x0e)
1577 		data &= ~1;
1578 	if(m_cmd_data == 0xd0 || m_cmd_data == 0x0d)
1579 		data &= ~2;
1580 	if(m_cmd_data == 0xb0 || m_cmd_data == 0x0b)
1581 		data &= ~4;
1582 	if(m_cmd_data == 0x70 || m_cmd_data == 0x07)
1583 		data &= ~8;
1584 
1585 	return data;
1586 }
1587 
rchase2_drive_board_w(u8 data)1588 void model2_state::rchase2_drive_board_w(u8 data)
1589 {
1590 	m_cmd_data = data;
1591 }
1592 
drive_board_w(u8 data)1593 void model2_state::drive_board_w(u8 data)
1594 {
1595 	m_driveio_comm_data = data;
1596 	m_drivecpu->set_input_line(0, HOLD_LINE);
1597 }
1598 
1599 
1600 //**************************************************************************
1601 //  INPUT HANDLING
1602 //**************************************************************************
1603 
eeprom_w(u8 data)1604 void model2_state::eeprom_w(u8 data)
1605 {
1606 	m_ctrlmode = BIT(data, 0);
1607 
1608 	m_eeprom->di_write(BIT(data, 5));
1609 	m_eeprom->clk_write(BIT(data, 7) ? ASSERT_LINE : CLEAR_LINE);
1610 	m_eeprom->cs_write(BIT(data, 6) ? ASSERT_LINE : CLEAR_LINE);
1611 }
1612 
in0_r()1613 u8 model2_state::in0_r()
1614 {
1615 	u8 data = m_in0->read();
1616 
1617 	if (m_ctrlmode)
1618 		return (0xc0) | (m_eeprom->do_read() << 5) | (0x10) | (data & 0x0f);
1619 	else
1620 		return data;
1621 }
1622 
1623 /*  PORT_DIPSETTING(    0x00, "0" ) // 0: neutral
1624     PORT_DIPSETTING(    0x10, "1" ) // 2nd gear
1625     PORT_DIPSETTING(    0x20, "2" ) // 1st gear
1626     PORT_DIPSETTING(    0x30, "3" )
1627     PORT_DIPSETTING(    0x40, "4" )
1628     PORT_DIPSETTING(    0x50, "5" ) // 4th gear
1629     PORT_DIPSETTING(    0x60, "6" ) // 3rd gear
1630     PORT_DIPSETTING(    0x70, "7" )
1631 */
1632 
1633 // Used by Sega Rally and Daytona USA, others might be different
CUSTOM_INPUT_MEMBER(model2_state::daytona_gearbox_r)1634 CUSTOM_INPUT_MEMBER(model2_state::daytona_gearbox_r)
1635 {
1636 	u8 res = m_gears.read_safe(0);
1637 	int i;
1638 	const u8 gearvalue[5] = { 0, 2, 1, 6, 5 };
1639 
1640 	for(i=0;i<5;i++)
1641 	{
1642 		if(res & 1<<i)
1643 		{
1644 			m_gearsel = i;
1645 			return gearvalue[i];
1646 		}
1647 	}
1648 
1649 	return gearvalue[m_gearsel];
1650 }
1651 
1652 
1653 //**************************************************************************
1654 //  INPUT PORT DEFINITIONS
1655 //**************************************************************************
1656 
1657 static INPUT_PORTS_START( model2 )
1658 	PORT_START("IN0")
1659 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1)
1660 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_COIN2)
1661 	PORT_SERVICE_NO_TOGGLE(0x04, IP_ACTIVE_LOW)
1662 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_SERVICE1)
1663 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_START1)
1664 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_START2)
1665 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
1666 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
1667 
1668 	PORT_START("IN1")
1669 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1)        PORT_PLAYER(1)
1670 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2)        PORT_PLAYER(1)
1671 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3)        PORT_PLAYER(1)
1672 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON4)        PORT_PLAYER(1)
1673 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN)  PORT_PLAYER(1)
1674 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP)    PORT_PLAYER(1)
1675 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(1)
1676 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT)  PORT_PLAYER(1)
1677 
1678 	PORT_START("IN2")
1679 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1)        PORT_PLAYER(2)
1680 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2)        PORT_PLAYER(2)
1681 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3)        PORT_PLAYER(2)
1682 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON4)        PORT_PLAYER(2)
1683 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN)  PORT_PLAYER(2)
1684 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP)    PORT_PLAYER(2)
1685 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT) PORT_PLAYER(2)
1686 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT)  PORT_PLAYER(2)
1687 INPUT_PORTS_END
1688 
INPUT_PORTS_START(model2crx)1689 static INPUT_PORTS_START( model2crx )
1690 	PORT_INCLUDE(model2)
1691 
1692 	PORT_START("SW")
1693 	// SW1 and SW2 are push buttons
1694 	PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW3:1")
1695 	PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW3:2")
1696 	PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW3:3")
1697 	PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW3:4")
1698 	PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW3:5")
1699 	PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW3:6")
1700 	PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW3:7")
1701 	PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW3:8")
1702 INPUT_PORTS_END
1703 
1704 static INPUT_PORTS_START( ioboard_dipswitches )
1705 	PORT_START("ioboard:dsw1")
1706 	PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "DSW1:1")
1707 	PORT_DIPUNUSED_DIPLOC(0x02, 0x02, "DSW1:2")
1708 	PORT_DIPUNUSED_DIPLOC(0x04, 0x04, "DSW1:3")
1709 	PORT_DIPUNUSED_DIPLOC(0x08, 0x08, "DSW1:4")
1710 	PORT_DIPUNUSED_DIPLOC(0x10, 0x10, "DSW1:5")
1711 	PORT_DIPUNUSED_DIPLOC(0x20, 0x20, "DSW1:6")
1712 	PORT_DIPUNUSED_DIPLOC(0x40, 0x40, "DSW1:7")
1713 	PORT_DIPUNUSED_DIPLOC(0x80, 0x80, "DSW1:8")
1714 
1715 	PORT_START("ioboard:dsw2")
1716 	PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "DSW2:1")
1717 	PORT_DIPUNUSED_DIPLOC(0x02, 0x02, "DSW2:2")
1718 	PORT_DIPUNUSED_DIPLOC(0x04, 0x04, "DSW2:3")
1719 	PORT_DIPUNUSED_DIPLOC(0x08, 0x08, "DSW2:4")
1720 	PORT_DIPUNUSED_DIPLOC(0x10, 0x10, "DSW2:5")
1721 	PORT_DIPUNUSED_DIPLOC(0x20, 0x20, "DSW2:6")
1722 	PORT_DIPUNUSED_DIPLOC(0x40, 0x40, "DSW2:7")
1723 	PORT_DIPUNUSED_DIPLOC(0x80, 0x80, "DSW2:8")
1724 
1725 	PORT_START("ioboard:dsw3")
1726 	PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "DSW3:1")
1727 	PORT_DIPUNUSED_DIPLOC(0x02, 0x02, "DSW3:2")
1728 	PORT_DIPUNUSED_DIPLOC(0x04, 0x04, "DSW3:3")
1729 	PORT_DIPUNUSED_DIPLOC(0x08, 0x08, "DSW3:4")
1730 	PORT_DIPUNUSED_DIPLOC(0x10, 0x10, "DSW3:5")
1731 	PORT_DIPUNUSED_DIPLOC(0x20, 0x20, "DSW3:6")
1732 	PORT_DIPUNUSED_DIPLOC(0x40, 0x40, "DSW3:7")
1733 	PORT_DIPUNUSED_DIPLOC(0x80, 0x80, "DSW3:8")
1734 INPUT_PORTS_END
1735 
1736 static INPUT_PORTS_START( gears )
1737 	PORT_START("GEARS") // fake to handle gear bits
1738 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("GEAR N")
1739 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("GEAR 1")
1740 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("GEAR 2")
1741 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("GEAR 3")
1742 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("GEAR 4")
1743 INPUT_PORTS_END
1744 
1745 static INPUT_PORTS_START( daytona )
1746 	PORT_INCLUDE(model2)
1747 	PORT_INCLUDE(gears)
1748 
1749 	PORT_MODIFY("IN0")
1750 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON6)  PORT_NAME("VR1 (Red)")
1751 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON7)  PORT_NAME("VR2 (Blue)")
1752 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON8)  PORT_NAME("VR3 (Yellow)")
1753 
1754 	PORT_MODIFY("IN1")
1755 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON9)  PORT_NAME("VR4 (Green)")
1756 	PORT_BIT(0x0e, IP_ACTIVE_LOW, IPT_UNUSED)
1757 	PORT_BIT(0x70, IP_ACTIVE_HIGH, IPT_CUSTOM)  PORT_CUSTOM_MEMBER(model2_state, daytona_gearbox_r)
1758 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNUSED)
1759 
1760 	PORT_MODIFY("IN2")
1761 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
1762 
1763 	PORT_START("STEER")
1764 	PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1765 
1766 	PORT_START("ACCEL")
1767 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1768 
1769 	PORT_START("BRAKE")
1770 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1771 
1772 	PORT_INCLUDE(ioboard_dipswitches)
1773 INPUT_PORTS_END
1774 
1775 static INPUT_PORTS_START( desert )
1776 	PORT_INCLUDE(model2)
1777 
1778 	PORT_MODIFY("IN0")
1779 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("VR1 (Blue)")
1780 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME("VR2 (Green)")
1781 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_NAME("VR3 (Red)")
1782 
1783 	PORT_MODIFY("IN1")
1784 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Shift") PORT_TOGGLE
1785 	PORT_BIT(0x0e, IP_ACTIVE_LOW, IPT_UNUSED)
1786 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Machine Gun")
1787 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Cannon")
1788 	PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
1789 
1790 	PORT_MODIFY("IN2")
1791 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
1792 
1793 	PORT_START("STEER")
1794 	PORT_BIT(0xff, 0x80, IPT_PADDLE)     PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1795 
1796 	PORT_START("ACCEL")
1797 	PORT_BIT(0xff, 0x00, IPT_PEDAL)      PORT_SENSITIVITY(60) PORT_KEYDELTA(20)
1798 
1799 	PORT_START("BRAKE")
1800 	PORT_BIT(0xff, 0x00, IPT_AD_STICK_Y) PORT_SENSITIVITY(60) PORT_KEYDELTA(20)
1801 
1802 	PORT_INCLUDE(ioboard_dipswitches)
1803 INPUT_PORTS_END
1804 
1805 static INPUT_PORTS_START( vcop )
1806 	PORT_INCLUDE(model2)
1807 
1808 	PORT_MODIFY("IN1")
1809 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Trigger")
1810 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Trigger")
1811 	PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
1812 
1813 	PORT_MODIFY("IN2")
1814 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
1815 	PORT_DIPNAME(0x02, 0x02, "No Enemies") // I/O board connector CN5
1816 	PORT_DIPSETTING(   0x02, DEF_STR( Off ))
1817 	PORT_DIPSETTING(   0x00, DEF_STR( On ))
1818 	PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
1819 
1820 	PORT_START("P1_X")
1821 	PORT_BIT(0x3ff, 0x17c, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0x083, 0x276) PORT_SENSITIVITY(50) PORT_KEYDELTA(13) PORT_PLAYER(1)
1822 
1823 	PORT_START("P1_Y")
1824 	PORT_BIT(0x3ff, 0x0e6, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0x024, 0x1a9) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)
1825 
1826 	PORT_START("P2_X")
1827 	PORT_BIT(0x3ff, 0x179, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0x080, 0x273) PORT_SENSITIVITY(50) PORT_KEYDELTA(13) PORT_PLAYER(2)
1828 
1829 	PORT_START("P2_Y")
1830 	PORT_BIT(0x3ff, 0x0e8, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0x027, 0x1a9) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(2)
1831 
1832 	PORT_INCLUDE(ioboard_dipswitches)
1833 
1834 	PORT_MODIFY("ioboard:dsw1")
1835 	PORT_DIPNAME(0x01, 0x01, "Reloading")       PORT_DIPLOCATION("DSW1:1")
1836 	PORT_DIPSETTING(   0x01, "Normal")
1837 	PORT_DIPSETTING(   0x00, "Auto Reload")
1838 	PORT_DIPNAME(0x02, 0x02, "Enemy Character") PORT_DIPLOCATION("DSW1:2")
1839 	PORT_DIPSETTING(   0x02, "Normal")
1840 	PORT_DIPSETTING(   0x00, "Robot")
1841 INPUT_PORTS_END
1842 
1843 INPUT_PORTS_START( vf2 )
1844 	PORT_INCLUDE(model2crx)
1845 
1846 	PORT_MODIFY("IN1")
1847 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Punch")
1848 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("P1 Kick")
1849 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("P1 Guard")
1850 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
1851 
1852 	PORT_MODIFY("IN2")
1853 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Punch")
1854 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("P2 Kick")
1855 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("P2 Guard")
1856 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
1857 INPUT_PORTS_END
1858 
1859 static INPUT_PORTS_START( manxtt )
1860 	PORT_INCLUDE(model2crx)
1861 
1862 	PORT_MODIFY("IN0")
1863 	PORT_BIT(0x30, IP_ACTIVE_LOW, IPT_UNUSED)
1864 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1) PORT_NAME("Start / VR")
1865 
1866 	PORT_MODIFY("IN1")
1867 	PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNUSED)
1868 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_CODE(KEYCODE_UP)   PORT_NAME("Shift Up")
1869 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Shift Down")
1870 	PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
1871 
1872 	PORT_MODIFY("IN2")
1873 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
1874 
1875 	PORT_START("THROTTLE")
1876 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1877 
1878 	PORT_START("BRAKE")
1879 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1880 
1881 	PORT_START("BANK")
1882 	PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_REVERSE
1883 INPUT_PORTS_END
1884 
1885 static INPUT_PORTS_START( srallyc )
1886 	PORT_INCLUDE(model2crx)
1887 	PORT_INCLUDE(gears)
1888 
1889 	PORT_MODIFY("IN0")
1890 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
1891 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON6) PORT_NAME("VR")
1892 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
1893 
1894 	PORT_MODIFY("IN1")
1895 	PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN)
1896 	PORT_BIT(0x70, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_CUSTOM_MEMBER(model2_state, daytona_gearbox_r)
1897 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_UNKNOWN)
1898 
1899 	PORT_MODIFY("IN2")
1900 	PORT_BIT(0xff, 0x00, IPT_PEDAL3) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Hand Brake")
1901 
1902 	PORT_START("STEER")
1903 	PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
1904 
1905 	PORT_START("ACCEL")
1906 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Accelerate Pedal")
1907 
1908 	PORT_START("BRAKE")
1909 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal")
1910 INPUT_PORTS_END
1911 
1912 static INPUT_PORTS_START( vcop2 )
1913 	PORT_INCLUDE(model2crx)
1914 
1915 	PORT_MODIFY("IN1")
1916 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Trigger")
1917 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Trigger")
1918 	PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
1919 
1920 	PORT_MODIFY("IN2")
1921 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
1922 
1923 	PORT_START("P1_X")
1924 	PORT_BIT(0x3ff, 0x17f, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(137, 630) PORT_SENSITIVITY(50) PORT_KEYDELTA(13) PORT_PLAYER(1)
1925 
1926 	PORT_START("P1_Y")
1927 	PORT_BIT(0x3ff, 0x0e6, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 36, 425) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)
1928 
1929 	PORT_START("P2_X")
1930 	PORT_BIT(0x3ff, 0x17c, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(134, 627) PORT_SENSITIVITY(50) PORT_KEYDELTA(13) PORT_PLAYER(2)
1931 
1932 	PORT_START("P2_Y")
1933 	PORT_BIT(0x3ff, 0x0e6, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 36, 425) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(2)
1934 INPUT_PORTS_END
1935 
1936 static INPUT_PORTS_START( skytargt )
1937 	PORT_INCLUDE(model2crx)
1938 
1939 	PORT_MODIFY("IN0")
1940 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNKNOWN)
1941 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("View Change")
1942 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
1943 
1944 	PORT_MODIFY("IN1")
1945 	PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN)
1946 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Machine Gun")
1947 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Missile")
1948 	PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN)
1949 
1950 	PORT_MODIFY("IN2")
1951 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNKNOWN)
1952 
1953 	PORT_START("STICKX")
1954 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_REVERSE
1955 
1956 	PORT_START("STICKY")
1957 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20)
1958 INPUT_PORTS_END
1959 
1960 INPUT_PORTS_START( doa )
1961 	PORT_INCLUDE(model2crx)
1962 
1963 	PORT_MODIFY("IN1")
1964 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Hold")
1965 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("P1 Punch")
1966 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("P1 Kick")
1967 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
1968 
1969 	PORT_MODIFY("IN2")
1970 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Hold")
1971 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("P2 Punch")
1972 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("P2 Kick")
1973 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
1974 INPUT_PORTS_END
1975 
1976 static INPUT_PORTS_START( zerogun )
1977 	PORT_INCLUDE(model2crx)
1978 
1979 	PORT_MODIFY("IN1")
1980 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
1981 
1982 	PORT_MODIFY("IN2")
1983 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
1984 
1985 	PORT_MODIFY("SW")
1986 	// in service mode, enables scroll check, polygon check, bg check, stage select
1987 	PORT_DIPNAME(0x01, 0x01, "Enable Debug Menu") PORT_DIPLOCATION("SW3:1")
1988 	PORT_DIPSETTING(   0x01, DEF_STR( Off ))
1989 	PORT_DIPSETTING(   0x00, DEF_STR( On ))
1990 INPUT_PORTS_END
1991 
1992 static INPUT_PORTS_START( motoraid )
1993 	PORT_INCLUDE(manxtt)
1994 
1995 	PORT_MODIFY("IN1")
1996 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Punch")
1997 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Kick")
1998 INPUT_PORTS_END
1999 
2000 static INPUT_PORTS_START( dynamcop )
2001 	PORT_INCLUDE(model2crx)
2002 
2003 	PORT_MODIFY("IN1")
2004 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Punch")
2005 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("P1 Kick")
2006 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("P1 Jump")
2007 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
2008 
2009 	PORT_MODIFY("IN2")
2010 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Punch")
2011 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("P2 Kick")
2012 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("P2 Jump")
2013 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
2014 INPUT_PORTS_END
2015 
2016 static INPUT_PORTS_START( pltkids )
2017 	PORT_INCLUDE(model2crx)
2018 
2019 	PORT_MODIFY("IN1")
2020 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2021 
2022 	PORT_MODIFY("IN2")
2023 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2024 INPUT_PORTS_END
2025 
2026 static INPUT_PORTS_START( rchase2 )
2027 	PORT_INCLUDE(model2crx)
2028 
2029 	PORT_MODIFY("IN1")
2030 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1)
2031 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2)
2032 	PORT_BIT(0xfc, IP_ACTIVE_LOW, IPT_UNUSED)
2033 
2034 	PORT_MODIFY("IN2")
2035 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
2036 
2037 	PORT_START("P1_X")
2038 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_REVERSE
2039 
2040 	PORT_START("P1_Y")
2041 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_REVERSE
2042 
2043 	PORT_START("P2_X")
2044 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_REVERSE
2045 
2046 	PORT_START("P2_Y")
2047 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_REVERSE
2048 INPUT_PORTS_END
2049 
2050 static INPUT_PORTS_START( vstriker )
2051 	PORT_INCLUDE(model2crx)
2052 
2053 	// oddly enough service mode returns standard 1-2-3 layout but actual ingame is 2-3-1
2054 	// also bit 3 repeats bit 2 functionality.
2055 	PORT_MODIFY("IN1")
2056 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("P1 Long Pass")
2057 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("P1 Shoot")
2058 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Short Pass")
2059 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
2060 
2061 	PORT_MODIFY("IN2")
2062 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("P2 Long Pass")
2063 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("P2 Shoot")
2064 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Short Pass")
2065 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
2066 INPUT_PORTS_END
2067 
2068 static INPUT_PORTS_START( gunblade )
2069 	PORT_INCLUDE(rchase2)
2070 
2071 	PORT_MODIFY("P1_X")
2072 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1)
2073 
2074 	PORT_MODIFY("P2_X")
2075 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2)
2076 INPUT_PORTS_END
2077 
2078 static INPUT_PORTS_START( indy500 )
2079 	PORT_INCLUDE(model2crx)
2080 
2081 	PORT_MODIFY("IN0")
2082 	PORT_BIT(0x30, IP_ACTIVE_LOW, IPT_UNUSED)
2083 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
2084 
2085 	PORT_MODIFY("IN1")
2086 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("View 1 (Zoom In)")
2087 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("View 2 (Zoom Out)")
2088 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2089 	// notice that these are exclusive inputs, also if bit 6 or 7 are enabled then shifting doesn't work
2090 	// (i.e. they probably took the gearbox device and modded over it)
2091 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_CODE(KEYCODE_UP)   PORT_NAME("Shift Up")
2092 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Shift Down")
2093 	PORT_BIT(0xc0, IP_ACTIVE_LOW, IPT_UNUSED)
2094 
2095 	PORT_MODIFY("IN2")
2096 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
2097 
2098 	PORT_START("STEER")
2099 	PORT_BIT(0xff, 0x80, IPT_PADDLE) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
2100 
2101 	PORT_START("ACCEL")
2102 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal")
2103 
2104 	PORT_START("BRAKE")
2105 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal")
2106 INPUT_PORTS_END
2107 
2108 static INPUT_PORTS_START( von )
2109 	PORT_INCLUDE(model2crx)
2110 
2111 	PORT_MODIFY("IN1")
2112 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("P1 Left Shot")
2113 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("P1 Left Dash")
2114 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2115 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN)
2116 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP)
2117 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT)
2118 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT)
2119 
2120 	PORT_MODIFY("IN2")
2121 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("P1 Right Shot")
2122 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("P1 Right Dash")
2123 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2124 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN)
2125 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP)
2126 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT)
2127 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT)
2128 INPUT_PORTS_END
2129 
2130 INPUT_PORTS_START( schamp )
2131 	PORT_INCLUDE(model2crx)
2132 
2133 	PORT_MODIFY("IN1")
2134 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(1) PORT_NAME("P1 Punch")
2135 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("P1 Kick")
2136 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(1) PORT_NAME("P1 Barrier")
2137 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
2138 
2139 	PORT_MODIFY("IN2")
2140 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_PLAYER(2) PORT_NAME("P2 Punch")
2141 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("P2 Kick")
2142 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_PLAYER(2) PORT_NAME("P2 Barrier")
2143 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
2144 INPUT_PORTS_END
2145 
2146 static INPUT_PORTS_START( sgt24h )
2147 	PORT_INCLUDE(indy500)
2148 
2149 	PORT_MODIFY("IN1")
2150 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("View 1")
2151 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_UNUSED)
2152 INPUT_PORTS_END
2153 
2154 static INPUT_PORTS_START( dynabb )
2155 	PORT_INCLUDE(model2crx)
2156 
2157 	PORT_MODIFY("IN1")
2158 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2159 
2160 	PORT_MODIFY("IN2")
2161 	PORT_BIT(0x0c, IP_ACTIVE_LOW, IPT_UNUSED)
2162 
2163 	PORT_START("BAT1")
2164 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(100) PORT_KEYDELTA(50) PORT_PLAYER(1) PORT_NAME("P1 Bat Swing")
2165 
2166 	PORT_START("BAT2")
2167 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(100) PORT_KEYDELTA(50) PORT_PLAYER(2) PORT_NAME("P2 Bat Swing")
2168 INPUT_PORTS_END
2169 
2170 static INPUT_PORTS_START( overrev )
2171 	PORT_INCLUDE(indy500)
2172 
2173 	PORT_MODIFY("IN1")
2174 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("View 1")
2175 	// optional, enableable when hardware type isn't in "normal (2in1)" mode (overrev)
2176 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("View 2")
2177 INPUT_PORTS_END
2178 
2179 static INPUT_PORTS_START( skisuprg )
2180 	PORT_INCLUDE(model2crx)
2181 
2182 	PORT_MODIFY("IN0")
2183 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Select 3")
2184 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME("Zoom In")
2185 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Select 1")
2186 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Select 2")
2187 
2188 	PORT_MODIFY("IN1")
2189 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("Zoom Out")
2190 	PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
2191 
2192 	PORT_MODIFY("IN2")
2193 	// TODO: what are these exactly? Enables/disables when all four bits are on
2194 	PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT) PORT_NAME("Foot Sensor (R)")
2195 	PORT_BIT(0xf0, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT)  PORT_NAME("Foot Sensor (L)")
2196 
2197 	PORT_START("INCLINING")
2198 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_NAME("Inclining")
2199 
2200 	PORT_START("SWING")
2201 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(30) PORT_KEYDELTA(20) PORT_NAME("Swing")
2202 INPUT_PORTS_END
2203 
2204 static INPUT_PORTS_START( waverunr )
2205 	PORT_INCLUDE(model2crx)
2206 
2207 	PORT_MODIFY("IN0")
2208 	PORT_BIT(0x32, IP_ACTIVE_LOW, IPT_UNUSED)
2209 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
2210 
2211 	PORT_MODIFY("IN1")
2212 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("View")
2213 	PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
2214 
2215 	PORT_MODIFY("IN2")
2216 	// TODO: safety sensor
2217 	PORT_BIT(0x07, IP_ACTIVE_LOW, IPT_UNUSED)
2218 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_CUSTOM)
2219 	PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
2220 
2221 	// TODO: requires LEFT/RIGHT_AD_STICK in framework
2222 	PORT_START("HANDLE")
2223 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Handle Bar")
2224 
2225 	PORT_START("ROLL")
2226 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Roll")
2227 
2228 	PORT_START("THROTTLE")
2229 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Throttle Lever") PORT_REVERSE
2230 
2231 	PORT_START("PITCH")
2232 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_Y) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Pitch") PORT_REVERSE
2233 INPUT_PORTS_END
2234 
2235 static INPUT_PORTS_START( bel )
2236 	PORT_INCLUDE(gunblade)
2237 
2238 	PORT_MODIFY("IN0")
2239 	// they reversed these two for some reason
2240 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
2241 	PORT_SERVICE_NO_TOGGLE(0x08, IP_ACTIVE_LOW )
2242 
2243 	PORT_MODIFY("IN1")
2244 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(1) PORT_NAME("P1 Missile")
2245 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_PLAYER(2) PORT_NAME("P2 Missile")
2246 INPUT_PORTS_END
2247 
2248 static INPUT_PORTS_START( hotd )
2249 	PORT_INCLUDE(vcop2)
2250 
2251 	PORT_MODIFY("P1_X")
2252 	PORT_BIT(0x3ff, 0x180, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(173, 596) PORT_SENSITIVITY(50) PORT_KEYDELTA(13) PORT_PLAYER(1)
2253 
2254 	PORT_MODIFY("P1_Y")
2255 	PORT_BIT(0x3ff, 0x0e9, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 87, 380) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(1)
2256 
2257 	PORT_MODIFY("P2_X")
2258 	PORT_BIT(0x3ff, 0x17b, IPT_LIGHTGUN_X) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(163, 596) PORT_SENSITIVITY(50) PORT_KEYDELTA(13) PORT_PLAYER(2)
2259 
2260 	PORT_MODIFY("P2_Y")
2261 	PORT_BIT(0x3ff, 0x0e9, IPT_LIGHTGUN_Y) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX( 87, 380) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(2)
2262 INPUT_PORTS_END
2263 
2264 static INPUT_PORTS_START( segawski )
2265 	PORT_INCLUDE(model2crx)
2266 
2267 	PORT_MODIFY("IN0")
2268 	PORT_BIT(0x32, IP_ACTIVE_LOW, IPT_UNUSED)
2269 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_NAME("Select (Down)")
2270 
2271 	PORT_MODIFY("IN1")
2272 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("Set")
2273 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Select (Up)")
2274 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Pitch Left")
2275 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Pitch Right")
2276 	PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
2277 
2278 	PORT_MODIFY("IN2")
2279 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
2280 
2281 	PORT_START("SLIDE")
2282 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Slide")
2283 INPUT_PORTS_END
2284 
2285 // TODO: has testable service / test on board buttons
2286 static INPUT_PORTS_START( topskatr )
2287 	PORT_INCLUDE(model2crx)
2288 
2289 	PORT_MODIFY("IN0")
2290 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("Select Right")
2291 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Jump Front")
2292 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_START1)
2293 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Select Left")
2294 
2295 	PORT_MODIFY("IN1")
2296 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Jump Tail")
2297 	PORT_BIT(0xfe, IP_ACTIVE_LOW, IPT_UNUSED)
2298 
2299 	PORT_MODIFY("IN2")
2300 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
2301 
2302 	// TODO: requires LEFT/RIGHT_AD_STICK in framework
2303 	PORT_START("CURVING")
2304 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Curving")
2305 
2306 	PORT_START("SLIDE")
2307 	PORT_BIT(0xff, 0x80, IPT_AD_STICK_X) PORT_MINMAX(0x00, 0xff) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_NAME("Slide")
2308 INPUT_PORTS_END
2309 
2310 static INPUT_PORTS_START( powsled )
2311 	PORT_INCLUDE(model2crx)
2312 
2313 	PORT_MODIFY("IN0")
2314 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_SERVICE2)
2315 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON4) PORT_NAME("Cancel Error") PORT_PLAYER(1)
2316 
2317 	PORT_MODIFY("IN1")
2318 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("P1 Entry") PORT_PLAYER(1)
2319 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("P1 Call") PORT_PLAYER(1)
2320 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("P2 Entry") PORT_PLAYER(2)
2321 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("P2 Call") PORT_PLAYER(2)
2322 	PORT_BIT(0xf0, IP_ACTIVE_LOW, IPT_UNUSED)
2323 
2324 	PORT_MODIFY("IN2")
2325 	PORT_BIT(0xff, IP_ACTIVE_LOW, IPT_UNUSED)
2326 
2327 	PORT_START("IN3")
2328 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Cancel Network Check") PORT_PLAYER(1)
2329 	PORT_BIT(0xfd, IP_ACTIVE_LOW, IPT_UNUSED)
2330 
2331 	PORT_START("P1_R")
2332 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
2333 
2334 	PORT_START("P1_L")
2335 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
2336 
2337 	PORT_START("P2_R")
2338 	PORT_BIT(0xff, 0x00, IPT_PEDAL)  PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(2)
2339 
2340 	PORT_START("P2_L")
2341 	PORT_BIT(0xff, 0x00, IPT_PEDAL2) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(2)
2342 INPUT_PORTS_END
2343 
2344 
2345 /***********************************
2346  *
2347  * Interrupts
2348  *
2349  **********************************/
2350 
2351 TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_interrupt)
2352 {
2353 	int scanline = param;
2354 
2355 	if(scanline == 384)
2356 	{
2357 		m_intreq |= (1<<0);
2358 		if(m_intena & 1<<0)
2359 			m_maincpu->set_input_line(I960_IRQ0, ASSERT_LINE);
2360 		model2_check_irq_state();
2361 		if (m_m2comm != nullptr)
2362 			m_m2comm->check_vint_irq();
2363 	}
2364 	else if(scanline == 0)
2365 	{
2366 		/* From sound to main CPU (TODO: what enables this?) */
2367 		m_intreq |= (1<<10);
2368 		if(m_intena & 1<<10)
2369 			m_maincpu->set_input_line(I960_IRQ3, ASSERT_LINE);
2370 		model2_check_irq_state();
2371 	}
2372 }
2373 
2374 #ifdef UNUSED_FUNCTION
WRITE_LINE_MEMBER(model2_state::sound_ready_w)2375 WRITE_LINE_MEMBER(model2_state::sound_ready_w)
2376 {
2377 	if(state)
2378 	{
2379 		m_intreq |= (1<<10);
2380 		if(m_intena & 1<<10)
2381 			m_maincpu->set_input_line(I960_IRQ3, ASSERT_LINE);
2382 		model2_check_irq_state();
2383 	}
2384 }
2385 #endif
2386 
TIMER_DEVICE_CALLBACK_MEMBER(model2c_state::model2c_interrupt)2387 TIMER_DEVICE_CALLBACK_MEMBER(model2c_state::model2c_interrupt)
2388 {
2389 	int scanline = param;
2390 
2391 	if(scanline == 384)
2392 	{
2393 		m_intreq |= (1<<0);
2394 		if(m_intena & 1<<0)
2395 			m_maincpu->set_input_line(I960_IRQ0, ASSERT_LINE);
2396 		model2_check_irq_state();
2397 		if (m_m2comm != nullptr)
2398 			m_m2comm->check_vint_irq();
2399 	}
2400 	else if(scanline == 0)
2401 	{
2402 		m_intreq |= (1<<10);
2403 		if(m_intena & 1<<10)
2404 			m_maincpu->set_input_line(I960_IRQ3, ASSERT_LINE);
2405 		model2_check_irq_state();
2406 	}
2407 	#if 0
2408 	else if(scanline == 0)
2409 	{
2410 		// TODO: irq source? Scroll allocation in dynamcopc?
2411 		// it's actually a timer 0 irq, doesn't seem necessary
2412 		m_intreq |= (1<<2);
2413 		if(m_intena & 1<<2)
2414 			m_maincpu->set_input_line(I960_IRQ2, ASSERT_LINE);
2415 		model2_check_irq_state();
2416 	}
2417 	#endif
2418 }
2419 
2420 /* Model 2 sound board emulation */
2421 
model2snd_ctrl(u16 data)2422 void model2_state::model2snd_ctrl(u16 data)
2423 {
2424 	// handle sample banking
2425 	if (memregion("samples")->bytes() > 0x800000)
2426 	{
2427 		u8 *snd = memregion("samples")->base();
2428 		if (data & 0x20)
2429 		{
2430 			membank("bank4")->set_base(snd + 0x200000);
2431 			membank("bank5")->set_base(snd + 0x600000);
2432 		}
2433 		else
2434 		{
2435 			membank("bank4")->set_base(snd + 0x800000);
2436 			membank("bank5")->set_base(snd + 0xa00000);
2437 		}
2438 	}
2439 }
2440 
model2_snd(address_map & map)2441 void model2_state::model2_snd(address_map &map)
2442 {
2443 	map(0x000000, 0x07ffff).ram().share("soundram");
2444 	map(0x100000, 0x100fff).rw(m_scsp, FUNC(scsp_device::read), FUNC(scsp_device::write));
2445 	map(0x400000, 0x400001).w(FUNC(model2_state::model2snd_ctrl));
2446 	map(0x600000, 0x67ffff).rom().region("audiocpu", 0);
2447 	map(0x800000, 0x9fffff).rom().region("samples", 0);
2448 	map(0xa00000, 0xdfffff).bankr("bank4");
2449 	map(0xe00000, 0xffffff).bankr("bank5");
2450 }
2451 
scsp_map(address_map & map)2452 void model2_state::scsp_map(address_map &map)
2453 {
2454 	map(0x000000, 0x07ffff).ram().share("soundram");
2455 }
2456 
scsp_irq(offs_t offset,u8 data)2457 void model2_state::scsp_irq(offs_t offset, u8 data)
2458 {
2459 	m_audiocpu->set_input_line(offset, data);
2460 }
2461 
2462 /*****************************************************************************/
2463 
2464 #define VIDEO_CLOCK         XTAL(32'000'000)
2465 
model2_timers(machine_config & config)2466 void model2_state::model2_timers(machine_config &config)
2467 {
2468 	timer_device &timer0(TIMER(config, "timer0"));
2469 	timer0.configure_generic(FUNC(model2_state::model2_timer_cb));
2470 	timer0.set_ptr((void *)(uintptr_t)0);
2471 	timer_device &timer1(TIMER(config, "timer1"));
2472 	timer1.configure_generic(FUNC(model2_state::model2_timer_cb));
2473 	timer1.set_ptr((void *)(uintptr_t)1);
2474 	timer_device &timer2(TIMER(config, "timer2"));
2475 	timer2.configure_generic(FUNC(model2_state::model2_timer_cb));
2476 	timer2.set_ptr((void *)(uintptr_t)2);
2477 	timer_device &timer3(TIMER(config, "timer3"));
2478 	timer3.configure_generic(FUNC(model2_state::model2_timer_cb));
2479 	timer3.set_ptr((void *)(uintptr_t)3);
2480 }
2481 
model2_screen(machine_config & config)2482 void model2_state::model2_screen(machine_config &config)
2483 {
2484 	S24TILE(config, m_tiles, 0, 0x3fff);
2485 	m_tiles->set_palette(m_palette);
2486 	m_tiles->xhout_write_callback().set(FUNC(model2_state::horizontal_sync_w));
2487 	m_tiles->xvout_write_callback().set(FUNC(model2_state::vertical_sync_w));
2488 
2489 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
2490 	m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
2491 	// TODO: from System 24, might not be accurate for Model 2
2492 	m_screen->set_raw(VIDEO_CLOCK/2, 656, 0/*+69*/, 496/*+69*/, 424, 0/*+25*/, 384/*+25*/);
2493 	m_screen->set_screen_update(FUNC(model2_state::screen_update_model2));
2494 
2495 	PALETTE(config, m_palette).set_entries(8192);
2496 }
2497 
model2_scsp(machine_config & config)2498 void model2_state::model2_scsp(machine_config &config)
2499 {
2500 	M68000(config, m_audiocpu, 45.1584_MHz_XTAL / 4); // SCSP Clock / 2
2501 	m_audiocpu->set_addrmap(AS_PROGRAM, &model2_state::model2_snd);
2502 
2503 	SPEAKER(config, "lspeaker").front_left();
2504 	SPEAKER(config, "rspeaker").front_right();
2505 
2506 	SCSP(config, m_scsp, 45.1584_MHz_XTAL / 2); // 45.158MHz XTAL at Video board(Model 2A-CRX)
2507 	m_scsp->set_addrmap(0, &model2_state::scsp_map);
2508 	m_scsp->irq_cb().set(FUNC(model2_state::scsp_irq));
2509 	m_scsp->add_route(0, "lspeaker", 1.0);
2510 	m_scsp->add_route(1, "rspeaker", 1.0);
2511 
2512 	I8251(config, m_uart, 8000000); // uPD71051C, clock unknown
2513 //  m_uart->rxrdy_handler().set(FUNC(model2_state::sound_ready_w));
2514 //  m_uart->txrdy_handler().set(FUNC(model2_state::sound_ready_w));
2515 
2516 	clock_device &uart_clock(CLOCK(config, "uart_clock", 500000)); // 16 times 31.25MHz (standard Sega/MIDI sound data rate)
2517 	uart_clock.signal_handler().set(m_uart, FUNC(i8251_device::write_txc));
2518 	uart_clock.signal_handler().append(m_uart, FUNC(i8251_device::write_rxc));
2519 }
2520 
2521 /* original Model 2 */
model2o(machine_config & config)2522 void model2o_state::model2o(machine_config &config)
2523 {
2524 	I960(config, m_maincpu, 25000000);
2525 	m_maincpu->set_addrmap(AS_PROGRAM, &model2o_state::model2o_mem);
2526 
2527 	TIMER(config, "scantimer").configure_scanline(FUNC(model2_state::model2_interrupt), "screen", 0, 1);
2528 
2529 	MB86234(config, m_copro_tgp, 16000000);
2530 	m_copro_tgp->set_addrmap(AS_PROGRAM, &model2o_state::copro_tgp_prog_map);
2531 	m_copro_tgp->set_addrmap(AS_DATA, &model2o_state::copro_tgp_data_map);
2532 	m_copro_tgp->set_addrmap(AS_IO, &model2o_state::copro_tgp_io_map);
2533 	m_copro_tgp->set_addrmap(mb86233_device::AS_RF, &model2o_state::copro_tgp_rf_map);
2534 
2535 	ADDRESS_MAP_BANK(config, m_copro_tgp_bank, 0);
2536 	m_copro_tgp_bank->set_addrmap(0, &model2o_state::copro_tgp_bank_map);
2537 	m_copro_tgp_bank->set_endianness(ENDIANNESS_LITTLE);
2538 	m_copro_tgp_bank->set_data_width(32);
2539 	m_copro_tgp_bank->set_addr_width(17);
2540 	m_copro_tgp_bank->set_shift(-2);
2541 	m_copro_tgp_bank->set_stride(0x10000);
2542 
2543 	GENERIC_FIFO_U32(config, m_copro_fifo_in, 0);
2544 	GENERIC_FIFO_U32(config, m_copro_fifo_out, 0);
2545 
2546 	NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1);
2547 
2548 	model2_timers(config);
2549 	model2_screen(config);
2550 
2551 	// create SEGA_MODEL1IO device *after* SCREEN device
2552 	model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0));
2553 	ioboard.set_default_bios_tag("epr14869c");
2554 	ioboard.read_callback().set("dpram", FUNC(mb8421_device::left_r));
2555 	ioboard.write_callback().set("dpram", FUNC(mb8421_device::left_w));
2556 	ioboard.in_callback<0>().set_ioport("IN0");
2557 	ioboard.in_callback<1>().set_ioport("IN1");
2558 
2559 	MB8421(config, "dpram", 0);
2560 
2561 	SEGAM1AUDIO(config, m_m1audio, 0);
2562 	m_m1audio->rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd));
2563 
2564 	I8251(config, m_uart, 8000000); // uPD71051C, clock unknown
2565 	m_uart->txd_handler().set(m_m1audio, FUNC(segam1audio_device::write_txd));
2566 
2567 	clock_device &uart_clock(CLOCK(config, "uart_clock", 500000)); // 16 times 31.25MHz (standard Sega/MIDI sound data rate)
2568 	uart_clock.signal_handler().set(m_uart, FUNC(i8251_device::write_txc));
2569 	uart_clock.signal_handler().append(m_uart, FUNC(i8251_device::write_rxc));
2570 
2571 	M2COMM(config, "m2comm", 0);
2572 }
2573 
driveio_portg_r()2574 u8 model2_state::driveio_portg_r()
2575 {
2576 	return m_driveio_comm_data;
2577 }
2578 
driveio_porth_r()2579 u8 model2_state::driveio_porth_r()
2580 {
2581 	return m_driveio_comm_data;
2582 }
2583 
driveio_port_w(u8 data)2584 void model2_state::driveio_port_w(u8 data)
2585 {
2586 //  TODO: hook up to the main CPU
2587 //  popmessage("%02x",data);
2588 }
2589 
drive_map(address_map & map)2590 void model2_state::drive_map(address_map &map)
2591 {
2592 	map(0x0000, 0x7fff).rom();
2593 	map(0xe000, 0xffff).ram();
2594 }
2595 
drive_io_map(address_map & map)2596 void model2_state::drive_io_map(address_map &map)
2597 {
2598 	map.global_mask(0xff);
2599 	map(0x00, 0x00).nopw(); //watchdog
2600 	map(0x20, 0x2f).rw("driveio1", FUNC(sega_315_5296_device::read), FUNC(sega_315_5296_device::write));
2601 	map(0x40, 0x4f).rw("driveio2", FUNC(sega_315_5296_device::read), FUNC(sega_315_5296_device::write));
2602 	map(0x80, 0x83).rw("driveadc", FUNC(msm6253_device::d0_r), FUNC(msm6253_device::address_w));
2603 }
2604 
sj25_0207_01(machine_config & config)2605 void model2_state::sj25_0207_01(machine_config &config)
2606 {
2607 	Z80(config, m_drivecpu, XTAL(8'000'000)/2); // confirmed
2608 	m_drivecpu->set_addrmap(AS_PROGRAM, &model2_state::drive_map);
2609 	m_drivecpu->set_addrmap(AS_IO, &model2_state::drive_io_map);
2610 	m_drivecpu->set_vblank_int("screen", FUNC(model2_state::irq0_line_hold));
2611 
2612 	sega_315_5296_device &driveio1(SEGA_315_5296(config, "driveio1", 0)); // unknown clock
2613 	driveio1.out_pd_callback().set(FUNC(model2_state::driveio_port_w));
2614 	driveio1.in_pg_callback().set(FUNC(model2_state::driveio_portg_r));
2615 	driveio1.in_ph_callback().set(FUNC(model2_state::driveio_porth_r));
2616 
2617 	SEGA_315_5296(config, "driveio2", 0); // unknown clock
2618 
2619 	MSM6253(config, "driveadc", 0);
2620 }
2621 
daytona(machine_config & config)2622 void model2o_state::daytona(machine_config &config)
2623 {
2624 	model2o(config);
2625 	sj25_0207_01(config);
2626 
2627 	model1io_device &ioboard(*subdevice<model1io_device>("ioboard"));
2628 	ioboard.drive_write_callback().set(FUNC(model2o_state::drive_board_w));
2629 	ioboard.an_callback<0>().set_ioport("STEER");
2630 	ioboard.an_callback<1>().set_ioport("ACCEL");
2631 	ioboard.an_callback<2>().set_ioport("BRAKE");
2632 	ioboard.output_callback().set(FUNC(model2o_state::daytona_output_w));
2633 }
2634 
daytona_maxx(machine_config & config)2635 void model2o_maxx_state::daytona_maxx(machine_config &config)
2636 {
2637 	daytona(config);
2638 
2639 	m_maincpu->set_addrmap(AS_PROGRAM, &model2o_maxx_state::model2o_maxx_mem);
2640 }
2641 
daytona_gtx(machine_config & config)2642 void model2o_gtx_state::daytona_gtx(machine_config &config)
2643 {
2644 	daytona(config);
2645 
2646 	m_maincpu->set_addrmap(AS_PROGRAM, &model2o_gtx_state::model2o_gtx_mem);
2647 }
2648 
desert(machine_config & config)2649 void model2o_state::desert(machine_config &config)
2650 {
2651 	model2o(config);
2652 
2653 	model1io_device &ioboard(*subdevice<model1io_device>("ioboard"));
2654 	ioboard.an_callback<0>().set_ioport("STEER");
2655 	ioboard.an_callback<1>().set_ioport("ACCEL");
2656 	ioboard.an_callback<2>().set_ioport("BRAKE");
2657 	ioboard.output_callback().set(FUNC(model2o_state::desert_output_w));
2658 }
2659 
vcop(machine_config & config)2660 void model2o_state::vcop(machine_config &config)
2661 {
2662 	model2o(config);
2663 
2664 	model1io2_device &ioboard(SEGA_MODEL1IO2(config.replace(), "ioboard", 0));
2665 	ioboard.set_default_bios_tag("epr17181");
2666 	ioboard.read_callback().set("dpram", FUNC(mb8421_device::left_r));
2667 	ioboard.write_callback().set("dpram", FUNC(mb8421_device::left_w));
2668 	ioboard.in_callback<0>().set_ioport("IN0");
2669 	ioboard.in_callback<1>().set_ioport("IN1");
2670 	ioboard.in_callback<2>().set_ioport("IN2");
2671 	ioboard.output_callback().set(FUNC(model2o_state::vcop_output_w));
2672 	ioboard.set_lightgun_p1x_tag("P1_X");
2673 	ioboard.set_lightgun_p1y_tag("P1_Y");
2674 	ioboard.set_lightgun_p2x_tag("P2_X");
2675 	ioboard.set_lightgun_p2y_tag("P2_Y");
2676 
2677 	config.set_default_layout(layout_model1io2);
2678 }
2679 
2680 /* 2A-CRX */
model2a(machine_config & config)2681 void model2a_state::model2a(machine_config &config)
2682 {
2683 	I960(config, m_maincpu, 25000000);
2684 	m_maincpu->set_addrmap(AS_PROGRAM, &model2a_state::model2a_crx_mem);
2685 	TIMER(config, "scantimer").configure_scanline(FUNC(model2_state::model2_interrupt), "screen", 0, 1);
2686 
2687 	MB86234(config, m_copro_tgp, 16000000);
2688 	m_copro_tgp->set_addrmap(AS_PROGRAM, &model2a_state::copro_tgp_prog_map);
2689 	m_copro_tgp->set_addrmap(AS_DATA, &model2a_state::copro_tgp_data_map);
2690 	m_copro_tgp->set_addrmap(AS_IO, &model2a_state::copro_tgp_io_map);
2691 	m_copro_tgp->set_addrmap(mb86233_device::AS_RF, &model2a_state::copro_tgp_rf_map);
2692 
2693 	ADDRESS_MAP_BANK(config, m_copro_tgp_bank, 0);
2694 	m_copro_tgp_bank->set_addrmap(0, &model2a_state::copro_tgp_bank_map);
2695 	m_copro_tgp_bank->set_endianness(ENDIANNESS_LITTLE);
2696 	m_copro_tgp_bank->set_data_width(32);
2697 	m_copro_tgp_bank->set_addr_width(17);
2698 	m_copro_tgp_bank->set_shift(-2);
2699 	m_copro_tgp_bank->set_stride(0x10000);
2700 
2701 	GENERIC_FIFO_U32(config, m_copro_fifo_in, 0);
2702 	GENERIC_FIFO_U32(config, m_copro_fifo_out, 0);
2703 
2704 	EEPROM_93C46_16BIT(config, "eeprom");
2705 	NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1);
2706 
2707 	sega_315_5649_device &io(SEGA_315_5649(config, "io", 0));
2708 	io.out_pa_callback().set(FUNC(model2a_state::eeprom_w));
2709 	io.in_pb_callback().set(FUNC(model2a_state::in0_r));
2710 	io.in_pc_callback().set_ioport("IN1");
2711 	io.in_pd_callback().set_ioport("IN2");
2712 	io.in_pg_callback().set_ioport("SW");
2713 	io.out_pe_callback().set([this] (u8 data) { m_billboard->write(data); });
2714 
2715 	model2_timers(config);
2716 	model2_screen(config);
2717 	model2_scsp(config);
2718 
2719 	M2COMM(config, "m2comm", 0);
2720 
2721 	SEGA_BILLBOARD(config, m_billboard, 0);
2722 
2723 	config.set_default_layout(layout_segabill);
2724 }
2725 
manxtt(machine_config & config)2726 void model2a_state::manxtt(machine_config &config)
2727 {
2728 	model2a(config);
2729 
2730 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2731 	io.an_port_callback<0>().set_ioport("THROTTLE");
2732 	io.an_port_callback<1>().set_ioport("BRAKE");
2733 	io.an_port_callback<2>().set_ioport("BANK");
2734 }
2735 
2736 // Includes a Model 1 Sound board for additional sounds - Deluxe version only
manxttdx(machine_config & config)2737 void model2a_state::manxttdx(machine_config &config)
2738 {
2739 	manxtt(config);
2740 
2741 	SEGAM1AUDIO(config, m_m1audio, 0);
2742 	m_m1audio->rxd_handler().set(m_uart, FUNC(i8251_device::write_rxd));
2743 
2744 	m_uart->txd_handler().set(m_m1audio, FUNC(segam1audio_device::write_txd));
2745 }
2746 
srallyc(machine_config & config)2747 void model2a_state::srallyc(machine_config &config)
2748 {
2749 	model2a(config);
2750 	sj25_0207_01(config);
2751 
2752 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2753 	io.out_pe_callback().set(FUNC(model2a_state::drive_board_w));
2754 	io.an_port_callback<0>().set_ioport("STEER");
2755 	io.an_port_callback<1>().set_ioport("ACCEL");
2756 	io.an_port_callback<2>().set_ioport("BRAKE");
2757 }
2758 
vcop2(machine_config & config)2759 void model2a_state::vcop2(machine_config &config)
2760 {
2761 	model2a(config);
2762 
2763 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2764 	io.serial_ch2_rd_callback().set(FUNC(model2a_state::lightgun_mux_r));
2765 	io.serial_ch2_wr_callback().set(FUNC(model2a_state::lightgun_mux_w));
2766 }
2767 
skytargt(machine_config & config)2768 void model2a_state::skytargt(machine_config &config)
2769 {
2770 	model2a(config);
2771 
2772 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2773 	io.an_port_callback<0>().set_ioport("STICKY");
2774 	io.an_port_callback<2>().set_ioport("STICKX");
2775 }
2776 
crypt_read_callback(u32 addr)2777 u16 model2_state::crypt_read_callback(u32 addr)
2778 {
2779 	u16 dat= m_maincpu->space().read_word((0x1d80000+2*addr));
2780 	return ((dat&0xff00)>>8)|((dat&0x00ff)<<8);
2781 }
2782 
model2a_5881(machine_config & config)2783 void model2a_state::model2a_5881(machine_config &config)
2784 {
2785 	model2a(config);
2786 
2787 	m_maincpu->set_addrmap(AS_PROGRAM, &model2a_state::model2a_5881_mem);
2788 
2789 	SEGA315_5881_CRYPT(config, m_cryptdevice, 0);
2790 	m_cryptdevice->set_read_cb(FUNC(model2a_state::crypt_read_callback));
2791 }
2792 
model2a_0229(machine_config & config)2793 void model2a_state::model2a_0229(machine_config &config)
2794 {
2795 	model2a(config);
2796 
2797 	m_maincpu->set_addrmap(AS_PROGRAM, &model2a_state::model2a_0229_mem);
2798 
2799 	SEGA315_5838_COMP(config, m_0229crypt, 0);
2800 	m_0229crypt->set_addrmap(0, &model2a_state::sega_0229_map);
2801 }
2802 
zeroguna(machine_config & config)2803 void model2a_state::zeroguna(machine_config &config)
2804 {
2805 	model2a_5881(config);
2806 }
2807 
2808 /* 2B-CRX */
model2b(machine_config & config)2809 void model2b_state::model2b(machine_config &config)
2810 {
2811 	I960(config, m_maincpu, 25000000);
2812 	m_maincpu->set_addrmap(AS_PROGRAM, &model2b_state::model2b_crx_mem);
2813 
2814 	TIMER(config, "scantimer", 0).configure_scanline(FUNC(model2_state::model2_interrupt), "screen", 0, 1);
2815 
2816 	ADSP21062(config, m_copro_adsp, 40000000);
2817 	m_copro_adsp->set_boot_mode(adsp21062_device::BOOT_MODE_HOST);
2818 	m_copro_adsp->set_addrmap(AS_DATA, &model2b_state::copro_sharc_map);
2819 
2820 	//ADSP21062(config, m_dsp2, 40000000);
2821 	//m_dsp2->set_boot_mode(adsp21062_device::BOOT_MODE_HOST);
2822 	//m_dsp2->set_addrmap(AS_DATA, &model2b_state::geo_sharc_map);
2823 
2824 	config.set_maximum_quantum(attotime::from_hz(18000));
2825 
2826 	GENERIC_FIFO_U32(config, m_copro_fifo_in, 0);
2827 	GENERIC_FIFO_U32(config, m_copro_fifo_out, 0);
2828 
2829 	EEPROM_93C46_16BIT(config, "eeprom");
2830 	NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1);
2831 
2832 	sega_315_5649_device &io(SEGA_315_5649(config, "io", 0));
2833 	io.out_pa_callback().set(FUNC(model2b_state::eeprom_w));
2834 	io.in_pb_callback().set(FUNC(model2b_state::in0_r));
2835 	io.in_pc_callback().set_ioport("IN1");
2836 	io.in_pd_callback().set_ioport("IN2");
2837 	io.in_pg_callback().set_ioport("SW");
2838 	io.out_pe_callback().set([this] (u8 data) { m_billboard->write(data); });
2839 
2840 	model2_timers(config);
2841 	model2_screen(config);
2842 	model2_scsp(config);
2843 
2844 	M2COMM(config, "m2comm", 0);
2845 
2846 	SEGA_BILLBOARD(config, m_billboard, 0);
2847 
2848 	config.set_default_layout(layout_segabill);
2849 }
2850 
model2b_5881(machine_config & config)2851 void model2b_state::model2b_5881(machine_config &config)
2852 {
2853 	model2b(config);
2854 
2855 	m_maincpu->set_addrmap(AS_PROGRAM, &model2b_state::model2b_5881_mem);
2856 
2857 	SEGA315_5881_CRYPT(config, m_cryptdevice, 0);
2858 	m_cryptdevice->set_read_cb(FUNC(model2b_state::crypt_read_callback));
2859 }
2860 
model2b_0229(machine_config & config)2861 void model2b_state::model2b_0229(machine_config &config)
2862 {
2863 	model2b(config);
2864 
2865 	m_maincpu->set_addrmap(AS_PROGRAM, &model2b_state::model2b_0229_mem);
2866 
2867 	SEGA315_5838_COMP(config, m_0229crypt, 0);
2868 	m_0229crypt->set_addrmap(0, &model2b_state::sega_0229_map);
2869 }
2870 
indy500(machine_config & config)2871 void model2b_state::indy500(machine_config &config)
2872 {
2873 	model2b(config);
2874 
2875 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2876 	io.an_port_callback<0>().set_ioport("STEER");
2877 	io.an_port_callback<1>().set_ioport("ACCEL");
2878 	io.an_port_callback<2>().set_ioport("BRAKE");
2879 }
2880 
overrev2b(machine_config & config)2881 void model2b_state::overrev2b(machine_config &config)
2882 {
2883 	model2b(config);
2884 
2885 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2886 	io.an_port_callback<0>().set_ioport("STEER");
2887 	io.an_port_callback<1>().set_ioport("BRAKE");
2888 	io.an_port_callback<2>().set_ioport("ACCEL");
2889 }
2890 
powsled(machine_config & config)2891 void model2b_state::powsled(machine_config &config)
2892 {
2893 	model2b(config);
2894 
2895 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2896 	io.in_pe_callback().set_ioport("IN3");
2897 	io.an_port_callback<1>().set_ioport("P1_R");
2898 	io.an_port_callback<3>().set_ioport("P1_L");
2899 	io.an_port_callback<5>().set_ioport("P2_R");
2900 	io.an_port_callback<7>().set_ioport("P2_L");
2901 	// 0 and 2 is Motion AD
2902 
2903 	subdevice<m2comm_device>("m2comm")->set_frameoffset(0x180);
2904 }
2905 
2906 
rchase2_iocpu_map(address_map & map)2907 void model2b_state::rchase2_iocpu_map(address_map &map)
2908 {
2909 	map(0x0000, 0x7fff).rom();
2910 	map(0x8000, 0x9fff).ram();
2911 }
2912 
rchase2_ioport_map(address_map & map)2913 void model2b_state::rchase2_ioport_map(address_map &map)
2914 {
2915 	map.global_mask(0xff);
2916 	map(0x00, 0x07).rw("ioexp", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write));
2917 }
2918 
rchase2(machine_config & config)2919 void model2b_state::rchase2(machine_config &config)
2920 {
2921 	model2b(config);
2922 
2923 	z80_device &iocpu(Z80(config, "iocpu", 4000000));
2924 	iocpu.set_addrmap(AS_PROGRAM, &model2b_state::rchase2_iocpu_map);
2925 	iocpu.set_addrmap(AS_IO, &model2b_state::rchase2_ioport_map);
2926 
2927 	CXD1095(config, "ioexp");
2928 
2929 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2930 	io.in_pd_callback().set(FUNC(model2b_state::rchase2_drive_board_r));
2931 	io.out_pe_callback().set(FUNC(model2b_state::rchase2_drive_board_w));
2932 	io.an_port_callback<0>().set_ioport("P2_X");
2933 	io.an_port_callback<1>().set_ioport("P1_X");
2934 	io.an_port_callback<2>().set_ioport("P2_Y");
2935 	io.an_port_callback<3>().set_ioport("P1_Y");
2936 }
2937 
gunblade(machine_config & config)2938 void model2b_state::gunblade(machine_config &config)
2939 {
2940 	model2b(config);
2941 
2942 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2943 	io.an_port_callback<0>().set_ioport("P1_X");
2944 	io.an_port_callback<1>().set_ioport("P2_X");
2945 	io.an_port_callback<2>().set_ioport("P1_Y");
2946 	io.an_port_callback<3>().set_ioport("P2_Y");
2947 }
2948 
dynabb(machine_config & config)2949 void model2b_state::dynabb(machine_config &config)
2950 {
2951 	model2b(config);
2952 
2953 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
2954 	io.an_port_callback<0>().set_ioport("BAT1");
2955 	io.an_port_callback<1>().set_ioport("BAT2");
2956 }
2957 
zerogun(machine_config & config)2958 void model2b_state::zerogun(machine_config &config)
2959 {
2960 	model2b_5881(config);
2961 }
2962 
2963 /* 2C-CRX */
model2c(machine_config & config)2964 void model2c_state::model2c(machine_config &config)
2965 {
2966 	I960(config, m_maincpu, 25000000);
2967 	m_maincpu->set_addrmap(AS_PROGRAM, &model2c_state::model2c_crx_mem);
2968 	TIMER(config, "scantimer").configure_scanline(FUNC(model2c_state::model2c_interrupt), "screen", 0, 1);
2969 
2970 	MB86235(config, m_copro_tgpx4, 40000000);
2971 	m_copro_tgpx4->set_addrmap(AS_PROGRAM, &model2c_state::copro_tgpx4_map);
2972 	m_copro_tgpx4->set_addrmap(AS_DATA, &model2c_state::copro_tgpx4_data_map);
2973 	m_copro_tgpx4->set_fifoin_tag(m_copro_fifo_in);
2974 	m_copro_tgpx4->set_fifoout0_tag(m_copro_fifo_out);
2975 
2976 	GENERIC_FIFO_U32(config, m_copro_fifo_in, 0);
2977 	GENERIC_FIFO_U32(config, m_copro_fifo_out, 0);
2978 
2979 	EEPROM_93C46_16BIT(config, "eeprom");
2980 	NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1);
2981 
2982 	sega_315_5649_device &io(SEGA_315_5649(config, "io", 0));
2983 	io.out_pa_callback().set(FUNC(model2c_state::eeprom_w));
2984 	io.in_pb_callback().set(FUNC(model2c_state::in0_r));
2985 	io.in_pc_callback().set_ioport("IN1");
2986 	io.in_pd_callback().set_ioport("IN2");
2987 	io.in_pg_callback().set_ioport("SW");
2988 
2989 	model2_timers(config);
2990 	model2_screen(config);
2991 	model2_scsp(config);
2992 
2993 	M2COMM(config, "m2comm", 0);
2994 }
2995 
skisuprg(machine_config & config)2996 void model2c_state::skisuprg(machine_config &config)
2997 {
2998 	model2c(config);
2999 
3000 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3001 	io.an_port_callback<0>().set_ioport("SWING");
3002 	io.an_port_callback<1>().set_ioport("INCLINING");
3003 }
3004 
stcc(machine_config & config)3005 void model2c_state::stcc(machine_config &config)
3006 {
3007 	model2c(config);
3008 
3009 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3010 	io.an_port_callback<0>().set_ioport("STEER");
3011 	io.an_port_callback<1>().set_ioport("ACCEL");
3012 	io.an_port_callback<2>().set_ioport("BRAKE");
3013 
3014 	DSBZ80(config, m_dsbz80, 0);
3015 	m_dsbz80->add_route(0, "lspeaker", 1.0);
3016 	m_dsbz80->add_route(1, "rspeaker", 1.0);
3017 
3018 	m_uart->txd_handler().set(m_dsbz80, FUNC(dsbz80_device::write_txd));
3019 }
3020 
waverunr(machine_config & config)3021 void model2c_state::waverunr(machine_config &config)
3022 {
3023 	model2c(config);
3024 
3025 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3026 	io.an_port_callback<0>().set_ioport("HANDLE");
3027 	io.an_port_callback<1>().set_ioport("ROLL");
3028 	io.an_port_callback<2>().set_ioport("THROTTLE");
3029 	io.an_port_callback<3>().set_ioport("PITCH");
3030 }
3031 
bel(machine_config & config)3032 void model2c_state::bel(machine_config &config)
3033 {
3034 	model2c(config);
3035 
3036 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3037 	io.an_port_callback<0>().set_ioport("P1_X");
3038 	io.an_port_callback<1>().set_ioport("P2_X");
3039 	io.an_port_callback<2>().set_ioport("P1_Y");
3040 	io.an_port_callback<3>().set_ioport("P2_Y");
3041 }
3042 
hotd(machine_config & config)3043 void model2c_state::hotd(machine_config &config)
3044 {
3045 	model2c(config);
3046 
3047 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3048 	io.serial_ch2_rd_callback().set(FUNC(model2c_state::lightgun_mux_r));
3049 	io.serial_ch2_wr_callback().set(FUNC(model2c_state::lightgun_mux_w));
3050 }
3051 
model2c_5881(machine_config & config)3052 void model2c_state::model2c_5881(machine_config &config)
3053 {
3054 	model2c(config);
3055 
3056 	m_maincpu->set_addrmap(AS_PROGRAM, &model2c_state::model2c_5881_mem);
3057 
3058 	SEGA315_5881_CRYPT(config, m_cryptdevice, 0);
3059 	m_cryptdevice->set_read_cb(FUNC(model2c_state::crypt_read_callback));
3060 }
3061 
overrev2c(machine_config & config)3062 void model2c_state::overrev2c(machine_config &config)
3063 {
3064 	model2c(config);
3065 
3066 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3067 	io.an_port_callback<0>().set_ioport("STEER");
3068 	io.an_port_callback<1>().set_ioport("BRAKE");
3069 	io.an_port_callback<2>().set_ioport("ACCEL");
3070 }
3071 
segawski(machine_config & config)3072 void model2c_state::segawski(machine_config &config)
3073 {
3074 	model2c(config);
3075 
3076 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3077 	io.an_port_callback<0>().set_ioport("SLIDE");
3078 }
3079 
topskatr(machine_config & config)3080 void model2c_state::topskatr(machine_config &config)
3081 {
3082 	model2c(config);
3083 
3084 	sega_315_5649_device &io(*subdevice<sega_315_5649_device>("io"));
3085 	io.an_port_callback<0>().set_ioport("CURVING");
3086 	io.an_port_callback<1>().set_ioport("SLIDE");
3087 }
3088 
3089 
3090 /* ROM definitions */
3091 
3092 /*
3093 (info from 2a)
3094 
3095 The smt ROMs are located on the CPU board and are labelled....
3096 OPR-14742A \
3097 OPR-14743A /  Linked to 315-5674
3098 OPR-14744    \
3099 OPR-14745    /  Linked to 315-5679B
3100 OPR-14746    \
3101 OPR-14747    /  Linked to 315-5679B
3102 
3103 */
3104 
3105 // TODO: roms 58/59 and 62/63 aren't really used so far, actually they should be 32_word loaded too?
3106 // the 'a' versions have the atan table fixed compared to model 1
3107 #define MODEL2_CPU_BOARD \
3108 	ROM_REGION32_LE( 0x40000, "copro_tgp_tables", 0 )                           \
3109 	ROM_LOAD32_WORD("opr-14742a.45",  0x000000,  0x20000, CRC(90c6b117) SHA1(f46429fffcee17d056f56d5fe035a33f1fd6c27e) ) \
3110 	ROM_LOAD32_WORD("opr-14743a.46",  0x000002,  0x20000, CRC(ae7f446b) SHA1(5b9f1fc47caf21e061e930c0d72804e4ec8c7bca) ) \
3111 	\
3112 	ROM_REGION32_LE( 0x80000, "other_data", 0 ) \
3113 	/* 1/x table */ \
3114 	ROM_LOAD32_WORD("opr-14744.58",   0x000000,  0x20000, CRC(730ea9e0) SHA1(651f1db4089a400d073b19ada299b4b08b08f372) ) \
3115 	ROM_LOAD32_WORD("opr-14745.59",   0x000002,  0x20000, CRC(4c934d96) SHA1(e3349ece0e47f684d61ad11bfea4a90602287350) ) \
3116 	/* 1/sqrt(x) table */ \
3117 	ROM_LOAD32_WORD("opr-14746.62",   0x040000,  0x20000, CRC(2a266cbd) SHA1(34e047a93459406c22acf4c25089d1a4955f94ca) ) \
3118 	ROM_LOAD32_WORD("opr-14747.63",   0x040002,  0x20000, CRC(a4ad5e19) SHA1(7d7ec300eeb9a8de1590011e37108688c092f329) )
3119 /*
3120 These are smt ROMs found on Sega Model 2A Video board
3121 They are linked to a QFP208 IC labelled 315-5645
3122 */
3123 
3124 // TODO: are these present on model2o too?
3125 // 1/(1+x) table, 0.19 input, 1.23 output (bottom 4 bits zero though, and first bit always 1, so 19 real bits)
3126 #define MODEL2A_VID_BOARD \
3127 	ROM_REGION32_LE( 0x200000, "video_unk", ROMREGION_ERASE00 ) \
3128 	ROM_LOAD32_BYTE("mpr-16310.15",   0x000000,  0x80000, CRC(c078a780) SHA1(0ad5b49774172743e2708b7ca4c061acfe10957a) ) \
3129 	ROM_LOAD32_BYTE("mpr-16311.16",   0x000001,  0x80000, CRC(452a492b) SHA1(88c2f6c2dbfd0c1b39a7bf15c74455fb68c7274e) ) \
3130 	ROM_LOAD32_BYTE("mpr-16312.14",   0x000002,  0x80000, CRC(a25fef5b) SHA1(c6a37856b97f5bc4996cb6b66209f47af392cc38) )
3131 
3132 /* Is there an undumped Zero Gunner with program roms EPR-20292 & EPR-20293? Numbering would suggest so, Japan Model2C or Model2A US? */
3133 ROM_START( zeroguna ) /* Zero Gunner (Export), Model 2A */
3134 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
CRC(fad30cc0)3135 	ROM_LOAD32_WORD("epr-20437.12", 0x000000, 0x080000, CRC(fad30cc0) SHA1(5c6222e07594b4be59b5095f7cc0a164d5895306) )
3136 	ROM_LOAD32_WORD("epr-20438.13", 0x000002, 0x080000, CRC(ca364408) SHA1(4672ebdd7d9ccab5e107fda9d322b70583246c7a) )
3137 
3138 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
3139 	ROM_LOAD32_WORD("mpr-20296.11", 0x000000, 0x400000, CRC(072d8a5e) SHA1(7f69c90dd3c3e6e522d1065b3c4b09434cb4e634) )
3140 	ROM_LOAD32_WORD("mpr-20297.12", 0x000002, 0x400000, CRC(ba6a825b) SHA1(670a86c3a1a78550c760cc66c0a6181928fb9054) )
3141 	ROM_LOAD32_WORD("mpr-20294.9",  0x800000, 0x400000, CRC(a0bd1474) SHA1(c0c032adac69bd545e3aab481878b08f3c3edab8) )
3142 	ROM_LOAD32_WORD("mpr-20295.10", 0x800002, 0x400000, CRC(c548cced) SHA1(d34f2fc9b4481c75a6824aa4bdd3f1884188d35b) )
3143 
3144 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3145 
3146 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
3147 	ROM_LOAD32_WORD("mpr-20298.17", 0x000000, 0x400000, CRC(8ab782fc) SHA1(595f6fc2e9c58ce9763d51798ceead8d470f0a33) )
3148 	ROM_LOAD32_WORD("mpr-20299.21", 0x000002, 0x400000, CRC(90e20cdb) SHA1(730d58286fb7e91aa4128dc208b0f60eb3becc78) )
3149 
3150 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
3151 	ROM_LOAD32_WORD("mpr-20301.27", 0x000000, 0x200000, CRC(52010fb2) SHA1(8dce67c6f9e48d749c64b11d4569df413dc40e07) )
3152 	ROM_LOAD32_WORD("mpr-20300.25", 0x000002, 0x200000, CRC(6f042792) SHA1(75db68e57ec3fbc7af377342eef81f26fae4e1c4) )
3153 
3154 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3155 	ROM_LOAD16_WORD_SWAP("epr-20302.31", 0x000000, 0x080000, CRC(44ff50d2) SHA1(6ffec81042fd5708e8a5df47b63f9809f93bf0f8) )
3156 
3157 	ROM_REGION16_BE( 0x400000, "samples", 0 ) // Samples
3158 	ROM_LOAD16_WORD_SWAP("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
3159 	ROM_LOAD16_WORD_SWAP("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
3160 
3161 	MODEL2_CPU_BOARD
3162 	MODEL2A_VID_BOARD
3163 
3164 	//             1997     317-5038-COM   Model 2
3165 	ROM_PARAMETER( ":315_5881:key", "042c0d13" )
3166 ROM_END
3167 
3168 ROM_START( zerogunaj ) /* Zero Gunner (Japan), Model 2A - Sega game ID# 833-11341, Sega ROM board ID# 834-11342 */
3169 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3170 	ROM_LOAD32_WORD("epr-20288.12", 0x000000, 0x080000, CRC(162305d5) SHA1(c0d67fbb8f89daacd32bbc1ad0d55a73b60016d8) )
3171 	ROM_LOAD32_WORD("epr-20289.13", 0x000002, 0x080000, CRC(b5acb940) SHA1(e4c66c6bc9d5433b76ea12cf625fc359439144bb) )
3172 
3173 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
3174 	ROM_LOAD32_WORD("mpr-20296.11", 0x000000, 0x400000, CRC(072d8a5e) SHA1(7f69c90dd3c3e6e522d1065b3c4b09434cb4e634) )
3175 	ROM_LOAD32_WORD("mpr-20297.12", 0x000002, 0x400000, CRC(ba6a825b) SHA1(670a86c3a1a78550c760cc66c0a6181928fb9054) )
3176 	ROM_LOAD32_WORD("mpr-20294.9",  0x800000, 0x400000, CRC(a0bd1474) SHA1(c0c032adac69bd545e3aab481878b08f3c3edab8) )
3177 	ROM_LOAD32_WORD("mpr-20295.10", 0x800002, 0x400000, CRC(c548cced) SHA1(d34f2fc9b4481c75a6824aa4bdd3f1884188d35b) )
3178 
3179 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3180 
3181 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
3182 	ROM_LOAD32_WORD("mpr-20298.17", 0x000000, 0x400000, CRC(8ab782fc) SHA1(595f6fc2e9c58ce9763d51798ceead8d470f0a33) )
3183 	ROM_LOAD32_WORD("mpr-20299.21", 0x000002, 0x400000, CRC(90e20cdb) SHA1(730d58286fb7e91aa4128dc208b0f60eb3becc78) )
3184 
3185 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
3186 	ROM_LOAD32_WORD("mpr-20301.27", 0x000000, 0x200000, CRC(52010fb2) SHA1(8dce67c6f9e48d749c64b11d4569df413dc40e07) )
3187 	ROM_LOAD32_WORD("mpr-20300.25", 0x000002, 0x200000, CRC(6f042792) SHA1(75db68e57ec3fbc7af377342eef81f26fae4e1c4) )
3188 
3189 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3190 	ROM_LOAD16_WORD_SWAP("epr-20302.31", 0x000000, 0x080000, CRC(44ff50d2) SHA1(6ffec81042fd5708e8a5df47b63f9809f93bf0f8) )
3191 
3192 	ROM_REGION16_BE( 0x400000, "samples", 0 ) // Samples
3193 	ROM_LOAD16_WORD_SWAP("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
3194 	ROM_LOAD16_WORD_SWAP("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
3195 
3196 	MODEL2_CPU_BOARD
3197 	MODEL2A_VID_BOARD
3198 
3199 	//             1997     317-5038-COM   Model 2
3200 	ROM_PARAMETER( ":315_5881:key", "042c0d13" )
3201 ROM_END
3202 
3203 ROM_START( zerogun ) /* Zero Gunner (Export), Model 2B */
3204 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3205 	ROM_LOAD32_WORD("epr-20439.15", 0x000000, 0x080000, CRC(10125381) SHA1(1e178e6bd2b1312cd6290f1be4b386f520465836) )
3206 	ROM_LOAD32_WORD("epr-20440.16", 0x000002, 0x080000, CRC(ce872747) SHA1(82bf138a42c659b675b14e41d526b1628fb46ae3) )
3207 
3208 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
3209 	ROM_LOAD32_WORD("mpr-20296.11", 0x000000, 0x400000, CRC(072d8a5e) SHA1(7f69c90dd3c3e6e522d1065b3c4b09434cb4e634) )
3210 	ROM_LOAD32_WORD("mpr-20297.12", 0x000002, 0x400000, CRC(ba6a825b) SHA1(670a86c3a1a78550c760cc66c0a6181928fb9054) )
3211 	ROM_LOAD32_WORD("mpr-20294.9",  0x800000, 0x400000, CRC(a0bd1474) SHA1(c0c032adac69bd545e3aab481878b08f3c3edab8) )
3212 	ROM_LOAD32_WORD("mpr-20295.10", 0x800002, 0x400000, CRC(c548cced) SHA1(d34f2fc9b4481c75a6824aa4bdd3f1884188d35b) )
3213 
3214 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
3215 	ROM_LOAD32_WORD("mpr-20298.17", 0x000000, 0x400000, CRC(8ab782fc) SHA1(595f6fc2e9c58ce9763d51798ceead8d470f0a33) )
3216 	ROM_LOAD32_WORD("mpr-20299.21", 0x000002, 0x400000, CRC(90e20cdb) SHA1(730d58286fb7e91aa4128dc208b0f60eb3becc78) )
3217 
3218 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
3219 	ROM_LOAD32_WORD("mpr-20301.27", 0x000000, 0x200000, CRC(52010fb2) SHA1(8dce67c6f9e48d749c64b11d4569df413dc40e07) )
3220 	ROM_LOAD32_WORD("mpr-20300.25", 0x000002, 0x200000, CRC(6f042792) SHA1(75db68e57ec3fbc7af377342eef81f26fae4e1c4) )
3221 
3222 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3223 
3224 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3225 	ROM_LOAD16_WORD_SWAP("epr-20302.31", 0x000000, 0x080000, CRC(44ff50d2) SHA1(6ffec81042fd5708e8a5df47b63f9809f93bf0f8) )
3226 
3227 	ROM_REGION16_BE( 0x400000, "samples", 0 ) // Samples
3228 	ROM_LOAD16_WORD_SWAP("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
3229 	ROM_LOAD16_WORD_SWAP("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
3230 
3231 	//             1997     317-5038-COM   Model 2
3232 	ROM_PARAMETER( ":315_5881:key", "042c0d13" )
3233 ROM_END
3234 
3235 ROM_START( zerogunj ) /* Zero Gunner (Japan), Model 2B */
3236 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3237 	ROM_LOAD32_WORD("epr-20290.15", 0x000000, 0x080000, CRC(9ce3ad21) SHA1(812ab45cc9e2920e74e58937d1826774f3f54183) )
3238 	ROM_LOAD32_WORD("epr-20291.16", 0x000002, 0x080000, CRC(7267a03d) SHA1(a7216914ee7535fa1856cb19bc05c89948a93c89) )
3239 
3240 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
3241 	ROM_LOAD32_WORD("mpr-20296.11", 0x000000, 0x400000, CRC(072d8a5e) SHA1(7f69c90dd3c3e6e522d1065b3c4b09434cb4e634) )
3242 	ROM_LOAD32_WORD("mpr-20297.12", 0x000002, 0x400000, CRC(ba6a825b) SHA1(670a86c3a1a78550c760cc66c0a6181928fb9054) )
3243 	ROM_LOAD32_WORD("mpr-20294.9",  0x800000, 0x400000, CRC(a0bd1474) SHA1(c0c032adac69bd545e3aab481878b08f3c3edab8) )
3244 	ROM_LOAD32_WORD("mpr-20295.10", 0x800002, 0x400000, CRC(c548cced) SHA1(d34f2fc9b4481c75a6824aa4bdd3f1884188d35b) )
3245 
3246 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
3247 	ROM_LOAD32_WORD("mpr-20298.17", 0x000000, 0x400000, CRC(8ab782fc) SHA1(595f6fc2e9c58ce9763d51798ceead8d470f0a33) )
3248 	ROM_LOAD32_WORD("mpr-20299.21", 0x000002, 0x400000, CRC(90e20cdb) SHA1(730d58286fb7e91aa4128dc208b0f60eb3becc78) )
3249 
3250 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
3251 	ROM_LOAD32_WORD("mpr-20301.27", 0x000000, 0x200000, CRC(52010fb2) SHA1(8dce67c6f9e48d749c64b11d4569df413dc40e07) )
3252 	ROM_LOAD32_WORD("mpr-20300.25", 0x000002, 0x200000, CRC(6f042792) SHA1(75db68e57ec3fbc7af377342eef81f26fae4e1c4) )
3253 
3254 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3255 
3256 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3257 	ROM_LOAD16_WORD_SWAP("epr-20302.31", 0x000000, 0x080000, CRC(44ff50d2) SHA1(6ffec81042fd5708e8a5df47b63f9809f93bf0f8) )
3258 
3259 	ROM_REGION16_BE( 0x400000, "samples", 0 ) // Samples
3260 	ROM_LOAD16_WORD_SWAP("mpr-20303.32", 0x000000, 0x200000, CRC(c040973f) SHA1(57a496c5dcc1a3931b6e41bf8d41e45d6dac0c31) )
3261 	ROM_LOAD16_WORD_SWAP("mpr-20304.33", 0x200000, 0x200000, CRC(6decfe83) SHA1(d73adafceff2f1776c93e53bd5677d67f1c2c08f) )
3262 
3263 	//             1997     317-5038-COM   Model 2
3264 	ROM_PARAMETER( ":315_5881:key", "042c0d13" )
3265 ROM_END
3266 
3267 ROM_START( gunblade ) /* Gunblade NY Revision A, Model 2B, Sega game ID# 833-12562 GUN BLADE, Sega ROM board ID# 834-12563 */
3268 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3269 	ROM_LOAD32_WORD("epr-18988a.15", 0x000000, 0x080000, CRC(f63f1ad2) SHA1(fcfb0a4691cd7d66168c421e4e1694ecaea56ab2) )
3270 	ROM_LOAD32_WORD("epr-18989a.16", 0x000002, 0x080000, CRC(c1c84d65) SHA1(92bffbf1250c53499c37a53f9e2a054fc7bf256f) )
3271 
3272 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
3273 	ROM_LOAD32_WORD("mpr-18974.11",  0x000000, 0x400000, CRC(e29ecaff) SHA1(dcdfe9f59158cec2f02b213ee13f5e40cdb92e55) )
3274 	ROM_LOAD32_WORD("mpr-18975.12",  0x000002, 0x400000, CRC(d8187582) SHA1(34a0b32eeed1a9f41bca8b9261851881b2ba79f2) )
3275 	ROM_LOAD32_WORD("mpr-18976.9",   0x800000, 0x400000, CRC(c95c15eb) SHA1(892063e91b2ed20e0600d4b188da1e9f45a19692) )
3276 	ROM_LOAD32_WORD("mpr-18977.10",  0x800002, 0x400000, CRC(db8f5b6f) SHA1(c11d2c9e1e215aa7b2ebb777639c8cd651901f52) )
3277 
3278 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
3279 	ROM_LOAD32_WORD("mpr-18986.29",  0x000000, 0x400000, CRC(04820f7b) SHA1(5eb6682399b358d77658d82e612b02b724e3f3e1) )
3280 	ROM_LOAD32_WORD("mpr-18987.30",  0x000002, 0x400000, CRC(2419367f) SHA1(0a04a1049d2da486dc9dbb97b383bd24259b78c8) )
3281 
3282 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
3283 	ROM_LOAD32_WORD("mpr-18980.17",  0x000000, 0x400000, CRC(22345534) SHA1(7b8bdcfe88953ce1b2d75af2ce4712ab6507e2cf) )
3284 	ROM_LOAD32_WORD("mpr-18981.21",  0x000002, 0x400000, CRC(2544a33d) SHA1(a76193f70adb6abeba02328b290af5cca47d4e25) )
3285 	ROM_LOAD32_WORD("mpr-18982.18",  0x800000, 0x400000, CRC(d0a92b2a) SHA1(95404baed88cc95b75ff9b9084d09622961d3e57) )
3286 	ROM_LOAD32_WORD("mpr-18983.22",  0x800002, 0x400000, CRC(1b4af982) SHA1(550f8248699b9267da7d2e64002be56972381714) )
3287 
3288 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
3289 	ROM_LOAD32_WORD("mpr-18985.27", 0x000000, 0x400000, CRC(ad6166e3) SHA1(2c487fb743730cacf92dbea952b1efada0f073df) )
3290 	ROM_LOAD32_WORD("mpr-18984.25", 0x000002, 0x400000, CRC(756f6f37) SHA1(095964de773f515d64d65dbc8f8ef9bae97e5ba9) )
3291 
3292 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3293 	ROM_LOAD16_WORD_SWAP("epr-18990.31", 0x000000, 0x080000, CRC(02b1b0d1) SHA1(759b4683dc7149e04f41ddac7bd395e8d07ea858) )
3294 
3295 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3296 	ROM_LOAD16_WORD_SWAP("mpr-18978.32", 0x000000, 0x400000, CRC(0f78b3e3) SHA1(6c2cd6236cb001bb8d487a9b1e9907519dc43daa) )
3297 	ROM_LOAD16_WORD_SWAP("mpr-18979.34", 0x400000, 0x400000, CRC(f13ea36f) SHA1(a8165116b5e07e031ff960201dd8c9a441544961) )
3298 ROM_END
3299 
3300 ROM_START( vf2 ) /* Virtua Fighter 2 Version 2.1, Model 2A */
3301 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3302 	ROM_LOAD32_WORD( "epr-18385.12",    0x000000, 0x020000, CRC(78ed2d41) SHA1(471c19389ceeec6138107dd81863320bd4825327) )
3303 	ROM_LOAD32_WORD( "epr-18386.13",    0x000002, 0x020000, CRC(3418f428) SHA1(0f51e389e13efc172a26471331a60c459ad43c38) )
3304 	ROM_LOAD32_WORD( "epr-18387.14",    0x040000, 0x020000, CRC(124a8453) SHA1(26fb787451824fc6060724e37fe0ba6bb66796cb) )
3305 	ROM_LOAD32_WORD( "epr-18388.15",    0x040002, 0x020000, CRC(8d347980) SHA1(da79e51ad501b9560c4ed7cf1ec768daad93efe0) )
3306 
3307 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3308 	ROM_LOAD32_WORD( "mpr-17560.10", 0x000000, 0x200000, CRC(d1389864) SHA1(88e9a8b6b0f58c96957015179e7ff10f837040e6) )
3309 	ROM_LOAD32_WORD( "mpr-17561.11", 0x000002, 0x200000, CRC(b98d0101) SHA1(e154877380b9250d8119dd4c14ba306c7b337dcd) )
3310 	ROM_LOAD32_WORD( "mpr-17558.8",  0x400000, 0x200000, CRC(4b15f5a6) SHA1(9a34724958fef9b49eae39c6ea136e0cf532154b) )
3311 	ROM_LOAD32_WORD( "mpr-17559.9",  0x400002, 0x200000, CRC(d3264de6) SHA1(2f094ff0b95bf1cd5c283414634ea9597204d374) )
3312 	ROM_LOAD32_WORD( "mpr-17566.6",  0x800000, 0x200000, CRC(fb41ef98) SHA1(ad4d1ba5e5b39b2d87105ae80750284867aa4ed3) )
3313 	ROM_LOAD32_WORD( "mpr-17567.7",  0x800002, 0x200000, CRC(c3396922) SHA1(7e0700ded530e4eb58e9a68cdb92791284c91431) )
3314 	ROM_LOAD32_WORD( "mpr-17564.4",  0xc00000, 0x200000, CRC(d8062489) SHA1(57666b6937f79bb65c43ed02b04a454882d01e61) )
3315 	ROM_LOAD32_WORD( "mpr-17565.5",  0xc00002, 0x200000, CRC(0517c6e9) SHA1(d9ba93998286713758385033119416714674c8d8) )
3316 
3317 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3318 
3319 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3320 	ROM_LOAD32_WORD( "mpr-17554.16", 0x000000, 0x200000, CRC(27896d82) SHA1(c0624e58de2e427465daaa10dbb02ea2a1fd0f1b) )
3321 	ROM_LOAD32_WORD( "mpr-17548.20", 0x000002, 0x200000, CRC(c95facc2) SHA1(09d19abe5d75a335df7510df8abb2d4425159cdf) )
3322 	ROM_LOAD32_WORD( "mpr-17555.17", 0x400000, 0x200000, CRC(4df2810b) SHA1(720c4628d7783f0323b5723b441e13741556241e) )
3323 	ROM_LOAD32_WORD( "mpr-17549.21", 0x400002, 0x200000, CRC(e0bce0e6) SHA1(0570604dc2007288795a3125ffd480bc4b3b0802) )
3324 	ROM_LOAD32_WORD( "mpr-17556.18", 0x800000, 0x200000, CRC(41a47616) SHA1(55b909d2bc2079d0dfed5036c78c9e09bce09843) )
3325 	ROM_LOAD32_WORD( "mpr-17550.22", 0x800002, 0x200000, CRC(c36ff3f5) SHA1(f14fdf275905a90a0d4cc534d90b0302f26676d8) )
3326 
3327 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
3328 	ROM_LOAD32_WORD( "mpr-17553.25", 0x000000, 0x200000, CRC(5da1c5d3) SHA1(c627b25a1f61a9fe9182e2199f70f6e485503c7b) )
3329 	ROM_LOAD32_WORD( "mpr-17552.24", 0x000002, 0x200000, CRC(e91e7427) SHA1(0ac1111f2ecb4f924b5119eaaac8fa7bc87ab9d1) )
3330 	ROM_LOAD32_WORD( "mpr-17547.27", 0x800000, 0x200000, CRC(be940431) SHA1(5c1196a6454a4fead79a930979f2e69639ec2bb9) )
3331 	ROM_LOAD32_WORD( "mpr-17546.26", 0x800002, 0x200000, CRC(042a194b) SHA1(c6d8524dc0a879394f1234b7bb04836081bb3830) )
3332 
3333 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3334 	ROM_LOAD16_WORD_SWAP( "epr-17574.30", 0x000000, 0x080000, CRC(4d4c3a55) SHA1(b6c0c3f0473bd7fc3ef4f5146110dfcc899a5af9) )
3335 
3336 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3337 	ROM_LOAD16_WORD_SWAP( "mpr-17573.31", 0x000000, 0x200000, CRC(e43557fe) SHA1(4c61a135819862df02347c118dc4d88a0adac273) )
3338 	ROM_LOAD16_WORD_SWAP( "mpr-17572.32", 0x200000, 0x200000, CRC(4febecc8) SHA1(9683ea9bedfc5cd7b4a28e9a68792c0dc549d911) )
3339 	ROM_LOAD16_WORD_SWAP( "mpr-17571.36", 0x400000, 0x200000, CRC(51caa584) SHA1(cbbde1c55eddbeeefd283bb5afd79a670a282e3a) )
3340 	ROM_LOAD16_WORD_SWAP( "mpr-17570.37", 0x600000, 0x200000, CRC(bccd324b) SHA1(4c7ebdea08b2dedf621f121785ed1c40ebae4236) )
3341 
3342 	MODEL2_CPU_BOARD
3343 	MODEL2A_VID_BOARD
3344 ROM_END
3345 
3346 ROM_START( vf2b ) /* Virtua Fighter 2 Revision B, Model 2A */
3347 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3348 	ROM_LOAD32_WORD( "epr-17568b.12", 0x000000, 0x020000, CRC(5d966bbf) SHA1(01d46313148ce509fa5641fb07a3f840c00886ac) )
3349 	ROM_LOAD32_WORD( "epr-17569b.13", 0x000002, 0x020000, CRC(0b8c1ccc) SHA1(ba2e0ac8b31955fed237ba9a5eda9fa14d1db11f) )
3350 	ROM_LOAD32_WORD( "epr-17562b.14", 0x040000, 0x020000, CRC(b778d4eb) SHA1(a7162d9c39d601ac92310c8cf2ae388647a5295a) )
3351 	ROM_LOAD32_WORD( "epr-17563b.15", 0x040002, 0x020000, CRC(a05c15f6) SHA1(b9b1f3c68c53a86dfa3cbc85fcb9150546c13f23) )
3352 
3353 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3354 	ROM_LOAD32_WORD( "mpr-17560.10", 0x000000, 0x200000, CRC(d1389864) SHA1(88e9a8b6b0f58c96957015179e7ff10f837040e6) )
3355 	ROM_LOAD32_WORD( "mpr-17561.11", 0x000002, 0x200000, CRC(b98d0101) SHA1(e154877380b9250d8119dd4c14ba306c7b337dcd) )
3356 	ROM_LOAD32_WORD( "mpr-17558.8",  0x400000, 0x200000, CRC(4b15f5a6) SHA1(9a34724958fef9b49eae39c6ea136e0cf532154b) )
3357 	ROM_LOAD32_WORD( "mpr-17559.9",  0x400002, 0x200000, CRC(d3264de6) SHA1(2f094ff0b95bf1cd5c283414634ea9597204d374) )
3358 	ROM_LOAD32_WORD( "mpr-17566.6",  0x800000, 0x200000, CRC(fb41ef98) SHA1(ad4d1ba5e5b39b2d87105ae80750284867aa4ed3) )
3359 	ROM_LOAD32_WORD( "mpr-17567.7",  0x800002, 0x200000, CRC(c3396922) SHA1(7e0700ded530e4eb58e9a68cdb92791284c91431) )
3360 	ROM_LOAD32_WORD( "mpr-17564.4",  0xc00000, 0x200000, CRC(d8062489) SHA1(57666b6937f79bb65c43ed02b04a454882d01e61) )
3361 	ROM_LOAD32_WORD( "mpr-17565.5",  0xc00002, 0x200000, CRC(0517c6e9) SHA1(d9ba93998286713758385033119416714674c8d8) )
3362 
3363 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3364 
3365 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3366 	ROM_LOAD32_WORD( "mpr-17554.16", 0x000000, 0x200000, CRC(27896d82) SHA1(c0624e58de2e427465daaa10dbb02ea2a1fd0f1b) )
3367 	ROM_LOAD32_WORD( "mpr-17548.20", 0x000002, 0x200000, CRC(c95facc2) SHA1(09d19abe5d75a335df7510df8abb2d4425159cdf) )
3368 	ROM_LOAD32_WORD( "mpr-17555.17", 0x400000, 0x200000, CRC(4df2810b) SHA1(720c4628d7783f0323b5723b441e13741556241e) )
3369 	ROM_LOAD32_WORD( "mpr-17549.21", 0x400002, 0x200000, CRC(e0bce0e6) SHA1(0570604dc2007288795a3125ffd480bc4b3b0802) )
3370 	ROM_LOAD32_WORD( "mpr-17556.18", 0x800000, 0x200000, CRC(41a47616) SHA1(55b909d2bc2079d0dfed5036c78c9e09bce09843) )
3371 	ROM_LOAD32_WORD( "mpr-17550.22", 0x800002, 0x200000, CRC(c36ff3f5) SHA1(f14fdf275905a90a0d4cc534d90b0302f26676d8) )
3372 
3373 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
3374 	ROM_LOAD32_WORD( "mpr-17553.25", 0x000000, 0x200000, CRC(5da1c5d3) SHA1(c627b25a1f61a9fe9182e2199f70f6e485503c7b) )
3375 	ROM_LOAD32_WORD( "mpr-17552.24", 0x000002, 0x200000, CRC(e91e7427) SHA1(0ac1111f2ecb4f924b5119eaaac8fa7bc87ab9d1) )
3376 	ROM_LOAD32_WORD( "mpr-17547.27", 0x800000, 0x200000, CRC(be940431) SHA1(5c1196a6454a4fead79a930979f2e69639ec2bb9) )
3377 	ROM_LOAD32_WORD( "mpr-17546.26", 0x800002, 0x200000, CRC(042a194b) SHA1(c6d8524dc0a879394f1234b7bb04836081bb3830) )
3378 
3379 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3380 	ROM_LOAD16_WORD_SWAP( "epr-17574.30", 0x000000, 0x080000, CRC(4d4c3a55) SHA1(b6c0c3f0473bd7fc3ef4f5146110dfcc899a5af9) )
3381 
3382 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3383 	ROM_LOAD16_WORD_SWAP( "mpr-17573.31", 0x000000, 0x200000, CRC(e43557fe) SHA1(4c61a135819862df02347c118dc4d88a0adac273) )
3384 	ROM_LOAD16_WORD_SWAP( "mpr-17572.32", 0x200000, 0x200000, CRC(4febecc8) SHA1(9683ea9bedfc5cd7b4a28e9a68792c0dc549d911) )
3385 	ROM_LOAD16_WORD_SWAP( "mpr-17571.36", 0x400000, 0x200000, CRC(51caa584) SHA1(cbbde1c55eddbeeefd283bb5afd79a670a282e3a) )
3386 	ROM_LOAD16_WORD_SWAP( "mpr-17570.37", 0x600000, 0x200000, CRC(bccd324b) SHA1(4c7ebdea08b2dedf621f121785ed1c40ebae4236) )
3387 
3388 	MODEL2_CPU_BOARD
3389 	MODEL2A_VID_BOARD
3390 ROM_END
3391 
3392 ROM_START( vf2a ) /* Virtua Fighter 2 Revision A, Model 2A */
3393 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3394 	ROM_LOAD32_WORD( "epr-17568a.12", 0x000000, 0x020000, CRC(5b10f232) SHA1(04df1eb9cf094d8dc5118b95028b544b47d5d328) )
3395 	ROM_LOAD32_WORD( "epr-17569a.13", 0x000002, 0x020000, CRC(17c208e0) SHA1(260c762d7853fb1d6f894d4dd954d82dfbc92d2d) )
3396 	ROM_LOAD32_WORD( "epr-17562a.14", 0x040000, 0x020000, CRC(db68a01a) SHA1(1e9d3f09821596d3560bf54f6323ba295ee430d8) )
3397 	ROM_LOAD32_WORD( "epr-17563a.15", 0x040002, 0x020000, CRC(4696439d) SHA1(846fa1435a1a5c9f7f9690e1c810ca89008d1626) )
3398 
3399 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3400 	ROM_LOAD32_WORD( "mpr-17560.10", 0x000000, 0x200000, CRC(d1389864) SHA1(88e9a8b6b0f58c96957015179e7ff10f837040e6) )
3401 	ROM_LOAD32_WORD( "mpr-17561.11", 0x000002, 0x200000, CRC(b98d0101) SHA1(e154877380b9250d8119dd4c14ba306c7b337dcd) )
3402 	ROM_LOAD32_WORD( "mpr-17558.8",  0x400000, 0x200000, CRC(4b15f5a6) SHA1(9a34724958fef9b49eae39c6ea136e0cf532154b) )
3403 	ROM_LOAD32_WORD( "mpr-17559.9",  0x400002, 0x200000, CRC(d3264de6) SHA1(2f094ff0b95bf1cd5c283414634ea9597204d374) )
3404 	ROM_LOAD32_WORD( "mpr-17566.6",  0x800000, 0x200000, CRC(fb41ef98) SHA1(ad4d1ba5e5b39b2d87105ae80750284867aa4ed3) )
3405 	ROM_LOAD32_WORD( "mpr-17567.7",  0x800002, 0x200000, CRC(c3396922) SHA1(7e0700ded530e4eb58e9a68cdb92791284c91431) )
3406 	ROM_LOAD32_WORD( "mpr-17564.4",  0xc00000, 0x200000, CRC(d8062489) SHA1(57666b6937f79bb65c43ed02b04a454882d01e61) )
3407 	ROM_LOAD32_WORD( "mpr-17565.5",  0xc00002, 0x200000, CRC(0517c6e9) SHA1(d9ba93998286713758385033119416714674c8d8) )
3408 
3409 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3410 
3411 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3412 	ROM_LOAD32_WORD( "mpr-17554.16", 0x000000, 0x200000, CRC(27896d82) SHA1(c0624e58de2e427465daaa10dbb02ea2a1fd0f1b) )
3413 	ROM_LOAD32_WORD( "mpr-17548.20", 0x000002, 0x200000, CRC(c95facc2) SHA1(09d19abe5d75a335df7510df8abb2d4425159cdf) )
3414 	ROM_LOAD32_WORD( "mpr-17555.17", 0x400000, 0x200000, CRC(4df2810b) SHA1(720c4628d7783f0323b5723b441e13741556241e) )
3415 	ROM_LOAD32_WORD( "mpr-17549.21", 0x400002, 0x200000, CRC(e0bce0e6) SHA1(0570604dc2007288795a3125ffd480bc4b3b0802) )
3416 	ROM_LOAD32_WORD( "mpr-17556.18", 0x800000, 0x200000, CRC(41a47616) SHA1(55b909d2bc2079d0dfed5036c78c9e09bce09843) )
3417 	ROM_LOAD32_WORD( "mpr-17550.22", 0x800002, 0x200000, CRC(c36ff3f5) SHA1(f14fdf275905a90a0d4cc534d90b0302f26676d8) )
3418 
3419 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
3420 	ROM_LOAD32_WORD( "mpr-17553.25", 0x000000, 0x200000, CRC(5da1c5d3) SHA1(c627b25a1f61a9fe9182e2199f70f6e485503c7b) )
3421 	ROM_LOAD32_WORD( "mpr-17552.24", 0x000002, 0x200000, CRC(e91e7427) SHA1(0ac1111f2ecb4f924b5119eaaac8fa7bc87ab9d1) )
3422 	ROM_LOAD32_WORD( "mpr-17547.27", 0x800000, 0x200000, CRC(be940431) SHA1(5c1196a6454a4fead79a930979f2e69639ec2bb9) )
3423 	ROM_LOAD32_WORD( "mpr-17546.26", 0x800002, 0x200000, CRC(042a194b) SHA1(c6d8524dc0a879394f1234b7bb04836081bb3830) )
3424 
3425 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3426 	ROM_LOAD16_WORD_SWAP( "epr-17574.30", 0x000000, 0x080000, CRC(4d4c3a55) SHA1(b6c0c3f0473bd7fc3ef4f5146110dfcc899a5af9) )
3427 
3428 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3429 	ROM_LOAD16_WORD_SWAP( "mpr-17573.31", 0x000000, 0x200000, CRC(e43557fe) SHA1(4c61a135819862df02347c118dc4d88a0adac273) )
3430 	ROM_LOAD16_WORD_SWAP( "mpr-17572.32", 0x200000, 0x200000, CRC(4febecc8) SHA1(9683ea9bedfc5cd7b4a28e9a68792c0dc549d911) )
3431 	ROM_LOAD16_WORD_SWAP( "mpr-17571.36", 0x400000, 0x200000, CRC(51caa584) SHA1(cbbde1c55eddbeeefd283bb5afd79a670a282e3a) )
3432 	ROM_LOAD16_WORD_SWAP( "mpr-17570.37", 0x600000, 0x200000, CRC(bccd324b) SHA1(4c7ebdea08b2dedf621f121785ed1c40ebae4236) )
3433 
3434 	MODEL2_CPU_BOARD
3435 	MODEL2A_VID_BOARD
3436 ROM_END
3437 
3438 ROM_START( vf2o ) /* Virtua Fighter 2, Model 2A */
3439 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3440 	ROM_LOAD32_WORD( "epr-17568.12", 0x000000, 0x020000, CRC(cf5d53d1) SHA1(4ed907bbfc1a47e51c9cc11f55645752574adaef) )
3441 	ROM_LOAD32_WORD( "epr-17569.13", 0x000002, 0x020000, CRC(0fb32808) SHA1(95efb3eeaf95fb5f79ddae4ef20e2211b07f8d30) )
3442 	ROM_LOAD32_WORD( "epr-17562.14", 0x040000, 0x020000, CRC(b893bcef) SHA1(2f862a7099aa757ee1f2ad8245eb4f8f4fdfb7bc) )
3443 	ROM_LOAD32_WORD( "epr-17563.15", 0x040002, 0x020000, CRC(3b55f5a8) SHA1(b1ca3d4d3568c1652dcd8e546ffff23a4a21a699) )
3444 
3445 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3446 	ROM_LOAD32_WORD( "mpr-17560.10", 0x000000, 0x200000, CRC(d1389864) SHA1(88e9a8b6b0f58c96957015179e7ff10f837040e6) )
3447 	ROM_LOAD32_WORD( "mpr-17561.11", 0x000002, 0x200000, CRC(b98d0101) SHA1(e154877380b9250d8119dd4c14ba306c7b337dcd) )
3448 	ROM_LOAD32_WORD( "mpr-17558.8",  0x400000, 0x200000, CRC(4b15f5a6) SHA1(9a34724958fef9b49eae39c6ea136e0cf532154b) )
3449 	ROM_LOAD32_WORD( "mpr-17559.9",  0x400002, 0x200000, CRC(d3264de6) SHA1(2f094ff0b95bf1cd5c283414634ea9597204d374) )
3450 	ROM_LOAD32_WORD( "mpr-17566.6",  0x800000, 0x200000, CRC(fb41ef98) SHA1(ad4d1ba5e5b39b2d87105ae80750284867aa4ed3) )
3451 	ROM_LOAD32_WORD( "mpr-17567.7",  0x800002, 0x200000, CRC(c3396922) SHA1(7e0700ded530e4eb58e9a68cdb92791284c91431) )
3452 	ROM_LOAD32_WORD( "mpr-17564.4",  0xc00000, 0x200000, CRC(d8062489) SHA1(57666b6937f79bb65c43ed02b04a454882d01e61) )
3453 	ROM_LOAD32_WORD( "mpr-17565.5",  0xc00002, 0x200000, CRC(0517c6e9) SHA1(d9ba93998286713758385033119416714674c8d8) )
3454 
3455 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3456 
3457 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3458 	ROM_LOAD32_WORD( "mpr-17554.16", 0x000000, 0x200000, CRC(27896d82) SHA1(c0624e58de2e427465daaa10dbb02ea2a1fd0f1b) )
3459 	ROM_LOAD32_WORD( "mpr-17548.20", 0x000002, 0x200000, CRC(c95facc2) SHA1(09d19abe5d75a335df7510df8abb2d4425159cdf) )
3460 	ROM_LOAD32_WORD( "mpr-17555.17", 0x400000, 0x200000, CRC(4df2810b) SHA1(720c4628d7783f0323b5723b441e13741556241e) )
3461 	ROM_LOAD32_WORD( "mpr-17549.21", 0x400002, 0x200000, CRC(e0bce0e6) SHA1(0570604dc2007288795a3125ffd480bc4b3b0802) )
3462 	ROM_LOAD32_WORD( "mpr-17556.18", 0x800000, 0x200000, CRC(41a47616) SHA1(55b909d2bc2079d0dfed5036c78c9e09bce09843) )
3463 	ROM_LOAD32_WORD( "mpr-17550.22", 0x800002, 0x200000, CRC(c36ff3f5) SHA1(f14fdf275905a90a0d4cc534d90b0302f26676d8) )
3464 
3465 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
3466 	ROM_LOAD32_WORD( "mpr-17553.25", 0x000000, 0x200000, CRC(5da1c5d3) SHA1(c627b25a1f61a9fe9182e2199f70f6e485503c7b) )
3467 	ROM_LOAD32_WORD( "mpr-17552.24", 0x000002, 0x200000, CRC(e91e7427) SHA1(0ac1111f2ecb4f924b5119eaaac8fa7bc87ab9d1) )
3468 	ROM_LOAD32_WORD( "mpr-17547.27", 0x800000, 0x200000, CRC(be940431) SHA1(5c1196a6454a4fead79a930979f2e69639ec2bb9) )
3469 	ROM_LOAD32_WORD( "mpr-17546.26", 0x800002, 0x200000, CRC(042a194b) SHA1(c6d8524dc0a879394f1234b7bb04836081bb3830) )
3470 
3471 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3472 	ROM_LOAD16_WORD_SWAP( "epr-17574.30", 0x000000, 0x080000, CRC(4d4c3a55) SHA1(b6c0c3f0473bd7fc3ef4f5146110dfcc899a5af9) )
3473 
3474 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3475 	ROM_LOAD16_WORD_SWAP( "mpr-17573.31", 0x000000, 0x200000, CRC(e43557fe) SHA1(4c61a135819862df02347c118dc4d88a0adac273) )
3476 	ROM_LOAD16_WORD_SWAP( "mpr-17572.32", 0x200000, 0x200000, CRC(4febecc8) SHA1(9683ea9bedfc5cd7b4a28e9a68792c0dc549d911) )
3477 	ROM_LOAD16_WORD_SWAP( "mpr-17571.36", 0x400000, 0x200000, CRC(51caa584) SHA1(cbbde1c55eddbeeefd283bb5afd79a670a282e3a) )
3478 	ROM_LOAD16_WORD_SWAP( "mpr-17570.37", 0x600000, 0x200000, CRC(bccd324b) SHA1(4c7ebdea08b2dedf621f121785ed1c40ebae4236) )
3479 
3480 	MODEL2_CPU_BOARD
3481 	MODEL2A_VID_BOARD
3482 ROM_END
3483 
3484 ROM_START( airwlkrs )
3485 	ROM_REGION( 0x200000, "maincpu", 0 )
3486 	ROM_LOAD32_WORD( "j_2-14_ic12_fe7e.12",    0x000000, 0x080000, CRC(8851a8d7) SHA1(fe4b1fab4c641718c026ea54c2b2777f3f206f2c) )
3487 	ROM_LOAD32_WORD( "j_2-14_ic13_d539.13",    0x000002, 0x080000, CRC(72287ee0) SHA1(634d5dcd815883cd03ec633f08e1920adc15c53c) )
3488 
3489 	ROM_REGION32_LE( 0x2400000, "main_data", 0 )
3490 	ROM_LOAD32_WORD( "mpr-19236.10",     0x000000, 0x400000, CRC(3c26e978) SHA1(2503cc3f2d6cfbbf351d3c3fd622dd7412e115b1) )
3491 	ROM_LOAD32_WORD( "mpr-19237.11",     0x000002, 0x400000, CRC(961328b1) SHA1(719b5378bfa4a28071838f2d69079589bc1f0dab) )
3492 	ROM_LOAD32_WORD( "11-7_ic8_d400.8",  0x800000, 0x080000, CRC(37f300bd) SHA1(eb43583917cbf4501e9d21ea721577b36764cc6f) )
3493 	ROM_LOAD32_WORD( "11-7_ic9_6e4a.9",  0x800002, 0x080000, CRC(454e4a09) SHA1(177715de3dffbaed0eaff2d5e859460a650bea42) )
3494 	ROM_COPY( "main_data",     0x800000, 0x900000, 0x100000 )
3495 	ROM_COPY( "main_data",     0x800000, 0xa00000, 0x200000 )
3496 	ROM_COPY( "main_data",     0x800000, 0xc00000, 0x400000 )
3497 
3498 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
3499 
3500 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3501 	ROM_LOAD32_WORD( "mpr-19235.16", 0x000000, 0x200000, CRC(eaad8f92) SHA1(a44094c8d4b91b84e20fad1cf1df77f0bb79837d) )
3502 	ROM_LOAD32_WORD( "mpr-19232.20", 0x000002, 0x200000, CRC(fd153001) SHA1(f36dea1013106c9bfc6c4b2c0e7155de80445197) )
3503 
3504 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF )
3505 	ROM_LOAD32_WORD( "mpr-19234.25", 0x000000, 0x200000, CRC(d7d69493) SHA1(9502d5f7e1ba6c372b7797c1fadd5d9bffd6a553) )
3506 	ROM_LOAD32_WORD( "mpr-19233.24", 0x000002, 0x200000, CRC(7a2e51f1) SHA1(be9c9c9bf9c7c7e3262f6eaf4a7c2eeb62cf0962) )
3507 
3508 	ROM_REGION( 0x080000, "audiocpu", 0 )
3509 	ROM_LOAD16_WORD_SWAP( "10-18_ic30_30f2.30", 0x000000, 0x080000, CRC(de335a79) SHA1(136b13a317d001e58c9b83e63a3372453a1ad27e) )
3510 
3511 	ROM_REGION16_BE( 0x800000, "samples", 0 )
3512 	ROM_LOAD16_WORD_SWAP( "mpr-19243.31", 0x000000, 0x200000, CRC(10f530c0) SHA1(c33c513f921c59323bc91ab1bde83bbd8aafc092) )
3513 	ROM_LOAD16_WORD_SWAP( "mpr-19242.32", 0x200000, 0x200000, CRC(c0772a28) SHA1(85982cb03566067428be96947dc3cf96c4b29c2c) )
3514 	ROM_LOAD16_WORD_SWAP( "mpr-19241.36", 0x400000, 0x200000, CRC(226fa430) SHA1(766e81bed7a224f32eb1d03660da77fd2b2cda8f) )
3515 	ROM_LOAD16_WORD_SWAP( "mpr-19240.37", 0x600000, 0x200000, CRC(fb6edae7) SHA1(28ffaa314f9389acf76be9047f9b95eee1615b73) )
3516 
3517 	MODEL2_CPU_BOARD
3518 	MODEL2A_VID_BOARD
3519 ROM_END
3520 
3521 /* Sega Rally Championship Revision C, Model 2A, Sega game ID# 833-11649 RALLY TWIN, Sega ROM board ID# 834-11618 RALLY TWIN */
3522 ROM_START( srallyc )
3523 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3524 	ROM_LOAD32_WORD( "epr-17888c.12",  0x000000, 0x080000, CRC(3d6808aa) SHA1(33abf9cdcee9583dc600c94e1e29ce260e8c5d32) )
3525 	ROM_LOAD32_WORD( "epr-17889c.13",  0x000002, 0x080000, CRC(f43c7802) SHA1(4b1efb3d5644fed1753da1750bf5c300d3a15d2c) )
3526 
3527 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3528 	ROM_LOAD32_WORD( "mpr-17746.10", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
3529 	ROM_LOAD32_WORD( "mpr-17747.11", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
3530 	ROM_LOAD32_WORD( "mpr-17744.8",  0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
3531 	ROM_LOAD32_WORD( "mpr-17745.9",  0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
3532 	ROM_LOAD32_WORD( "mpr-17884.6",  0x800000, 0x200000, CRC(4cfc95e1) SHA1(81d927b8c4f9d0c4c5e29d676b30f30f83751fdc) )
3533 	ROM_LOAD32_WORD( "mpr-17885.7",  0x800002, 0x200000, CRC(a08d2467) SHA1(9449ac8f8f9ce8d8e536b05a91e46841fed7f2d0) )
3534 
3535 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3536 	ROM_LOAD32_WORD( "mpr-17754.28", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) )
3537 	ROM_LOAD32_WORD( "mpr-17755.29", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) )
3538 
3539 	ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
3540 	ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) )
3541 
3542 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3543 	ROM_LOAD32_WORD( "mpr-17748.16", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
3544 	ROM_LOAD32_WORD( "mpr-17750.20", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
3545 	ROM_LOAD32_WORD( "mpr-17749.17", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
3546 	ROM_LOAD32_WORD( "mpr-17751.21", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
3547 
3548 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3549 	ROM_LOAD32_WORD( "mpr-17753.25", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
3550 	ROM_LOAD32_WORD( "mpr-17752.24", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
3551 
3552 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3553 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
3554 
3555 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3556 	ROM_LOAD16_WORD_SWAP( "epr-17890a.30", 0x000000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
3557 
3558 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3559 	ROM_LOAD16_WORD_SWAP( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
3560 	ROM_LOAD16_WORD_SWAP( "mpr-17757.32", 0x200000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
3561 	ROM_LOAD16_WORD_SWAP( "mpr-17886.36", 0x400000, 0x200000, CRC(54a72923) SHA1(103c4838b27378c834c08d29d6fb6ba95e7f9d03) )
3562 	ROM_LOAD16_WORD_SWAP( "mpr-17887.37", 0x600000, 0x200000, CRC(38c31fdd) SHA1(a85f05160b060d9d4a431aaa73cfc03f24214fb9) )
3563 
3564 	MODEL2_CPU_BOARD
3565 	MODEL2A_VID_BOARD
3566 ROM_END
3567 
3568 ROM_START( srallycb ) /* Sega Rally Championship Revision B, Model 2A, Sega game ID# 833-11649 RALLY TWIN, Sega ROM board ID# 834-11618 RALLY TWIN */
3569 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3570 	ROM_LOAD32_WORD( "epr-17888b.12",  0x000000, 0x080000, CRC(95bce0b9) SHA1(9b293b430db14cfab35466d2f9a1e3f7e2df3143) )
3571 	ROM_LOAD32_WORD( "epr-17889b.13",  0x000002, 0x080000, CRC(395c425e) SHA1(9868d2b79255120abfdb7f9c0930a607aeef5363) )
3572 
3573 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3574 	ROM_LOAD32_WORD( "mpr-17746.10", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
3575 	ROM_LOAD32_WORD( "mpr-17747.11", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
3576 	ROM_LOAD32_WORD( "mpr-17744.8",  0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
3577 	ROM_LOAD32_WORD( "mpr-17745.9",  0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
3578 	ROM_LOAD32_WORD( "mpr-17884.6",  0x800000, 0x200000, CRC(4cfc95e1) SHA1(81d927b8c4f9d0c4c5e29d676b30f30f83751fdc) )
3579 	ROM_LOAD32_WORD( "mpr-17885.7",  0x800002, 0x200000, CRC(a08d2467) SHA1(9449ac8f8f9ce8d8e536b05a91e46841fed7f2d0) )
3580 
3581 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3582 	ROM_LOAD32_WORD( "mpr-17754.28", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) )
3583 	ROM_LOAD32_WORD( "mpr-17755.29", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) )
3584 
3585 	ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
3586 	ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) )
3587 
3588 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3589 	ROM_LOAD32_WORD( "mpr-17748.16", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
3590 	ROM_LOAD32_WORD( "mpr-17750.20", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
3591 	ROM_LOAD32_WORD( "mpr-17749.17", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
3592 	ROM_LOAD32_WORD( "mpr-17751.21", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
3593 
3594 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3595 	ROM_LOAD32_WORD( "mpr-17753.25", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
3596 	ROM_LOAD32_WORD( "mpr-17752.24", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
3597 
3598 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3599 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
3600 
3601 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3602 	ROM_LOAD16_WORD_SWAP( "epr-17890a.30", 0x000000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
3603 
3604 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3605 	ROM_LOAD16_WORD_SWAP( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
3606 	ROM_LOAD16_WORD_SWAP( "mpr-17757.32", 0x200000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
3607 	ROM_LOAD16_WORD_SWAP( "mpr-17886.36", 0x400000, 0x200000, CRC(54a72923) SHA1(103c4838b27378c834c08d29d6fb6ba95e7f9d03) )
3608 	ROM_LOAD16_WORD_SWAP( "mpr-17887.37", 0x600000, 0x200000, CRC(38c31fdd) SHA1(a85f05160b060d9d4a431aaa73cfc03f24214fb9) )
3609 
3610 	MODEL2_CPU_BOARD
3611 	MODEL2A_VID_BOARD
3612 ROM_END
3613 
3614 ROM_START( srallycc ) /* Sega Rally Championship Revision A, Model 2A, Sega game ID# 833-11649 RALLY TWIN, Sega ROM board ID# 834-11618 RALLY TWIN */
3615 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3616 	ROM_LOAD32_WORD( "epr-17888a.12",  0x000000, 0x080000, CRC(7f71fe46) SHA1(cca55b2ce837b1147a31666c1d4e2ecc793447c8) )
3617 	ROM_LOAD32_WORD( "epr-17889a.13",  0x000002, 0x080000, CRC(6d99b766) SHA1(720e1d8090746c9baa55682e33ba485cf64a1522) )
3618 
3619 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3620 	ROM_LOAD32_WORD( "mpr-17746.10", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
3621 	ROM_LOAD32_WORD( "mpr-17747.11", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
3622 	ROM_LOAD32_WORD( "mpr-17744.8",  0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
3623 	ROM_LOAD32_WORD( "mpr-17745.9",  0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
3624 	ROM_LOAD32_WORD( "mpr-17884.6",  0x800000, 0x200000, CRC(4cfc95e1) SHA1(81d927b8c4f9d0c4c5e29d676b30f30f83751fdc) )
3625 	ROM_LOAD32_WORD( "mpr-17885.7",  0x800002, 0x200000, CRC(a08d2467) SHA1(9449ac8f8f9ce8d8e536b05a91e46841fed7f2d0) )
3626 
3627 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3628 	ROM_LOAD32_WORD( "mpr-17754.28", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) )
3629 	ROM_LOAD32_WORD( "mpr-17755.29", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) )
3630 
3631 	ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
3632 	ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) )
3633 
3634 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3635 	ROM_LOAD32_WORD( "mpr-17748.16", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
3636 	ROM_LOAD32_WORD( "mpr-17750.20", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
3637 	ROM_LOAD32_WORD( "mpr-17749.17", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
3638 	ROM_LOAD32_WORD( "mpr-17751.21", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
3639 
3640 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3641 	ROM_LOAD32_WORD( "mpr-17753.25", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
3642 	ROM_LOAD32_WORD( "mpr-17752.24", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
3643 
3644 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3645 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
3646 
3647 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3648 	ROM_LOAD16_WORD_SWAP( "epr-17890a.30", 0x000000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
3649 
3650 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3651 	ROM_LOAD16_WORD_SWAP( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
3652 	ROM_LOAD16_WORD_SWAP( "mpr-17757.32", 0x200000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
3653 	ROM_LOAD16_WORD_SWAP( "mpr-17886.36", 0x400000, 0x200000, CRC(54a72923) SHA1(103c4838b27378c834c08d29d6fb6ba95e7f9d03) )
3654 	ROM_LOAD16_WORD_SWAP( "mpr-17887.37", 0x600000, 0x200000, CRC(38c31fdd) SHA1(a85f05160b060d9d4a431aaa73cfc03f24214fb9) )
3655 
3656 	MODEL2_CPU_BOARD
3657 	MODEL2A_VID_BOARD
3658 ROM_END
3659 
3660 ROM_START( srallycdx ) /* Sega Rally Championship DX Revision A, Model 2A - Single player cabinet - NO LINK option!, Sega ROM board ID# 834-11254 RALLY 50 */
3661 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3662 	ROM_LOAD32_WORD( "epr-17760a.12",  0x000000, 0x020000, CRC(2c1b996b) SHA1(28c1196aac1c242e61069ee809c9e8229c061950) ) /* AMD 27C1024 EPROM */
3663 	ROM_LOAD32_WORD( "epr-17761a.13",  0x000002, 0x020000, CRC(50813f66) SHA1(f27ffb314e06fa18d863fdf172dafe56122cd606) ) /* AMD 27C1024 EPROM */
3664 
3665 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3666 	ROM_LOAD32_WORD( "mpr-17746.10", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
3667 	ROM_LOAD32_WORD( "mpr-17747.11", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
3668 	ROM_LOAD32_WORD( "mpr-17744.8",  0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
3669 	ROM_LOAD32_WORD( "mpr-17745.9",  0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
3670 	ROM_LOAD32_WORD( "mpr-17764a.6", 0x800000, 0x200000, CRC(dcb91e31) SHA1(2725268e97b9f4c14d56c040af38bc82f5020e3e) ) // IC 6 and 7 likely EPROMs
3671 	ROM_LOAD32_WORD( "mpr-17765a.7", 0x800002, 0x200000, CRC(b657dc48) SHA1(ae0f1bc6e2479fa51ca36f8be3a1785981c4dfe9) )
3672 
3673 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3674 	ROM_LOAD32_WORD( "mpr-17754.28", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) )
3675 	ROM_LOAD32_WORD( "mpr-17755.29", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) )
3676 
3677 	ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
3678 	ROM_LOAD( "epr-17762.ic12", 0x000000, 0x010000, NO_DUMP ) /* Need to verify actual EPR-xxxx number, might be EPR-17759 */
3679 	ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) ) /* REMOVE when EPR-17762 is dumped & added */
3680 
3681 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3682 	ROM_LOAD32_WORD( "mpr-17748.16", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
3683 	ROM_LOAD32_WORD( "mpr-17750.20", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
3684 	ROM_LOAD32_WORD( "mpr-17749.17", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
3685 	ROM_LOAD32_WORD( "mpr-17751.21", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
3686 
3687 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3688 	ROM_LOAD32_WORD( "mpr-17753.25", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
3689 	ROM_LOAD32_WORD( "mpr-17752.24", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
3690 
3691 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3692 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
3693 
3694 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3695 	ROM_LOAD16_WORD_SWAP( "epr-17763.30",  0x000000, 0x040000, CRC(b490028e) SHA1(e1e7b7f54f0b1072f6344327a8232a0dbbdf27a1) ) /* Number verified via Sega Rally Champ DX manual */
3696 
3697 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3698 	ROM_LOAD16_WORD_SWAP( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
3699 	ROM_LOAD16_WORD_SWAP( "mpr-17757.32", 0x200000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
3700 	ROM_LOAD16_WORD_SWAP( "mpr-17758.36", 0x400000, 0x200000, CRC(47e0fa82) SHA1(f71acecef4f3c8e7d5106a9c160abf8ed4ed01af) ) /* Number verified via Sega Rally Champ DX manual */
3701 	/* The DX version doesn't have any sound rom at IC37 */
3702 
3703 	MODEL2_CPU_BOARD
3704 	MODEL2A_VID_BOARD
3705 ROM_END
3706 
3707 ROM_START( srallycdxa ) // Sega Rally Championship DX, Model 2A? - Single player cabinet - NO LINK option!
3708 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3709 	ROM_LOAD32_WORD( "epr-17760.12",  0x000000, 0x020000, CRC(2b5c4321) SHA1(5bcdd8cdfd8f3a95062f83be4a417ba999b50e47) ) // AMD 27C1024 EPROM
3710 	ROM_LOAD32_WORD( "epr-17761.13",  0x000002, 0x020000, CRC(50813f66) SHA1(f27ffb314e06fa18d863fdf172dafe56122cd606) ) // AMD 27C1024 EPROM
3711 
3712 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3713 	ROM_LOAD32_WORD( "mpr-17746.10", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
3714 	ROM_LOAD32_WORD( "mpr-17747.11", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
3715 	ROM_LOAD32_WORD( "mpr-17744.8",  0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
3716 	ROM_LOAD32_WORD( "mpr-17745.9",  0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
3717 	ROM_LOAD32_WORD( "epr-17764.6",  0x800000, 0x100000, CRC(68254fcf) SHA1(d90d962b5f81d6598fc9d94c44d9cee71767fc26) ) // NEC D27C8000D EPROM
3718 	ROM_LOAD32_WORD( "epr-17765.7",  0x800002, 0x100000, CRC(81112ea5) SHA1(a0251b4f5f18ae2e2d0576087a687dd7c2e49c34) ) // NEC D27C8000D EPROM
3719 
3720 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3721 	ROM_LOAD32_WORD( "mpr-17754.28", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) ) // not present in this rev memory test, why ?
3722 	ROM_LOAD32_WORD( "mpr-17755.29", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) ) //
3723 
3724 	ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
3725 	ROM_LOAD( "epr-17762.ic12", 0x000000, 0x010000, NO_DUMP ) /* Need to verify actual EPR-xxxx number, might be EPR-17759 */
3726 	ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) ) /* REMOVE when EPR-17762 is dumped & added */
3727 
3728 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3729 	ROM_LOAD32_WORD( "mpr-17748.16", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
3730 	ROM_LOAD32_WORD( "mpr-17750.20", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
3731 	ROM_LOAD32_WORD( "mpr-17749.17", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
3732 	ROM_LOAD32_WORD( "mpr-17751.21", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
3733 
3734 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3735 	ROM_LOAD32_WORD( "mpr-17753.25", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
3736 	ROM_LOAD32_WORD( "mpr-17752.24", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
3737 
3738 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3739 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
3740 
3741 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3742 	ROM_LOAD16_WORD_SWAP( "epr-17763.30",  0x000000, 0x040000, CRC(b490028e) SHA1(e1e7b7f54f0b1072f6344327a8232a0dbbdf27a1) ) /* Number verified via Sega Rally Champ DX manual */
3743 
3744 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3745 	ROM_LOAD16_WORD_SWAP( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
3746 	ROM_LOAD16_WORD_SWAP( "mpr-17757.32", 0x200000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
3747 	ROM_LOAD16_WORD_SWAP( "mpr-17758.36", 0x400000, 0x200000, CRC(47e0fa82) SHA1(f71acecef4f3c8e7d5106a9c160abf8ed4ed01af) ) /* Number verified via Sega Rally Champ DX manual */
3748 	/* The DX version doesn't have any sound rom at IC37 */
3749 
3750 	MODEL2_CPU_BOARD
3751 	MODEL2A_VID_BOARD
3752 ROM_END
3753 
3754 /*
3755 
3756 Manx TT
3757 
3758 837-10848-01-91  Model2 A-CRX CPU BD
3759 837-10849-02     Model2 A-CRX VIDEO BD
3760 837-12396        COMM BD MANX TT
3761 
3762 837-12279        SOUND BD MANX T.T (for DX only)
3763 
3764 Rom boards:
3765  834-12467  ROM BD MANX T.T TWIN
3766  834-12277  ROM BD MANX T.T DX
3767 
3768 Known missing roms:
3769 
3770 Manx TT DX
3771 EPR-18742 - Sound CPU rom (on Sound BD)
3772 MPR-18743 - Sound Samples (on Sound BD)
3773 EPR-18744.12 - Program rom
3774 EPR-18745.13 - Program rom
3775 EPR-18784.14 - Program rom*
3776 EPR-18785.15 - Program rom*
3777 EPR-18746.30 - Sound CPU rom*
3778 EPR-18767.5  - Data*
3779 EPR-18768.4  - Data*
3780 
3781 EPR-18763.31 & alt sound CPU code EPR-18924a.30 are dumped
3782 
3783 * Note: The manual scan was low-res and these numbers might be incorrect as they were VERY hard to read!
3784 
3785 */
3786 
3787 ROM_START( manxtt ) /* Manx TT Superbike Twin Revision D, Model 2A - Can be set to Twin or Deluxe - Found in DX setup */
3788 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3789 	ROM_LOAD32_WORD( "epr-18822d.12", 0x000000, 0x020000, CRC(4f435990) SHA1(0fcf64598384012caea27394280de89a9348a47d) )
3790 	ROM_LOAD32_WORD( "epr-18823d.13", 0x000002, 0x020000, CRC(b8eddb5c) SHA1(7e3b97e3370e68d92922e8999246064196610270) )
3791 	ROM_LOAD32_WORD( "epr-18824d.14", 0x040000, 0x020000, CRC(aca9f61f) SHA1(629db70371ea9986ef75557044b5e98329712418) )
3792 	ROM_LOAD32_WORD( "epr-18825d.15", 0x040002, 0x020000, CRC(5a1d7799) SHA1(bb5e8a5a3b766b5dc4285ecba330094caf8a71e6) )
3793 
3794 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3795 	ROM_LOAD32_WORD( "mpr-18751.10", 0x000000, 0x200000, CRC(773ad43d) SHA1(4d1601dc08a08b724e33e7cd90a4f22e18cfed9c) )
3796 	ROM_LOAD32_WORD( "mpr-18752.11", 0x000002, 0x200000, CRC(4da3719e) SHA1(24007e4ae3ba1a06321328d14e2bd6002fa1936e) )
3797 	ROM_LOAD32_WORD( "mpr-18749.8", 0x400000, 0x200000, CRC(c3fe0eea) SHA1(ada21405a136935ac4da1a3535c25fccf903f2d1) )
3798 	ROM_LOAD32_WORD( "mpr-18750.9", 0x400002, 0x200000, CRC(40b55494) SHA1(d98ae5518c5d31b155b1a7c4f7d9d67f44d7beae) )
3799 	ROM_LOAD32_WORD( "mpr-18747.6", 0x800000, 0x200000, CRC(a65ec1e8) SHA1(92636bdff0ae4cdb43dfc2986fad2d1b59469323) )
3800 	ROM_LOAD32_WORD( "mpr-18748.7", 0x800002, 0x200000, CRC(375e3748) SHA1(6c2e903dd073b130bcabb347631b876dc868b494) )
3801 	ROM_LOAD32_WORD( "epr-18862.4", 0xc00000, 0x080000, CRC(9adc3a30) SHA1(029db946338f8e0eccace8590082cc96bdf13e31) )
3802 	ROM_LOAD32_WORD( "epr-18863.5", 0xc00002, 0x080000, CRC(603742e9) SHA1(f78a5f7e582d313880c734158bb0fa68b256a58a) )
3803 	ROM_COPY( "main_data", 0xc00000, 0xd00000, 0x100000 )
3804 	ROM_COPY( "main_data", 0xc00000, 0xe00000, 0x100000 )
3805 	ROM_COPY( "main_data", 0xc00000, 0xf00000, 0x100000 )
3806 
3807 	ROM_REGION( 0x1000000, "polygons", ROMREGION_ERASEFF ) // Models
3808 	ROM_LOAD32_WORD( "mpr-18753.16", 0x000000, 0x200000, CRC(33ddaa0d) SHA1(26f643d6b9cecf08bd249290a670a0edea1b5be4) )
3809 	ROM_LOAD32_WORD( "mpr-18756.20", 0x000002, 0x200000, CRC(28713617) SHA1(fc2a6258387a1bc3fae2109b2dae6dd2a1984ab5) )
3810 	ROM_LOAD32_WORD( "mpr-18754.17", 0x400000, 0x200000, CRC(09aabde5) SHA1(e50646efb2ca59792833ce91398c4efa861ad6d1) )
3811 	ROM_LOAD32_WORD( "mpr-18757.21", 0x400002, 0x200000, CRC(25fc92e9) SHA1(226c4c7289b3b6009c1ffea4a171e3fb4e31a67c) )
3812 	ROM_LOAD32_WORD( "mpr-18755.18", 0x800000, 0x200000, CRC(bf094d9e) SHA1(2cd7130b226a28098191a6caf6fd761bb0bfac7b) )
3813 	ROM_LOAD32_WORD( "mpr-18758.22", 0x800002, 0x200000, CRC(1b5473d0) SHA1(658e33503f6990f4d9a954c63efad5f53d15f3a4) )
3814 
3815 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3816 	ROM_LOAD32_WORD( "mpr-18761.28", 0x000000, 0x200000, CRC(4e39ec05) SHA1(50696cd320f1a6492e0c193713acbce085d959cd) )
3817 	ROM_LOAD32_WORD( "mpr-18762.29", 0x000002, 0x200000, CRC(4ab165d8) SHA1(7ff42a4c7236fec76f94f2d0c5537e503bcc98e5) )
3818 
3819 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
3820 	ROM_LOAD32_WORD( "mpr-18760.25", 0x000000, 0x200000, CRC(4e3a4a89) SHA1(bba6cd2a15b3f963388a3a87880da86b10f6e0a2) )
3821 	ROM_LOAD32_WORD( "mpr-18759.24", 0x000002, 0x200000, CRC(278d8742) SHA1(5f285fc8cfe88c00ba2bbe1b509b49abd38e00ec) )
3822 
3823 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3824 	ROM_LOAD16_WORD_SWAP( "epr-18924a.30", 0x000000, 0x040000, CRC(ad6f40ec) SHA1(27aa0477dc325162766d459ffe95b61ee65dd28f) ) /* Sound program for DX set */
3825 
3826 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3827 	ROM_LOAD16_WORD_SWAP( "mpr-18763.31", 0x000000, 0x200000, CRC(1bcb2283) SHA1(a4a8a2f8f0901bfb57778351210ccfc421cacbd4) ) /* Sound sample for DX set */
3828 	ROM_LOAD16_WORD_SWAP( "mpr-18764.32", 0x200000, 0x200000, CRC(0dc6a860) SHA1(cb2ada0f8a592940de11ee781ad4beb5095c3b37) )
3829 	ROM_LOAD16_WORD_SWAP( "mpr-18765.36", 0x400000, 0x200000, CRC(ca4a803c) SHA1(70b59da8f2532a02e980caba5bb86ec13a4d7ab5) )
3830 	ROM_LOAD16_WORD_SWAP( "mpr-18766.37", 0x600000, 0x200000, CRC(e41892ea) SHA1(9ef5e26db4abf0ed36df63fc246b568e1c5d6cfa) )
3831 
3832 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
3833 	ROM_LOAD16_WORD_SWAP("epr-18742.7", 0x000000, 0x020000, CRC(1b78da74) SHA1(939b0f2413ae3c11fac11b49ab8b0de2c5e35e61) )
3834 
3835 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
3836 	ROM_LOAD("mpr-18743.32", 0x000000, 0x200000, CRC(17e84e15) SHA1(8437cddc4c4d729e886a5ab076885a54bb7a30d0) )
3837 
3838 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, ROMREGION_ERASE00 ) // Samples
3839 
3840 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3841 	ROM_LOAD16_WORD_SWAP( "epr-18643a.7", 0x000000, 0x020000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
3842 
3843 	MODEL2_CPU_BOARD
3844 	MODEL2A_VID_BOARD
3845 ROM_END
3846 
3847 ROM_START( manxttc ) /* Manx TT Superbike Twin Revision C, Model 2A */
3848 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3849 	ROM_LOAD32_WORD( "epr-18822c.12",  0x000000, 0x020000, CRC(c7b3e45a) SHA1(d3a6910bf6efc138e0e40332219b90dea7d6ea56) )
3850 	ROM_LOAD32_WORD( "epr-18823c.13",  0x000002, 0x020000, CRC(6b0c1dfb) SHA1(6da5c071e3ce842a99f928f473d4ccf7165785ac) )
3851 	ROM_LOAD32_WORD( "epr-18824c.14",  0x040000, 0x020000, CRC(352bb817) SHA1(389cbf951ba606acb9ab7bff5cda85d9166e64ff) )
3852 	ROM_LOAD32_WORD( "epr-18825c.15",  0x040002, 0x020000, CRC(f88b036c) SHA1(f6196e8da5e6579fe3fa5c24ab9538964c98e267) )
3853 
3854 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3855 	ROM_LOAD32_WORD( "mpr-18751.10",  0x000000, 0x200000, CRC(773ad43d) SHA1(4d1601dc08a08b724e33e7cd90a4f22e18cfed9c) )
3856 	ROM_LOAD32_WORD( "mpr-18752.11",  0x000002, 0x200000, CRC(4da3719e) SHA1(24007e4ae3ba1a06321328d14e2bd6002fa1936e) )
3857 	ROM_LOAD32_WORD( "mpr-18749.8",   0x400000, 0x200000, CRC(c3fe0eea) SHA1(ada21405a136935ac4da1a3535c25fccf903f2d1) )
3858 	ROM_LOAD32_WORD( "mpr-18750.9",   0x400002, 0x200000, CRC(40b55494) SHA1(d98ae5518c5d31b155b1a7c4f7d9d67f44d7beae) )
3859 	ROM_LOAD32_WORD( "mpr-18747.6",   0x800000, 0x200000, CRC(a65ec1e8) SHA1(92636bdff0ae4cdb43dfc2986fad2d1b59469323) )
3860 	ROM_LOAD32_WORD( "mpr-18748.7",   0x800002, 0x200000, CRC(375e3748) SHA1(6c2e903dd073b130bcabb347631b876dc868b494) )
3861 	ROM_LOAD32_WORD( "epr-18862.4",   0xc00000, 0x080000, CRC(9adc3a30) SHA1(029db946338f8e0eccace8590082cc96bdf13e31) )
3862 	ROM_LOAD32_WORD( "epr-18863.5",   0xc00002, 0x080000, CRC(603742e9) SHA1(f78a5f7e582d313880c734158bb0fa68b256a58a) )
3863 	ROM_COPY( "main_data", 0xc00000, 0xd00000, 0x100000 )
3864 	ROM_COPY( "main_data", 0xc00000, 0xe00000, 0x100000 )
3865 	ROM_COPY( "main_data", 0xc00000, 0xf00000, 0x100000 )
3866 
3867 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3868 	ROM_LOAD32_WORD( "mpr-18753.16", 0x000000, 0x200000, CRC(33ddaa0d) SHA1(26f643d6b9cecf08bd249290a670a0edea1b5be4) )
3869 	ROM_LOAD32_WORD( "mpr-18756.20", 0x000002, 0x200000, CRC(28713617) SHA1(fc2a6258387a1bc3fae2109b2dae6dd2a1984ab5) )
3870 	ROM_LOAD32_WORD( "mpr-18754.17", 0x400000, 0x200000, CRC(09aabde5) SHA1(e50646efb2ca59792833ce91398c4efa861ad6d1) )
3871 	ROM_LOAD32_WORD( "mpr-18757.21", 0x400002, 0x200000, CRC(25fc92e9) SHA1(226c4c7289b3b6009c1ffea4a171e3fb4e31a67c) )
3872 	ROM_LOAD32_WORD( "mpr-18755.18", 0x800000, 0x200000, CRC(bf094d9e) SHA1(2cd7130b226a28098191a6caf6fd761bb0bfac7b) )
3873 	ROM_LOAD32_WORD( "mpr-18758.22", 0x800002, 0x200000, CRC(1b5473d0) SHA1(658e33503f6990f4d9a954c63efad5f53d15f3a4) )
3874 
3875 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3876 	ROM_LOAD32_WORD( "mpr-18761.28", 0x000000, 0x200000, CRC(4e39ec05) SHA1(50696cd320f1a6492e0c193713acbce085d959cd) )
3877 	ROM_LOAD32_WORD( "mpr-18762.29", 0x000002, 0x200000, CRC(4ab165d8) SHA1(7ff42a4c7236fec76f94f2d0c5537e503bcc98e5) )
3878 
3879 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3880 	ROM_LOAD32_WORD( "mpr-18760.25", 0x000000, 0x200000, CRC(4e3a4a89) SHA1(bba6cd2a15b3f963388a3a87880da86b10f6e0a2) )
3881 	ROM_LOAD32_WORD( "mpr-18759.24", 0x000002, 0x200000, CRC(278d8742) SHA1(5f285fc8cfe88c00ba2bbe1b509b49abd38e00ec) )
3882 
3883 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3884 	ROM_LOAD16_WORD_SWAP( "epr-18826.30", 0x000000, 0x040000, CRC(ed9fe4c1) SHA1(c3dd8a1324a4dc9b012bd9bf21d1f48578870f72) ) /* Sound program for Twin set */
3885 //  ROM_LOAD16_WORD_SWAP( "epr-18924a.30", 0x000000, 0x040000, CRC(ad6f40ec) SHA1(27aa0477dc325162766d459ffe95b61ee65dd28f) ) /* Sound program for ?? set */
3886 
3887 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3888 	ROM_LOAD16_WORD_SWAP( "mpr-18827.31", 0x000000, 0x200000, CRC(58d78ca1) SHA1(95275ed8315c044bfde2f23c10416f22627b34df) ) /* Sound sample for Twin set */
3889 //  ROM_LOAD16_WORD_SWAP( "mpr-18763.31", 0x000000, 0x200000, CRC(1bcb2283) SHA1(a4a8a2f8f0901bfb57778351210ccfc421cacbd4) ) /* Sound sample for DX set */
3890 	ROM_LOAD16_WORD_SWAP( "mpr-18764.32", 0x200000, 0x200000, CRC(0dc6a860) SHA1(cb2ada0f8a592940de11ee781ad4beb5095c3b37) )
3891 	ROM_LOAD16_WORD_SWAP( "mpr-18765.36", 0x400000, 0x200000, CRC(ca4a803c) SHA1(70b59da8f2532a02e980caba5bb86ec13a4d7ab5) )
3892 	ROM_LOAD16_WORD_SWAP( "mpr-18766.37", 0x600000, 0x200000, CRC(e41892ea) SHA1(9ef5e26db4abf0ed36df63fc246b568e1c5d6cfa) )
3893 
3894 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
3895 	ROM_LOAD16_WORD_SWAP( "epr-18643.7",  0x000000, 0x020000, CRC(7166fca7) SHA1(f5d02906b64bb2fd1af8e3772c1b01a4e006c060) )
3896 //  ROM_LOAD16_WORD_SWAP( "epr-18643a.7", 0x000000, 0x020000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) ) /* COMM boards found with either revision */
3897 
3898 	MODEL2_CPU_BOARD
3899 	MODEL2A_VID_BOARD
3900 ROM_END
3901 
3902 ROM_START( motoraid ) /* Motor Raid, Model 2A, Sega game ID# 833-13232 MOTOR RAID TWIN, Sega ROM board ID# 834-13233  */
3903 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3904 	ROM_LOAD32_WORD( "epr-20007.12",  0x000000, 0x080000, CRC(f040c108) SHA1(a6a0fa8fb9d62d0cc2ac84ea3ad457953952d980) )
3905 	ROM_LOAD32_WORD( "epr-20008.13",  0x000002, 0x080000, CRC(78976e1a) SHA1(fd15e8c81b3b2f3bdf3bb8d9414b9b8a6f1f000f) )
3906 
3907 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3908 	ROM_LOAD32_WORD( "mpr-20019.10",   0x0000000, 0x400000, CRC(49053727) SHA1(0543d19d1d60b1d12b4409c1491782f2232da685) )
3909 	ROM_LOAD32_WORD( "mpr-20020.11",   0x0000002, 0x400000, CRC(cc5ddb15) SHA1(19e15e0e9ec1bb5d1b789876778fbb487cfea1ba) )
3910 	ROM_LOAD32_WORD( "mpr-20017.8",    0x0800000, 0x400000, CRC(4e206acd) SHA1(b48b5bd3a2f68c62d16516a037fbd45f49283d23) )
3911 	ROM_LOAD32_WORD( "mpr-20018.9",    0x0800002, 0x400000, CRC(e7ed0e85) SHA1(78a0c72095a664c4b6e529beea46a31ae0a99e5a) )
3912 	ROM_LOAD32_WORD( "mpr-20015.6",    0x1000000, 0x400000, CRC(23427339) SHA1(3e37cfcb4dcc8976805934faf8805cd83acde66e) )
3913 	ROM_LOAD32_WORD( "mpr-20016.7",    0x1000002, 0x400000, CRC(c99a83f4) SHA1(b057d61478f7dc7a32ad233473f1a63498b3779e) )
3914 	ROM_LOAD32_WORD( "epr-20013.4",    0x1800000, 0x080000, CRC(a4478f52) SHA1(28f430319b34e715ca57ce4e01be23a786eab4bc) )
3915 	ROM_LOAD32_WORD( "epr-20014.5",    0x1800002, 0x080000, CRC(1aa541be) SHA1(c4cc61a42e89aaae075ad1b6e8df2907c5710d3e) )
3916 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 ) // rgn,srcoffset,offset,length.
3917 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
3918 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
3919 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
3920 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
3921 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
3922 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
3923 
3924 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3925 	ROM_LOAD32_WORD( "mpr-20023.16", 0x0000000, 0x400000, CRC(016be8d6) SHA1(804f69cd342e25cf1bed48e778981d67c4d1c9c7) )
3926 	ROM_LOAD32_WORD( "mpr-20026.20", 0x0000002, 0x400000, CRC(20044a30) SHA1(46be0cc2b8a4a3f530d081d11c6099d814977270) )
3927 	ROM_LOAD32_WORD( "mpr-20024.17", 0x0800000, 0x400000, CRC(62fd2d5b) SHA1(6a386a666ae57da5e47364da7b97da9c913710ef) )
3928 	ROM_LOAD32_WORD( "mpr-20027.21", 0x0800002, 0x400000, CRC(b2504ea6) SHA1(17c23c64b1080ab6a8eb282cabcd7d7612193045) )
3929 	ROM_LOAD32_WORD( "mpr-20025.18", 0x1000000, 0x400000, CRC(d4ecd0be) SHA1(9df0d1db32b818dad28f9eeab3bc19c56d27ec6d) )
3930 	ROM_LOAD32_WORD( "mpr-20028.22", 0x1000002, 0x400000, CRC(3147e0e1) SHA1(9aa0e13c8dc5073a603279a538cc7662531dfd19) )
3931 
3932 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3933 	ROM_LOAD32_WORD( "epr-20011.28", 0x000000, 0x100000, CRC(794c026c) SHA1(85abd667491fd019ee18ba256fd580356f4e1fe9) )
3934 	ROM_LOAD32_WORD( "epr-20012.29", 0x000002, 0x100000, CRC(f53db4e3) SHA1(4474610eed52248e5e36be438eff5d39f076b134) )
3935 
3936 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3937 	ROM_LOAD32_WORD( "mpr-20022.25", 0x000000, 0x400000, CRC(9e47b3c2) SHA1(c73279e837f56c0417c07ba3c642af28fe9a24fa) )
3938 	ROM_LOAD32_WORD( "mpr-20021.24", 0x000002, 0x400000, CRC(3cbf36cb) SHA1(059cea17f9d6f5960d9fd869c36ffb6fcf230c1a) )
3939 
3940 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3941 	ROM_LOAD16_WORD_SWAP( "epr-20029.30", 0x000000, 0x080000, CRC(927d31b9) SHA1(e7a18ccf5a0b9ebf18ae1d5518973fa3b4eb4653) )
3942 
3943 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3944 	ROM_LOAD16_WORD_SWAP( "mpr-20030.31", 0x000000, 0x200000, CRC(b70ab686) SHA1(006911ce6332091d17808855c60a72fe928df778) )
3945 	ROM_LOAD16_WORD_SWAP( "mpr-20031.32", 0x200000, 0x200000, CRC(84da70e4) SHA1(77962afcac82589cc7bc852329335676ae3e23cf) )
3946 	ROM_LOAD16_WORD_SWAP( "mpr-20032.36", 0x400000, 0x200000, CRC(15516d35) SHA1(bced0d30f9b6ab579a11ac069cbb9d6d91352246) )
3947 	ROM_LOAD16_WORD_SWAP( "mpr-20033.37", 0x600000, 0x200000, CRC(8c8ed187) SHA1(a9e8e2d38b23716df2e211748c52b6b666f4c111) )
3948 
3949 	MODEL2_CPU_BOARD
3950 	MODEL2A_VID_BOARD
3951 ROM_END
3952 
3953 ROM_START( motoraiddx ) /* Motor Raid DX, Model 2A, Sega ROM board ID# 834-13231  */
3954 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
3955 	ROM_LOAD32_WORD( "epr-20213.12",  0x000000, 0x080000, CRC(1ad291e5) SHA1(4aa5eddbaaadf5bcb66cf54afba6bd2fb99fb647) )
3956 	ROM_LOAD32_WORD( "epr-20214.13",  0x000002, 0x080000, CRC(12d8b1c2) SHA1(22bfb4c77df77bbebbf90a25aeb774db708269cf) )
3957 
3958 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
3959 	ROM_LOAD32_WORD( "mpr-20019.10",   0x0000000, 0x400000, CRC(49053727) SHA1(0543d19d1d60b1d12b4409c1491782f2232da685) )
3960 	ROM_LOAD32_WORD( "mpr-20020.11",   0x0000002, 0x400000, CRC(cc5ddb15) SHA1(19e15e0e9ec1bb5d1b789876778fbb487cfea1ba) )
3961 	ROM_LOAD32_WORD( "mpr-20017.8",    0x0800000, 0x400000, CRC(4e206acd) SHA1(b48b5bd3a2f68c62d16516a037fbd45f49283d23) )
3962 	ROM_LOAD32_WORD( "mpr-20018.9",    0x0800002, 0x400000, CRC(e7ed0e85) SHA1(78a0c72095a664c4b6e529beea46a31ae0a99e5a) )
3963 	ROM_LOAD32_WORD( "mpr-20015.6",    0x1000000, 0x400000, CRC(23427339) SHA1(3e37cfcb4dcc8976805934faf8805cd83acde66e) )
3964 	ROM_LOAD32_WORD( "mpr-20016.7",    0x1000002, 0x400000, CRC(c99a83f4) SHA1(b057d61478f7dc7a32ad233473f1a63498b3779e) )
3965 	ROM_LOAD32_WORD( "epr-20215.4",    0x1800000, 0x080000, CRC(19249d40) SHA1(22d33d7ebbd77e44d91e969a6ff09436ce777613) )
3966 	ROM_LOAD32_WORD( "epr-20216.5",    0x1800002, 0x080000, CRC(ec963b8d) SHA1(074977b75466300821f19915840d2f2c46a1bebf) )
3967 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 ) // rgn,srcoffset,offset,length.
3968 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
3969 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
3970 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
3971 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
3972 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
3973 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
3974 
3975 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
3976 	ROM_LOAD32_WORD( "mpr-20023.16", 0x0000000, 0x400000, CRC(016be8d6) SHA1(804f69cd342e25cf1bed48e778981d67c4d1c9c7) )
3977 	ROM_LOAD32_WORD( "mpr-20026.20", 0x0000002, 0x400000, CRC(20044a30) SHA1(46be0cc2b8a4a3f530d081d11c6099d814977270) )
3978 	ROM_LOAD32_WORD( "mpr-20024.17", 0x0800000, 0x400000, CRC(62fd2d5b) SHA1(6a386a666ae57da5e47364da7b97da9c913710ef) )
3979 	ROM_LOAD32_WORD( "mpr-20027.21", 0x0800002, 0x400000, CRC(b2504ea6) SHA1(17c23c64b1080ab6a8eb282cabcd7d7612193045) )
3980 	ROM_LOAD32_WORD( "mpr-20025.18", 0x1000000, 0x400000, CRC(d4ecd0be) SHA1(9df0d1db32b818dad28f9eeab3bc19c56d27ec6d) )
3981 	ROM_LOAD32_WORD( "mpr-20028.22", 0x1000002, 0x400000, CRC(3147e0e1) SHA1(9aa0e13c8dc5073a603279a538cc7662531dfd19) )
3982 
3983 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
3984 	ROM_LOAD32_WORD( "epr-20011.28", 0x000000, 0x100000, CRC(794c026c) SHA1(85abd667491fd019ee18ba256fd580356f4e1fe9) )
3985 	ROM_LOAD32_WORD( "epr-20012.29", 0x000002, 0x100000, CRC(f53db4e3) SHA1(4474610eed52248e5e36be438eff5d39f076b134) )
3986 
3987 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
3988 	ROM_LOAD32_WORD( "mpr-20022.25", 0x000000, 0x400000, CRC(9e47b3c2) SHA1(c73279e837f56c0417c07ba3c642af28fe9a24fa) )
3989 	ROM_LOAD32_WORD( "mpr-20021.24", 0x000002, 0x400000, CRC(3cbf36cb) SHA1(059cea17f9d6f5960d9fd869c36ffb6fcf230c1a) )
3990 
3991 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
3992 	ROM_LOAD16_WORD_SWAP( "epr-20222.30", 0x000000, 0x080000, CRC(079d28e6) SHA1(85a863cf5e53a88e2331898e2505ac1063cdb9ad) )
3993 
3994 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
3995 	ROM_LOAD16_WORD_SWAP( "mpr-20030.31", 0x000000, 0x200000, CRC(b70ab686) SHA1(006911ce6332091d17808855c60a72fe928df778) )
3996 	ROM_LOAD16_WORD_SWAP( "mpr-20031.32", 0x200000, 0x200000, CRC(84da70e4) SHA1(77962afcac82589cc7bc852329335676ae3e23cf) )
3997 	ROM_LOAD16_WORD_SWAP( "mpr-20032.36", 0x400000, 0x200000, CRC(15516d35) SHA1(bced0d30f9b6ab579a11ac069cbb9d6d91352246) )
3998 	ROM_LOAD16_WORD_SWAP( "mpr-20033.37", 0x600000, 0x200000, CRC(8c8ed187) SHA1(a9e8e2d38b23716df2e211748c52b6b666f4c111) )
3999 
4000 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
4001 	ROM_LOAD16_WORD_SWAP( "epr-18643a.7", 0x000000, 0x020000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
4002 
4003 	MODEL2_CPU_BOARD
4004 	MODEL2A_VID_BOARD
4005 ROM_END
4006 
4007 ROM_START( skytargt ) /* Sky Target, Model 2A, Sega game ID# 833-12178, Sega ROM board ID# 834-12179 */
4008 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4009 	ROM_LOAD32_WORD( "epr-18406.12", 0x000000, 0x080000, CRC(fde9c00a) SHA1(01cd519daaf6138d9df4940bf8bb5923a1f163df) )
4010 	ROM_LOAD32_WORD( "epr-18407.13", 0x000002, 0x080000, CRC(35f8b529) SHA1(faf6dcf8f345c1e7968823f2dba60afcd88f37c2) )
4011 
4012 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
4013 	ROM_LOAD32_WORD( "mpr-18415.10",   0x0000000, 0x400000, CRC(d7a1bbd7) SHA1(3061cc68755ca36255f325135aa44659afc3498c) )
4014 	ROM_LOAD32_WORD( "mpr-18416.11",   0x0000002, 0x400000, CRC(b77c9243) SHA1(6ffeef418364df9e08398c7564142cbf5750beb2) )
4015 	ROM_LOAD32_WORD( "mpr-18417.8",    0x0800000, 0x400000, CRC(a0d03f63) SHA1(88b97a76f0a85a3977915808eee4d64b69734e88) )
4016 	ROM_LOAD32_WORD( "mpr-18418.9",    0x0800002, 0x400000, CRC(c7a6f97f) SHA1(cf7c6887519e53d7fa321a2ad888b1673e16565b) )
4017 	ROM_LOAD32_WORD( "epr-18404.6",    0x1000000, 0x080000, CRC(f1407ec4) SHA1(d6805faea657ea0f998fb2470d7d24aa78a02bd4) )
4018 	ROM_LOAD32_WORD( "epr-18405.7",    0x1000002, 0x080000, CRC(00b40f9e) SHA1(21b6b390d8635349ba76899acea176954a24985e) )
4019 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
4020 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
4021 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
4022 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
4023 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
4024 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
4025 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
4026 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
4027 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
4028 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
4029 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
4030 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
4031 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
4032 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
4033 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
4034 
4035 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4036 	ROM_LOAD32_WORD( "mpr-18420.28", 0x000000, 0x200000, CRC(92b87817) SHA1(b6949b745d0bedeecd6d0240f8911cb345c16d8d) )
4037 	ROM_LOAD32_WORD( "mpr-18419.29", 0x000002, 0x200000, CRC(74542d87) SHA1(37230e96dd526fb47fcbde5778e5466d8955a969) )
4038 
4039 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4040 	ROM_LOAD32_WORD( "mpr-18413.16", 0x000000, 0x400000, CRC(1c4d416c) SHA1(2bd6eae4ab5751d485be105a06776fccd3c48d21) )
4041 	ROM_LOAD32_WORD( "mpr-18409.20", 0x000002, 0x400000, CRC(666037ef) SHA1(6f622a82fd5ffd7a4692b5bf51b76755053a674b) )
4042 	ROM_LOAD32_WORD( "mpr-18414.17", 0x800000, 0x400000, CRC(858885ba) SHA1(1729f6ff689a462a3d6e303ebc2dac323145a67c) )
4043 	ROM_LOAD32_WORD( "mpr-18410.21", 0x800002, 0x400000, CRC(b821a695) SHA1(139cbba0ceffa83c0f9925258944ec8a414b3040) )
4044 
4045 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4046 	ROM_LOAD32_WORD( "mpr-18411.24", 0x000002, 0x400000, CRC(9c2dc40c) SHA1(842a647a70ef29a8c775e88c0bcbc63782496bba) )
4047 	ROM_LOAD32_WORD( "mpr-18412.25", 0x000000, 0x400000, CRC(4db52f8b) SHA1(66796f6c20e680a87e8939a70692680b1dd0b324) )
4048 
4049 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4050 	ROM_LOAD16_WORD_SWAP( "epr-18408.30", 0x000000, 0x080000, CRC(6deb9657) SHA1(30e1894432a0765c64b93dd5ca7ca17ef58ac6c0) )
4051 
4052 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4053 	ROM_LOAD16_WORD_SWAP( "mpr-18424.31",   0x000000, 0x200000, CRC(590a4338) SHA1(826f167d7a4f5d30466b2f75f0123187c29c2d69) )
4054 	ROM_LOAD16_WORD_SWAP( "mpr-18423.32",   0x200000, 0x200000, CRC(c356d765) SHA1(ae69c9d4e333579d826178d2863156dc784aedef) )
4055 	ROM_LOAD16_WORD_SWAP( "mpr-18422.36",   0x400000, 0x200000, CRC(b4f3cea6) SHA1(49669be09e10dfae7fddce0fc4e415466cb29566) )
4056 	ROM_LOAD16_WORD_SWAP( "mpr-18421.37",   0x600000, 0x200000, CRC(00522390) SHA1(5dbbf2ba008adad36929fcecb7c2c1e5ffd12618) )
4057 
4058 	MODEL2_CPU_BOARD
4059 	MODEL2A_VID_BOARD
4060 ROM_END
4061 
4062 ROM_START( vcop2 ) /* Virtua Cop 2, Model 2A, Sega Game ID# 833-12266, ROM board ID# 834-12267 */
4063 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4064 	ROM_LOAD32_WORD( "epr-18524.12", 0x000000, 0x080000, CRC(1858988b) SHA1(2979f8470cc31e6c5c32c6fec1a87dbd29b52309) )
4065 	ROM_LOAD32_WORD( "epr-18525.13", 0x000002, 0x080000, CRC(0c13df3f) SHA1(6b4188f04aad80b89f1826e8ca47cff763980410) )
4066 	ROM_LOAD32_WORD( "epr-18518.14", 0x100000, 0x080000, CRC(7842951b) SHA1(bed4ec9a5e59807d17e5e602bdaf3c68fcba08b6) )
4067 	ROM_LOAD32_WORD( "epr-18519.15", 0x100002, 0x080000, CRC(31a30edc) SHA1(caf3c2676508a2ed032d3657ac640a257f04bdd4) )
4068 
4069 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
4070 	ROM_LOAD32_WORD( "mpr-18516.10",  0x000000, 0x200000, CRC(a3928ff0) SHA1(5a9695fb5eda394a1111a05ee5fb9cce29970e91) )
4071 	ROM_LOAD32_WORD( "mpr-18517.11",  0x000002, 0x200000, CRC(4bd73da4) SHA1(a4434bce019729e2148a95e3a6dea38de7f789c1) )
4072 	ROM_LOAD32_WORD( "mpr-18514.8",   0x400000, 0x200000, CRC(791283c5) SHA1(006fb22eefdd9205ede9a74fe53cbffe8c8fd45b) )
4073 	ROM_LOAD32_WORD( "mpr-18515.9",   0x400002, 0x200000, CRC(6ba1ffec) SHA1(70f493aa4eb93edce8dd5b7b532d1f50f81069ce) )
4074 	ROM_LOAD32_WORD( "mpr-18522.6",   0x800000, 0x200000, CRC(61d18536) SHA1(cc467cb26a8fccc48837d000fe9e1c41b0c0f4f9) )
4075 	ROM_LOAD32_WORD( "mpr-18523.7",   0x800002, 0x200000, CRC(61d08dc4) SHA1(40d8231d184582c0fc01ad874371aaec7dfcc337) )
4076 	ROM_LOAD32_WORD( "epr-18520.4",   0xc00000, 0x080000, CRC(1d4ec5e8) SHA1(44c4b5560d150909342e4182496f136c8c5e2edb) )
4077 	ROM_LOAD32_WORD( "epr-18521.5",   0xc00002, 0x080000, CRC(b8b3781c) SHA1(11956fe912c34d6a86a6b91d55987f6bead73473) )
4078 	ROM_COPY( "main_data", 0xc00000, 0xd00000, 0x100000 )
4079 	ROM_COPY( "main_data", 0xc00000, 0xe00000, 0x100000 )
4080 	ROM_COPY( "main_data", 0xc00000, 0xf00000, 0x100000 )
4081 
4082 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4083 
4084 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4085 	ROM_LOAD32_WORD( "mpr-18513.16", 0x000000, 0x200000, CRC(777a3633) SHA1(edc2798c4d88975ce67b54fc0db008e7d24db6ef) )
4086 	ROM_LOAD32_WORD( "mpr-18510.20", 0x000002, 0x200000, CRC(e83de997) SHA1(8a8597aa31609663869e584cc5fad6e4b84f7dbe) )
4087 
4088 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
4089 	/* TODO: Wrong labels? */
4090 	ROM_LOAD32_WORD( "mpr-18511.24", 0x000002, 0x200000, CRC(cae77a4f) SHA1(f21474486f0dc4092cbad4566deea8a952862ab7) )
4091 	ROM_LOAD32_WORD( "mpr-18512.25", 0x000000, 0x200000, CRC(d9bc7e71) SHA1(774eba886083b0dad9a47519c5801e44346312cf) )
4092 
4093 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4094 	ROM_LOAD16_WORD_SWAP( "epr-18530.30", 0x000000, 0x080000, CRC(ac9c8357) SHA1(ad297c7fecaa9b877f0dd31e859983816947e437) )
4095 
4096 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4097 	ROM_LOAD16_WORD_SWAP( "mpr-18529.31", 0x000000, 0x200000, CRC(f76715b1) SHA1(258418c1cb37338a694e48f3b48fadfae5f40239) )
4098 	ROM_LOAD16_WORD_SWAP( "mpr-18528.32", 0x200000, 0x200000, CRC(287a2f9a) SHA1(78ba93ab90322152efc37f7130073b0dc516ef5d) )
4099 	ROM_LOAD16_WORD_SWAP( "mpr-18527.36", 0x400000, 0x200000, CRC(e6a49314) SHA1(26563f425f2f0906ae9278fe5de02955653d49fe) )
4100 	ROM_LOAD16_WORD_SWAP( "mpr-18526.37", 0x600000, 0x200000, CRC(6516d9b5) SHA1(8f13cb02c76f7b7cd11f3c3772ff13302d55e9c3) )
4101 
4102 	MODEL2_CPU_BOARD
4103 	MODEL2A_VID_BOARD
4104 ROM_END
4105 
4106 /* Dynamite Cop program rom EPR numbers via "DYNAMITE COP ROM CVT MANUAL" 421-9897-01:
4107 
4108       USA            Export          Korea           Japan*
4109   ------------------------------------------------------------
4110 Model2a:
4111   epr-20926.12    epr-20930.12    epr-20971.12    epr-20922.12
4112   epr-20927.13    epr-20931.13    epr-20972.13    epr-20923.13
4113   epr-20928.14    epr-20932.14    epr-20973.14    epr-20924.14
4114   epr-20929.15    epr-20933.15    epr-20974.15    epr-20925.15
4115 Model2b:
4116   epr-20938.13    epr-20942.13    epr-20975.13    epr-20934.13
4117   epr-20939.14    epr-20943.14    epr-20976.14    epr-20935.14
4118   epr-20940.15    epr-20944.15    epr-20977.15    epr-20936.15
4119   epr-20941.16    epr-20945.16    epr-20978.16    epr-20937.16
4120 Model2c:
4121   epr-20950.13    epr-20954.13    epr-20979.13    epr-20946.13
4122   epr-20951.14    epr-20955.14    epr-20980.14    epr-20947.14
4123   epr-20952.15    epr-20956.15    epr-20981.15    epr-20948.15
4124   epr-20953.16    epr-20957.16    epr-20982.16    epr-20949.16
4125 
4126 * The numbers for the Japan sets were not listed, but are shown for comparision
4127 
4128 In Dynamite Deka 2 manual 420-6406-01 it states there are C-CRX versions of the
4129 USA, Export and Korea versions as well as the Japan version.
4130 
4131 */
4132 
4133 ROM_START( dynamcop ) /* Dynamite Cop (Export), Model 2A, Sega Game ID# 833-11341, ROM board ID# 834-11342 */
4134 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4135 	ROM_LOAD32_WORD("epr-20930.12", 0x000000, 0x080000, CRC(b8fc8ff7) SHA1(53b0f9dc8494effa077170ddced2d95f43a5f134) )
4136 	ROM_LOAD32_WORD("epr-20931.13", 0x000002, 0x080000, CRC(89d13f88) SHA1(5e266b5e153a0d9a57360cfd1af81e3a58a2fb7d) )
4137 	ROM_LOAD32_WORD("epr-20932.14", 0x100000, 0x080000, CRC(618a68bf) SHA1(3022283dded4d08d790d034b6d543c0397b5bf5a) )
4138 	ROM_LOAD32_WORD("epr-20933.15", 0x100002, 0x080000, CRC(13abe49c) SHA1(a741a0205c1b3664ab4d09d6d991a768269a79ea) )
4139 
4140 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
4141 	ROM_LOAD32_WORD("mpr-20797.10", 0x0000000, 0x400000, CRC(87bab1e4) SHA1(af2b2d82364621a1528d6ed59fbfbf15dc93ee72) )
4142 	ROM_LOAD32_WORD("mpr-20798.11", 0x0000002, 0x400000, CRC(40dd752b) SHA1(8c2e210ac7c7b133ba9befc79a07c4ca6b4e3f18) )
4143 	ROM_LOAD32_WORD("mpr-20795.8",  0x0800000, 0x400000, CRC(0ef85e12) SHA1(97c657edd98cde6f0780a04a7711e5b370087a60) )
4144 	ROM_LOAD32_WORD("mpr-20796.9",  0x0800002, 0x400000, CRC(870139cb) SHA1(24fda2cd458cf7a3db485564c02ac61d30cbdf5e) )
4145 	ROM_LOAD32_WORD("mpr-20793.6",  0x1000000, 0x400000, CRC(42ea08f8) SHA1(e70b55709067628ea0bf3f5190a300100b61eed1) )
4146 	ROM_LOAD32_WORD("mpr-20794.7",  0x1000002, 0x400000, CRC(8e5cd1db) SHA1(d90e86d38bda12f2d0f99e23a42928f05bde3ea8) )
4147 	ROM_LOAD32_WORD("mpr-20791.4",  0x1800000, 0x400000, CRC(4883d0df) SHA1(b98af63e81f6c1b2766d7e96acbd1821bba000d4) )
4148 	ROM_LOAD32_WORD("mpr-20792.5",  0x1800002, 0x400000, CRC(47becfa2) SHA1(a333885872a64b322f3cb464a70352d73654b1b3) )
4149 
4150 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4151 
4152 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4153 	ROM_LOAD32_WORD("mpr-20799.16", 0x0000000, 0x400000, CRC(424571bf) SHA1(18a4e8d0e968fff3b645b59a0023b0ef38d51924) )
4154 	ROM_LOAD32_WORD("mpr-20803.20", 0x0000002, 0x400000, CRC(61a8ad52) SHA1(0215b5de6d10f0852ac0ca4e10475e10243e39c7) )
4155 	ROM_LOAD32_WORD("mpr-20800.17", 0x0800000, 0x400000, CRC(3c2ee808) SHA1(dc0c470c6b410ab991ef0e09ce1cc0f63c8a204d) )
4156 	ROM_LOAD32_WORD("mpr-20804.21", 0x0800002, 0x400000, CRC(03b35cb8) SHA1(7bd2ae89f9cc7c0570dbaffe5f54aea2dfa1b39e) )
4157 	ROM_LOAD32_WORD("mpr-20801.18", 0x1000000, 0x400000, CRC(c6914173) SHA1(d0861366c4123c833a325df5345f951386a94d1a) )
4158 	ROM_LOAD32_WORD("mpr-20805.22", 0x1000002, 0x400000, CRC(f6605ede) SHA1(7c95bfe2e95bae3d59c3c9efe1f40b5bc292ad44) )
4159 	ROM_LOAD32_WORD("mpr-20802.19", 0x1800000, 0x400000, CRC(d11b5267) SHA1(b90909849fbe0f62d5ec7c38608c84e7fa845ebf) )
4160 	ROM_LOAD32_WORD("mpr-20806.23", 0x1800002, 0x400000, CRC(0c942073) SHA1(5f32a56857e2213b110c32deea184dba882e34b8) )
4161 
4162 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4163 	ROM_LOAD32_WORD("mpr-20809.25", 0x0000000, 0x400000, CRC(3b7b4622) SHA1(c6f1a1fd2684f352d3846b7f859b0405fa2d667a) )
4164 	ROM_LOAD32_WORD("mpr-20807.24", 0x0000002, 0x400000, CRC(1241e0f2) SHA1(3f7fa1d7d3d398bc8d5295bc1df6fe11405d20d9) )
4165 	ROM_LOAD32_WORD("mpr-20810.27", 0x0800000, 0x400000, CRC(838a10a7) SHA1(a658f1864829058b1d419e7c001e47cd0ab06a20) )
4166 	ROM_LOAD32_WORD("mpr-20808.26", 0x0800002, 0x400000, CRC(706bd495) SHA1(f857b303afda6301b19d97dfe5c313126261716e) )
4167 
4168 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4169 	ROM_LOAD16_WORD_SWAP("epr-20811.30", 0x000000, 0x080000, CRC(a154b83e) SHA1(2640c6b6966f4a888329e583b6b713bd0e779b6b) )
4170 
4171 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4172 	ROM_LOAD16_WORD_SWAP("mpr-20812.31", 0x000000, 0x200000, CRC(695b6088) SHA1(09682d18144e60d740a9d7a3e19db6f76fa581f1) )
4173 	ROM_LOAD16_WORD_SWAP("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) )
4174 	ROM_LOAD16_WORD_SWAP("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
4175 	ROM_LOAD16_WORD_SWAP("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
4176 
4177 	MODEL2_CPU_BOARD
4178 	MODEL2A_VID_BOARD
4179 
4180 	//             1998     317-0236-COM   Model 2
4181 	ROM_PARAMETER( ":315_5881:key", "2c2a4a93" )
4182 ROM_END
4183 
4184 ROM_START( dyndeka2 ) /* Dynamite Deka 2 (Japan), Model 2A */
4185 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4186 	ROM_LOAD32_WORD("epr-20922.12",  0x000000, 0x080000, CRC(0a8b5604) SHA1(4076998fc600c1df3bb5ef48d42681c01e651495) )
4187 	ROM_LOAD32_WORD("epr-20923.13",  0x000002, 0x080000, CRC(83be73d4) SHA1(1404a9c79cd2bae13f60e5e008307417324c3666) )
4188 	ROM_LOAD32_WORD("epr-20924.14",  0x100000, 0x080000, CRC(618a68bf) SHA1(3022283dded4d08d790d034b6d543c0397b5bf5a) ) /* same as epr-20932.14 listed above */
4189 	ROM_LOAD32_WORD("epr-20925.15",  0x100002, 0x080000, CRC(13abe49c) SHA1(a741a0205c1b3664ab4d09d6d991a768269a79ea) ) /* same as epr-20933.15 listed above */
4190 
4191 	ROM_REGION32_LE( 0x2400000, "main_data", 0 ) // Data
4192 	ROM_LOAD32_WORD("mpr-20797.10", 0x0000000, 0x400000, CRC(87bab1e4) SHA1(af2b2d82364621a1528d6ed59fbfbf15dc93ee72) )
4193 	ROM_LOAD32_WORD("mpr-20798.11", 0x0000002, 0x400000, CRC(40dd752b) SHA1(8c2e210ac7c7b133ba9befc79a07c4ca6b4e3f18) )
4194 	ROM_LOAD32_WORD("mpr-20795.8",  0x0800000, 0x400000, CRC(0ef85e12) SHA1(97c657edd98cde6f0780a04a7711e5b370087a60) )
4195 	ROM_LOAD32_WORD("mpr-20796.9",  0x0800002, 0x400000, CRC(870139cb) SHA1(24fda2cd458cf7a3db485564c02ac61d30cbdf5e) )
4196 	ROM_LOAD32_WORD("mpr-20793.6",  0x1000000, 0x400000, CRC(42ea08f8) SHA1(e70b55709067628ea0bf3f5190a300100b61eed1) )
4197 	ROM_LOAD32_WORD("mpr-20794.7",  0x1000002, 0x400000, CRC(8e5cd1db) SHA1(d90e86d38bda12f2d0f99e23a42928f05bde3ea8) )
4198 	ROM_LOAD32_WORD("mpr-20791.4",  0x1800000, 0x400000, CRC(4883d0df) SHA1(b98af63e81f6c1b2766d7e96acbd1821bba000d4) )
4199 	ROM_LOAD32_WORD("mpr-20792.5",  0x1800002, 0x400000, CRC(47becfa2) SHA1(a333885872a64b322f3cb464a70352d73654b1b3) )
4200 
4201 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4202 
4203 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4204 	ROM_LOAD32_WORD("mpr-20799.16", 0x0000000, 0x400000, CRC(424571bf) SHA1(18a4e8d0e968fff3b645b59a0023b0ef38d51924) )
4205 	ROM_LOAD32_WORD("mpr-20803.20", 0x0000002, 0x400000, CRC(61a8ad52) SHA1(0215b5de6d10f0852ac0ca4e10475e10243e39c7) )
4206 	ROM_LOAD32_WORD("mpr-20800.17", 0x0800000, 0x400000, CRC(3c2ee808) SHA1(dc0c470c6b410ab991ef0e09ce1cc0f63c8a204d) )
4207 	ROM_LOAD32_WORD("mpr-20804.21", 0x0800002, 0x400000, CRC(03b35cb8) SHA1(7bd2ae89f9cc7c0570dbaffe5f54aea2dfa1b39e) )
4208 	ROM_LOAD32_WORD("mpr-20801.18", 0x1000000, 0x400000, CRC(c6914173) SHA1(d0861366c4123c833a325df5345f951386a94d1a) )
4209 	ROM_LOAD32_WORD("mpr-20805.22", 0x1000002, 0x400000, CRC(f6605ede) SHA1(7c95bfe2e95bae3d59c3c9efe1f40b5bc292ad44) )
4210 	ROM_LOAD32_WORD("mpr-20802.19", 0x1800000, 0x400000, CRC(d11b5267) SHA1(b90909849fbe0f62d5ec7c38608c84e7fa845ebf) )
4211 	ROM_LOAD32_WORD("mpr-20806.23", 0x1800002, 0x400000, CRC(0c942073) SHA1(5f32a56857e2213b110c32deea184dba882e34b8) )
4212 
4213 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4214 	ROM_LOAD32_WORD("mpr-20809.25", 0x0000000, 0x400000, CRC(3b7b4622) SHA1(c6f1a1fd2684f352d3846b7f859b0405fa2d667a) )
4215 	ROM_LOAD32_WORD("mpr-20807.24", 0x0000002, 0x400000, CRC(1241e0f2) SHA1(3f7fa1d7d3d398bc8d5295bc1df6fe11405d20d9) )
4216 	ROM_LOAD32_WORD("mpr-20810.27", 0x0800000, 0x400000, CRC(838a10a7) SHA1(a658f1864829058b1d419e7c001e47cd0ab06a20) )
4217 	ROM_LOAD32_WORD("mpr-20808.26", 0x0800002, 0x400000, CRC(706bd495) SHA1(f857b303afda6301b19d97dfe5c313126261716e) )
4218 
4219 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4220 	ROM_LOAD16_WORD_SWAP("epr-20811.30", 0x000000, 0x080000, CRC(a154b83e) SHA1(2640c6b6966f4a888329e583b6b713bd0e779b6b) )
4221 
4222 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4223 	ROM_LOAD16_WORD_SWAP("mpr-20812.31", 0x000000, 0x200000, CRC(695b6088) SHA1(09682d18144e60d740a9d7a3e19db6f76fa581f1) )
4224 	ROM_LOAD16_WORD_SWAP("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) )
4225 	ROM_LOAD16_WORD_SWAP("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
4226 	ROM_LOAD16_WORD_SWAP("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
4227 
4228 	MODEL2_CPU_BOARD
4229 	MODEL2A_VID_BOARD
4230 
4231 	//             1998     317-0236-COM   Model 2
4232 	ROM_PARAMETER( ":315_5881:key", "2c2a4a93" )
4233 ROM_END
4234 
4235 ROM_START( dynamcopb ) /* Dynamite Cop (Export), Model 2B */
4236 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4237 	ROM_LOAD32_WORD("epr-20944.15", 0x000000, 0x080000, CRC(29b142f2) SHA1(b81d1ee7203b2f5fb6db4ff4185f4071e99aaedf) )
4238 	ROM_LOAD32_WORD("epr-20945.16", 0x000002, 0x080000, CRC(c495912e) SHA1(1a45296a5554923cb52b38586e40ceda2517f1bf) )
4239 	ROM_LOAD32_WORD("epr-20942.13", 0x100000, 0x080000, CRC(618a68bf) SHA1(3022283dded4d08d790d034b6d543c0397b5bf5a) ) /* same as epr-20932.14 listed above */
4240 	ROM_LOAD32_WORD("epr-20943.14", 0x100002, 0x080000, CRC(13abe49c) SHA1(a741a0205c1b3664ab4d09d6d991a768269a79ea) ) /* same as epr-20933.15 listed above */
4241 
4242 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4243 	ROM_LOAD32_WORD("mpr-20797.10", 0x0000000, 0x400000, CRC(87bab1e4) SHA1(af2b2d82364621a1528d6ed59fbfbf15dc93ee72) )
4244 	ROM_LOAD32_WORD("mpr-20798.11", 0x0000002, 0x400000, CRC(40dd752b) SHA1(8c2e210ac7c7b133ba9befc79a07c4ca6b4e3f18) )
4245 	ROM_LOAD32_WORD("mpr-20795.8",  0x0800000, 0x400000, CRC(0ef85e12) SHA1(97c657edd98cde6f0780a04a7711e5b370087a60) )
4246 	ROM_LOAD32_WORD("mpr-20796.9",  0x0800002, 0x400000, CRC(870139cb) SHA1(24fda2cd458cf7a3db485564c02ac61d30cbdf5e) )
4247 	ROM_LOAD32_WORD("mpr-20793.6",  0x1000000, 0x400000, CRC(42ea08f8) SHA1(e70b55709067628ea0bf3f5190a300100b61eed1) )
4248 	ROM_LOAD32_WORD("mpr-20794.7",  0x1000002, 0x400000, CRC(8e5cd1db) SHA1(d90e86d38bda12f2d0f99e23a42928f05bde3ea8) )
4249 	ROM_LOAD32_WORD("mpr-20791.4",  0x1800000, 0x400000, CRC(4883d0df) SHA1(b98af63e81f6c1b2766d7e96acbd1821bba000d4) )
4250 	ROM_LOAD32_WORD("mpr-20792.5",  0x1800002, 0x400000, CRC(47becfa2) SHA1(a333885872a64b322f3cb464a70352d73654b1b3) )
4251 
4252 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4253 	ROM_LOAD32_WORD("mpr-20799.16", 0x0000000, 0x400000, CRC(424571bf) SHA1(18a4e8d0e968fff3b645b59a0023b0ef38d51924) )
4254 	ROM_LOAD32_WORD("mpr-20803.20", 0x0000002, 0x400000, CRC(61a8ad52) SHA1(0215b5de6d10f0852ac0ca4e10475e10243e39c7) )
4255 	ROM_LOAD32_WORD("mpr-20800.17", 0x0800000, 0x400000, CRC(3c2ee808) SHA1(dc0c470c6b410ab991ef0e09ce1cc0f63c8a204d) )
4256 	ROM_LOAD32_WORD("mpr-20804.21", 0x0800002, 0x400000, CRC(03b35cb8) SHA1(7bd2ae89f9cc7c0570dbaffe5f54aea2dfa1b39e) )
4257 	ROM_LOAD32_WORD("mpr-20801.18", 0x1000000, 0x400000, CRC(c6914173) SHA1(d0861366c4123c833a325df5345f951386a94d1a) )
4258 	ROM_LOAD32_WORD("mpr-20805.22", 0x1000002, 0x400000, CRC(f6605ede) SHA1(7c95bfe2e95bae3d59c3c9efe1f40b5bc292ad44) )
4259 	ROM_LOAD32_WORD("mpr-20802.19", 0x1800000, 0x400000, CRC(d11b5267) SHA1(b90909849fbe0f62d5ec7c38608c84e7fa845ebf) )
4260 	ROM_LOAD32_WORD("mpr-20806.23", 0x1800002, 0x400000, CRC(0c942073) SHA1(5f32a56857e2213b110c32deea184dba882e34b8) )
4261 
4262 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4263 	ROM_LOAD32_WORD("mpr-20809.25", 0x0000000, 0x400000, CRC(3b7b4622) SHA1(c6f1a1fd2684f352d3846b7f859b0405fa2d667a) )
4264 	ROM_LOAD32_WORD("mpr-20807.24", 0x0000002, 0x400000, CRC(1241e0f2) SHA1(3f7fa1d7d3d398bc8d5295bc1df6fe11405d20d9) )
4265 	ROM_LOAD32_WORD("mpr-20810.27", 0x0800000, 0x400000, CRC(838a10a7) SHA1(a658f1864829058b1d419e7c001e47cd0ab06a20) )
4266 	ROM_LOAD32_WORD("mpr-20808.26", 0x0800002, 0x400000, CRC(706bd495) SHA1(f857b303afda6301b19d97dfe5c313126261716e) )
4267 
4268 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4269 
4270 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4271 	ROM_LOAD16_WORD_SWAP("epr-20811.30", 0x000000, 0x080000, CRC(a154b83e) SHA1(2640c6b6966f4a888329e583b6b713bd0e779b6b) )
4272 
4273 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4274 	ROM_LOAD16_WORD_SWAP("mpr-20812.31", 0x000000, 0x200000, CRC(695b6088) SHA1(09682d18144e60d740a9d7a3e19db6f76fa581f1) )
4275 	ROM_LOAD16_WORD_SWAP("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) )
4276 	ROM_LOAD16_WORD_SWAP("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
4277 	ROM_LOAD16_WORD_SWAP("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
4278 
4279 	//             1998     317-0236-COM   Model 2
4280 	ROM_PARAMETER( ":315_5881:key", "2c2a4a93" )
4281 ROM_END
4282 
4283 ROM_START( dyndeka2b ) /* Dynamite Deka 2 (Japan), Model 2B */
4284 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4285 	ROM_LOAD32_WORD("epr-20936.15", 0x000000, 0x080000, CRC(23ef98f2) SHA1(0a106125ed4a2569b54924130ca2ffa05acf2322) )
4286 	ROM_LOAD32_WORD("epr-20937.16", 0x000002, 0x080000, CRC(25a14e00) SHA1(ebdd21f269fd8a0798306e349d2985eead7e989f) )
4287 	ROM_LOAD32_WORD("epr-20934.13", 0x100000, 0x080000, CRC(618a68bf) SHA1(3022283dded4d08d790d034b6d543c0397b5bf5a) ) /* same as epr-20932.14 listed above */
4288 	ROM_LOAD32_WORD("epr-20935.14", 0x100002, 0x080000, CRC(13abe49c) SHA1(a741a0205c1b3664ab4d09d6d991a768269a79ea) ) /* same as epr-20933.15 listed above */
4289 
4290 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4291 	ROM_LOAD32_WORD("mpr-20797.10", 0x0000000, 0x400000, CRC(87bab1e4) SHA1(af2b2d82364621a1528d6ed59fbfbf15dc93ee72) )
4292 	ROM_LOAD32_WORD("mpr-20798.11", 0x0000002, 0x400000, CRC(40dd752b) SHA1(8c2e210ac7c7b133ba9befc79a07c4ca6b4e3f18) )
4293 	ROM_LOAD32_WORD("mpr-20795.8",  0x0800000, 0x400000, CRC(0ef85e12) SHA1(97c657edd98cde6f0780a04a7711e5b370087a60) )
4294 	ROM_LOAD32_WORD("mpr-20796.9",  0x0800002, 0x400000, CRC(870139cb) SHA1(24fda2cd458cf7a3db485564c02ac61d30cbdf5e) )
4295 	ROM_LOAD32_WORD("mpr-20793.6",  0x1000000, 0x400000, CRC(42ea08f8) SHA1(e70b55709067628ea0bf3f5190a300100b61eed1) )
4296 	ROM_LOAD32_WORD("mpr-20794.7",  0x1000002, 0x400000, CRC(8e5cd1db) SHA1(d90e86d38bda12f2d0f99e23a42928f05bde3ea8) )
4297 	ROM_LOAD32_WORD("mpr-20791.4",  0x1800000, 0x400000, CRC(4883d0df) SHA1(b98af63e81f6c1b2766d7e96acbd1821bba000d4) )
4298 	ROM_LOAD32_WORD("mpr-20792.5",  0x1800002, 0x400000, CRC(47becfa2) SHA1(a333885872a64b322f3cb464a70352d73654b1b3) )
4299 
4300 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4301 	ROM_LOAD32_WORD("mpr-20799.16", 0x0000000, 0x400000, CRC(424571bf) SHA1(18a4e8d0e968fff3b645b59a0023b0ef38d51924) )
4302 	ROM_LOAD32_WORD("mpr-20803.20", 0x0000002, 0x400000, CRC(61a8ad52) SHA1(0215b5de6d10f0852ac0ca4e10475e10243e39c7) )
4303 	ROM_LOAD32_WORD("mpr-20800.17", 0x0800000, 0x400000, CRC(3c2ee808) SHA1(dc0c470c6b410ab991ef0e09ce1cc0f63c8a204d) )
4304 	ROM_LOAD32_WORD("mpr-20804.21", 0x0800002, 0x400000, CRC(03b35cb8) SHA1(7bd2ae89f9cc7c0570dbaffe5f54aea2dfa1b39e) )
4305 	ROM_LOAD32_WORD("mpr-20801.18", 0x1000000, 0x400000, CRC(c6914173) SHA1(d0861366c4123c833a325df5345f951386a94d1a) )
4306 	ROM_LOAD32_WORD("mpr-20805.22", 0x1000002, 0x400000, CRC(f6605ede) SHA1(7c95bfe2e95bae3d59c3c9efe1f40b5bc292ad44) )
4307 	ROM_LOAD32_WORD("mpr-20802.19", 0x1800000, 0x400000, CRC(d11b5267) SHA1(b90909849fbe0f62d5ec7c38608c84e7fa845ebf) )
4308 	ROM_LOAD32_WORD("mpr-20806.23", 0x1800002, 0x400000, CRC(0c942073) SHA1(5f32a56857e2213b110c32deea184dba882e34b8) )
4309 
4310 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4311 	ROM_LOAD32_WORD("mpr-20809.25", 0x0000000, 0x400000, CRC(3b7b4622) SHA1(c6f1a1fd2684f352d3846b7f859b0405fa2d667a) )
4312 	ROM_LOAD32_WORD("mpr-20807.24", 0x0000002, 0x400000, CRC(1241e0f2) SHA1(3f7fa1d7d3d398bc8d5295bc1df6fe11405d20d9) )
4313 	ROM_LOAD32_WORD("mpr-20810.27", 0x0800000, 0x400000, CRC(838a10a7) SHA1(a658f1864829058b1d419e7c001e47cd0ab06a20) )
4314 	ROM_LOAD32_WORD("mpr-20808.26", 0x0800002, 0x400000, CRC(706bd495) SHA1(f857b303afda6301b19d97dfe5c313126261716e) )
4315 
4316 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4317 
4318 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4319 	ROM_LOAD16_WORD_SWAP("epr-20811.30", 0x000000, 0x080000, CRC(a154b83e) SHA1(2640c6b6966f4a888329e583b6b713bd0e779b6b) )
4320 
4321 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4322 	ROM_LOAD16_WORD_SWAP("mpr-20812.31", 0x000000, 0x200000, CRC(695b6088) SHA1(09682d18144e60d740a9d7a3e19db6f76fa581f1) )
4323 	ROM_LOAD16_WORD_SWAP("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) )
4324 	ROM_LOAD16_WORD_SWAP("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) )
4325 	ROM_LOAD16_WORD_SWAP("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) )
4326 
4327 	//             1998     317-0236-COM   Model 2
4328 	ROM_PARAMETER( ":315_5881:key", "2c2a4a93" )
4329 ROM_END
4330 
4331 ROM_START( dynamcopc ) /* Dynamite Cop (USA), Model 2C */
4332 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4333 	ROM_LOAD32_WORD("epr-20952.15", 0x000000, 0x080000, CRC(ec8bc896) SHA1(85deb1dc1348730a0c9b6ce3679582e7894ff2ed) )
4334 	ROM_LOAD32_WORD("epr-20953.16", 0x000002, 0x080000, CRC(a8276ffd) SHA1(9bea99c043775c00742c20e2f917d211dca09cc5) )
4335 	ROM_LOAD32_WORD("epr-20950.13", 0x100000, 0x080000, CRC(618a68bf) SHA1(3022283dded4d08d790d034b6d543c0397b5bf5a) ) /* same as epr-20932.14 listed above */
4336 	ROM_LOAD32_WORD("epr-20951.14", 0x100002, 0x080000, CRC(13abe49c) SHA1(a741a0205c1b3664ab4d09d6d991a768269a79ea) ) /* same as epr-20933.15 listed above */
4337 
4338 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4339 	ROM_LOAD32_WORD("mpr-20797.10", 0x0000000, 0x400000, CRC(87bab1e4) SHA1(af2b2d82364621a1528d6ed59fbfbf15dc93ee72) ) /* Located at position 11 on 2C-CRX rom board */
4340 	ROM_LOAD32_WORD("mpr-20798.11", 0x0000002, 0x400000, CRC(40dd752b) SHA1(8c2e210ac7c7b133ba9befc79a07c4ca6b4e3f18) ) /* Located at position 12 on 2C-CRX rom board */
4341 	ROM_LOAD32_WORD("mpr-20795.8",  0x0800000, 0x400000, CRC(0ef85e12) SHA1(97c657edd98cde6f0780a04a7711e5b370087a60) ) /* Located at position  9 on 2C-CRX rom board */
4342 	ROM_LOAD32_WORD("mpr-20796.9",  0x0800002, 0x400000, CRC(870139cb) SHA1(24fda2cd458cf7a3db485564c02ac61d30cbdf5e) ) /* Located at position 10 on 2C-CRX rom board */
4343 	ROM_LOAD32_WORD("mpr-20793.6",  0x1000000, 0x400000, CRC(42ea08f8) SHA1(e70b55709067628ea0bf3f5190a300100b61eed1) ) /* Located at position  7 on 2C-CRX rom board */
4344 	ROM_LOAD32_WORD("mpr-20794.7",  0x1000002, 0x400000, CRC(8e5cd1db) SHA1(d90e86d38bda12f2d0f99e23a42928f05bde3ea8) ) /* Located at position  8 on 2C-CRX rom board */
4345 	ROM_LOAD32_WORD("mpr-20791.4",  0x1800000, 0x400000, CRC(4883d0df) SHA1(b98af63e81f6c1b2766d7e96acbd1821bba000d4) ) /* Located at position  5 on 2C-CRX rom board */
4346 	ROM_LOAD32_WORD("mpr-20792.5",  0x1800002, 0x400000, CRC(47becfa2) SHA1(a333885872a64b322f3cb464a70352d73654b1b3) ) /* Located at position  6 on 2C-CRX rom board */
4347 
4348 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // TGPx4 program (COPRO sockets)
4349 
4350 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4351 	ROM_LOAD32_WORD("mpr-20799.16", 0x0000000, 0x400000, CRC(424571bf) SHA1(18a4e8d0e968fff3b645b59a0023b0ef38d51924) ) /* Located at position 17 on 2C-CRX rom board */
4352 	ROM_LOAD32_WORD("mpr-20803.20", 0x0000002, 0x400000, CRC(61a8ad52) SHA1(0215b5de6d10f0852ac0ca4e10475e10243e39c7) ) /* Located at position 21 on 2C-CRX rom board */
4353 	ROM_LOAD32_WORD("mpr-20800.17", 0x0800000, 0x400000, CRC(3c2ee808) SHA1(dc0c470c6b410ab991ef0e09ce1cc0f63c8a204d) ) /* Located at position 18 on 2C-CRX rom board */
4354 	ROM_LOAD32_WORD("mpr-20804.21", 0x0800002, 0x400000, CRC(03b35cb8) SHA1(7bd2ae89f9cc7c0570dbaffe5f54aea2dfa1b39e) ) /* Located at position 22 on 2C-CRX rom board */
4355 	ROM_LOAD32_WORD("mpr-20801.18", 0x1000000, 0x400000, CRC(c6914173) SHA1(d0861366c4123c833a325df5345f951386a94d1a) ) /* Located at position 19 on 2C-CRX rom board */
4356 	ROM_LOAD32_WORD("mpr-20805.22", 0x1000002, 0x400000, CRC(f6605ede) SHA1(7c95bfe2e95bae3d59c3c9efe1f40b5bc292ad44) ) /* Located at position 23 on 2C-CRX rom board */
4357 	ROM_LOAD32_WORD("mpr-20802.19", 0x1800000, 0x400000, CRC(d11b5267) SHA1(b90909849fbe0f62d5ec7c38608c84e7fa845ebf) ) /* Located at position 20 on 2C-CRX rom board */
4358 	ROM_LOAD32_WORD("mpr-20806.23", 0x1800002, 0x400000, CRC(0c942073) SHA1(5f32a56857e2213b110c32deea184dba882e34b8) ) /* Located at position 24 on 2C-CRX rom board */
4359 
4360 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4361 	ROM_LOAD32_WORD("mpr-20809.25", 0x0000000, 0x400000, CRC(3b7b4622) SHA1(c6f1a1fd2684f352d3846b7f859b0405fa2d667a) ) /* Located at position 27 on 2C-CRX rom board */
4362 	ROM_LOAD32_WORD("mpr-20807.24", 0x0000002, 0x400000, CRC(1241e0f2) SHA1(3f7fa1d7d3d398bc8d5295bc1df6fe11405d20d9) ) /* Located at position 25 on 2C-CRX rom board */
4363 	ROM_LOAD32_WORD("mpr-20810.27", 0x0800000, 0x400000, CRC(838a10a7) SHA1(a658f1864829058b1d419e7c001e47cd0ab06a20) ) /* Located at position 28 on 2C-CRX rom board */
4364 	ROM_LOAD32_WORD("mpr-20808.26", 0x0800002, 0x400000, CRC(706bd495) SHA1(f857b303afda6301b19d97dfe5c313126261716e) ) /* Located at position 26 on 2C-CRX rom board */
4365 
4366 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4367 	ROM_LOAD16_WORD_SWAP("epr-20811.30", 0x000000, 0x080000, CRC(a154b83e) SHA1(2640c6b6966f4a888329e583b6b713bd0e779b6b) ) /* Located at position 31 on 2C-CRX rom board */
4368 
4369 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4370 	ROM_LOAD16_WORD_SWAP("mpr-20812.31", 0x000000, 0x200000, CRC(695b6088) SHA1(09682d18144e60d740a9d7a3e19db6f76fa581f1) ) /* Located at position 32 on 2C-CRX rom board */
4371 	ROM_LOAD16_WORD_SWAP("mpr-20813.32", 0x200000, 0x200000, CRC(1908679c) SHA1(32913385f09da2e43af0c4a4612b955527bfe759) ) /* Located at position 33 on 2C-CRX rom board */
4372 	ROM_LOAD16_WORD_SWAP("mpr-20814.36", 0x400000, 0x200000, CRC(e8ebc74c) SHA1(731ce721bb9e148f3a9f7fbe569522567a681c4e) ) /* Located at position 34 on 2C-CRX rom board */
4373 	ROM_LOAD16_WORD_SWAP("mpr-20815.37", 0x600000, 0x200000, CRC(1b5aaae4) SHA1(32b4bf6c096fdccdd5d8f1ddb6c27d3389a52234) ) /* Located at position 35 on 2C-CRX rom board */
4374 
4375 	//             1998     317-0236-COM   Model 2
4376 	ROM_PARAMETER( ":315_5881:key", "2c2a4a93" )
4377 ROM_END
4378 
4379 ROM_START( schamp ) /* Sonic Championship, Model 2B - Sega ROM board ID# 834-12786 */
4380 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4381 	ROM_LOAD32_WORD("epr-19141.15", 0x000000, 0x080000, CRC(b942ef21) SHA1(2372412d49349894c99d545313c12413c2d1ec86) ) /* Default country is USA, game title is "Sonic Championship" when region */
4382 	ROM_LOAD32_WORD("epr-19142.16", 0x000002, 0x080000, CRC(2d54bd76) SHA1(9456fb9a847e01548fc30d36ef161325788653d5) ) /*  is USA or Export; "Sonic the Fighters" when set to Japan */
4383 
4384 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4385 	ROM_LOAD32_WORD("mpr-19007.11",    0x0000000, 0x400000, CRC(8b8ff751) SHA1(5343a9a2502052e3587424c984bd48caa7564849) )
4386 	ROM_LOAD32_WORD("mpr-19008.12",    0x0000002, 0x400000, CRC(a94654f5) SHA1(39ad2e9431543ea6cbc0307bc39933cf64956a74) )
4387 	ROM_LOAD32_WORD("mpr-19005.9",     0x0800000, 0x400000, CRC(98cd1127) SHA1(300c9cdef199f31255bacb95399e9c75be73f817) )
4388 	ROM_LOAD32_WORD("mpr-19006.10",    0x0800002, 0x400000, CRC(e79f0a26) SHA1(37a4ff13cfccfda587ca59a9ef08b5914d2c28d4) )
4389 	ROM_LOAD32_WORD("epr-19143.7",     0x1000000, 0x080000, CRC(f97176fd) SHA1(8c9d871d4639563f8298a7f93032e07a8f863faa) )
4390 	ROM_LOAD32_WORD("epr-19144.8",     0x1000002, 0x080000, CRC(d040202a) SHA1(950ad9174196e776881439545983f91655922a49) )
4391 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
4392 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
4393 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
4394 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
4395 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
4396 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
4397 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
4398 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
4399 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
4400 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
4401 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
4402 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
4403 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
4404 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
4405 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
4406 
4407 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
4408 	ROM_LOAD32_WORD("mpr-19015.29", 0x000000, 0x200000, CRC(c74d99e3) SHA1(9914be9925b86af6af670745b5eba3a9e4f24af9) )
4409 	ROM_LOAD32_WORD("mpr-19016.30", 0x000002, 0x200000, CRC(746ae931) SHA1(a6f0f589ad174a34493ee24dc0cb509ead3aed70) )
4410 
4411 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
4412 	ROM_LOAD32_WORD("mpr-19009.17", 0x000000, 0x400000, CRC(fd410350) SHA1(5af3a90c87ec8a90a8fc58ae469ef23ec6e6213c) )
4413 	ROM_LOAD32_WORD("mpr-19012.21", 0x000002, 0x400000, CRC(9bb7b5b6) SHA1(8e13a0bb34e187a340b38d76ab15ff6fe4bae764) )
4414 	ROM_LOAD32_WORD("mpr-19010.18", 0x800000, 0x400000, CRC(6fd94187) SHA1(e3318ef0eb0168998e139e527339c7c667c17fb1) )
4415 	ROM_LOAD32_WORD("mpr-19013.22", 0x800002, 0x400000, CRC(9e232fe5) SHA1(a6c4b2b3bf8efc6f6263f73d6f4cacf9785010c1) )
4416 
4417 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4418 	ROM_LOAD32_WORD("mpr-19019.27", 0x000000, 0x400000, CRC(59121896) SHA1(c29bedb41b14d63c6067ae12ad009deaafca2aa4) )
4419 	ROM_LOAD32_WORD("mpr-19017.25", 0x000002, 0x400000, CRC(7b298379) SHA1(52fad61412040c90c7dd300c0fd7aa5b8d5af441) )
4420 	ROM_LOAD32_WORD("mpr-19020.28", 0x800000, 0x400000, CRC(9540dba0) SHA1(7b9a75caa8c5b12ba54c6f4f746d80b165ee97ab) )
4421 	ROM_LOAD32_WORD("mpr-19018.26", 0x800002, 0x400000, CRC(3b7e7a12) SHA1(9c707a7c2cffc5eff19f9919ddfae7300842fd19) )
4422 
4423 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4424 	ROM_LOAD16_WORD_SWAP("epr-19021.31", 0x000000, 0x080000, CRC(0b9f7583) SHA1(21290389cd8bd9e52ed438152cc6cb5793f809d3) )
4425 
4426 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4427 	ROM_LOAD16_WORD_SWAP("mpr-19022.32", 0x000000, 0x200000, CRC(4381869b) SHA1(43a21609b49926a227558d4938088526acf1fe42) )
4428 	ROM_LOAD16_WORD_SWAP("mpr-19023.33", 0x200000, 0x200000, CRC(07c67f88) SHA1(696dc85e066fb27c7618e52e0acd0d00451e4589) )
4429 	ROM_LOAD16_WORD_SWAP("mpr-19024.34", 0x400000, 0x200000, CRC(15ff76d3) SHA1(b431bd85c973aa0a4d6032ac98fb057139f142a2) )
4430 	ROM_LOAD16_WORD_SWAP("mpr-19025.35", 0x600000, 0x200000, CRC(6ad8fb70) SHA1(b666d31f9be26eb0cdcb71041a3c3c08d5aa41e1) )
4431 ROM_END
4432 
4433 ROM_START( sfight ) /* Sonic The Fighters, Model 2B */
4434 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4435 	ROM_LOAD32_WORD("epr-19001.15", 0x000000, 0x080000, CRC(9b088511) SHA1(20718d985d14f4d2b1b8e982bfbebddd73cdb972) ) /* Default country is Japan, the game title is "Sonic the Fighters" */
4436 	ROM_LOAD32_WORD("epr-19002.16", 0x000002, 0x080000, CRC(46f510da) SHA1(edcbf61122db568ccaa4c3106f507087c1740c9b) ) /*  in all regions */
4437 
4438 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4439 	ROM_LOAD32_WORD("mpr-19007.11",    0x0000000, 0x400000, CRC(8b8ff751) SHA1(5343a9a2502052e3587424c984bd48caa7564849) )
4440 	ROM_LOAD32_WORD("mpr-19008.12",    0x0000002, 0x400000, CRC(a94654f5) SHA1(39ad2e9431543ea6cbc0307bc39933cf64956a74) )
4441 	ROM_LOAD32_WORD("mpr-19005.9",     0x0800000, 0x400000, CRC(98cd1127) SHA1(300c9cdef199f31255bacb95399e9c75be73f817) )
4442 	ROM_LOAD32_WORD("mpr-19006.10",    0x0800002, 0x400000, CRC(e79f0a26) SHA1(37a4ff13cfccfda587ca59a9ef08b5914d2c28d4) )
4443 	ROM_LOAD32_WORD("epr-19003.7",     0x1000000, 0x080000, CRC(63bae5c5) SHA1(cbd55b7b7376ac2f67befaf4c43eef3727ba7b7f) )
4444 	ROM_LOAD32_WORD("epr-19004.8",     0x1000002, 0x080000, CRC(c10c9f39) SHA1(cf806501dbfa48d16cb7ed5f39a6146f734ba455) )
4445 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
4446 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
4447 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
4448 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
4449 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
4450 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
4451 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
4452 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
4453 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
4454 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
4455 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
4456 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
4457 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
4458 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
4459 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
4460 
4461 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
4462 	ROM_LOAD32_WORD("mpr-19015.29", 0x000000, 0x200000, CRC(c74d99e3) SHA1(9914be9925b86af6af670745b5eba3a9e4f24af9) )
4463 	ROM_LOAD32_WORD("mpr-19016.30", 0x000002, 0x200000, CRC(746ae931) SHA1(a6f0f589ad174a34493ee24dc0cb509ead3aed70) )
4464 
4465 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
4466 	ROM_LOAD32_WORD("mpr-19009.17", 0x000000, 0x400000, CRC(fd410350) SHA1(5af3a90c87ec8a90a8fc58ae469ef23ec6e6213c) )
4467 	ROM_LOAD32_WORD("mpr-19012.21", 0x000002, 0x400000, CRC(9bb7b5b6) SHA1(8e13a0bb34e187a340b38d76ab15ff6fe4bae764) )
4468 	ROM_LOAD32_WORD("mpr-19010.18", 0x800000, 0x400000, CRC(6fd94187) SHA1(e3318ef0eb0168998e139e527339c7c667c17fb1) )
4469 	ROM_LOAD32_WORD("mpr-19013.22", 0x800002, 0x400000, CRC(9e232fe5) SHA1(a6c4b2b3bf8efc6f6263f73d6f4cacf9785010c1) )
4470 
4471 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4472 	ROM_LOAD32_WORD("mpr-19019.27", 0x000000, 0x400000, CRC(59121896) SHA1(c29bedb41b14d63c6067ae12ad009deaafca2aa4) )
4473 	ROM_LOAD32_WORD("mpr-19017.25", 0x000002, 0x400000, CRC(7b298379) SHA1(52fad61412040c90c7dd300c0fd7aa5b8d5af441) )
4474 	ROM_LOAD32_WORD("mpr-19020.28", 0x800000, 0x400000, CRC(9540dba0) SHA1(7b9a75caa8c5b12ba54c6f4f746d80b165ee97ab) )
4475 	ROM_LOAD32_WORD("mpr-19018.26", 0x800002, 0x400000, CRC(3b7e7a12) SHA1(9c707a7c2cffc5eff19f9919ddfae7300842fd19) )
4476 
4477 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4478 	ROM_LOAD16_WORD_SWAP("epr-19021.31", 0x000000, 0x080000, CRC(0b9f7583) SHA1(21290389cd8bd9e52ed438152cc6cb5793f809d3) )
4479 
4480 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4481 	ROM_LOAD16_WORD_SWAP("mpr-19022.32", 0x000000, 0x200000, CRC(4381869b) SHA1(43a21609b49926a227558d4938088526acf1fe42) )
4482 	ROM_LOAD16_WORD_SWAP("mpr-19023.33", 0x200000, 0x200000, CRC(07c67f88) SHA1(696dc85e066fb27c7618e52e0acd0d00451e4589) )
4483 	ROM_LOAD16_WORD_SWAP("mpr-19024.34", 0x400000, 0x200000, CRC(15ff76d3) SHA1(b431bd85c973aa0a4d6032ac98fb057139f142a2) )
4484 	ROM_LOAD16_WORD_SWAP("mpr-19025.35", 0x600000, 0x200000, CRC(6ad8fb70) SHA1(b666d31f9be26eb0cdcb71041a3c3c08d5aa41e1) )
4485 ROM_END
4486 
4487 ROM_START( stcc ) /* Sega Touring Car Championship, Model 2C - Defaults to Japan, Twin & Default View set to Bird's */
4488 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4489 	ROM_LOAD32_WORD("epr-19570.15", 0x000000, 0x080000, CRC(9d6a1965) SHA1(6f1e75d86a37b8579f968b2fb51d32a1a860697f) ) /* Higher rom numbers indicate a newer version */
4490 	ROM_LOAD32_WORD("epr-19571.16", 0x000002, 0x080000, CRC(97254d16) SHA1(f9154cd9e954b16f7f45019b4758b1f971190437) )
4491 
4492 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4493 	ROM_LOAD32_WORD("mpr-19257.11",  0x000000, 0x400000, CRC(ac28ee24) SHA1(31d360dc435336942f70365d0491a2ccfc24c4c0) )
4494 	ROM_LOAD32_WORD("mpr-19258.12",  0x000002, 0x400000, CRC(f5ba7d78) SHA1(9c8304a1f856d1ded869ed2b86de52129510f019) )
4495 	ROM_LOAD32_WORD("epr-19270.9",   0x800000, 0x080000, CRC(7bd1d04e) SHA1(0490f3abc97af16e05f0dc9623e8fc635b1d4262) )
4496 	ROM_LOAD32_WORD("epr-19271.10",  0x800002, 0x080000, CRC(d2d74f85) SHA1(49e7a1e6478122b4f0e679d7b336fb34044b503b) )
4497 	ROM_COPY("main_data", 0x800000, 0x900000, 0x100000)
4498 	ROM_COPY("main_data", 0x800000, 0xa00000, 0x100000)
4499 	ROM_COPY("main_data", 0x800000, 0xb00000, 0x100000)
4500 	ROM_COPY("main_data", 0x800000, 0xc00000, 0x100000)
4501 	ROM_COPY("main_data", 0x800000, 0xd00000, 0x100000)
4502 	ROM_COPY("main_data", 0x800000, 0xe00000, 0x100000)
4503 	ROM_COPY("main_data", 0x800000, 0xf00000, 0x100000)
4504 
4505 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4506 	ROM_LOAD32_WORD("mpr-19255.29", 0x000000, 0x200000, CRC(d78bf030) SHA1(e6b3d8422613d22db50cf6c251f9a21356d96653) )
4507 	ROM_LOAD32_WORD("mpr-19256.30", 0x000002, 0x200000, CRC(cb2b2d9e) SHA1(86b2b8bb6074352f72eb81e616093a1ba6f5163f) )
4508 
4509 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
4510 	ROM_LOAD32_WORD("mpr-19251.17", 0x000000, 0x400000, CRC(e06ff7ba) SHA1(6d472d03cd3caeb66be929c74ae63c32d305a3db) )
4511 	ROM_LOAD32_WORD("mpr-19252.21", 0x000002, 0x400000, CRC(68509993) SHA1(654d5cdf44e7e1e788b26593f418ce76a5c1165a) )
4512 	ROM_LOAD32_WORD("epr-19266.18", 0x800000, 0x080000, CRC(41464ee2) SHA1(afbbc0328bd36c34c69f0f54404dfd6a64036417) )
4513 	ROM_LOAD32_WORD("epr-19267.22", 0x800002, 0x080000, CRC(780f994d) SHA1(f134482ed0fcfc7b3eea39947da47081301a111a) )
4514 
4515 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4516 	ROM_LOAD32_WORD("mpr-19254.27", 0x000000, 0x200000, CRC(1ec49c02) SHA1(a9bdbab7b4b265c9118cf27fd45ca94f4516d5c6) )
4517 	ROM_LOAD32_WORD("mpr-19253.25", 0x000002, 0x200000, CRC(41ba79fb) SHA1(f4d8a4f8278eec6d528bd947b91ebeb5223559d5) )
4518 	ROM_COPY( "textures", 0x000000, 0x400000, 0x400000 )
4519 	ROM_LOAD32_WORD("epr-19269.28", 0x800000, 0x080000, CRC(01881121) SHA1(fe711709e70b3743b2a0318b823d859f233d3ff8) )
4520 	ROM_LOAD32_WORD("epr-19268.26", 0x800002, 0x080000, CRC(bc4e081c) SHA1(b89d39ed19a146d1e94e52682f67d2cd23d8df7f) )
4521 	ROM_COPY( "textures", 0x800000, 0x900000, 0x100000 )
4522 	ROM_COPY( "textures", 0x800000, 0xa00000, 0x100000 )
4523 	ROM_COPY( "textures", 0x800000, 0xb00000, 0x100000 )
4524 	ROM_COPY( "textures", 0x800000, 0xc00000, 0x100000 )
4525 	ROM_COPY( "textures", 0x800000, 0xd00000, 0x100000 )
4526 	ROM_COPY( "textures", 0x800000, 0xe00000, 0x100000 )
4527 	ROM_COPY( "textures", 0x800000, 0xf00000, 0x100000 )
4528 
4529 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4530 	ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x000000, 0x020000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) )
4531 
4532 	ROM_REGION( 0x20000, "mpegcpu", 0) // Z80 DSB program
4533 	ROM_LOAD("epr-19275.2s", 0x000000,  0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) )
4534 
4535 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
4536 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
4537 
4538 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4539 	ROM_LOAD16_WORD_SWAP("mpr-19259.32", 0x000000, 0x400000, CRC(4d55dbfc) SHA1(6e57e6e6e785b0f14bb5e221a44d518dbde7ad65) )
4540 	ROM_LOAD16_WORD_SWAP("mpr-19261.34", 0x400000, 0x400000, CRC(b88878ff) SHA1(4bebcfba68b0cc2fa0bcacfaaf2d2e8af3625c5d) )
4541 
4542 	ROM_REGION( 0x800000, "mpeg", 0 ) // MPEG audio data
4543 	ROM_LOAD("mpr-19262.57s", 0x000000, 0x200000, CRC(922aed7a) SHA1(8d6872bdd46eaf2076c10d18c10af8ccbd3b10e8) )
4544 	ROM_LOAD("mpr-19263.58s", 0x200000, 0x200000, CRC(a256f4cd) SHA1(a17b49050f1ecf1970477b12201cc3b58b31d89c) )
4545 	ROM_LOAD("mpr-19264.59s", 0x400000, 0x200000, CRC(b6c51d0f) SHA1(9e0969a1e49ec1462f69cd0f0f9ce630d66174ce) )
4546 	ROM_LOAD("mpr-19265.60s", 0x600000, 0x200000, CRC(7d98700a) SHA1(bedd37314ecab424b5b27030e1e7dc1b596303f3) )
4547 
4548 	ROM_REGION( 0x10000, "drive", 0 ) // drive board CPU (code is Z80 compatible)
4549 	ROM_LOAD( "epr-18261.ic9", 0x000000, 0x010000, CRC(0c7fac58) SHA1(68c1724c41401e28a5123022981c8919fd22656e) )
4550 ROM_END
4551 
4552 ROM_START( stccb ) /* Sega Touring Car Championship Revision B, Model 2C - Defaults to Japan, Twin & Default View set to Driver's - Sega Game ID# 833-12779, Sega ROM board ID# 834-12780 */
4553 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4554 	ROM_LOAD32_WORD("epr-19272b.15", 0x000000, 0x080000, CRC(efdfb625) SHA1(5026e28b9d8267492bd0d9746d64526540a001da) )
4555 	ROM_LOAD32_WORD("epr-19273b.16", 0x000002, 0x080000, CRC(61a357d9) SHA1(3f22f13a3baa46f93cb40e8af9534afaa57ead9c) )
4556 
4557 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4558 	ROM_LOAD32_WORD("mpr-19257.11",  0x000000, 0x400000, CRC(ac28ee24) SHA1(31d360dc435336942f70365d0491a2ccfc24c4c0) )
4559 	ROM_LOAD32_WORD("mpr-19258.12",  0x000002, 0x400000, CRC(f5ba7d78) SHA1(9c8304a1f856d1ded869ed2b86de52129510f019) )
4560 	ROM_LOAD32_WORD("epr-19270.9",   0x800000, 0x080000, CRC(7bd1d04e) SHA1(0490f3abc97af16e05f0dc9623e8fc635b1d4262) )
4561 	ROM_LOAD32_WORD("epr-19271.10",  0x800002, 0x080000, CRC(d2d74f85) SHA1(49e7a1e6478122b4f0e679d7b336fb34044b503b) )
4562 	ROM_COPY("main_data", 0x800000, 0x900000, 0x100000)
4563 	ROM_COPY("main_data", 0x800000, 0xa00000, 0x100000)
4564 	ROM_COPY("main_data", 0x800000, 0xb00000, 0x100000)
4565 	ROM_COPY("main_data", 0x800000, 0xc00000, 0x100000)
4566 	ROM_COPY("main_data", 0x800000, 0xd00000, 0x100000)
4567 	ROM_COPY("main_data", 0x800000, 0xe00000, 0x100000)
4568 	ROM_COPY("main_data", 0x800000, 0xf00000, 0x100000)
4569 
4570 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4571 	ROM_LOAD32_WORD("mpr-19255.29", 0x000000, 0x200000, CRC(d78bf030) SHA1(e6b3d8422613d22db50cf6c251f9a21356d96653) )
4572 	ROM_LOAD32_WORD("mpr-19256.30", 0x000002, 0x200000, CRC(cb2b2d9e) SHA1(86b2b8bb6074352f72eb81e616093a1ba6f5163f) )
4573 
4574 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
4575 	ROM_LOAD32_WORD("mpr-19251.17", 0x000000, 0x400000, CRC(e06ff7ba) SHA1(6d472d03cd3caeb66be929c74ae63c32d305a3db) )
4576 	ROM_LOAD32_WORD("mpr-19252.21", 0x000002, 0x400000, CRC(68509993) SHA1(654d5cdf44e7e1e788b26593f418ce76a5c1165a) )
4577 	ROM_LOAD32_WORD("epr-19266.18", 0x800000, 0x080000, CRC(41464ee2) SHA1(afbbc0328bd36c34c69f0f54404dfd6a64036417) )
4578 	ROM_LOAD32_WORD("epr-19267.22", 0x800002, 0x080000, CRC(780f994d) SHA1(f134482ed0fcfc7b3eea39947da47081301a111a) )
4579 
4580 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4581 	ROM_LOAD32_WORD("mpr-19254.27", 0x000000, 0x200000, CRC(1ec49c02) SHA1(a9bdbab7b4b265c9118cf27fd45ca94f4516d5c6) )
4582 	ROM_LOAD32_WORD("mpr-19253.25", 0x000002, 0x200000, CRC(41ba79fb) SHA1(f4d8a4f8278eec6d528bd947b91ebeb5223559d5) )
4583 	ROM_COPY( "textures", 0x000000, 0x400000, 0x400000 )
4584 	ROM_LOAD32_WORD("epr-19269.28", 0x800000, 0x080000, CRC(01881121) SHA1(fe711709e70b3743b2a0318b823d859f233d3ff8) )
4585 	ROM_LOAD32_WORD("epr-19268.26", 0x800002, 0x080000, CRC(bc4e081c) SHA1(b89d39ed19a146d1e94e52682f67d2cd23d8df7f) )
4586 	ROM_COPY( "textures", 0x800000, 0x900000, 0x100000 )
4587 	ROM_COPY( "textures", 0x800000, 0xa00000, 0x100000 )
4588 	ROM_COPY( "textures", 0x800000, 0xb00000, 0x100000 )
4589 	ROM_COPY( "textures", 0x800000, 0xc00000, 0x100000 )
4590 	ROM_COPY( "textures", 0x800000, 0xd00000, 0x100000 )
4591 	ROM_COPY( "textures", 0x800000, 0xe00000, 0x100000 )
4592 	ROM_COPY( "textures", 0x800000, 0xf00000, 0x100000 )
4593 
4594 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4595 	ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x000000, 0x020000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) )
4596 
4597 	ROM_REGION( 0x20000, "mpegcpu", 0) // Z80 DSB program
4598 	ROM_LOAD("epr-19275.2s", 0x000000,  0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) )
4599 
4600 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
4601 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
4602 
4603 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4604 	ROM_LOAD16_WORD_SWAP("mpr-19259.32", 0x000000, 0x400000, CRC(4d55dbfc) SHA1(6e57e6e6e785b0f14bb5e221a44d518dbde7ad65) )
4605 	ROM_LOAD16_WORD_SWAP("mpr-19261.34", 0x400000, 0x400000, CRC(b88878ff) SHA1(4bebcfba68b0cc2fa0bcacfaaf2d2e8af3625c5d) )
4606 
4607 	ROM_REGION( 0x800000, "mpeg", 0 ) // MPEG audio data
4608 	ROM_LOAD("mpr-19262.57s", 0x000000, 0x200000, CRC(922aed7a) SHA1(8d6872bdd46eaf2076c10d18c10af8ccbd3b10e8) )
4609 	ROM_LOAD("mpr-19263.58s", 0x200000, 0x200000, CRC(a256f4cd) SHA1(a17b49050f1ecf1970477b12201cc3b58b31d89c) )
4610 	ROM_LOAD("mpr-19264.59s", 0x400000, 0x200000, CRC(b6c51d0f) SHA1(9e0969a1e49ec1462f69cd0f0f9ce630d66174ce) )
4611 	ROM_LOAD("mpr-19265.60s", 0x600000, 0x200000, CRC(7d98700a) SHA1(bedd37314ecab424b5b27030e1e7dc1b596303f3) )
4612 
4613 	ROM_REGION( 0x10000, "drive", 0 ) // drive board CPU (code is Z80 compatible)
4614 	ROM_LOAD( "epr-18261.ic9", 0x000000, 0x010000, CRC(0c7fac58) SHA1(68c1724c41401e28a5123022981c8919fd22656e) )
4615 ROM_END
4616 
4617 ROM_START( stcca ) /* Sega Touring Car Championship Revision A, Model 2C - Defaults to Japan, Twin & no "Default View" option - Sega Game ID# 833-12779, Sega ROM board ID# 834-12780 */
4618 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4619 	ROM_LOAD32_WORD("epr-19272a.15", 0x000000, 0x080000, CRC(20cedd05) SHA1(e465967c784de18caaaac77e164796e9779f576a) )
4620 	ROM_LOAD32_WORD("epr-19273a.16", 0x000002, 0x080000, CRC(1b0ab4d6) SHA1(142bcd53fa6632fcc866bbda817aa83470111ef1) )
4621 
4622 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4623 	ROM_LOAD32_WORD("mpr-19257.11",  0x000000, 0x400000, CRC(ac28ee24) SHA1(31d360dc435336942f70365d0491a2ccfc24c4c0) )
4624 	ROM_LOAD32_WORD("mpr-19258.12",  0x000002, 0x400000, CRC(f5ba7d78) SHA1(9c8304a1f856d1ded869ed2b86de52129510f019) )
4625 	ROM_LOAD32_WORD("epr-19270.9",   0x800000, 0x080000, CRC(7bd1d04e) SHA1(0490f3abc97af16e05f0dc9623e8fc635b1d4262) )
4626 	ROM_LOAD32_WORD("epr-19271.10",  0x800002, 0x080000, CRC(d2d74f85) SHA1(49e7a1e6478122b4f0e679d7b336fb34044b503b) )
4627 	ROM_COPY("main_data", 0x800000, 0x900000, 0x100000)
4628 	ROM_COPY("main_data", 0x800000, 0xa00000, 0x100000)
4629 	ROM_COPY("main_data", 0x800000, 0xb00000, 0x100000)
4630 	ROM_COPY("main_data", 0x800000, 0xc00000, 0x100000)
4631 	ROM_COPY("main_data", 0x800000, 0xd00000, 0x100000)
4632 	ROM_COPY("main_data", 0x800000, 0xe00000, 0x100000)
4633 	ROM_COPY("main_data", 0x800000, 0xf00000, 0x100000)
4634 
4635 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4636 	ROM_LOAD32_WORD("mpr-19255.29", 0x000000, 0x200000, CRC(d78bf030) SHA1(e6b3d8422613d22db50cf6c251f9a21356d96653) )
4637 	ROM_LOAD32_WORD("mpr-19256.30", 0x000002, 0x200000, CRC(cb2b2d9e) SHA1(86b2b8bb6074352f72eb81e616093a1ba6f5163f) )
4638 
4639 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
4640 	ROM_LOAD32_WORD("mpr-19251.17", 0x000000, 0x400000, CRC(e06ff7ba) SHA1(6d472d03cd3caeb66be929c74ae63c32d305a3db) )
4641 	ROM_LOAD32_WORD("mpr-19252.21", 0x000002, 0x400000, CRC(68509993) SHA1(654d5cdf44e7e1e788b26593f418ce76a5c1165a) )
4642 	ROM_LOAD32_WORD("epr-19266.18", 0x800000, 0x080000, CRC(41464ee2) SHA1(afbbc0328bd36c34c69f0f54404dfd6a64036417) )
4643 	ROM_LOAD32_WORD("epr-19267.22", 0x800002, 0x080000, CRC(780f994d) SHA1(f134482ed0fcfc7b3eea39947da47081301a111a) )
4644 
4645 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4646 	ROM_LOAD32_WORD("mpr-19254.27", 0x000000, 0x200000, CRC(1ec49c02) SHA1(a9bdbab7b4b265c9118cf27fd45ca94f4516d5c6) )
4647 	ROM_LOAD32_WORD("mpr-19253.25", 0x000002, 0x200000, CRC(41ba79fb) SHA1(f4d8a4f8278eec6d528bd947b91ebeb5223559d5) )
4648 	ROM_COPY( "textures", 0x000000, 0x400000, 0x400000 )
4649 	ROM_LOAD32_WORD("epr-19269.28", 0x800000, 0x080000, CRC(01881121) SHA1(fe711709e70b3743b2a0318b823d859f233d3ff8) )
4650 	ROM_LOAD32_WORD("epr-19268.26", 0x800002, 0x080000, CRC(bc4e081c) SHA1(b89d39ed19a146d1e94e52682f67d2cd23d8df7f) )
4651 	ROM_COPY( "textures", 0x800000, 0x900000, 0x100000 )
4652 	ROM_COPY( "textures", 0x800000, 0xa00000, 0x100000 )
4653 	ROM_COPY( "textures", 0x800000, 0xb00000, 0x100000 )
4654 	ROM_COPY( "textures", 0x800000, 0xc00000, 0x100000 )
4655 	ROM_COPY( "textures", 0x800000, 0xd00000, 0x100000 )
4656 	ROM_COPY( "textures", 0x800000, 0xe00000, 0x100000 )
4657 	ROM_COPY( "textures", 0x800000, 0xf00000, 0x100000 )
4658 
4659 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4660 	ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x000000, 0x020000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) )
4661 
4662 	ROM_REGION( 0x20000, "mpegcpu", 0) // Z80 DSB program
4663 	ROM_LOAD("epr-19275.2s", 0x000000,  0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) )
4664 
4665 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
4666 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
4667 
4668 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4669 	ROM_LOAD16_WORD_SWAP("mpr-19259.32", 0x000000, 0x400000, CRC(4d55dbfc) SHA1(6e57e6e6e785b0f14bb5e221a44d518dbde7ad65) )
4670 	ROM_LOAD16_WORD_SWAP("mpr-19261.34", 0x400000, 0x400000, CRC(b88878ff) SHA1(4bebcfba68b0cc2fa0bcacfaaf2d2e8af3625c5d) )
4671 
4672 	ROM_REGION( 0x800000, "mpeg", 0 ) // MPEG audio data
4673 	ROM_LOAD("mpr-19262.57s", 0x000000, 0x200000, CRC(922aed7a) SHA1(8d6872bdd46eaf2076c10d18c10af8ccbd3b10e8) )
4674 	ROM_LOAD("mpr-19263.58s", 0x200000, 0x200000, CRC(a256f4cd) SHA1(a17b49050f1ecf1970477b12201cc3b58b31d89c) )
4675 	ROM_LOAD("mpr-19264.59s", 0x400000, 0x200000, CRC(b6c51d0f) SHA1(9e0969a1e49ec1462f69cd0f0f9ce630d66174ce) )
4676 	ROM_LOAD("mpr-19265.60s", 0x600000, 0x200000, CRC(7d98700a) SHA1(bedd37314ecab424b5b27030e1e7dc1b596303f3) )
4677 
4678 	ROM_REGION( 0x10000, "drive", 0 ) // drive board CPU (code is Z80 compatible)
4679 	ROM_LOAD( "epr-18261.ic9", 0x000000, 0x010000, CRC(0c7fac58) SHA1(68c1724c41401e28a5123022981c8919fd22656e) )
4680 ROM_END
4681 
4682 ROM_START( skisuprg ) /* Sega Ski Super G, Model 2C, Sega Game ID# 833-12861, ROM board ID# 834-12862 */
4683 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4684 	ROM_LOAD32_WORD( "epr-19489.15", 0x000000, 0x080000, CRC(1df948a7) SHA1(a38faeb97c65b379ad05f7311b55217118c8d2be) )
4685 	ROM_LOAD32_WORD( "epr-19490.16", 0x000002, 0x080000, CRC(e6fc24d3) SHA1(1ac9172cf0b4d6a3488483ffa490a4ca5d410927) )
4686 	ROM_LOAD32_WORD( "epr-19551.13", 0x100000, 0x080000, CRC(3ee8f0d5) SHA1(23f45858559776a70b3b57f4cb2840f44e6a6531) )
4687 	ROM_LOAD32_WORD( "epr-19552.14", 0x100002, 0x080000, CRC(baa2e49a) SHA1(b234f3b65e8fabfb6ec7ca62dd9a1d2935b2e95a) )
4688 
4689 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4690 	ROM_LOAD32_WORD( "mpr-19494.11", 0x000000, 0x400000, CRC(f19cdb5c) SHA1(bdbb7d9e91a7742ff5a908b6244adbed291e5e7f) )
4691 	ROM_LOAD32_WORD( "mpr-19495.12", 0x000002, 0x400000, CRC(d42e5ef2) SHA1(21ca5e7e543595a4691aacdbcdd2af21d464d939) )
4692 	ROM_LOAD32_WORD( "mpr-19492.9",  0x800000, 0x400000, CRC(4805318f) SHA1(dbd1359817933313c6d74d3a1450682e8ce5857a) )
4693 	ROM_LOAD32_WORD( "mpr-19493.10", 0x800002, 0x400000, CRC(39daa909) SHA1(e29e50c7fc39bd4945f993ceaa100358054efc5a) )
4694 
4695 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4696 	ROM_LOAD32_WORD( "mpr-19502.29", 0x000000, 0x400000, CRC(2212d8d6) SHA1(3b8a4da2dc00a1eac41b48cbdc322ea1c31b8b29) )
4697 	ROM_LOAD32_WORD( "mpr-19503.30", 0x000002, 0x400000, CRC(3c9cfc73) SHA1(2213485a00cef0bcef11b67f00027c4159c5e2f5) )
4698 
4699 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
4700 	ROM_LOAD32_WORD( "mpr-19496.17", 0x000000, 0x400000, CRC(0e9aef4e) SHA1(d4b511b90c0a6e27d6097cb25ff005f68d5fa83c) )
4701 	ROM_LOAD32_WORD( "mpr-19497.21", 0x000002, 0x400000, CRC(5397efe9) SHA1(4b20bab36462f9506fa2601c2545051ca49de7f5) )
4702 	ROM_LOAD32_WORD( "mpr-19498.18", 0x800000, 0x400000, CRC(32e5ae60) SHA1(b8a1cc117875c3919a78eedb60a06926288d9b95) )
4703 	ROM_LOAD32_WORD( "mpr-19499.22", 0x800002, 0x400000, CRC(2b9f5b48) SHA1(40f3f2844244c3f1c8792aa262872243ad20fd69) )
4704 
4705 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4706 	ROM_LOAD32_WORD( "mpr-19501.27", 0x000000, 0x400000, CRC(66d7b02e) SHA1(cede0dc5c8d9fbfa8de01fe864b3cc101abf67d7) )
4707 	ROM_LOAD32_WORD( "mpr-19500.25", 0x000002, 0x400000, CRC(905f5798) SHA1(31f104e3022b5bc7ed7c667eb801a57949a06c93) )
4708 
4709 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4710 	ROM_LOAD16_WORD_SWAP( "epr-19491.31", 0x000000, 0x080000, CRC(1c9b15fd) SHA1(045244a4eebc45f149aecf47f090cede1813477b) )
4711 
4712 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4713 	ROM_LOAD16_WORD_SWAP( "mpr-19504.32", 0x000000, 0x400000, CRC(9419ec08) SHA1(d05d9ceb7fd09fa8991c0df4d1c57eb621460e30) )
4714 	ROM_LOAD16_WORD_SWAP( "mpr-19505.34", 0x400000, 0x400000, CRC(eba7f41d) SHA1(f6e521bedf298808a768f6fdcb0b60b320a66d04) )
4715 ROM_END
4716 
4717 /* Sega Water Ski - There should be a version with program roms EPR-19965 & EPR-19966 (currently undumped) */
4718 ROM_START( segawski ) /* Sega Water Ski Revision A, Model 2C, Sega Game ID# 833-13204, ROM board ID# 834-13205 */
4719 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4720 	ROM_LOAD32_WORD("epr-19963a.15", 0x000000, 0x080000, CRC(89c9cb0d) SHA1(7f1f600222447effb28cf2d56193ea9f45fd0646) )
4721 	ROM_LOAD32_WORD("epr-19964a.16", 0x000002, 0x080000, CRC(c382cefe) SHA1(c0ccee4eb19d9626dee0f77f08060f1d9708b39d) )
4722 
4723 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4724 	ROM_LOAD32_WORD("mpr-19980.11", 0x0000000, 0x400000, CRC(709804f2) SHA1(6633eeb2bc0ddd5eb5994cb7cc39ed4ab2094a7e) )
4725 	ROM_LOAD32_WORD("mpr-19981.12", 0x0000002, 0x400000, CRC(a1e8ec09) SHA1(53abaf71e85f874d28a79c8775b1f0ac919fbe22) )
4726 	ROM_LOAD32_WORD("mpr-19982.9",  0x0800000, 0x400000, CRC(41c398bb) SHA1(e6652111a494165c93d5e9dc7d1c3df46f1a8961) )
4727 	ROM_LOAD32_WORD("mpr-19983.10", 0x0800002, 0x400000, CRC(e210dea2) SHA1(a32010648046738f64cbc7e1a074b9443bbde865) )
4728 	ROM_LOAD32_WORD("mpr-19984.7",  0x1000000, 0x400000, CRC(14b967d1) SHA1(8e0fd13f5838218224ce162a55558b75dcda4cbf) )
4729 	ROM_LOAD32_WORD("mpr-19985.8",  0x1000002, 0x400000, CRC(57827677) SHA1(0d764ec9e136e4d027aefb10e9f025aa2e081573) )
4730 	ROM_LOAD32_WORD("epr-19961.5",  0x1800000, 0x080000, CRC(cc34ecaf) SHA1(8e540a429826d40acef5a34a0b6b1b89e059961b) )
4731 	ROM_LOAD32_WORD("epr-19962.6",  0x1800002, 0x080000, CRC(e8a30e5e) SHA1(2d7290186aaca28f3aaf6656b090e1cbe509aa48) )
4732 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 )
4733 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
4734 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
4735 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
4736 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
4737 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
4738 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
4739 
4740 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4741 	ROM_LOAD32_WORD("mpr-19986.29", 0x0000000, 0x400000, CRC(4b8e26f8) SHA1(859e3788c75599295a8b57ed7852f2cbb6a2a738) )
4742 	ROM_LOAD32_WORD("mpr-19987.30", 0x0000002, 0x400000, CRC(8d5b9d38) SHA1(35f41c474af3754152aecefe81e912120823e0ff) )
4743 
4744 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4745 	ROM_LOAD32_WORD("mpr-19972.17", 0x0000000, 0x400000, CRC(493c0f8f) SHA1(c68f662d53fbcec3d2dbd9ebdfd37cbf1ff46408) )
4746 	ROM_LOAD32_WORD("mpr-19973.21", 0x0000002, 0x400000, CRC(01b6f8e1) SHA1(be1f1017ff5f43218de2d99090e4e7db64f7a483) )
4747 	ROM_LOAD32_WORD("mpr-19974.18", 0x0800000, 0x400000, CRC(2bd947d3) SHA1(7f16e668db5a4673cd909bdfa1b9dc665827b392) )
4748 	ROM_LOAD32_WORD("mpr-19975.22", 0x0800002, 0x400000, CRC(07e6b699) SHA1(35bbea4cd42ab39f976cd2ec964c32d5d3982c4a) )
4749 	ROM_LOAD32_WORD("mpr-19976.19", 0x1000000, 0x400000, CRC(f9496566) SHA1(e6dee764301c0ed34e5134a5232898bb42563c20) )
4750 	ROM_LOAD32_WORD("mpr-19977.23", 0x1000002, 0x400000, CRC(b3dbf54b) SHA1(d61448394b7b2036e27bdbf7a062d63f076db9da) )
4751 	ROM_LOAD32_WORD("mpr-19978.20", 0x1800000, 0x400000, CRC(c80f4ed7) SHA1(e7ea6dfb57ab1fe924a80c244b8acfe4aad2b76d) )
4752 	ROM_LOAD32_WORD("mpr-19979.24", 0x1800002, 0x400000, CRC(1c0db4d2) SHA1(65a81f4503c6b9c26650befd183db821545c53e2) )
4753 
4754 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4755 	ROM_LOAD32_WORD("mpr-19969.27", 0x0000000, 0x400000, CRC(c0c33d39) SHA1(f61a6266556d5687cd03031065baa2dd73112666) )
4756 	ROM_LOAD32_WORD("mpr-19968.25", 0x0000002, 0x400000, CRC(b8d2f04f) SHA1(f0f4d2dd06cdf745ed07fe428eaa3e3ad030bff6) )
4757 	ROM_LOAD32_WORD("mpr-19971.28", 0x0800000, 0x400000, CRC(c8708096) SHA1(c27e0a90dc1183b0cf7f32e324afa6c126f61d37) )
4758 	ROM_LOAD32_WORD("mpr-19970.26", 0x0800002, 0x400000, CRC(c59d8d36) SHA1(24232390f0cac5ffbb17a0093a602363c686fbf8) )
4759 
4760 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4761 	ROM_LOAD16_WORD_SWAP("epr-19967.31", 0x000000, 0x080000, CRC(c6b8ef3f) SHA1(9f86d6e365a5535d354ff6b0614f3a19c0790d0f) )
4762 
4763 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4764 	ROM_LOAD16_WORD_SWAP("mpr-19988.32", 0x000000, 0x400000, CRC(303732fb) SHA1(63efbd9f67b38fddeeed25de660514867e03486a) )
4765 	ROM_LOAD16_WORD_SWAP("mpr-19989.34", 0x400000, 0x400000, CRC(8074a4b3) SHA1(98dc1d122ffb9b5c52994dea2b5d8c4f004a5f8e) )
4766 ROM_END
4767 
4768 ROM_START( hotd ) /* House of the Dead, Model 2C, Sega Game ID# 610-0396-13054, ROM board ID# 834-13055 */
4769 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4770 	ROM_LOAD32_WORD("epr-19696.15", 0x000000, 0x080000, CRC(03da5623) SHA1(be0bd34a9216375c7204445f084f6c74c4d3b0c8) )
4771 	ROM_LOAD32_WORD("epr-19697.16", 0x000002, 0x080000, CRC(a9722d87) SHA1(0b14f9a81272f79a5b294bc024711042c5fb2637) )
4772 	ROM_LOAD32_WORD("epr-19694.13", 0x100000, 0x080000, CRC(e85ca1a3) SHA1(3d688be98f78fe40c2af1e91df6decd500400ae9) )
4773 	ROM_LOAD32_WORD("epr-19695.14", 0x100002, 0x080000, CRC(cd52b461) SHA1(bc96ab2a4ba7f30c0b89814acc8931c8bf800a82) )
4774 
4775 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4776 	ROM_LOAD32_WORD("mpr-19704.11",    0x0000000, 0x400000, CRC(aa80dbb0) SHA1(24e63f4392847f288971469cd10448536eb435d4) )
4777 	ROM_LOAD32_WORD("mpr-19705.12",    0x0000002, 0x400000, CRC(f906843b) SHA1(bee4f43b3ad15d93a2f9f07b873c9cf5d228e2f9) )
4778 	ROM_LOAD32_WORD("mpr-19702.9",     0x0800000, 0x400000, CRC(fc8aa3b7) SHA1(b64afb17d9c97277d8c4f20811f14f65a61cbb56) )
4779 	ROM_LOAD32_WORD("mpr-19703.10",    0x0800002, 0x400000, CRC(208d993d) SHA1(e5c45ea5621f99661a87ffe88e24764d2bbcb51e) )
4780 	ROM_LOAD32_WORD("mpr-19700.7",     0x1000000, 0x400000, CRC(0558cfd3) SHA1(94440839d3325176c2d03f39a78949d0ef040bba) )
4781 	ROM_LOAD32_WORD("mpr-19701.8",     0x1000002, 0x400000, CRC(224a8929) SHA1(933770546d46abca400e7f524eff2ae89241e56d) )
4782 	ROM_LOAD32_WORD("epr-19698.5",     0x1800000, 0x080000, CRC(e7a7b6ea) SHA1(77cb53f8730fdb55080b70910ab8c750d79acb02) )
4783 	ROM_LOAD32_WORD("epr-19699.6",     0x1800002, 0x080000, CRC(8160b3d9) SHA1(9dab483c60624dddba8085e94a4325739592ec17) )
4784 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 )
4785 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
4786 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
4787 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
4788 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
4789 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
4790 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
4791 
4792 
4793 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4794 	ROM_LOAD32_WORD("epr-19707.29",  0x000000, 0x080000, CRC(384fd133) SHA1(6d060378d0f801b04d12e7ee874f2fa0572992d9) )
4795 	ROM_LOAD32_WORD("epr-19706.30",  0x000002, 0x080000, CRC(1277531c) SHA1(08d3e733ba9989fcd32290634171c73f26ab6e2b) )
4796 
4797 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4798 	ROM_LOAD32_WORD("mpr-19715.17", 0x0000000, 0x400000, CRC(3ff7dda7) SHA1(0a61b091bb0bc659f0cbca8ad401d0925a1dc2ea) )
4799 	ROM_LOAD32_WORD("mpr-19711.21", 0x0000002, 0x400000, CRC(080d13f1) SHA1(4167428a2a903aea2c14631ccf924afb81338b89) )
4800 	ROM_LOAD32_WORD("mpr-19714.18", 0x0800000, 0x400000, CRC(3e55ab49) SHA1(70b4c1627db80e6734112c02265495e2b4a53278) )
4801 	ROM_LOAD32_WORD("mpr-19710.22", 0x0800002, 0x400000, CRC(80df1036) SHA1(3cc59bb4910aa5382e95762f63325c06b763bd23) )
4802 	ROM_LOAD32_WORD("mpr-19713.19", 0x1000000, 0x400000, CRC(4d092cd3) SHA1(b6d0be283c25235249186751c7f025a7c38d2f36) )
4803 	ROM_LOAD32_WORD("mpr-19709.23", 0x1000002, 0x400000, CRC(d08937bf) SHA1(c92571e35960f27dc8b0b059f12167026d0666d1) )
4804 	ROM_LOAD32_WORD("mpr-19712.20", 0x1800000, 0x400000, CRC(41577943) SHA1(25a0d921c8662043c5860dc7a226d4895ff9fff6) )
4805 	ROM_LOAD32_WORD("mpr-19708.24", 0x1800002, 0x400000, CRC(5cb790f2) SHA1(d3cae450186bc62fd746b14d6a05cb397efcfe40) )
4806 
4807 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4808 	ROM_LOAD32_WORD("mpr-19718.27", 0x0000000, 0x400000, CRC(a9de5924) SHA1(3ebac2aeb1467939337c9a5c87ad9c293560dae2) )
4809 	ROM_LOAD32_WORD("mpr-19716.25", 0x0000002, 0x400000, CRC(45c7dcce) SHA1(f602cabd879c69afee544848feafb9fb9f5d51e2) )
4810 	ROM_LOAD32_WORD("mpr-19719.28", 0x0800000, 0x400000, CRC(838f8343) SHA1(fe6622b5917f9a99c097fd60d9446ac6b481fa75) )
4811 	ROM_LOAD32_WORD("mpr-19717.26", 0x0800002, 0x400000, CRC(393e440b) SHA1(927ac9cad22f87b339cc86043678470ff139ce1f) )
4812 
4813 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4814 	ROM_LOAD16_WORD_SWAP("epr-19720.31", 0x000000, 0x080000, CRC(b367d21d) SHA1(1edaed489a3518ddad85728e416319f940ea02bb) )
4815 
4816 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4817 	ROM_LOAD16_WORD_SWAP("mpr-19721.32", 0x000000, 0x400000, CRC(f5d8fa9a) SHA1(6836973a687c59dd80f8e6c30d33155e306be199) )
4818 	ROM_LOAD16_WORD_SWAP("mpr-19722.34", 0x400000, 0x400000, CRC(a56fa539) SHA1(405a892bc368ba862ba71bda7525b421d6973c0e) )
4819 ROM_END
4820 
4821 ROM_START( hotdp )
4822 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4823 	ROM_LOAD32_WORD("prg0.15", 0x000000, 0x080000, CRC(548ed10a) SHA1(393f1f96bc7efcaaa41c09ee08ce081391102583) )
4824 	ROM_LOAD32_WORD("prg1.16", 0x000002, 0x080000, CRC(f43bb51f) SHA1(1a2a68adbfd21042fcfa20e7366f6a250e2fdf8e) )
4825 
4826 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data, Flash ROM modules instead if DIP ROMs
4827 	ROM_LOAD32_WORD("dat0.11",    0x0000000, 0x400000, CRC(8d40fc82) SHA1(9ce989706795fe103fce8679f3b117cf48d9b843) )
4828 	ROM_LOAD32_WORD("dat1.12",    0x0000002, 0x400000, CRC(63e04c15) SHA1(c62417b0b8b3a50425da0833550728eb574655fb) )
4829 	ROM_LOAD32_WORD("dat2.9",     0x0800000, 0x400000, CRC(2aa9e4b9) SHA1(e53583cdb5eef3d31192f3ba7d21e6647e438224) )
4830 	ROM_LOAD32_WORD("dat3.10",    0x0800002, 0x400000, CRC(356d348b) SHA1(4e43264ab5a61804f12b6f4b63c644d1250dd43d) )
4831 	ROM_LOAD32_WORD("dat4.7",     0x1000000, 0x400000, CRC(7ec403f6) SHA1(1120616bcf8151c642183dd2e3f8636a640b624d) )
4832 	ROM_LOAD32_WORD("dat5.8",     0x1000002, 0x400000, CRC(592fac50) SHA1(8a0386478ee8056616ea475979c515e74414a78b) )
4833 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 )
4834 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
4835 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
4836 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
4837 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
4838 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
4839 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
4840 
4841 
4842 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
4843 	ROM_LOAD32_WORD("copro0.29",  0x000000, 0x200000, CRC(fc2380f5) SHA1(02a2f8bfc3915787f3aa9645de8a0af4450cea33) )
4844 	ROM_LOAD32_WORD("copro1.30",  0x000002, 0x200000, CRC(e6ae8f3c) SHA1(9a2c3d3b305e4707f7691d6242ff1bf47d1ced10) )
4845 
4846 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models, Flash ROM modules instead if DIP ROMs
4847 	ROM_LOAD32_WORD("tgp0.17", 0x0000000, 0x400000, CRC(b458ec9b) SHA1(8d51443d5d0e790dc9f0060d8cedc50f177fee04) )
4848 	ROM_LOAD32_WORD("tgp1.21", 0x0000002, 0x400000, CRC(4b250500) SHA1(425a397f8ba8e295d922c76b1145ad92cafa6b32) )
4849 	ROM_LOAD32_WORD("tgp2.18", 0x0800000, 0x400000, CRC(17f68d25) SHA1(2f194149c456dc5195eca6426c3b1d4ee4e7fc69) )
4850 	ROM_LOAD32_WORD("tgp3.22", 0x0800002, 0x400000, CRC(caff1d48) SHA1(033676cd1d2cf0008367d17de30675e3d4d75547) )
4851 	ROM_LOAD32_WORD("tgp4.19", 0x1000000, 0x400000, CRC(8854f204) SHA1(54f7e23f2cc5c939000f8fd257d907cca7919b64) )
4852 	ROM_LOAD32_WORD("tgp5.23", 0x1000002, 0x400000, CRC(29f311f3) SHA1(2f89767aaefeb2650091b37c4d505701681bb375) )
4853 
4854 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures, Flash ROM modules instead if DIP ROMs
4855 	ROM_LOAD32_WORD("tex1.27", 0x0000000, 0x400000, BAD_DUMP CRC(86ef3ee4) SHA1(8ad2aa98d94e9a4f1abb61a02aba95064e533a61) ) // one of flash ROMs had broken most significant address pin, dump contains only half of even-bytes data mirrored 2x, correct sum should be 28DA
4856 	ROM_LOAD32_WORD("tex0.25", 0x0000002, 0x400000, CRC(fb10366a) SHA1(189389f84fa5f04c586953c54254f7bd09dd8d92) )
4857 	ROM_LOAD32_WORD("tex3.28", 0x0800000, 0x400000, CRC(9a61d7e8) SHA1(d9a563f74e485df5bdf149afaed69811b5536712) )
4858 	ROM_LOAD32_WORD("tex2.26", 0x0800002, 0x400000, CRC(84ec2923) SHA1(daea23864fbc48c14177e77cd783f73621472708) )
4859 
4860 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4861 	ROM_LOAD16_WORD_SWAP("sndpgm0.31", 0x000000, 0x080000, CRC(30accd2e) SHA1(098f07feaa007647f86ea02ef5e1102859c5890a) )
4862 
4863 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4864 	ROM_LOAD16_WORD_SWAP("sound1.32", 0x000000, 0x200000, CRC(e0a8dd56) SHA1(c80abe8e7541946b7dd615da98aeb04170ebf91d) )
4865 	ROM_LOAD16_WORD_SWAP("sound2.33", 0x200000, 0x200000, CRC(a517834f) SHA1(232ec02fedf259a6112dd04e8a6b3a7a1ba17786) )
4866 	ROM_LOAD16_WORD_SWAP("sound3.34", 0x400000, 0x200000, CRC(f0c529bb) SHA1(3c8f3843e9719079d993206feb083305aa85b0fb) )
4867 	ROM_LOAD16_WORD_SWAP("sound4.35", 0x600000, 0x200000, CRC(3ad48d53) SHA1(b17f513705217966bc224721b444957de66d74b4) )
4868 ROM_END
4869 
4870 ROM_START( lastbrnx ) /* Last Bronx Revision A (Export), Model 2B */
4871 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4872 	ROM_LOAD32_WORD("epr-19061a.15", 0x000000, 0x080000, CRC(c0aebab2) SHA1(fa63081b0aa6f02c3d197485865ee38e9c78b43d) )
4873 	ROM_LOAD32_WORD("epr-19062a.16", 0x000002, 0x080000, CRC(cdf597e8) SHA1(a85ca36a537ba21d11ef3cfdf914c2c93ac5e68f) )
4874 
4875 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4876 	ROM_LOAD32_WORD("mpr-19050.11",  0x000000, 0x400000, CRC(e6af2b61) SHA1(abdf7aa4c594f0916d4335c70fdd67dc6b1f4630) )
4877 	ROM_LOAD32_WORD("mpr-19051.12",  0x000002, 0x400000, CRC(14b88961) SHA1(bec22f657c6d939c095b99ca9c6eb44b9683fd72) )
4878 	ROM_LOAD32_WORD("mpr-19048.9",   0x800000, 0x400000, CRC(02180215) SHA1(cc5f8e61fee07aa4fc5bfe2d011088ee523c77c2) )
4879 	ROM_LOAD32_WORD("mpr-19049.10",  0x800002, 0x400000, CRC(db7eecd6) SHA1(5955885ad2bfd69d7a2c4e1d1df907aca41fbdd0) )
4880 
4881 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
4882 	ROM_LOAD32_WORD("mpr-19052.17",  0x000000, 0x400000, CRC(d7f27216) SHA1(b393af96522306dc2e055aea1e837979f41940d4) )
4883 	ROM_LOAD32_WORD("mpr-19053.21",  0x000002, 0x400000, CRC(1f328465) SHA1(950a92209b7c24f66db62c31627a1f1d52721f1e) )
4884 
4885 	ROM_REGION( 0x800000, "textures", ROMREGION_ERASEFF ) // Textures
4886 	ROM_LOAD32_WORD("mpr-19055.27",  0x000000, 0x200000, CRC(85a57d49) SHA1(99c49fe135dc46fa861337b5bac654ae8478778a) )
4887 	ROM_LOAD32_WORD("mpr-19054.25",  0x000002, 0x200000, CRC(05366277) SHA1(f618e2b9b26a1f7eccebfc8f8e17ef8ad9029be8) )
4888 
4889 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4890 
4891 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4892 	ROM_LOAD16_WORD_SWAP("mpr-19056.31", 0x000000, 0x080000, CRC(22a22918) SHA1(baa039cd86650b6cd81f295916c4d256e60cb29c) )
4893 
4894 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4895 	ROM_LOAD16_WORD_SWAP("mpr-19057.32", 0x0000000, 0x400000, CRC(64809438) SHA1(aa008f83e1eff0daafe01944248ebae6054cee9f) )
4896 	ROM_LOAD16_WORD_SWAP("mpr-19058.34", 0x0400000, 0x400000, CRC(e237c11c) SHA1(7c89cba757bd58747ed0d633b2fe7ef559fcd15e) )
4897 ROM_END
4898 
4899 ROM_START( lastbrnxu ) /* Last Bronx Revision A (USA), Model 2B - Sega ROM board ID# 834-12360 */
4900 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4901 	ROM_LOAD32_WORD("epr-19059a.15", 0x000000, 0x080000, CRC(25478257) SHA1(c6b7a5788617faff6cf612a824b29a9474db87f3) )
4902 	ROM_LOAD32_WORD("epr-19060a.16", 0x000002, 0x080000, CRC(c48906b2) SHA1(a0904c97234f218caf489dc55e33082e453791a0) )
4903 
4904 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4905 	ROM_LOAD32_WORD("mpr-19050.11",  0x000000, 0x400000, CRC(e6af2b61) SHA1(abdf7aa4c594f0916d4335c70fdd67dc6b1f4630) )
4906 	ROM_LOAD32_WORD("mpr-19051.12",  0x000002, 0x400000, CRC(14b88961) SHA1(bec22f657c6d939c095b99ca9c6eb44b9683fd72) )
4907 	ROM_LOAD32_WORD("mpr-19048.9",   0x800000, 0x400000, CRC(02180215) SHA1(cc5f8e61fee07aa4fc5bfe2d011088ee523c77c2) )
4908 	ROM_LOAD32_WORD("mpr-19049.10",  0x800002, 0x400000, CRC(db7eecd6) SHA1(5955885ad2bfd69d7a2c4e1d1df907aca41fbdd0) )
4909 
4910 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
4911 	ROM_LOAD32_WORD("mpr-19052.17",  0x000000, 0x400000, CRC(d7f27216) SHA1(b393af96522306dc2e055aea1e837979f41940d4) )
4912 	ROM_LOAD32_WORD("mpr-19053.21",  0x000002, 0x400000, CRC(1f328465) SHA1(950a92209b7c24f66db62c31627a1f1d52721f1e) )
4913 
4914 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
4915 	ROM_LOAD32_WORD("mpr-19055.27",  0x000000, 0x200000, CRC(85a57d49) SHA1(99c49fe135dc46fa861337b5bac654ae8478778a) )
4916 	ROM_LOAD32_WORD("mpr-19054.25",  0x000002, 0x200000, CRC(05366277) SHA1(f618e2b9b26a1f7eccebfc8f8e17ef8ad9029be8) )
4917 
4918 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4919 
4920 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4921 	ROM_LOAD16_WORD_SWAP("mpr-19056.31", 0x000000, 0x080000, CRC(22a22918) SHA1(baa039cd86650b6cd81f295916c4d256e60cb29c) )
4922 
4923 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4924 	ROM_LOAD16_WORD_SWAP("mpr-19057.32", 0x0000000, 0x400000, CRC(64809438) SHA1(aa008f83e1eff0daafe01944248ebae6054cee9f) )
4925 	ROM_LOAD16_WORD_SWAP("mpr-19058.34", 0x0400000, 0x400000, CRC(e237c11c) SHA1(7c89cba757bd58747ed0d633b2fe7ef559fcd15e) )
4926 ROM_END
4927 
4928 ROM_START( lastbrnxj ) /* Last Bronx Revision A (Japan), Model 2B */
4929 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4930 	ROM_LOAD32_WORD("epr-19046a.15", 0x000000, 0x080000, CRC(75be7b7a) SHA1(e57320ac3abac54b7b5278596979746ed1856188) )
4931 	ROM_LOAD32_WORD("epr-19047a.16", 0x000002, 0x080000, CRC(1f5541e2) SHA1(87214f285a7bf67fbd824f2190cb9b2daf408193) )
4932 
4933 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4934 	ROM_LOAD32_WORD("mpr-19050.11",  0x000000, 0x400000, CRC(e6af2b61) SHA1(abdf7aa4c594f0916d4335c70fdd67dc6b1f4630) )
4935 	ROM_LOAD32_WORD("mpr-19051.12",  0x000002, 0x400000, CRC(14b88961) SHA1(bec22f657c6d939c095b99ca9c6eb44b9683fd72) )
4936 	ROM_LOAD32_WORD("mpr-19048.9",   0x800000, 0x400000, CRC(02180215) SHA1(cc5f8e61fee07aa4fc5bfe2d011088ee523c77c2) )
4937 	ROM_LOAD32_WORD("mpr-19049.10",  0x800002, 0x400000, CRC(db7eecd6) SHA1(5955885ad2bfd69d7a2c4e1d1df907aca41fbdd0) )
4938 
4939 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
4940 	ROM_LOAD32_WORD("mpr-19052.17",  0x000000, 0x400000, CRC(d7f27216) SHA1(b393af96522306dc2e055aea1e837979f41940d4) )
4941 	ROM_LOAD32_WORD("mpr-19053.21",  0x000002, 0x400000, CRC(1f328465) SHA1(950a92209b7c24f66db62c31627a1f1d52721f1e) )
4942 
4943 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
4944 	ROM_LOAD32_WORD("mpr-19055.27",  0x000000, 0x200000, CRC(85a57d49) SHA1(99c49fe135dc46fa861337b5bac654ae8478778a) )
4945 	ROM_LOAD32_WORD("mpr-19054.25",  0x000002, 0x200000, CRC(05366277) SHA1(f618e2b9b26a1f7eccebfc8f8e17ef8ad9029be8) )
4946 
4947 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4948 
4949 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4950 	ROM_LOAD16_WORD_SWAP("mpr-19056.31", 0x000000, 0x080000, CRC(22a22918) SHA1(baa039cd86650b6cd81f295916c4d256e60cb29c) )
4951 
4952 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4953 	ROM_LOAD16_WORD_SWAP("mpr-19057.32", 0x0000000, 0x400000, CRC(64809438) SHA1(aa008f83e1eff0daafe01944248ebae6054cee9f) )
4954 	ROM_LOAD16_WORD_SWAP("mpr-19058.34", 0x0400000, 0x400000, CRC(e237c11c) SHA1(7c89cba757bd58747ed0d633b2fe7ef559fcd15e) )
4955 ROM_END
4956 
4957 ROM_START( pltkidsa ) /* Pilot Kids, Model 2A */
4958 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
4959 	ROM_LOAD32_WORD("epr-21281.pr0", 0x000000, 0x080000, CRC(293ead5d) SHA1(5a6295e543d7e68387de0ca4d88e930a0d8ed25c) )
4960 	ROM_LOAD32_WORD("epr-21282.pr1", 0x000002, 0x080000, CRC(ed0e7b9e) SHA1(15f3fab6ac2dd40f32bda55503378ab14f998707) )
4961 
4962 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
4963 	ROM_LOAD32_WORD("mpr-21262.da0", 0x000000, 0x400000, CRC(aa71353e) SHA1(6eb5e8284734f01beec1dbbee049b6b7672e2504) )
4964 	ROM_LOAD32_WORD("mpr-21263.da1", 0x000002, 0x400000, CRC(d55d4509) SHA1(641db6ec3e9266f8265a4b541bcd8c2f7d164cc3) )
4965 
4966 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
4967 
4968 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
4969 	ROM_LOAD32_WORD("mpr-21264.tp0", 0x0000000, 0x400000, CRC(6b35204d) SHA1(3a07701b140eb3088fad29c8b2d9c1e1e7ef9471) )
4970 	ROM_LOAD32_WORD("mpr-21268.tp1", 0x0000002, 0x400000, CRC(16ce2147) SHA1(39cba6b4f1130a3da7e2d226c948425eec34090e) )
4971 	ROM_LOAD32_WORD("mpr-21265.tp2", 0x0800000, 0x400000, CRC(f061e639) SHA1(a89b7a84192fcc1e9e0fe9adf7446f7b275d5a03) )
4972 	ROM_LOAD32_WORD("mpr-21269.tp3", 0x0800002, 0x400000, CRC(8c06255e) SHA1(9a8c302528e590be1b56ed301da30abf21f0be2e) )
4973 	ROM_LOAD32_WORD("mpr-21266.tp4", 0x1000000, 0x400000, CRC(f9c32021) SHA1(b21f8bf281bf2cfcdc7e5eb798cd633e905ab8b8) )
4974 	ROM_LOAD32_WORD("mpr-21270.tp5", 0x1000002, 0x400000, CRC(b61f81c3) SHA1(7733f44e791974070df139958eb97e0585ee50f8) )
4975 	ROM_LOAD32_WORD("mpr-21267.tp6", 0x1800000, 0x400000, CRC(c42cc938) SHA1(6153f52add63295122e1215dd07d648d030a7306) )
4976 	ROM_LOAD32_WORD("mpr-21271.tp7", 0x1800002, 0x400000, CRC(a5325c75) SHA1(d52836760475c7d9fbb4e5b8147ac416ffd1fcd9) )
4977 
4978 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
4979 	ROM_LOAD32_WORD("mpr-21274.tx1", 0x0000000, 0x400000, CRC(f045e3d1) SHA1(548909d2da22ed98594e0ab6ecffebec4fca2f93) )
4980 	ROM_LOAD32_WORD("mpr-21272.tx0", 0x0000002, 0x400000, CRC(dd605c21) SHA1(8363a082a666ceeb84df84929ff3fbaff49af821) )
4981 	ROM_LOAD32_WORD("mpr-21275.tx3", 0x0800000, 0x400000, CRC(c4870b7c) SHA1(feb8a34acb620a36ed5aea92d22622a76d7e1b29) )
4982 	ROM_LOAD32_WORD("mpr-21273.tx2", 0x0800002, 0x400000, CRC(722ec8a2) SHA1(1a1dc92488cde6284a96acce80e47a9cceccde76) )
4983 
4984 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
4985 	ROM_LOAD16_WORD_SWAP("epr-21276.sd0", 0x000000, 0x080000, CRC(8f415bc3) SHA1(4e8e1ccbe025deca42fcf2582f3da46fa34780b7) )
4986 
4987 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
4988 	ROM_LOAD16_WORD_SWAP("mpr-21277.sd1", 0x0000000, 0x200000, CRC(bfba0ff6) SHA1(11081b3eabc33a42ecfc0b2b535ce16510496144) )
4989 	ROM_LOAD16_WORD_SWAP("mpr-21278.sd2", 0x0200000, 0x200000, CRC(27e18e08) SHA1(254c0ad4d6bd572ff0efc3ea80489e73716a31a7) )
4990 	ROM_LOAD16_WORD_SWAP("mpr-21279.sd3", 0x0400000, 0x200000, CRC(3a8dcf68) SHA1(312496b45b699051c8b4dd0e5d94e73fe5f3ad8d) )
4991 	ROM_LOAD16_WORD_SWAP("mpr-21280.sd4", 0x0600000, 0x200000, CRC(aa548124) SHA1(a94adfe16b5c3236746451c181ccd3e1c27432f4) )
4992 
4993 	MODEL2_CPU_BOARD
4994 	MODEL2A_VID_BOARD
4995 
4996 	//             1998     317-5044-COM   Model 2
4997 	ROM_PARAMETER( ":315_5881:key", "042e2dc1" )
4998 ROM_END
4999 
5000 ROM_START( pltkids ) /* Pilot Kids Revision A, Model 2B */
5001 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5002 	ROM_LOAD32_WORD("epr-21285a.15",  0x000000, 0x080000, CRC(bdde5b41) SHA1(14c3f5031f85c6756c00bc67765a967ebaf7eb7f) )
5003 	ROM_LOAD32_WORD("epr-21286a.16",  0x000002, 0x080000, CRC(c8092e0e) SHA1(01030621efa9c97eb43f4a5e3e029ec99a2363c5) )
5004 
5005 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5006 	ROM_LOAD32_WORD("mpr-21262.da0", 0x000000, 0x400000, CRC(aa71353e) SHA1(6eb5e8284734f01beec1dbbee049b6b7672e2504) )
5007 	ROM_LOAD32_WORD("mpr-21263.da1", 0x000002, 0x400000, CRC(d55d4509) SHA1(641db6ec3e9266f8265a4b541bcd8c2f7d164cc3) )
5008 
5009 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
5010 	ROM_LOAD32_WORD("mpr-21264.tp0", 0x0000000, 0x400000, CRC(6b35204d) SHA1(3a07701b140eb3088fad29c8b2d9c1e1e7ef9471) )
5011 	ROM_LOAD32_WORD("mpr-21268.tp1", 0x0000002, 0x400000, CRC(16ce2147) SHA1(39cba6b4f1130a3da7e2d226c948425eec34090e) )
5012 	ROM_LOAD32_WORD("mpr-21265.tp2", 0x0800000, 0x400000, CRC(f061e639) SHA1(a89b7a84192fcc1e9e0fe9adf7446f7b275d5a03) )
5013 	ROM_LOAD32_WORD("mpr-21269.tp3", 0x0800002, 0x400000, CRC(8c06255e) SHA1(9a8c302528e590be1b56ed301da30abf21f0be2e) )
5014 	ROM_LOAD32_WORD("mpr-21266.tp4", 0x1000000, 0x400000, CRC(f9c32021) SHA1(b21f8bf281bf2cfcdc7e5eb798cd633e905ab8b8) )
5015 	ROM_LOAD32_WORD("mpr-21270.tp5", 0x1000002, 0x400000, CRC(b61f81c3) SHA1(7733f44e791974070df139958eb97e0585ee50f8) )
5016 	ROM_LOAD32_WORD("mpr-21267.tp6", 0x1800000, 0x400000, CRC(c42cc938) SHA1(6153f52add63295122e1215dd07d648d030a7306) )
5017 	ROM_LOAD32_WORD("mpr-21271.tp7", 0x1800002, 0x400000, CRC(a5325c75) SHA1(d52836760475c7d9fbb4e5b8147ac416ffd1fcd9) )
5018 
5019 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
5020 	ROM_LOAD32_WORD("mpr-21274.tx1", 0x0000000, 0x400000, CRC(f045e3d1) SHA1(548909d2da22ed98594e0ab6ecffebec4fca2f93) )
5021 	ROM_LOAD32_WORD("mpr-21272.tx0", 0x0000002, 0x400000, CRC(dd605c21) SHA1(8363a082a666ceeb84df84929ff3fbaff49af821) )
5022 	ROM_LOAD32_WORD("mpr-21275.tx3", 0x0800000, 0x400000, CRC(c4870b7c) SHA1(feb8a34acb620a36ed5aea92d22622a76d7e1b29) )
5023 	ROM_LOAD32_WORD("mpr-21273.tx2", 0x0800002, 0x400000, CRC(722ec8a2) SHA1(1a1dc92488cde6284a96acce80e47a9cceccde76) )
5024 
5025 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5026 
5027 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5028 	ROM_LOAD16_WORD_SWAP("epr-21276.sd0", 0x000000, 0x080000, CRC(8f415bc3) SHA1(4e8e1ccbe025deca42fcf2582f3da46fa34780b7) )
5029 
5030 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5031 	ROM_LOAD16_WORD_SWAP("mpr-21277.sd1", 0x0000000, 0x200000, CRC(bfba0ff6) SHA1(11081b3eabc33a42ecfc0b2b535ce16510496144) )
5032 	ROM_LOAD16_WORD_SWAP("mpr-21278.sd2", 0x0200000, 0x200000, CRC(27e18e08) SHA1(254c0ad4d6bd572ff0efc3ea80489e73716a31a7) )
5033 	ROM_LOAD16_WORD_SWAP("mpr-21279.sd3", 0x0400000, 0x200000, CRC(3a8dcf68) SHA1(312496b45b699051c8b4dd0e5d94e73fe5f3ad8d) )
5034 	ROM_LOAD16_WORD_SWAP("mpr-21280.sd4", 0x0600000, 0x200000, CRC(aa548124) SHA1(a94adfe16b5c3236746451c181ccd3e1c27432f4) )
5035 
5036 	//             1998     317-5044-COM   Model 2
5037 	ROM_PARAMETER( ":315_5881:key", "042e2dc1" )
5038 ROM_END
5039 
5040 ROM_START( indy500 ) /* Defaults to Twin (Stand Alone) Cab version.  2 credits to start - Can be set to Deluxe setting in service mode, Sega Game ID# 833-12361 INDY 500EXP, ROM board ID# 834-12362 */
5041 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5042 	ROM_LOAD32_WORD("epr-18598a.15", 0x000000, 0x080000, CRC(3cdcac0f) SHA1(2f616e363f4d246fece309e81325e5e3c4e9d9f8) ) /* Higher rom numbers indicate a newer version */
5043 	ROM_LOAD32_WORD("epr-18599a.16", 0x000002, 0x080000, CRC(32bde9a2) SHA1(0982952ab3c5b035f37beb9304ac950c0e78aea8) ) /* Different attract mode... what else??? */
5044 
5045 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5046 	ROM_LOAD32_WORD("mpr-18237.11",    0x0000000, 0x400000, CRC(37e4255a) SHA1(3ee69a5b9364048dfab242773d97f3af430845b7) )
5047 	ROM_LOAD32_WORD("mpr-18238.12",    0x0000002, 0x400000, CRC(bf837bac) SHA1(6624417b65f15f20427bc42c27283f10342c76b5) )
5048 	ROM_LOAD32_WORD("mpr-18239.9",     0x0800000, 0x400000, CRC(9a2db86e) SHA1(0b81f6037657af7d96ed5e9bfef407d87cbcc294) )
5049 	ROM_LOAD32_WORD("mpr-18240.10",    0x0800002, 0x400000, CRC(ab46a35f) SHA1(67da857db7155a858a1fa575b6c50f4be3c9ab7c) )
5050 	ROM_LOAD32_WORD("epr-18596.7",     0x1000000, 0x080000, CRC(8be1a5cd) SHA1(56ed21234c6494d95b4efda6c3374199c5ac65db) )
5051 	ROM_LOAD32_WORD("epr-18597.8",     0x1000002, 0x080000, CRC(44824e38) SHA1(f0fb0d73c1e72ce77c3931d436c54c034d2107a8) )
5052 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
5053 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
5054 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
5055 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
5056 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
5057 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
5058 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
5059 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
5060 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
5061 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
5062 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
5063 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
5064 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
5065 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
5066 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
5067 
5068 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5069 	ROM_LOAD32_WORD("epr-18249.29", 0x000000, 0x080000, CRC(a399f023) SHA1(8b453313c16d935701ed7dbf71c1607c40aede63) )
5070 	ROM_LOAD32_WORD("epr-18250.30", 0x000002, 0x080000, CRC(7479ad52) SHA1(d453e25709cd5970cd21bdc8b4785bc8eb5a50d7) )
5071 
5072 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
5073 	ROM_LOAD32_WORD("mpr-18233.17", 0x000000, 0x400000, CRC(48a024d3) SHA1(501c6ab969713187025331942f922cb0e8efa69a) )
5074 	ROM_LOAD32_WORD("mpr-18234.21", 0x000002, 0x400000, CRC(1178bfc8) SHA1(4a9982fdce08f9d375371763dd5287e8485c24b1) )
5075 	ROM_LOAD32_WORD("mpr-18235.18", 0x800000, 0x400000, CRC(e7d70d59) SHA1(6081739c15a634d5cc7680a4fc7decead93540ed) )
5076 	ROM_LOAD32_WORD("mpr-18236.22", 0x800002, 0x400000, CRC(6ca29e0e) SHA1(5de8b569d2a91047836f4a251c21db82fd7841c9) )
5077 
5078 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5079 	ROM_LOAD32_WORD("mpr-18232.27", 0x000000, 0x400000, CRC(f962347d) SHA1(79f07ee6b821724294ca9e7a079cb33249102508) )
5080 	ROM_LOAD32_WORD("mpr-18231.25", 0x000002, 0x400000, CRC(673d5338) SHA1(ce592857496ccc0a51efb377cf7cccc000b4296b) )
5081 
5082 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5083 	ROM_LOAD16_WORD_SWAP("epr-18600.31", 0x000000, 0x040000, CRC(269ee4a0) SHA1(8ebabfcd27d634ff0bead0a1f138efc8708575e7) )
5084 
5085 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5086 	ROM_LOAD16_WORD_SWAP("mpr-18241.32", 0x0000000, 0x200000, CRC(3a380ae1) SHA1(114113325e9e5262af8750c05089f24818943cde) )
5087 	ROM_LOAD16_WORD_SWAP("mpr-18242.33", 0x0200000, 0x200000, CRC(1cc3deae) SHA1(5c9cb8ce43a909b25b4e734c6a4ffd786f4dde31) )
5088 	ROM_LOAD16_WORD_SWAP("mpr-18243.34", 0x0400000, 0x200000, CRC(a00a0053) SHA1(9c24fbcd0318c7e195dd153d6ba05e8c1e052968) )
5089 	ROM_LOAD16_WORD_SWAP("mpr-18244.35", 0x0600000, 0x200000, CRC(bfa75beb) SHA1(fec89260d887e90ee9c2803e2eaf937cf9bfa10b) )
5090 ROM_END
5091 
5092 ROM_START( indy500d ) /* Defaults to Deluxe (Stand Alone) Cab version. 3 credits to start - Can be set to Twin setting in service mode, Sega Game ID# 833-11992, ROM board ID# 834-11993 */
5093 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5094 	ROM_LOAD32_WORD("epr-18251a.15", 0x000000, 0x080000, CRC(fdabb40b) SHA1(e60a4814b54b76c7c0a4d9cf2b093c577c2f6ecf) )
5095 	ROM_LOAD32_WORD("epr-18252a.16", 0x000002, 0x080000, CRC(4935832a) SHA1(8fc9244fd0eaf93d016f4494604e5a70bf1f7303) )
5096 
5097 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5098 	ROM_LOAD32_WORD("mpr-18237.11",    0x0000000, 0x400000, CRC(37e4255a) SHA1(3ee69a5b9364048dfab242773d97f3af430845b7) )
5099 	ROM_LOAD32_WORD("mpr-18238.12",    0x0000002, 0x400000, CRC(bf837bac) SHA1(6624417b65f15f20427bc42c27283f10342c76b5) )
5100 	ROM_LOAD32_WORD("mpr-18239.9",     0x0800000, 0x400000, CRC(9a2db86e) SHA1(0b81f6037657af7d96ed5e9bfef407d87cbcc294) )
5101 	ROM_LOAD32_WORD("mpr-18240.10",    0x0800002, 0x400000, CRC(ab46a35f) SHA1(67da857db7155a858a1fa575b6c50f4be3c9ab7c) )
5102 	ROM_LOAD32_WORD("epr-18245.7",     0x1000000, 0x080000, CRC(854b1037) SHA1(6bbbae53e2f56ab1007f37fdd5eb66dda4828c28) )
5103 	ROM_LOAD32_WORD("epr-18246.8",     0x1000002, 0x080000, CRC(1a68acdc) SHA1(425ca92d75054a17313732a9d11bbb31bea17a38) )
5104 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
5105 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
5106 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
5107 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
5108 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
5109 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
5110 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
5111 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
5112 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
5113 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
5114 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
5115 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
5116 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
5117 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
5118 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
5119 
5120 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5121 	ROM_LOAD32_WORD("epr-18249.29", 0x000000, 0x080000, CRC(a399f023) SHA1(8b453313c16d935701ed7dbf71c1607c40aede63) )
5122 	ROM_LOAD32_WORD("epr-18250.30", 0x000002, 0x080000, CRC(7479ad52) SHA1(d453e25709cd5970cd21bdc8b4785bc8eb5a50d7) )
5123 
5124 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
5125 	ROM_LOAD32_WORD("mpr-18233.17", 0x000000, 0x400000, CRC(48a024d3) SHA1(501c6ab969713187025331942f922cb0e8efa69a) )
5126 	ROM_LOAD32_WORD("mpr-18234.21", 0x000002, 0x400000, CRC(1178bfc8) SHA1(4a9982fdce08f9d375371763dd5287e8485c24b1) )
5127 	ROM_LOAD32_WORD("mpr-18235.18", 0x800000, 0x400000, CRC(e7d70d59) SHA1(6081739c15a634d5cc7680a4fc7decead93540ed) )
5128 	ROM_LOAD32_WORD("mpr-18236.22", 0x800002, 0x400000, CRC(6ca29e0e) SHA1(5de8b569d2a91047836f4a251c21db82fd7841c9) )
5129 
5130 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5131 	ROM_LOAD32_WORD("mpr-18232.27", 0x000000, 0x400000, CRC(f962347d) SHA1(79f07ee6b821724294ca9e7a079cb33249102508) )
5132 	ROM_LOAD32_WORD("mpr-18231.25", 0x000002, 0x400000, CRC(673d5338) SHA1(ce592857496ccc0a51efb377cf7cccc000b4296b) )
5133 
5134 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5135 	ROM_LOAD16_WORD_SWAP("epr-18253.31", 0x000000, 0x040000, CRC(2934e034) SHA1(4a3037b69c4835ef16a20c5573de32a862f0b13e) )
5136 
5137 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5138 	ROM_LOAD16_WORD_SWAP("mpr-18241.32", 0x0000000, 0x200000, CRC(3a380ae1) SHA1(114113325e9e5262af8750c05089f24818943cde) )
5139 	ROM_LOAD16_WORD_SWAP("mpr-18242.33", 0x0200000, 0x200000, CRC(1cc3deae) SHA1(5c9cb8ce43a909b25b4e734c6a4ffd786f4dde31) )
5140 	ROM_LOAD16_WORD_SWAP("mpr-18243.34", 0x0400000, 0x200000, CRC(a00a0053) SHA1(9c24fbcd0318c7e195dd153d6ba05e8c1e052968) )
5141 	ROM_LOAD16_WORD_SWAP("mpr-18244.35", 0x0600000, 0x200000, CRC(bfa75beb) SHA1(fec89260d887e90ee9c2803e2eaf937cf9bfa10b) )
5142 ROM_END
5143 
5144 ROM_START( indy500to ) /* Defaults to Twin (Stand Alone) Cab version. 2 credits to start - Can be set to Deluxe setting in service mode, Sega Game ID# 833-11994, ROM board ID# 834-11995 */
5145 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5146 	ROM_LOAD32_WORD("epr-18254a.15", 0x000000, 0x080000, CRC(ad0f1fc5) SHA1(0bff35fc1d892aaffbf1a3965bf3109c54839f4b) )
5147 	ROM_LOAD32_WORD("epr-18255a.16", 0x000002, 0x080000, CRC(784daab8) SHA1(299e87f8ec7bdefa6f94f4ab65e29e91f290611e) )
5148 
5149 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5150 	ROM_LOAD32_WORD("mpr-18237.11",    0x0000000, 0x400000, CRC(37e4255a) SHA1(3ee69a5b9364048dfab242773d97f3af430845b7) )
5151 	ROM_LOAD32_WORD("mpr-18238.12",    0x0000002, 0x400000, CRC(bf837bac) SHA1(6624417b65f15f20427bc42c27283f10342c76b5) )
5152 	ROM_LOAD32_WORD("mpr-18239.9",     0x0800000, 0x400000, CRC(9a2db86e) SHA1(0b81f6037657af7d96ed5e9bfef407d87cbcc294) )
5153 	ROM_LOAD32_WORD("mpr-18240.10",    0x0800002, 0x400000, CRC(ab46a35f) SHA1(67da857db7155a858a1fa575b6c50f4be3c9ab7c) )
5154 	ROM_LOAD32_WORD("epr-18389.7",     0x1000000, 0x080000, CRC(d22ea019) SHA1(ef10bb0ffcb1bbcf4672bb5f705a27679a793764) )
5155 	ROM_LOAD32_WORD("epr-18390.8",     0x1000002, 0x080000, CRC(38e796e5) SHA1(b23cfe45c363d616a65decd57aeb8ae61d5370e9) )
5156 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
5157 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
5158 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
5159 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
5160 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
5161 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
5162 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
5163 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
5164 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
5165 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
5166 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
5167 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
5168 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
5169 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
5170 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
5171 
5172 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5173 	ROM_LOAD32_WORD("epr-18249.29", 0x000000, 0x080000, CRC(a399f023) SHA1(8b453313c16d935701ed7dbf71c1607c40aede63) )
5174 	ROM_LOAD32_WORD("epr-18250.30", 0x000002, 0x080000, CRC(7479ad52) SHA1(d453e25709cd5970cd21bdc8b4785bc8eb5a50d7) )
5175 
5176 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
5177 	ROM_LOAD32_WORD("mpr-18233.17", 0x000000, 0x400000, CRC(48a024d3) SHA1(501c6ab969713187025331942f922cb0e8efa69a) )
5178 	ROM_LOAD32_WORD("mpr-18234.21", 0x000002, 0x400000, CRC(1178bfc8) SHA1(4a9982fdce08f9d375371763dd5287e8485c24b1) )
5179 	ROM_LOAD32_WORD("mpr-18235.18", 0x800000, 0x400000, CRC(e7d70d59) SHA1(6081739c15a634d5cc7680a4fc7decead93540ed) )
5180 	ROM_LOAD32_WORD("mpr-18236.22", 0x800002, 0x400000, CRC(6ca29e0e) SHA1(5de8b569d2a91047836f4a251c21db82fd7841c9) )
5181 
5182 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5183 	ROM_LOAD32_WORD("mpr-18232.27", 0x000000, 0x400000, CRC(f962347d) SHA1(79f07ee6b821724294ca9e7a079cb33249102508) )
5184 	ROM_LOAD32_WORD("mpr-18231.25", 0x000002, 0x400000, CRC(673d5338) SHA1(ce592857496ccc0a51efb377cf7cccc000b4296b) )
5185 
5186 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5187 	ROM_LOAD16_WORD_SWAP("epr-18391.31", 0x000000, 0x040000, CRC(79579b72) SHA1(36fed8a9eeb34968b2852ea8fc9198427f0d27c6) )
5188 
5189 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5190 	ROM_LOAD16_WORD_SWAP("mpr-18241.32", 0x0000000, 0x200000, CRC(3a380ae1) SHA1(114113325e9e5262af8750c05089f24818943cde) )
5191 	ROM_LOAD16_WORD_SWAP("mpr-18242.33", 0x0200000, 0x200000, CRC(1cc3deae) SHA1(5c9cb8ce43a909b25b4e734c6a4ffd786f4dde31) )
5192 	ROM_LOAD16_WORD_SWAP("mpr-18243.34", 0x0400000, 0x200000, CRC(a00a0053) SHA1(9c24fbcd0318c7e195dd153d6ba05e8c1e052968) )
5193 	ROM_LOAD16_WORD_SWAP("mpr-18244.35", 0x0600000, 0x200000, CRC(bfa75beb) SHA1(fec89260d887e90ee9c2803e2eaf937cf9bfa10b) )
5194 ROM_END
5195 
5196 ROM_START( waverunr ) /* Wave Runner Revision A (Japan), Model 2C, Sega Game ID# 833-12838, ROM board ID# 834-12839 */
5197 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5198 	ROM_LOAD32_WORD("epr-19282a.15", 0x000000, 0x080000, CRC(5df58604) SHA1(a136bb80746f37450be51f98ca60791b4022035d) )
5199 	ROM_LOAD32_WORD("epr-19283a.16", 0x000002, 0x080000, CRC(bca188e1) SHA1(428f156f60e61ef314b7b50474abddf6d4dc2aca) )
5200 
5201 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5202 	ROM_LOAD32_WORD("mpr-19291.11",    0x0000000, 0x400000, CRC(54431d67) SHA1(25e25d9ecf3b3b1c8f5e017243cc5e02f7a13015) )
5203 	ROM_LOAD32_WORD("mpr-19292.12",    0x0000002, 0x400000, CRC(9152d979) SHA1(0e86e21e1c88263c548e03bce48ed4ce75643596) )
5204 	ROM_LOAD32_WORD("mpr-19293.9",     0x0800000, 0x400000, CRC(b168bea9) SHA1(0497e886ccd5e5ef0cd8670200bf4cf64d9bfc2b) )
5205 	ROM_LOAD32_WORD("mpr-19294.10",    0x0800002, 0x400000, CRC(c731e659) SHA1(a898b03d66973a49deb9799102ab1faf4384c376) )
5206 	ROM_LOAD32_WORD("epr-19278.7",     0x1000000, 0x080000, CRC(29ed421d) SHA1(c91eb2d68acd6ded394e0bd9f504cbb8f421c3ed) )
5207 	ROM_LOAD32_WORD("epr-19279.8",     0x1000002, 0x080000, CRC(6ae9f899) SHA1(da46379cabe5f151160b2558e255e9b64eaca22e) )
5208 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
5209 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
5210 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
5211 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
5212 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
5213 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
5214 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
5215 	ROM_COPY( "main_data", 0x1000000, 0x1800000, 0x100000 )
5216 	ROM_COPY( "main_data", 0x1000000, 0x1900000, 0x100000 )
5217 	ROM_COPY( "main_data", 0x1000000, 0x1a00000, 0x100000 )
5218 	ROM_COPY( "main_data", 0x1000000, 0x1b00000, 0x100000 )
5219 	ROM_COPY( "main_data", 0x1000000, 0x1c00000, 0x100000 )
5220 	ROM_COPY( "main_data", 0x1000000, 0x1d00000, 0x100000 )
5221 	ROM_COPY( "main_data", 0x1000000, 0x1e00000, 0x100000 )
5222 	ROM_COPY( "main_data", 0x1000000, 0x1f00000, 0x100000 )
5223 
5224 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5225 	ROM_LOAD32_WORD("epr-19280.29", 0x000000, 0x080000, CRC(c6b59fb9) SHA1(909663f440d19a34591d1f9707972c313e34f909) )
5226 	ROM_LOAD32_WORD("epr-19281.30", 0x000002, 0x080000, CRC(5a6110e7) SHA1(39ba8a35fdcfdd6c88b44ab392ca0e958da44767) )
5227 
5228 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
5229 	ROM_LOAD32_WORD("mpr-19287.17", 0x0000000, 0x400000, CRC(203b9e45) SHA1(8e677a106ceb9355632fadbdb837dc4a23c83684) )
5230 	ROM_LOAD32_WORD("mpr-19288.21", 0x0000002, 0x400000, CRC(4a488e4d) SHA1(1e680680354d873c515c955256b0e4e72451326a))
5231 	ROM_LOAD32_WORD("mpr-19289.18", 0x0800000, 0x400000, CRC(35361cb3) SHA1(f36033765c93274a1bcdd311fb2026aa2a8a0e42) )
5232 	ROM_LOAD32_WORD("mpr-19290.22", 0x0800002, 0x400000, CRC(67300826) SHA1(6e6bf7c709202221e03a06d9e53147d67ab4404f) )
5233 	ROM_LOAD32_WORD("epr-19304.19", 0x1000000, 0x080000, CRC(1a7d9521) SHA1(2fdb9344441c625c3841dfc62e424ddaf16416d5) )
5234 	ROM_LOAD32_WORD("epr-19305.23", 0x1000002, 0x080000, CRC(00412412) SHA1(93db2c6d672c5c4bf1623edad8d4237c65c4f4e1) )
5235 	ROM_COPY( "polygons", 0x1000000, 0x1100000, 0x100000 )
5236 	ROM_COPY( "polygons", 0x1000000, 0x1200000, 0x100000 )
5237 	ROM_COPY( "polygons", 0x1000000, 0x1300000, 0x100000 )
5238 	ROM_COPY( "polygons", 0x1000000, 0x1400000, 0x100000 )
5239 	ROM_COPY( "polygons", 0x1000000, 0x1500000, 0x100000 )
5240 	ROM_COPY( "polygons", 0x1000000, 0x1600000, 0x100000 )
5241 	ROM_COPY( "polygons", 0x1000000, 0x1700000, 0x100000 )
5242 	ROM_COPY( "polygons", 0x1000000, 0x1800000, 0x100000 )
5243 	ROM_COPY( "polygons", 0x1000000, 0x1900000, 0x100000 )
5244 	ROM_COPY( "polygons", 0x1000000, 0x1a00000, 0x100000 )
5245 	ROM_COPY( "polygons", 0x1000000, 0x1b00000, 0x100000 )
5246 	ROM_COPY( "polygons", 0x1000000, 0x1c00000, 0x100000 )
5247 	ROM_COPY( "polygons", 0x1000000, 0x1d00000, 0x100000 )
5248 	ROM_COPY( "polygons", 0x1000000, 0x1e00000, 0x100000 )
5249 
5250 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
5251 	ROM_LOAD32_WORD("mpr-19286.27", 0x000000, 0x400000, CRC(3ccc33cb) SHA1(1fe53306e370da724df5caace720107798fb24b9) )
5252 	ROM_LOAD32_WORD("mpr-19285.25", 0x000002, 0x400000, CRC(a070fbd0) SHA1(2b5441b9d7d613b0a90dfea243e9de44980d219d) )
5253 	ROM_LOAD32_WORD("epr-19303.28", 0x800000, 0x080000, CRC(fcffc8a0) SHA1(f4b776028f581329effa583022d8d65e889b6b0a) )
5254 	ROM_LOAD32_WORD("epr-19302.26", 0x800002, 0x080000, CRC(bd00933a) SHA1(572b49a4d0189d0513c27753e3563909d1977f03) )
5255 	ROM_COPY( "textures", 0x800000, 0x900000, 0x100000 )
5256 	ROM_COPY( "textures", 0x800000, 0xa00000, 0x100000 )
5257 	ROM_COPY( "textures", 0x800000, 0xb00000, 0x100000 )
5258 	ROM_COPY( "textures", 0x800000, 0xc00000, 0x100000 )
5259 	ROM_COPY( "textures", 0x800000, 0xd00000, 0x100000 )
5260 	ROM_COPY( "textures", 0x800000, 0xe00000, 0x100000 )
5261 	ROM_COPY( "textures", 0x800000, 0xf00000, 0x100000 )
5262 
5263 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5264 	ROM_LOAD16_WORD_SWAP("epr-19284.31", 0x000000, 0x040000, CRC(efe5f0f3) SHA1(5e36fc7cca92e2eab7d65434cb39597505a2f8cf) )
5265 
5266 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5267 	ROM_LOAD16_WORD_SWAP("mpr-19295.32", 0x0000000, 0x400000, CRC(b14eeb09) SHA1(2a6d1b14ea3c031cad9905e4b9b6973755689ee1) )
5268 	ROM_LOAD16_WORD_SWAP("mpr-19296.34", 0x0400000, 0x400000, CRC(b4b9faff) SHA1(3a258e0f7c642d043cbab5f94dfe69fac8561e93) )
5269 ROM_END
5270 
5271 ROM_START( rchase2 ) /* Rail Chase 2 Revision A, Model 2B. Sega game ID# 833-11809 */
5272 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5273 	ROM_LOAD32_WORD("epr-18045a.15", 0x000000, 0x080000, CRC(bfca0314) SHA1(9eb0f2cdab8c10fda9edc0ddc439263af3903cdc) )
5274 	ROM_LOAD32_WORD("epr-18046a.16", 0x000002, 0x080000, CRC(0b8d3074) SHA1(fee8436399fb97ad5b8357b81e69bd5c27af1dde) )
5275 	ROM_LOAD32_WORD("epr-18074a.13", 0x100000, 0x080000, CRC(ca4b58df) SHA1(d41cb8efd9fd65eea9e7aefadebfd0a27ef145fb) )
5276 	ROM_LOAD32_WORD("epr-18075a.14", 0x100002, 0x080000, CRC(b82672e4) SHA1(519fdb5a978b6e82989b9841c6b59819f0d417cb) )
5277 
5278 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5279 	ROM_LOAD32_WORD("mpr-18037.11",  0x000000, 0x200000, CRC(dea8f896) SHA1(8eb45e46bd14a2ffbdaac47d381a1ea9b9a03ca2) )
5280 	ROM_LOAD32_WORD("mpr-18038.12",  0x000002, 0x200000, CRC(441f7709) SHA1(cbfa687839b6cad6a5ace45b44b95c45e4cfab0d) )
5281 	ROM_LOAD32_WORD("mpr-18039.9",   0x400000, 0x200000, CRC(b98c6f06) SHA1(dd1ff9c682778de1c6c09e7a5cbc95a8149488c4) )
5282 	ROM_LOAD32_WORD("mpr-18040.10",  0x400002, 0x200000, CRC(0d872667) SHA1(33e56486ec6b953341552b6bc21dc66f6f8aaf74) )
5283 	ROM_LOAD32_WORD("mpr-18041.7",   0x800000, 0x200000, CRC(e511ab0a) SHA1(c6ea14b3bdefdc59603bd2fc152ac0421fae4d6f) )
5284 	ROM_LOAD32_WORD("mpr-18042.8",   0x800002, 0x200000, CRC(e9a04159) SHA1(0204ba86af2707bc9e277cac68dd9ef759189c23) )
5285 	ROM_LOAD32_WORD("mpr-18043.5",   0xc00000, 0x200000, CRC(ff84dfd6) SHA1(82833bf4cb1f367aea5fec6cffb7023cbbd3c8cb) )
5286 	ROM_LOAD32_WORD("mpr-18044.6",   0xc00002, 0x200000, CRC(ab9b406d) SHA1(62e95ceea6f71eedbebae59e188aac03e6129e62) )
5287 
5288 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASEFF ) // Copro extra data (collision/height map/etc)
5289 	/* empty?? */
5290 
5291 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
5292 	ROM_LOAD32_WORD("mpr-18031.17", 0x0000000, 0x200000, CRC(25d0deae) SHA1(2d0339dd7eeb2625f78e2fbe4ebdc976967175a4) )
5293 	ROM_LOAD32_WORD("mpr-18032.21", 0x0000002, 0x200000, CRC(dbae35c2) SHA1(9510104975192a0ef1750251636daff7f089feb9) )
5294 	ROM_LOAD32_WORD("mpr-18033.18", 0x0400000, 0x200000, CRC(1e75946c) SHA1(7dee991f0c43de9bfe17ae44767f65f12e83c811) )
5295 	ROM_LOAD32_WORD("mpr-18034.22", 0x0400002, 0x200000, CRC(215235ad) SHA1(48227544209412fca3035e85a00d33ea654dc7b5) )
5296 
5297 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
5298 	ROM_LOAD32_WORD("mpr-18035.27", 0x000000, 0x200000, CRC(4423f66e) SHA1(c1f8dda4781dea00bd97dbf9ecfbb626dadd2c35) )
5299 	ROM_LOAD32_WORD("mpr-18036.25", 0x000002, 0x200000, CRC(69221cf5) SHA1(e39644a08aa631dbdcfc7c0dc356e73f6a4412a9) )
5300 
5301 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5302 	ROM_LOAD16_WORD_SWAP("epr-18047.31", 0x000000, 0x080000, CRC(4c31d459) SHA1(424d5e5a7787d0d4c68aa919ba7d575babfd1ce0) )
5303 
5304 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5305 	ROM_LOAD16_WORD_SWAP("mpr-18029.32", 0x0000000, 0x200000, CRC(f6804150) SHA1(ef40c11008c75d04159772ad30f02cdb8c5464f3) )
5306 	ROM_LOAD16_WORD_SWAP("mpr-18030.34", 0x0400000, 0x200000, CRC(1167615d) SHA1(bae0060aec3c15f08342f11df665c05c5703523d) )
5307 
5308 	/* Z80 code located on the I/O board type 837-11694. Z80 @ 4Mhz with 8-way DSW & SONY CXD1095Q QFP64 chip */
5309 	ROM_REGION( 0x8000, "iocpu", 0 )
5310 	ROM_LOAD("epr-17895.ic8", 0x0000, 0x8000, CRC(8fd7003d) SHA1(b8b16e20e3ed07326330ba335ea1e701cc0bec17) )
5311 ROM_END
5312 
5313 
5314 /*
5315 Behind Enemy Lines
5316 Sega, 1998
5317 
5318 This game runs on Sega Model2 C-CRX hardware
5319 
5320 PCB No: 837-12469-01
5321 CPU   : intel i960
5322 SOUND : MC68EC000FN12
5323 OSC   : 32.000MHz (x3), 50.000MHz, 20.000MHz, 45.158MHz
5324 DIPSW : 8 position (x1)
5325 RAM   : M5M44170CJ (x2), HM514270CJ7 (x1), HM538254BJ-7 (x4), N341256SJ-15 (x10)
5326         UM62256EM-70LL (x4), TC18128CFWL-80V (x12), TC55V328AJ-15 (x3)
5327         CY7C185-25VC (x7), CY7C188-25VC (x2), dt71256 (x4), BR6265BF-10SL (x2)
5328         65256BLFP-10T (x2), LH521002AK-20 (x16)
5329 
5330 CUSTOM: SEGA 315-5687   (128 QFP)
5331         FUJITSU MB86235 (x2, 208 QFP)
5332         SEGA 315-5673   (240 QFP)
5333         SEGA 315-5798   (304 QFP)
5334         SEGA 315-5799   (368 QFP)
5335         SEGA 315-5725   (x2, 144 QFP)
5336         SEGA 315-5292A  (160 QFP)
5337         SEGA 315-5648   (64 QFP)
5338         SEGA 315-5672   (196 QFP)
5339         SEGA 315-5649   (100 QFP)
5340 PAL   : 315-5879
5341 OTHER : D71051GU-10
5342         LATTICE PLSI 2032 80LJ D702S08 (x2)
5343         TDA1386T
5344 
5345 Note: All epr* ROMs are 27C1024
5346       All mpr* ROMs are 16M MASK
5347 
5348 [JUMPERS]
5349 JP1     2-3
5350 JP2     1-2
5351 JP3     2-3
5352 JP4     1-2
5353 JP5     1-2
5354 JP6     1-2
5355 JP7     1-2
5356 JP8     2-3
5357 JP9     2-3
5358 JP10    1-2
5359 JP11    1-2
5360 JP12    1-2
5361 JP13    1-2
5362 JP14    1-2
5363 JP15    2-3
5364 JP16    1-2
5365 JP17    1-2
5366 JP18    1-2
5367 JP19    1-2
5368 JP20    2-3
5369 JP21    2-3
5370 JP22    2-3
5371 JP23    2-3
5372 JP24    2-3
5373 */
5374 ROM_START( bel ) /* Behind Enemy Lines, Model 2C */
5375 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5376 	ROM_LOAD32_WORD("epr-20225.15",   0x000000, 0x020000, CRC(4abc6b59) SHA1(cc6da75aafcbbc86720435182a66e8de065c8e99) )
5377 	ROM_LOAD32_WORD("epr-20226.16",   0x000002, 0x020000, CRC(43e05b3a) SHA1(204b3cc6bbfdc92b4871c45fe4abff4ab4a66317) )
5378 	ROM_LOAD32_WORD("epr-20223.13",   0x040000, 0x020000, CRC(61b1be98) SHA1(03c308c58a72bf3b78f41d5a9c0adaa7aad631c2) )
5379 	ROM_LOAD32_WORD("epr-20224.14",   0x040002, 0x020000, CRC(eb2d7dbf) SHA1(f3b126e2fcef1cf673b239696ed8018241b1170e) )
5380 
5381 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5382 	ROM_LOAD32_WORD("mpr-20233.11",   0x000000, 0x200000, CRC(3e079a3b) SHA1(a3f15cd68a514cf80f0a40dbbb08e8b0489a0e4b) )
5383 	ROM_LOAD32_WORD("mpr-20234.12",   0x000002, 0x200000, CRC(58bde826) SHA1(386d0d07738f579cb23e4168aceb26f56bcca1c1) )
5384 	ROM_LOAD32_WORD("mpr-20231.9",    0x400000, 0x200000, CRC(b3393e93) SHA1(aa52ae307aa37faaaf86c326642af1946c5f4056) )
5385 	ROM_LOAD32_WORD("mpr-20232.10",   0x400002, 0x200000, CRC(da4a2e11) SHA1(f9138813f6d1ca2126f5de10d8d69dcbb533aa0e) )
5386 	ROM_LOAD32_WORD("mpr-20229.7",    0x800000, 0x200000, CRC(cdec7bf4) SHA1(510b6d41f1d32a9929379ba76037db137164cd43) )
5387 	ROM_LOAD32_WORD("mpr-20230.8",    0x800002, 0x200000, CRC(a166fa87) SHA1(d4f6d4fba7f43b21f0bf9d948ec93b372425bf7c) )
5388 	ROM_LOAD32_WORD("mpr-20227.5",    0xc00000, 0x200000, CRC(1277686e) SHA1(fff27006659458300001425261b944e690f1d494) )
5389 	ROM_LOAD32_WORD("mpr-20228.6",    0xc00002, 0x200000, CRC(49cb5568) SHA1(ee3273302830f3499c7d4e548b629c51e0369e8a) )
5390 
5391 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
5392 	ROM_LOAD32_WORD("mpr-20236.29",   0x000000, 0x200000, CRC(8de9a3c2) SHA1(e7fde1fd509531e1002ff813163067dc0d134536) )
5393 	ROM_LOAD32_WORD("mpr-20235.30",   0x000002, 0x200000, CRC(78fa11ef) SHA1(a60deabb662e9c09f5d6342dc1a1c6045744d93f) )
5394 
5395 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
5396 	ROM_LOAD32_WORD("mpr-20244.17",  0x0000000, 0x200000, CRC(9d2a8660) SHA1(59302e7119c9ff779ce0c871713fe3688c29cccb) )
5397 	ROM_LOAD32_WORD("mpr-20240.21",  0x0000002, 0x200000, CRC(51615908) SHA1(c70252b0b6f17aa0cd9b5264d4166df8ab7d1784) )
5398 	ROM_LOAD32_WORD("mpr-20243.18",  0x0400000, 0x200000, CRC(48671f7c) SHA1(b0bdc7f42450c8d9cebbcf43cf858f7399e378e4) )
5399 	ROM_LOAD32_WORD("mpr-20239.22",  0x0400002, 0x200000, CRC(6cd8d8a5) SHA1(1c634fbbcbafb1c3825117682901a3264599b246) )
5400 	ROM_LOAD32_WORD("mpr-20242.19",  0x0800000, 0x200000, CRC(e7f86ac7) SHA1(7b7724127b27834eaaa228050ceb779d8a027882) )
5401 	ROM_LOAD32_WORD("mpr-20238.23",  0x0800002, 0x200000, CRC(0a480c7c) SHA1(239d2c9c49cb8ddc0d6aa956a497b494217f38d7) )
5402 	ROM_LOAD32_WORD("mpr-20241.20",  0x0c00000, 0x200000, CRC(51974b98) SHA1(7d6ab9c0ccec77676222611bf200d2e067e20520) )
5403 	ROM_LOAD32_WORD("mpr-20237.24",  0x0c00002, 0x200000, CRC(89b5d8b6) SHA1(6e0a0323d6a804f1f1e4404694cc1ea7dfbf2d95) )
5404 
5405 	ROM_REGION( 0xc00000, "textures", 0 ) // Textures
5406 	ROM_LOAD32_WORD("mpr-20247.27",   0x000000, 0x200000, CRC(00b0417d) SHA1(5e9d38509c1e5273079a342a64ca2c956cd47e6d) )
5407 	ROM_LOAD32_WORD("mpr-20245.25",   0x000002, 0x200000, CRC(36490a08) SHA1(a462e094c9a9ec4743e4bf2c4ce23357257a2a54) )
5408 	ROM_LOAD32_WORD("mpr-20248.28",   0x800000, 0x200000, CRC(0ace6bef) SHA1(a231aeb7b984f5b927144f0eec4ef2282429494f) )
5409 	ROM_LOAD32_WORD("mpr-20246.26",   0x800002, 0x200000, CRC(250d6ca1) SHA1(cd1d4bc0fcf89e47884b87863a09bb263bce72cc) )
5410 
5411 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5412 	ROM_LOAD16_WORD_SWAP("mpr-20249.31", 0x000000, 0x020000, CRC(dc24f13d) SHA1(66ab8e843319d07663ef13f3d2299c6c7414071f) )
5413 
5414 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5415 	ROM_LOAD16_WORD_SWAP("mpr-20250.32",  0x0000000, 0x200000, CRC(91b735d3) SHA1(b0e7e493fb20ebf30c17378199e49d529ffb3f20) )
5416 	ROM_LOAD16_WORD_SWAP("mpr-20251.33",  0x0200000, 0x200000, CRC(703a947b) SHA1(95b8d3dc29e87e6537b288d8e946728e0b345dd0) )
5417 	ROM_LOAD16_WORD_SWAP("mpr-20252.34",  0x0400000, 0x200000, CRC(8f48f375) SHA1(9e511e89e99c77f06a5fba033ca8f9b98bd86f91) )
5418 	ROM_LOAD16_WORD_SWAP("mpr-20253.35",  0x0600000, 0x200000, CRC(ca6aa17c) SHA1(f6df2483ca75573449ba36638dbbed4be7843a44) )
5419 ROM_END
5420 
5421 ROM_START( overrev ) /* Over Rev Revision A, Model 2C */
5422 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5423 	ROM_LOAD32_WORD( "epr-20124a.15", 0x000000, 0x080000, CRC(74beb8d7) SHA1(c65c641138ecd7312c4930702d1498b8a346175a) )
5424 	ROM_LOAD32_WORD( "epr-20125a.16", 0x000002, 0x080000, CRC(def64456) SHA1(cedb64d2d99a73301ef45c2f5f860a9b87faf6a7) )
5425 
5426 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5427 	ROM_LOAD32_WORD( "mpr-19996.11",  0x000000, 0x400000, CRC(21928a00) SHA1(6b439fd2b113b64df9378ef8180a17aa6fa975c5) )
5428 	ROM_LOAD32_WORD( "mpr-19997.12",  0x000002, 0x400000, CRC(2a169cab) SHA1(dbf9af938afd0599d345c42c1df242e575c14de9) )
5429 	ROM_LOAD32_WORD( "mpr-19994.9",   0x800000, 0x400000, CRC(e691fbd5) SHA1(b99c2f3f2a682966d792917dfcb8ed8e53bc0b7a) )
5430 	ROM_LOAD32_WORD( "mpr-19995.10",  0x800002, 0x400000, CRC(82a7828e) SHA1(4336a12a07a67f94091b4a9b491bab02c375dd15) )
5431 
5432 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // TGPx4 program (COPRO sockets)
5433 
5434 	ROM_REGION( 0x800000, "polygons", 0 ) // Models (TGP sockets)
5435 	ROM_LOAD32_WORD( "mpr-19998.17",  0x000000, 0x200000, CRC(6a834574) SHA1(8be19bf42dbb157d6acde62a2018ef4c0d41aab4) )
5436 	ROM_LOAD32_WORD( "mpr-19999.21",  0x000002, 0x200000, CRC(ff590a2d) SHA1(ad29e4270b4a2f82189fbab83358eb1200f43777) )
5437 
5438 	ROM_REGION( 0x400000, "textures", 0 ) // Textures (TEXTURE sockets)
5439 	ROM_LOAD32_WORD( "mpr-20001.27",  0x000000, 0x200000, CRC(6ca236aa) SHA1(b3cb89fadb42afed13be4f229d7158dee487978a) )
5440 	ROM_LOAD32_WORD( "mpr-20000.25",  0x000002, 0x200000, CRC(894d8ded) SHA1(9bf7c754a29eef47fa49b5567980601895127306) )
5441 
5442 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5443 	ROM_LOAD16_WORD_SWAP( "epr-20002.31", 0x000000, 0x080000, CRC(7efb069e) SHA1(30b1bbaf348d6a6b9ee2fdf82a0749baa025e0bf) )
5444 
5445 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5446 	ROM_LOAD16_WORD_SWAP( "mpr-20003.32", 0x000000, 0x400000, CRC(149ac22b) SHA1(c890bbaebbbb07b62bcb8a3a8edded9fa0ec9a1e) )
5447 	ROM_LOAD16_WORD_SWAP( "mpr-20004.34", 0x400000, 0x400000, CRC(0b9c5410) SHA1(e5bb30702fc853ccc03316be07a334269d3ebb4a) )
5448 ROM_END
5449 
5450 /*
5451 
5452 Over Rev on MODEL2 B-CRX:
5453 
5454 The set below has been found labeled as:
5455 Main board ID# 837-10854-02-91
5456  Sega Game ID# 836-12788
5457  ROM board ID# 836-12789
5458 
5459 As well as:
5460 Main board ID# 837-10854-02-91
5461  Sega Game ID# 836-13274 OVER REV
5462  ROM board ID# 836-13275
5463 
5464 These ID numbers have been verified on multiple board sets for both revision A and revision B program ROMs
5465 */
5466 ROM_START( overrevb ) /* Over Rev Revision B, Model 2B */
5467 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5468 	ROM_LOAD32_WORD( "epr-19992b.15", 0x000000, 0x080000, CRC(6d3e78d5) SHA1(40d18ee284ea2e038f7e3d04db56e793ab3e3dd5) ) /* sum16 492A printed on label */
5469 	ROM_LOAD32_WORD( "epr-19993b.16", 0x000002, 0x080000, CRC(765dc9ce) SHA1(a718c32ca27ec1fb5ed2d7d3797ea7e906510a04) ) /* sum16 B955 printed on label */
5470 
5471 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5472 	ROM_LOAD32_WORD( "mpr-19996.11",  0x000000, 0x400000, CRC(21928a00) SHA1(6b439fd2b113b64df9378ef8180a17aa6fa975c5) )
5473 	ROM_LOAD32_WORD( "mpr-19997.12",  0x000002, 0x400000, CRC(2a169cab) SHA1(dbf9af938afd0599d345c42c1df242e575c14de9) )
5474 	ROM_LOAD32_WORD( "mpr-19994.9",   0x800000, 0x400000, CRC(e691fbd5) SHA1(b99c2f3f2a682966d792917dfcb8ed8e53bc0b7a) )
5475 	ROM_LOAD32_WORD( "mpr-19995.10",  0x800002, 0x400000, CRC(82a7828e) SHA1(4336a12a07a67f94091b4a9b491bab02c375dd15) )
5476 
5477 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5478 
5479 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
5480 	ROM_LOAD32_WORD( "mpr-19998.17",  0x000000, 0x200000, CRC(6a834574) SHA1(8be19bf42dbb157d6acde62a2018ef4c0d41aab4) )
5481 	ROM_LOAD32_WORD( "mpr-19999.21",  0x000002, 0x200000, CRC(ff590a2d) SHA1(ad29e4270b4a2f82189fbab83358eb1200f43777) )
5482 
5483 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
5484 	ROM_LOAD32_WORD( "mpr-20001.27",  0x000000, 0x200000, CRC(6ca236aa) SHA1(b3cb89fadb42afed13be4f229d7158dee487978a) )
5485 	ROM_LOAD32_WORD( "mpr-20000.25",  0x000002, 0x200000, CRC(894d8ded) SHA1(9bf7c754a29eef47fa49b5567980601895127306) )
5486 
5487 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5488 	ROM_LOAD16_WORD_SWAP( "epr-20002.31", 0x000000, 0x080000, CRC(7efb069e) SHA1(30b1bbaf348d6a6b9ee2fdf82a0749baa025e0bf) )
5489 
5490 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5491 	ROM_LOAD16_WORD_SWAP( "mpr-20003.32", 0x000000, 0x400000, CRC(149ac22b) SHA1(c890bbaebbbb07b62bcb8a3a8edded9fa0ec9a1e) )
5492 	ROM_LOAD16_WORD_SWAP( "mpr-20004.34", 0x400000, 0x400000, CRC(0b9c5410) SHA1(e5bb30702fc853ccc03316be07a334269d3ebb4a) )
5493 ROM_END
5494 
5495 ROM_START( overrevba ) /* Over Rev Revision A, Model 2B */
5496 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5497 	ROM_LOAD32_WORD( "epr-19992a.15", 0x000000, 0x080000, CRC(68d3c8a8) SHA1(360d42c502d16ba056f4bfa8bb1667c8c58df8e2) )
5498 	ROM_LOAD32_WORD( "epr-19993a.16", 0x000002, 0x080000, CRC(9718eb58) SHA1(07e92d00843dd499e45654827e233723e18cc3e2) )
5499 
5500 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5501 	ROM_LOAD32_WORD( "mpr-19996.11",  0x000000, 0x400000, CRC(21928a00) SHA1(6b439fd2b113b64df9378ef8180a17aa6fa975c5) )
5502 	ROM_LOAD32_WORD( "mpr-19997.12",  0x000002, 0x400000, CRC(2a169cab) SHA1(dbf9af938afd0599d345c42c1df242e575c14de9) )
5503 	ROM_LOAD32_WORD( "mpr-19994.9",   0x800000, 0x400000, CRC(e691fbd5) SHA1(b99c2f3f2a682966d792917dfcb8ed8e53bc0b7a) )
5504 	ROM_LOAD32_WORD( "mpr-19995.10",  0x800002, 0x400000, CRC(82a7828e) SHA1(4336a12a07a67f94091b4a9b491bab02c375dd15) )
5505 
5506 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5507 
5508 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
5509 	ROM_LOAD32_WORD( "mpr-19998.17",  0x000000, 0x200000, CRC(6a834574) SHA1(8be19bf42dbb157d6acde62a2018ef4c0d41aab4) )
5510 	ROM_LOAD32_WORD( "mpr-19999.21",  0x000002, 0x200000, CRC(ff590a2d) SHA1(ad29e4270b4a2f82189fbab83358eb1200f43777) )
5511 
5512 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
5513 	ROM_LOAD32_WORD( "mpr-20001.27",  0x000000, 0x200000, CRC(6ca236aa) SHA1(b3cb89fadb42afed13be4f229d7158dee487978a) )
5514 	ROM_LOAD32_WORD( "mpr-20000.25",  0x000002, 0x200000, CRC(894d8ded) SHA1(9bf7c754a29eef47fa49b5567980601895127306) )
5515 
5516 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5517 	ROM_LOAD16_WORD_SWAP( "epr-20002.31", 0x000000, 0x080000, CRC(7efb069e) SHA1(30b1bbaf348d6a6b9ee2fdf82a0749baa025e0bf) )
5518 
5519 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5520 	ROM_LOAD16_WORD_SWAP( "mpr-20003.32", 0x000000, 0x400000, CRC(149ac22b) SHA1(c890bbaebbbb07b62bcb8a3a8edded9fa0ec9a1e) )
5521 	ROM_LOAD16_WORD_SWAP( "mpr-20004.34", 0x400000, 0x400000, CRC(0b9c5410) SHA1(e5bb30702fc853ccc03316be07a334269d3ebb4a) )
5522 ROM_END
5523 
5524 ROM_START( rascot2 ) /* Royal Ascot 2, Model 2C, Rom Board : 837-12485 Com Board : 837-12532 SDC-2 */
5525 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5526 	ROM_LOAD32_WORD("epr-20166.15",   0x000000, 0x020000, CRC(520479a4) SHA1(02e14a7be299c2af36373595cf6f154312372a60) )
5527 	ROM_LOAD32_WORD("epr-20167.16",   0x000002, 0x020000, CRC(e92f3d55) SHA1(a0b0df16484be0c45669982d87fe64a98f833549) )
5528 	ROM_LOAD32_WORD("epr-20164.13",   0x040000, 0x020000, CRC(576a15dc) SHA1(34e02d79b4e9c36e9dd441edc6e8d2afd589c558) )
5529 	ROM_LOAD32_WORD("epr-20165.14",   0x040002, 0x020000, CRC(7527f33b) SHA1(18c33173508ae43a2ab6a8f2d62e7735a6cd2898) )
5530 
5531 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5532 	ROM_LOAD32_WORD("mpr-20171.11",   0x000000, 0x400000, CRC(9f2327c6) SHA1(ed41d8b831bcf4dacbbd8bcaa92377cc95fc2a72) )
5533 	ROM_LOAD32_WORD("mpr-20172.12",   0x000002, 0x400000, CRC(40b4f8e6) SHA1(7d4a1d604205148c6d94c320e1d6438ab706fa67) )
5534 	ROM_LOAD32_WORD("mpr-20169.9",    0x800000, 0x400000, CRC(b5be4d6b) SHA1(cfb4696506efa0e93fab35bbeb87decd83aec040) )
5535 	ROM_LOAD32_WORD("mpr-20170.10",   0x800002, 0x400000, CRC(7b05cf33) SHA1(9e392ea0c7a9f4cef76d46ad92a7cf814022c133) )
5536 
5537 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00) // TGPx4 program
5538 
5539 	ROM_REGION( 0x2000000, "polygons", 0 ) // Models
5540 	ROM_LOAD32_WORD("mpr-20173.17",  0x0000000, 0x400000, CRC(60bd684e) SHA1(893985808adb88fb54f0ca85ca23995d65360360) )
5541 	ROM_LOAD32_WORD("mpr-20177.21",  0x0000002, 0x400000, CRC(4ba5199d) SHA1(5fa1cc56ec1d1c37d885c2d9a80fa93b9fbc4bce) )
5542 	ROM_LOAD32_WORD("mpr-20174.18",  0x0800000, 0x400000, CRC(6751ada5) SHA1(1ff61c133a93d3663d6a748b13ebb33285909314) )
5543 	ROM_LOAD32_WORD("mpr-20178.22",  0x0800002, 0x400000, CRC(f4fa00aa) SHA1(444805f403eac3b0377089176ead62aff7db7b96) )
5544 	ROM_LOAD32_WORD("mpr-20175.19",  0x1000000, 0x400000, CRC(801f4eff) SHA1(f5375b59c818841d77ab38317be0f7b9dbe14969) )
5545 	ROM_LOAD32_WORD("mpr-20179.23",  0x1000002, 0x400000, CRC(bd2c4e65) SHA1(bcc2f4cd37ebf4c36d00581e024281603d306123) )
5546 	ROM_LOAD32_WORD("mpr-20176.20",  0x1800000, 0x400000, CRC(50cb6b5a) SHA1(02c869cf874aa2310d60062e1e9b88ee26d7fa02) )
5547 	ROM_LOAD32_WORD("mpr-20180.24",  0x1800002, 0x400000, CRC(df16f2ca) SHA1(782a5ea3f713c47b55a9a5ecb5d36578977740a9) )
5548 
5549 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
5550 	ROM_LOAD32_WORD("mpr-20183.27",   0x000000, 0x400000, CRC(48520d72) SHA1(4519b497e20898e3aaa6398eb98cad990010a2fa) )
5551 	ROM_LOAD32_WORD("mpr-20181.25",   0x000002, 0x400000, CRC(99bfa480) SHA1(7176870b8fcc233440d31e1ca945fc4eb1dff204) )
5552 	ROM_LOAD32_WORD("mpr-20184.28",   0x800000, 0x400000, CRC(b8df0b12) SHA1(391c6aa40f2f6296ba3aa2a6ea2414ef2487f80c) )
5553 	ROM_LOAD32_WORD("mpr-20182.26",   0x800002, 0x400000, CRC(e3f085fe) SHA1(28efa84f6c04fbd285a9bcf6f651a57bfe54a507) )
5554 
5555 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5556 	ROM_LOAD16_WORD_SWAP("epr-20168.31", 0x000000, 0x020000, CRC(13a6a78d) SHA1(cbff422567b72d71607a42ea804c98b8c1e65824) )
5557 
5558 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5559 	ROM_LOAD16_WORD_SWAP("epr-20185.32",  0x0000000, 0x200000, CRC(168cc361) SHA1(fbd2a9d99cc0afd7b5f0d9274916a0960d864118) )
5560 ROM_END
5561 
5562 ROM_START( topskatr ) /* Top Skater Revision A (Export), Model 2C, Sega Game ID# 833-13080-02, ROM board ID# 834-13081-02 */
5563 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5564 	ROM_LOAD32_WORD("epr-19755a.15", 0x000000, 0x080000, CRC(b80633b9) SHA1(5396da414beeb918e6f38f25a43dd76345a0c8ed) )
5565 	ROM_LOAD32_WORD("epr-19756a.16", 0x000002, 0x080000, CRC(472046a2) SHA1(06d0f609257ba476e6bd3b956e0850e7167429ce) )
5566 
5567 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5568 	ROM_LOAD32_WORD("mpr-19735.11",  0x000000, 0x400000, CRC(8e509266) SHA1(49afc91467f08befaf34e743cbe823de3e3c9d85) )
5569 	ROM_LOAD32_WORD("mpr-19736.12",  0x000002, 0x400000, CRC(094e0a0d) SHA1(de2c739f71e51166263446b9f6a566866ab8bee8) )
5570 	ROM_LOAD32_WORD("mpr-19737.9",   0x800000, 0x400000, CRC(281a7dde) SHA1(71d5ba434328a81969bfdc71ac1160c5ff3ae9d3) )
5571 	ROM_LOAD32_WORD("mpr-19738.10",  0x800002, 0x400000, CRC(f688327e) SHA1(68c9db242ef7e8f98979e968a09e4b093bc5d470) )
5572 
5573 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
5574 	ROM_LOAD32_WORD("mpr-19743.29",  0x000000, 0x200000, CRC(d41a41bf) SHA1(a5f6b24e6526d0d2ef9c526c273c018d1e0fed59) )
5575 	ROM_LOAD32_WORD("mpr-19744.30",  0x000002, 0x200000, CRC(84f203bf) SHA1(4952b764e6bf6cd735018738c5eff08781ee2315) )
5576 
5577 	ROM_REGION( 0x400000, "polygons", 0 ) // Models
5578 	ROM_LOAD32_WORD("mpr-19741.17",  0x000000, 0x200000, CRC(111a6e29) SHA1(8664059f157626e4bbdcf8357e3d30b37d3c25b8) )
5579 	ROM_LOAD32_WORD("mpr-19742.21",  0x000002, 0x200000, CRC(28510aff) SHA1(3e68aec090f36a60b3b70bc90f09e2f9ce088718) )
5580 
5581 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5582 	ROM_LOAD32_WORD("mpr-19740.27",  0x000000, 0x400000, CRC(b20f508b) SHA1(c90fa3b42d87291ea459ccc137f3a2f3eb7efec0) )
5583 	ROM_LOAD32_WORD("mpr-19739.25",  0x000002, 0x400000, CRC(8120cfd8) SHA1(a82744bff5dcdfae296c7c3e8c3fbfda26324e85) )
5584 
5585 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5586 	ROM_LOAD16_WORD_SWAP("mpr-19759.31", 0x000000, 0x080000, CRC(573530f2) SHA1(7b205085965d6694f8e75e29c4028f7cb6f631ab) )
5587 
5588 	ROM_REGION( 0x20000, "cpu3", 0) // DSB program
5589 	ROM_LOAD16_WORD_SWAP("mpr-19760.2s", 0x000000,  0x20000, CRC(2e41ca15) SHA1(a302209bfe0f1491dff2da64b32cfaa13c3d3304) )
5590 
5591 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5592 	ROM_LOAD16_WORD_SWAP("mpr-19745.32", 0x000000, 0x400000, CRC(7082a0af) SHA1(415f9d0793a697cb1719bbd96370f4a741866527) )
5593 	ROM_LOAD16_WORD_SWAP("mpr-19746.34", 0x400000, 0x400000, CRC(657b5977) SHA1(ca76f211d68b6b55678a4d7949bfd2ddef1b1710) )
5594 
5595 	ROM_REGION( 0x1000000, "mpeg", 0 ) // MPEG audio data
5596 	ROM_LOAD("mpr-19747.18s", 0x000000, 0x400000, CRC(6e895aaa) SHA1(4c67c1e1d58a3034bbd711252a78689db9f235bb) )
5597 	ROM_LOAD("mpr-19748.20s", 0x400000, 0x400000, CRC(fcd74de3) SHA1(fd4da4cf40c4342c6263cf22eee5968292a4d2c0) )
5598 	ROM_LOAD("mpr-19749.22s", 0x800000, 0x400000, CRC(842ca1eb) SHA1(6ee6b2eb2ea400bdb9c0a9b4a126b4b86886e813) )
5599 	ROM_LOAD("mpr-19750.24s", 0xc00000, 0x400000, CRC(cd95d0bf) SHA1(40e2a2980c89049c339fefd48bf7aac79962cd2e) )
5600 ROM_END
5601 
5602 ROM_START( topskatruo ) /* Top Skater (USA), Model 2C, Sega Game ID# 833-13080-01, ROM board ID# 834-13081-01 */
5603 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5604 	ROM_LOAD32_WORD( "epr-19753.15", 0x000000, 0x080000, CRC(179a0954) SHA1(5d82455808e80ab6de615848fbefce7f4def12d0) )
5605 	ROM_LOAD32_WORD( "epr-19754.16", 0x000002, 0x080000, CRC(a4c62e01) SHA1(45ae0219a15b96f2283cd8e3df1940f6d48a3f63) )
5606 
5607 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5608 	ROM_LOAD32_WORD("mpr-19735.11",  0x000000, 0x400000, CRC(8e509266) SHA1(49afc91467f08befaf34e743cbe823de3e3c9d85) )
5609 	ROM_LOAD32_WORD("mpr-19736.12",  0x000002, 0x400000, CRC(094e0a0d) SHA1(de2c739f71e51166263446b9f6a566866ab8bee8) )
5610 	ROM_LOAD32_WORD("mpr-19737.9",   0x800000, 0x400000, CRC(281a7dde) SHA1(71d5ba434328a81969bfdc71ac1160c5ff3ae9d3) )
5611 	ROM_LOAD32_WORD("mpr-19738.10",  0x800002, 0x400000, CRC(f688327e) SHA1(68c9db242ef7e8f98979e968a09e4b093bc5d470) )
5612 
5613 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
5614 	ROM_LOAD32_WORD("mpr-19743.29",  0x000000, 0x200000, CRC(d41a41bf) SHA1(a5f6b24e6526d0d2ef9c526c273c018d1e0fed59) )
5615 	ROM_LOAD32_WORD("mpr-19744.30",  0x000002, 0x200000, CRC(84f203bf) SHA1(4952b764e6bf6cd735018738c5eff08781ee2315) )
5616 
5617 	ROM_REGION( 0x400000, "polygons", 0 ) // Models
5618 	ROM_LOAD32_WORD("mpr-19741.17",  0x000000, 0x200000, CRC(111a6e29) SHA1(8664059f157626e4bbdcf8357e3d30b37d3c25b8) )
5619 	ROM_LOAD32_WORD("mpr-19742.21",  0x000002, 0x200000, CRC(28510aff) SHA1(3e68aec090f36a60b3b70bc90f09e2f9ce088718) )
5620 
5621 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5622 	ROM_LOAD32_WORD("mpr-19740.27",  0x000000, 0x400000, CRC(b20f508b) SHA1(c90fa3b42d87291ea459ccc137f3a2f3eb7efec0) )
5623 	ROM_LOAD32_WORD("mpr-19739.25",  0x000002, 0x400000, CRC(8120cfd8) SHA1(a82744bff5dcdfae296c7c3e8c3fbfda26324e85) )
5624 
5625 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5626 	ROM_LOAD16_WORD_SWAP("mpr-19759.31", 0x000000, 0x080000, CRC(573530f2) SHA1(7b205085965d6694f8e75e29c4028f7cb6f631ab) )
5627 
5628 	ROM_REGION( 0x20000, "cpu3", 0) // DSB program
5629 	ROM_LOAD16_WORD_SWAP("mpr-19760.2s", 0x000000,  0x20000, CRC(2e41ca15) SHA1(a302209bfe0f1491dff2da64b32cfaa13c3d3304) )
5630 
5631 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5632 	ROM_LOAD16_WORD_SWAP("mpr-19745.32", 0x000000, 0x400000, CRC(7082a0af) SHA1(415f9d0793a697cb1719bbd96370f4a741866527) )
5633 	ROM_LOAD16_WORD_SWAP("mpr-19746.34", 0x400000, 0x400000, CRC(657b5977) SHA1(ca76f211d68b6b55678a4d7949bfd2ddef1b1710) )
5634 
5635 	ROM_REGION( 0x1000000, "mpeg", 0 ) // MPEG audio data
5636 	ROM_LOAD("mpr-19747.18s", 0x000000, 0x400000, CRC(6e895aaa) SHA1(4c67c1e1d58a3034bbd711252a78689db9f235bb) )
5637 	ROM_LOAD("mpr-19748.20s", 0x400000, 0x400000, CRC(fcd74de3) SHA1(fd4da4cf40c4342c6263cf22eee5968292a4d2c0) )
5638 	ROM_LOAD("mpr-19749.22s", 0x800000, 0x400000, CRC(842ca1eb) SHA1(6ee6b2eb2ea400bdb9c0a9b4a126b4b86886e813) )
5639 	ROM_LOAD("mpr-19750.24s", 0xc00000, 0x400000, CRC(cd95d0bf) SHA1(40e2a2980c89049c339fefd48bf7aac79962cd2e) )
5640 ROM_END
5641 
5642 ROM_START( topskatru ) /* Top Skater Revision A (USA), Model 2C, Sega Game ID# 833-13080-01, ROM board ID# 834-13081-01 */
5643 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5644 	ROM_LOAD32_WORD( "epr-19753a.15", 0x000000, 0x080000, CRC(3b3028de) SHA1(717ebf0ccd87128a24776e618cf15f07aaf48537) )
5645 	ROM_LOAD32_WORD( "epr-19754a.16", 0x000002, 0x080000, CRC(17535b98) SHA1(a2329d09821900ec4f867caf1a93759085bd0a62) )
5646 
5647 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5648 	ROM_LOAD32_WORD("mpr-19735.11",  0x000000, 0x400000, CRC(8e509266) SHA1(49afc91467f08befaf34e743cbe823de3e3c9d85) )
5649 	ROM_LOAD32_WORD("mpr-19736.12",  0x000002, 0x400000, CRC(094e0a0d) SHA1(de2c739f71e51166263446b9f6a566866ab8bee8) )
5650 	ROM_LOAD32_WORD("mpr-19737.9",   0x800000, 0x400000, CRC(281a7dde) SHA1(71d5ba434328a81969bfdc71ac1160c5ff3ae9d3) )
5651 	ROM_LOAD32_WORD("mpr-19738.10",  0x800002, 0x400000, CRC(f688327e) SHA1(68c9db242ef7e8f98979e968a09e4b093bc5d470) )
5652 
5653 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
5654 	ROM_LOAD32_WORD("mpr-19743.29",  0x000000, 0x200000, CRC(d41a41bf) SHA1(a5f6b24e6526d0d2ef9c526c273c018d1e0fed59) )
5655 	ROM_LOAD32_WORD("mpr-19744.30",  0x000002, 0x200000, CRC(84f203bf) SHA1(4952b764e6bf6cd735018738c5eff08781ee2315) )
5656 
5657 	ROM_REGION( 0x400000, "polygons", 0 ) // Models
5658 	ROM_LOAD32_WORD("mpr-19741.17",  0x000000, 0x200000, CRC(111a6e29) SHA1(8664059f157626e4bbdcf8357e3d30b37d3c25b8) )
5659 	ROM_LOAD32_WORD("mpr-19742.21",  0x000002, 0x200000, CRC(28510aff) SHA1(3e68aec090f36a60b3b70bc90f09e2f9ce088718) )
5660 
5661 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5662 	ROM_LOAD32_WORD("mpr-19740.27",  0x000000, 0x400000, CRC(b20f508b) SHA1(c90fa3b42d87291ea459ccc137f3a2f3eb7efec0) )
5663 	ROM_LOAD32_WORD("mpr-19739.25",  0x000002, 0x400000, CRC(8120cfd8) SHA1(a82744bff5dcdfae296c7c3e8c3fbfda26324e85) )
5664 
5665 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5666 	ROM_LOAD16_WORD_SWAP("mpr-19759.31", 0x000000, 0x080000, CRC(573530f2) SHA1(7b205085965d6694f8e75e29c4028f7cb6f631ab) )
5667 
5668 	ROM_REGION( 0x20000, "cpu3", 0) // DSB program
5669 	ROM_LOAD16_WORD_SWAP("mpr-19760.2s", 0x000000,  0x20000, CRC(2e41ca15) SHA1(a302209bfe0f1491dff2da64b32cfaa13c3d3304) )
5670 
5671 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5672 	ROM_LOAD16_WORD_SWAP("mpr-19745.32", 0x000000, 0x400000, CRC(7082a0af) SHA1(415f9d0793a697cb1719bbd96370f4a741866527) )
5673 	ROM_LOAD16_WORD_SWAP("mpr-19746.34", 0x400000, 0x400000, CRC(657b5977) SHA1(ca76f211d68b6b55678a4d7949bfd2ddef1b1710) )
5674 
5675 	ROM_REGION( 0x1000000, "mpeg", 0 ) // MPEG audio data
5676 	ROM_LOAD("mpr-19747.18s", 0x000000, 0x400000, CRC(6e895aaa) SHA1(4c67c1e1d58a3034bbd711252a78689db9f235bb) )
5677 	ROM_LOAD("mpr-19748.20s", 0x400000, 0x400000, CRC(fcd74de3) SHA1(fd4da4cf40c4342c6263cf22eee5968292a4d2c0) )
5678 	ROM_LOAD("mpr-19749.22s", 0x800000, 0x400000, CRC(842ca1eb) SHA1(6ee6b2eb2ea400bdb9c0a9b4a126b4b86886e813) )
5679 	ROM_LOAD("mpr-19750.24s", 0xc00000, 0x400000, CRC(cd95d0bf) SHA1(40e2a2980c89049c339fefd48bf7aac79962cd2e) )
5680 ROM_END
5681 
5682 ROM_START( topskatrj ) /* Top Skater (Japan), Model 2C, Sega Game ID# 833-13080-03, ROM board ID# 834-13081-03 */
5683 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5684 	ROM_LOAD32_WORD( "epr-19751.15", 0x000000, 0x080000, CRC(d615a15f) SHA1(ca998de446c4c423db186696f3478f3daa4f8373) )
5685 	ROM_LOAD32_WORD( "epr-19752.16", 0x000002, 0x080000, CRC(42f0ba8b) SHA1(f72f25cbd380918b919c11a7d2051948c8c484db) )
5686 
5687 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5688 	ROM_LOAD32_WORD("mpr-19735.11",  0x000000, 0x400000, CRC(8e509266) SHA1(49afc91467f08befaf34e743cbe823de3e3c9d85) )
5689 	ROM_LOAD32_WORD("mpr-19736.12",  0x000002, 0x400000, CRC(094e0a0d) SHA1(de2c739f71e51166263446b9f6a566866ab8bee8) )
5690 	ROM_LOAD32_WORD("mpr-19737.9",   0x800000, 0x400000, CRC(281a7dde) SHA1(71d5ba434328a81969bfdc71ac1160c5ff3ae9d3) )
5691 	ROM_LOAD32_WORD("mpr-19738.10",  0x800002, 0x400000, CRC(f688327e) SHA1(68c9db242ef7e8f98979e968a09e4b093bc5d470) )
5692 
5693 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // TGPx4 program
5694 	ROM_LOAD32_WORD("mpr-19743.29",  0x000000, 0x200000, CRC(d41a41bf) SHA1(a5f6b24e6526d0d2ef9c526c273c018d1e0fed59) )
5695 	ROM_LOAD32_WORD("mpr-19744.30",  0x000002, 0x200000, CRC(84f203bf) SHA1(4952b764e6bf6cd735018738c5eff08781ee2315) )
5696 
5697 	ROM_REGION( 0x400000, "polygons", 0 ) // Models
5698 	ROM_LOAD32_WORD("mpr-19741.17",  0x000000, 0x200000, CRC(111a6e29) SHA1(8664059f157626e4bbdcf8357e3d30b37d3c25b8) )
5699 	ROM_LOAD32_WORD("mpr-19742.21",  0x000002, 0x200000, CRC(28510aff) SHA1(3e68aec090f36a60b3b70bc90f09e2f9ce088718) )
5700 
5701 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5702 	ROM_LOAD32_WORD("mpr-19740.27",  0x000000, 0x400000, CRC(b20f508b) SHA1(c90fa3b42d87291ea459ccc137f3a2f3eb7efec0) )
5703 	ROM_LOAD32_WORD("mpr-19739.25",  0x000002, 0x400000, CRC(8120cfd8) SHA1(a82744bff5dcdfae296c7c3e8c3fbfda26324e85) )
5704 
5705 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5706 	ROM_LOAD16_WORD_SWAP("mpr-19759.31", 0x000000, 0x080000, CRC(573530f2) SHA1(7b205085965d6694f8e75e29c4028f7cb6f631ab) )
5707 
5708 	ROM_REGION( 0x20000, "cpu3", 0) // DSB program
5709 	ROM_LOAD16_WORD_SWAP("mpr-19760.2s", 0x000000,  0x20000, CRC(2e41ca15) SHA1(a302209bfe0f1491dff2da64b32cfaa13c3d3304) )
5710 
5711 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5712 	ROM_LOAD16_WORD_SWAP("mpr-19745.32", 0x000000, 0x400000, CRC(7082a0af) SHA1(415f9d0793a697cb1719bbd96370f4a741866527) )
5713 	ROM_LOAD16_WORD_SWAP("mpr-19746.34", 0x400000, 0x400000, CRC(657b5977) SHA1(ca76f211d68b6b55678a4d7949bfd2ddef1b1710) )
5714 
5715 	ROM_REGION( 0x1000000, "mpeg", 0 ) // MPEG audio data
5716 	ROM_LOAD("mpr-19747.18s", 0x000000, 0x400000, CRC(6e895aaa) SHA1(4c67c1e1d58a3034bbd711252a78689db9f235bb) )
5717 	ROM_LOAD("mpr-19748.20s", 0x400000, 0x400000, CRC(fcd74de3) SHA1(fd4da4cf40c4342c6263cf22eee5968292a4d2c0) )
5718 	ROM_LOAD("mpr-19749.22s", 0x800000, 0x400000, CRC(842ca1eb) SHA1(6ee6b2eb2ea400bdb9c0a9b4a126b4b86886e813) )
5719 	ROM_LOAD("mpr-19750.24s", 0xc00000, 0x400000, CRC(cd95d0bf) SHA1(40e2a2980c89049c339fefd48bf7aac79962cd2e) )
5720 ROM_END
5721 
5722 ROM_START( doaa ) /* Dead or Alive Revision A, Model 2A, Sega Game ID# 833-11341, ROM board ID# 834-11342, 837-12880 security board */
5723 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5724 	ROM_LOAD32_WORD("epr-19310a.12", 0x000000, 0x080000, CRC(06486f7a) SHA1(b3e14103570e5f45aed16e1c158e469bc85002ae) )
5725 	ROM_LOAD32_WORD("epr-19311a.13", 0x000002, 0x080000, CRC(1be62912) SHA1(dcc2df8e28e1a107867f74248e6ffcac83afe7c0) )
5726 
5727 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5728 	ROM_LOAD32_WORD("mpr-19318.11",  0x0000000, 0x400000, CRC(ab431bfe) SHA1(45b5ccf67c91014daf6bf3c4bd8ec372b246e404) )
5729 	ROM_LOAD32_WORD("mpr-19319.12",  0x0000002, 0x400000, CRC(c5cb694d) SHA1(448b45d30cc7a71395a49a2c5789989fd7b7b4e7) )
5730 	ROM_LOAD32_WORD("mpr-19316.9",   0x0800000, 0x400000, CRC(2d2d1b1a) SHA1(77ce5d8aa98bdbc97ae08a452f584b30d8885cfc) )
5731 	ROM_LOAD32_WORD("mpr-19317.10",  0x0800002, 0x400000, CRC(96b17bcf) SHA1(3aa9d2f8afad74b5626ce2cf2d7a86aef8cac80b) )
5732 	ROM_LOAD32_WORD("mpr-19314.7",   0x1000000, 0x400000, CRC(a8d963fb) SHA1(6a1680d6380321279b0d701e4b47d4ae712f3b72) )
5733 	ROM_LOAD32_WORD("mpr-19315.8",   0x1000002, 0x400000, CRC(90ae5682) SHA1(ec56df14f0847daf9bd0435f785a8946c94d2988) )
5734 	ROM_LOAD32_WORD("mpr-19312.5",   0x1800000, 0x200000, CRC(1dcedb10) SHA1(a60fb9e7c0731004d0f0ff28c4cde272b21dd658) )
5735 	ROM_LOAD32_WORD("mpr-19313.6",   0x1800002, 0x200000, CRC(8c63055e) SHA1(9f375b3f4a8884163ffcf364989499f2cd21e18b) )
5736 	ROM_COPY("main_data", 0x1800000, 0x1c00000, 0x400000 )
5737 
5738 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5739 
5740 	ROM_REGION( 0x2000000, "polygons", ROMREGION_ERASEFF ) // Models
5741 	ROM_LOAD32_WORD("mpr-19322.17",  0x0000000, 0x400000, CRC(d0e6ecf0) SHA1(1b87f6337b4286fd738856da899462e7baa92601) )
5742 	ROM_LOAD32_WORD("mpr-19325.21",  0x0000002, 0x400000, CRC(7cbe432d) SHA1(8b31e292160b88df9c77b36096914d09ab8b6086) )
5743 	ROM_LOAD32_WORD("mpr-19323.18",  0x0800000, 0x400000, CRC(453d3f4a) SHA1(8c0530824bb8ecb007021ee6e93412597bb0ecd6) )
5744 	ROM_LOAD32_WORD("mpr-19326.22",  0x0800002, 0x400000, CRC(b976da02) SHA1(a154eb128604aac9e35438d8811971133eab94a1) )
5745 	ROM_LOAD32_WORD("mpr-19324.19",  0x1000000, 0x400000, CRC(0d6bf454) SHA1(4cf48f19128d728c4ec7e9ec7014223a6c0f2362) )
5746 	ROM_LOAD32_WORD("mpr-19327.23",  0x1000002, 0x400000, CRC(6a75634c) SHA1(8ed74c7afd95fc7a4df0f01a47479b6f44e3073c) )
5747 
5748 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5749 	ROM_LOAD32_WORD("mpr-19321.27", 0x000000, 0x400000, CRC(9c49e845) SHA1(344839640d9814263fa5ed00c2043cd6f18d5cb2) )
5750 	ROM_LOAD32_WORD("mpr-19320.25", 0x000002, 0x400000, CRC(190c017f) SHA1(4c3250b9abe39fc5c8fd0fcdb5fb7ea131434516) )
5751 
5752 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5753 	ROM_LOAD16_WORD_SWAP("epr-19328.30", 0x000000, 0x080000, CRC(400bdbfb) SHA1(54db969fa54cf3c502d77aa6a6aaeef5d7db9f04) )
5754 
5755 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5756 	ROM_LOAD16_WORD_SWAP("mpr-19329.31", 0x000000, 0x200000, CRC(8fd2708a) SHA1(7a341b15afa489aa95af70cb34ac3934b1a7d887) )
5757 	ROM_LOAD16_WORD_SWAP("mpr-19330.32", 0x200000, 0x200000, CRC(0c69787d) SHA1(dc5870cd93da2babe5fc9c03b252fc6ea6e45721) )
5758 	ROM_LOAD16_WORD_SWAP("mpr-19331.33", 0x400000, 0x200000, CRC(c18ea0b8) SHA1(0f42458829ae85fffcedd42cd9f728a7a3d75f1c) )
5759 	ROM_LOAD16_WORD_SWAP("mpr-19332.34", 0x600000, 0x200000, CRC(2877f96f) SHA1(00e5677da30527b862e238f10762a5cbfbabde2b) )
5760 
5761 	MODEL2_CPU_BOARD
5762 	MODEL2A_VID_BOARD
5763 ROM_END
5764 
5765 ROM_START( doab ) /* Dead or Alive Revision B, Model 2B, 837-12880 security board */
5766 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5767 	ROM_LOAD32_WORD("epr-19379b.15", 0x000000, 0x080000, CRC(8a10a944) SHA1(c675a344f74d0118907fb5292495883c0c30c719) )
5768 	ROM_LOAD32_WORD("epr-19380b.16", 0x000002, 0x080000, CRC(766c1ec8) SHA1(49250886f66db9fd37d88bc22c8f22046f74f043) )
5769 
5770 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5771 	ROM_LOAD32_WORD("mpr-19318.11",  0x0000000, 0x400000, CRC(ab431bfe) SHA1(45b5ccf67c91014daf6bf3c4bd8ec372b246e404) )
5772 	ROM_LOAD32_WORD("mpr-19319.12",  0x0000002, 0x400000, CRC(c5cb694d) SHA1(448b45d30cc7a71395a49a2c5789989fd7b7b4e7) )
5773 	ROM_LOAD32_WORD("mpr-19316.9",   0x0800000, 0x400000, CRC(2d2d1b1a) SHA1(77ce5d8aa98bdbc97ae08a452f584b30d8885cfc) )
5774 	ROM_LOAD32_WORD("mpr-19317.10",  0x0800002, 0x400000, CRC(96b17bcf) SHA1(3aa9d2f8afad74b5626ce2cf2d7a86aef8cac80b) )
5775 	ROM_LOAD32_WORD("mpr-19314.7",   0x1000000, 0x400000, CRC(a8d963fb) SHA1(6a1680d6380321279b0d701e4b47d4ae712f3b72) )
5776 	ROM_LOAD32_WORD("mpr-19315.8",   0x1000002, 0x400000, CRC(90ae5682) SHA1(ec56df14f0847daf9bd0435f785a8946c94d2988) )
5777 	ROM_LOAD32_WORD("mpr-19312.5",   0x1800000, 0x200000, CRC(1dcedb10) SHA1(a60fb9e7c0731004d0f0ff28c4cde272b21dd658) )
5778 	ROM_LOAD32_WORD("mpr-19313.6",   0x1800002, 0x200000, CRC(8c63055e) SHA1(9f375b3f4a8884163ffcf364989499f2cd21e18b) )
5779 	ROM_COPY("main_data", 0x1800000, 0x1c00000, 0x400000 )
5780 
5781 	ROM_REGION( 0x2000000, "polygons", ROMREGION_ERASEFF ) // Models
5782 	ROM_LOAD32_WORD("mpr-19322.17",  0x0000000, 0x400000, CRC(d0e6ecf0) SHA1(1b87f6337b4286fd738856da899462e7baa92601) )
5783 	ROM_LOAD32_WORD("mpr-19325.21",  0x0000002, 0x400000, CRC(7cbe432d) SHA1(8b31e292160b88df9c77b36096914d09ab8b6086) )
5784 	ROM_LOAD32_WORD("mpr-19323.18",  0x0800000, 0x400000, CRC(453d3f4a) SHA1(8c0530824bb8ecb007021ee6e93412597bb0ecd6) )
5785 	ROM_LOAD32_WORD("mpr-19326.22",  0x0800002, 0x400000, CRC(b976da02) SHA1(a154eb128604aac9e35438d8811971133eab94a1) )
5786 	ROM_LOAD32_WORD("mpr-19324.19",  0x1000000, 0x400000, CRC(0d6bf454) SHA1(4cf48f19128d728c4ec7e9ec7014223a6c0f2362) )
5787 	ROM_LOAD32_WORD("mpr-19327.23",  0x1000002, 0x400000, CRC(6a75634c) SHA1(8ed74c7afd95fc7a4df0f01a47479b6f44e3073c) )
5788 
5789 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5790 	ROM_LOAD32_WORD("mpr-19321.27", 0x000000, 0x400000, CRC(9c49e845) SHA1(344839640d9814263fa5ed00c2043cd6f18d5cb2) )
5791 	ROM_LOAD32_WORD("mpr-19320.25", 0x000002, 0x400000, CRC(190c017f) SHA1(4c3250b9abe39fc5c8fd0fcdb5fb7ea131434516) )
5792 
5793 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5794 
5795 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5796 	ROM_LOAD16_WORD_SWAP("epr-19328.30", 0x000000, 0x080000, CRC(400bdbfb) SHA1(54db969fa54cf3c502d77aa6a6aaeef5d7db9f04) )
5797 
5798 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5799 	ROM_LOAD16_WORD_SWAP("mpr-19329.31", 0x000000, 0x200000, CRC(8fd2708a) SHA1(7a341b15afa489aa95af70cb34ac3934b1a7d887) )
5800 	ROM_LOAD16_WORD_SWAP("mpr-19330.32", 0x200000, 0x200000, CRC(0c69787d) SHA1(dc5870cd93da2babe5fc9c03b252fc6ea6e45721) )
5801 	ROM_LOAD16_WORD_SWAP("mpr-19331.33", 0x400000, 0x200000, CRC(c18ea0b8) SHA1(0f42458829ae85fffcedd42cd9f728a7a3d75f1c) )
5802 	ROM_LOAD16_WORD_SWAP("mpr-19332.34", 0x600000, 0x200000, CRC(2877f96f) SHA1(00e5677da30527b862e238f10762a5cbfbabde2b) )
5803 ROM_END
5804 
5805 ROM_START( doa ) /* Dead or Alive Jan 10 1997, probably Revision C, Model 2B, 837-12880 security board */
5806 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5807 	// ROMs have hand written labels - "EPR-19379B / EPR-19380B, 96/12/6", probably was reused and reprogrammed to newer revision
5808 	ROM_LOAD32_WORD("epr-19379c.15", 0x000000, 0x080000, CRC(5cc62fbe) SHA1(a1489b92f32bcd16cca10017975beb62fc27a060) )
5809 	ROM_LOAD32_WORD("epr-19380c.16", 0x000002, 0x080000, CRC(58cfeaa9) SHA1(4319c22b8ebcff152676b62b5b1d4c1c7ce64fa6) )
5810 
5811 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5812 	ROM_LOAD32_WORD("mpr-19318.11",  0x0000000, 0x400000, CRC(ab431bfe) SHA1(45b5ccf67c91014daf6bf3c4bd8ec372b246e404) )
5813 	ROM_LOAD32_WORD("mpr-19319.12",  0x0000002, 0x400000, CRC(c5cb694d) SHA1(448b45d30cc7a71395a49a2c5789989fd7b7b4e7) )
5814 	ROM_LOAD32_WORD("mpr-19316.9",   0x0800000, 0x400000, CRC(2d2d1b1a) SHA1(77ce5d8aa98bdbc97ae08a452f584b30d8885cfc) )
5815 	ROM_LOAD32_WORD("mpr-19317.10",  0x0800002, 0x400000, CRC(96b17bcf) SHA1(3aa9d2f8afad74b5626ce2cf2d7a86aef8cac80b) )
5816 	ROM_LOAD32_WORD("mpr-19314.7",   0x1000000, 0x400000, CRC(a8d963fb) SHA1(6a1680d6380321279b0d701e4b47d4ae712f3b72) )
5817 	ROM_LOAD32_WORD("mpr-19315.8",   0x1000002, 0x400000, CRC(90ae5682) SHA1(ec56df14f0847daf9bd0435f785a8946c94d2988) )
5818 	ROM_LOAD32_WORD("mpr-19312.5",   0x1800000, 0x200000, CRC(1dcedb10) SHA1(a60fb9e7c0731004d0f0ff28c4cde272b21dd658) )
5819 	ROM_LOAD32_WORD("mpr-19313.6",   0x1800002, 0x200000, CRC(8c63055e) SHA1(9f375b3f4a8884163ffcf364989499f2cd21e18b) )
5820 	ROM_COPY("main_data", 0x1800000, 0x1c00000, 0x400000 )
5821 
5822 	ROM_REGION( 0x2000000, "polygons", ROMREGION_ERASEFF ) // Models
5823 	ROM_LOAD32_WORD("mpr-19322.17",  0x0000000, 0x400000, CRC(d0e6ecf0) SHA1(1b87f6337b4286fd738856da899462e7baa92601) )
5824 	ROM_LOAD32_WORD("mpr-19325.21",  0x0000002, 0x400000, CRC(7cbe432d) SHA1(8b31e292160b88df9c77b36096914d09ab8b6086) )
5825 	ROM_LOAD32_WORD("mpr-19323.18",  0x0800000, 0x400000, CRC(453d3f4a) SHA1(8c0530824bb8ecb007021ee6e93412597bb0ecd6) )
5826 	ROM_LOAD32_WORD("mpr-19326.22",  0x0800002, 0x400000, CRC(b976da02) SHA1(a154eb128604aac9e35438d8811971133eab94a1) )
5827 	ROM_LOAD32_WORD("mpr-19324.19",  0x1000000, 0x400000, CRC(0d6bf454) SHA1(4cf48f19128d728c4ec7e9ec7014223a6c0f2362) )
5828 	ROM_LOAD32_WORD("mpr-19327.23",  0x1000002, 0x400000, CRC(6a75634c) SHA1(8ed74c7afd95fc7a4df0f01a47479b6f44e3073c) )
5829 
5830 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
5831 	ROM_LOAD32_WORD("mpr-19321.27", 0x000000, 0x400000, CRC(9c49e845) SHA1(344839640d9814263fa5ed00c2043cd6f18d5cb2) )
5832 	ROM_LOAD32_WORD("mpr-19320.25", 0x000002, 0x400000, CRC(190c017f) SHA1(4c3250b9abe39fc5c8fd0fcdb5fb7ea131434516) )
5833 
5834 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5835 
5836 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5837 	ROM_LOAD16_WORD_SWAP("epr-19328.30", 0x000000, 0x080000, CRC(400bdbfb) SHA1(54db969fa54cf3c502d77aa6a6aaeef5d7db9f04) )
5838 
5839 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5840 	ROM_LOAD16_WORD_SWAP("mpr-19329.31", 0x000000, 0x200000, CRC(8fd2708a) SHA1(7a341b15afa489aa95af70cb34ac3934b1a7d887) )
5841 	ROM_LOAD16_WORD_SWAP("mpr-19330.32", 0x200000, 0x200000, CRC(0c69787d) SHA1(dc5870cd93da2babe5fc9c03b252fc6ea6e45721) )
5842 	ROM_LOAD16_WORD_SWAP("mpr-19331.33", 0x400000, 0x200000, CRC(c18ea0b8) SHA1(0f42458829ae85fffcedd42cd9f728a7a3d75f1c) )
5843 	ROM_LOAD16_WORD_SWAP("mpr-19332.34", 0x600000, 0x200000, CRC(2877f96f) SHA1(00e5677da30527b862e238f10762a5cbfbabde2b) )
5844 ROM_END
5845 
5846 ROM_START( sgt24h ) /* Super GT 24h, Model 2B */
5847 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5848 	ROM_LOAD32_WORD("epr-19155.15", 0x000000, 0x080000, CRC(593952fd) SHA1(1fc4afc6e3910cc8adb0688542e61a9efb442e56) )
5849 	ROM_LOAD32_WORD("epr-19156.16", 0x000002, 0x080000, CRC(a91fc4ee) SHA1(a37611da0295f7d7e5d2411c3f9b73140d311f74) )
5850 
5851 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5852 	ROM_LOAD32_WORD("mpr-19146.11", 0x000000, 0x400000, CRC(d66b5b0f) SHA1(c2a5b83c9041d8f46dfac4a3ff8cfdefb96d02b3) )
5853 	ROM_LOAD32_WORD("mpr-19147.12", 0x000002, 0x400000, CRC(d5558f48) SHA1(c9f40328d6974b7767fa6ba719d0d2b7a173c210) )
5854 	ROM_LOAD32_WORD("mpr-19148.9",  0x800000, 0x400000, CRC(a14c86db) SHA1(66cd8672c00e4e2572de7c5648de595674ffa8f8) )
5855 	ROM_LOAD32_WORD("mpr-19149.10", 0x800002, 0x400000, CRC(94ef5849) SHA1(3e1748dc5e61c93eedbf0ca6b1946a30be722403) )
5856 
5857 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
5858 	ROM_LOAD32_WORD("mpr-19150.17", 0x000000, 0x400000, CRC(e0ad870e) SHA1(3429d9f9434d75ddb5fa05d4b493828adfe826a4) )
5859 	ROM_LOAD32_WORD("mpr-19151.21", 0x000002, 0x400000, CRC(e2a1b125) SHA1(cc5c2d9ab8a01f52e66969464f53ae3cefca6a09) )
5860 
5861 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
5862 	ROM_LOAD32_WORD("mpr-19153.27", 0x000000, 0x200000, CRC(136adfd0) SHA1(70ce4e609c8b003ff04518044c18d29089e6a353) )
5863 	ROM_LOAD32_WORD("mpr-19152.25", 0x000002, 0x200000, CRC(363769a2) SHA1(51b2f11a01fb72e151025771f8a8496993e605c2) )
5864 
5865 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
5866 
5867 	ROM_REGION( 0x20000, "cpu4", 0) // Communication program
5868 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
5869 
5870 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5871 	ROM_LOAD16_WORD_SWAP("epr-19157.31", 0x000000, 0x080000, CRC(8ffea0cf) SHA1(439e784081329db2fe03419681150f3216f4ccff) )
5872 
5873 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5874 	ROM_LOAD16_WORD_SWAP("mpr-19154.32", 0x000000, 0x400000, CRC(7cd9e679) SHA1(b9812c4f3042f95febc96bcdd46e3b0724ad4b4f) )
5875 ROM_END
5876 
5877 ROM_START( von ) /* Virtual On Cyber Troopers Revision B (US), Model 2B, Sega Game ID# 833-12345-01, ROM board ID# 834-12346-01 */
5878 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5879 	ROM_LOAD32_WORD("epr-18828b.15", 0x000000, 0x080000, CRC(6499cc59) SHA1(8289be295f021acbf0c903513ba97ae7de50dedb) )
5880 	ROM_LOAD32_WORD("epr-18829b.16", 0x000002, 0x080000, CRC(0053b10f) SHA1(b89cc814b02b4ab5e37c75ee1a9cf57b88b63053) )
5881 	ROM_LOAD32_WORD("epr-18666.13",  0x100000, 0x080000, CRC(66edb432) SHA1(b67131b0158a58138380734dd5b9394b70010026) )
5882 	ROM_LOAD32_WORD("epr-18667.14",  0x100002, 0x080000, CRC(b593d31f) SHA1(1e9f23f4052ab1b0275307cc80e51352f13bc319) )
5883 
5884 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5885 	ROM_LOAD32_WORD("mpr-18648.11",  0x000000, 0x400000, CRC(2edbe489) SHA1(ded2e4b295be08970d13c387818c570c3afe8109) )
5886 	ROM_LOAD32_WORD("mpr-18649.12",  0x000002, 0x400000, CRC(e68c5aa6) SHA1(cdee1ba9247eda4282442d0522f8de7d7c86e1e6) )
5887 	ROM_LOAD32_WORD("mpr-18650.9",   0x800000, 0x400000, CRC(89a855b9) SHA1(5096db1da1f7e175000e89fca2a1dd3fd53030ea) )
5888 	ROM_LOAD32_WORD("mpr-18651.10",  0x800002, 0x400000, CRC(f4c23107) SHA1(f65984614111b12dd414db80751efe64fcf5ef16) )
5889 
5890 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5891 	ROM_LOAD32_WORD("mpr-18662.29",  0x000000, 0x200000, CRC(a33d3335) SHA1(991bbe9dcbef8bfa96682e9d142623fc9b7c0879) )
5892 	ROM_LOAD32_WORD("mpr-18663.30",  0x000002, 0x200000, CRC(ea74a641) SHA1(a684e13c0afe2ef3f3108ae9b73389121368fc4e) )
5893 
5894 	ROM_REGION( 0x1000000, "polygons", ROMREGION_ERASEFF ) // Models
5895 	ROM_LOAD32_WORD("mpr-18654.17",  0x000000, 0x400000, CRC(6a0caf29) SHA1(9f009f44e62ae0f9dec7a34a163bc186d1c4cbbd) )
5896 	ROM_LOAD32_WORD("mpr-18655.21",  0x000002, 0x400000, CRC(a4293e78) SHA1(af512c994bedbdaf3a5eeed607e771dcd87810fc) )
5897 	ROM_LOAD32_WORD("mpr-18656.18",  0x800000, 0x400000, CRC(b4f51e76) SHA1(eb71ada331576f2a7219d238ea07a61bcbf6381a) )
5898 	ROM_LOAD32_WORD("mpr-18657.22",  0x800002, 0x400000, CRC(a9be4674) SHA1(a918c2a3de78a08104480097edfb9d6aeaeda873) )
5899 
5900 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
5901 	ROM_LOAD32_WORD("mpr-18660.27",  0x000000, 0x200000, CRC(e53663e5) SHA1(0a4908be654bad4f00d7d58f0e42f631996911c9) )
5902 	ROM_LOAD32_WORD("mpr-18658.25",  0x000002, 0x200000, CRC(3d0fcd01) SHA1(c8626c879bfcf7abd095cac5dc03a04ae8629423) )
5903 	ROM_LOAD32_WORD("mpr-18661.28",  0x800000, 0x200000, CRC(52b50410) SHA1(64ea7b2f86745954e0b8a15d71203444705240a2) )
5904 	ROM_LOAD32_WORD("mpr-18659.26",  0x800002, 0x200000, CRC(27aa8ae2) SHA1(e9b756e5b4b1c19e52e47af03c773fee544be420) )
5905 
5906 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
5907 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
5908 
5909 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5910 	ROM_LOAD16_WORD_SWAP("epr-18670.31", 0x000000, 0x080000, CRC(3e715f76) SHA1(4fd997e379a8cdb94ec3b1986b3ab443fc6fa12a) )
5911 
5912 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5913 	ROM_LOAD16_WORD_SWAP("mpr-18652.32", 0x000000, 0x400000, CRC(037eee53) SHA1(e592f9e97abe0a7bc9009d8327b93da9bc43749c))
5914 	ROM_LOAD16_WORD_SWAP("mpr-18653.34", 0x400000, 0x400000, CRC(9ec3e7bf) SHA1(197bc8adc823e93128c1cebf69361a7c7297f808))
5915 ROM_END
5916 
5917 ROM_START( vonj ) /* Virtual On Cyber Troopers Revision B (Japan), Model 2B */
5918 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5919 	ROM_LOAD32_WORD("epr-18664b.15", 0x000000, 0x080000, CRC(27d0172c) SHA1(f3bcae9898c7d656eccb4d2546c9bb93daaefbb7) )
5920 	ROM_LOAD32_WORD("epr-18665b.16", 0x000002, 0x080000, CRC(2f0142ee) SHA1(73f2a19a519ced8e0a1ab5cf69a4bf9d9841e288) )
5921 	ROM_LOAD32_WORD("epr-18666.13",  0x100000, 0x080000, CRC(66edb432) SHA1(b67131b0158a58138380734dd5b9394b70010026) )
5922 	ROM_LOAD32_WORD("epr-18667.14",  0x100002, 0x080000, CRC(b593d31f) SHA1(1e9f23f4052ab1b0275307cc80e51352f13bc319) )
5923 
5924 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5925 	ROM_LOAD32_WORD("mpr-18648.11", 0x000000, 0x400000, CRC(2edbe489) SHA1(ded2e4b295be08970d13c387818c570c3afe8109) )
5926 	ROM_LOAD32_WORD("mpr-18649.12", 0x000002, 0x400000, CRC(e68c5aa6) SHA1(cdee1ba9247eda4282442d0522f8de7d7c86e1e6) )
5927 	ROM_LOAD32_WORD("mpr-18650.9",  0x800000, 0x400000, CRC(89a855b9) SHA1(5096db1da1f7e175000e89fca2a1dd3fd53030ea) )
5928 	ROM_LOAD32_WORD("mpr-18651.10", 0x800002, 0x400000, CRC(f4c23107) SHA1(f65984614111b12dd414db80751efe64fcf5ef16) )
5929 
5930 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5931 	ROM_LOAD32_WORD("mpr-18662.29", 0x000000, 0x200000, CRC(a33d3335) SHA1(991bbe9dcbef8bfa96682e9d142623fc9b7c0879) )
5932 	ROM_LOAD32_WORD("mpr-18663.30", 0x000002, 0x200000, CRC(ea74a641) SHA1(a684e13c0afe2ef3f3108ae9b73389121368fc4e) )
5933 
5934 	ROM_REGION( 0x1000000, "polygons", ROMREGION_ERASEFF ) // Models
5935 	ROM_LOAD32_WORD("mpr-18654.17", 0x000000, 0x400000, CRC(6a0caf29) SHA1(9f009f44e62ae0f9dec7a34a163bc186d1c4cbbd) )
5936 	ROM_LOAD32_WORD("mpr-18655.21", 0x000002, 0x400000, CRC(a4293e78) SHA1(af512c994bedbdaf3a5eeed607e771dcd87810fc) )
5937 	ROM_LOAD32_WORD("mpr-18656.18", 0x800000, 0x400000, CRC(b4f51e76) SHA1(eb71ada331576f2a7219d238ea07a61bcbf6381a) )
5938 	ROM_LOAD32_WORD("mpr-18657.22", 0x800002, 0x400000, CRC(a9be4674) SHA1(a918c2a3de78a08104480097edfb9d6aeaeda873) )
5939 
5940 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
5941 	ROM_LOAD32_WORD("mpr-18660.27", 0x000000, 0x200000, CRC(e53663e5) SHA1(0a4908be654bad4f00d7d58f0e42f631996911c9) )
5942 	ROM_LOAD32_WORD("mpr-18658.25", 0x000002, 0x200000, CRC(3d0fcd01) SHA1(c8626c879bfcf7abd095cac5dc03a04ae8629423) )
5943 	ROM_LOAD32_WORD("mpr-18661.28", 0x800000, 0x200000, CRC(52b50410) SHA1(64ea7b2f86745954e0b8a15d71203444705240a2) )
5944 	ROM_LOAD32_WORD("mpr-18659.26", 0x800002, 0x200000, CRC(27aa8ae2) SHA1(e9b756e5b4b1c19e52e47af03c773fee544be420) )
5945 
5946 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
5947 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
5948 
5949 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5950 	ROM_LOAD16_WORD_SWAP("epr-18670.31", 0x000000, 0x080000, CRC(3e715f76) SHA1(4fd997e379a8cdb94ec3b1986b3ab443fc6fa12a) )
5951 
5952 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5953 	ROM_LOAD16_WORD_SWAP("mpr-18652.32", 0x000000, 0x400000, CRC(037eee53) SHA1(e592f9e97abe0a7bc9009d8327b93da9bc43749c) )
5954 	ROM_LOAD16_WORD_SWAP("mpr-18653.34", 0x400000, 0x400000, CRC(9ec3e7bf) SHA1(197bc8adc823e93128c1cebf69361a7c7297f808) )
5955 ROM_END
5956 
5957 ROM_START( vonr ) /* Virtual On Cyber Troopers Relay (Japan) */
5958 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5959 	ROM_LOAD32_WORD("epr-18671.15",  0x000000, 0x080000, CRC(fdc01c6b) SHA1(27f10bf02f31688009041b7c85a9527408adcb59) )
5960 	ROM_LOAD32_WORD("epr-18672.16",  0x000002, 0x080000, CRC(98961f34) SHA1(1bfd4dcf6789ae16832e2993ee08df942a8ed433) )
5961 	ROM_LOAD32_WORD("epr-18666.13",  0x100000, 0x080000, CRC(66edb432) SHA1(b67131b0158a58138380734dd5b9394b70010026) )
5962 	ROM_LOAD32_WORD("epr-18667.14",  0x100002, 0x080000, CRC(b593d31f) SHA1(1e9f23f4052ab1b0275307cc80e51352f13bc319) )
5963 
5964 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
5965 	ROM_LOAD32_WORD("mpr-18648.11",  0x000000, 0x400000, CRC(2edbe489) SHA1(ded2e4b295be08970d13c387818c570c3afe8109) )
5966 	ROM_LOAD32_WORD("mpr-18649.12",  0x000002, 0x400000, CRC(e68c5aa6) SHA1(cdee1ba9247eda4282442d0522f8de7d7c86e1e6) )
5967 	ROM_LOAD32_WORD("mpr-18650.9",   0x800000, 0x400000, CRC(89a855b9) SHA1(5096db1da1f7e175000e89fca2a1dd3fd53030ea) )
5968 	ROM_LOAD32_WORD("mpr-18651.10",  0x800002, 0x400000, CRC(f4c23107) SHA1(f65984614111b12dd414db80751efe64fcf5ef16) )
5969 
5970 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
5971 	ROM_LOAD32_WORD("mpr-18662.29",  0x000000, 0x200000, CRC(a33d3335) SHA1(991bbe9dcbef8bfa96682e9d142623fc9b7c0879) )
5972 	ROM_LOAD32_WORD("mpr-18663.30",  0x000002, 0x200000, CRC(ea74a641) SHA1(a684e13c0afe2ef3f3108ae9b73389121368fc4e) )
5973 
5974 	ROM_REGION( 0x1000000, "polygons", ROMREGION_ERASEFF ) // Models
5975 	ROM_LOAD32_WORD("mpr-18654.17",  0x000000, 0x400000, CRC(6a0caf29) SHA1(9f009f44e62ae0f9dec7a34a163bc186d1c4cbbd) )
5976 	ROM_LOAD32_WORD("mpr-18655.21",  0x000002, 0x400000, CRC(a4293e78) SHA1(af512c994bedbdaf3a5eeed607e771dcd87810fc) )
5977 	ROM_LOAD32_WORD("mpr-18656.18",  0x800000, 0x400000, CRC(b4f51e76) SHA1(eb71ada331576f2a7219d238ea07a61bcbf6381a) )
5978 	ROM_LOAD32_WORD("mpr-18657.22",  0x800002, 0x400000, CRC(a9be4674) SHA1(a918c2a3de78a08104480097edfb9d6aeaeda873) )
5979 
5980 	ROM_REGION( 0x1000000, "textures", ROMREGION_ERASEFF ) // Textures
5981 	ROM_LOAD32_WORD("mpr-18660.27",  0x000000, 0x200000, CRC(e53663e5) SHA1(0a4908be654bad4f00d7d58f0e42f631996911c9) )
5982 	ROM_LOAD32_WORD("mpr-18658.25",  0x000002, 0x200000, CRC(3d0fcd01) SHA1(c8626c879bfcf7abd095cac5dc03a04ae8629423) )
5983 	ROM_LOAD32_WORD("mpr-18661.28",  0x800000, 0x200000, CRC(52b50410) SHA1(64ea7b2f86745954e0b8a15d71203444705240a2) )
5984 	ROM_LOAD32_WORD("mpr-18659.26",  0x800002, 0x200000, CRC(27aa8ae2) SHA1(e9b756e5b4b1c19e52e47af03c773fee544be420) )
5985 
5986 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
5987 	ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000,  0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a) )
5988 
5989 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
5990 	ROM_LOAD16_WORD_SWAP("epr-18670.31", 0x000000, 0x080000, CRC(3e715f76) SHA1(4fd997e379a8cdb94ec3b1986b3ab443fc6fa12a) )
5991 
5992 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
5993 	ROM_LOAD16_WORD_SWAP("mpr-18652.32", 0x000000, 0x400000, CRC(037eee53) SHA1(e592f9e97abe0a7bc9009d8327b93da9bc43749c))
5994 	ROM_LOAD16_WORD_SWAP("mpr-18653.34", 0x400000, 0x400000, CRC(9ec3e7bf) SHA1(197bc8adc823e93128c1cebf69361a7c7297f808))
5995 ROM_END
5996 
5997 ROM_START( vstriker ) /* Virtua Striker Revision A, Model 2B, ROM board ID# 834-11904 */
5998 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
5999 	ROM_LOAD32_WORD("epr-18068a.15",  0x000000, 0x020000, CRC(afc69b54) SHA1(2127bde1de3cd6663c31cf2126847815234e09a4) )
6000 	ROM_LOAD32_WORD("epr-18069a.16",  0x000002, 0x020000, CRC(0243250c) SHA1(3cbeac09d503a19c5950cf70e3b329f791acfa13) )
6001 	ROM_LOAD32_WORD("epr-18066a.13",  0x040000, 0x020000, CRC(e658b33a) SHA1(33266e6372e73f670688f58e51081ec5a7deec11) )
6002 	ROM_LOAD32_WORD("epr-18067a.14",  0x040002, 0x020000, CRC(49e94047) SHA1(56c8d1a365985886dffeddf24d692ce6b377760a) )
6003 
6004 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6005 	ROM_LOAD32_WORD("mpr-18055.11", 0x000000, 0x200000, CRC(5aba9fc0) SHA1(40d45af7e58fa48b6afa85071c2bd1d4b5b5ffa5) )
6006 	ROM_LOAD32_WORD("mpr-18056.12", 0x000002, 0x200000, CRC(017f0c55) SHA1(744e5a02abd82fbeb875c5cd30c5543570140cff) )
6007 	ROM_LOAD32_WORD("mpr-18053.9",  0x400000, 0x200000, CRC(46c770c8) SHA1(000e9edfed49cc3dcc136f80e044dcd2b42378ce) )
6008 	ROM_LOAD32_WORD("mpr-18054.10", 0x400002, 0x200000, CRC(437af66e) SHA1(c5afa62100a93e160aa96b327a260cc7fee51fdc) )
6009 	ROM_LOAD32_WORD("epr-18070a.7", 0x800000, 0x080000, CRC(1961e2fc) SHA1(12ead9b782e092346b7cd5a7343b302f546fe066) )
6010 	ROM_LOAD32_WORD("epr-18071a.8", 0x800002, 0x080000, CRC(b2492dca) SHA1(3b35522ab8e1fdfa327245fef797e3d7c0cceb85) )
6011 
6012 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
6013 	ROM_LOAD32_WORD("mpr-18057.17", 0x000000, 0x200000, CRC(890d8806) SHA1(fe73e4ea310e13b172e49d39c7eafba8f9052e67) )
6014 	ROM_LOAD32_WORD("mpr-18059.21", 0x000002, 0x200000, CRC(c5cdf534) SHA1(fd127d33bc5a78b81aaa7d5886beca2192a62867) )
6015 	ROM_LOAD32_WORD("mpr-18058.18", 0x400000, 0x200000, CRC(d4cbdf7c) SHA1(fe783c5bc94c2581fd990f0f0a705bdc5c05a386) )
6016 	ROM_LOAD32_WORD("mpr-18060.22", 0x400002, 0x200000, CRC(93d5c95f) SHA1(bca83f024d85c97ca59fae8d9097fc510ec0fc7f) )
6017 
6018 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
6019 	ROM_LOAD32_WORD("mpr-18062.27", 0x000000, 0x200000, CRC(126e7de3) SHA1(0810364934dee8d5035cef623d01dfbacc64bf2b) )
6020 	ROM_LOAD32_WORD("mpr-18061.25", 0x000002, 0x200000, CRC(c37f1c67) SHA1(c917046c2d98af17c59ceb0ea4f89d215cc0ead8) )
6021 
6022 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6023 
6024 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6025 	ROM_LOAD16_WORD_SWAP("epr-18072.31", 0x000000, 0x020000, CRC(73eabb58) SHA1(4f6d70d6e0d7b469c5f2527efb08f208f4aa017e) )
6026 
6027 	ROM_REGION16_BE( 0x600000, "samples", 0 ) // Samples
6028 	ROM_LOAD16_WORD_SWAP("mpr-18063.32", 0x000000, 0x200000, CRC(b74d7c8a) SHA1(da0bc8b3822b01087b6f9de0446cab1eb6617e8e) )
6029 	ROM_LOAD16_WORD_SWAP("mpr-18064.33", 0x200000, 0x200000, CRC(783b9910) SHA1(108b23bb57e3133c555083aa4f9bc573ac6e3152) )
6030 	ROM_LOAD16_WORD_SWAP("mpr-18065.34", 0x400000, 0x200000, CRC(046b55fe) SHA1(2db7eabf4318881a67b10dba24f6f0cd68940ace) )
6031 ROM_END
6032 
6033 ROM_START( vstrikero ) /* Virtua Striker, Model 2B, ROM board ID# 834-11904 */
6034 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6035 	ROM_LOAD32_WORD("epr-18068.15", 0x000000, 0x020000, CRC(74a47795) SHA1(3ba34bd467e11e768eda95ff345f5993fb9d6bca) )
6036 	ROM_LOAD32_WORD("epr-18069.16", 0x000002, 0x020000, CRC(f6c3fcbf) SHA1(84bf16fc2a441cb724f4bc635a4c4209c240cfbf) )
6037 	ROM_LOAD32_WORD("epr-18066.13", 0x040000, 0x020000, CRC(e774229e) SHA1(0ff20aa3e030df869767bb9614565acc9f3fe3b1) )
6038 	ROM_LOAD32_WORD("epr-18067.14", 0x040002, 0x020000, CRC(7dfd950c) SHA1(d5eff8aff37fb0ef3c7f9d8bfca8460213b0f0a7) )
6039 
6040 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6041 	ROM_LOAD32_WORD("mpr-18055.11", 0x000000, 0x200000, CRC(5aba9fc0) SHA1(40d45af7e58fa48b6afa85071c2bd1d4b5b5ffa5) )
6042 	ROM_LOAD32_WORD("mpr-18056.12", 0x000002, 0x200000, CRC(017f0c55) SHA1(744e5a02abd82fbeb875c5cd30c5543570140cff) )
6043 	ROM_LOAD32_WORD("mpr-18053.9",  0x400000, 0x200000, CRC(46c770c8) SHA1(000e9edfed49cc3dcc136f80e044dcd2b42378ce) )
6044 	ROM_LOAD32_WORD("mpr-18054.10", 0x400002, 0x200000, CRC(437af66e) SHA1(c5afa62100a93e160aa96b327a260cc7fee51fdc) )
6045 	ROM_LOAD32_WORD("epr-18070.7",  0x800000, 0x080000, CRC(f52e4db5) SHA1(731452284c45329701258ee9fb8b7df6514fbba1) )
6046 	ROM_LOAD32_WORD("epr-18071.8",  0x800002, 0x080000, CRC(1be63a7d) SHA1(c678f1f42de86cc968c3f823994d36c74b2e55fd) )
6047 
6048 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
6049 	ROM_LOAD32_WORD("mpr-18057.17", 0x000000, 0x200000, CRC(890d8806) SHA1(fe73e4ea310e13b172e49d39c7eafba8f9052e67) )
6050 	ROM_LOAD32_WORD("mpr-18059.21", 0x000002, 0x200000, CRC(c5cdf534) SHA1(fd127d33bc5a78b81aaa7d5886beca2192a62867) )
6051 	ROM_LOAD32_WORD("mpr-18058.18", 0x400000, 0x200000, CRC(d4cbdf7c) SHA1(fe783c5bc94c2581fd990f0f0a705bdc5c05a386) )
6052 	ROM_LOAD32_WORD("mpr-18060.22", 0x400002, 0x200000, CRC(93d5c95f) SHA1(bca83f024d85c97ca59fae8d9097fc510ec0fc7f) )
6053 
6054 	ROM_REGION( 0x400000, "textures", 0 ) // Textures
6055 	ROM_LOAD32_WORD("mpr-18062.27", 0x000000, 0x200000, CRC(126e7de3) SHA1(0810364934dee8d5035cef623d01dfbacc64bf2b) )
6056 	ROM_LOAD32_WORD("mpr-18061.25", 0x000002, 0x200000, CRC(c37f1c67) SHA1(c917046c2d98af17c59ceb0ea4f89d215cc0ead8) )
6057 
6058 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6059 
6060 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6061 	ROM_LOAD16_WORD_SWAP("epr-18072.31", 0x000000, 0x020000, CRC(73eabb58) SHA1(4f6d70d6e0d7b469c5f2527efb08f208f4aa017e) )
6062 
6063 	ROM_REGION16_BE( 0x600000, "samples", 0 ) // Samples
6064 	ROM_LOAD16_WORD_SWAP("mpr-18063.32", 0x000000, 0x200000, CRC(b74d7c8a) SHA1(da0bc8b3822b01087b6f9de0446cab1eb6617e8e) )
6065 	ROM_LOAD16_WORD_SWAP("mpr-18064.33", 0x200000, 0x200000, CRC(783b9910) SHA1(108b23bb57e3133c555083aa4f9bc573ac6e3152) )
6066 	ROM_LOAD16_WORD_SWAP("mpr-18065.34", 0x400000, 0x200000, CRC(046b55fe) SHA1(2db7eabf4318881a67b10dba24f6f0cd68940ace) )
6067 ROM_END
6068 
6069 ROM_START( dynabb ) /* Dynamite Baseball, Model 2B. Sega game ID# 833-12803 DYNAMITE BASEBALL */
6070 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6071 	ROM_LOAD32_WORD("epr-19170.15", 0x000000, 0x080000, CRC(e00eb49e) SHA1(20975d892cf1c9f50605238d6ab41d79ece39f69) )
6072 	ROM_LOAD32_WORD("epr-19171.16", 0x000002, 0x080000, CRC(9878d67d) SHA1(d3350546b7e0e6fe8bb2f9d1a91475655f931b8b) )
6073 	ROM_LOAD32_WORD("epr-19168.13", 0x100000, 0x080000, CRC(041da66b) SHA1(4a58153baf5f0b34e054bf23e519edcf364a9336) )
6074 	ROM_LOAD32_WORD("epr-19169.14", 0x100002, 0x080000, CRC(91a5acef) SHA1(2520a3e4ff15e4d583861ba656570abca5f7c611) )
6075 
6076 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6077 	// IC11, IC12 not populated
6078 	ROM_LOAD32_WORD("mpr-19176.9",  0x0800000, 0x400000, CRC(2c4e90f5) SHA1(8d5ed0b26e79dd6476282bc69cb27b42381635f2) )
6079 	ROM_LOAD32_WORD("mpr-19177.10", 0x0800002, 0x400000, CRC(b0f1e512) SHA1(81e4124ac7766c7ea6bac7e7f4db110783394ae3) )
6080 	ROM_LOAD32_WORD("mpr-19174.7",  0x1000000, 0x400000, CRC(057e5200) SHA1(dd07eb438d91a8132789154a633fb6ec4e2ef0d1) )
6081 	ROM_LOAD32_WORD("mpr-19175.8",  0x1000002, 0x400000, CRC(85254156) SHA1(aae9531980d1b394d86e285c00c7384601875470) )
6082 	ROM_LOAD32_WORD("mpr-19172.5",  0x1800000, 0x400000, CRC(9214aaaf) SHA1(769ad943ca90f0f3cc81f00e7a8cca95c660d266) )
6083 	ROM_LOAD32_WORD("mpr-19173.6",  0x1800002, 0x400000, CRC(31adbeed) SHA1(3984be892f0dce21c8d423dda055ef7e57df4d4e) )
6084 
6085 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6086 	ROM_LOAD32_WORD("mpr-19178.17", 0x0000000, 0x400000, CRC(0d621e21) SHA1(31adc229258a5d468ff80d789c59bd8a6777f900) )
6087 	ROM_LOAD32_WORD("mpr-19180.21", 0x0000002, 0x400000, CRC(d2e311a5) SHA1(83fb31c6ad7c32f1a7bcf870edb2719653c3db97) )
6088 	ROM_LOAD32_WORD("mpr-19179.18", 0x0800000, 0x400000, CRC(337a4ec2) SHA1(77d7d186344715237895ac1ed0ab219fcc340a7e) )
6089 	ROM_LOAD32_WORD("mpr-19181.22", 0x0800002, 0x400000, CRC(09a86c33) SHA1(30601c5b00fa3c9db815f60a0de16576e34b8c42) )
6090 
6091 
6092 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
6093 	ROM_LOAD32_WORD("mpr-19183.27", 0x000000, 0x400000, CRC(5e29074b) SHA1(f4dfa396653aeb649ec170c9584ea1a74377929a) )
6094 	ROM_LOAD32_WORD("mpr-19182.25", 0x000002, 0x400000, CRC(c899923d) SHA1(15cc86c885329227d3c19e9837363eaf6c38829b) )
6095 
6096 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6097 
6098 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6099 	ROM_LOAD16_WORD_SWAP("epr-19184.31", 0x000000, 0x080000, CRC(c013a163) SHA1(c564df8295e3c19082ead0eb22478dc651e0b430) )
6100 
6101 	ROM_REGION16_BE( 0x600000, "samples", 0 ) // Samples
6102 	ROM_LOAD16_WORD_SWAP("mpr-19185.32", 0x000000, 0x200000, CRC(5175b7d8) SHA1(bed43db286703e95cc8025013b2d129598faab3c) )
6103 	ROM_LOAD16_WORD_SWAP("mpr-19186.33", 0x200000, 0x200000, CRC(f23440b5) SHA1(9bb862d61ed079cb3eb0bd7a37b19c6134859b99) )
6104 	ROM_LOAD16_WORD_SWAP("mpr-19187.34", 0x400000, 0x200000, CRC(20918769) SHA1(90951bd61654d39537c54325b6e157a019edcda8) )
6105 ROM_END
6106 
6107 ROM_START( dynabb97 ) /* Dynamite Baseball 97 Revision A, Model 2B */
6108 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6109 	ROM_LOAD32_WORD("epr-19833a.15", 0x000000, 0x080000, CRC(d99ed1b2) SHA1(b04613d564c04c35feafccad56ed85810d894185) )
6110 	ROM_LOAD32_WORD("epr-19834a.16", 0x000002, 0x080000, CRC(24192bb1) SHA1(c535ab4b38ffd42f03eed6a5a1706e867eaccd67) )
6111 	ROM_LOAD32_WORD("epr-19831a.13", 0x100000, 0x080000, CRC(0527ea40) SHA1(8e80e2627aafe395d8ced4a97ba50cd9a781fb45) )
6112 	ROM_LOAD32_WORD("epr-19832a.14", 0x100002, 0x080000, CRC(2f380a40) SHA1(d770dfd70aa14dcc716aa47e6cbf26f32649f294) )
6113 
6114 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6115 	ROM_LOAD32_WORD("mpr-19841.11", 0x0000000, 0x400000, CRC(989309af) SHA1(d527f46865d00a91d5b38a93dc38baf62f372cb1) )
6116 	ROM_LOAD32_WORD("mpr-19842.12", 0x0000002, 0x400000, CRC(eec54070) SHA1(29ed4a005b52f6e16492998183ec4e5f7475022b) )
6117 	ROM_LOAD32_WORD("mpr-19839.9",  0x0800000, 0x400000, CRC(d5a74cf4) SHA1(ddea9cfc0a14461448acae2eed2092829ef3b418) )
6118 	ROM_LOAD32_WORD("mpr-19840.10", 0x0800002, 0x400000, CRC(45704e95) SHA1(2a325ee39f9d719399040ed2a41123bcf0c6f385) )
6119 	ROM_LOAD32_WORD("mpr-19837.7",  0x1000000, 0x400000, CRC(c02187d9) SHA1(1da108a2ec00e3fc472b1a819655aff8c679051d) )
6120 	ROM_LOAD32_WORD("mpr-19838.8",  0x1000002, 0x400000, CRC(546b61cd) SHA1(0cc0edd0a9c288143168d63a7d48d0fbfa64d8bf) )
6121 	ROM_LOAD32_WORD("mpr-19835.5",  0x1800000, 0x400000, CRC(a3b0a37c) SHA1(dcde1946008ab86c7fca212ec57c1cc468f30c58) )
6122 	ROM_LOAD32_WORD("mpr-19836.6",  0x1800002, 0x400000, CRC(d70a32aa) SHA1(fd56bb284eb66e6c078b386a0db1c2b10dc1dd4a) )
6123 
6124 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6125 	ROM_LOAD32_WORD("mpr-19843.17", 0x000000, 0x400000, CRC(019bc583) SHA1(8889a9438d8f3ea50058372ad03ebd4653f23313) )
6126 	ROM_LOAD32_WORD("mpr-19845.21", 0x000002, 0x400000, CRC(2d23e73a) SHA1(63e5859518172f88a5ba98b69309d4162c233cf0) )
6127 	ROM_LOAD32_WORD("mpr-19844.18", 0x800000, 0x400000, CRC(150198d6) SHA1(3ea5c3e41eb95e715860619f771bc580c91b095f) )
6128 	ROM_LOAD32_WORD("mpr-19846.22", 0x800002, 0x400000, CRC(fe53cd17) SHA1(58eab07976972917c345a8d3a50ff1e96e5fa798) )
6129 
6130 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
6131 	ROM_LOAD32_WORD("mpr-19848.27", 0x000000, 0x400000, CRC(4c0526b7) SHA1(e8db7125be8a052e41a00c69cc08ca0d75b3b96f) )
6132 	ROM_LOAD32_WORD("mpr-19847.25", 0x000002, 0x400000, CRC(fe55edbd) SHA1(b0b6135b23349d7d6ae007002d8df83748cab7b1) )
6133 
6134 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6135 
6136 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6137 	ROM_LOAD16_WORD_SWAP("epr-19849.31", 0x000000, 0x080000, CRC(b0d5bff0) SHA1(1fb824adaf3ed330a8039be726a87eb85c00abd7) )
6138 
6139 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
6140 	ROM_LOAD16_WORD_SWAP("mpr-19850.32", 0x000000, 0x200000, CRC(e1fd27bf) SHA1(a7189ad398138a91f96b192cb7c112c0301dcda4) )
6141 	ROM_LOAD16_WORD_SWAP("mpr-19851.33", 0x200000, 0x200000, CRC(dc644077) SHA1(8765bdb1d471dbeea065a97ae131f2d8f78aa13d) )
6142 	ROM_LOAD16_WORD_SWAP("mpr-19852.34", 0x400000, 0x200000, CRC(cfda4efd) SHA1(14d55f127da6673c538c2ef9be34a4e02ca449f3) )
6143 	ROM_LOAD16_WORD_SWAP("mpr-19853.35", 0x600000, 0x200000, CRC(cfc64857) SHA1(cf51fafb3d45bf799b9ccb407bee862e15c95981) )
6144 ROM_END
6145 
6146 ROM_START( fvipers ) /* Fighting Vipers Revision D, Model 2B, Sega Game ID# 833-12359 REV.D FIGHTING VIPERS, ROM board ID# 834-12360 */
6147 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6148 	ROM_LOAD32_WORD("epr-18606d.15", 0x000000, 0x020000, CRC(7334de7d) SHA1(d10355198a3f62b503701f44dc49bfe018c787d1) )
6149 	ROM_LOAD32_WORD("epr-18607d.16", 0x000002, 0x020000, CRC(700d2ade) SHA1(656e25a6389f04f7fb9099f0b41fb03fa645a2f0) )
6150 	ROM_LOAD32_WORD("epr-18604d.13", 0x040000, 0x020000, CRC(704fdfcf) SHA1(52b6ae90231d40a3ece133debaeb210fc36c6fcb) )
6151 	ROM_LOAD32_WORD("epr-18605d.14", 0x040002, 0x020000, CRC(7dddf81f) SHA1(3e0da0eaf1f98dbbd4ca5f78c04052b347b234b2) )
6152 
6153 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6154 	ROM_LOAD32_WORD("mpr-18614.11",    0x0000000, 0x400000, CRC(0ebc899f) SHA1(49c80b11b207cba4ec10fbb7cc140f3a5b039e82) )
6155 	ROM_LOAD32_WORD("mpr-18615.12",    0x0000002, 0x400000, CRC(018abdb7) SHA1(59e5b6378404e10ace4f3675428d61d3ae9d1963) )
6156 	ROM_LOAD32_WORD("mpr-18612.9",     0x0800000, 0x400000, CRC(1f174cd1) SHA1(89b56dd2f350edd093dc06f4cc258652c26b1d45) )
6157 	ROM_LOAD32_WORD("mpr-18613.10",    0x0800002, 0x400000, CRC(f057cdf2) SHA1(e16d5de2a00670aba4fbe0dc88ccf317de9842be) )
6158 	ROM_LOAD32_WORD("epr-18610d.7",    0x1000000, 0x080000, CRC(a1871703) SHA1(8d7b362a8fd9d63f5cea2f3fab97e5fe3fa30d87) )
6159 	ROM_LOAD32_WORD("epr-18611d.8",    0x1000002, 0x080000, CRC(39a75fee) SHA1(c962805f03e2503dd1671ba3e906c6e306a92e48) )
6160 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
6161 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
6162 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
6163 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
6164 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
6165 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
6166 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
6167 	ROM_LOAD32_WORD("epr-18608d.5",    0x1800000, 0x080000, CRC(5bc11881) SHA1(97ce5faf9719cb02dd3a15d47245cc4634f08fcb) )
6168 	ROM_LOAD32_WORD("epr-18609d.6",    0x1800002, 0x080000, CRC(cd426035) SHA1(94c85a656c86bc4880db6bff2ef795ec30f62f39) )
6169 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 )
6170 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
6171 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
6172 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
6173 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
6174 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
6175 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
6176 
6177 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
6178 	ROM_LOAD32_WORD("mpr-18622.29", 0x000000, 0x200000, CRC(c74d99e3) SHA1(9914be9925b86af6af670745b5eba3a9e4f24af9) )
6179 	ROM_LOAD32_WORD("mpr-18623.30", 0x000002, 0x200000, CRC(746ae931) SHA1(a6f0f589ad174a34493ee24dc0cb509ead3aed70) )
6180 
6181 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6182 	ROM_LOAD32_WORD("mpr-18616.17", 0x000000, 0x200000, CRC(15a239be) SHA1(1a33c48f99eed20da4b622219d21ec5995acc9aa) )
6183 	ROM_LOAD32_WORD("mpr-18619.21", 0x000002, 0x200000, CRC(9d5e8e2b) SHA1(f79ae0a7b966ddb0948b464d233845d4f362a2e7) )
6184 	ROM_LOAD32_WORD("mpr-18617.18", 0x400000, 0x200000, CRC(a62cab7d) SHA1(f20a545148f2a1d6f4f1c897f1ed82ad17429dce) )
6185 	ROM_LOAD32_WORD("mpr-18620.22", 0x400002, 0x200000, CRC(4d432afd) SHA1(30a1ef1e309a163b2d8756810fc33debf069141c) )
6186 	ROM_LOAD32_WORD("mpr-18618.19", 0x800000, 0x200000, CRC(adab589f) SHA1(67818ec4185da17f1549fb3a125cade267a46a48) )
6187 	ROM_LOAD32_WORD("mpr-18621.23", 0x800002, 0x200000, CRC(f5eeaa95) SHA1(38d7019afcef6dbe292354d717fd49da511cbc2b) )
6188 
6189 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6190 	ROM_LOAD32_WORD("mpr-18626.27", 0x000000, 0x200000, CRC(9df0a961) SHA1(d8fb4bbbdc00303330047be380a79da7838d4fd5) )
6191 	ROM_LOAD32_WORD("mpr-18624.25", 0x000002, 0x200000, CRC(1d74433e) SHA1(5b6d2d17609ae741546d99d40f575bb24d62b5d3) )
6192 	ROM_LOAD32_WORD("mpr-18627.28", 0x800000, 0x200000, CRC(946175a0) SHA1(8b6e5e1342f98c9c6f2f7d61e843275d244f331a) )
6193 	ROM_LOAD32_WORD("mpr-18625.26", 0x800002, 0x200000, CRC(182fd572) SHA1(b09a682eff7e835ff8c33aaece12f3727a91dd5e) )
6194 
6195 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6196 	ROM_LOAD16_WORD_SWAP("epr-18628.31", 0x000000, 0x080000, CRC(aa7dd79f) SHA1(d8bd1485273652d7c2a303bbdcdf607d3b530283) )
6197 
6198 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
6199 	ROM_LOAD16_WORD_SWAP("mpr-18629.32", 0x000000, 0x200000, CRC(5d0006cc) SHA1(f6d2552ffc5473836aafb06735b62f65ef8f5ef5) )
6200 	ROM_LOAD16_WORD_SWAP("mpr-18630.33", 0x200000, 0x200000, CRC(9d405615) SHA1(7e7ffbb4ec080a0815c6ca49b9d8efe1f676203b) )
6201 	ROM_LOAD16_WORD_SWAP("mpr-18631.34", 0x400000, 0x200000, CRC(9dae5b45) SHA1(055ac989eafb81749326520d0be264f7a984c627) )
6202 	ROM_LOAD16_WORD_SWAP("mpr-18632.35", 0x600000, 0x200000, CRC(39da6805) SHA1(9e9523b7c2bc50f869d062f80955da1281951299) )
6203 ROM_END
6204 
6205 ROM_START( fvipersb ) /* Fighting Vipers Revision B, Model 2B, Sega Game ID# 833-12359 FIGHTING VIPERS, ROM board ID# 834-12360 */
6206 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6207 	ROM_LOAD32_WORD("epr-18606b.15", 0x000000, 0x020000, CRC(3b6d1697) SHA1(569ea2ed5c3431207854d260c8ed5266d8d39595) )
6208 	ROM_LOAD32_WORD("epr-18607b.16", 0x000002, 0x020000, CRC(2e6c2d91) SHA1(226ea4cca475f708e42591b57eb0a996c214ab29) )
6209 	ROM_LOAD32_WORD("epr-18604b.13", 0x040000, 0x020000, CRC(e4af1048) SHA1(c682354c01a50b5e62a4f1b79fd7dfb5314a020a) )
6210 	ROM_LOAD32_WORD("epr-18605b.14", 0x040002, 0x020000, CRC(78a6668f) SHA1(f73cb61aaa3fd4092d335676b64e8f08141a0223) )
6211 
6212 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6213 	ROM_LOAD32_WORD("mpr-18614.11",    0x0000000, 0x400000, CRC(0ebc899f) SHA1(49c80b11b207cba4ec10fbb7cc140f3a5b039e82) )
6214 	ROM_LOAD32_WORD("mpr-18615.12",    0x0000002, 0x400000, CRC(018abdb7) SHA1(59e5b6378404e10ace4f3675428d61d3ae9d1963) )
6215 	ROM_LOAD32_WORD("mpr-18612.9",     0x0800000, 0x400000, CRC(1f174cd1) SHA1(89b56dd2f350edd093dc06f4cc258652c26b1d45) )
6216 	ROM_LOAD32_WORD("mpr-18613.10",    0x0800002, 0x400000, CRC(f057cdf2) SHA1(e16d5de2a00670aba4fbe0dc88ccf317de9842be) )
6217 	ROM_LOAD32_WORD("epr-18610b.7",    0x1000000, 0x080000, CRC(5f227d7c) SHA1(89091b3a23d6557fb65add2fd7f6b7fb58fb1db5) )
6218 	ROM_LOAD32_WORD("epr-18611b.8",    0x1000002, 0x080000, CRC(39a75fee) SHA1(c962805f03e2503dd1671ba3e906c6e306a92e48) )
6219 	ROM_COPY( "main_data", 0x1000000, 0x1100000, 0x100000 )
6220 	ROM_COPY( "main_data", 0x1000000, 0x1200000, 0x100000 )
6221 	ROM_COPY( "main_data", 0x1000000, 0x1300000, 0x100000 )
6222 	ROM_COPY( "main_data", 0x1000000, 0x1400000, 0x100000 )
6223 	ROM_COPY( "main_data", 0x1000000, 0x1500000, 0x100000 )
6224 	ROM_COPY( "main_data", 0x1000000, 0x1600000, 0x100000 )
6225 	ROM_COPY( "main_data", 0x1000000, 0x1700000, 0x100000 )
6226 	ROM_LOAD32_WORD("epr-18608b.5",    0x1800000, 0x080000, CRC(7df5082f) SHA1(04dd08c115bbf045610fd58f6a2c911425921c6d) )
6227 	ROM_LOAD32_WORD("epr-18609b.6",    0x1800002, 0x080000, CRC(e771fec9) SHA1(2e996f27730780d38b4446ed70864645f7f9386f) )
6228 	ROM_COPY( "main_data", 0x1800000, 0x1900000, 0x100000 )
6229 	ROM_COPY( "main_data", 0x1800000, 0x1a00000, 0x100000 )
6230 	ROM_COPY( "main_data", 0x1800000, 0x1b00000, 0x100000 )
6231 	ROM_COPY( "main_data", 0x1800000, 0x1c00000, 0x100000 )
6232 	ROM_COPY( "main_data", 0x1800000, 0x1d00000, 0x100000 )
6233 	ROM_COPY( "main_data", 0x1800000, 0x1e00000, 0x100000 )
6234 	ROM_COPY( "main_data", 0x1800000, 0x1f00000, 0x100000 )
6235 
6236 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc)
6237 	ROM_LOAD32_WORD("mpr-18622.29", 0x000000, 0x200000, CRC(c74d99e3) SHA1(9914be9925b86af6af670745b5eba3a9e4f24af9) )
6238 	ROM_LOAD32_WORD("mpr-18623.30", 0x000002, 0x200000, CRC(746ae931) SHA1(a6f0f589ad174a34493ee24dc0cb509ead3aed70) )
6239 
6240 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6241 	ROM_LOAD32_WORD("mpr-18616.17", 0x000000, 0x200000, CRC(15a239be) SHA1(1a33c48f99eed20da4b622219d21ec5995acc9aa) )
6242 	ROM_LOAD32_WORD("mpr-18619.21", 0x000002, 0x200000, CRC(9d5e8e2b) SHA1(f79ae0a7b966ddb0948b464d233845d4f362a2e7) )
6243 	ROM_LOAD32_WORD("mpr-18617.18", 0x400000, 0x200000, CRC(a62cab7d) SHA1(f20a545148f2a1d6f4f1c897f1ed82ad17429dce) )
6244 	ROM_LOAD32_WORD("mpr-18620.22", 0x400002, 0x200000, CRC(4d432afd) SHA1(30a1ef1e309a163b2d8756810fc33debf069141c) )
6245 	ROM_LOAD32_WORD("mpr-18618.19", 0x800000, 0x200000, CRC(adab589f) SHA1(67818ec4185da17f1549fb3a125cade267a46a48) )
6246 	ROM_LOAD32_WORD("mpr-18621.23", 0x800002, 0x200000, CRC(f5eeaa95) SHA1(38d7019afcef6dbe292354d717fd49da511cbc2b) )
6247 
6248 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6249 	ROM_LOAD32_WORD("mpr-18626.27", 0x000000, 0x200000, CRC(9df0a961) SHA1(d8fb4bbbdc00303330047be380a79da7838d4fd5) )
6250 	ROM_LOAD32_WORD("mpr-18624.25", 0x000002, 0x200000, CRC(1d74433e) SHA1(5b6d2d17609ae741546d99d40f575bb24d62b5d3) )
6251 	ROM_LOAD32_WORD("mpr-18627.28", 0x800000, 0x200000, CRC(946175a0) SHA1(8b6e5e1342f98c9c6f2f7d61e843275d244f331a) )
6252 	ROM_LOAD32_WORD("mpr-18625.26", 0x800002, 0x200000, CRC(182fd572) SHA1(b09a682eff7e835ff8c33aaece12f3727a91dd5e) )
6253 
6254 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6255 	ROM_LOAD16_WORD_SWAP("epr-18628.31", 0x000000, 0x080000, CRC(aa7dd79f) SHA1(d8bd1485273652d7c2a303bbdcdf607d3b530283) )
6256 
6257 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
6258 	ROM_LOAD16_WORD_SWAP("mpr-18629.32", 0x000000, 0x200000, CRC(5d0006cc) SHA1(f6d2552ffc5473836aafb06735b62f65ef8f5ef5) )
6259 	ROM_LOAD16_WORD_SWAP("mpr-18630.33", 0x200000, 0x200000, CRC(9d405615) SHA1(7e7ffbb4ec080a0815c6ca49b9d8efe1f676203b) )
6260 	ROM_LOAD16_WORD_SWAP("mpr-18631.34", 0x400000, 0x200000, CRC(9dae5b45) SHA1(055ac989eafb81749326520d0be264f7a984c627) )
6261 	ROM_LOAD16_WORD_SWAP("mpr-18632.35", 0x600000, 0x200000, CRC(39da6805) SHA1(9e9523b7c2bc50f869d062f80955da1281951299) )
6262 ROM_END
6263 
6264 ROM_START( daytona ) /* Daytona USA (Japan, Revision A), Original Model 2 w/Model 1 sound board */
6265 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6266 	ROM_LOAD32_WORD("epr-16722a.12", 0x000000, 0x020000, CRC(48b94318) SHA1(a476a9a3531beef760c88c9634ed4a7d270e8ee7) )
6267 	ROM_LOAD32_WORD("epr-16723a.13", 0x000002, 0x020000, CRC(8af8b32d) SHA1(2039ec1f8da524176fcf85473c10a8b6e49e139a) )
6268 
6269 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6270 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6271 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6272 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6273 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6274 	ROM_LOAD32_WORD("epr-16724a.6",   0x800000, 0x080000, CRC(469f10fd) SHA1(7fad3b8d03960e5e1f7a6cb36509238977e00fcc) )
6275 	ROM_LOAD32_WORD("epr-16725a.7",   0x800002, 0x080000, CRC(ba0df8db) SHA1(d0c5581c56500b5266cab8e8151db24fcbdea0d7) )
6276 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6277 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6278 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6279 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6280 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6281 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6282 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6283 
6284 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6285 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6286 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6287 
6288 	ROM_REGION32_LE( 0x1000000, "polygons", 0 ) // Models
6289 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6290 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6291 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6292 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6293 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6294 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6295 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6296 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6297 
6298 	ROM_REGION16_LE( 0x1000000, "textures", 0 ) // Textures
6299 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6300 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6301 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6302 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6303 
6304 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6305 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6306 
6307 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6308 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6309 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6310 
6311 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6312 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6313 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6314 
6315 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6316 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6317 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6318 
6319 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6320 
6321 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6322 	ROM_DEFAULT_BIOS("16488a")
6323 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6324 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) )
6325 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6326 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) )
6327 ROM_END
6328 
6329 ROM_START( daytonase ) /* Daytona USA (Japan, Revision A), Original Model 2 w/Model 1 sound board */
6330 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6331 	ROM_LOAD32_WORD("epr-17369a.12", 0x000000, 0x020000, CRC(3bc6ca62) SHA1(16e9fd25670ce4eda378df402066e3d9652210b1) )
6332 	ROM_LOAD32_WORD("epr-17370a.13", 0x000002, 0x020000, CRC(5d1c74e4) SHA1(26eff5a07f6906e1ad20cd264ce6e25a9068ea2b) )
6333 
6334 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6335 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6336 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6337 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6338 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6339 	ROM_LOAD32_WORD("epr-17371.6",    0x800000, 0x080000, CRC(7478f0d2) SHA1(412d4db62436746da8d0d55ccf2016d14c05153c) )
6340 	ROM_LOAD32_WORD("epr-17372.7",    0x800002, 0x080000, CRC(308a06a9) SHA1(0c7502c2fe5a64db7e6020457b9f8e47f2c9af0e) )
6341 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6342 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6343 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6344 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6345 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6346 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6347 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6348 
6349 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6350 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6351 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6352 
6353 	ROM_REGION32_LE( 0x1000000, "polygons", 0 ) // Models
6354 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6355 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6356 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6357 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6358 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6359 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6360 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6361 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6362 
6363 	ROM_REGION16_LE( 0x1000000, "textures", 0 ) // Textures
6364 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6365 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6366 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6367 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6368 
6369 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6370 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6371 
6372 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6373 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6374 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6375 
6376 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6377 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6378 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6379 
6380 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6381 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6382 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6383 
6384 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6385 
6386 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6387 	ROM_DEFAULT_BIOS("16488a")
6388 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6389 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) )
6390 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6391 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) )
6392 ROM_END
6393 
6394 ROM_START( daytona93 ) /* Daytona USA, Deluxe cabinet, '93 version, ROM board ID# 834-10536-01 - There is said to be a Deluxe '94 edition */
6395 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6396 	ROM_LOAD32_WORD("epr-16530a.12", 0x000000, 0x020000, CRC(39e962b5) SHA1(b98a1faabb4f1eff707a94c32224c7820f259874) )
6397 	ROM_LOAD32_WORD("epr-16531a.13", 0x000002, 0x020000, CRC(693126eb) SHA1(779734ba536db67e14760d52e8d8d7db07816481) )
6398 
6399 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6400 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6401 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6402 	ROM_LOAD32_WORD("mpr-16526.8",    0x400000, 0x200000, CRC(5273b8b5) SHA1(f505910394d41a9ffecfdea7b45ef25b21469b7a) )
6403 	ROM_LOAD32_WORD("mpr-16527.9",    0x400002, 0x200000, CRC(fc4cb0ef) SHA1(1bf3aec88ef9fb40bde054f5f0b884bf715cbcc8) )
6404 	ROM_LOAD32_WORD("epr-16534a.6",   0x800000, 0x100000, CRC(1bb0d72d) SHA1(814004e3426b5638e9c8b226594f4f2a9138ffed) )
6405 	ROM_LOAD32_WORD("epr-16535a.7",   0x800002, 0x100000, CRC(459a8bfb) SHA1(607bc0f6c478c3d83ce81f34b7f69997361f906f) )
6406 	ROM_COPY( "main_data", 0x900000, 0xa00000, 0x100000 )
6407 	ROM_COPY( "main_data", 0x900000, 0xb00000, 0x100000 )
6408 	ROM_COPY( "main_data", 0x900000, 0xc00000, 0x100000 )
6409 	ROM_COPY( "main_data", 0x900000, 0xd00000, 0x100000 )
6410 	ROM_COPY( "main_data", 0x900000, 0xe00000, 0x100000 )
6411 	ROM_COPY( "main_data", 0x900000, 0xf00000, 0x100000 )
6412 
6413 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6414 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6415 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6416 
6417 	ROM_REGION32_LE( 0x1000000, "polygons", 0 ) // Models
6418 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6419 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6420 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6421 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6422 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6423 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6424 	ROM_LOAD32_WORD("epr-16646.ic19", 0xc00000, 0x080000, CRC(7ba9fd6b) SHA1(6bcae009e8264bf038fe5d4bc436ec4fc1674831) )
6425 	ROM_LOAD32_WORD("epr-16645.ic23", 0xc00002, 0x080000, CRC(78fe0b8a) SHA1(488fd6c0246752b7d9c25d7ba6cdc5b3911d1836) )
6426 
6427 	ROM_REGION16_LE( 0x1000000, "textures", 0 ) // Textures
6428 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6429 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6430 	ROM_LOAD32_WORD("mpr-16517.27", 0x800000, 0x200000, CRC(4705d3dd) SHA1(99be9c5d9d99f7016199ffa8404fc471d09e360d) )
6431 	ROM_LOAD32_WORD("mpr-16516.26", 0x800002, 0x200000, CRC(a260d45d) SHA1(a2ed7c586dfcb7980190b7057fa5366239035fe8) )
6432 
6433 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6434 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6435 
6436 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6437 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6438 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6439 
6440 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6441 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6442 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6443 
6444 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6445 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6446 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6447 
6448 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6449 
6450 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6451 	ROM_DEFAULT_BIOS("16488a")
6452 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6453 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, BAD_DUMP CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) ) // unconfirmed
6454 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6455 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, BAD_DUMP CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) ) // unconfirmed
6456 ROM_END
6457 
6458 ROM_START( daytonas ) /* Daytona USA (With Saturn Adverts) */
6459 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6460 	ROM_LOAD32_WORD("epr-17965.ic12", 0x000000, 0x020000, CRC(f022b3da) SHA1(3c337d12f4e12141b412a7289df46f44c66964b2) )
6461 	ROM_LOAD32_WORD("epr-17966.ic13", 0x000002, 0x020000, CRC(f9e4ece5) SHA1(2df03455a00ae7066c30bace5c2b81581529e6f4) )
6462 
6463 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6464 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6465 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6466 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6467 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6468 	ROM_LOAD32_WORD("epr-17967.ic6",  0x800000, 0x080000, CRC(a94d8690) SHA1(a716646be6be0b87a550cb88b40e62a5c203ffdf) )
6469 	ROM_LOAD32_WORD("epr-17968.ic7",  0x800002, 0x080000, CRC(9d5a92c6) SHA1(9eb43314f3dc6acbbe0aa991d7a5fa44afe9cdd0) )
6470 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6471 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6472 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6473 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6474 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6475 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6476 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6477 
6478 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6479 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6480 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6481 
6482 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6483 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6484 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6485 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6486 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6487 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6488 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6489 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6490 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6491 
6492 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6493 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6494 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6495 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6496 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6497 
6498 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6499 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6500 
6501 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6502 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6503 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6504 
6505 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6506 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6507 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6508 
6509 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6510 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6511 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6512 
6513 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6514 
6515 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6516 	ROM_DEFAULT_BIOS("16488a")
6517 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6518 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, BAD_DUMP CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) ) // unconfirmed
6519 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6520 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, BAD_DUMP CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) ) // unconfirmed
6521 ROM_END
6522 
6523 ROM_START( daytonat )/* Daytona USA (Japan, Turbo hack) */
6524 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6525 //  ROM_LOAD32_WORD( "turbo1.12", 0x000000, 0x080000, CRC(0b3d5d4e) SHA1(1660959cb383e22f0d6204547c30cf5fe9272b03) ) /* 4x overdump?, 0x20000 bytes repeat 4 times */
6526 //  ROM_LOAD32_WORD( "turbo2.13", 0x000002, 0x080000, CRC(f7d4e866) SHA1(c8c43904257f718665f9f7a89838eba14bde9465) ) /* 4x overdump?, 0x20000 bytes repeat 4 times */
6527 	ROM_LOAD32_WORD( "turbo1.12", 0x000000, 0x020000, CRC(4b41a341) SHA1(daa75f38a11eb16b04550edf53e11f0eaf55cd3e) )
6528 	ROM_LOAD32_WORD( "turbo2.13", 0x000002, 0x020000, CRC(6ca580fa) SHA1(102ad6bf5fed4c9c407a9e82d85cff9f15db31c8) )
6529 
6530 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6531 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6532 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6533 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6534 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6535 	ROM_LOAD32_WORD("epr-16724a.6",   0x800000, 0x080000, CRC(469f10fd) SHA1(7fad3b8d03960e5e1f7a6cb36509238977e00fcc) )
6536 	ROM_LOAD32_WORD("epr-16725a.7",   0x800002, 0x080000, CRC(ba0df8db) SHA1(d0c5581c56500b5266cab8e8151db24fcbdea0d7) )
6537 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6538 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6539 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6540 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6541 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6542 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6543 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6544 
6545 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6546 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6547 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6548 
6549 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6550 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6551 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6552 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6553 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6554 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6555 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6556 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6557 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6558 
6559 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6560 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6561 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6562 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6563 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6564 
6565 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6566 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6567 
6568 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6569 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6570 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6571 
6572 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6573 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6574 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6575 
6576 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6577 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6578 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6579 
6580 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6581 
6582 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6583 	ROM_DEFAULT_BIOS("16488a")
6584 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6585 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) )
6586 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6587 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) )
6588 ROM_END
6589 
6590 ROM_START( daytonata )/* Daytona USA (Japan, Turbo hack) */
6591 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6592 	ROM_LOAD32_WORD( "dayturbo.12", 0x000000, 0x020000, CRC(aec6857a) SHA1(e29261de4344c99d82c9e494467605593cc776d8) )
6593 	ROM_LOAD32_WORD( "dayturbo.13", 0x000002, 0x020000, CRC(cb657edc) SHA1(90b8f673a4ef88e7c1f6012b80823d3e756f9743) )
6594 
6595 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6596 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6597 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6598 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6599 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6600 	ROM_LOAD32_WORD("epr-16724a.6",   0x800000, 0x080000, CRC(469f10fd) SHA1(7fad3b8d03960e5e1f7a6cb36509238977e00fcc) )
6601 	ROM_LOAD32_WORD("epr-16725a.7",   0x800002, 0x080000, CRC(ba0df8db) SHA1(d0c5581c56500b5266cab8e8151db24fcbdea0d7) )
6602 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6603 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6604 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6605 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6606 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6607 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6608 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6609 
6610 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6611 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6612 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6613 
6614 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6615 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6616 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6617 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6618 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6619 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6620 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6621 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6622 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6623 
6624 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6625 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6626 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6627 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6628 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6629 
6630 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6631 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6632 
6633 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6634 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6635 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6636 
6637 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6638 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6639 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6640 
6641 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6642 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6643 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6644 
6645 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6646 
6647 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6648 	ROM_DEFAULT_BIOS("16488a")
6649 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6650 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) )
6651 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6652 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) )
6653 ROM_END
6654 
6655 /*
6656 Daytona "To The MAXX" upgrade.
6657 Unofficial Sega hack for Model 2 Daytona machines
6658 
6659 Kits contains 4 IC's
6660 3 of them are standard 27C1024 EPROMS
6661 1 of them is a PIC 16F84 mounted to a small board the size of an EPROM
6662 with a 40 pin socket mounted on it, which plugs into position IC15
6663 */
6664 
6665 ROM_START( daytonam ) /* Daytona USA (Japan, To The MAXX) */
6666 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6667 	ROM_LOAD32_WORD( "maxx.12", 0x000000, 0x020000, CRC(604ef2d9) SHA1(b1d5f0d41bea2e74fb9346da35a5041f4464265e) )
6668 	ROM_LOAD32_WORD( "maxx.13", 0x000002, 0x020000, CRC(7d319970) SHA1(5bc150a77f20a29f54acdf5043fb1e8e55f6b08b) )
6669 	ROM_LOAD32_WORD( "maxx.14", 0x040000, 0x020000, CRC(2debfce0) SHA1(b0f578ae68d49a3eebaf9b453a1ad774c8620476) )
6670 
6671 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6672 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6673 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6674 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6675 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6676 	ROM_LOAD32_WORD("epr-16724a.6",   0x800000, 0x080000, CRC(469f10fd) SHA1(7fad3b8d03960e5e1f7a6cb36509238977e00fcc) )
6677 	ROM_LOAD32_WORD("epr-16725a.7",   0x800002, 0x080000, CRC(ba0df8db) SHA1(d0c5581c56500b5266cab8e8151db24fcbdea0d7) )
6678 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6679 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6680 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6681 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6682 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6683 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6684 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6685 
6686 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6687 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6688 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6689 
6690 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6691 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6692 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6693 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6694 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6695 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6696 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6697 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6698 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6699 
6700 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6701 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6702 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6703 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6704 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6705 
6706 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6707 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6708 
6709 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6710 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6711 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6712 
6713 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6714 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6715 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6716 
6717 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6718 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6719 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6720 
6721 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6722 
6723 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6724 	ROM_DEFAULT_BIOS("16488a")
6725 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6726 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) )
6727 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6728 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) )
6729 
6730 	ROM_REGION( 0x10000, "pic", 0)
6731 	ROM_LOAD("pic.bin", 0x00000, 0x10000, NO_DUMP )
6732 ROM_END
6733 
6734 ROM_START( daytonagtx )
6735 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6736 	ROM_LOAD32_WORD( "gtx.12", 0x000000, 0x020000, CRC(08283a6f) SHA1(643110a3ea5fb6092c469b6b49a396084e985a7a) )
6737 	ROM_LOAD32_WORD( "gtx.13", 0x000002, 0x020000, CRC(f9b356ae) SHA1(ad635540d64e05c7246c9de6439a4e3b3d1cdf08) )
6738 
6739 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6740 	ROM_LOAD32_WORD("mpr-16528.10",   0x000000, 0x200000, CRC(9ce591f6) SHA1(e22fc8a70b533f7a6191f5952c581fb8f9627906) )
6741 	ROM_LOAD32_WORD("mpr-16529.11",   0x000002, 0x200000, CRC(f7095eaf) SHA1(da3c922f950dd730ea348eae12aa1cb69cee9a58) )
6742 	ROM_LOAD32_WORD("mpr-16808.8",    0x400000, 0x200000, CRC(44f1f5a0) SHA1(343866a6e2187a8ebc17f6727080f9f2f9ac9200) )
6743 	ROM_LOAD32_WORD("mpr-16809.9",    0x400002, 0x200000, CRC(37a2dd12) SHA1(8192d8698d6bd52ee11cc28917aff5840c447627) )
6744 	ROM_LOAD32_WORD("epr-16724a.6",   0x800000, 0x080000, CRC(469f10fd) SHA1(7fad3b8d03960e5e1f7a6cb36509238977e00fcc) )
6745 	ROM_LOAD32_WORD("epr-16725a.7",   0x800002, 0x080000, CRC(ba0df8db) SHA1(d0c5581c56500b5266cab8e8151db24fcbdea0d7) )
6746 	ROM_COPY( "main_data", 0x800000, 0x900000, 0x100000 )
6747 	ROM_COPY( "main_data", 0x800000, 0xa00000, 0x100000 )
6748 	ROM_COPY( "main_data", 0x800000, 0xb00000, 0x100000 )
6749 	ROM_COPY( "main_data", 0x800000, 0xc00000, 0x100000 )
6750 	ROM_COPY( "main_data", 0x800000, 0xd00000, 0x100000 )
6751 	ROM_COPY( "main_data", 0x800000, 0xe00000, 0x100000 )
6752 	ROM_COPY( "main_data", 0x800000, 0xf00000, 0x100000 )
6753 
6754 	ROM_REGION32_LE( 0x300000, "prot_data", ROMREGION_ERASEFF ) // banked data
6755 	ROM_LOAD32_WORD("bank0.bin",      0x000002, 0x080000, CRC(21b603b4) SHA1(3f8f83fbf2ce5055fa85075c95da617fe2a8738a) )
6756 	ROM_LOAD32_WORD("bank1.bin",      0x100002, 0x080000, CRC(c1971f23) SHA1(3db88552ff2166f6eb2a9200e8609b52c1266274) )
6757 
6758 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6759 	ROM_LOAD32_WORD("mpr-16537.ic28", 0x000000, 0x200000, CRC(36b7c35a) SHA1(b32fd1d3fc8983fb5f2a7b236b665a8c9b52769f) )
6760 	ROM_LOAD32_WORD("mpr-16536.ic29", 0x000002, 0x200000, CRC(6d6afed9) SHA1(2018468d7d849854b3d0cfbcd217317e2fc93555) )
6761 
6762 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6763 	ROM_LOAD32_WORD("mpr-16523.ic16", 0x000000, 0x200000, CRC(2f484d42) SHA1(0b83a3fc92b7d913a14cfb01d688c63555c17c41) )
6764 	ROM_LOAD32_WORD("mpr-16518.ic20", 0x000002, 0x200000, CRC(df683bf7) SHA1(16afe5029591f3536b5b75d9cf50a34d0ea72c3d) )
6765 	ROM_LOAD32_WORD("mpr-16524.ic17", 0x400000, 0x200000, CRC(34658bd7) SHA1(71b47626ffe5b26d1140afe1b830a9a2be86c88f) )
6766 	ROM_LOAD32_WORD("mpr-16519.ic21", 0x400002, 0x200000, CRC(facd1c81) SHA1(dac8c281a5e9a6c4b60197e6676f3727264ee420) )
6767 	ROM_LOAD32_WORD("mpr-16525.ic18", 0x800000, 0x200000, CRC(fb517521) SHA1(33f5f37ea2e09fc73eed5388b46fdf1fa9e285e6) )
6768 	ROM_LOAD32_WORD("mpr-16520.ic22", 0x800002, 0x200000, CRC(d66bd9bd) SHA1(660171674484375a27595630e5e2d2ad76a06d1a) )
6769 	ROM_LOAD32_WORD("mpr-16772.ic19", 0xc00000, 0x200000, CRC(770ed912) SHA1(1789f35dd403f73f8be18495a0fe4ad1e6841417) )
6770 	ROM_LOAD32_WORD("mpr-16771.ic23", 0xc00002, 0x200000, CRC(a2205124) SHA1(257a3675e4ef6adbf61285a5daa5954223c28cb2) )
6771 
6772 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6773 	ROM_LOAD32_WORD("mpr-16522.25", 0x000000, 0x200000, CRC(55d39a57) SHA1(abf7b0fc0f111f90da42463d600db9fa32e95efe) )
6774 	ROM_LOAD32_WORD("mpr-16521.24", 0x000002, 0x200000, CRC(af1934fb) SHA1(a6a21a23cd34d0de6d3e6a5c3c2687f905d0dc2a) )
6775 	ROM_LOAD32_WORD("mpr-16770.27", 0x800000, 0x200000, CRC(f9fa7bfb) SHA1(8aa933b74d4e05dc49987238705e50b00e5dae73) )
6776 	ROM_LOAD32_WORD("mpr-16769.26", 0x800002, 0x200000, CRC(e57429e9) SHA1(8c712ab09e61ef510741a55f29b3c4e497471372) )
6777 
6778 	ROM_REGION( 0x20000, "cpu3", 0) // Communication program
6779 	ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
6780 
6781 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6782 	ROM_LOAD16_WORD_SWAP("epr-16720.7", 0x000000, 0x020000, CRC(8e73cffd) SHA1(9933ccc0757e8c86e0adb938d1c89210b26841ea) )
6783 	ROM_LOAD16_WORD_SWAP("epr-16721.8", 0x020000, 0x020000, CRC(1bb3b7b7) SHA1(ee2fd1480e535fc37e9932e6fe4e31344559fc87) )
6784 
6785 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6786 	ROM_LOAD("mpr-16491.32", 0x000000, 0x200000, CRC(89920903) SHA1(06d1d55470ae99f8de0f8c88c694f34c4eb13668) )
6787 	ROM_LOAD("mpr-16492.33", 0x200000, 0x200000, CRC(459e701b) SHA1(2054f69cecad677eb00c6a3051f5b5d90885e19b) )
6788 
6789 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6790 	ROM_LOAD("mpr-16493.4", 0x000000, 0x200000, CRC(9990db15) SHA1(ea9a8b45a07dccaae62be7cf095532ce7596a70c) )
6791 	ROM_LOAD("mpr-16494.5", 0x200000, 0x200000, CRC(600e1d6c) SHA1(d4e246fc57a16ff562bbcbccf6a739b706f58696) )
6792 
6793 	MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
6794 
6795 	ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
6796 	ROM_DEFAULT_BIOS("16488a")
6797 	ROM_SYSTEM_BIOS(0, "16488a", "drive board ROM 16488a")
6798 	ROMX_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da), ROM_BIOS(0) )
6799 	ROM_SYSTEM_BIOS(1, "16488", "drive board ROM 16488")
6800 	ROMX_LOAD("epr-16488.ic12",  0x000000, 0x010000, CRC(4f0b8114) SHA1(1fcebd0632da8f224a04fe6b39147a05eb358e83), ROM_BIOS(1) )
6801 ROM_END
6802 
6803 ROM_START( vcop ) /* Virtua Cop Revision B, Model 2 */
6804 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6805 	ROM_LOAD32_WORD( "epr-17166b.12", 0x000000, 0x020000, CRC(a5647c59) SHA1(0a9e0be447d3591e82efd40ef4acbfe7ae211579) )
6806 	ROM_LOAD32_WORD( "epr-17167b.13", 0x000002, 0x020000, CRC(f5dde26a) SHA1(95db029bc4206a44ea216afbcd1c19689f79115a) )
6807 	ROM_LOAD32_WORD( "epr-17160a.14", 0x040000, 0x020000, CRC(267f3242) SHA1(40ec09cda984bb80969bfae2278432153137c213) )
6808 	ROM_LOAD32_WORD( "epr-17161a.15", 0x040002, 0x020000, CRC(f7126876) SHA1(b0ceb1206edaa507ec15723497fcd447a511f423) )
6809 
6810 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6811 	ROM_LOAD32_WORD( "mpr-17164.10", 0x000000, 0x200000, CRC(ac5fc501) SHA1(e60deec1e79d207d37d3f4ddd83a1b2125c411ac) )
6812 	ROM_LOAD32_WORD( "mpr-17165.11", 0x000002, 0x200000, CRC(82296d00) SHA1(23327137b36c98dfb9175ea9d36478e7385dfac2) )
6813 	ROM_LOAD32_WORD( "mpr-17162.8",  0x400000, 0x200000, CRC(60ddd41e) SHA1(0894c9bcdedeb09f921419a309858e242cb8db3a) )
6814 	ROM_LOAD32_WORD( "mpr-17163.9",  0x400002, 0x200000, CRC(8c1f9dc8) SHA1(cf99a5bb4f343d59c8d6f5716287b6e16bef6412) )
6815 	ROM_LOAD32_WORD( "epr-17168a.6", 0x800000, 0x080000, CRC(59091a37) SHA1(14591c7015aaf126755be584aa94c04e6de222fa) )
6816 	ROM_LOAD32_WORD( "epr-17169a.7", 0x800002, 0x080000, CRC(0495808d) SHA1(5b86a9a68c2b52f942aa8d858ee7a491f546a921) )
6817 
6818 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 )
6819 
6820 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6821 	ROM_LOAD32_WORD( "mpr-17159.16", 0x000000, 0x200000, CRC(e218727d) SHA1(1458d01d49936a0b8d497b62ff9ea940ca753b37) )
6822 	ROM_LOAD32_WORD( "mpr-17156.20", 0x000002, 0x200000, CRC(c4f4aabf) SHA1(8814cd329609cc8a188fedd770230bb9a5d00361) )
6823 
6824 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6825 	ROM_LOAD32_WORD( "mpr-17158.25", 0x000000, 0x200000, CRC(1108d1ec) SHA1(e95d4166bd4b26c5f21b85821b410f53045f4309) )
6826 	ROM_LOAD32_WORD( "mpr-17157.24", 0x000002, 0x200000, CRC(cf31e33d) SHA1(0cb62d4f28b5ad8a7e4c82b0ca8aea3037b05455) )
6827 
6828 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6829 	ROM_LOAD16_WORD_SWAP( "epr-17170.7", 0x000000, 0x020000, CRC(06a38ae2) SHA1(a2c3d14d9266449ebfc6d976a956e0a8a602cfb0) )
6830 	ROM_LOAD16_WORD_SWAP( "epr-17171.8", 0x020000, 0x020000, CRC(b5e436f8) SHA1(1da3cb52d64f52d03a8de9954afffbc6e1549a5b) )
6831 
6832 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6833 	ROM_LOAD( "mpr-17172.32", 0x000000, 0x100000, CRC(ab22cac3) SHA1(0e872158faeb8c0404b10cdf0a3fa36f89a5093e) )
6834 	ROM_LOAD( "mpr-17173.33", 0x200000, 0x100000, CRC(3cb4005c) SHA1(a56f436ea6dfe0968b73ae7bc92bb2f4c612460d) )
6835 
6836 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6837 	ROM_LOAD( "mpr-17174.4", 0x000000, 0x200000, CRC(a50369cc) SHA1(69807157baf6e3679adc95633c82b0236db01247) )
6838 	ROM_LOAD( "mpr-17175.5", 0x200000, 0x200000, CRC(9136d43c) SHA1(741f80a8ff8165ffe171dc568e0da4ad0bde4809) )
6839 
6840 	MODEL2_CPU_BOARD
6841 ROM_END
6842 
6843 ROM_START( vcopa ) /* Virtua Cop Revision A, Model 2 */
6844 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6845 	ROM_LOAD32_WORD( "epr-17166a.12", 0x000000, 0x020000, CRC(702566e6) SHA1(478eec1e1d51a2ff63e8fd591528f0ca70df9310) )
6846 	ROM_LOAD32_WORD( "epr-17167a.13", 0x000002, 0x020000, CRC(9b8e05a8) SHA1(5e95f3f901d7f87f8c9cbeb3a65cd1b74e9cc09b) )
6847 	ROM_LOAD32_WORD( "epr-17160a.14", 0x040000, 0x020000, CRC(267f3242) SHA1(40ec09cda984bb80969bfae2278432153137c213) )
6848 	ROM_LOAD32_WORD( "epr-17161a.15", 0x040002, 0x020000, CRC(f7126876) SHA1(b0ceb1206edaa507ec15723497fcd447a511f423) )
6849 
6850 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6851 	ROM_LOAD32_WORD( "mpr-17164.10", 0x000000, 0x200000, CRC(ac5fc501) SHA1(e60deec1e79d207d37d3f4ddd83a1b2125c411ac) )
6852 	ROM_LOAD32_WORD( "mpr-17165.11", 0x000002, 0x200000, CRC(82296d00) SHA1(23327137b36c98dfb9175ea9d36478e7385dfac2) )
6853 	ROM_LOAD32_WORD( "mpr-17162.8",  0x400000, 0x200000, CRC(60ddd41e) SHA1(0894c9bcdedeb09f921419a309858e242cb8db3a) )
6854 	ROM_LOAD32_WORD( "mpr-17163.9",  0x400002, 0x200000, CRC(8c1f9dc8) SHA1(cf99a5bb4f343d59c8d6f5716287b6e16bef6412) )
6855 	ROM_LOAD32_WORD( "epr-17168a.6", 0x800000, 0x080000, CRC(59091a37) SHA1(14591c7015aaf126755be584aa94c04e6de222fa) )
6856 	ROM_LOAD32_WORD( "epr-17169a.7", 0x800002, 0x080000, CRC(0495808d) SHA1(5b86a9a68c2b52f942aa8d858ee7a491f546a921) )
6857 
6858 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 )
6859 
6860 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6861 	ROM_LOAD32_WORD( "mpr-17159.16", 0x000000, 0x200000, CRC(e218727d) SHA1(1458d01d49936a0b8d497b62ff9ea940ca753b37) )
6862 	ROM_LOAD32_WORD( "mpr-17156.20", 0x000002, 0x200000, CRC(c4f4aabf) SHA1(8814cd329609cc8a188fedd770230bb9a5d00361) )
6863 
6864 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6865 	ROM_LOAD32_WORD( "mpr-17158.25", 0x000000, 0x200000, CRC(1108d1ec) SHA1(e95d4166bd4b26c5f21b85821b410f53045f4309) )
6866 	ROM_LOAD32_WORD( "mpr-17157.24", 0x000002, 0x200000, CRC(cf31e33d) SHA1(0cb62d4f28b5ad8a7e4c82b0ca8aea3037b05455) )
6867 
6868 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6869 	ROM_LOAD16_WORD_SWAP( "epr-17170.7", 0x000000, 0x020000, CRC(06a38ae2) SHA1(a2c3d14d9266449ebfc6d976a956e0a8a602cfb0) )
6870 	ROM_LOAD16_WORD_SWAP( "epr-17171.8", 0x020000, 0x020000, CRC(b5e436f8) SHA1(1da3cb52d64f52d03a8de9954afffbc6e1549a5b) )
6871 
6872 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6873 	ROM_LOAD( "mpr-17172.32", 0x000000, 0x100000, CRC(ab22cac3) SHA1(0e872158faeb8c0404b10cdf0a3fa36f89a5093e) )
6874 	ROM_LOAD( "mpr-17173.33", 0x200000, 0x100000, CRC(3cb4005c) SHA1(a56f436ea6dfe0968b73ae7bc92bb2f4c612460d) )
6875 
6876 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6877 	ROM_LOAD( "mpr-17174.4", 0x000000, 0x200000, CRC(a50369cc) SHA1(69807157baf6e3679adc95633c82b0236db01247) )
6878 	ROM_LOAD( "mpr-17175.5", 0x200000, 0x200000, CRC(9136d43c) SHA1(741f80a8ff8165ffe171dc568e0da4ad0bde4809) )
6879 
6880 	MODEL2_CPU_BOARD
6881 ROM_END
6882 
6883 ROM_START( desert ) /* Desert Tank, Model 2, Sega Game ID# 833-11002, ROM board ID# 834-11003 */
6884 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6885 	ROM_LOAD32_WORD("epr-16976.12", 0x000000, 0x020000, CRC(d036dff0) SHA1(f3e5f22ef1f3ff9c9a1ff7352cdad3e2c2977a51) )
6886 	ROM_LOAD32_WORD("epr-16977.13", 0x000002, 0x020000, CRC(e91194bd) SHA1(cec8eb8d4b52c387d5750ee5a0c6e6ce7c0fe80d) )
6887 	ROM_LOAD32_WORD("epr-16970.14", 0x040000, 0x020000, CRC(4ea12d1f) SHA1(75133b03a450518bae27d62f0a1c37451c8c49a0) )
6888 	ROM_LOAD32_WORD("epr-16971.15", 0x040002, 0x020000, CRC(d630b220) SHA1(ca7bd1e01e396b8b6a0925e767cc714729e0fd42) )
6889 
6890 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6891 	ROM_LOAD32_WORD("mpr-16974.10", 0x000000, 0x200000, CRC(2ab491c5) SHA1(79deb3877d0ffc8ee75c01d3bf0a6dd71cc2b552) )
6892 	ROM_LOAD32_WORD("mpr-16975.11", 0x000002, 0x200000, CRC(e24fe7d3) SHA1(f8ab28c95d421978b1517adeacf09e7ee203d8f6) )
6893 	ROM_LOAD32_WORD("mpr-16972.8",  0x400000, 0x200000, CRC(23e53748) SHA1(9c8a1d8aec8f9e5504e5aac0390dfb3770ab8616) )
6894 	ROM_LOAD32_WORD("mpr-16973.9",  0x400002, 0x200000, CRC(77d6f509) SHA1(c83bce7f7b0a15bd14b99e829640b7dd9948e671) )
6895 	ROM_LOAD32_WORD("epr-16978.6",  0x800000, 0x080000, CRC(38b3e574) SHA1(a1133df608b0fbb9c53bbeb29138650c87845d2c) )
6896 	ROM_LOAD32_WORD("epr-16979.7",  0x800002, 0x080000, CRC(c314eb8b) SHA1(0c851dedd5c42b026195faed7d028924698a8b27) )
6897 
6898 	ROM_REGION32_LE( 0x800000, "copro_data", 0 ) // Copro extra data (collision/height map/etc) (COPRO socket)
6899 	ROM_LOAD32_WORD("epr-16981.28", 0x000000, 0x080000, CRC(ae847571) SHA1(32d0f9e685667ae9fddacea0b9f4ad6fb3a6fdad) )
6900 	ROM_LOAD32_WORD("epr-16980.29", 0x000002, 0x080000, CRC(5239b864) SHA1(e889556e0f1ea80de52afff563b0923f87cef7ab) )
6901 
6902 	ROM_REGION( 0x800000, "polygons", 0 ) // Models
6903 	ROM_LOAD32_WORD("mpr-16968.16", 0x000000, 0x200000, CRC(4a16f465) SHA1(411214ed65ce966040d4299b50bfaa40f7f5f266) )
6904 	ROM_LOAD32_WORD("mpr-16964.21", 0x000002, 0x200000, CRC(d4a769b6) SHA1(845c34f95a49e06e3996b0c67aa73b4886fa8996) )
6905 	ROM_LOAD32_WORD("mpr-16969.17", 0x400000, 0x200000, CRC(887380ac) SHA1(03a9f601764d06cb0b2daaadf4f8433f327abd4a) )
6906 	ROM_LOAD32_WORD("mpr-16965.20", 0x400002, 0x200000, CRC(9ba7645f) SHA1(c04f369961f908bac16fad8e32b863202390c205) )
6907 
6908 	ROM_REGION( 0x1000000, "textures", 0 ) // Textures
6909 	ROM_LOAD32_WORD("mpr-16967.25", 0x000000, 0x200000, CRC(b8b84c9d) SHA1(00ef320988609e98c8af383b68d845e3be8d0a03) )
6910 	ROM_LOAD32_WORD("mpr-16966.24", 0x000002, 0x200000, CRC(7484efe9) SHA1(33e72139ad6c2990428e3fa041dbcdf39aca1c7a) )
6911 
6912 	ROM_REGION( 0x20000, "cpu4", ROMREGION_ERASE00 ) // Communication program
6913 
6914 	ROM_REGION( 0xc0000, M1AUDIO_CPU_REGION, ROMREGION_BE|ROMREGION_16BIT )  /* 68K code */
6915 	ROM_LOAD16_WORD_SWAP("epr-16985.7", 0x000000, 0x20000, CRC(8c4d9056) SHA1(785752d761c648d1177c5f0cfa3e9fa44135d6dc) )
6916 
6917 	ROM_REGION( 0x400000, M1AUDIO_MPCM1_REGION, 0 ) // Samples
6918 	ROM_LOAD("mpr-16986.32", 0x000000, 0x200000, CRC(559612f9) SHA1(33bcaddfc7d8fe899707e663299e8f04e9004d51) )
6919 
6920 	ROM_REGION( 0x400000, M1AUDIO_MPCM2_REGION, 0 ) // Samples
6921 	ROM_LOAD("mpr-16988.4", 0x000000, 0x200000, CRC(bc705875) SHA1(5351c6bd2d75df57ff92960e7f90493d95d9dfb9) )
6922 	ROM_LOAD("mpr-16989.5", 0x200000, 0x200000, CRC(1b616b31) SHA1(35bd2bfd08514ba6f235cda2605c171cd51fd78e) )
6923 
6924 	MODEL2_CPU_BOARD
6925 ROM_END
6926 
6927 ROM_START( powsled ) /* Power Sled Revision A, Model 2B, ROM board ID# 834-12969 */
6928 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6929 	ROM_LOAD32_WORD("epr-19470a.15", 0x000000, 0x080000, CRC(8f28cc09) SHA1(2b2baa9d7b4a8fc691a826eb7f47119cb59501b3) )
6930 	ROM_LOAD32_WORD("epr-19471a.16", 0x000002, 0x080000, CRC(01a013e3) SHA1(726d0407f61756969e194008a5fc13f3467cbf24) )
6931 
6932 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6933 	ROM_LOAD32_WORD("fpr-19468.11", 0x0000000, 0x400000, CRC(56fae4e2) SHA1(795db62467eb1cb5b375e05bf168573baacfd657) )
6934 	ROM_LOAD32_WORD("fpr-19469.12", 0x0000002, 0x400000, CRC(5579c922) SHA1(d2bd10adf959e4e648f2f51a1a0463e077fa9c60) )
6935 
6936 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6937 	ROM_LOAD32_WORD("fpr-19455.17", 0x000000, 0x400000, CRC(165ee345) SHA1(2cfd3da4f90fcae8a6d2802976ed0ea5abc7df2f) )
6938 	ROM_LOAD32_WORD("fpr-19456.21", 0x000002, 0x400000, CRC(c3b2e2c5) SHA1(6dcd173726395fd0f115196470063bfb7c6891b8) )
6939 
6940 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
6941 	ROM_LOAD32_WORD("fpr-19458.27", 0x000000, 0x400000, CRC(f24acca2) SHA1(7fd7da64e247e62aa6542e1ad1a9ea9527ac9e73) )
6942 	ROM_LOAD32_WORD("fpr-19457.25", 0x000002, 0x400000, CRC(79d7e6fa) SHA1(906986145c23fc87ea7205d7722302104665e2bb) )
6943 
6944 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6945 
6946 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6947 	ROM_LOAD16_WORD_SWAP("epr-19466.31", 0x000000, 0x020000, CRC(c42892a5) SHA1(8ef761f6da3febcdf29b2d9b1bdf60ee24530f3d) )
6948 
6949 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
6950 	ROM_LOAD16_WORD_SWAP("fpr-19459.32", 0x000000, 0x400000, CRC(a424743f) SHA1(3fd370c1b3f82a8785f1985587a39d3826b46392) )
6951 ROM_END
6952 
6953 ROM_START( powsledr ) /* Power Sled Relay Revision A, Model 2B, ROM board ID# 834-12970 */
6954 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6955 	ROM_LOAD32_WORD("epr-19472a.15", 0x000000, 0x080000, CRC(7a947eb7) SHA1(01a9fcd5055235367e4699da0037ae701c524074) )
6956 	ROM_LOAD32_WORD("epr-19473a.16", 0x000002, 0x080000, CRC(165d77ae) SHA1(129cd1b8b5d2a2f4e59300166c739ef48699d444) )
6957 
6958 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6959 	ROM_LOAD32_WORD("fpr-19468.11", 0x0000000, 0x400000, CRC(56fae4e2) SHA1(795db62467eb1cb5b375e05bf168573baacfd657) )
6960 	ROM_LOAD32_WORD("fpr-19469.12", 0x0000002, 0x400000, CRC(5579c922) SHA1(d2bd10adf959e4e648f2f51a1a0463e077fa9c60) )
6961 
6962 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6963 	ROM_LOAD32_WORD("fpr-19455.17", 0x000000, 0x400000, CRC(165ee345) SHA1(2cfd3da4f90fcae8a6d2802976ed0ea5abc7df2f) )
6964 	ROM_LOAD32_WORD("fpr-19456.21", 0x000002, 0x400000, CRC(c3b2e2c5) SHA1(6dcd173726395fd0f115196470063bfb7c6891b8) )
6965 
6966 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
6967 	ROM_LOAD32_WORD("fpr-19458.27", 0x000000, 0x400000, CRC(f24acca2) SHA1(7fd7da64e247e62aa6542e1ad1a9ea9527ac9e73) )
6968 	ROM_LOAD32_WORD("fpr-19457.25", 0x000002, 0x400000, CRC(79d7e6fa) SHA1(906986145c23fc87ea7205d7722302104665e2bb) )
6969 
6970 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6971 
6972 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
6973 	ROM_LOAD16_WORD_SWAP("epr-19467.31", 0x000000, 0x020000, CRC(5e8b9763) SHA1(54c3671c74bb16c8b447e9cae9c49b6d05b27a3e) )
6974 
6975 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
6976 	ROM_LOAD16_WORD_SWAP("fpr-19460.32", 0x000000, 0x400000, CRC(456967cc) SHA1(b81ae04f6cffc2db41f946c10cb80edcdba5779a) )
6977 	ROM_LOAD16_WORD_SWAP("fpr-19461.34", 0x400000, 0x400000, CRC(7b91d65b) SHA1(3768f134fc9e54966e683cc4b9616d704cb9c49d) )
6978 ROM_END
6979 
6980 ROM_START( powsledm ) // Main unit is not dumped, temporary we use relay dump plus patches in driver init
6981 	ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
6982 	ROM_LOAD32_WORD("epr-19472a.15", 0x000000, 0x080000, CRC(7a947eb7) SHA1(01a9fcd5055235367e4699da0037ae701c524074) )
6983 	ROM_LOAD32_WORD("epr-19473a.16", 0x000002, 0x080000, CRC(165d77ae) SHA1(129cd1b8b5d2a2f4e59300166c739ef48699d444) )
6984 
6985 	ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
6986 	ROM_LOAD32_WORD("fpr-19468.11", 0x0000000, 0x400000, CRC(56fae4e2) SHA1(795db62467eb1cb5b375e05bf168573baacfd657) )
6987 	ROM_LOAD32_WORD("fpr-19469.12", 0x0000002, 0x400000, CRC(5579c922) SHA1(d2bd10adf959e4e648f2f51a1a0463e077fa9c60) )
6988 
6989 	ROM_REGION( 0x1000000, "polygons", 0 ) // Models
6990 	ROM_LOAD32_WORD("fpr-19455.17", 0x000000, 0x400000, CRC(165ee345) SHA1(2cfd3da4f90fcae8a6d2802976ed0ea5abc7df2f) )
6991 	ROM_LOAD32_WORD("fpr-19456.21", 0x000002, 0x400000, CRC(c3b2e2c5) SHA1(6dcd173726395fd0f115196470063bfb7c6891b8) )
6992 
6993 	ROM_REGION( 0x800000, "textures", 0 ) // Textures
6994 	ROM_LOAD32_WORD("fpr-19458.27", 0x000000, 0x400000, CRC(f24acca2) SHA1(7fd7da64e247e62aa6542e1ad1a9ea9527ac9e73) )
6995 	ROM_LOAD32_WORD("fpr-19457.25", 0x000002, 0x400000, CRC(79d7e6fa) SHA1(906986145c23fc87ea7205d7722302104665e2bb) )
6996 
6997 	ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
6998 
6999 	ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
7000 	ROM_LOAD16_WORD_SWAP("epr-19467.31", 0x000000, 0x020000, CRC(5e8b9763) SHA1(54c3671c74bb16c8b447e9cae9c49b6d05b27a3e) )
7001 
7002 	ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
7003 	ROM_LOAD16_WORD_SWAP("fpr-19460.32", 0x000000, 0x400000, CRC(456967cc) SHA1(b81ae04f6cffc2db41f946c10cb80edcdba5779a) )
7004 	ROM_LOAD16_WORD_SWAP("fpr-19461.34", 0x400000, 0x400000, CRC(7b91d65b) SHA1(3768f134fc9e54966e683cc4b9616d704cb9c49d) )
7005 ROM_END
7006 
7007 
7008 void model2_state::init_pltkids()
7009 {
7010 	// fix bug in program: it destroys the interrupt table and never fixes it
7011 	u32 *ROM = (u32 *)memregion("maincpu")->base();
7012 	ROM[0x730/4] = 0x08000004;
7013 }
7014 
init_zerogun()7015 void model2_state::init_zerogun()
7016 {
7017 	// fix bug in program: it destroys the interrupt table and never fixes it
7018 	u32 *ROM = (u32 *)memregion("maincpu")->base();
7019 	ROM[0x700/4] = 0x08000004;
7020 }
7021 
init_sgt24h()7022 void model2_state::init_sgt24h()
7023 {
7024 	u32 *ROM = (u32 *)memregion("maincpu")->base();
7025 	ROM[0x56578/4] = 0x08000004;
7026 	//ROM[0x5b3e8/4] = 0x08000004;
7027 }
7028 
init_powsledm()7029 void model2_state::init_powsledm ()
7030 {
7031 	u8 *ROM = (u8 *)memregion("maincpu")->base();
7032 	ROM[0x1571C] = 0x01; // Main mode
7033 	ROM[0x1584C] = 0x89; // set node ID 0x200 = main
7034 	ROM[0x1585D] = 0xFD; // inverted node ID
7035 }
7036 
doa_prot_r(offs_t offset,u32 mem_mask)7037 u32 model2_state::doa_prot_r(offs_t offset, u32 mem_mask)
7038 {
7039 	// doa only reads 16-bits at a time, while STV reads 32-bits
7040 	uint32 ret = 0;
7041 
7042 	if (mem_mask&0xffff0000) ret |= (m_0229crypt->data_r()<<16);
7043 	if (mem_mask&0x0000ffff) ret |= m_0229crypt->data_r();
7044 
7045 	return ret;
7046 }
7047 
doa_unk_r()7048 u32 model2_state::doa_unk_r()
7049 {
7050 	u32 retval = 0;
7051 
7052 	// this actually looks a busy status flag
7053 	m_prot_a = !m_prot_a;
7054 	if (m_prot_a)
7055 		retval = 0xffff;
7056 	else
7057 		retval = 0xfff0;
7058 
7059 	return retval;
7060 }
7061 
sega_0229_map(address_map & map)7062 void model2_state::sega_0229_map(address_map &map)
7063 {
7064 	// view the protection device has into RAM, this might need endian swapping
7065 	map(0x000000, 0x007fff).ram().share("protram0229");
7066 }
7067 
7068 /* common map for 0229 protection */
model2_0229_mem(address_map & map)7069 void model2_state::model2_0229_mem(address_map &map)
7070 {
7071 	// the addresses here suggest this is only connected to a 0x8000 byte window, not 0x80000 like ST-V
7072 	map(0x01d80000, 0x01d87fff).ram().share("protram0229");
7073 	map(0x01d87ff0, 0x01d87ff3).w(m_0229crypt, FUNC(sega_315_5838_comp_device::srcaddr_w));
7074 	map(0x01d87ff4, 0x01d87ff7).w(m_0229crypt, FUNC(sega_315_5838_comp_device::data_w_doa));
7075 	map(0x01d87ff8, 0x01d87ffb).r(FUNC(model2_state::doa_prot_r));
7076 
7077 	 // is this protection related? it's in the same ram range but other games with the device don't use the address for any kind of status doesn't access the device otherwise?
7078 	map(0x01d8400c, 0x01d8400f).r(FUNC(model2_state::doa_unk_r));
7079 }
7080 
init_doa()7081 void model2_state::init_doa()
7082 {
7083 	u32 *ROM = (u32 *)memregion("maincpu")->base();
7084 	ROM[0x630 / 4] = 0x08000004;
7085 	ROM[0x808 / 4] = 0x08000004;
7086 
7087 	m_0229crypt->set_hack_mode(sega_315_5838_comp_device::HACK_MODE_DOA);
7088 }
7089 
7090 // Model 2 (TGPs, Model 1 sound board)
7091 GAME( 1994, daytona,    0,       daytona,      daytona, model2o_state,  empty_init,   ROT0, "Sega", "Daytona USA (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7092 GAME( 1994, daytonase,  daytona, daytona,      daytona, model2o_state,  empty_init,   ROT0, "Sega", "Daytona USA Special Edition (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7093 GAME( 1993, daytona93,  daytona, daytona,      daytona, model2o_state,  empty_init,   ROT0, "Sega", "Daytona USA (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7094 GAME( 1994, daytonas,   daytona, daytona,      daytona, model2o_state,  empty_init,   ROT0, "Sega", "Daytona USA (With Saturn Adverts)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7095 GAME( 1994?,daytonat,   daytona, daytona,      daytona, model2o_state,  empty_init,   ROT0, "hack (Kyle Hodgetts)", "Daytona USA (Turbo hack, set 1)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7096 GAME( 1994?,daytonata,  daytona, daytona,      daytona, model2o_state,  empty_init,   ROT0, "hack (Kyle Hodgetts)", "Daytona USA (Turbo hack, set 2)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7097 GAME( 2001, daytonam,   daytona, daytona_maxx, daytona, model2o_maxx_state, empty_init, ROT0, "hack (Kyle Hodgetts)", "Daytona USA (To The MAXX)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7098 GAME( 2003, daytonagtx, daytona, daytona_gtx,  daytona, model2o_gtx_state,  empty_init, ROT0, "hack (Kyle Hodgetts)", "Daytona USA (GTX 2004 Edition)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7099 GAME( 1994, desert,     0,       desert,       desert,  model2o_state,  empty_init,   ROT0, "Sega / Martin Marietta", "Desert Tank", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7100 GAME( 1994, vcop,       0,       vcop,         vcop,    model2o_state,  empty_init,   ROT0, "Sega", "Virtua Cop (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7101 GAME( 1994, vcopa,      vcop,    vcop,         vcop,    model2o_state,  empty_init,   ROT0, "Sega", "Virtua Cop (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7102 
7103 // Model 2A-CRX (TGPs, SCSP sound board)
7104 GAME( 1994, vf2,       0,        model2a,      vf2,      model2a_state, empty_init,   ROT0, "Sega",   "Virtua Fighter 2 (Version 2.1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
7105 GAME( 1994, vf2b,      vf2,      model2a,      vf2,      model2a_state, empty_init,   ROT0, "Sega",   "Virtua Fighter 2 (Revision B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
7106 GAME( 1994, vf2a,      vf2,      model2a,      vf2,      model2a_state, empty_init,   ROT0, "Sega",   "Virtua Fighter 2 (Revision A)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
7107 GAME( 1994, vf2o,      vf2,      model2a,      vf2,      model2a_state, empty_init,   ROT0, "Sega",   "Virtua Fighter 2", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
7108 GAME( 1995, manxtt,    0,        manxttdx,     manxtt,   model2a_state, empty_init,   ROT0, "Sega",   "Manx TT Superbike - DX (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7109 GAME( 1995, manxttc,   0,        manxtt,       manxtt,   model2a_state, empty_init,   ROT0, "Sega",   "Manx TT Superbike - Twin (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7110 GAME( 1995, srallyc,   0,        srallyc,      srallyc,  model2a_state, empty_init,   ROT0, "Sega",   "Sega Rally Championship - Twin/DX (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7111 GAME( 1995, srallycb,  srallyc,  srallyc,      srallyc,  model2a_state, empty_init,   ROT0, "Sega",   "Sega Rally Championship - Twin/DX (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7112 GAME( 1995, srallycc,  srallyc,  srallyc,      srallyc,  model2a_state, empty_init,   ROT0, "Sega",   "Sega Rally Championship - Twin/DX (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7113 GAME( 1995, srallycdx, srallyc,  srallyc,      srallyc,  model2a_state, empty_init,   ROT0, "Sega",   "Sega Rally Championship - DX (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7114 GAME( 1995, srallycdxa,srallyc,  srallyc,      srallyc,  model2a_state, empty_init,   ROT0, "Sega",   "Sega Rally Championship - DX", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7115 GAME( 1995, vcop2,     0,        vcop2,        vcop2,    model2a_state, empty_init,   ROT0, "Sega",   "Virtua Cop 2", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7116 GAME( 1995, skytargt,  0,        skytargt,     skytargt, model2a_state, empty_init,   ROT0, "Sega",   "Sky Target", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7117 GAME( 1996, doaa,      doa,      model2a_0229, doa,      model2a_state, init_doa,     ROT0, "Tecmo",  "Dead or Alive (Model 2A, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7118 GAME( 1997, zeroguna,  zerogun,  zeroguna,     zerogun,  model2a_state, init_zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7119 GAME( 1997, zerogunaj, zerogun,  zeroguna,     zerogun,  model2a_state, init_zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7120 GAME( 1997, motoraid,  0,        manxtt,       motoraid, model2a_state, empty_init,   ROT0, "Sega",   "Motor Raid - Twin", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
7121 GAME( 1997, motoraiddx,motoraid, manxtt,       motoraid, model2a_state, empty_init,   ROT0, "Sega",   "Motor Raid - Twin/DX", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7122 GAME( 1997, airwlkrs,  0,        model2a,      vf2,      model2a_state, empty_init,   ROT0, "Data East", "Air Walkers", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
7123 GAME( 1998, dynamcop,  0,        model2a_5881, dynamcop, model2a_state, empty_init,   ROT0, "Sega",   "Dynamite Cop (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7124 GAME( 1998, dyndeka2,  dynamcop, model2a_5881, dynamcop, model2a_state, empty_init,   ROT0, "Sega",   "Dynamite Deka 2 (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7125 GAME( 1998, pltkidsa,  pltkids,  model2a_5881, pltkids,  model2a_state, init_pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7126 
7127 // Model 2B-CRX (SHARC, SCSP sound board)
7128 GAME( 1994, rchase2,   0,        rchase2,      rchase2,   model2b_state, empty_init,    ROT0, "Sega",   "Rail Chase 2 (Revision A)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND )
7129 GAME( 1994, vstriker,  0,        model2b,      vstriker,  model2b_state, empty_init,    ROT0, "Sega",   "Virtua Striker (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7130 GAME( 1994, vstrikero, vstriker, model2b,      vstriker,  model2b_state, empty_init,    ROT0, "Sega",   "Virtua Striker", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7131 GAME( 1995, fvipers,   0,        model2b,      vf2,       model2b_state, empty_init,    ROT0, "Sega",   "Fighting Vipers (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7132 GAME( 1995, fvipersb,  fvipers,  model2b,      vf2,       model2b_state, empty_init,    ROT0, "Sega",   "Fighting Vipers (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7133 GAME( 1995, gunblade,  0,        gunblade,     gunblade,  model2b_state, empty_init,    ROT0, "Sega",   "Gunblade NY (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7134 GAME( 1995, indy500,   0,        indy500,      indy500,   model2b_state, empty_init,    ROT0, "Sega",   "INDY 500 Twin (Revision A, Newer)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7135 GAME( 1995, indy500d,  indy500,  indy500,      indy500,   model2b_state, empty_init,    ROT0, "Sega",   "INDY 500 Deluxe (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7136 GAME( 1995, indy500to, indy500,  indy500,      indy500,   model2b_state, empty_init,    ROT0, "Sega",   "INDY 500 Twin (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7137 GAME( 1995, von,       0,        model2b,      von,       model2b_state, empty_init,    ROT0, "Sega",   "Cyber Troopers Virtual-On (USA, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7138 GAME( 1995, vonj,      von,      model2b,      von,       model2b_state, empty_init,    ROT0, "Sega",   "Cyber Troopers Virtual-On (Japan, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7139 GAME( 1995, vonr,      von,      model2b,      von,       model2b_state, empty_init,    ROT0, "Sega",   "Cyber Troopers Virtual-On Relay (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7140 GAME( 1996, schamp,    0,        model2b,      schamp,    model2b_state, empty_init,    ROT0, "Sega",   "Sonic Championship (USA)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7141 GAME( 1996, sfight,    schamp,   model2b,      schamp,    model2b_state, empty_init,    ROT0, "Sega",   "Sonic the Fighters (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7142 GAME( 1996, lastbrnx,  0,        model2b,      vf2,       model2b_state, empty_init,    ROT0, "Sega",   "Last Bronx (Export, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7143 GAME( 1996, lastbrnxu, lastbrnx, model2b,      vf2,       model2b_state, empty_init,    ROT0, "Sega",   "Last Bronx (USA, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7144 GAME( 1996, lastbrnxj, lastbrnx, model2b,      vf2,       model2b_state, empty_init,    ROT0, "Sega",   "Last Bronx (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7145 GAME( 1996, doab,      doa,      model2b_0229, doa,       model2b_state, init_doa,      ROT0, "Tecmo",  "Dead or Alive (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) // Dec 4 1996
7146 GAME( 1996, doa,       0,        model2b_0229, doa,       model2b_state, init_doa,      ROT0, "Tecmo",  "Dead or Alive (Model 2B, Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) // Jan 10 1997
7147 GAME( 1996, sgt24h,    0,        overrev2b,    sgt24h,    model2b_state, init_sgt24h,   ROT0, "Jaleco", "Super GT 24h", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7148 GAME( 1996, powsled,   0,        powsled,      powsled,   model2b_state, empty_init,    ROT0, "Sega",   "Power Sled (Slave, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7149 GAME( 1996, powsledr,  powsled,  powsled,      powsled,   model2b_state, empty_init,    ROT0, "Sega",   "Power Sled (Relay, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7150 GAME( 1996, powsledm,  powsled,  powsled,      powsled,   model2b_state, init_powsledm, ROT0, "Sega",   "Power Sled (Main, hack of Relay)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7151 GAME( 1996, dynabb,    0,        dynabb,       dynabb,    model2b_state, empty_init,    ROT0, "Sega",   "Dynamite Baseball", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7152 GAME( 1997, dynabb97,  0,        dynabb,       dynabb,    model2b_state, empty_init,    ROT0, "Sega",   "Dynamite Baseball 97 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7153 GAME( 1997, overrevb,  overrev,  overrev2b,    overrev,   model2b_state, empty_init,    ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7154 GAME( 1997, overrevba, overrev,  overrev2b,    overrev,   model2b_state, empty_init,    ROT0, "Jaleco", "Over Rev (Model 2B, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7155 GAME( 1997, zerogun,   0,        zerogun,      zerogun,   model2b_state, init_zerogun,  ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7156 GAME( 1997, zerogunj,  zerogun,  zerogun,      zerogun,   model2b_state, init_zerogun,  ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7157 GAME( 1998, dynamcopb, dynamcop, model2b_5881, dynamcop,  model2b_state, empty_init,    ROT0, "Sega",   "Dynamite Cop (Export, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7158 GAME( 1998, dyndeka2b, dynamcop, model2b_5881, dynamcop,  model2b_state, empty_init,    ROT0, "Sega",   "Dynamite Deka 2 (Japan, Model 2B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7159 GAME( 1998, pltkids,   0,        model2b_5881, pltkids,   model2b_state, init_pltkids,  ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7160 
7161 // Model 2C-CRX (TGPx4, SCSP sound board)
7162 GAME( 1996, skisuprg,  0,        skisuprg,     skisuprg, model2c_state, empty_init, ROT0, "Sega",   "Sega Ski Super G", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS|MACHINE_UNEMULATED_PROTECTION )
7163 GAME( 1996, stcc,      0,        stcc,         indy500,  model2c_state, empty_init, ROT0, "Sega",   "Sega Touring Car Championship", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7164 GAME( 1996, stccb,     stcc,     stcc,         indy500,  model2c_state, empty_init, ROT0, "Sega",   "Sega Touring Car Championship (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7165 GAME( 1996, stcca,     stcc,     stcc,         indy500,  model2c_state, empty_init, ROT0, "Sega",   "Sega Touring Car Championship (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7166 GAME( 1996, waverunr,  0,        waverunr,     waverunr, model2c_state, empty_init, ROT0, "Sega",   "Wave Runner (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7167 GAME( 1997, bel,       0,        bel,          bel,      model2c_state, empty_init, ROT0, "Sega / EPL Productions", "Behind Enemy Lines", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7168 GAME( 1997, hotd,      0,        hotd,         hotd,     model2c_state, empty_init, ROT0, "Sega",   "The House of the Dead", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7169 GAME( 1997, hotdp,     hotd,     hotd,         hotd,     model2c_state, empty_init, ROT0, "Sega",   "The House of the Dead (prototype)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7170 GAME( 1997, overrev,   0,        overrev2c,    overrev,  model2c_state, empty_init, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7171 GAME( 1997, rascot2,   0,        model2c,      model2crx,model2c_state, empty_init, ROT0, "Sega",   "Royal Ascot II", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7172 GAME( 1997, segawski,  0,        segawski,     segawski, model2c_state, empty_init, ROT0, "Sega",   "Sega Water Ski (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7173 GAME( 1997, topskatr,  0,        topskatr,     topskatr, model2c_state, empty_init, ROT0, "Sega",   "Top Skater (Export, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7174 GAME( 1997, topskatru, topskatr, model2c,      topskatr, model2c_state, empty_init, ROT0, "Sega",   "Top Skater (USA, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7175 GAME( 1997, topskatruo,topskatr, model2c,      topskatr, model2c_state, empty_init, ROT0, "Sega",   "Top Skater (USA)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7176 GAME( 1997, topskatrj, topskatr, model2c,      topskatr, model2c_state, empty_init, ROT0, "Sega",   "Top Skater (Japan)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7177 GAME( 1998, dynamcopc, dynamcop, model2c_5881, dynamcop, model2c_state, empty_init, ROT0, "Sega",   "Dynamite Cop (USA, Model 2C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
7178