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