1 // license:BSD-3-Clause
2 // copyright-holders:Aaron Giles
3 /***************************************************************************
4 
5     Sega Hang On hardware
6 
7 ****************************************************************************
8 
9     Known bugs:
10         * none at this time
11 
12     To do for each game:
13         * verify analog input min/max
14         * verify protection
15 
16 ***************************************************************************/
17 
18 #include "emu.h"
19 #include "includes/segahang.h"
20 #include "includes/segaipt.h"
21 
22 #include "machine/fd1089.h"
23 #include "machine/fd1094.h"
24 #include "sound/2203intf.h"
25 #include "sound/ym2151.h"
26 #include "sound/segapcm.h"
27 #include "speaker.h"
28 
29 
30 
31 //**************************************************************************
32 //  CONSTANTS
33 //**************************************************************************
34 
35 const uint32_t MASTER_CLOCK_25MHz = 25174800;
36 const uint32_t MASTER_CLOCK_10MHz = 10000000;
37 const uint32_t MASTER_CLOCK_8MHz = 8000000;
38 
39 //**************************************************************************
40 //  PPI READ/WRITE CALLBACKS
41 //**************************************************************************
42 
43 //-------------------------------------------------
44 //  video_lamps_w - screen flip, sprite shadows,
45 //  display enable, lamps, and coin counters
46 //-------------------------------------------------
47 
video_lamps_w(uint8_t data)48 void segahang_state::video_lamps_w(uint8_t data)
49 {
50 	//
51 	//  Main PPI port B
52 	//
53 	//  D7 : FLIPC (1= flip screen, 0= normal orientation)
54 	//  D6 : SHADE0 (1= highlight, 0= shadow)
55 	//  D5 : Z80 /RESET
56 	//  D4 : /KILL (1= screen on, 0= screen off)
57 	//  D3 : LAMP2
58 	//  D2 : LAMP1
59 	//  D1 : COIN2
60 	//  D0 : COIN1
61 	//
62 
63 	// bit 7: screen flip
64 	m_segaic16vid->tilemap_set_flip(0, data & 0x80);
65 	m_sprites->set_flip(data & 0x80);
66 
67 	// bit 6: shadow/highlight control
68 	m_shadow = ~data & 0x40;
69 
70 	// bit 5: Z80 RESET line
71 	m_soundcpu->set_input_line(INPUT_LINE_RESET, (data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
72 
73 	// bit 4: enable display
74 	m_segaic16vid->set_display_enable(data & 0x10);
75 
76 	// bits 2 & 3: control the lamps
77 	m_lamps[1] = BIT(data, 3);
78 	m_lamps[0] = BIT(data, 2);
79 
80 	// bits 0 & 1: update coin counters
81 	machine().bookkeeping().coin_counter_w(1, data & 0x02);
82 	machine().bookkeeping().coin_counter_w(0, data & 0x01);
83 }
84 
85 
86 //-------------------------------------------------
87 //  tilemap_sound_w - handshaking bits, plus
88 //  tilemap control and global sound mute
89 //-------------------------------------------------
90 
tilemap_sound_w(uint8_t data)91 void segahang_state::tilemap_sound_w(uint8_t data)
92 {
93 	//
94 	//  Main PPI port C
95 	//
96 	//  D7 : Port A handshaking signal /OBF
97 	//  D6 : Port A handshaking signal ACK
98 	//  D5 : Port A handshaking signal IBF
99 	//  D4 : Port A handshaking signal /STB
100 	//  D3 : Port A handshaking signal INTR
101 	//  D2 : SCONT1 - Tilemap origin bit 1
102 	//  D1 : SCONT0 - Tilemap origin bit 0
103 	//  D0 : MUTE (1= audio on, 0= audio off)
104 	//
105 
106 	// bit 7: NMI signal to the sound CPU
107 	m_soundcpu->set_input_line(INPUT_LINE_NMI, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
108 
109 	// bits 1 & 2: tilemap origin
110 	m_segaic16vid->tilemap_set_colscroll(0, ~data & 0x04);
111 	m_segaic16vid->tilemap_set_rowscroll(0, ~data & 0x02);
112 
113 	// bit 0: sound mute
114 	machine().sound().system_enable(data & 0x01);
115 }
116 
117 
118 //-------------------------------------------------
119 //  sub_control_adc_w - sub CPU control and ADC
120 //  selects
121 //-------------------------------------------------
122 
sub_control_adc_w(uint8_t data)123 void segahang_state::sub_control_adc_w(uint8_t data)
124 {
125 	//
126 	//  Sub PPI port A
127 	//
128 	//  D6 : INTR line on second CPU
129 	//  D5 : RESET line on second CPU
130 	//  D3-D2 : ADC_SELECT
131 	//
132 
133 	// bit 6: INTR line
134 	m_subcpu->set_input_line(4, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
135 
136 	// bit 5: RESET line
137 	m_subcpu->set_input_line(INPUT_LINE_RESET, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
138 
139 	// bits 2 & 3: ADC select
140 	m_adc_select = (data >> 2) & 3;
141 }
142 
143 
144 //-------------------------------------------------
145 //  adc_status_r - get ADC status
146 //-------------------------------------------------
147 
adc_status_r()148 uint8_t segahang_state::adc_status_r()
149 {
150 	//
151 	// D7 = 0 (left open)
152 	// D6 = /INTR of ADC0804
153 	// D5 = 0 (left open)
154 	// D4 = 0 (left open)
155 	//
156 	return m_adc->intr_r() << 6;
157 }
158 
159 
160 
161 //**************************************************************************
162 //  MAIN CPU READ/WRITE HANDLERS
163 //**************************************************************************
164 
165 //-------------------------------------------------
166 //  hangon_inputs_r - input port selector for
167 //  Hang-On boards
168 //-------------------------------------------------
169 
hangon_inputs_r(offs_t offset)170 uint8_t segahang_state::hangon_inputs_r(offs_t offset)
171 {
172 	static const char *const sysports[] = { "SERVICE", "COINAGE", "DSW", "UNKNOWN" };
173 	return ioport(sysports[offset & 3])->read();
174 }
175 
176 
177 //-------------------------------------------------
178 //  sharrier_inputs_r - input port selector for
179 //  Space Harrier boards
180 //-------------------------------------------------
181 
sharrier_inputs_r(offs_t offset)182 uint8_t segahang_state::sharrier_inputs_r(offs_t offset)
183 {
184 	static const char *const sysports[] = { "SERVICE", "UNKNOWN", "COINAGE", "DSW" };
185 	return ioport(sysports[offset & 3])->read();
186 }
187 
188 
189 //-------------------------------------------------
190 //  sync_ppi_w - helper for writes to the PPI @ 4B
191 //-------------------------------------------------
192 
sync_ppi_w(offs_t offset,uint8_t data)193 void segahang_state::sync_ppi_w(offs_t offset, uint8_t data)
194 {
195 	// the port C handshaking signals control the Z80 NMI,
196 	// so we have to sync whenever we access this PPI
197 	synchronize(TID_PPI_WRITE, ((offset & 3) << 8) | data);
198 }
199 
200 
201 //-------------------------------------------------
202 //  analog_r - read multiplexed analog ports
203 //-------------------------------------------------
204 
analog_r()205 uint8_t segahang_state::analog_r()
206 {
207 	return m_adc_ports[m_adc_select].read_safe(0);
208 }
209 
210 
211 #if 0
212 TIMER_DEVICE_CALLBACK_MEMBER(segahang_state::hangon_irq)
213 {
214 	int scanline = param;
215 
216 	// according to the schematics, IRQ2 is generated every 16 scanlines
217 	if((scanline % 16) == 0)
218 		m_maincpu->set_input_line(2, HOLD_LINE);
219 
220 	if(scanline == 240)
221 		m_maincpu->set_input_line(4, HOLD_LINE);
222 }
223 #endif
224 
225 
226 
227 //**************************************************************************
228 //  Z80 SOUND CPU READ/WRITE HANDLERS
229 //**************************************************************************
230 
231 //-------------------------------------------------
232 //  sound_data_r - read data from the sound latch
233 //-------------------------------------------------
234 
sound_data_r()235 uint8_t segahang_state::sound_data_r()
236 {
237 	// assert ACK
238 	m_i8255_1->pc6_w(CLEAR_LINE);
239 	return m_soundlatch->read();
240 }
241 
242 
243 //**************************************************************************
244 //  I8751-RELATED VBLANK INTERRUPT HANDLERS
245 //**************************************************************************
246 
247 //-------------------------------------------------
248 //  i8751_main_cpu_vblank - if we have a fake
249 //  handler, we hook this to execute it
250 //-------------------------------------------------
251 
INTERRUPT_GEN_MEMBER(segahang_state::i8751_main_cpu_vblank)252 INTERRUPT_GEN_MEMBER( segahang_state::i8751_main_cpu_vblank )
253 {
254 	// if we have a fake 8751 handler, call it on VBLANK
255 	if (!m_i8751_vblank_hook.isnull())
256 		m_i8751_vblank_hook();
257 }
258 
259 
260 
261 //**************************************************************************
262 //  DRIVER OVERRIDES
263 //**************************************************************************
264 
265 //-------------------------------------------------
266 //  machine_reset - reset the state of the machine
267 //-------------------------------------------------
268 
machine_reset()269 void segahang_state::machine_reset()
270 {
271 	// reset misc components
272 	m_segaic16vid->tilemap_reset(*m_screen);
273 
274 	// queue up a timer to either boost interleave or disable the MCU
275 	synchronize(TID_INIT_I8751);
276 
277 	// reset global state
278 	m_adc_select = 0;
279 }
280 
281 
282 //-------------------------------------------------
283 //  device_timer - handle device timers
284 //-------------------------------------------------
285 
device_timer(emu_timer & timer,device_timer_id id,int param,void * ptr)286 void segahang_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
287 {
288 	switch (id)
289 	{
290 		// if we have a fake i8751 handler, disable the actual 8751, otherwise crank the interleave
291 		case TID_INIT_I8751:
292 			if (!m_i8751_vblank_hook.isnull())
293 				m_mcu->suspend(SUSPEND_REASON_DISABLE, 1);
294 			else if (m_mcu != nullptr)
295 				machine().scheduler().boost_interleave(attotime::zero, attotime::from_msec(10));
296 			break;
297 
298 		// synchronize writes to the 8255 PPI
299 		case TID_PPI_WRITE:
300 			m_i8255_1->write(param >> 8, param & 0xff);
301 			break;
302 	}
303 }
304 
305 
306 
307 //**************************************************************************
308 //  I8751 SIMULATIONS
309 //**************************************************************************
310 
311 //-------------------------------------------------
312 //  sharrier_i8751_sim - simulate the I8751
313 //  from Space Harrier
314 //-------------------------------------------------
315 
sharrier_i8751_sim()316 void segahang_state::sharrier_i8751_sim()
317 {
318 	// signal a VBLANK to the main CPU
319 	m_maincpu->set_input_line(4, HOLD_LINE);
320 
321 	// disable timer-based protection
322 	m_workram[0x090/2] = 1;
323 
324 	// read I/O ports
325 	m_workram[0x492/2] = (m_adc_ports[0]->read() << 8) | m_adc_ports[1]->read();
326 }
327 
328 
329 
330 //**************************************************************************
331 //  MAIN CPU ADDRESS MAPS
332 //**************************************************************************
333 
hangon_map(address_map & map)334 void segahang_state::hangon_map(address_map &map)
335 {
336 	map.unmap_value_high();
337 	map(0x000000, 0x03ffff).rom();
338 	map(0x20c000, 0x20ffff).ram().share("workram");
339 	map(0x400000, 0x403fff).rw(m_segaic16vid, FUNC(segaic16_video_device::tileram_r), FUNC(segaic16_video_device::tileram_w)).share("tileram");
340 	map(0x410000, 0x410fff).rw(m_segaic16vid, FUNC(segaic16_video_device::textram_r), FUNC(segaic16_video_device::textram_w)).share("textram");
341 	map(0x600000, 0x6007ff).ram().share("sprites");
342 	map(0xa00000, 0xa00fff).ram().w(FUNC(segahang_state::hangon_paletteram_w)).share("paletteram");
343 	map(0xc00000, 0xc3ffff).rom().region("subcpu", 0);
344 	map(0xc68000, 0xc68fff).ram().share("segaic16road:roadram");
345 	map(0xc7c000, 0xc7ffff).ram().share("subram");
346 	map(0xe00000, 0xe00007).mirror(0x1fcfd8).r(m_i8255_1, FUNC(i8255_device::read)).w(FUNC(segahang_state::sync_ppi_w)).umask16(0x00ff);
347 	map(0xe01000, 0xe01007).mirror(0x1fcfd8).r(FUNC(segahang_state::hangon_inputs_r)).umask16(0x00ff);
348 	map(0xe03000, 0xe03007).mirror(0x1fcfd8).rw(m_i8255_2, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff);
349 	map(0xe03021, 0xe03021).mirror(0x1fcfde).rw(m_adc, FUNC(adc0804_device::read), FUNC(adc0804_device::write));
350 }
351 
decrypted_opcodes_map(address_map & map)352 void segahang_state::decrypted_opcodes_map(address_map &map)
353 {
354 	map.unmap_value_high();
355 	map(0x000000, 0x03ffff).rom().share("decrypted_opcodes");
356 }
357 
sharrier_map(address_map & map)358 void segahang_state::sharrier_map(address_map &map)
359 {
360 	map.unmap_value_high();
361 	map(0x000000, 0x03ffff).rom();
362 	map(0x040000, 0x043fff).ram().share("workram");
363 	map(0x100000, 0x107fff).rw(m_segaic16vid, FUNC(segaic16_video_device::tileram_r), FUNC(segaic16_video_device::tileram_w)).share("tileram");
364 	map(0x108000, 0x108fff).rw(m_segaic16vid, FUNC(segaic16_video_device::textram_r), FUNC(segaic16_video_device::textram_w)).share("textram");
365 	map(0x110000, 0x110fff).ram().w(FUNC(segahang_state::paletteram_w)).share("paletteram");
366 	map(0x124000, 0x127fff).ram().share("subram");
367 	map(0x130000, 0x130fff).ram().share("sprites");
368 	map(0x140000, 0x140007).mirror(0xffc8).r(m_i8255_1, FUNC(i8255_device::read)).w(FUNC(segahang_state::sync_ppi_w)).umask16(0x00ff);
369 	map(0x140010, 0x140017).mirror(0xffc8).r(FUNC(segahang_state::sharrier_inputs_r)).umask16(0x00ff);
370 	map(0x140020, 0x140027).mirror(0xffc8).rw(m_i8255_2, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff);
371 	map(0x140031, 0x140031).mirror(0xffce).rw(m_adc, FUNC(adc0804_device::read), FUNC(adc0804_device::write));
372 	map(0xc68000, 0xc68fff).ram().share("segaic16road:roadram");
373 }
374 
375 
376 
377 //**************************************************************************
378 //  SUB CPU ADDRESS MAPS
379 //**************************************************************************
380 
381 	// On Super Hang On there is a memory mapper, like the System16 one, todo: emulate it!
sub_map(address_map & map)382 void segahang_state::sub_map(address_map &map)
383 {
384 	map.unmap_value_high();
385 	map.global_mask(0x7ffff);
386 	map(0x000000, 0x03ffff).rom();
387 	map(0x068000, 0x068fff).ram().share("segaic16road:roadram");
388 	map(0x07c000, 0x07ffff).ram().share("subram");
389 }
390 
fd1094_decrypted_opcodes_map(address_map & map)391 void segahang_state::fd1094_decrypted_opcodes_map(address_map &map)
392 {
393 	map(0x00000, 0xfffff).bankr("fd1094_decrypted_opcodes");
394 }
395 
396 //**************************************************************************
397 //  SOUND CPU ADDRESS MAPS
398 //**************************************************************************
399 
sound_map_2203(address_map & map)400 void segahang_state::sound_map_2203(address_map &map)
401 {
402 	map.unmap_value_high();
403 	map(0x0000, 0x7fff).rom();
404 	map(0xc000, 0xc7ff).mirror(0x0800).ram();
405 	map(0xd000, 0xd001).mirror(0x0ffe).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
406 	map(0xe000, 0xe0ff).mirror(0x0f00).rw("pcm", FUNC(segapcm_device::read), FUNC(segapcm_device::write));
407 }
408 
sound_portmap_2203(address_map & map)409 void segahang_state::sound_portmap_2203(address_map &map)
410 {
411 	map.unmap_value_high();
412 	map.global_mask(0xff);
413 	map(0x40, 0x40).mirror(0x3f).r(FUNC(segahang_state::sound_data_r));
414 }
415 
sound_map_2151(address_map & map)416 void segahang_state::sound_map_2151(address_map &map)
417 {
418 	map.unmap_value_high();
419 	map(0x0000, 0x7fff).rom();
420 	map(0xf000, 0xf0ff).mirror(0x700).rw("pcm", FUNC(segapcm_device::read), FUNC(segapcm_device::write));
421 	map(0xf800, 0xffff).ram();
422 }
423 
sound_portmap_2151(address_map & map)424 void segahang_state::sound_portmap_2151(address_map &map)
425 {
426 	map.unmap_value_high();
427 	map.global_mask(0xff);
428 	map(0x00, 0x01).mirror(0x3e).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write));
429 	map(0x40, 0x40).mirror(0x3f).r(FUNC(segahang_state::sound_data_r));
430 }
431 
sound_portmap_2203x2(address_map & map)432 void segahang_state::sound_portmap_2203x2(address_map &map)
433 {
434 	map.unmap_value_high();
435 	map.global_mask(0xff);
436 	map(0x00, 0x01).mirror(0x3e).rw("ym1", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
437 	map(0x40, 0x40).mirror(0x3f).r(FUNC(segahang_state::sound_data_r));
438 	map(0xc0, 0xc1).mirror(0x3e).rw("ym2", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
439 }
440 
441 
442 
443 //**************************************************************************
444 //  I8751 MCU ADDRESS MAPS
445 //**************************************************************************
446 
mcu_io_map(address_map & map)447 void segahang_state::mcu_io_map(address_map &map)
448 {
449 }
450 
451 
452 
453 //**************************************************************************
454 //  GENERIC PORT DEFINITIONS
455 //**************************************************************************
456 
457 static INPUT_PORTS_START( hangon_generic )
458 	PORT_START("SERVICE")
459 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
460 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
461 	PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
462 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
463 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
464 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
465 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
466 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
467 
468 	PORT_START("COINAGE")
SEGA_COINAGE_LOC(SWA)469 	SEGA_COINAGE_LOC(SWA)
470 
471 	PORT_START("DSW")
472 	PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
473 	PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
474 	PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
475 	PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
476 	PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
477 	PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
478 	PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
479 	PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
480 
481 	PORT_START("UNKNOWN")
482 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
483 INPUT_PORTS_END
484 
485 
486 static INPUT_PORTS_START( sharrier_generic )
487 	PORT_START("SERVICE")
488 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
489 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
490 	PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
491 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
492 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
493 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
494 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
495 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
496 
497 	PORT_START("UNKNOWN")
498 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
499 
500 	PORT_START("COINAGE")
501 	SEGA_COINAGE_LOC(SWA)
502 
503 	PORT_START("DSW")
504 	PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SWB:1" )
505 	PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SWB:2" )
506 	PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SWB:3" )
507 	PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SWB:4" )
508 	PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SWB:5" )
509 	PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SWB:6" )
510 	PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SWB:7" )
511 	PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SWB:8" )
512 INPUT_PORTS_END
513 
514 
515 
516 //**************************************************************************
517 //  GAME-SPECIFIC PORT DEFINITIONS
518 //**************************************************************************
519 
520 static INPUT_PORTS_START( hangon )
521 	PORT_INCLUDE( hangon_generic )
522 
523 	PORT_MODIFY("DSW")
524 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
525 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
526 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
527 	PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3") // Other Bike's Appearance Frequency
528 	PORT_DIPSETTING(    0x04, DEF_STR( Easy ) )
529 	PORT_DIPSETTING(    0x06, DEF_STR( Medium ) )
530 	PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
531 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
532 	PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SWB:4,5")
533 	PORT_DIPSETTING(    0x18, DEF_STR( Normal ) )
534 	PORT_DIPSETTING(    0x10, DEF_STR( Medium ) )
535 	PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )
536 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
537 	PORT_DIPNAME( 0x20, 0x20, "Play Music" ) PORT_DIPLOCATION("SWB:6")
538 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
539 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
540 
541 	PORT_START("ADC0")  // steering
542 	PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE
543 
544 	PORT_START("ADC1")  // gas pedal
545 	PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20)
546 
547 	PORT_START("ADC2")  // brake
548 	PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(40)
549 INPUT_PORTS_END
550 
551 static INPUT_PORTS_START( hangon2 )
552 	PORT_INCLUDE( hangon )
553 
554 	/* TODO: dips */
555 
556 	/* new inputs, specific to this version */
557 	PORT_MODIFY("SERVICE")
558 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Foot SW.R")
559 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Foot SW.L")
560 INPUT_PORTS_END
561 
562 static INPUT_PORTS_START( shangupb )
563 	PORT_INCLUDE( hangon_generic )
564 
565 	PORT_MODIFY("SERVICE")
566 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Supercharger") PORT_CODE(KEYCODE_LSHIFT)
567 
568 	PORT_MODIFY("DSW")
569 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:1")
570 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
571 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
572 	PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3") // Other Bike's Appearance Frequency
573 	PORT_DIPSETTING(    0x04, DEF_STR( Easy ) )
574 	PORT_DIPSETTING(    0x06, DEF_STR( Normal ) )
575 	PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
576 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
577 	PORT_DIPNAME( 0x18, 0x18, "Time Adj." ) PORT_DIPLOCATION("SWB:4,5")
578 	PORT_DIPSETTING(    0x10, DEF_STR( Easy ) )
579 	PORT_DIPSETTING(    0x18, DEF_STR( Normal ) )
580 	PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )
581 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
582 
583 	PORT_START("ADC0")  // steering
584 	PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE
585 
586 	PORT_START("ADC1")  // gas pedal
587 	PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20)
588 
589 	PORT_START("ADC2")  // brake
590 	PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(40)
591 INPUT_PORTS_END
592 
593 static INPUT_PORTS_START( shangonro )
594 	PORT_INCLUDE( shangupb )
595 
596 	PORT_MODIFY("SERVICE")
597 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // still shows in test mode next to a blank label
598 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Foot Sw. Right") PORT_CODE(KEYCODE_SPACE) // no effect?
599 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Foot Sw. Left") PORT_CODE(KEYCODE_LSHIFT) // no effect?
600 INPUT_PORTS_END
601 
602 
603 static INPUT_PORTS_START( sharrier )
604 	PORT_INCLUDE( sharrier_generic )
605 
606 	PORT_MODIFY("SERVICE")
607 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
608 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
609 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON3 )
610 
611 	PORT_MODIFY("DSW")
612 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:1")
613 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
614 	PORT_DIPSETTING(    0x01, "Moving" )
615 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:2")
616 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
617 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
618 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SWB:3,4")
619 	PORT_DIPSETTING(    0x08, "2" )
620 	PORT_DIPSETTING(    0x0c, "3" )
621 	PORT_DIPSETTING(    0x04, "4" )
622 	PORT_DIPSETTING(    0x00, "5" )
623 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SWB:5")
624 	PORT_DIPSETTING(    0x10, "5000000" )
625 	PORT_DIPSETTING(    0x00, "7000000" )
626 	PORT_DIPNAME( 0x20, 0x20, "Trial Time" ) PORT_DIPLOCATION("SWB:6")
627 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
628 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
629 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:7,8")
630 	PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
631 	PORT_DIPSETTING(    0xc0, DEF_STR( Medium ) )
632 	PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
633 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
634 
635 	PORT_START("ADC0")  // X axis
636 	PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE
637 
638 	PORT_START("ADC1")  // Y axis
639 	PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0x20,0xe0) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE
640 INPUT_PORTS_END
641 
642 
643 static INPUT_PORTS_START( enduror )
644 	PORT_INCLUDE( sharrier_generic )
645 
646 	PORT_MODIFY("SERVICE")
647 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
648 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
649 
650 	PORT_MODIFY("DSW")
651 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SWB:1")
652 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
653 	PORT_DIPSETTING(    0x01, "Wheelie" )
654 	PORT_DIPNAME( 0x06, 0x06, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWB:2,3")
655 	PORT_DIPSETTING(    0x04, DEF_STR( Easy ) )
656 	PORT_DIPSETTING(    0x06, DEF_STR( Medium ) )
657 	PORT_DIPSETTING(    0x02, DEF_STR( Hard ) )
658 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
659 	PORT_DIPNAME( 0x18, 0x18, "Time Adjust" ) PORT_DIPLOCATION("SWB:4,5")
660 	PORT_DIPSETTING(    0x10, DEF_STR( Easy ) )
661 	PORT_DIPSETTING(    0x18, DEF_STR( Medium ) )
662 	PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )
663 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
664 	PORT_DIPNAME( 0x60, 0x60, "Time Control" ) PORT_DIPLOCATION("SWB:6,7")
665 	PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
666 	PORT_DIPSETTING(    0x60, DEF_STR( Medium ) )
667 	PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )
668 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
669 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWB:8")
670 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
671 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
672 
673 	PORT_START("ADC0")  // gas pedal
674 	PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20)
675 
676 	PORT_START("ADC1")  // brake
677 	PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(40)
678 
679 	PORT_START("ADC2")  // bank up/down
680 	PORT_BIT( 0xff, 0x20, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4)
681 
682 	PORT_START("ADC3")  // steering
683 	PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_MINMAX(0x01,0xff) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) PORT_REVERSE
684 INPUT_PORTS_END
685 
686 
687 //**************************************************************************
688 //  GRAPHICS DECODING
689 //**************************************************************************
690 
691 static GFXDECODE_START( gfx_segahang )
692 	GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x3_planar, 0, 1024 )
693 GFXDECODE_END
694 
695 
696 
697 //**************************************************************************
698 //  GENERIC MACHINE DRIVERS
699 //**************************************************************************
700 
701 void segahang_state::shared_base(machine_config &config)
702 {
703 	// basic machine hardware
704 	M68000(config, m_maincpu, MASTER_CLOCK_25MHz/4);
705 	m_maincpu->set_addrmap(AS_PROGRAM, &segahang_state::hangon_map);
706 	m_maincpu->set_vblank_int("screen", FUNC(segahang_state::irq4_line_hold));
707 
708 	M68000(config, m_subcpu, MASTER_CLOCK_25MHz/4);
709 	m_subcpu->set_addrmap(AS_PROGRAM, &segahang_state::sub_map);
710 
711 	config.set_maximum_quantum(attotime::from_hz(6000));
712 
713 	I8255(config, m_i8255_1);
714 	m_i8255_1->out_pa_callback().set("soundlatch", FUNC(generic_latch_8_device::write));
715 	m_i8255_1->out_pb_callback().set(FUNC(segahang_state::video_lamps_w));
716 	m_i8255_1->out_pc_callback().set(FUNC(segahang_state::tilemap_sound_w));
717 
718 	I8255(config, m_i8255_2);
719 	m_i8255_2->out_pa_callback().set(FUNC(segahang_state::sub_control_adc_w));
720 	m_i8255_2->in_pc_callback().set(FUNC(segahang_state::adc_status_r));
721 
722 	ADC0804(config, m_adc, MASTER_CLOCK_25MHz/4/6);
723 	m_adc->vin_callback().set(FUNC(segahang_state::analog_r));
724 
725 	SEGAIC16VID(config, m_segaic16vid, 0, "gfxdecode");
726 	SEGAIC16_ROAD(config, m_segaic16road, 0);
727 
728 	// video hardware
729 	GFXDECODE(config, "gfxdecode", m_palette, gfx_segahang);
730 	PALETTE(config, m_palette).set_entries(2048*3);
731 
732 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
733 	m_screen->set_raw(MASTER_CLOCK_25MHz/4, 400, 0, 320, 262, 0, 224);
734 	m_screen->set_screen_update(FUNC(segahang_state::screen_update));
735 	m_screen->set_palette(m_palette);
736 
737 	GENERIC_LATCH_8(config, m_soundlatch);
738 }
739 
hangon_base(machine_config & config)740 void segahang_state::hangon_base(machine_config &config)
741 {
742 	shared_base(config);
743 	// video hardware
744 	SEGA_HANGON_SPRITES(config, m_sprites, 0);
745 }
746 
sharrier_base(machine_config & config)747 void segahang_state::sharrier_base(machine_config &config)
748 {
749 	shared_base(config);
750 
751 	// basic machine hardware
752 	m_maincpu->set_clock(MASTER_CLOCK_10MHz);
753 	m_maincpu->set_addrmap(AS_PROGRAM, &segahang_state::sharrier_map);
754 
755 	m_subcpu->set_clock(MASTER_CLOCK_10MHz);
756 
757 	// video hardware
758 	SEGA_SHARRIER_SPRITES(config, m_sprites, 0);
759 	m_palette->set_entries(2048*2);
760 }
761 
enduror_base(machine_config & config)762 void segahang_state::enduror_base(machine_config &config)
763 {
764 	sharrier_base(config);
765 
766 	// basic machine hardware
767 	FD1089B(config.replace(), m_maincpu, MASTER_CLOCK_10MHz);
768 	m_maincpu->set_addrmap(AS_PROGRAM, &segahang_state::sharrier_map);
769 	m_maincpu->set_vblank_int("screen", FUNC(segahang_state::irq4_line_hold));
770 }
771 
endurord_base(machine_config & config)772 void segahang_state::endurord_base(machine_config &config)
773 {
774 	sharrier_base(config);
775 
776 	// basic machine hardware
777 	M68000(config.replace(), m_maincpu, MASTER_CLOCK_10MHz);
778 	m_maincpu->set_addrmap(AS_PROGRAM, &segahang_state::sharrier_map);
779 	m_maincpu->set_vblank_int("screen", FUNC(segahang_state::irq4_line_hold));
780 }
781 
sound_board_2203(machine_config & config)782 void segahang_state::sound_board_2203(machine_config &config)
783 {
784 	// basic machine hardware
785 	Z80(config, m_soundcpu, MASTER_CLOCK_8MHz/2);
786 	m_soundcpu->set_addrmap(AS_PROGRAM, &segahang_state::sound_map_2203);
787 	m_soundcpu->set_addrmap(AS_IO, &segahang_state::sound_portmap_2203);
788 
789 	// sound hardware
790 	SPEAKER(config, "lspeaker").front_left();
791 	SPEAKER(config, "rspeaker").front_right();
792 
793 	ym2203_device &ymsnd(YM2203(config, "ymsnd", MASTER_CLOCK_8MHz/2));
794 	ymsnd.irq_handler().set_inputline("soundcpu", 0);
795 	ymsnd.add_route(0, "lspeaker",  0.13);
796 	ymsnd.add_route(0, "rspeaker", 0.13);
797 	ymsnd.add_route(1, "lspeaker",  0.13);
798 	ymsnd.add_route(1, "rspeaker", 0.13);
799 	ymsnd.add_route(2, "lspeaker",  0.13);
800 	ymsnd.add_route(2, "rspeaker", 0.13);
801 	ymsnd.add_route(3, "lspeaker",  0.37);
802 	ymsnd.add_route(3, "rspeaker", 0.37);
803 
804 	segapcm_device &pcm(SEGAPCM(config, "pcm", MASTER_CLOCK_8MHz));
805 	pcm.set_bank(segapcm_device::BANK_512);
806 	pcm.add_route(0, "lspeaker", 1.0);
807 	pcm.add_route(1, "rspeaker", 1.0);
808 }
809 
sound_board_2203x2(machine_config & config)810 void segahang_state::sound_board_2203x2(machine_config &config)
811 {
812 	// basic machine hardware
813 	Z80(config, m_soundcpu, MASTER_CLOCK_8MHz/2);
814 	m_soundcpu->set_addrmap(AS_PROGRAM, &segahang_state::sound_map_2151);
815 	m_soundcpu->set_addrmap(AS_IO, &segahang_state::sound_portmap_2203x2);
816 
817 	// sound hardware
818 	SPEAKER(config, "lspeaker").front_left();
819 	SPEAKER(config, "rspeaker").front_right();
820 
821 	ym2203_device &ym1(YM2203(config, "ym1", MASTER_CLOCK_8MHz/2));
822 	ym1.irq_handler().set_inputline("soundcpu", 0);
823 	ym1.add_route(0, "lspeaker",  0.13);
824 	ym1.add_route(0, "rspeaker", 0.13);
825 	ym1.add_route(1, "lspeaker",  0.13);
826 	ym1.add_route(1, "rspeaker", 0.13);
827 	ym1.add_route(2, "lspeaker",  0.13);
828 	ym1.add_route(2, "rspeaker", 0.13);
829 	ym1.add_route(3, "lspeaker",  0.37);
830 	ym1.add_route(3, "rspeaker", 0.37);
831 
832 	ym2203_device &ym2(YM2203(config, "ym2", MASTER_CLOCK_8MHz/2));
833 	ym2.add_route(0, "lspeaker",  0.13);
834 	ym2.add_route(0, "rspeaker", 0.13);
835 	ym2.add_route(1, "lspeaker",  0.13);
836 	ym2.add_route(1, "rspeaker", 0.13);
837 	ym2.add_route(2, "lspeaker",  0.13);
838 	ym2.add_route(2, "rspeaker", 0.13);
839 	ym2.add_route(3, "lspeaker",  0.37);
840 	ym2.add_route(3, "rspeaker", 0.37);
841 
842 	segapcm_device &pcm(SEGAPCM(config, "pcm", MASTER_CLOCK_8MHz/2));
843 	pcm.set_bank(segapcm_device::BANK_512);
844 	pcm.add_route(0, "lspeaker", 1.0);
845 	pcm.add_route(1, "rspeaker", 1.0);
846 }
847 
sound_board_2151(machine_config & config)848 void segahang_state::sound_board_2151(machine_config &config)
849 {
850 	// basic machine hardware
851 	Z80(config, m_soundcpu, MASTER_CLOCK_8MHz/2);
852 	m_soundcpu->set_addrmap(AS_PROGRAM, &segahang_state::sound_map_2151);
853 	m_soundcpu->set_addrmap(AS_IO, &segahang_state::sound_portmap_2151);
854 
855 	// sound hardware
856 	SPEAKER(config, "lspeaker").front_left();
857 	SPEAKER(config, "rspeaker").front_right();
858 
859 	ym2151_device &ymsnd(YM2151(config, "ymsnd", MASTER_CLOCK_8MHz/2));
860 	ymsnd.irq_handler().set_inputline(m_soundcpu, 0);
861 	ymsnd.add_route(0, "lspeaker", 0.43);
862 	ymsnd.add_route(1, "rspeaker", 0.43);
863 
864 	segapcm_device &pcm(SEGAPCM(config, "pcm", MASTER_CLOCK_8MHz/2));
865 	pcm.set_bank(segapcm_device::BANK_512);
866 	pcm.add_route(0, "lspeaker", 1.0);
867 	pcm.add_route(1, "rspeaker", 1.0);
868 }
869 
870 
871 //**************************************************************************
872 //  SPECIFIC MACHINE DRIVERS
873 //**************************************************************************
874 
hangon(machine_config & config)875 void segahang_state::hangon(machine_config &config)
876 {
877 	hangon_base(config);
878 	sound_board_2203(config);
879 }
880 
shangupb(machine_config & config)881 void segahang_state::shangupb(machine_config &config)
882 {
883 	hangon_base(config);
884 	sound_board_2151(config);
885 
886 	// not sure about these speeds, but at 6MHz, the road is not updated fast enough
887 	m_maincpu->set_clock(10000000);
888 	m_subcpu->set_clock(10000000);
889 }
890 
shangonro(machine_config & config)891 void segahang_state::shangonro(machine_config &config)
892 {
893 	shangupb(config);
894 	FD1094(config.replace(), m_subcpu, 10000000);
895 	m_subcpu->set_addrmap(AS_PROGRAM, &segahang_state::sub_map);
896 	m_subcpu->set_addrmap(AS_OPCODES, &segahang_state::fd1094_decrypted_opcodes_map);
897 }
898 
sharrier(machine_config & config)899 void segahang_state::sharrier(machine_config &config)
900 {
901 	sharrier_base(config);
902 	sound_board_2203(config);
903 
904 	m_maincpu->set_vblank_int("screen", FUNC(segahang_state::i8751_main_cpu_vblank));
905 
906 	I8751(config, m_mcu, 8000000);
907 	m_mcu->set_addrmap(AS_IO, &segahang_state::mcu_io_map);
908 
909 	m_screen->screen_vblank().set_inputline("mcu", INPUT_LINE_IRQ0);
910 }
911 
enduror(machine_config & config)912 void segahang_state::enduror(machine_config &config)
913 {
914 	enduror_base(config);
915 	sound_board_2151(config);
916 }
917 
enduror1(machine_config & config)918 void segahang_state::enduror1(machine_config &config)
919 {
920 	enduror_base(config);
921 	sound_board_2203(config);
922 }
923 
endurord(machine_config & config)924 void segahang_state::endurord(machine_config &config)
925 {
926 	endurord_base(config);
927 	sound_board_2151(config);
928 }
929 
enduror1d(machine_config & config)930 void segahang_state::enduror1d(machine_config &config)
931 {
932 	endurord_base(config);
933 	sound_board_2203(config);
934 }
935 
endurobl(machine_config & config)936 void segahang_state::endurobl(machine_config &config)
937 {
938 	sharrier_base(config);
939 	m_maincpu->set_addrmap(AS_OPCODES, &segahang_state::decrypted_opcodes_map);
940 
941 	sound_board_2203(config);
942 }
943 
endurob2(machine_config & config)944 void segahang_state::endurob2(machine_config &config)
945 {
946 	sharrier_base(config);
947 	m_maincpu->set_addrmap(AS_OPCODES, &segahang_state::decrypted_opcodes_map);
948 
949 	sound_board_2203x2(config);
950 }
951 
952 
953 
954 //**************************************************************************
955 //  ROM definitions
956 //**************************************************************************
957 
958 
959 //*************************************************************************************************************************
960 //*************************************************************************************************************************
961 //*************************************************************************************************************************
962 //  Hang On (Rev A) (stickered "834-5667-01 // HANG ON // REV. A")
963 //  CPU: 68000 (317-????, HD68000P8)
964 //
965 //   ASSY CPU BD 834-5704-01
966 //   ASSY CONTROL BD 834-5668
967 //   ASSY ROM BD 834-5669
968 //   ASSY SOUND BD 834-5670-01 (stickered 834-5706-01 HANG ON)
969 //
970 // PCBs also found stickered as:
971 //   834-5667-01 HANG ON REV.A
972 //   (FOR SIT-DOWN UP-RIGHT)
973 //
974 ROM_START( hangon )
975 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
976 	ROM_LOAD16_BYTE( "epr-6918a.ic22", 0x000000, 0x8000, CRC(20b1c2b0) SHA1(01b4f5105e2bbeb6ec6dbd18bfb728e3a973e0ca) )
977 	ROM_LOAD16_BYTE( "epr-6916a.ic8",  0x000001, 0x8000, CRC(7d9db1bf) SHA1(952ee3e7a0d57ec1bb3385e0e6675890b8378d31) )
CRC(fea12367)978 	ROM_LOAD16_BYTE( "epr-6917a.ic20", 0x010000, 0x8000, CRC(fea12367) SHA1(9a1ce5863c562160b657ad948812b43f42d7d0cc) )
979 	ROM_LOAD16_BYTE( "epr-6915a.ic6",  0x010001, 0x8000, CRC(ac883240) SHA1(f943341ae13e062f3d12c6221180086ce8bdb8c4) )
980 
981 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
982 	ROM_LOAD16_BYTE( "epr-6920.ic63", 0x0000, 0x8000, CRC(1c95013e) SHA1(8344ac953477279c2c701f984d98292a21dd2f7d) )
983 	ROM_LOAD16_BYTE( "epr-6919.ic51", 0x0001, 0x8000, CRC(6ca30d69) SHA1(ed933351883ebf6d9ef9428a81d09749b609cd60) )
984 
985 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
986 	ROM_LOAD( "epr-6841.ic38", 0x00000, 0x08000, CRC(54d295dc) SHA1(ad8cdb281032a2f931c2abbeb966998944683dc3) )
987 	ROM_LOAD( "epr-6842.ic23", 0x08000, 0x08000, CRC(f677b568) SHA1(636ca60bd4be9b5c2be09de8ae49db1063aa6c79) )
988 	ROM_LOAD( "epr-6843.ic7",  0x10000, 0x08000, CRC(a257f0da) SHA1(9828f8ce4ef245ffb8dbad347f9ca74ed81aa998) )
989 
990 	ROM_REGION16_BE( 0x80000, "sprites", 0 ) // sprites
991 	ROM_LOAD16_BYTE( "epr-6819.ic27", 0x000001, 0x8000, CRC(469dad07) SHA1(6d01c0b3506e28832928ad74d518577ff5be323b) )
992 	ROM_LOAD16_BYTE( "epr-6820.ic34", 0x000000, 0x8000, CRC(87cbc6de) SHA1(b64652e062e1b88c6f6ae8dd2ffe4533bb27ba45) )
993 	ROM_LOAD16_BYTE( "epr-6821.ic28", 0x010001, 0x8000, CRC(15792969) SHA1(b061dbf24e8b511116446794753c8b0cc49e2149) )
994 	ROM_LOAD16_BYTE( "epr-6822.ic35", 0x010000, 0x8000, CRC(e9718de5) SHA1(30e3a7d5b33504da03c5780b4a946b977e46098a) )
995 	ROM_LOAD16_BYTE( "epr-6823.ic29", 0x020001, 0x8000, CRC(49422691) SHA1(caee2a4a3f4587ae27dec330214edaa1229012af) )
996 	ROM_LOAD16_BYTE( "epr-6824.ic36", 0x020000, 0x8000, CRC(701deaa4) SHA1(053032ef886b85a4cb4753d17b3c27d228695157) )
997 	ROM_LOAD16_BYTE( "epr-6825.ic30", 0x030001, 0x8000, CRC(6e23c8b4) SHA1(b17fd7d590ed4e6616b7b4d91a47a2820248d8c7) )
998 	ROM_LOAD16_BYTE( "epr-6826.ic37", 0x030000, 0x8000, CRC(77d0de2c) SHA1(83b126ed1d463504b2702391816e6e20dcd04ffc) )
999 	ROM_LOAD16_BYTE( "epr-6827.ic31", 0x040001, 0x8000, CRC(7fa1bfb6) SHA1(a27b54c93613372f59050f0b2182d2984a8d2efe) )
1000 	ROM_LOAD16_BYTE( "epr-6828.ic38", 0x040000, 0x8000, CRC(8e880c93) SHA1(8c55deec065daf09a5d1c1c1f3f3f7bc1aeaf563) )
1001 	ROM_LOAD16_BYTE( "epr-6829.ic32", 0x050001, 0x8000, CRC(7ca0952d) SHA1(617d73591158ed3fea5174f7dabf0413d28de9b3) )
1002 	ROM_LOAD16_BYTE( "epr-6830.ic39", 0x050000, 0x8000, CRC(b1a63aef) SHA1(5db0a1cc2d13c6cfc77044f5d7f6f99d198531ed) )
1003 	ROM_LOAD16_BYTE( "epr-6845.ic18", 0x060001, 0x8000, CRC(ba08c9b8) SHA1(65ceaefa18999c468b38576c29101674d1f63e5f) )
1004 	ROM_LOAD16_BYTE( "epr-6846.ic25", 0x060000, 0x8000, CRC(f21e57a3) SHA1(92ce0723e722f446c0cef9e23080a008aa9752e7) )
1005 
1006 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1007 	ROM_LOAD( "epr-6840.ic108", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
1008 
1009 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1010 	ROM_LOAD( "epr-6833.ic73", 0x00000, 0x4000, CRC(3b942f5f) SHA1(4384b5c090954e69de561dde0ef32104aa11399a) )
1011 
1012 	ROM_REGION( 0x10000, "pcm", 0 ) // Sega PCM sound data
1013 	ROM_LOAD( "epr-6831.ic5", 0x00000, 0x8000, CRC(cfef5481) SHA1(c04b302fee58f0e59a097b2be2b61e5d03df7c91) )
1014 	ROM_LOAD( "epr-6832.ic6", 0x08000, 0x8000, CRC(4165aea5) SHA1(be05c6d295807af2f396a1ff72d5a3d2a1e6054d) )
1015 
1016 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1017 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1018 
1019 	ROM_REGION( 0x300, "plds", 0 )
1020 	ROM_LOAD( "315-5118.bin", 0x000, 0x08f, CRC(51d448a2) SHA1(0a1018cc1d4c6dc87625d59539d257e01c9dc872) )
1021 	ROM_LOAD( "315-5119.bin", 0x100, 0x08f, CRC(a37f00e1) SHA1(129b10f6cb48e1a1fefd69009380516cf2c677b5) )
1022 	ROM_LOAD( "315-5120.bin", 0x200, 0x08f, CRC(ba5f92ec) SHA1(74e1fb137ac2ab6dbdad2e8111c27b836e2ff14b) )
1023 ROM_END
1024 
1025 //*************************************************************************************************************************
1026 //  Hang On
1027 //  CPU: 68000 (317-????)
1028 //
1029 //   ASSY CPU BD 834-5704-01
1030 //   ASSY CONTROL BD 834-5668
1031 //   ASSY ROM BD 834-5669
1032 //   ASSY SOUND BD 834-5670-01 (stickered 834-5706-01 HANG ON)
1033 //
1034 ROM_START( hangon1 )
1035 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1036 	ROM_LOAD16_BYTE( "epr-6918.ic22", 0x000000, 0x8000, CRC(0bf4f2ac) SHA1(26c5bb6fe805644a8d427ad77814f4b0b1128b1a) )
1037 	ROM_LOAD16_BYTE( "epr-6916.ic8",  0x000001, 0x8000, CRC(06c21c8a) SHA1(f06f21ff272a803c72e5041534053494f055e466) )
1038 	ROM_LOAD16_BYTE( "epr-6917.ic20", 0x010000, 0x8000, CRC(f48a6cbc) SHA1(6437efaeb0e4cb727c03eb83678a9e107d244af1) )
1039 	ROM_LOAD16_BYTE( "epr-6915.ic6",  0x010001, 0x8000, CRC(75d3b5ee) SHA1(00948d0610f52b1b554cadde96227428e510e73e) )
1040 
1041 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1042 	ROM_LOAD16_BYTE( "epr-6920.ic63", 0x0000, 0x8000, CRC(1c95013e) SHA1(8344ac953477279c2c701f984d98292a21dd2f7d) )
1043 	ROM_LOAD16_BYTE( "epr-6919.ic51", 0x0001, 0x8000, CRC(6ca30d69) SHA1(ed933351883ebf6d9ef9428a81d09749b609cd60) )
1044 
1045 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1046 	ROM_LOAD( "epr-6841.ic38", 0x00000, 0x08000, CRC(54d295dc) SHA1(ad8cdb281032a2f931c2abbeb966998944683dc3) )
1047 	ROM_LOAD( "epr-6842.ic23", 0x08000, 0x08000, CRC(f677b568) SHA1(636ca60bd4be9b5c2be09de8ae49db1063aa6c79) )
1048 	ROM_LOAD( "epr-6843.ic7",  0x10000, 0x08000, CRC(a257f0da) SHA1(9828f8ce4ef245ffb8dbad347f9ca74ed81aa998) )
1049 
1050 	ROM_REGION16_BE( 0x80000, "sprites", 0 ) // sprites
1051 	ROM_LOAD16_BYTE( "epr-6819.ic27", 0x000001, 0x8000, CRC(469dad07) SHA1(6d01c0b3506e28832928ad74d518577ff5be323b) )
1052 	ROM_LOAD16_BYTE( "epr-6820.ic34", 0x000000, 0x8000, CRC(87cbc6de) SHA1(b64652e062e1b88c6f6ae8dd2ffe4533bb27ba45) )
1053 	ROM_LOAD16_BYTE( "epr-6821.ic28", 0x010001, 0x8000, CRC(15792969) SHA1(b061dbf24e8b511116446794753c8b0cc49e2149) )
1054 	ROM_LOAD16_BYTE( "epr-6822.ic35", 0x010000, 0x8000, CRC(e9718de5) SHA1(30e3a7d5b33504da03c5780b4a946b977e46098a) )
1055 	ROM_LOAD16_BYTE( "epr-6823.ic29", 0x020001, 0x8000, CRC(49422691) SHA1(caee2a4a3f4587ae27dec330214edaa1229012af) )
1056 	ROM_LOAD16_BYTE( "epr-6824.ic36", 0x020000, 0x8000, CRC(701deaa4) SHA1(053032ef886b85a4cb4753d17b3c27d228695157) )
1057 	ROM_LOAD16_BYTE( "epr-6825.ic30", 0x030001, 0x8000, CRC(6e23c8b4) SHA1(b17fd7d590ed4e6616b7b4d91a47a2820248d8c7) )
1058 	ROM_LOAD16_BYTE( "epr-6826.ic37", 0x030000, 0x8000, CRC(77d0de2c) SHA1(83b126ed1d463504b2702391816e6e20dcd04ffc) )
1059 	ROM_LOAD16_BYTE( "epr-6827.ic31", 0x040001, 0x8000, CRC(7fa1bfb6) SHA1(a27b54c93613372f59050f0b2182d2984a8d2efe) )
1060 	ROM_LOAD16_BYTE( "epr-6828.ic38", 0x040000, 0x8000, CRC(8e880c93) SHA1(8c55deec065daf09a5d1c1c1f3f3f7bc1aeaf563) )
1061 	ROM_LOAD16_BYTE( "epr-6829.ic32", 0x050001, 0x8000, CRC(7ca0952d) SHA1(617d73591158ed3fea5174f7dabf0413d28de9b3) )
1062 	ROM_LOAD16_BYTE( "epr-6830.ic39", 0x050000, 0x8000, CRC(b1a63aef) SHA1(5db0a1cc2d13c6cfc77044f5d7f6f99d198531ed) )
1063 	ROM_LOAD16_BYTE( "epr-6845.ic18", 0x060001, 0x8000, CRC(ba08c9b8) SHA1(65ceaefa18999c468b38576c29101674d1f63e5f) )
1064 	ROM_LOAD16_BYTE( "epr-6846.ic25", 0x060000, 0x8000, CRC(f21e57a3) SHA1(92ce0723e722f446c0cef9e23080a008aa9752e7) )
1065 
1066 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1067 	ROM_LOAD( "epr-6840.ic108", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
1068 
1069 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1070 	ROM_LOAD( "epr-6833.ic73", 0x00000, 0x4000, CRC(3b942f5f) SHA1(4384b5c090954e69de561dde0ef32104aa11399a) )
1071 
1072 	ROM_REGION( 0x10000, "pcm", 0 ) // Sega PCM sound data
1073 	ROM_LOAD( "epr-6831.ic5", 0x00000, 0x8000, CRC(cfef5481) SHA1(c04b302fee58f0e59a097b2be2b61e5d03df7c91) )
1074 	ROM_LOAD( "epr-6832.ic6", 0x08000, 0x8000, CRC(4165aea5) SHA1(be05c6d295807af2f396a1ff72d5a3d2a1e6054d) )
1075 
1076 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1077 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1078 
1079 	ROM_REGION( 0x300, "plds", 0 )
1080 	ROM_LOAD( "315-5118.bin", 0x000, 0x08f, CRC(51d448a2) SHA1(0a1018cc1d4c6dc87625d59539d257e01c9dc872) )
1081 	ROM_LOAD( "315-5119.bin", 0x100, 0x08f, CRC(a37f00e1) SHA1(129b10f6cb48e1a1fefd69009380516cf2c677b5) )
1082 	ROM_LOAD( "315-5120.bin", 0x200, 0x08f, CRC(ba5f92ec) SHA1(74e1fb137ac2ab6dbdad2e8111c27b836e2ff14b) )
1083 ROM_END
1084 
1085 //*************************************************************************************************************************
1086 //  Hang On (Ride-On version)
1087 //  CPU: HD68000P8 (no custom Sega label)
1088 //
1089 //   ASSY CPU BD 834-5704
1090 //   ASSY CONTROL BD 834-5668
1091 //   ASSY ROM BD 834-5669
1092 //   ASSY SOUND BD 834-5670-01 (stickered 834-5706-01 HANG ON)
1093 //
1094 // PCBs also found stickered as:
1095 //   834-5667 HANG ON REV.A
1096 //
1097 //   ROM & SOUND boards were missing, but Manual No. 420-5244 2nd Printing confirms they are the same with the same data / ROMs.
1098 //
1099 ROM_START( hangon2 )
1100 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1101 	ROM_LOAD16_BYTE( "epr-6851a.ic22", 0x000000, 0x8000, CRC(1e4d2217) SHA1(197d8939b7c9eea0496aecac55cce3dec51be042) )
1102 	ROM_LOAD16_BYTE( "epr-6849a.ic8",  0x000001, 0x8000, CRC(3793e50e) SHA1(ffcad02696ca6d67f6bd5001a0d4aa41e23e21bd) )
1103 	ROM_LOAD16_BYTE( "epr-6850a.ic20", 0x010000, 0x8000, CRC(5d715e3b) SHA1(88554d05e157b1276ba56b80d808fddedc9d71c5) )
1104 	ROM_LOAD16_BYTE( "epr-6848a.ic6",  0x010001, 0x8000, CRC(f1439a30) SHA1(5d496f80c2fda29eb71c29a050f17ecef4543052) )
1105 
1106 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1107 	ROM_LOAD16_BYTE( "epr-6839.ic63", 0x0000, 0x8000, CRC(2747b794) SHA1(06d296837f03f5dfb2d9d7e3001070b81391247f) )
1108 	ROM_LOAD16_BYTE( "epr-6838.ic51", 0x0001, 0x8000, CRC(73e9fa6e) SHA1(280c685698509a29bc7d1dd1d955ade4b6eac356) )
1109 
1110 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1111 	ROM_LOAD( "epr-6841.ic38", 0x00000, 0x08000, CRC(54d295dc) SHA1(ad8cdb281032a2f931c2abbeb966998944683dc3) )
1112 	ROM_LOAD( "epr-6842.ic23", 0x08000, 0x08000, CRC(f677b568) SHA1(636ca60bd4be9b5c2be09de8ae49db1063aa6c79) )
1113 	ROM_LOAD( "epr-6843.ic7",  0x10000, 0x08000, CRC(a257f0da) SHA1(9828f8ce4ef245ffb8dbad347f9ca74ed81aa998) )
1114 
1115 	ROM_REGION16_BE( 0x80000, "sprites", 0 ) // sprites
1116 	ROM_LOAD16_BYTE( "epr-6819.ic27", 0x000001, 0x8000, CRC(469dad07) SHA1(6d01c0b3506e28832928ad74d518577ff5be323b) )
1117 	ROM_LOAD16_BYTE( "epr-6820.ic34", 0x000000, 0x8000, CRC(87cbc6de) SHA1(b64652e062e1b88c6f6ae8dd2ffe4533bb27ba45) )
1118 	ROM_LOAD16_BYTE( "epr-6821.ic28", 0x010001, 0x8000, CRC(15792969) SHA1(b061dbf24e8b511116446794753c8b0cc49e2149) )
1119 	ROM_LOAD16_BYTE( "epr-6822.ic35", 0x010000, 0x8000, CRC(e9718de5) SHA1(30e3a7d5b33504da03c5780b4a946b977e46098a) )
1120 	ROM_LOAD16_BYTE( "epr-6823.ic29", 0x020001, 0x8000, CRC(49422691) SHA1(caee2a4a3f4587ae27dec330214edaa1229012af) )
1121 	ROM_LOAD16_BYTE( "epr-6824.ic36", 0x020000, 0x8000, CRC(701deaa4) SHA1(053032ef886b85a4cb4753d17b3c27d228695157) )
1122 	ROM_LOAD16_BYTE( "epr-6825.ic30", 0x030001, 0x8000, CRC(6e23c8b4) SHA1(b17fd7d590ed4e6616b7b4d91a47a2820248d8c7) )
1123 	ROM_LOAD16_BYTE( "epr-6826.ic37", 0x030000, 0x8000, CRC(77d0de2c) SHA1(83b126ed1d463504b2702391816e6e20dcd04ffc) )
1124 	ROM_LOAD16_BYTE( "epr-6827.ic31", 0x040001, 0x8000, CRC(7fa1bfb6) SHA1(a27b54c93613372f59050f0b2182d2984a8d2efe) )
1125 	ROM_LOAD16_BYTE( "epr-6828.ic38", 0x040000, 0x8000, CRC(8e880c93) SHA1(8c55deec065daf09a5d1c1c1f3f3f7bc1aeaf563) )
1126 	ROM_LOAD16_BYTE( "epr-6829.ic32", 0x050001, 0x8000, CRC(7ca0952d) SHA1(617d73591158ed3fea5174f7dabf0413d28de9b3) )
1127 	ROM_LOAD16_BYTE( "epr-6830.ic39", 0x050000, 0x8000, CRC(b1a63aef) SHA1(5db0a1cc2d13c6cfc77044f5d7f6f99d198531ed) )
1128 	ROM_LOAD16_BYTE( "epr-6845.ic18", 0x060001, 0x8000, CRC(ba08c9b8) SHA1(65ceaefa18999c468b38576c29101674d1f63e5f) )
1129 	ROM_LOAD16_BYTE( "epr-6846.ic25", 0x060000, 0x8000, CRC(f21e57a3) SHA1(92ce0723e722f446c0cef9e23080a008aa9752e7) )
1130 
1131 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1132 	ROM_LOAD( "epr-6833.ic73", 0x00000, 0x4000, CRC(3b942f5f) SHA1(4384b5c090954e69de561dde0ef32104aa11399a) )
1133 
1134 	ROM_REGION( 0x10000, "pcm", 0 ) // Sega PCM sound data
1135 	ROM_LOAD( "epr-6831.ic5", 0x00000, 0x8000, CRC(cfef5481) SHA1(c04b302fee58f0e59a097b2be2b61e5d03df7c91) )
1136 	ROM_LOAD( "epr-6832.ic6", 0x08000, 0x8000, CRC(4165aea5) SHA1(be05c6d295807af2f396a1ff72d5a3d2a1e6054d) )
1137 
1138 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1139 	ROM_LOAD( "epr-6840.ic108", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
1140 
1141 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1142 	ROM_LOAD( "epr-6844.ic119", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1143 
1144 	ROM_REGION( 0x300, "plds", 0 )
1145 	ROM_LOAD( "315-5118.bin", 0x000, 0x08f, CRC(51d448a2) SHA1(0a1018cc1d4c6dc87625d59539d257e01c9dc872) )
1146 	ROM_LOAD( "315-5119.bin", 0x100, 0x08f, CRC(a37f00e1) SHA1(129b10f6cb48e1a1fefd69009380516cf2c677b5) )
1147 	ROM_LOAD( "315-5120.bin", 0x200, 0x08f, CRC(ba5f92ec) SHA1(74e1fb137ac2ab6dbdad2e8111c27b836e2ff14b) )
1148 ROM_END
1149 
1150 //*************************************************************************************************************************
1151 //  # VF #
1152 //  Hang On spanish bootleg.
1153 //  Some customs were replaced with logic components.
1154 //
1155 ROM_START( hangonvf )
1156 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1157 	ROM_LOAD16_BYTE( "9.3n", 0x000000, 0x8000, CRC(20b1c2b0) SHA1(01b4f5105e2bbeb6ec6dbd18bfb728e3a973e0ca) )
1158 	ROM_LOAD16_BYTE( "11.1n",  0x000001, 0x8000, CRC(7d9db1bf) SHA1(952ee3e7a0d57ec1bb3385e0e6675890b8378d31) )
1159 	ROM_LOAD16_BYTE( "8.3k", 0x010000, 0x8000, CRC(fea12367) SHA1(9a1ce5863c562160b657ad948812b43f42d7d0cc) )
1160 	ROM_LOAD16_BYTE( "10.1k",  0x010001, 0x8000, CRC(ac883240) SHA1(f943341ae13e062f3d12c6221180086ce8bdb8c4) )
1161 
1162 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1163 	ROM_LOAD16_BYTE( "6.6l", 0x0000, 0x8000, CRC(1c95013e) SHA1(8344ac953477279c2c701f984d98292a21dd2f7d) )
1164 	ROM_LOAD16_BYTE( "7.5l", 0x0001, 0x8000, CRC(6ca30d69) SHA1(ed933351883ebf6d9ef9428a81d09749b609cd60) )
1165 
1166 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1167 	ROM_LOAD( "2.3j", 0x00000, 0x08000, CRC(255a3a58) SHA1(980372ab94949d1476282c83af0a08cc0555f1cd) )
1168 	ROM_LOAD( "3.2j", 0x08000, 0x08000, CRC(88b9ffd9) SHA1(7ecfab266f05d5f919806f195fb2572f220fdf68) )
1169 	ROM_LOAD( "4.1j",  0x10000, 0x08000, CRC(18882328) SHA1(737c025701877845fad63af145506a57c775f8e0) )
1170 
1171 	ROM_REGION16_BE( 0x80000, "sprites", 0 ) // sprites
1172 	ROM_LOAD16_BYTE( "19.5b", 0x000001, 0x8000, CRC(469dad07) SHA1(6d01c0b3506e28832928ad74d518577ff5be323b) )
1173 	ROM_LOAD16_BYTE( "25.6b", 0x000000, 0x8000, CRC(87cbc6de) SHA1(b64652e062e1b88c6f6ae8dd2ffe4533bb27ba45) )
1174 	ROM_LOAD16_BYTE( "18.5c", 0x010001, 0x8000, CRC(15792969) SHA1(b061dbf24e8b511116446794753c8b0cc49e2149) )
1175 	ROM_LOAD16_BYTE( "24.6c", 0x010000, 0x8000, CRC(e9718de5) SHA1(30e3a7d5b33504da03c5780b4a946b977e46098a) )
1176 	ROM_LOAD16_BYTE( "17.5d", 0x020001, 0x8000, CRC(49422691) SHA1(caee2a4a3f4587ae27dec330214edaa1229012af) )
1177 	ROM_LOAD16_BYTE( "23.6d", 0x020000, 0x8000, CRC(701deaa4) SHA1(053032ef886b85a4cb4753d17b3c27d228695157) )
1178 	ROM_LOAD16_BYTE( "16.5e", 0x030001, 0x8000, CRC(f003a000) SHA1(da7fc41d3116ebb108effcd9ffa86e873e8ff6e7) )
1179 	ROM_LOAD16_BYTE( "22.6e", 0x030000, 0x8000, CRC(08b007e2) SHA1(db63d38472c8df13f0bbabb20b6e33c9c6c46664) )
1180 	ROM_LOAD16_BYTE( "15.5f", 0x040001, 0x8000, CRC(7fa1bfb6) SHA1(a27b54c93613372f59050f0b2182d2984a8d2efe) )
1181 	ROM_LOAD16_BYTE( "21.6f", 0x040000, 0x8000, CRC(8e880c93) SHA1(8c55deec065daf09a5d1c1c1f3f3f7bc1aeaf563) )
1182 	ROM_LOAD16_BYTE( "14.5h", 0x050001, 0x8000, CRC(47e63dd1) SHA1(40fb4400e1e8c8193c69154c5c08a9a69a8bca0d) )
1183 	ROM_LOAD16_BYTE( "20.6h", 0x050000, 0x8000, CRC(33d1aa6e) SHA1(1bd78d442cce2a39f1186b142d8a24bce286ad64) )
1184 	ROM_LOAD16_BYTE( "12.3f", 0x060001, 0x8000, CRC(22fc088e) SHA1(d84570a802e696b67a587bee154620d97d75a7aa) )
1185 	ROM_LOAD16_BYTE( "13.4f", 0x060000, 0x8000, CRC(032738ba) SHA1(6b8e7e229d04f852e72acfdfa8721b4b22681208) )
1186 
1187 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1188 	ROM_LOAD( "5.9r", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
1189 
1190 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1191 	ROM_LOAD( "28.12h", 0x00000, 0x4000, CRC(3b942f5f) SHA1(4384b5c090954e69de561dde0ef32104aa11399a) )
1192 
1193 	ROM_REGION( 0x10000, "pcm", 0 ) // Sega PCM sound data
1194 	ROM_LOAD( "26.1e", 0x00000, 0x8000, CRC(cfef5481) SHA1(c04b302fee58f0e59a097b2be2b61e5d03df7c91) )
1195 	ROM_LOAD( "27.1g", 0x08000, 0x8000, CRC(4165aea5) SHA1(be05c6d295807af2f396a1ff72d5a3d2a1e6054d) )
1196 
1197 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1198 	ROM_LOAD( "1.9d", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1199 
1200 	ROM_REGION( 0x1400, "plds", 0 )
1201 	ROM_LOAD( "a_pal16r4a.9e",     0x0000, 0x0104, NO_DUMP )
1202 	ROM_LOAD( "b_pls153an.9f",     0x0200, 0x00eb, NO_DUMP )
1203 	ROM_LOAD( "c_pal16r6a.7m",     0x0400, 0x0104, NO_DUMP )
1204 	ROM_LOAD( "d_pal16r6a.7r",     0x0600, 0x0104, NO_DUMP )
1205 	ROM_LOAD( "e_pal16r6a.7s",     0x0800, 0x0104, NO_DUMP )
1206 	ROM_LOAD( "f_pls153n.6s",      0x0a00, 0x00eb, NO_DUMP )
1207 	ROM_LOAD( "g_pal16l8a.3r",     0x0c00, 0x0104, NO_DUMP )
1208 	// no PLD marked 'H'
1209 	ROM_LOAD( "i_pls153n_snd.6f",  0x0e00, 0x00eb, NO_DUMP )
1210 	ROM_LOAD( "j_pal16l8a_db.bin", 0x1000, 0x0104, NO_DUMP )
1211 	ROM_LOAD( "k_pal16r4a_db.bin", 0x1200, 0x0104, NO_DUMP )
1212 ROM_END
1213 
1214 
1215 //*************************************************************************************************************************
1216 //*************************************************************************************************************************
1217 //*************************************************************************************************************************
1218 //  Super Hang-On (Japan Ver.)
1219 //  (c)1987 Sega
1220 //  Ride-on Type
1221 //
1222 //  CPU: FD1094 317-0038
1223 //
1224 //  Top   : Label 834-6273
1225 //  Middle: 834-5704 (Label 837-6340)
1226 //  Bottom: 834-5668 (Label 837-6341)
1227 //
1228 ROM_START( shangonro )
1229 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1230 	ROM_LOAD16_BYTE( "epr-10842.22", 0x00000, 0x08000, CRC(24289138) SHA1(700419bb8e4f97e128d85d0077e4aa39a1d2f167) )
1231 	ROM_LOAD16_BYTE( "epr-10839.8",  0x00001, 0x08000, CRC(70f92d5e) SHA1(3ca0e23d6bb44bbe7d21840c8d179c57f8cbfd20) )
1232 	ROM_LOAD16_BYTE( "epr-10841.20", 0x10000, 0x08000, CRC(3bb2186c) SHA1(755dbf5d37809ea1de2e96f9827cf373dc2d3f94) )
1233 	ROM_LOAD16_BYTE( "epr-10838.6",  0x10001, 0x08000, CRC(6aded05a) SHA1(5459157bf4083f677c524d1cb839cb6f4f1a7ee2) )
1234 	ROM_LOAD16_BYTE( "epr-10840.18", 0x20000, 0x08000, CRC(12ee8716) SHA1(8e798d23d22f85cd046641184d104c17b27995b2) )
1235 	ROM_LOAD16_BYTE( "epr-10837.4",  0x20001, 0x08000, CRC(155e0cfd) SHA1(e51734351c887fe3920c881f57abdfbb7d075f57) )
1236 
1237 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU (encrypted FD1094)
1238 	ROM_LOAD16_BYTE( "epr-10833.31", 0x000001, 0x10000, CRC(13ba98bc) SHA1(83710a7bb9d038f8663e6d42b184d4e4d937a26f) )
1239 	ROM_LOAD16_BYTE( "epr-10831.25", 0x000000, 0x10000, CRC(3a2de9eb) SHA1(20da548cd1fb466942ee45306cfd04766e5a4f50) )
1240 	ROM_LOAD16_BYTE( "epr-10832.30", 0x020001, 0x10000, CRC(543cd7bb) SHA1(124b426adc2d8dc51172ef94cb215bde3b8b42a7) )
1241 	ROM_LOAD16_BYTE( "epr-10830.24", 0x020000, 0x10000, CRC(2ae4e53a) SHA1(b15b5a8b36cbe5fe68b5e18ab3398ebc7214dbee) )
1242 
1243 	ROM_REGION( 0x2000, "subcpu:key", 0 ) // FD1094 decryption key
1244 	ROM_LOAD( "317-0038.key", 0x0000, 0x2000, CRC(85943925) SHA1(76303b0aa79ca9d4a8d10d4e63ee2efe756a0a00) )
1245 
1246 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1247 	ROM_LOAD( "epr-10652.38", 0x00000, 0x08000, CRC(260286f9) SHA1(dc7c8d2c6ef924a937328685eed19bda1c8b1819) )
1248 	ROM_LOAD( "epr-10651.23", 0x08000, 0x08000, CRC(c609ee7b) SHA1(c6dacf81cbfe7e5df1f9a967cf571be1dcf1c429) )
1249 	ROM_LOAD( "epr-10650.7",  0x10000, 0x08000, CRC(b236a403) SHA1(af02b8122794c083a66f2ab35d2c73b84b2df0be) )
1250 
1251 	ROM_REGION16_BE( 0x00e0000, "sprites", 0 ) // sprites
1252 	ROM_LOAD16_BYTE( "epr-10675.22", 0x000001, 0x010000, CRC(d6ac012b) SHA1(305023b1a0a9d84cfc081ffc2ad7578b53d562f2) )
1253 	ROM_LOAD16_BYTE( "epr-10682.13", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) )
1254 	ROM_LOAD16_BYTE( "epr-10676.21", 0x020001, 0x010000, CRC(25ebf2c5) SHA1(abcf673ae4e280417dd9f46d18c0ec7c0e4802ae) )
1255 	ROM_LOAD16_BYTE( "epr-10683.12", 0x020000, 0x010000, CRC(6365d2e9) SHA1(688e2ba194e859f86cd3486c2575ebae257e975a) )
1256 	ROM_LOAD16_BYTE( "epr-10677.20", 0x040001, 0x010000, CRC(8a57b8d6) SHA1(df1a31559dd2d1e7c2c9d800bf97526bdf3e84e6) )
1257 	ROM_LOAD16_BYTE( "epr-10684.11", 0x040000, 0x010000, CRC(3aff8910) SHA1(4b41a49a7f02363424e814b37edce9a7a44a112e) )
1258 	ROM_LOAD16_BYTE( "epr-10678.19", 0x060001, 0x010000, CRC(af473098) SHA1(a2afaba1cbf672949dc50e407b46d7e9ae183774) )
1259 	ROM_LOAD16_BYTE( "epr-10685.10", 0x060000, 0x010000, CRC(80bafeef) SHA1(f01bcf65485e60f34e533295a896fca0b92e5b14) )
1260 	ROM_LOAD16_BYTE( "epr-10679.18", 0x080001, 0x010000, CRC(03bc4878) SHA1(548fc58bcc620204e30fa12fa4c4f0a3f6a1e4c0) )
1261 	ROM_LOAD16_BYTE( "epr-10686.9",  0x080000, 0x010000, CRC(274b734e) SHA1(906fa528659bc17c9b4744cec52f7096711adce8) )
1262 	ROM_LOAD16_BYTE( "epr-10680.17", 0x0a0001, 0x010000, CRC(9f0677ed) SHA1(5964642b70bfad418da44f2d91476f887b021f74) )
1263 	ROM_LOAD16_BYTE( "epr-10687.8",  0x0a0000, 0x010000, CRC(508a4701) SHA1(d17aea2aadc2e2cd65d81bf91feb3ef6923d5c0b) )
1264 	ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
1265 	ROM_LOAD16_BYTE( "epr-10688.7",  0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
1266 
1267 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1268 	ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
1269 
1270 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1271 	ROM_LOAD( "epr-10834a.52", 0x0000, 0x08000, CRC(83347dc0) SHA1(079bb750edd6372750a207764e8c84bb6abf2f79) )
1272 
1273 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1274 	ROM_LOAD( "epr-10835.55", 0x00000, 0x10000, CRC(da08ca2b) SHA1(2c94c127efd66f6cf86b25e2653637818a99aed1) )
1275 	ROM_LOAD( "epr-10836.56", 0x10000, 0x10000, CRC(8b10e601) SHA1(75e9bcdd3f096be9bed672d61064b9240690deec) )
1276 
1277 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1278 	ROM_LOAD( "epr-6844.119", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1279 ROM_END
1280 
1281 
1282 ROM_START( shangonho )
1283 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1284 	ROM_LOAD16_BYTE( "epr-10865.ic22", 0x00000, 0x08000, CRC(98e861dd) SHA1(f2059f4559893d38d7d781c8599aeb7a5074eec0) )
1285 	ROM_LOAD16_BYTE( "epr-10862.ic8",  0x00001, 0x08000, CRC(d6f058c7) SHA1(72f25455ed619d988bcceb1cfe39a7e06722c9dc) )
1286 	ROM_LOAD16_BYTE( "epr-10864.ic20", 0x10000, 0x08000, CRC(b3048f44) SHA1(8e559df140f1ddf307d8430c7976ecbbe8907260) )
1287 	ROM_LOAD16_BYTE( "epr-10861.ic6",  0x10001, 0x08000, CRC(0a131e14) SHA1(088a7ff479462a6a5aa1e096805fc50883a1c245) )
1288 	ROM_LOAD16_BYTE( "epr-10863.ic18", 0x20000, 0x08000, CRC(12ee8716) SHA1(8e798d23d22f85cd046641184d104c17b27995b2) )
1289 	ROM_LOAD16_BYTE( "epr-10860.ic4",  0x20001, 0x08000, CRC(155e0cfd) SHA1(e51734351c887fe3920c881f57abdfbb7d075f57) )
1290 
1291 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU (encrypted FD1094)
1292 	ROM_LOAD16_BYTE( "epr-10859.ic31", 0x000001, 0x10000, CRC(a22bc1a2) SHA1(74b535fb72228807aafe835bfb69e97f58bda12d) )
1293 	ROM_LOAD16_BYTE( "epr-10857.ic25", 0x000000, 0x10000, CRC(064827a3) SHA1(c72cb799b4535f9faa7f3d37bc4d0763f52f5361) )
1294 	ROM_LOAD16_BYTE( "epr-10858.ic30", 0x020001, 0x10000, CRC(8f8f4af0) SHA1(1dac21b7df6ec6874d36a07e30de7129b7f7f33a) )
1295 	ROM_LOAD16_BYTE( "epr-10856.ic24", 0x020000, 0x10000, CRC(000ad595) SHA1(eb80e798159c09bc5142a7ea8b9b0f895976b0d4) )
1296 
1297 	ROM_REGION( 0x2000, "subcpu:key", 0 ) // FD1094 decryption key
1298 	ROM_LOAD( "317-0039.key", 0x0000, 0x2000, CRC(97b05dd6) SHA1(c16033021a0fbc8d9759c40deab41d58babdaf90) )
1299 
1300 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1301 	ROM_LOAD( "epr-10652.38", 0x00000, 0x08000, CRC(260286f9) SHA1(dc7c8d2c6ef924a937328685eed19bda1c8b1819) )
1302 	ROM_LOAD( "epr-10651.23", 0x08000, 0x08000, CRC(c609ee7b) SHA1(c6dacf81cbfe7e5df1f9a967cf571be1dcf1c429) )
1303 	ROM_LOAD( "epr-10650.7",  0x10000, 0x08000, CRC(b236a403) SHA1(af02b8122794c083a66f2ab35d2c73b84b2df0be) )
1304 
1305 	ROM_REGION16_BE( 0x00e0000, "sprites", 0 ) // sprites
1306 	ROM_LOAD16_BYTE( "epr-10675.22", 0x000001, 0x010000, CRC(d6ac012b) SHA1(305023b1a0a9d84cfc081ffc2ad7578b53d562f2) )
1307 	ROM_LOAD16_BYTE( "epr-10682.13", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) )
1308 	ROM_LOAD16_BYTE( "epr-10676.21", 0x020001, 0x010000, CRC(25ebf2c5) SHA1(abcf673ae4e280417dd9f46d18c0ec7c0e4802ae) )
1309 	ROM_LOAD16_BYTE( "epr-10683.12", 0x020000, 0x010000, CRC(6365d2e9) SHA1(688e2ba194e859f86cd3486c2575ebae257e975a) )
1310 	ROM_LOAD16_BYTE( "epr-10677.20", 0x040001, 0x010000, CRC(8a57b8d6) SHA1(df1a31559dd2d1e7c2c9d800bf97526bdf3e84e6) )
1311 	ROM_LOAD16_BYTE( "epr-10684.11", 0x040000, 0x010000, CRC(3aff8910) SHA1(4b41a49a7f02363424e814b37edce9a7a44a112e) )
1312 	ROM_LOAD16_BYTE( "epr-10678.19", 0x060001, 0x010000, CRC(af473098) SHA1(a2afaba1cbf672949dc50e407b46d7e9ae183774) )
1313 	ROM_LOAD16_BYTE( "epr-10685.10", 0x060000, 0x010000, CRC(80bafeef) SHA1(f01bcf65485e60f34e533295a896fca0b92e5b14) )
1314 	ROM_LOAD16_BYTE( "epr-10679.18", 0x080001, 0x010000, CRC(03bc4878) SHA1(548fc58bcc620204e30fa12fa4c4f0a3f6a1e4c0) )
1315 	ROM_LOAD16_BYTE( "epr-10686.9",  0x080000, 0x010000, CRC(274b734e) SHA1(906fa528659bc17c9b4744cec52f7096711adce8) )
1316 	ROM_LOAD16_BYTE( "epr-10680.17", 0x0a0001, 0x010000, CRC(9f0677ed) SHA1(5964642b70bfad418da44f2d91476f887b021f74) )
1317 	ROM_LOAD16_BYTE( "epr-10687.8",  0x0a0000, 0x010000, CRC(508a4701) SHA1(d17aea2aadc2e2cd65d81bf91feb3ef6923d5c0b) )
1318 	ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
1319 	ROM_LOAD16_BYTE( "epr-10688.7",  0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
1320 
1321 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1322 	ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
1323 
1324 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1325 	ROM_LOAD( "epr-10834a.52", 0x0000, 0x08000, CRC(83347dc0) SHA1(079bb750edd6372750a207764e8c84bb6abf2f79) )
1326 
1327 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1328 	ROM_LOAD( "epr-10835.55", 0x00000, 0x10000, CRC(da08ca2b) SHA1(2c94c127efd66f6cf86b25e2653637818a99aed1) )
1329 	ROM_LOAD( "epr-10836.56", 0x10000, 0x10000, CRC(8b10e601) SHA1(75e9bcdd3f096be9bed672d61064b9240690deec) )
1330 
1331 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1332 	ROM_LOAD( "epr-6844.119", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1333 ROM_END
1334 
1335 //*************************************************************************************************************************
1336 //  Super Hang On bootleg (of the above?)
1337 //  CPU: 68000 (317-????)
1338 //
1339 ROM_START( shangonrb )
1340 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1341 	ROM_LOAD16_BYTE( "s-hangon.30", 0x000000, 0x10000, CRC(d95e82fc) SHA1(bc6cd0b0ac98a9c53f2e22ac086521704ab59e4d) )
1342 	ROM_LOAD16_BYTE( "s-hangon.32", 0x000001, 0x10000, CRC(2ee4b4fb) SHA1(ba4042ab6e533c16c3cde848248d75e484be113f) )
1343 	ROM_LOAD16_BYTE( "s-hangon.29", 0x020000, 0x08000, CRC(12ee8716) SHA1(8e798d23d22f85cd046641184d104c17b27995b2) ) // Same as EPR-10840 above
1344 	ROM_LOAD16_BYTE( "s-hangon.31", 0x020001, 0x08000, CRC(155e0cfd) SHA1(e51734351c887fe3920c881f57abdfbb7d075f57) ) // Same as EPR-10837 above
1345 
1346 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1347 	ROM_LOAD16_BYTE( "s-hangon.09", 0x00000, 0x10000, CRC(070c8059) SHA1(a18c5e9473b6634f6e7165300e39029335b41ba3) )
1348 	ROM_LOAD16_BYTE( "s-hangon.05", 0x00001, 0x10000, CRC(9916c54b) SHA1(41a7c5a9bdb1e3feae8fadf1ac5f51fab6376157) )
1349 	ROM_LOAD16_BYTE( "s-hangon.08", 0x20000, 0x10000, CRC(000ad595) SHA1(eb80e798159c09bc5142a7ea8b9b0f895976b0d4) )
1350 	ROM_LOAD16_BYTE( "s-hangon.04", 0x20001, 0x10000, CRC(8f8f4af0) SHA1(1dac21b7df6ec6874d36a07e30de7129b7f7f33a) )
1351 
1352 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1353 	ROM_LOAD( "epr-10652.38", 0x00000, 0x08000, CRC(260286f9) SHA1(dc7c8d2c6ef924a937328685eed19bda1c8b1819) )
1354 	ROM_LOAD( "epr-10651.23", 0x08000, 0x08000, CRC(c609ee7b) SHA1(c6dacf81cbfe7e5df1f9a967cf571be1dcf1c429) )
1355 	ROM_LOAD( "epr-10650.7",  0x10000, 0x08000, CRC(b236a403) SHA1(af02b8122794c083a66f2ab35d2c73b84b2df0be) )
1356 
1357 	ROM_REGION16_BE( 0x00e0000, "sprites", 0 ) // sprites
1358 	ROM_LOAD16_BYTE( "epr-10675.22", 0x000001, 0x010000, CRC(d6ac012b) SHA1(305023b1a0a9d84cfc081ffc2ad7578b53d562f2) )
1359 	ROM_LOAD16_BYTE( "epr-10682.11", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) )
1360 	ROM_LOAD16_BYTE( "s-hangon.20",  0x020001, 0x010000, CRC(eef23b3d) SHA1(2416fa9991afbdddf25d469082e53858289550db) )
1361 	ROM_LOAD16_BYTE( "s-hangon.14",  0x020000, 0x010000, CRC(0f26d131) SHA1(0d8b6eb8b8aae0aa8f0fa0c31dc91ad0e610be3e) )
1362 	ROM_LOAD16_BYTE( "epr-10677.20", 0x040001, 0x010000, CRC(8a57b8d6) SHA1(df1a31559dd2d1e7c2c9d800bf97526bdf3e84e6) )
1363 	ROM_LOAD16_BYTE( "epr-10684.11", 0x040000, 0x010000, CRC(3aff8910) SHA1(4b41a49a7f02363424e814b37edce9a7a44a112e) )
1364 	ROM_LOAD16_BYTE( "epr-10678.19", 0x060001, 0x010000, CRC(af473098) SHA1(a2afaba1cbf672949dc50e407b46d7e9ae183774) )
1365 	ROM_LOAD16_BYTE( "epr-10685.10", 0x060000, 0x010000, CRC(80bafeef) SHA1(f01bcf65485e60f34e533295a896fca0b92e5b14) )
1366 	ROM_LOAD16_BYTE( "epr-10679.18", 0x080001, 0x010000, CRC(03bc4878) SHA1(548fc58bcc620204e30fa12fa4c4f0a3f6a1e4c0) )
1367 	ROM_LOAD16_BYTE( "epr-10686.9",  0x080000, 0x010000, CRC(274b734e) SHA1(906fa528659bc17c9b4744cec52f7096711adce8) )
1368 	ROM_LOAD16_BYTE( "epr-10680.17", 0x0a0001, 0x010000, CRC(9f0677ed) SHA1(5964642b70bfad418da44f2d91476f887b021f74) )
1369 	ROM_LOAD16_BYTE( "epr-10687.8",  0x0a0000, 0x010000, CRC(508a4701) SHA1(d17aea2aadc2e2cd65d81bf91feb3ef6923d5c0b) )
1370 	ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
1371 	ROM_LOAD16_BYTE( "epr-10688.7",  0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
1372 
1373 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1374 	ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
1375 
1376 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1377 	ROM_LOAD( "epr-10834a.52", 0x0000, 0x08000, CRC(83347dc0) SHA1(079bb750edd6372750a207764e8c84bb6abf2f79) )
1378 
1379 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1380 	ROM_LOAD( "epr-10835.55", 0x00000, 0x10000, CRC(da08ca2b) SHA1(2c94c127efd66f6cf86b25e2653637818a99aed1) )
1381 	ROM_LOAD( "epr-10836.56", 0x10000, 0x10000, CRC(8b10e601) SHA1(75e9bcdd3f096be9bed672d61064b9240690deec) )
1382 
1383 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1384 	ROM_LOAD( "epr-6844.119", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1385 ROM_END
1386 
1387 //*************************************************************************************************************************
1388 //  Super Hang On Beta bootleg
1389 //  Has Beta 1987 copyright but is otherwise identical to the bootleg above
1390 //
1391 ROM_START( shangonrb2 )
1392 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1393 	ROM_LOAD16_BYTE( "sho-philco-s-30-r9-10.bin",  0x000000, 0x10000, CRC(eccf7004) SHA1(5f2b9b75995b9360be8b05f9d123823f6e85dc2b) )
1394 	ROM_LOAD16_BYTE( "sho-philco-s-32-r12-13.bin", 0x000001, 0x10000, CRC(90613f42) SHA1(f54b5e079ceaa3863df7bda6b14ec68afa63f7f5) )
1395 	ROM_LOAD16_BYTE( "sho-philco-s-29-l9-10.bin",  0x020000, 0x08000, CRC(12ee8716) SHA1(8e798d23d22f85cd046641184d104c17b27995b2) )
1396 	ROM_LOAD16_BYTE( "sho-philco-s-31-l12-13.bin", 0x020001, 0x08000, CRC(155e0cfd) SHA1(e51734351c887fe3920c881f57abdfbb7d075f57) )
1397 
1398 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1399 	ROM_LOAD16_BYTE( "sho-philco-s-9-h4.bin", 0x00000, 0x10000, CRC(070c8059) SHA1(a18c5e9473b6634f6e7165300e39029335b41ba3) )
1400 	ROM_LOAD16_BYTE( "sho-philco-s-5-g4.bin", 0x00001, 0x10000, CRC(9916c54b) SHA1(41a7c5a9bdb1e3feae8fadf1ac5f51fab6376157) )
1401 	ROM_LOAD16_BYTE( "sho-philco-s-8-h3.bin", 0x20000, 0x10000, CRC(000ad595) SHA1(eb80e798159c09bc5142a7ea8b9b0f895976b0d4) )
1402 	ROM_LOAD16_BYTE( "sho-philco-s-4-g3.bin", 0x20001, 0x10000, CRC(8f8f4af0) SHA1(1dac21b7df6ec6874d36a07e30de7129b7f7f33a) )
1403 
1404 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1405 	ROM_LOAD( "sho-philco-s-23-n-p8.bin",  0x00000, 0x08000, CRC(260286f9) SHA1(dc7c8d2c6ef924a937328685eed19bda1c8b1819) )
1406 	ROM_LOAD( "sho-philco-s-24-n-p9.bin",  0x08000, 0x08000, CRC(c609ee7b) SHA1(c6dacf81cbfe7e5df1f9a967cf571be1dcf1c429) )
1407 	ROM_LOAD( "sho-philco-s-25-n-p10.bin", 0x10000, 0x08000, CRC(b236a403) SHA1(af02b8122794c083a66f2ab35d2c73b84b2df0be) )
1408 
1409 	ROM_REGION16_BE( 0x00e0000, "sprites", 0 ) // sprites
1410 	ROM_LOAD16_BYTE( "sho-philco-s-21-m6.bin", 0x000001, 0x010000, CRC(d6ac012b) SHA1(305023b1a0a9d84cfc081ffc2ad7578b53d562f2) )
1411 	ROM_LOAD16_BYTE( "sho-philco-s-15-l6.bin", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) )
1412 	ROM_LOAD16_BYTE( "sho-philco-s-20-m5.bin", 0x020001, 0x010000, CRC(eef23b3d) SHA1(2416fa9991afbdddf25d469082e53858289550db) )
1413 	ROM_LOAD16_BYTE( "sho-philco-s-14-l5.bin", 0x020000, 0x010000, CRC(0f26d131) SHA1(0d8b6eb8b8aae0aa8f0fa0c31dc91ad0e610be3e) )
1414 	ROM_LOAD16_BYTE( "sho-philco-s-19-m4.bin", 0x040001, 0x010000, CRC(8a57b8d6) SHA1(df1a31559dd2d1e7c2c9d800bf97526bdf3e84e6) )
1415 	ROM_LOAD16_BYTE( "sho-philco-s-13-l4.bin", 0x040000, 0x010000, CRC(3aff8910) SHA1(4b41a49a7f02363424e814b37edce9a7a44a112e) )
1416 	ROM_LOAD16_BYTE( "sho-philco-s-18-m3.bin", 0x060001, 0x010000, CRC(af473098) SHA1(a2afaba1cbf672949dc50e407b46d7e9ae183774) )
1417 	ROM_LOAD16_BYTE( "sho-philco-s-12-l3.bin", 0x060000, 0x010000, CRC(80bafeef) SHA1(f01bcf65485e60f34e533295a896fca0b92e5b14) )
1418 	ROM_LOAD16_BYTE( "sho-philco-s-17-m2.bin", 0x080001, 0x010000, CRC(03bc4878) SHA1(548fc58bcc620204e30fa12fa4c4f0a3f6a1e4c0) )
1419 	ROM_LOAD16_BYTE( "sho-philco-s-11-l2.bin", 0x080000, 0x010000, CRC(274b734e) SHA1(906fa528659bc17c9b4744cec52f7096711adce8) )
1420 	ROM_LOAD16_BYTE( "sho-philco-s-16-m1.bin", 0x0a0001, 0x010000, CRC(9f0677ed) SHA1(5964642b70bfad418da44f2d91476f887b021f74) )
1421 	ROM_LOAD16_BYTE( "sho-philco-s-10-l1.bin", 0x0a0000, 0x010000, CRC(508a4701) SHA1(d17aea2aadc2e2cd65d81bf91feb3ef6923d5c0b) )
1422 	ROM_LOAD16_BYTE( "sho-philco-s-7-h2.bin",  0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
1423 	ROM_LOAD16_BYTE( "sho-philco-s-6-h1.bin",  0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
1424 
1425 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1426 	ROM_LOAD( "sho-philco-s-26-t1.bin", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
1427 
1428 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1429 	ROM_LOAD( "sho-philco-s-3-g12.bin", 0x0000, 0x08000, CRC(83347dc0) SHA1(079bb750edd6372750a207764e8c84bb6abf2f79) )
1430 
1431 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1432 	ROM_LOAD( "sho-philco-s-2-a16.bin", 0x00000, 0x10000, CRC(da08ca2b) SHA1(2c94c127efd66f6cf86b25e2653637818a99aed1) )
1433 	ROM_LOAD( "sho-philco-s-1-a14.bin", 0x10000, 0x10000, CRC(8b10e601) SHA1(75e9bcdd3f096be9bed672d61064b9240690deec) )
1434 
1435 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1436 	ROM_LOAD( "sho-philco-s-22-c-d2.bin", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1437 ROM_END
1438 
1439 //*************************************************************************************************************************
1440 //*************************************************************************************************************************
1441 //*************************************************************************************************************************
1442 //  Space Harrier
1443 //  CPU: 68000 + i8751 (315-5163A)
1444 //
1445 //  ASSY CPU BD 834-5797
1446 //  ASSY CONTROL BD 834-5798
1447 //  ASSY ROM BD 834-5800
1448 //  ASSY SOUND BD 834-5670-01
1449 //
1450 ROM_START( sharrier )
1451 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1452 	ROM_LOAD16_BYTE( "epr-7188a.ic97", 0x000000, 0x8000, CRC(45e173c3) SHA1(cbab555c5053f3e4a3f75ff78c41528e2d9d34c7) )
1453 	ROM_LOAD16_BYTE( "epr-7184a.ic84", 0x000001, 0x8000, CRC(e1934a51) SHA1(67817a360b3f1f6c2440986272975bd696a38e70) )
1454 	ROM_LOAD16_BYTE( "epr-7189.ic98",  0x010000, 0x8000, CRC(40b1309f) SHA1(9b050983f043a88f414745d02c912b59bbf1b121) )
1455 	ROM_LOAD16_BYTE( "epr-7185.ic85",  0x010001, 0x8000, CRC(ce78045c) SHA1(ce640f05bed64ff5b47f1064b5fc13e58bc422a4) )
1456 	ROM_LOAD16_BYTE( "epr-7190.ic99",  0x020000, 0x8000, CRC(f6391091) SHA1(3160b342b6447cccf67c932c7c1a42354cdfb058) )
1457 	ROM_LOAD16_BYTE( "epr-7186.ic86",  0x020001, 0x8000, CRC(79b367d7) SHA1(e901036b1b9fac460415d513837c8f852f7750b0) )
1458 	ROM_LOAD16_BYTE( "epr-7191.ic100", 0x030000, 0x8000, CRC(6171e9d3) SHA1(72f8736f421dc93139859fd47f0c8c3c32b6ff0b) )
1459 	ROM_LOAD16_BYTE( "epr-7187.ic87",  0x030001, 0x8000, CRC(70cb72ef) SHA1(d1d89bd133b6905f81c25513d852b7e3a05a7312) )
1460 
1461 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1462 	ROM_LOAD16_BYTE( "epr-7182.ic54", 0x0000, 0x8000, CRC(d7c535b6) SHA1(c0659a678c0c3776387a4a675016e9a2e9c67ee3) )
1463 	ROM_LOAD16_BYTE( "epr-7183.ic67", 0x0001, 0x8000, CRC(a6153af8) SHA1(b56ba472e4afb474c7a3f7dc11d7428ebbe1a9c7) )
1464 
1465 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1466 	ROM_LOAD( "epr-7196.ic31", 0x00000, 0x08000, CRC(347fa325) SHA1(9076b16de9598b52a75e5084651ee5a220b0e88b) )
1467 	ROM_LOAD( "epr-7197.ic46", 0x08000, 0x08000, CRC(39d98bd1) SHA1(5aab91bdd08b0f1ea537cd43ccc2e82fd01dd031) )
1468 	ROM_LOAD( "epr-7198.ic60", 0x10000, 0x08000, CRC(3da3ea6b) SHA1(9a6ce304a14e6ef0be41d867284a63b941f960fb) )
1469 
1470 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
1471 	ROM_LOAD32_BYTE( "epr-7230.ic36", 0x00000, 0x8000, CRC(93e2d264) SHA1(ca56de13756ab77408506d88f291da1da8134435) )
1472 	ROM_LOAD32_BYTE( "epr-7222.ic28", 0x00001, 0x8000, CRC(edbf5fc3) SHA1(a93f8c431075741c181eb422b24c9303487ca16c) )
1473 	ROM_LOAD32_BYTE( "epr-7214.ic18", 0x00002, 0x8000, CRC(e8c537d8) SHA1(c9b3c0f33272c47d32e6aa349d72f7e355468e0e) )
1474 	ROM_LOAD32_BYTE( "epr-7206.ic8",  0x00003, 0x8000, CRC(22844fa4) SHA1(6d0f177082084c8c92085cd53e1d7ddc62d09a4c) )
1475 	ROM_LOAD32_BYTE( "epr-7229.ic35", 0x20000, 0x8000, CRC(cd6e7500) SHA1(6f0e42eb28ad3f5df93d8bb39dc41aba66eee144) )
1476 	ROM_LOAD32_BYTE( "epr-7221.ic27", 0x20001, 0x8000, CRC(41f25a9c) SHA1(bebbd4c4600028205aeff54190b32b664e4710d0) )
1477 	ROM_LOAD32_BYTE( "epr-7213.ic17", 0x20002, 0x8000, CRC(5bb09a67) SHA1(8bedefd2fa29a1a5e36f1d81c4e9067e3c7f28e9) )
1478 	ROM_LOAD32_BYTE( "epr-7205.ic7",  0x20003, 0x8000, CRC(dcaa2ebf) SHA1(9cf77bb966859febc5e5f1447cb719db64aa4db4) )
1479 	ROM_LOAD32_BYTE( "epr-7228.ic34", 0x40000, 0x8000, CRC(d5e15e66) SHA1(2bd81c5c736d725577adf85532de7802bef057f2) )
1480 	ROM_LOAD32_BYTE( "epr-7220.ic26", 0x40001, 0x8000, CRC(ac62ae2e) SHA1(d472dcc1d9b7889d04870920d5c6e5578597b8dc) )
1481 	ROM_LOAD32_BYTE( "epr-7212.ic16", 0x40002, 0x8000, CRC(9c782295) SHA1(c1627f3d849d2fdb02a590502bafbe133212b943) )
1482 	ROM_LOAD32_BYTE( "epr-7204.ic6",  0x40003, 0x8000, CRC(3711105c) SHA1(075197f614786f89bee28ed944371223bc75c9be) )
1483 	ROM_LOAD32_BYTE( "epr-7227.ic33", 0x60000, 0x8000, CRC(60d7c1bb) SHA1(19ddc1d8f269b50343266d508ad04d4c0fff69d1) )
1484 	ROM_LOAD32_BYTE( "epr-7219.ic25", 0x60001, 0x8000, CRC(f6330038) SHA1(805d4ed664972c0773c837d62f094858c1804148) )
1485 	ROM_LOAD32_BYTE( "epr-7211.ic15", 0x60002, 0x8000, CRC(60737b98) SHA1(5e91498bc473f099a1b2887baf980486e922af97) )
1486 	ROM_LOAD32_BYTE( "epr-7203.ic5",  0x60003, 0x8000, CRC(70fb5ebb) SHA1(38755a9be92865d2c5da8112d8d9c0fe8e778cff) )
1487 	ROM_LOAD32_BYTE( "epr-7226.ic32", 0x80000, 0x8000, CRC(6d7b5c97) SHA1(94c27e4ef1e197ee136f9399b07520cae00a366f) )
1488 	ROM_LOAD32_BYTE( "epr-7218.ic24", 0x80001, 0x8000, CRC(cebf797c) SHA1(d3d5aeba1a0e70a322ec86b930814fa8bc744829) )
1489 	ROM_LOAD32_BYTE( "epr-7210.ic14", 0x80002, 0x8000, CRC(24596a8b) SHA1(f580022c4f7dcaefb7209058c310a329479b5fcd) )
1490 	ROM_LOAD32_BYTE( "epr-7202.ic4",  0x80003, 0x8000, CRC(b537d082) SHA1(f87a644d9af8477c9eb94e5d3aeb5f6376264418) )
1491 	ROM_LOAD32_BYTE( "epr-7225.ic31", 0xa0000, 0x8000, CRC(5e784271) SHA1(063bd83b7f42dec556a7bdf736cb51456ba7184b) )
1492 	ROM_LOAD32_BYTE( "epr-7217.ic23", 0xa0001, 0x8000, CRC(510e5e10) SHA1(47b9f1bc8df0690c37d1d045bd361f8599e8a903) )
1493 	ROM_LOAD32_BYTE( "epr-7209.ic13", 0xa0002, 0x8000, CRC(7a2dad15) SHA1(227865447027f8669aa0d06d059f3d61da6d59dd) )
1494 	ROM_LOAD32_BYTE( "epr-7201.ic3",  0xa0003, 0x8000, CRC(f5ba4e08) SHA1(443b07c996cbb213fe57dfdd3879c1d4da27c001) )
1495 	ROM_LOAD32_BYTE( "epr-7224.ic30", 0xc0000, 0x8000, CRC(ec42c9ef) SHA1(313d908f3a964529b18e09825552879817a2e159) )
1496 	ROM_LOAD32_BYTE( "epr-7216.ic22", 0xc0001, 0x8000, CRC(6d4a7d7a) SHA1(997ac38e47d84f0166ca3ece50ac5f2d3435d8d3) )
1497 	ROM_LOAD32_BYTE( "epr-7208.ic12", 0xc0002, 0x8000, CRC(0f732717) SHA1(6a19c88d5d52f4ec4adb32c511fed4caae81c65f) )
1498 	ROM_LOAD32_BYTE( "epr-7200.ic2",  0xc0003, 0x8000, CRC(fc3bf8f3) SHA1(d9168b9bce110bfd531410179a107895c641e105) )
1499 	ROM_LOAD32_BYTE( "epr-7223.ic29", 0xe0000, 0x8000, CRC(ed51fdc4) SHA1(a2696b15a0911ac3b6b330b7d8df58ca51d629de) )
1500 	ROM_LOAD32_BYTE( "epr-7215.ic21", 0xe0001, 0x8000, CRC(dfe75f3d) SHA1(ff908419066494bc28cbd6afe72bd30350b20c4b) )
1501 	ROM_LOAD32_BYTE( "epr-7207.ic11", 0xe0002, 0x8000, CRC(a2c07741) SHA1(747c029ab399c4110dbe360b8913f5c2e57c87cc) )
1502 	ROM_LOAD32_BYTE( "epr-7199.ic1",  0xe0003, 0x8000, CRC(b191e22f) SHA1(406c7f4eed0b8fe93fa0bef370e496894f4d46a4) )
1503 
1504 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1505 	ROM_LOAD( "epr-7181.ic2", 0x0000, 0x8000, CRC(b4740419) SHA1(8ece2dc85692e32d0ba0b427c260c3d10ac0b7cc) )
1506 
1507 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1508 	ROM_LOAD( "epr-7234.ic73", 0x00000, 0x004000, CRC(d6397933) SHA1(b85bb47efb6c113b3676b10ab86f1798a89d45b4) )
1509 	ROM_LOAD( "epr-7233.ic72", 0x04000, 0x004000, CRC(504e76d9) SHA1(302af9101da01c97ca4be6acd21fb5b8e8f0b7ef) )
1510 
1511 	ROM_REGION( 0x10000, "pcm", 0 ) // Sega PCM sound data
1512 	ROM_LOAD( "epr-7231.ic5", 0x00000, 0x8000, CRC(871c6b14) SHA1(6d04ddc32fdf1db409cb519890821bd10fc9e58b) )
1513 	ROM_LOAD( "epr-7232.ic6", 0x08000, 0x8000, CRC(4b59340c) SHA1(a01ba8580b65dd17bfd92560265e502d95d3ff16) )
1514 
1515 	ROM_REGION( 0x10000, "mcu", 0 ) // Internal i8751 MCU code
1516 	ROM_LOAD( "315-5163a.ic32", 0x00000, 0x1000, NO_DUMP )
1517 
1518 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1519 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1520 ROM_END
1521 
1522 //*************************************************************************************************************************
1523 //  Space Harrier
1524 //  CPU: 68000 + i8751 (315-5163)
1525 //
1526 //  ASSY CPU BD 834-5797
1527 //  ASSY CONTROL BD 834-5798
1528 //  ASSY ROM BD 834-5800
1529 //  ASSY SOUND BD 834-5670-01
1530 //
1531 ROM_START( sharrier1 )
1532 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1533 	ROM_LOAD16_BYTE( "epr-7188.ic97",  0x000000, 0x8000, CRC(7c30a036) SHA1(d3902342be714b4e181c87ad2bad7102e3eeec20) )
1534 	ROM_LOAD16_BYTE( "epr-7184.ic84",  0x000001, 0x8000, CRC(16deaeb1) SHA1(bdf85b924a914865bf876eda7fc2b20131a4cf2d) )
1535 	ROM_LOAD16_BYTE( "epr-7189.ic98",  0x010000, 0x8000, CRC(40b1309f) SHA1(9b050983f043a88f414745d02c912b59bbf1b121) )
1536 	ROM_LOAD16_BYTE( "epr-7185.ic85",  0x010001, 0x8000, CRC(ce78045c) SHA1(ce640f05bed64ff5b47f1064b5fc13e58bc422a4) )
1537 	ROM_LOAD16_BYTE( "epr-7190.ic99",  0x020000, 0x8000, CRC(f6391091) SHA1(3160b342b6447cccf67c932c7c1a42354cdfb058) )
1538 	ROM_LOAD16_BYTE( "epr-7186.ic86",  0x020001, 0x8000, CRC(79b367d7) SHA1(e901036b1b9fac460415d513837c8f852f7750b0) )
1539 	ROM_LOAD16_BYTE( "epr-7191.ic100", 0x030000, 0x8000, CRC(6171e9d3) SHA1(72f8736f421dc93139859fd47f0c8c3c32b6ff0b) )
1540 	ROM_LOAD16_BYTE( "epr-7187.ic87",  0x030001, 0x8000, CRC(70cb72ef) SHA1(d1d89bd133b6905f81c25513d852b7e3a05a7312) )
1541 
1542 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1543 	ROM_LOAD16_BYTE( "epr-7182.ic54", 0x0000, 0x8000, CRC(d7c535b6) SHA1(c0659a678c0c3776387a4a675016e9a2e9c67ee3) )
1544 	ROM_LOAD16_BYTE( "epr-7183.ic67", 0x0001, 0x8000, CRC(a6153af8) SHA1(b56ba472e4afb474c7a3f7dc11d7428ebbe1a9c7) )
1545 
1546 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1547 	ROM_LOAD( "epr-7196.ic31", 0x00000, 0x08000, CRC(347fa325) SHA1(9076b16de9598b52a75e5084651ee5a220b0e88b) )
1548 	ROM_LOAD( "epr-7197.ic46", 0x08000, 0x08000, CRC(39d98bd1) SHA1(5aab91bdd08b0f1ea537cd43ccc2e82fd01dd031) )
1549 	ROM_LOAD( "epr-7198.ic60", 0x10000, 0x08000, CRC(3da3ea6b) SHA1(9a6ce304a14e6ef0be41d867284a63b941f960fb) )
1550 
1551 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
1552 	ROM_LOAD32_BYTE( "epr-7230.ic36", 0x00000, 0x8000, CRC(93e2d264) SHA1(ca56de13756ab77408506d88f291da1da8134435) )
1553 	ROM_LOAD32_BYTE( "epr-7222.ic28", 0x00001, 0x8000, CRC(edbf5fc3) SHA1(a93f8c431075741c181eb422b24c9303487ca16c) )
1554 	ROM_LOAD32_BYTE( "epr-7214.ic18", 0x00002, 0x8000, CRC(e8c537d8) SHA1(c9b3c0f33272c47d32e6aa349d72f7e355468e0e) )
1555 	ROM_LOAD32_BYTE( "epr-7206.ic8",  0x00003, 0x8000, CRC(22844fa4) SHA1(6d0f177082084c8c92085cd53e1d7ddc62d09a4c) )
1556 	ROM_LOAD32_BYTE( "epr-7229.ic35", 0x20000, 0x8000, CRC(cd6e7500) SHA1(6f0e42eb28ad3f5df93d8bb39dc41aba66eee144) )
1557 	ROM_LOAD32_BYTE( "epr-7221.ic27", 0x20001, 0x8000, CRC(41f25a9c) SHA1(bebbd4c4600028205aeff54190b32b664e4710d0) )
1558 	ROM_LOAD32_BYTE( "epr-7213.ic17", 0x20002, 0x8000, CRC(5bb09a67) SHA1(8bedefd2fa29a1a5e36f1d81c4e9067e3c7f28e9) )
1559 	ROM_LOAD32_BYTE( "epr-7205.ic7",  0x20003, 0x8000, CRC(dcaa2ebf) SHA1(9cf77bb966859febc5e5f1447cb719db64aa4db4) )
1560 	ROM_LOAD32_BYTE( "epr-7228.ic34", 0x40000, 0x8000, CRC(d5e15e66) SHA1(2bd81c5c736d725577adf85532de7802bef057f2) )
1561 	ROM_LOAD32_BYTE( "epr-7220.ic26", 0x40001, 0x8000, CRC(ac62ae2e) SHA1(d472dcc1d9b7889d04870920d5c6e5578597b8dc) )
1562 	ROM_LOAD32_BYTE( "epr-7212.ic16", 0x40002, 0x8000, CRC(9c782295) SHA1(c1627f3d849d2fdb02a590502bafbe133212b943) )
1563 	ROM_LOAD32_BYTE( "epr-7204.ic6",  0x40003, 0x8000, CRC(3711105c) SHA1(075197f614786f89bee28ed944371223bc75c9be) )
1564 	ROM_LOAD32_BYTE( "epr-7227.ic33", 0x60000, 0x8000, CRC(60d7c1bb) SHA1(19ddc1d8f269b50343266d508ad04d4c0fff69d1) )
1565 	ROM_LOAD32_BYTE( "epr-7219.ic25", 0x60001, 0x8000, CRC(f6330038) SHA1(805d4ed664972c0773c837d62f094858c1804148) )
1566 	ROM_LOAD32_BYTE( "epr-7211.ic15", 0x60002, 0x8000, CRC(60737b98) SHA1(5e91498bc473f099a1b2887baf980486e922af97) )
1567 	ROM_LOAD32_BYTE( "epr-7203.ic5",  0x60003, 0x8000, CRC(70fb5ebb) SHA1(38755a9be92865d2c5da8112d8d9c0fe8e778cff) )
1568 	ROM_LOAD32_BYTE( "epr-7226.ic32", 0x80000, 0x8000, CRC(6d7b5c97) SHA1(94c27e4ef1e197ee136f9399b07520cae00a366f) )
1569 	ROM_LOAD32_BYTE( "epr-7218.ic24", 0x80001, 0x8000, CRC(cebf797c) SHA1(d3d5aeba1a0e70a322ec86b930814fa8bc744829) )
1570 	ROM_LOAD32_BYTE( "epr-7210.ic14", 0x80002, 0x8000, CRC(24596a8b) SHA1(f580022c4f7dcaefb7209058c310a329479b5fcd) )
1571 	ROM_LOAD32_BYTE( "epr-7202.ic4",  0x80003, 0x8000, CRC(b537d082) SHA1(f87a644d9af8477c9eb94e5d3aeb5f6376264418) )
1572 	ROM_LOAD32_BYTE( "epr-7225.ic31", 0xa0000, 0x8000, CRC(5e784271) SHA1(063bd83b7f42dec556a7bdf736cb51456ba7184b) )
1573 	ROM_LOAD32_BYTE( "epr-7217.ic23", 0xa0001, 0x8000, CRC(510e5e10) SHA1(47b9f1bc8df0690c37d1d045bd361f8599e8a903) )
1574 	ROM_LOAD32_BYTE( "epr-7209.ic13", 0xa0002, 0x8000, CRC(7a2dad15) SHA1(227865447027f8669aa0d06d059f3d61da6d59dd) )
1575 	ROM_LOAD32_BYTE( "epr-7201.ic3",  0xa0003, 0x8000, CRC(f5ba4e08) SHA1(443b07c996cbb213fe57dfdd3879c1d4da27c001) )
1576 	ROM_LOAD32_BYTE( "epr-7224.ic30", 0xc0000, 0x8000, CRC(ec42c9ef) SHA1(313d908f3a964529b18e09825552879817a2e159) )
1577 	ROM_LOAD32_BYTE( "epr-7216.ic22", 0xc0001, 0x8000, CRC(6d4a7d7a) SHA1(997ac38e47d84f0166ca3ece50ac5f2d3435d8d3) )
1578 	ROM_LOAD32_BYTE( "epr-7208.ic12", 0xc0002, 0x8000, CRC(0f732717) SHA1(6a19c88d5d52f4ec4adb32c511fed4caae81c65f) )
1579 	ROM_LOAD32_BYTE( "epr-7200.ic2",  0xc0003, 0x8000, CRC(fc3bf8f3) SHA1(d9168b9bce110bfd531410179a107895c641e105) )
1580 	ROM_LOAD32_BYTE( "epr-7223.ic29", 0xe0000, 0x8000, CRC(ed51fdc4) SHA1(a2696b15a0911ac3b6b330b7d8df58ca51d629de) )
1581 	ROM_LOAD32_BYTE( "epr-7215.ic21", 0xe0001, 0x8000, CRC(dfe75f3d) SHA1(ff908419066494bc28cbd6afe72bd30350b20c4b) )
1582 	ROM_LOAD32_BYTE( "epr-7207.ic11", 0xe0002, 0x8000, CRC(a2c07741) SHA1(747c029ab399c4110dbe360b8913f5c2e57c87cc) )
1583 	ROM_LOAD32_BYTE( "epr-7199.ic1",  0xe0003, 0x8000, CRC(b191e22f) SHA1(406c7f4eed0b8fe93fa0bef370e496894f4d46a4) )
1584 
1585 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1586 	ROM_LOAD( "epr-7181.ic2", 0x0000, 0x8000, CRC(b4740419) SHA1(8ece2dc85692e32d0ba0b427c260c3d10ac0b7cc) )
1587 
1588 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1589 	ROM_LOAD( "epr-7234.ic73", 0x00000, 0x004000, CRC(d6397933) SHA1(b85bb47efb6c113b3676b10ab86f1798a89d45b4) )
1590 	ROM_LOAD( "epr-7233.ic72", 0x04000, 0x004000, CRC(504e76d9) SHA1(302af9101da01c97ca4be6acd21fb5b8e8f0b7ef) )
1591 
1592 	ROM_REGION( 0x10000, "pcm", 0 ) // Sega PCM sound data
1593 	ROM_LOAD( "epr-7231.ic5", 0x00000, 0x8000, CRC(871c6b14) SHA1(6d04ddc32fdf1db409cb519890821bd10fc9e58b) )
1594 	ROM_LOAD( "epr-7232.ic6", 0x08000, 0x8000, CRC(4b59340c) SHA1(a01ba8580b65dd17bfd92560265e502d95d3ff16) )
1595 
1596 	ROM_REGION( 0x10000, "mcu", 0 ) // Internal i8751 MCU code
1597 	ROM_LOAD( "315-5163.ic32", 0x00000, 0x1000, NO_DUMP )
1598 
1599 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1600 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1601 ROM_END
1602 
1603 
1604 //*************************************************************************************************************************
1605 //*************************************************************************************************************************
1606 //*************************************************************************************************************************
1607 //  Enduro Racer
1608 //  CPU: FD1089B (317-0013A)
1609 //  YM2151 sound board
1610 //
1611 //  ASSY CPU BD 837-6000 ENDURO RACER
1612 //   ASSY CPU BD 837-6001-01
1613 //   ASSY CONTROL BD 837-6002-01
1614 //   ASSY ROM BD 837-6004-01
1615 //  ASSY SOUND BD 834-6003 ENDURO RACER  (production sticker:  860715.0509E)
1616 //   ASSY SOUND BD 837-6005
1617 //
1618 //   Missing dumps from the ASSY SOUND BD:
1619 //    315-5205   - silckscreened CK2605 (DIP20) at IC67 (8J)
1620 //    315-5206   - silckscreened 82S153 (DIP20) at IC38 (5E)
1621 //
1622 ROM_START( enduror )
1623 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1624 	ROM_LOAD16_BYTE( "epr-7640a.ic97", 0x00000, 0x8000, CRC(1d1dc5d4) SHA1(8e7ae5abd23e949de5d5e1772f90e53d05c866ec) )
1625 	ROM_LOAD16_BYTE( "epr-7636a.ic84", 0x00001, 0x8000, CRC(84131639) SHA1(04981464577d2604eec36c14c5de9c91604ae501) )
1626 	ROM_LOAD16_BYTE( "epr-7641.ic98",  0x10000, 0x8000, CRC(2503ae7c) SHA1(27009d5b47dc207145048edfcc1ac8ffda5f0b78) )
1627 	ROM_LOAD16_BYTE( "epr-7637.ic85",  0x10001, 0x8000, CRC(82a27a8c) SHA1(4b182d8c23454aed7d786c9824932957319b6eff) )
1628 	ROM_LOAD16_BYTE( "epr-7642.ic99",  0x20000, 0x8000, CRC(1c453bea) SHA1(c6e606cdcb1690de05ef5283b48a8a61b2e0ad51) )
1629 	ROM_LOAD16_BYTE( "epr-7638.ic86",  0x20001, 0x8000, CRC(70544779) SHA1(e6403edd7fc0ad5d447c25be5d7f10889aa109ff) )
1630 
1631 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1632 	ROM_LOAD16_BYTE("epr-7634a.ic54", 0x0000, 0x8000, CRC(aec83731) SHA1(3fe2d0f1a8806b850836741d664c07754a701459) )
1633 	ROM_LOAD16_BYTE("epr-7635a.ic67", 0x0001, 0x8000, CRC(b2fce96f) SHA1(9d6c1a7c2bdbf86430b849a5f6c6fdb5595dc91c) )
1634 
1635 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1636 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
1637 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
1638 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
1639 
1640 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
1641 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
1642 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
1643 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
1644 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
1645 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
1646 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
1647 	ROM_LOAD32_BYTE( "epr-7661.ic17", 0x20002, 0x8000, CRC(fe93a79b) SHA1(591025a371a451c9cddc8c7480c9841a18bb9a7f) )
1648 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
1649 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
1650 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
1651 	ROM_LOAD32_BYTE( "epr-7660.ic16", 0x40002, 0x8000, CRC(86dfbb68) SHA1(a05ac16fbe3aaf34dd46229d4b71fc1f72a3a556) )
1652 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
1653 	ROM_LOAD32_BYTE( "epr-7675.ic33", 0x60000, 0x8000, CRC(05cd2d61) SHA1(51688a5a9bc4da3f88ce162ff30affe8c6d3d0c8) )
1654 	ROM_LOAD32_BYTE( "epr-7667.ic25", 0x60001, 0x8000, CRC(923bde9d) SHA1(7722a7fdbf45f862f1011d1afae8dedd5885bf52) )
1655 	ROM_LOAD32_BYTE( "epr-7659.ic15", 0x60002, 0x8000, CRC(629dc8ce) SHA1(4af2a53678890b02922dee54f7cd3c5550001572) )
1656 	ROM_LOAD32_BYTE( "epr-7651.ic5",  0x60003, 0x8000, CRC(d7902bad) SHA1(f4872d1a42dcf7d5dbdbc1233606a706b39478d7) )
1657 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
1658 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
1659 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
1660 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
1661 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
1662 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
1663 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
1664 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
1665 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
1666 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
1667 	ROM_LOAD32_BYTE( "epr-7656.ic12", 0xc0002, 0x8000, CRC(6c741272) SHA1(ccaedda1436ddc339377e610d51e13726bb6c7eb) )
1668 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
1669 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
1670 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
1671 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
1672 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
1673 
1674 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1675 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
1676 
1677 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1678 	ROM_LOAD( "epr-7682.ic58", 0x00000, 0x8000, CRC(c4efbf48) SHA1(2bcbc4757d98f291fcaec467abc36158b3f59be3) )
1679 
1680 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1681 	ROM_LOAD( "epr-7681.ic8", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
1682 	ROM_LOAD( "epr-7680.ic7", 0x10000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
1683 
1684 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1685 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1686 
1687 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
1688 	ROM_LOAD( "317-0013a.key", 0x0000, 0x2000, CRC(a965b2da) SHA1(046f800f258163b6935f4f75326d9dc225b27dde) )
1689 ROM_END
1690 
1691 //*************************************************************************************************************************
1692 //  Enduro Racer
1693 //  CPU: FD1089B (317-0013A)
1694 //  YM2151 sound board
1695 //
1696 //  ASSY CPU BD 837-6000 ENDURO RACER
1697 //   ASSY CPU BD 837-6001-01
1698 //   ASSY CONTROL BD 837-6002-01
1699 //   ASSY ROM BD 837-6004-02 (with jumpers J2, J3, J7 & J8 made)
1700 //  ASSY SOUND BD 834-6003 ENDURO RACER  (production sticker:  860715.0509E)
1701 //   ASSY SOUND BD 837-6005
1702 //
1703 //   Missing dumps from the ASSY SOUND BD:
1704 //    315-5205   - silckscreened CK2605 (DIP20) at IC67 (8J)
1705 //    315-5206   - silckscreened 82S153 (DIP20) at IC38 (5E)
1706 //
1707 ROM_START( endurora )
1708 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1709 	ROM_LOAD16_BYTE( "epr-7640a.ic97", 0x00000, 0x8000, CRC(1d1dc5d4) SHA1(8e7ae5abd23e949de5d5e1772f90e53d05c866ec) )
1710 	ROM_LOAD16_BYTE( "epr-7636a.ic84", 0x00001, 0x8000, CRC(84131639) SHA1(04981464577d2604eec36c14c5de9c91604ae501) )
1711 	ROM_LOAD16_BYTE( "epr-7641.ic98",  0x10000, 0x8000, CRC(2503ae7c) SHA1(27009d5b47dc207145048edfcc1ac8ffda5f0b78) )
1712 	ROM_LOAD16_BYTE( "epr-7637.ic85",  0x10001, 0x8000, CRC(82a27a8c) SHA1(4b182d8c23454aed7d786c9824932957319b6eff) )
1713 	ROM_LOAD16_BYTE( "epr-7642.ic99",  0x20000, 0x8000, CRC(1c453bea) SHA1(c6e606cdcb1690de05ef5283b48a8a61b2e0ad51) )
1714 	ROM_LOAD16_BYTE( "epr-7638.ic86",  0x20001, 0x8000, CRC(70544779) SHA1(e6403edd7fc0ad5d447c25be5d7f10889aa109ff) )
1715 
1716 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1717 	ROM_LOAD16_BYTE("epr-7634a.ic54", 0x0000, 0x8000, CRC(aec83731) SHA1(3fe2d0f1a8806b850836741d664c07754a701459) )
1718 	ROM_LOAD16_BYTE("epr-7635a.ic67", 0x0001, 0x8000, CRC(b2fce96f) SHA1(9d6c1a7c2bdbf86430b849a5f6c6fdb5595dc91c) )
1719 
1720 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1721 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
1722 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
1723 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
1724 
1725 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites - ASSY ROM BD 837-6004-02 with jumpers J2, J3, J7 & J8 made
1726 	ROM_LOAD32_BYTE( "mpr-10146.ic36", 0x00000, 0x20000, CRC(85564401) SHA1(aca73ee936d623de2103f843bd916909e4d0ec7b) ) // all MPR-101xx here are 28 pin Fujitsu MB831000 mask ROMs
1727 	ROM_LOAD32_BYTE( "mpr-10144.ic28", 0x00001, 0x20000, CRC(03569803) SHA1(cad6d5e2dcb785eece2c82e13105378c9857745e) )
1728 	ROM_LOAD32_BYTE( "mpr-10142.ic18", 0x00002, 0x20000, CRC(4a72251b) SHA1(2de25051d7858b817e290b0806792980a889eb16) )
1729 	ROM_LOAD32_BYTE( "mpr-10140.ic8",  0x00003, 0x20000, CRC(68ff1691) SHA1(82343227b730ac3a66aac9c362f29dd0dcdb46f8) )
1730 	ROM_LOAD32_BYTE( "mpr-10145.ic32", 0x80000, 0x20000, CRC(3e64eec0) SHA1(272fd2f318db67368b3d13cacc47f9d32c9bdcaa) )
1731 	ROM_LOAD32_BYTE( "mpr-10143.ic24", 0x80001, 0x20000, CRC(bdad5fd2) SHA1(914e74fc1ab4c3e7418f2c95305f3bebab8476be) )
1732 	ROM_LOAD32_BYTE( "mpr-10141.ic14", 0x80002, 0x20000, CRC(560360b9) SHA1(ddae8cc2c5a35540d4a115313049b30f5d2ebeae) )
1733 	ROM_LOAD32_BYTE( "mpr-10139.ic4",  0x80003, 0x20000, CRC(863c7d9e) SHA1(a77648beeed180b3f00d66ba91b20459e32025fe) )
1734 
1735 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1736 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
1737 
1738 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1739 	ROM_LOAD( "epr-7682.ic58", 0x00000, 0x8000, CRC(c4efbf48) SHA1(2bcbc4757d98f291fcaec467abc36158b3f59be3) )
1740 
1741 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1742 	ROM_LOAD( "epr-7681.ic8", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
1743 	ROM_LOAD( "epr-7680.ic7", 0x10000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
1744 
1745 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1746 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1747 
1748 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
1749 	ROM_LOAD( "317-0013a.key", 0x0000, 0x2000, CRC(a965b2da) SHA1(046f800f258163b6935f4f75326d9dc225b27dde) )
1750 ROM_END
1751 
1752 //*************************************************************************************************************************
1753 //  Enduro Racer
1754 //  CPU: FD1089B (317-0013A)
1755 //  YM2151 sound board
1756 //
1757 //  ASSY CPU BD 837-6000 ENDURO RACER
1758 //   ASSY CPU BD 837-6001-01
1759 //   ASSY CONTROL BD 837-6002-01
1760 //   ASSY ROM BD 837-6004-01
1761 //  ASSY SOUND BD 834-6003 ENDURO RACER  (production sticker:  860715.0509E)
1762 //   ASSY SOUND BD 837-6005
1763 //
1764 //   Missing dumps from the ASSY SOUND BD:
1765 //    315-5205   - silckscreened CK2605 (DIP20) at IC67 (8J)
1766 //    315-5206   - silckscreened 82S153 (DIP20) at IC38 (5E)
1767 //
1768 ROM_START( endurorb )
1769 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1770 	ROM_LOAD16_BYTE( "epr-7640.ic97", 0x00000, 0x8000, CRC(193a495b) SHA1(6418959cddf2678ddfccf67a29440a896e427cdc) )
1771 	ROM_LOAD16_BYTE( "epr-7636.ic84", 0x00001, 0x8000, CRC(d8cedbbe) SHA1(e9f96251732e19651789a93c0cf2349d4f038157) )
1772 	ROM_LOAD16_BYTE( "epr-7641.ic98", 0x10000, 0x8000, CRC(2503ae7c) SHA1(27009d5b47dc207145048edfcc1ac8ffda5f0b78) )
1773 	ROM_LOAD16_BYTE( "epr-7637.ic85", 0x10001, 0x8000, CRC(82a27a8c) SHA1(4b182d8c23454aed7d786c9824932957319b6eff) )
1774 	ROM_LOAD16_BYTE( "epr-7642.ic99", 0x20000, 0x8000, CRC(1c453bea) SHA1(c6e606cdcb1690de05ef5283b48a8a61b2e0ad51) )
1775 	ROM_LOAD16_BYTE( "epr-7638.ic86", 0x20001, 0x8000, CRC(70544779) SHA1(e6403edd7fc0ad5d447c25be5d7f10889aa109ff) )
1776 
1777 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1778 	ROM_LOAD16_BYTE("epr-7634.ic54", 0x0000, 0x8000, CRC(3e07fd32) SHA1(7acb9e9712ecfe928c421c84dece783e75077746) )
1779 	ROM_LOAD16_BYTE("epr-7635.ic67", 0x0001, 0x8000, CRC(22f762ab) SHA1(70fa87da76c714db7213c42128a0b6a27644a1d4) )
1780 
1781 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1782 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
1783 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
1784 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
1785 
1786 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
1787 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
1788 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
1789 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
1790 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
1791 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
1792 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
1793 	ROM_LOAD32_BYTE( "epr-7661.ic17", 0x20002, 0x8000, CRC(fe93a79b) SHA1(591025a371a451c9cddc8c7480c9841a18bb9a7f) )
1794 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
1795 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
1796 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
1797 	ROM_LOAD32_BYTE( "epr-7660.ic16", 0x40002, 0x8000, CRC(86dfbb68) SHA1(a05ac16fbe3aaf34dd46229d4b71fc1f72a3a556) )
1798 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
1799 	ROM_LOAD32_BYTE( "epr-7675.ic33", 0x60000, 0x8000, CRC(05cd2d61) SHA1(51688a5a9bc4da3f88ce162ff30affe8c6d3d0c8) )
1800 	ROM_LOAD32_BYTE( "epr-7667.ic25", 0x60001, 0x8000, CRC(923bde9d) SHA1(7722a7fdbf45f862f1011d1afae8dedd5885bf52) )
1801 	ROM_LOAD32_BYTE( "epr-7659.ic15", 0x60002, 0x8000, CRC(629dc8ce) SHA1(4af2a53678890b02922dee54f7cd3c5550001572) )
1802 	ROM_LOAD32_BYTE( "epr-7651.ic5",  0x60003, 0x8000, CRC(d7902bad) SHA1(f4872d1a42dcf7d5dbdbc1233606a706b39478d7) )
1803 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
1804 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
1805 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
1806 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
1807 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
1808 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
1809 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
1810 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
1811 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
1812 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
1813 	ROM_LOAD32_BYTE( "epr-7656.ic12", 0xc0002, 0x8000, CRC(6c741272) SHA1(ccaedda1436ddc339377e610d51e13726bb6c7eb) )
1814 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
1815 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
1816 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
1817 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
1818 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
1819 
1820 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1821 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
1822 
1823 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1824 	ROM_LOAD( "epr-7682.ic58", 0x00000, 0x8000, CRC(c4efbf48) SHA1(2bcbc4757d98f291fcaec467abc36158b3f59be3) )
1825 
1826 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1827 	ROM_LOAD( "epr-7681.ic8", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
1828 	ROM_LOAD( "epr-7680.ic7", 0x10000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
1829 
1830 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1831 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1832 
1833 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
1834 	ROM_LOAD( "317-0013a.key", 0x0000, 0x2000, CRC(a965b2da) SHA1(046f800f258163b6935f4f75326d9dc225b27dde) )
1835 ROM_END
1836 
1837 //*************************************************************************************************************************
1838 //  Decrypted Enduro Racer 317-0013A (YM2151 based) set
1839 //
1840 ROM_START( endurord )
1841 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1842 	ROM_LOAD16_BYTE( "bootleg_epr-7640a.ic97", 0x00000, 0x8000, CRC(f52fd496) SHA1(a23d0ac897a65b7688cce701b43b23d873c6c82f) )
1843 	ROM_LOAD16_BYTE( "bootleg_epr-7636a.ic84", 0x00001, 0x8000, CRC(666136b3) SHA1(c68d196f9e3748394e737f0298834715f4e0c5af) )
1844 	ROM_LOAD16_BYTE( "bootleg_epr-7641.ic98",  0x10000, 0x8000, CRC(2153154a) SHA1(145d8ed59812d26ca412a01ae77cd7872adaba5a) )
1845 	ROM_LOAD16_BYTE( "bootleg_epr-7637.ic85",  0x10001, 0x8000, CRC(0a97992c) SHA1(7a6fc8c575637107ed07a30f6f0f8cb8877cbb43) )
1846 	ROM_LOAD16_BYTE( "bootleg_epr-7642.ic99",  0x20000, 0x8000, CRC(f6391091) SHA1(3160b342b6447cccf67c932c7c1a42354cdfb058) )
1847 	ROM_LOAD16_BYTE( "bootleg_epr-7638.ic86",  0x20001, 0x8000, CRC(79b367d7) SHA1(e901036b1b9fac460415d513837c8f852f7750b0) )
1848 
1849 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1850 	ROM_LOAD16_BYTE("epr-7634a.ic54", 0x0000, 0x8000, CRC(aec83731) SHA1(3fe2d0f1a8806b850836741d664c07754a701459) )
1851 	ROM_LOAD16_BYTE("epr-7635a.ic67", 0x0001, 0x8000, CRC(b2fce96f) SHA1(9d6c1a7c2bdbf86430b849a5f6c6fdb5595dc91c) )
1852 
1853 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1854 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
1855 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
1856 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
1857 
1858 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
1859 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
1860 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
1861 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
1862 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
1863 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
1864 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
1865 	ROM_LOAD32_BYTE( "epr-7661.ic17", 0x20002, 0x8000, CRC(fe93a79b) SHA1(591025a371a451c9cddc8c7480c9841a18bb9a7f) )
1866 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
1867 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
1868 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
1869 	ROM_LOAD32_BYTE( "epr-7660.ic16", 0x40002, 0x8000, CRC(86dfbb68) SHA1(a05ac16fbe3aaf34dd46229d4b71fc1f72a3a556) )
1870 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
1871 	ROM_LOAD32_BYTE( "epr-7675.ic33", 0x60000, 0x8000, CRC(05cd2d61) SHA1(51688a5a9bc4da3f88ce162ff30affe8c6d3d0c8) )
1872 	ROM_LOAD32_BYTE( "epr-7667.ic25", 0x60001, 0x8000, CRC(923bde9d) SHA1(7722a7fdbf45f862f1011d1afae8dedd5885bf52) )
1873 	ROM_LOAD32_BYTE( "epr-7659.ic15", 0x60002, 0x8000, CRC(629dc8ce) SHA1(4af2a53678890b02922dee54f7cd3c5550001572) )
1874 	ROM_LOAD32_BYTE( "epr-7651.ic5",  0x60003, 0x8000, CRC(d7902bad) SHA1(f4872d1a42dcf7d5dbdbc1233606a706b39478d7) )
1875 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
1876 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
1877 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
1878 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
1879 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
1880 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
1881 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
1882 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
1883 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
1884 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
1885 	ROM_LOAD32_BYTE( "epr-7656.ic12", 0xc0002, 0x8000, CRC(6c741272) SHA1(ccaedda1436ddc339377e610d51e13726bb6c7eb) )
1886 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
1887 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
1888 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
1889 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
1890 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
1891 
1892 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1893 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
1894 
1895 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1896 	ROM_LOAD( "epr-7682.ic58", 0x00000, 0x8000, CRC(c4efbf48) SHA1(2bcbc4757d98f291fcaec467abc36158b3f59be3) )
1897 
1898 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1899 	ROM_LOAD( "epr-7681.ic8", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
1900 	ROM_LOAD( "epr-7680.ic7", 0x10000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
1901 
1902 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1903 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1904 ROM_END
1905 
1906 //*************************************************************************************************************************
1907 //  Enduro Racer
1908 //  CPU: FD1089B (317-0013A)
1909 //  YM2203 sound board
1910 //
1911 //   ASSY CPU BD 837-6001-01
1912 //   ASSY CONTROL BD 837-6002-01
1913 //   ASSY ROM BD 837-6004-01
1914 //   ASSY SOUND BD 837-6005-01 (renumbered 834-5670)
1915 //
1916 ROM_START( enduror1 )
1917 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1918 	ROM_LOAD16_BYTE( "epr-7630.ic97", 0x00000, 0x8000, CRC(a1bdadab) SHA1(f52d747a6947ad2dbc12765133adfb41eb5a5f2f) )
1919 	ROM_LOAD16_BYTE( "epr-7629.ic84", 0x00001, 0x8000, CRC(f50f4169) SHA1(b4eebb5131bb472db03f0e340743437753a9efe3) )
1920 	ROM_LOAD16_BYTE( "epr-7641.ic98", 0x10000, 0x8000, CRC(2503ae7c) SHA1(27009d5b47dc207145048edfcc1ac8ffda5f0b78) )
1921 	ROM_LOAD16_BYTE( "epr-7637.ic85", 0x10001, 0x8000, CRC(82a27a8c) SHA1(4b182d8c23454aed7d786c9824932957319b6eff) )
1922 	ROM_LOAD16_BYTE( "epr-7642.ic99", 0x20000, 0x8000, CRC(1c453bea) SHA1(c6e606cdcb1690de05ef5283b48a8a61b2e0ad51) )
1923 	ROM_LOAD16_BYTE( "epr-7638.ic86", 0x20001, 0x8000, CRC(70544779) SHA1(e6403edd7fc0ad5d447c25be5d7f10889aa109ff) )
1924 
1925 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1926 	ROM_LOAD16_BYTE("epr-7634.ic54", 0x0000, 0x8000, CRC(3e07fd32) SHA1(7acb9e9712ecfe928c421c84dece783e75077746) )
1927 	ROM_LOAD16_BYTE("epr-7635.ic67", 0x0001, 0x8000, CRC(22f762ab) SHA1(70fa87da76c714db7213c42128a0b6a27644a1d4) )
1928 
1929 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
1930 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
1931 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
1932 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
1933 
1934 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
1935 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
1936 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
1937 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
1938 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
1939 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
1940 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
1941 	ROM_LOAD32_BYTE( "epr-7661.ic17", 0x20002, 0x8000, CRC(fe93a79b) SHA1(591025a371a451c9cddc8c7480c9841a18bb9a7f) )
1942 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
1943 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
1944 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
1945 	ROM_LOAD32_BYTE( "epr-7660.ic16", 0x40002, 0x8000, CRC(86dfbb68) SHA1(a05ac16fbe3aaf34dd46229d4b71fc1f72a3a556) )
1946 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
1947 	ROM_LOAD32_BYTE( "epr-7675.ic33", 0x60000, 0x8000, CRC(05cd2d61) SHA1(51688a5a9bc4da3f88ce162ff30affe8c6d3d0c8) )
1948 	ROM_LOAD32_BYTE( "epr-7667.ic25", 0x60001, 0x8000, CRC(923bde9d) SHA1(7722a7fdbf45f862f1011d1afae8dedd5885bf52) )
1949 	ROM_LOAD32_BYTE( "epr-7659.ic15", 0x60002, 0x8000, CRC(629dc8ce) SHA1(4af2a53678890b02922dee54f7cd3c5550001572) )
1950 	ROM_LOAD32_BYTE( "epr-7651.ic5",  0x60003, 0x8000, CRC(d7902bad) SHA1(f4872d1a42dcf7d5dbdbc1233606a706b39478d7) )
1951 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
1952 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
1953 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
1954 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
1955 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
1956 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
1957 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
1958 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
1959 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
1960 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
1961 	ROM_LOAD32_BYTE( "epr-7656.ic12", 0xc0002, 0x8000, CRC(6c741272) SHA1(ccaedda1436ddc339377e610d51e13726bb6c7eb) )
1962 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
1963 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
1964 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
1965 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
1966 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
1967 
1968 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
1969 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
1970 
1971 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
1972 	ROM_LOAD( "epr-7765.ic73", 0x00000, 0x4000, CRC(81c82fc9) SHA1(99eae7edc62d719993c46a703f9daaf332e236e9) )
1973 	ROM_LOAD( "epr-7764.ic72", 0x04000, 0x4000, CRC(755bfdad) SHA1(2942f3da5a45a3ac7bba6a73142663fd975f4379) )
1974 
1975 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
1976 	ROM_LOAD( "epr-7762.ic5", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
1977 	ROM_LOAD( "epr-7763.ic6", 0x08000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
1978 
1979 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
1980 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
1981 
1982 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
1983 	ROM_LOAD( "317-0013a.key", 0x0000, 0x2000, CRC(a965b2da) SHA1(046f800f258163b6935f4f75326d9dc225b27dde) )
1984 ROM_END
1985 
1986 //*************************************************************************************************************************
1987 //  Decrypted Enduro Racer 317-0013A (YM2203 based) set
1988 //
1989 ROM_START( enduror1d )
1990 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
1991 	ROM_LOAD16_BYTE( "bootleg_epr-7630.ic97", 0x00000, 0x8000, CRC(b041e995) SHA1(b3ece0cc0538700052b0b1c693f38210d2121e3d) )
1992 	ROM_LOAD16_BYTE( "bootleg_epr-7629.ic84", 0x00001, 0x8000, CRC(db4eff5f) SHA1(829658355046cf45c70c6ed442b9af1823da6e94) )
1993 	ROM_LOAD16_BYTE( "bootleg_epr-7641.ic98", 0x10000, 0x8000, CRC(2153154a) SHA1(145d8ed59812d26ca412a01ae77cd7872adaba5a) )
1994 	ROM_LOAD16_BYTE( "bootleg_epr-7637.ic85", 0x10001, 0x8000, CRC(0a97992c) SHA1(7a6fc8c575637107ed07a30f6f0f8cb8877cbb43) )
1995 	ROM_LOAD16_BYTE( "bootleg_epr-7642.ic99", 0x20000, 0x8000, CRC(f6391091) SHA1(3160b342b6447cccf67c932c7c1a42354cdfb058) )
1996 	ROM_LOAD16_BYTE( "bootleg_epr-7638.ic86", 0x20001, 0x8000, CRC(79b367d7) SHA1(e901036b1b9fac460415d513837c8f852f7750b0) )
1997 
1998 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
1999 	ROM_LOAD16_BYTE("epr-7634.ic54", 0x0000, 0x8000, CRC(3e07fd32) SHA1(7acb9e9712ecfe928c421c84dece783e75077746) )
2000 	ROM_LOAD16_BYTE("epr-7635.ic67", 0x0001, 0x8000, CRC(22f762ab) SHA1(70fa87da76c714db7213c42128a0b6a27644a1d4) )
2001 
2002 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
2003 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
2004 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
2005 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
2006 
2007 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
2008 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
2009 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
2010 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
2011 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
2012 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
2013 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
2014 	ROM_LOAD32_BYTE( "epr-7661.ic17", 0x20002, 0x8000, CRC(fe93a79b) SHA1(591025a371a451c9cddc8c7480c9841a18bb9a7f) )
2015 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
2016 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
2017 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
2018 	ROM_LOAD32_BYTE( "epr-7660.ic16", 0x40002, 0x8000, CRC(86dfbb68) SHA1(a05ac16fbe3aaf34dd46229d4b71fc1f72a3a556) )
2019 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
2020 	ROM_LOAD32_BYTE( "epr-7675.ic33", 0x60000, 0x8000, CRC(05cd2d61) SHA1(51688a5a9bc4da3f88ce162ff30affe8c6d3d0c8) )
2021 	ROM_LOAD32_BYTE( "epr-7667.ic25", 0x60001, 0x8000, CRC(923bde9d) SHA1(7722a7fdbf45f862f1011d1afae8dedd5885bf52) )
2022 	ROM_LOAD32_BYTE( "epr-7659.ic15", 0x60002, 0x8000, CRC(629dc8ce) SHA1(4af2a53678890b02922dee54f7cd3c5550001572) )
2023 	ROM_LOAD32_BYTE( "epr-7651.ic5",  0x60003, 0x8000, CRC(d7902bad) SHA1(f4872d1a42dcf7d5dbdbc1233606a706b39478d7) )
2024 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
2025 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
2026 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
2027 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
2028 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
2029 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
2030 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
2031 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
2032 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
2033 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
2034 	ROM_LOAD32_BYTE( "epr-7656.ic12", 0xc0002, 0x8000, CRC(6c741272) SHA1(ccaedda1436ddc339377e610d51e13726bb6c7eb) )
2035 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
2036 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
2037 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
2038 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
2039 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
2040 
2041 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
2042 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
2043 
2044 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
2045 	ROM_LOAD( "epr-7765.ic73", 0x00000, 0x4000, CRC(81c82fc9) SHA1(99eae7edc62d719993c46a703f9daaf332e236e9) )
2046 	ROM_LOAD( "epr-7764.ic72", 0x04000, 0x4000, CRC(755bfdad) SHA1(2942f3da5a45a3ac7bba6a73142663fd975f4379) )
2047 
2048 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
2049 	ROM_LOAD( "epr-7762.ic5", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
2050 	ROM_LOAD( "epr-7763.ic6", 0x08000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
2051 
2052 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
2053 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
2054 ROM_END
2055 
2056 //*************************************************************************************************************************
2057 //  Enduro Racer (bootleg)
2058 //  CPU: 68000
2059 //  YM2203 sound board
2060 //
2061 ROM_START( endurobl )
2062 	ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code
2063 	ROM_LOAD16_BYTE( "7.13j", 0x030000, 0x08000, CRC(f1d6b4b7) SHA1(32bd966191cbb36d1e60ed1a06d4caa023dd6b88) )
2064 	ROM_CONTINUE(             0x000000, 0x08000 )
2065 	ROM_LOAD16_BYTE( "4.13h", 0x030001, 0x08000, CRC(43bff873) SHA1(04e906c1965a6211fb8e13987db52f1f99cc0203) ) // ROM decoded
2066 	ROM_CONTINUE(             0x000001, 0x08000 )       // data de-coded
2067 	ROM_LOAD16_BYTE( "8.14j", 0x010000, 0x08000, CRC(2153154a) SHA1(145d8ed59812d26ca412a01ae77cd7872adaba5a) )
2068 	ROM_LOAD16_BYTE( "5.14h", 0x010001, 0x08000, CRC(0a97992c) SHA1(7a6fc8c575637107ed07a30f6f0f8cb8877cbb43) )
2069 	ROM_LOAD16_BYTE( "9.15j", 0x020000, 0x08000, CRC(db3bff1c) SHA1(343ed27a690800683cdd5128dcdb28c7b45288a3) ) // one byte difference from
2070 	ROM_LOAD16_BYTE( "6.15h", 0x020001, 0x08000, CRC(54b1885a) SHA1(f53d906390e5414e73c4cdcbc102d3cb3e719e67) ) // epr-7638.ic86 / epr-7642.ic99
2071 
2072 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
2073 	ROM_LOAD16_BYTE("epr-7634.ic54", 0x0000, 0x8000, CRC(3e07fd32) SHA1(7acb9e9712ecfe928c421c84dece783e75077746) )
2074 	ROM_LOAD16_BYTE("epr-7635.ic67", 0x0001, 0x8000, CRC(22f762ab) SHA1(70fa87da76c714db7213c42128a0b6a27644a1d4) )
2075 
2076 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
2077 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
2078 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
2079 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
2080 
2081 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
2082 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
2083 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
2084 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
2085 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
2086 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
2087 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
2088 	ROM_LOAD32_BYTE( "epr-7661.ic17", 0x20002, 0x8000, CRC(fe93a79b) SHA1(591025a371a451c9cddc8c7480c9841a18bb9a7f) )
2089 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
2090 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
2091 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
2092 	ROM_LOAD32_BYTE( "epr-7660.ic16", 0x40002, 0x8000, CRC(86dfbb68) SHA1(a05ac16fbe3aaf34dd46229d4b71fc1f72a3a556) )
2093 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
2094 	ROM_LOAD32_BYTE( "epr-7675.ic33", 0x60000, 0x8000, CRC(05cd2d61) SHA1(51688a5a9bc4da3f88ce162ff30affe8c6d3d0c8) )
2095 	ROM_LOAD32_BYTE( "epr-7667.ic25", 0x60001, 0x8000, CRC(923bde9d) SHA1(7722a7fdbf45f862f1011d1afae8dedd5885bf52) )
2096 	ROM_LOAD32_BYTE( "epr-7659.ic15", 0x60002, 0x8000, CRC(629dc8ce) SHA1(4af2a53678890b02922dee54f7cd3c5550001572) )
2097 	ROM_LOAD32_BYTE( "epr-7651.ic5",  0x60003, 0x8000, CRC(d7902bad) SHA1(f4872d1a42dcf7d5dbdbc1233606a706b39478d7) )
2098 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
2099 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
2100 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
2101 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
2102 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
2103 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
2104 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
2105 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
2106 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
2107 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
2108 	ROM_LOAD32_BYTE( "epr-7656.ic12", 0xc0002, 0x8000, CRC(6c741272) SHA1(ccaedda1436ddc339377e610d51e13726bb6c7eb) )
2109 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
2110 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
2111 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
2112 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
2113 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
2114 
2115 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
2116 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
2117 
2118 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
2119 	ROM_LOAD( "epr-7765.ic73", 0x00000, 0x4000, CRC(81c82fc9) SHA1(99eae7edc62d719993c46a703f9daaf332e236e9) )  // was "13.16d"
2120 	ROM_LOAD( "epr-7764.ic72", 0x04000, 0x4000, CRC(755bfdad) SHA1(2942f3da5a45a3ac7bba6a73142663fd975f4379) )  // was "12.16e"
2121 
2122 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
2123 	ROM_LOAD( "epr-7762.ic5", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
2124 	ROM_LOAD( "epr-7763.ic6", 0x10000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
2125 
2126 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
2127 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
2128 ROM_END
2129 
2130 //*************************************************************************************************************************
2131 //  Enduro Racer (bootleg)
2132 //  CPU: 68000
2133 //  2xYM2203 sound board
2134 //
2135 ROM_START( endurob2 )
2136 	ROM_REGION( 0x040000, "maincpu", 0 ) // 68000 code
2137 	// the program ROMs should be twice the size
2138 	ROM_LOAD16_BYTE( "enduro.a07", 0x000000, 0x08000, BAD_DUMP CRC(259069bc) SHA1(42fa47ce4a29294f9eff3eddbba6c305d750aaa5) )
2139 //  ROM_CONTINUE(                  0x030000, 0x08000 )
2140 	ROM_LOAD16_BYTE( "enduro.a04", 0x000001, 0x08000, BAD_DUMP CRC(f584fbd9) SHA1(6c9ddcd1d9cf95c6250b705b27865644da45d197) )
2141 //  ROM_CONTINUE(                  0x030000, 0x08000 )
2142 	ROM_LOAD16_BYTE( "enduro.a08", 0x010000, 0x08000, CRC(d234918c) SHA1(ce2493a4ceff48331551e915fdbe19107865436e) )
2143 	ROM_LOAD16_BYTE( "enduro.a05", 0x010001, 0x08000, CRC(a525dd57) SHA1(587f449ea317dc9eae06e755e7c63a652effbe15) )
2144 	ROM_LOAD16_BYTE( "enduro.a09", 0x020000, 0x08000, CRC(f6391091) SHA1(3160b342b6447cccf67c932c7c1a42354cdfb058) )
2145 	ROM_LOAD16_BYTE( "enduro.a06", 0x020001, 0x08000, CRC(79b367d7) SHA1(e901036b1b9fac460415d513837c8f852f7750b0) )
2146 
2147 	ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU
2148 	ROM_LOAD16_BYTE("epr-7634.ic54", 0x0000, 0x8000, CRC(3e07fd32) SHA1(7acb9e9712ecfe928c421c84dece783e75077746) )
2149 	ROM_LOAD16_BYTE("epr-7635.ic67", 0x0001, 0x8000, CRC(22f762ab) SHA1(70fa87da76c714db7213c42128a0b6a27644a1d4) )
2150 
2151 	ROM_REGION( 0x18000, "gfx1", 0 ) // tiles
2152 	ROM_LOAD( "epr-7644.ic31", 0x00000, 0x08000, CRC(e7a4ff90) SHA1(06d18470019041e32be9a969870cd995de626cd6) )
2153 	ROM_LOAD( "epr-7645.ic46", 0x08000, 0x08000, CRC(4caa0095) SHA1(a24c741cdca0542e462f17ff94f132c62710e198) )
2154 	ROM_LOAD( "epr-7646.ic60", 0x10000, 0x08000, CRC(7e432683) SHA1(c8249b23fce77eb456166161c2d9aa34309efe31) )
2155 
2156 	ROM_REGION32_LE( 0x100000, "sprites", 0 ) // sprites
2157 	ROM_LOAD32_BYTE( "epr-7678.ic36", 0x00000, 0x8000, CRC(9fb5e656) SHA1(264b0ad017eb0fc7e0b542e6dd160ba964c100fd) )
2158 	ROM_LOAD32_BYTE( "epr-7670.ic28", 0x00001, 0x8000, CRC(dbbe2f6e) SHA1(310797a61f91d6866e728e0da3b30828e06d1b52) )
2159 	ROM_LOAD32_BYTE( "epr-7662.ic18", 0x00002, 0x8000, CRC(cb0c13c5) SHA1(856d1234fd8f8146e20fe6c65c0a535b7b7512cd) )
2160 	ROM_LOAD32_BYTE( "epr-7654.ic8",  0x00003, 0x8000, CRC(2db6520d) SHA1(d16739e84316b4bd26963b729208169bbf01f499) )
2161 	ROM_LOAD32_BYTE( "epr-7677.ic35", 0x20000, 0x8000, CRC(7764765b) SHA1(62543130816c084d292f229a15b3ce1305c99bb3) )
2162 	ROM_LOAD32_BYTE( "epr-7669.ic27", 0x20001, 0x8000, CRC(f9525faa) SHA1(fbe2f67a9baee069dbca26a669d0a263bcca0d09) )
2163 	ROM_LOAD32_BYTE( "enduro.a34",    0x20002, 0x8000, CRC(296454d8) SHA1(17e829a08606837d36006849edffe54c76c384d5) )
2164 	ROM_LOAD32_BYTE( "epr-7653.ic7",  0x20003, 0x8000, CRC(46a52114) SHA1(d646ab03c1985953401619457d03072833edc6c7) )
2165 	ROM_LOAD32_BYTE( "epr-7676.ic34", 0x40000, 0x8000, CRC(2e42e0d4) SHA1(508f6f89e681b59272884ba129a5c6ffa1b6ba05) )
2166 	ROM_LOAD32_BYTE( "epr-7668.ic26", 0x40001, 0x8000, CRC(e115ce33) SHA1(1af591bc1567b89d0de399e4a02d896fba938bab) )
2167 	ROM_LOAD32_BYTE( "enduro.a35",    0x40002, 0x8000, CRC(1ebe76df) SHA1(c68257d92b79cd346ca9f5639e6b3dffc6e21a5d) )
2168 	ROM_LOAD32_BYTE( "epr-7652.ic6",  0x40003, 0x8000, CRC(2880cfdb) SHA1(94b78d78d82c324ca108970d8689f1d6b2ca8a24) )
2169 	ROM_LOAD32_BYTE( "enduro.a20",    0x60000, 0x8000, CRC(7c280bc8) SHA1(ad8bb0204a53ea1415f088819748d40c47d96509) )
2170 	ROM_LOAD32_BYTE( "enduro.a28",    0x60001, 0x8000, CRC(321f034b) SHA1(e30f541d0f17a75ac02a49bd5d621c75fdd89298) )
2171 	ROM_LOAD32_BYTE( "enduro.a36",    0x60002, 0x8000, CRC(243e34e5) SHA1(4117435e97841ac2e0233089343f14b4a27dcaed) )
2172 	ROM_LOAD32_BYTE( "enduro.a44",    0x60003, 0x8000, CRC(84bb12a1) SHA1(340de454cee9d78f8b64e12b74450b7a152b8726) )
2173 	ROM_LOAD32_BYTE( "epr-7674.ic32", 0x80000, 0x8000, CRC(1a129acf) SHA1(ebaa60ccedc95c58af3ce99105b924b303827f6e) )
2174 	ROM_LOAD32_BYTE( "epr-7666.ic24", 0x80001, 0x8000, CRC(23697257) SHA1(19453b14e8e6789e4c48a80d1b83dbaf37fbdceb) )
2175 	ROM_LOAD32_BYTE( "epr-7658.ic14", 0x80002, 0x8000, CRC(1677f24f) SHA1(4786996cc8a04344e82ec9be7c4e7c8a005914a3) )
2176 	ROM_LOAD32_BYTE( "epr-7650.ic4",  0x80003, 0x8000, CRC(642635ec) SHA1(e42bbae178e9a139325633e8c85a606c91e39e36) )
2177 	ROM_LOAD32_BYTE( "epr-7673.ic31", 0xa0000, 0x8000, CRC(82602394) SHA1(d714f397f33a52429f394fc4c403d39be7911ccf) )
2178 	ROM_LOAD32_BYTE( "epr-7665.ic23", 0xa0001, 0x8000, CRC(12d77607) SHA1(5b5d25646336a8ceae449d5b7a6b70372d81dd8b) )
2179 	ROM_LOAD32_BYTE( "epr-7657.ic13", 0xa0002, 0x8000, CRC(8158839c) SHA1(f22081caf11d6b57488c969b5935cd4686e11197) )
2180 	ROM_LOAD32_BYTE( "epr-7649.ic3",  0xa0003, 0x8000, CRC(4edba14c) SHA1(db0aab94de50f8f9501b7afd2fff70fb0a6b2b36) )
2181 	ROM_LOAD32_BYTE( "epr-7672.ic30", 0xc0000, 0x8000, CRC(d11452f7) SHA1(f68183053005a26c0014050592bad6d63325895e) )
2182 	ROM_LOAD32_BYTE( "epr-7664.ic22", 0xc0001, 0x8000, CRC(0df2cfad) SHA1(d62d12922be921967da37fbc624aaed72c4a2a98) )
2183 	ROM_LOAD32_BYTE( "enduro.a39",    0xc0002, 0x8000, CRC(1ff3a5e2) SHA1(b4672ed06f6f1ed28538e6dc63efa6eed5c34587) )
2184 	ROM_LOAD32_BYTE( "epr-7648.ic2",  0xc0003, 0x8000, CRC(983ea830) SHA1(9629476a300ba711893775ca94dce81a00afd246) )
2185 	ROM_LOAD32_BYTE( "epr-7671.ic29", 0xe0000, 0x8000, CRC(b0c7fdc6) SHA1(c9e0993fed36526e0e46ab2da9413af24b96cae8) )
2186 	ROM_LOAD32_BYTE( "epr-7663.ic21", 0xe0001, 0x8000, CRC(2b0b8f08) SHA1(14aa1e6866f1c23c9ff271e8f216f6ecc21601ab) )
2187 	ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
2188 	ROM_LOAD32_BYTE( "epr-7647.ic1",  0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
2189 
2190 	ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
2191 	ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
2192 
2193 	ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
2194 	ROM_LOAD( "enduro.a16", 0x00000, 0x8000, CRC(d2cb6eb5) SHA1(80c5fab16ec4ddfa67fae94808026b2e6285b7f1) )
2195 
2196 	ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data
2197 	ROM_LOAD( "epr-7681.ic8", 0x00000, 0x8000, CRC(bc0c4d12) SHA1(3de71bde4c23e3c31984f20fc4bc7e221354c56f) )
2198 	ROM_LOAD( "epr-7680.ic7", 0x10000, 0x8000, CRC(627b3c8c) SHA1(806fe7dce619ad19c09178061be4607d2beba14d) )
2199 
2200 	ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
2201 	ROM_LOAD( "epr-6844.ic123", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) )
2202 ROM_END
2203 
2204 
2205 
2206 //**************************************************************************
2207 //  CONFIGURATION
2208 //**************************************************************************
2209 
2210 //-------------------------------------------------
2211 //  init_generic - common initialization
2212 //-------------------------------------------------
2213 
2214 void segahang_state::init_generic()
2215 {
2216 	// save states
2217 	save_item(NAME(m_adc_select));
2218 	save_item(NAME(m_shadow));
2219 }
2220 
2221 
2222 //-------------------------------------------------
2223 //  init_* - game-specific initialization
2224 //-------------------------------------------------
2225 
init_sharrier()2226 void segahang_state::init_sharrier()
2227 {
2228 	init_generic();
2229 	m_sharrier_video = true;
2230 	m_i8751_vblank_hook = i8751_sim_delegate(&segahang_state::sharrier_i8751_sim, this);
2231 }
2232 
init_enduror()2233 void segahang_state::init_enduror()
2234 {
2235 	init_generic();
2236 	m_sharrier_video = true;
2237 }
2238 
init_endurobl()2239 void segahang_state::init_endurobl()
2240 {
2241 	init_enduror();
2242 	// assemble decrypted half of ROM and register it
2243 	uint16_t *rom = reinterpret_cast<uint16_t *>(memregion("maincpu")->base());
2244 	memcpy(m_decrypted_opcodes + 0x00000/2, rom + 0x30000/2, 0x10000);
2245 	memcpy(m_decrypted_opcodes + 0x10000/2, rom + 0x10000/2, 0x20000);
2246 }
2247 
init_endurob2()2248 void segahang_state::init_endurob2()
2249 {
2250 	init_enduror();
2251 
2252 	// assemble decrypted half of ROM and register it
2253 	uint16_t *rom = reinterpret_cast<uint16_t *>(memregion("maincpu")->base());
2254 	memcpy(m_decrypted_opcodes, rom, 0x30000);
2255 }
2256 
2257 
2258 
2259 //**************************************************************************
2260 //  GAME DRIVERS
2261 //**************************************************************************
2262 
2263 //    YEAR, NAME,       PARENT,   MACHINE,  INPUT,     STATE           INIT,          ROT,   COMPANY,          FULLNAME,                                                              FLAGS
2264 GAME( 1985, hangon,     0,        hangon,   hangon,    segahang_state, init_generic,  ROT0,  "Sega",           "Hang-On (Rev A)",                                                     0 )
2265 GAME( 1985, hangon1,    hangon,   hangon,   hangon,    segahang_state, init_generic,  ROT0,  "Sega",           "Hang-On",                                                             0 )
2266 GAME( 1985, hangon2,    hangon,   hangon,   hangon2,   segahang_state, init_generic,  ROT0,  "Sega",           "Hang-On (Rev A, ride-on)",                                            0 )
2267 GAME( 1985, hangonvf,   hangon,   hangon,   hangon,    segahang_state, init_generic,  ROT0,  "bootleg",        "VF (bootleg of Hang-On)",                                             0 )
2268 
2269 GAME( 1987, shangonro,  shangon,  shangonro,shangonro, segahang_state, init_generic,  ROT0,  "Sega",           "Super Hang-On (Hang-On conversion, ride-on, Japan, FD1094 317-0038)", 0 )
2270 GAME( 1987, shangonho,  shangon,  shangonro,shangupb,  segahang_state, init_generic,  ROT0,  "Sega",           "Super Hang-On (Hang-On conversion, Japan, FD1094 317-0039)",          0 )
2271 GAME( 1992, shangonrb,  shangon,  shangupb, shangupb,  segahang_state, init_generic,  ROT0,  "bootleg",        "Super Hang-On (Hang-On conversion, bootleg)",                         0 )
2272 GAME( 1987, shangonrb2, shangon,  shangupb, shangupb,  segahang_state, init_generic,  ROT0,  "bootleg (Beta)", "Super Hang-On (Hang-On conversion, Beta bootleg)",                    0 )
2273 
2274 GAME( 1985, sharrier,   0,        sharrier, sharrier,  segahang_state, init_sharrier, ROT0,  "Sega",           "Space Harrier (Rev A, 8751 315-5163A)",                               0 )
2275 GAME( 1985, sharrier1,  sharrier, sharrier, sharrier,  segahang_state, init_sharrier, ROT0,  "Sega",           "Space Harrier (8751 315-5163)",                                       0 )
2276 
2277 GAME( 1986, enduror,    0,        enduror,  enduror,   segahang_state, init_enduror,  ROT0,  "Sega",           "Enduro Racer (Rev A, YM2151, FD1089B 317-0013A)",                     0 )
2278 GAME( 1986, endurora,   enduror,  enduror,  enduror,   segahang_state, init_enduror,  ROT0,  "Sega",           "Enduro Racer (Rev A, YM2151, mask ROM sprites, FD1089B 317-0013A)",   0 )
2279 GAME( 1986, endurorb,   enduror,  enduror,  enduror,   segahang_state, init_enduror,  ROT0,  "Sega",           "Enduro Racer (YM2151, FD1089B 317-0013A)",                            0 )
2280 GAME( 1986, enduror1,   enduror,  enduror1, enduror,   segahang_state, init_enduror,  ROT0,  "Sega",           "Enduro Racer (YM2203, FD1089B 317-0013A)",                            0 )
2281 GAME( 1986, endurobl,   enduror,  endurobl, enduror,   segahang_state, init_endurobl, ROT0,  "bootleg",        "Enduro Racer (bootleg set 1)",                                        0 )
2282 GAME( 1986, endurob2,   enduror,  endurob2, enduror,   segahang_state, init_endurob2, ROT0,  "bootleg",        "Enduro Racer (bootleg set 2)",                                        MACHINE_NOT_WORKING )
2283 
2284 
2285 GAME( 1986, endurord,   enduror,  endurord,  enduror,  segahang_state, init_enduror,  ROT0,  "bootleg",        "Enduro Racer (bootleg of Rev A, YM2151, FD1089B 317-0013A set)",      0 )
2286 GAME( 1986, enduror1d,  enduror,  enduror1d, enduror,  segahang_state, init_enduror,  ROT0,  "bootleg",        "Enduro Racer (bootleg of YM2203, FD1089B 317-0013A set)",             0 )
2287