1 // license:BSD-3-Clause
2 // copyright-holders:Phil Stroffolino
3 /*
4 Namco System NB-1
5 
6 Notes:
7 - tilemap system is identical to Namco System2
8 
9 ToDo:
10 - improve interrupts
11 - gunbulet force feedback
12 
13 Main CPU : Motorola 68020 32-bit processor @ 25MHz
14 Secondary CPUs : C329 + 137 (both custom)
15 Custom Graphics Chips : GFX:123,145,156,C116 - Motion Objects:C355,187,C347
16 Sound CPU : C75 (Mitsu M37702 with internal ROM)
17 PCM Sound chip : C352 (custom)
18 I/O Chip : 160 (custom)
19 Board composition : Single board
20 
21 Known games using this hardware:
22 - Great Sluggers '93
23 - Great Sluggers '94
24 - Gun Bullet / Point Blank
25 - Nebulas Ray
26 - Super World Stadium '95
27 - Super World Stadium '96
28 - Super World Stadium '97
29 - The Outfoxies
30 - Mach Breakers
31 
32 *****************************************************
33 
34 Gun Bullet (JPN Ver.)
35 (c)1994 Namco
36 KeyCus.:C386
37 
38 Note: CPU - Main PCB  (NB-1)
39       MEM - MEMEXT OBJ8 PCB at J103 on the main PCB
40       SPR - MEMEXT SPR PCB at location 5B on the main PCB
41 
42           - Namco main PCB:  NB-1  8634961101, (8634963101)
43           - MEMEXT OBJ8 PCB:       8635902201, (8635902301)
44 
45         * - Surface mounted ROMs
46         # - 32 pin DIP Custom IC (16bytes x 16-bit)
47 
48 Brief hardware overview
49 -----------------------
50 
51 Main processor    - MC68EC020FG25 25MHz   (100 pin PQFP)
52                   - C329 custom           (100 pin PQFP)
53                   - 137  custom PLD       (28 pin NDIP)
54                   - C366 Key Custom
55 
56 Sound processor   - C75  custom
57  (PCM)            - C352 custom           (100 pin PQFP)
58  (control inputs) - 160  custom           (80 pin PQFP)
59 
60 GFX               - 123  custom           (80 pin PQFP)
61                   - 145  custom           (80 pin PQFP)
62                   - 156  custom           (64 pin PQFP)
63                   - C116 custom           (80 pin PQFP)
64 
65 Motion Objects    - C355 custom           (160 pin PQFP)
66                   - 187  custom           (160 pin PQFP)
67                   - C347 custom           (80 pin PQFP)
68 
69 PCB Jumper Settings
70 -------------------
71 
72 Location      Setting       Alt. Setting
73 ----------------------------------------
74   JP1           1M              4M
75   JP2           4M              1M
76   JP5          <1M              1M
77   JP6           8M             >8M
78   JP7           4M              1M
79   JP8           4M              1M
80   JP9           cON             cOFF
81   JP10          24M (MHz)       12M (MHz)
82   JP11          24M (MHz)       28M (MHz)
83   JP12          355             F32
84 
85 *****************************************************
86 
87 Super World Stadium '95 (JPN Ver.)
88 (c)1986-1993 1995 Namco
89 
90 Namco NB-1 system
91 
92 KeyCus.:C393
93 
94 *****************************************************
95 
96 Super World Stadium '96 (JPN Ver.)
97 (c)1986-1993 1995 1996 Namco
98 
99 Namco NB-1 system
100 
101 KeyCus.:C426
102 
103 *****************************************************
104 
105 Super World Stadium '97 (JPN Ver.)
106 (c)1986-1993 1995 1996 1997 Namco
107 
108 Namco NB-1 system
109 
110 KeyCus.:C434
111 
112 *****************************************************
113 
114 Great Sluggers Featuring 1994 Team Rosters
115 (c)1993 1994 Namco / 1994 MLBPA
116 
117 Namco NB-1 system
118 
119 KeyCus.:C359
120 
121 *****************************************************
122 
123 --------------------------
124 Nebulasray by NAMCO (1994)
125 --------------------------
126 Location      Device        File ID      Checksum
127 -------------------------------------------------
128 CPU 13B         27C402      NR1-MPRU       B0ED      [  MAIN PROG  ]
129 CPU 15B         27C240      NR1-MPRL       90C4      [  MAIN PROG  ]
130 SPR            27C1024      NR1-SPR0       99A6      [  SOUND PRG  ]
131 CPU 5M       MB834000B      NR1-SHA0       DD59      [    SHAPE    ]
132 CPU 8J       MB838000B      NR1-CHR0       22A4      [  CHARACTER  ]
133 CPU 9J       MB838000B      NR1-CHR1       19D0      [  CHARACTER  ]
134 CPU 10J      MB838000B      NR1-CHR2       B524      [  CHARACTER  ]
135 CPU 11J      MB838000B      NR1-CHR3       0AF4      [  CHARACTER  ]
136 CPU 5J       KM2316000      NR1-VOI0       8C41      [    VOICE    ]
137 MEM IC1     MT26C1600 *     NR1-OBJ0L      FD7C      [ MOTION OBJL ]
138 MEM IC3     MT26C1600 *     NR1-OBJ1L      7069      [ MOTION OBJL ]
139 MEM IC5     MT26C1600 *     NR1-OBJ2L      07DC      [ MOTION OBJL ]
140 MEM IC7     MT26C1600 *     NR1-OBJ3L      A61E      [ MOTION OBJL ]
141 MEM IC2     MT26C1600 *     NR1-OBJ0U      44D3      [ MOTION OBJU ]
142 MEM IC4     MT26C1600 *     NR1-OBJ1U      F822      [ MOTION OBJU ]
143 MEM IC6     MT26C1600 *     NR1-OBJ2U      DD24      [ MOTION OBJU ]
144 MEM IC8     MT26C1600 *     NR1-OBJ3U      F750      [ MOTION OBJU ]
145 CPU 11D        Custom #      C366.BIN      1C93      [  KEYCUSTUM  ]
146 
147 Note: CPU - Main PCB  (NB-1)
148       MEM - MEMEXT OBJ8 PCB at J103 on the main PCB
149       SPR - MEMEXT SPR PCB at location 5B on the main PCB
150 
151           - Namco main PCB:  NB-1  8634961101, (8634963101)
152           - MEMEXT OBJ8 PCB:       8635902201, (8635902301)
153 
154         * - Surface mounted ROMs
155         # - 32 pin DIP Custom IC (16bytes x 16-bit)
156 
157 Brief hardware overview
158 -----------------------
159 
160 Main processor    - MC68EC020FG25 25MHz   (100 pin PQFP)
161                   - C329 custom           (100 pin PQFP)
162                   - 137  custom PLD       (28 pin NDIP)
163                   - C366 Key Custom
164 
165 Sound processor   - C75  custom
166  (PCM)            - C352 custom           (100 pin PQFP)
167  (control inputs) - 160  custom           (80 pin PQFP)
168 
169 GFX               - 123  custom           (80 pin PQFP)
170                   - 145  custom           (80 pin PQFP)
171                   - 156  custom           (64 pin PQFP)
172                   - C116 custom           (80 pin PQFP)
173 
174 Motion Objects    - C355 custom           (160 pin PQFP)
175                   - 187  custom           (160 pin PQFP)
176                   - C347 custom           (80 pin PQFP)
177 
178 PCB Jumper Settings
179 -------------------
180 
181 Location      Setting       Alt. Setting
182 ----------------------------------------
183   JP1           1M              4M
184   JP2           4M              1M
185   JP5          <1M              1M
186   JP6           8M             >8M
187   JP7           4M              1M
188   JP8           4M              1M
189   JP9           cON             cOFF
190   JP10          24M (MHz)       12M (MHz)
191   JP11          24M (MHz)       28M (MHz)
192   JP12          355             F32
193 
194 
195 Namco System NB2
196 
197 Games running on this hardware:
198 - The Outfoxies
199 - Mach Breakers
200 
201 Changes from Namco System NB1 include:
202 - different memory map
203 - more complex sprite and tile banking
204 - 2 additional ROZ layers
205 
206 -----------------------------
207 The Outfoxies by NAMCO (1994)
208 -----------------------------
209 Location            Device     File ID     Checksum
210 ----------------------------------------------------
211 CPU 11C PRGL       27C4002     OU2-MPRL      166F
212 CPU 11D PRGU       27C4002     OU2-MPRU      F4C1
213 CPU 5B  SPR0        27C240     OU1-SPR0      7361
214 CPU 20A DAT0       27C4002     OU1-DAT0      FCD1
215 CPU 20B DAT1       27C4002     OU1-DAT1      0973
216 CPU 18S SHAPE-R    MB83800     OU1-SHAR      C922
217 CPU 12S SHAPE-S    MB83400     OU1-SHAS      2820
218 CPU 6N  VOICE0    MB831600     OU1-VOI0      4132
219 ROM 4C  OBJ0L    16Meg SMD     OU1-OBJ0L     171B
220 ROM 8C  OBJ0U    16Meg SMD     OU1-OBJ0U     F961
221 ROM 4B  OBJ1L    16Meg SMD     OU1-OBJ1L     1579
222 ROM 8B  OBJ1U    16Meg SMD     OU1-OBJ1U     E8DF
223 ROM 4A  OBJ2L    16Meg SMD     OU1-OBJ2L     AE7B
224 ROM 8A  OBJ2U    16Meg SMD     OU1-OBJ2U     6588
225 ROM 6C  OBJ3L    16Meg SMD     OU1-OBJ3L     9ED3
226 ROM 9C  OBJ3U    16Meg SMD     OU1-OBJ3U     ED3B
227 ROM 6B  OBJ4L    16Meg SMD     OU1-OBJ4L     59D4
228 ROM 9B  OBJ4U    16Meg SMD     OU1-OBJ4U     56CA
229 ROM 3D  ROT0     16Meg SMD     OU1-ROT0      A615
230 ROM 3C  ROT1     16Meg SMD     OU1-ROT1      6C0A
231 ROM 3B  ROT2     16Meg SMD     OU1-ROT2      313E
232 ROM 1D  SCR0     16Meg SMD     OU1-SCR0      751A
233 
234 CPU 8B  DEC75     PAL16L8A        NB1-2
235 CPU 16N MIXER     PAL16V8H        NB2-1
236 CPU 11E SIZE      PAL16L8A        NB2-2
237 CPU 22C KEYCUS   KeyCustom         C390
238 
239 CPU  -  Namco NB-2 Main PCB        8639960102 (8639970102)
240 ROM  -  Namco NB-2 Mask ROM PCB    8639969800 (8639979800)
241 
242      -  Audio out is Stereo
243 
244 Jumper Settings:
245 
246      Setting     Alternate
247 JP1    4M           1M
248 JP2    GND          A20
249 JP3    GND          A20
250 JP6    4M           1M
251 JP8    GND          A20
252 JP9    CON          COFF
253 JP10   GND          A20
254 
255 Hardware info:
256 
257 Main CPU:           MC68EC020FG25
258                     Custom C383    (100 pin PQFP)
259                     Custom C385    (144 pin PQFP)
260 
261 Slave CPU:         ?Custom C382    (160 pin PQFP)
262                     Custom 160     ( 80 pin PQFP)
263                     Custom C352    (100 pin PQFP)
264 
265 GFX:                Custom 145     ( 80 pin PQFP)
266                     Custom 156     ( 64 pin PQFP)
267                     Custom 123     ( 64 pin PQFP)
268                  3x Custom 384     ( 48 pin PQFP)
269                     Custom C355    (160 pin PQFP)
270                     Custom 187     (120 pin PQFP)
271                     Custom 169     (120 pin PQFP)
272 */
273 #include "emu.h"
274 #include "includes/namconb1.h"
275 
276 #include "cpu/m68000/m68000.h"
277 #include "sound/c352.h"
278 
279 #include "speaker.h"
280 
281 
282 #define MASTER_CLOCK    XTAL(48'384'000)
283 
284 #define ENABLE_LOGGING (0)
285 
286 
machine_start()287 void namconb1_state::machine_start()
288 {
289 	save_item(NAME(m_vbl_irq_level));
290 	save_item(NAME(m_pos_irq_level));
291 	save_item(NAME(m_unk_irq_level));
292 	save_item(NAME(m_count));
293 	save_item(NAME(m_port6));
294 }
295 
296 /****************************************************************************/
297 
TIMER_DEVICE_CALLBACK_MEMBER(namconb1_state::scantimer)298 TIMER_DEVICE_CALLBACK_MEMBER(namconb1_state::scantimer)
299 {
300 	int scanline = param;
301 
302 	// Handle VBLANK
303 	if (scanline == 224)
304 	{
305 		if (m_vbl_irq_level != 0)
306 			m_maincpu->set_input_line(m_vbl_irq_level, ASSERT_LINE);
307 	}
308 
309 	// Handle POSIRQ
310 	u32 posirq_scanline = m_c116->get_reg(5) - 32;
311 
312 	if (scanline == posirq_scanline)
313 	{
314 		m_screen->update_partial(posirq_scanline);
315 
316 		if (m_pos_irq_level != 0)
317 			m_maincpu->set_input_line(m_pos_irq_level, ASSERT_LINE);
318 	}
319 /*
320     // TODO: Real sources of these
321     if (scanline == 224)
322         m_mcu->set_input_line(M37710_LINE_IRQ0, HOLD_LINE);
323     else if (scanline == 0)
324         m_mcu->set_input_line(M37710_LINE_IRQ2, HOLD_LINE);
325     else if (scanline == 128)
326         m_mcu->set_input_line(M37710_LINE_ADC, HOLD_LINE);
327 */
328 }
329 
TIMER_DEVICE_CALLBACK_MEMBER(namconb1_state::mcu_irq0_cb)330 TIMER_DEVICE_CALLBACK_MEMBER(namconb1_state::mcu_irq0_cb)
331 {
332 	m_mcu->set_input_line(M37710_LINE_IRQ0, HOLD_LINE);
333 }
334 
TIMER_DEVICE_CALLBACK_MEMBER(namconb1_state::mcu_irq2_cb)335 TIMER_DEVICE_CALLBACK_MEMBER(namconb1_state::mcu_irq2_cb)
336 {
337 	m_mcu->set_input_line(M37710_LINE_IRQ2, HOLD_LINE);
338 }
339 
340 /****************************************************************************/
341 
namconb1_cpureg_w(offs_t offset,u8 data)342 void namconb1_state::namconb1_cpureg_w(offs_t offset, u8 data)
343 {
344 	/**
345 	 * 400000 0x00
346 	 * 400001 POS IRQ enable/level
347 	 * 400002 ??? IRQ enable/level
348 	 * 400003 0x00
349 	 * 400004 VBL IRQ enable/level
350 	 * 400005 0x00
351 	 * 400006 POS IRQ ack
352 	 * 400007 ??? IRQ ack
353 	 * 400008 0x00
354 	 * 400009 VBL IRQ ack
355 	 * 40000a ??? (0x00)
356 	 * 40000b ??? (0x03)
357 	 * 40000c ??? (0x07)
358 	 * 40000d ??? (0x01)
359 	 * 40000e ??? (0x10)
360 	 * 40000f ??? (0x03)
361 	 * 400010 ??? (0x00)
362 	 * 400011 ??? (0x07)
363 	 * 400012 ??? (0x10)
364 	 * 400013 ??? (0x10)
365 	 * 400014 ??? (0x00)
366 	 * 400015 ??? (0x01)
367 	 * 400016 Watchdog
368 	 * 400017 ??? (0x00)
369 	 * 400018 C75 Control
370 	 * 400019 ??? (0x00)
371 	 * 40001a ??? (0x00)
372 	 * 40001b ??? (0x00)
373 	 * 40001c ??? (0x00)
374 	 * 40001d ??? (0x00)
375 	 * 40001e ??? (0x00)
376 	 * 40001f ??? (0x00)
377 	 */
378 	switch (offset)
379 	{
380 		case 0x01:
381 			// Bits 5-4 unknown
382 			m_maincpu->set_input_line(m_pos_irq_level, CLEAR_LINE);
383 			m_pos_irq_level = data & 0x0f;
384 			break;
385 
386 		case 0x02:
387 			m_maincpu->set_input_line(m_unk_irq_level, CLEAR_LINE);
388 			m_unk_irq_level = data & 0x0f;
389 			break;
390 
391 		case 0x04:
392 			m_maincpu->set_input_line(m_vbl_irq_level, CLEAR_LINE);
393 			m_vbl_irq_level = data & 0x0f;
394 			break;
395 
396 		case 0x06:
397 			m_maincpu->set_input_line(m_pos_irq_level, CLEAR_LINE);
398 			break;
399 
400 		case 0x07:
401 			m_maincpu->set_input_line(m_unk_irq_level, CLEAR_LINE);
402 			break;
403 
404 		case 0x09:
405 			m_maincpu->set_input_line(m_vbl_irq_level, CLEAR_LINE);
406 			break;
407 
408 		case 0x16:
409 			break;
410 
411 		case 0x18:
412 			if (data & 1)
413 			{
414 				m_mcu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
415 				m_mcu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
416 				m_mcu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
417 			}
418 			else
419 				m_mcu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
420 			break;
421 
422 		default:
423 			if (ENABLE_LOGGING)
424 				logerror("Unhandled CPU reg write to [0x%.2x] with 0x%.2x (PC=0x%x)\n", offset, data, m_maincpu->pc());
425 	}
426 }
427 
428 
namconb2_cpureg_w(offs_t offset,u8 data)429 void namconb1_state::namconb2_cpureg_w(offs_t offset, u8 data)
430 {
431 	/**
432 	 * f00000 VBL IRQ enable/level
433 	 * f00001 ??? IRQ enable/level
434 	 * f00002 POS IRQ enable/level
435 	 * f00003 ??? (0x00)
436 	 * f00004 VBL IRQ ack
437 	 * f00005 ??? IRQ ack
438 	 * f00006 POS IRQ ack
439 	 * f00007
440 	 * f00008
441 	 * f00009 ??? (0x62)
442 	 * f0000a ??? (0x0f)
443 	 * f0000b ??? (0x41)
444 	 * f0000c ??? (0x70)
445 	 * f0000d ??? (0x70)
446 	 * f0000e ??? (0x23)
447 	 * f0000f ??? (0x50)
448 	 * f00010 ??? (0x00)
449 	 * f00011 ??? (0x64)
450 	 * f00012 ??? (0x18)
451 	 * f00013 ??? (0xe7)
452 	 * f00014 Watchdog
453 	 * f00015
454 	 * f00016 C75 Control
455 	 * f00017
456 	 * f00018
457 	 * f00019
458 	 * f0001a
459 	 * f0001b
460 	 * f0001c
461 	 * f0001d
462 	 * f0001e ??? (0x00)
463 	 * f0001f ??? (0x01)
464 	 */
465 	switch (offset)
466 	{
467 		case 0x00:
468 			m_maincpu->set_input_line(m_vbl_irq_level, CLEAR_LINE);
469 			m_vbl_irq_level = data & 0x0f;
470 			break;
471 
472 		case 0x01:
473 			m_maincpu->set_input_line(m_unk_irq_level, CLEAR_LINE);
474 			m_unk_irq_level = data & 0x0f;
475 			break;
476 
477 		case 0x02:
478 			m_maincpu->set_input_line(m_pos_irq_level, CLEAR_LINE);
479 			m_pos_irq_level = data & 0x0f;
480 			break;
481 
482 		case 0x04:
483 			m_maincpu->set_input_line(m_vbl_irq_level, CLEAR_LINE);
484 			break;
485 
486 		case 0x05:
487 			m_maincpu->set_input_line(m_unk_irq_level, CLEAR_LINE);
488 			break;
489 
490 		case 0x06:
491 			m_maincpu->set_input_line(m_pos_irq_level, CLEAR_LINE);
492 			break;
493 
494 		case 0x14:
495 			break;
496 
497 		case 0x16:
498 			if (data & 1)
499 			{
500 				m_mcu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
501 				m_mcu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
502 				m_mcu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
503 			}
504 			else
505 			{
506 				m_mcu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
507 			}
508 			break;
509 
510 		default:
511 			if (ENABLE_LOGGING)
512 				logerror("Unhandled CPU reg write to [0x%.2x] with 0x%.2x (PC=0x%x)\n", offset, data, m_maincpu->pc());
513 	}
514 }
515 
516 
namconb1_cpureg_r(offs_t offset)517 u8 namconb1_state::namconb1_cpureg_r(offs_t offset)
518 {
519 	// 16: Watchdog
520 	if (ENABLE_LOGGING)
521 	{
522 		if (offset != 0x16)
523 			logerror("Unhandled CPU reg read from [0x%.2x] (PC=0x%x)\n", offset, m_maincpu->pc());
524 	}
525 
526 	return 0xff;
527 }
528 
529 
namconb2_cpureg_r(offs_t offset)530 u8 namconb1_state::namconb2_cpureg_r(offs_t offset)
531 {
532 	// 14: Watchdog
533 	if (ENABLE_LOGGING)
534 	{
535 		if (offset != 0x14)
536 			logerror("Unhandled CPU reg read from [0x%.2x] (PC=0x%x)\n", offset, m_maincpu->pc());
537 	}
538 
539 	return 0xff;
540 }
541 
542 
543 /****************************************************************************/
544 
custom_key_r(offs_t offset)545 u32 namconb1_state::custom_key_r(offs_t offset)
546 {
547 	u16 old_count = m_count;
548 
549 	do
550 	{ /* pick a random number, but don't pick the same twice in a row */
551 		m_count = machine().rand();
552 	} while (m_count == old_count);
553 
554 	switch (m_gametype)
555 	{
556 	/*
557 	    Gunbullet/Point Blank keycus notes (thanks Guru):
558 
559 	    These games use the keycus in an unconventional way.  Instead of reading it for a PRNG or a
560 	    magic value, it writes a scratch value to the keycus once per frame.
561 
562 	    On hardware, if there is no keycus or the wrong keycus is present, this write will stall the
563 	    68000 (probably nothing completes the bus cycle in that case) and the game will hang instead
564 	    of booting.
565 
566 	    Patching these writes out causes the game to run fine with no keycus present.
567 	*/
568 	case NAMCONB1_GUNBULET:
569 		return 0;
570 
571 	case NAMCONB1_SWS95:
572 		switch (offset)
573 		{
574 			case 0: return 0x0189;
575 			case 1: return  m_count << 16;
576 		}
577 		break;
578 
579 	case NAMCONB1_SWS96:
580 		switch (offset)
581 		{
582 			case 0: return 0x01aa << 16;
583 			case 4: return m_count << 16;
584 		}
585 		break;
586 
587 	case NAMCONB1_SWS97:
588 		switch (offset)
589 		{
590 			case 2: return 0x1b2 << 16;
591 			case 5: return m_count << 16;
592 		}
593 		break;
594 
595 	case NAMCONB1_GSLGR94U:
596 		switch (offset)
597 		{
598 			case 0: return 0x0167;
599 			case 1: return m_count << 16;
600 		}
601 		break;
602 
603 	case NAMCONB1_GSLGR94J:
604 		switch (offset)
605 		{
606 		case 1: return 0;
607 		case 3: return (0x0171 << 16) | m_count;
608 		}
609 		break;
610 
611 	case NAMCONB1_NEBULRAY:
612 		switch (offset)
613 		{
614 			case 1: return 0x016e;
615 			case 3: return m_count;
616 		}
617 		break;
618 
619 	case NAMCONB1_VSHOOT:
620 		switch (offset)
621 		{
622 			case 2: return m_count << 16;
623 			case 3: return 0x0170 << 16;
624 		}
625 		break;
626 
627 	case NAMCONB2_OUTFOXIES:
628 		switch (offset)
629 		{
630 			case 0: return 0x0186;
631 			case 1: return m_count << 16;
632 		}
633 		break;
634 
635 	case NAMCONB2_MACH_BREAKERS:
636 		break; /* no protection? */
637 	}
638 	if (ENABLE_LOGGING)
639 		logerror( "custom_key_r(%d); pc=%08x\n", offset, m_maincpu->pc() );
640 	return 0;
641 } /* custom_key_r */
642 
643 /***************************************************************/
644 
645 
gunbulet_gun_r(offs_t offset)646 u32 namconb1_state::gunbulet_gun_r(offs_t offset)
647 {
648 	int result = 0;
649 
650 	switch (offset)
651 	{
652 		case 0: case 1: result = (u8)(0x0f + m_light1_y->read() * 224/255); break; /* Y (p2) */
653 		case 2: case 3: result = (u8)(0x26 + m_light1_x->read() * 288/314); break; /* X (p2) */
654 		case 4: case 5: result = (u8)(0x0f + m_light0_y->read() * 224/255); break; /* Y (p1) */
655 		case 6: case 7: result = (u8)(0x26 + m_light0_x->read() * 288/314); break; /* X (p1) */
656 	}
657 	return result<<24;
658 } /* gunbulet_gun_r */
659 
randgen_r()660 u32 namconb1_state::randgen_r()
661 {
662 	return machine().rand();
663 } /* randgen_r */
664 
srand_w(u32 data)665 void namconb1_state::srand_w(u32 data)
666 {
667 	/**
668 	 * Used to seed the hardware random number generator.
669 	 * We don't yet know the algorithm that is used, so for now this is a NOP.
670 	 */
671 } /* srand_w */
672 
share_r(offs_t offset)673 u32 namconb1_state::share_r(offs_t offset)
674 {
675 	return (m_namconb_shareram[offset * 2] << 16) | m_namconb_shareram[offset * 2 + 1];
676 }
677 
share_w(offs_t offset,u32 data,u32 mem_mask)678 void namconb1_state::share_w(offs_t offset, u32 data, u32 mem_mask)
679 {
680 	COMBINE_DATA(m_namconb_shareram + offset * 2 + 1);
681 	data >>= 16;
682 	mem_mask >>= 16;
683 	COMBINE_DATA(m_namconb_shareram + offset  *2);
684 }
685 
namconb1_am(address_map & map)686 void namconb1_state::namconb1_am(address_map &map)
687 {
688 	map(0x000000, 0x0fffff).rom();
689 	map(0x100000, 0x10001f).r(FUNC(namconb1_state::gunbulet_gun_r));
690 	map(0x1c0000, 0x1cffff).ram();
691 	map(0x1e4000, 0x1e4003).rw(FUNC(namconb1_state::randgen_r), FUNC(namconb1_state::srand_w));
692 	map(0x200000, 0x207fff).rw(FUNC(namconb1_state::share_r), FUNC(namconb1_state::share_w));
693 	map(0x208000, 0x2fffff).ram();
694 	map(0x400000, 0x40001f).rw(FUNC(namconb1_state::namconb1_cpureg_r), FUNC(namconb1_state::namconb1_cpureg_w));
695 	map(0x580000, 0x5807ff).rw(m_eeprom, FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write));
696 	map(0x600000, 0x61ffff).rw(m_c355spr, FUNC(namco_c355spr_device::spriteram_r), FUNC(namco_c355spr_device::spriteram_w)).share("objram");
697 	map(0x620000, 0x620007).rw(m_c355spr, FUNC(namco_c355spr_device::position_r), FUNC(namco_c355spr_device::position_w));
698 	map(0x640000, 0x64ffff).rw(m_c123tmap, FUNC(namco_c123tmap_device::videoram16_r), FUNC(namco_c123tmap_device::videoram16_w));
699 	map(0x660000, 0x66003f).rw(m_c123tmap, FUNC(namco_c123tmap_device::control16_r), FUNC(namco_c123tmap_device::control16_w));
700 	map(0x680000, 0x68000f).ram().share("spritebank32");
701 	map(0x6e0000, 0x6e001f).r(FUNC(namconb1_state::custom_key_r)).nopw();
702 	map(0x700000, 0x707fff).rw(m_c116, FUNC(namco_c116_device::read), FUNC(namco_c116_device::write));
703 }
704 
namconb2_am(address_map & map)705 void namconb1_state::namconb2_am(address_map &map)
706 {
707 	map(0x000000, 0x0fffff).rom();
708 	map(0x1c0000, 0x1cffff).ram();
709 	map(0x1e4000, 0x1e4003).rw(FUNC(namconb1_state::randgen_r), FUNC(namconb1_state::srand_w));
710 	map(0x200000, 0x207fff).rw(FUNC(namconb1_state::share_r), FUNC(namconb1_state::share_w));
711 	map(0x208000, 0x2fffff).ram();
712 	map(0x400000, 0x4fffff).rom().region("data", 0);
713 	map(0x600000, 0x61ffff).rw(m_c355spr, FUNC(namco_c355spr_device::spriteram_r), FUNC(namco_c355spr_device::spriteram_w)).share("objram");
714 	map(0x620000, 0x620007).rw(m_c355spr, FUNC(namco_c355spr_device::position_r), FUNC(namco_c355spr_device::position_w));
715 	map(0x640000, 0x64000f).ram(); /* unknown xy offset */
716 	map(0x680000, 0x68ffff).rw(m_c123tmap, FUNC(namco_c123tmap_device::videoram16_r), FUNC(namco_c123tmap_device::videoram16_w));
717 	map(0x6c0000, 0x6c003f).rw(m_c123tmap, FUNC(namco_c123tmap_device::control16_r), FUNC(namco_c123tmap_device::control16_w));
718 	map(0x700000, 0x71ffff).rw(m_c169roz, FUNC(namco_c169roz_device::videoram_r), FUNC(namco_c169roz_device::videoram_w));
719 	map(0x740000, 0x74001f).rw(m_c169roz, FUNC(namco_c169roz_device::control_r), FUNC(namco_c169roz_device::control_w));
720 	map(0x800000, 0x807fff).rw(m_c116, FUNC(namco_c116_device::read), FUNC(namco_c116_device::write));
721 	map(0x900008, 0x90000f).ram().share("spritebank32");
722 	map(0x940000, 0x94000f).ram().share("tilebank32");
723 	map(0x980000, 0x98000f).ram().w(FUNC(namconb1_state::rozbank32_w)).share("rozbank32");
724 	map(0xa00000, 0xa007ff).rw(m_eeprom, FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write));
725 	map(0xc00000, 0xc0001f).r(FUNC(namconb1_state::custom_key_r)).nopw();
726 	map(0xf00000, 0xf0001f).rw(FUNC(namconb1_state::namconb2_cpureg_r), FUNC(namconb1_state::namconb2_cpureg_w));
727 }
728 
mcu_shared_w(offs_t offset,u16 data,u16 mem_mask)729 void namconb1_state::mcu_shared_w(offs_t offset, u16 data, u16 mem_mask)
730 {
731 	// HACK!  Many games data ROM routines redirect the vector from the sound command read to an RTS.
732 	// This needs more investigation.  nebulray and vshoot do NOT do this.
733 	// Timers A2 and A3 are set up in "external input counter" mode, this may be related.
734 #if 0
735 	if ((offset == 0x647c/2) && (data != 0))
736 	{
737 		data = 0xd2f6;
738 	}
739 #endif
740 
741 	COMBINE_DATA(&m_namconb_shareram[offset]);
742 
743 	// C74 BIOS has a very short window on the CPU sync signal, so immediately let the '020 at it
744 	if ((offset == 0x6000/2) && (data & 0x80))
745 	{
746 		m_mcu->spin_until_time(m_mcu->cycles_to_attotime(300)); // was 300
747 	}
748 }
749 
namcoc75_am(address_map & map)750 void namconb1_state::namcoc75_am(address_map &map)
751 {
752 	map(0x002000, 0x002fff).rw("c352", FUNC(c352_device::read), FUNC(c352_device::write));
753 	map(0x004000, 0x00bfff).ram().w(FUNC(namconb1_state::mcu_shared_w)).share("namconb_share");
754 	map(0x200000, 0x27ffff).rom().region("c75data", 0);
755 }
756 
757 
port6_r()758 uint8_t namconb1_state::port6_r()
759 {
760 	return m_port6;
761 }
762 
port6_w(uint8_t data)763 void namconb1_state::port6_w(uint8_t data)
764 {
765 	m_port6 = data;
766 }
767 
port7_r()768 uint8_t namconb1_state::port7_r()
769 {
770 	switch (m_port6 & 0xf0)
771 	{
772 		case 0x00:
773 			return m_p4.read_safe(0xff);
774 
775 		case 0x20:
776 			return m_misc->read();
777 
778 		case 0x40:
779 			return m_p1->read();
780 
781 		case 0x60:
782 			return m_p2->read();
783 
784 		default:
785 			break;
786 	}
787 
788 	return 0xff;
789 }
790 
791 // Is this madness?  No, this is Namco.  They didn't have enough digital ports for all 4 players,
792 // so the 8 bits of player 3 got routed to the 8 analog inputs.  +5V on the analog input will
793 // register full scale, so it works...
794 template <int Bit>
dac_bit_r()795 u16 namconb1_state::dac_bit_r()
796 {
797 	return (m_p3.read_safe(0xff) << (7 - Bit)) & 0x80;
798 }
799 
800 
801 /****************************************************************************/
802 
803 static INPUT_PORTS_START( gunbulet )
804 	PORT_START("MISC")
805 	PORT_DIPUNUSED_DIPLOC(0x01, 0x01, "SW1: 2")
806 	PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
807 
808 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
809 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
810 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
811 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
812 	PORT_DIPNAME( 0x40, 0x40, "Test switch" )
DEF_STR(Off)813 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
814 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
815 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
816 
817 	PORT_START("P1")
818 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
819 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
820 
821 	PORT_START("P2")
822 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
823 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
824 
825 	PORT_START("LIGHT0_X")
826 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4)
827 	PORT_START("LIGHT0_Y")
828 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4)
829 	PORT_START("LIGHT1_X")
830 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4) PORT_PLAYER(2)
831 	PORT_START("LIGHT1_Y")
832 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4) PORT_PLAYER(2)
833 INPUT_PORTS_END
834 
835 static INPUT_PORTS_START( namconb1 )
836 	PORT_START("P1")
837 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
838 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
839 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
840 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
841 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
842 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
843 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
844 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
845 
846 	PORT_START("P2")
847 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
848 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
849 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
850 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
851 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
852 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
853 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
854 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
855 
856 	PORT_START("P3")
857 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
858 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
859 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
860 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
861 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
862 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
863 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
864 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3 )
865 
866 	PORT_START("P4")
867 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
868 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
869 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
870 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
871 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
872 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
873 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
874 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
875 
876 	PORT_START("MISC")
877 	PORT_DIPNAME( 0x01, 0x01, "Freeze Screen" ) PORT_DIPLOCATION("SW1: 2")
878 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
879 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
880 	PORT_SERVICE_DIPLOC(0x02, 0x02, "SW1: 1")
881 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 )
882 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 )
883 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
884 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
885 	PORT_DIPNAME( 0x40, 0x40, "Test switch" )
886 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
887 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
888 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
889 INPUT_PORTS_END
890 
891 
892 /****************************************************************************/
893 
894 void namconb1_state::init_nebulray()
895 {
896 	m_gametype = NAMCONB1_NEBULRAY;
897 } /* nebulray */
898 
init_gslgr94u()899 void namconb1_state::init_gslgr94u()
900 {
901 	m_gametype = NAMCONB1_GSLGR94U;
902 } /* gslgr94u */
903 
init_gslgr94j()904 void namconb1_state::init_gslgr94j()
905 {
906 	m_gametype = NAMCONB1_GSLGR94J;
907 } /* gslgr94j */
908 
init_sws95()909 void namconb1_state::init_sws95()
910 {
911 	m_gametype = NAMCONB1_SWS95;
912 } /* sws95 */
913 
init_sws96()914 void namconb1_state::init_sws96()
915 {
916 	m_gametype = NAMCONB1_SWS96;
917 } /* sws96 */
918 
init_sws97()919 void namconb1_state::init_sws97()
920 {
921 	m_gametype = NAMCONB1_SWS97;
922 } /* sws97 */
923 
init_gunbulet()924 void namconb1_state::init_gunbulet()
925 {
926 	m_gametype = NAMCONB1_GUNBULET;
927 } /* gunbulet */
928 
init_vshoot()929 void namconb1_state::init_vshoot()
930 {
931 	m_gametype = NAMCONB1_VSHOOT;
932 } /* vshoot */
933 
init_machbrkr()934 void namconb1_state::init_machbrkr()
935 {
936 	m_gametype = NAMCONB2_MACH_BREAKERS;
937 }
938 
init_outfxies()939 void namconb1_state::init_outfxies()
940 {
941 	m_gametype = NAMCONB2_OUTFOXIES;
942 }
943 
944 /***************************************************************/
945 
machine_reset()946 void namconb1_state::machine_reset()
947 {
948 	m_pos_irq_level = 0;
949 	m_unk_irq_level = 0;
950 	m_vbl_irq_level = 0;
951 }
952 
953 
954 /***************************************************************/
955 
namconb1(machine_config & config)956 void namconb1_state::namconb1(machine_config &config)
957 {
958 	M68EC020(config, m_maincpu, MASTER_CLOCK / 2);
959 	m_maincpu->set_addrmap(AS_PROGRAM, &namconb1_state::namconb1_am);
960 
961 	NAMCO_C75(config, m_mcu, MASTER_CLOCK / 3);
962 	m_mcu->set_addrmap(AS_PROGRAM, &namconb1_state::namcoc75_am);
963 	m_mcu->p6_in_cb().set(FUNC(namconb1_state::port6_r));
964 	m_mcu->p6_out_cb().set(FUNC(namconb1_state::port6_w));
965 	m_mcu->p7_in_cb().set(FUNC(namconb1_state::port7_r));
966 	m_mcu->an7_cb().set(FUNC(namconb1_state::dac_bit_r<7>));
967 	m_mcu->an6_cb().set(FUNC(namconb1_state::dac_bit_r<3>));
968 	m_mcu->an5_cb().set(FUNC(namconb1_state::dac_bit_r<2>));
969 	m_mcu->an4_cb().set(FUNC(namconb1_state::dac_bit_r<1>));
970 	m_mcu->an3_cb().set(FUNC(namconb1_state::dac_bit_r<0>));
971 	m_mcu->an2_cb().set(FUNC(namconb1_state::dac_bit_r<4>));
972 	m_mcu->an1_cb().set(FUNC(namconb1_state::dac_bit_r<5>));
973 	m_mcu->an0_cb().set(FUNC(namconb1_state::dac_bit_r<6>));
974 
975 	EEPROM_2816(config, "eeprom");
976 
977 	TIMER(config, "scantimer").configure_scanline(FUNC(namconb1_state::scantimer), "screen", 0, 1);
978 
979 	// has to be 60 hz or music will go crazy in nebulray, vshoot, gslugrs*
980 	TIMER(config, "mcu_irq0").configure_periodic(FUNC(namconb1_state::mcu_irq0_cb), attotime::from_hz(60));
981 	TIMER(config, "mcu_irq2").configure_periodic(FUNC(namconb1_state::mcu_irq2_cb), attotime::from_hz(60));
982 
983 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
984 	m_screen->set_raw(MASTER_CLOCK / 8, 384, 0, 288, 264, 0, 224);
985 	m_screen->set_screen_update(FUNC(namconb1_state::screen_update_namconb1));
986 	m_screen->screen_vblank().set(FUNC(namconb1_state::screen_vblank));
987 	m_screen->set_palette(m_c116);
988 
989 	NAMCO_C355SPR(config, m_c355spr, 0);
990 	m_c355spr->set_screen(m_screen);
991 	m_c355spr->set_palette(m_c116);
992 	m_c355spr->set_scroll_offsets(0x26, 0x19);
993 	m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate(&namconb1_state::NB1objcode2tile, this));
994 	m_c355spr->set_palxor(0x0);
995 	m_c355spr->set_buffer(2); // triple buffered
996 	m_c355spr->set_color_base(0);
997 
998 	NAMCO_C123TMAP(config, m_c123tmap, 0);
999 	m_c123tmap->set_palette(m_c116);
1000 	m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namconb1_state::NB1TilemapCB, this));
1001 	m_c123tmap->set_color_base(0x1000);
1002 
1003 	NAMCO_C116(config, m_c116, 0);
1004 	m_c116->enable_shadows();
1005 
1006 	SPEAKER(config, "lspeaker").front_left();
1007 	SPEAKER(config, "rspeaker").front_right();
1008 
1009 	c352_device &c352(C352(config, "c352", MASTER_CLOCK/2, 288));
1010 	c352.add_route(0, "lspeaker", 1.00);
1011 	c352.add_route(1, "rspeaker", 1.00);
1012 	//c352.add_route(2, "lspeaker", 1.00); // Second DAC not present.
1013 	//c352.add_route(3, "rspeaker", 1.00);
1014 }
1015 
namconb2(machine_config & config)1016 void namconb1_state::namconb2(machine_config &config)
1017 {
1018 	namconb1(config);
1019 
1020 	m_maincpu->set_addrmap(AS_PROGRAM, &namconb1_state::namconb2_am);
1021 
1022 	m_screen->set_screen_update(FUNC(namconb1_state::screen_update_namconb2));
1023 
1024 	NAMCO_C169ROZ(config, m_c169roz, 0);
1025 	m_c169roz->set_palette(m_c116);
1026 	m_c169roz->set_is_namcofl(false);
1027 	m_c169roz->set_ram_words(0x20000 / 2);
1028 	m_c169roz->set_color_base(0x1800);
1029 }
1030 
machbrkr(machine_config & config)1031 void namconb1_state::machbrkr(machine_config &config)
1032 {
1033 	namconb2(config);
1034 
1035 	m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namconb1_state::NB2TilemapCB_machbrkr, this));
1036 
1037 	m_c169roz->set_tile_callback(namco_c169roz_device::c169_tilemap_delegate(&namconb1_state::NB2RozCB_machbrkr, this));
1038 
1039 	m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate(&namconb1_state::NB2objcode2tile_machbrkr, this));
1040 }
1041 
outfxies(machine_config & config)1042 void namconb1_state::outfxies(machine_config &config)
1043 {
1044 	namconb2(config);
1045 
1046 	m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namconb1_state::NB2TilemapCB_outfxies, this));
1047 
1048 	m_c169roz->set_tile_callback(namco_c169roz_device::c169_tilemap_delegate(&namconb1_state::NB2RozCB_outfxies, this));
1049 
1050 	m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate(&namconb1_state::NB2objcode2tile_outfxies, this));
1051 }
1052 
1053 
1054 /***************************************************************/
1055 
1056 ROM_START( ptblank ) /* World set using 4Mb sound data ROM (verified) */
1057 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1058 	ROM_LOAD32_WORD( "gn2_mprlb.15b", 0x00002, 0x80000, CRC(fe2d9425) SHA1(51b166a629cbb522720d63720558816b496b6b76) )
1059 	ROM_LOAD32_WORD( "gn2_mprub.13b", 0x00000, 0x80000, CRC(3bf4985a) SHA1(f559e0d5f55d23d886fe61bd7d5ca556acc7f87c) )
1060 
1061 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either ROM is correct */
1062 //  ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb ROM at 0x00000-0x1ffff */
1063 	ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
1064 
1065 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1066 	ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
1067 
1068 	ROM_REGION( 0x800000, "c355spr", 0 )
1069 	ROM_LOAD32_WORD( "gn1obj0l.ic1", 0x000000, 0x200000, CRC(06722dc8) SHA1(56fee4e17ed707fa6dbc6bad0d0281fc8cdf72d1) ) /* These four located on MEMEXT OBJ8 PCB daughter-card */
1070 	ROM_LOAD32_WORD( "gn1obj0u.ic2", 0x000002, 0x200000, CRC(fcefc909) SHA1(48c19b6032096dd80777aa6d5eb5f90463095cbe) )
1071 	ROM_LOAD32_WORD( "gn1obj1l.ic3", 0x400000, 0x200000, CRC(48468df7) SHA1(c5fb9082c84ac2ffceb6f5f4cbc1d40047c55e3d) )
1072 	ROM_LOAD32_WORD( "gn1obj1u.ic4", 0x400002, 0x200000, CRC(3109a071) SHA1(4bb16df5a3aecdf37baf843edfc82952d46f5227) )
1073 
1074 	ROM_REGION( 0x400000, "c123tmap", 0 )
1075 	ROM_LOAD( "gn1-chr0.8j",  0x000000, 0x100000, CRC(a5c61246) SHA1(d1d9f286b93b5b9880160029c53384d13c08dd8a) )
1076 	ROM_LOAD( "gn1-chr1.9j",  0x100000, 0x100000, CRC(c8c59772) SHA1(91de633a300e3b25a919579eaada5549640ab6f0) )
1077 	ROM_LOAD( "gn1-chr2.10j", 0x200000, 0x100000, CRC(dc96d999) SHA1(d006a401762b57fef6716f56eb3a7edcb3d3c00e) )
1078 	ROM_LOAD( "gn1-chr3.11j", 0x300000, 0x100000, CRC(4352c308) SHA1(785c13df219dceac2f940519141665b630a29f86) )
1079 
1080 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1081 	ROM_LOAD( "gn1-sha0.5m", 0, 0x80000, CRC(86d4ff85) SHA1(a71056b2bcbba50c834fe28269ebda9719df354a) )
1082 
1083 	ROM_REGION( 0x0800, "eeprom", 0 ) // default gun calibration and settings
1084 	ROM_LOAD( "eeprom", 0x0000, 0x0800, CRC(95760d0f) SHA1(94ac5a261d9afc77c2a163a50950b0e86b1f8041) )
1085 ROM_END
1086 
1087 ROM_START( ptblanka ) /* World set using non standard ROM labels (NR is Namco's prefix for Nebulas Ray, but NOT here!!), verified on 2 seperate PCBs */
1088 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1089 	ROM_LOAD32_WORD( "nr3_spr0.15b", 0x00002, 0x80000, CRC(fe2d9425) SHA1(51b166a629cbb522720d63720558816b496b6b76) ) // == gn2_mprlb.15b
1090 	ROM_LOAD32_WORD( "nr2_spr0.13b", 0x00000, 0x80000, CRC(3bf4985a) SHA1(f559e0d5f55d23d886fe61bd7d5ca556acc7f87c) ) // == gn2_mprub.12b
1091 
1092 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either ROM is correct */
1093 //  ROM_LOAD( "nr1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb ROM at 0x00000-0x1ffff */
1094 	ROM_LOAD( "nr1_spr0.5b", 0, 0x80000, CRC(a0bde3fb) SHA1(b5fac1d0339b1df6b8880fcd7aa2725a774765a4) ) /* 4Megabit, same data at 0x00000-0x1ffff repeated 4 time */
1095 
1096 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1097 	ROM_LOAD( "nr4_spr0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) ) // == gn1-voi0.5j
1098 
1099 	ROM_REGION( 0x800000, "c355spr", 0 )
1100 	ROM_LOAD32_WORD( "gn1obj0l.ic1", 0x000000, 0x200000, CRC(06722dc8) SHA1(56fee4e17ed707fa6dbc6bad0d0281fc8cdf72d1) ) /* These four located on MEMEXT OBJ8 PCB daughter-card */
1101 	ROM_LOAD32_WORD( "gn1obj0u.ic2", 0x000002, 0x200000, CRC(fcefc909) SHA1(48c19b6032096dd80777aa6d5eb5f90463095cbe) )
1102 	ROM_LOAD32_WORD( "gn1obj1l.ic3", 0x400000, 0x200000, CRC(48468df7) SHA1(c5fb9082c84ac2ffceb6f5f4cbc1d40047c55e3d) )
1103 	ROM_LOAD32_WORD( "gn1obj1u.ic4", 0x400002, 0x200000, CRC(3109a071) SHA1(4bb16df5a3aecdf37baf843edfc82952d46f5227) )
1104 
1105 	ROM_REGION( 0x400000, "c123tmap", 0 )
1106 	ROM_LOAD( "nr5_spr0.8j",  0x000000, 0x100000, CRC(a5c61246) SHA1(d1d9f286b93b5b9880160029c53384d13c08dd8a) ) // == gn1_chr0.8j
1107 	ROM_LOAD( "nr6_spr0.9j",  0x100000, 0x100000, CRC(c8c59772) SHA1(91de633a300e3b25a919579eaada5549640ab6f0) ) // == gn1_chr1.8j
1108 	ROM_LOAD( "nr7_spr0.10j", 0x200000, 0x100000, CRC(dc96d999) SHA1(d006a401762b57fef6716f56eb3a7edcb3d3c00e) ) // == gn1_chr2.10j
1109 	ROM_LOAD( "nr8_spr0.11j", 0x300000, 0x100000, CRC(4352c308) SHA1(785c13df219dceac2f940519141665b630a29f86) ) // == gn1_chr3.11j
1110 
1111 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1112 	ROM_LOAD( "nr9_spr0.5m", 0, 0x80000, CRC(86d4ff85) SHA1(a71056b2bcbba50c834fe28269ebda9719df354a) ) // == gn1-sha0.5m
1113 
1114 	ROM_REGION( 0x0800, "eeprom", 0 ) // default gun calibration and settings
1115 	ROM_LOAD( "eeprom", 0x0000, 0x0800, CRC(95760d0f) SHA1(94ac5a261d9afc77c2a163a50950b0e86b1f8041) )
1116 ROM_END
1117 
1118 ROM_START( gunbuletw ) /* World set using 4Mb sound data ROM (verified) */
1119 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1120 	ROM_LOAD32_WORD( "gn3_mprlb.15b", 0x00002, 0x80000, CRC(9260fce5) SHA1(064579be1ac90e04082a8b403c6adf35dbb46a7e) )
1121 	ROM_LOAD32_WORD( "gn3_mprub.13b", 0x00000, 0x80000, CRC(6c1ac697) SHA1(7b52b5ef8154a5d741ac24673f3e6bbfa246a494) )
1122 
1123 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either ROM is correct */
1124 //  ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb ROM at 0x00000-0x1ffff */
1125 	ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
1126 
1127 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1128 	ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
1129 
1130 	ROM_REGION( 0x800000, "c355spr", 0 )
1131 	ROM_LOAD32_WORD( "gn1obj0l.ic1", 0x000000, 0x200000, CRC(06722dc8) SHA1(56fee4e17ed707fa6dbc6bad0d0281fc8cdf72d1) ) /* These four located on MEMEXT OBJ8 PCB daughter-card */
1132 	ROM_LOAD32_WORD( "gn1obj0u.ic2", 0x000002, 0x200000, CRC(fcefc909) SHA1(48c19b6032096dd80777aa6d5eb5f90463095cbe) )
1133 	ROM_LOAD32_WORD( "gn1obj1l.ic3", 0x400000, 0x200000, CRC(48468df7) SHA1(c5fb9082c84ac2ffceb6f5f4cbc1d40047c55e3d) )
1134 	ROM_LOAD32_WORD( "gn1obj1u.ic4", 0x400002, 0x200000, CRC(3109a071) SHA1(4bb16df5a3aecdf37baf843edfc82952d46f5227) )
1135 
1136 	ROM_REGION( 0x400000, "c123tmap", 0 )
1137 	ROM_LOAD( "gn1-chr0.8j",  0x000000, 0x100000, CRC(a5c61246) SHA1(d1d9f286b93b5b9880160029c53384d13c08dd8a) )
1138 	ROM_LOAD( "gn1-chr1.9j",  0x100000, 0x100000, CRC(c8c59772) SHA1(91de633a300e3b25a919579eaada5549640ab6f0) )
1139 	ROM_LOAD( "gn1-chr2.10j", 0x200000, 0x100000, CRC(dc96d999) SHA1(d006a401762b57fef6716f56eb3a7edcb3d3c00e) )
1140 	ROM_LOAD( "gn1-chr3.11j", 0x300000, 0x100000, CRC(4352c308) SHA1(785c13df219dceac2f940519141665b630a29f86) )
1141 
1142 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1143 	ROM_LOAD( "gn1-sha0.5m", 0, 0x80000, CRC(86d4ff85) SHA1(a71056b2bcbba50c834fe28269ebda9719df354a) )
1144 
1145 	ROM_REGION( 0x0800, "eeprom", 0 ) // default gun calibration and settings
1146 	ROM_LOAD( "eeprom", 0x0000, 0x0800, CRC(95760d0f) SHA1(94ac5a261d9afc77c2a163a50950b0e86b1f8041) )
1147 ROM_END
1148 
1149 ROM_START( gunbuletj ) /* Japanese set using 1Mb sound data ROM (verified) */
1150 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1151 	ROM_LOAD32_WORD( "gn1_mprl.15b", 0x00002, 0x80000, CRC(f99e309e) SHA1(3fe0ddf756e6849f8effc7672456cbe32f65c98a) )
1152 	ROM_LOAD32_WORD( "gn1_mpru.13b", 0x00000, 0x80000, CRC(72a4db07) SHA1(8c5e1e51cd961b311d03f7b21f36a5bd5e8e9104) )
1153 
1154 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data - JP1 jumper selectable between 1Mb (27C1024) or 4Mb (27C4096) either ROM is correct */
1155 	ROM_LOAD( "gn1_spr0.5b", 0, 0x20000, CRC(6836ba38) SHA1(6ea17ea4bbb59be108e8887acd7871409580732f) ) /* 1Megabit, same data as the 4Mb ROM at 0x00000-0x1ffff */
1156 //  ROM_LOAD( "gn1-spr0.5b", 0, 0x80000, CRC(71773811) SHA1(e482784d9b9ebf8c2e4a2a3f6f6c4dc8304d2251) ) /* 4Megabit, same data at 0x00000-0x1ffff, 0x20000-0x7ffff is 0xff filled */
1157 
1158 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1159 	ROM_LOAD( "gn1-voi0.5j", 0, 0x200000, CRC(05477eb7) SHA1(f2eaacb5dbac06c37c56b9b131230c9cf6602221) )
1160 
1161 	ROM_REGION( 0x800000, "c355spr", 0 )
1162 	ROM_LOAD32_WORD( "gn1obj0l.ic1", 0x000000, 0x200000, CRC(06722dc8) SHA1(56fee4e17ed707fa6dbc6bad0d0281fc8cdf72d1) ) /* These four located on MEMEXT OBJ8 PCB daughter-card */
1163 	ROM_LOAD32_WORD( "gn1obj0u.ic2", 0x000002, 0x200000, CRC(fcefc909) SHA1(48c19b6032096dd80777aa6d5eb5f90463095cbe) )
1164 	ROM_LOAD32_WORD( "gn1obj1l.ic3", 0x400000, 0x200000, CRC(48468df7) SHA1(c5fb9082c84ac2ffceb6f5f4cbc1d40047c55e3d) )
1165 	ROM_LOAD32_WORD( "gn1obj1u.ic4", 0x400002, 0x200000, CRC(3109a071) SHA1(4bb16df5a3aecdf37baf843edfc82952d46f5227) )
1166 
1167 	ROM_REGION( 0x400000, "c123tmap", 0 )
1168 	ROM_LOAD( "gn1-chr0.8j",  0x000000, 0x100000, CRC(a5c61246) SHA1(d1d9f286b93b5b9880160029c53384d13c08dd8a) )
1169 	ROM_LOAD( "gn1-chr1.9j",  0x100000, 0x100000, CRC(c8c59772) SHA1(91de633a300e3b25a919579eaada5549640ab6f0) )
1170 	ROM_LOAD( "gn1-chr2.10j", 0x200000, 0x100000, CRC(dc96d999) SHA1(d006a401762b57fef6716f56eb3a7edcb3d3c00e) )
1171 	ROM_LOAD( "gn1-chr3.11j", 0x300000, 0x100000, CRC(4352c308) SHA1(785c13df219dceac2f940519141665b630a29f86) )
1172 
1173 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1174 	ROM_LOAD( "gn1-sha0.5m", 0, 0x80000, CRC(86d4ff85) SHA1(a71056b2bcbba50c834fe28269ebda9719df354a) )
1175 
1176 	ROM_REGION( 0x0800, "eeprom", 0 ) // default gun calibration and settings
1177 	ROM_LOAD( "eeprom", 0x0000, 0x0800, CRC(95760d0f) SHA1(94ac5a261d9afc77c2a163a50950b0e86b1f8041) )
1178 ROM_END
1179 
1180 ROM_START( nebulray )
1181 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1182 	ROM_LOAD32_WORD( "nr2_mprl.15b", 0x00002, 0x80000, CRC(0431b6d4) SHA1(54c96e8ac9e753956c31bdef79d390f1c20e10ff) )
1183 	ROM_LOAD32_WORD( "nr2_mpru.13b", 0x00000, 0x80000, CRC(049b97cb) SHA1(0e344b29a4d4bdc854fa9849589772df2eeb0a05) )
1184 
1185 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1186 	ROM_LOAD( "nr1-spr0", 0, 0x20000, CRC(1cc2b44b) SHA1(161f4ed39fabe89d7ee1d539f8b9f08cd0ff3111) )
1187 
1188 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1189 	ROM_LOAD( "nr1-voi0", 0, 0x200000, CRC(332d5e26) SHA1(9daddac3fbe0709e25ed8e0b456bac15bfae20d7) )
1190 
1191 	ROM_REGION( 0x1000000, "c355spr", 0 )
1192 	ROM_LOAD32_WORD( "nr1obj0l", 0x000000, 0x200000, CRC(0e99ef46) SHA1(450fe61e448270b633f312361bd5ca89bb9684dd) )
1193 	ROM_LOAD32_WORD( "nr1obj0u", 0x000002, 0x200000, CRC(fb82a881) SHA1(c9fa0728a37376a5c85bff1f6e8400c13ce15769) )
1194 	ROM_LOAD32_WORD( "nr1obj1l", 0x400000, 0x200000, CRC(f7a898f0) SHA1(a25a134a42adeb9088019bde42a96d120f20407e) )
1195 	ROM_LOAD32_WORD( "nr1obj1u", 0x400002, 0x200000, CRC(49d9dbd7) SHA1(2dbd842c192d65888f931cdb5c9387127b1ab632) )
1196 	ROM_LOAD32_WORD( "nr1obj2l", 0x800000, 0x200000, CRC(b39871d1) SHA1(a8f910702bb88a001f2bfd1b33ad355aa3b0f429) )
1197 	ROM_LOAD32_WORD( "nr1obj2u", 0x800002, 0x200000, CRC(8c8205b1) SHA1(2c5fb9392d8cd5f8d1f9aba6ddbbafd061271cd4) )
1198 	ROM_LOAD32_WORD( "nr1obj3l", 0xc00000, 0x200000, CRC(c90d13ae) SHA1(675f7b8b3325aac91b2bae1cbebe274a65aedc43) )
1199 	ROM_LOAD32_WORD( "nr1obj3u", 0xc00002, 0x200000, CRC(d5918c9e) SHA1(530781fb44d7bbf01669bb265b658cb60e27bcd7) )
1200 
1201 	ROM_REGION( 0x400000, "c123tmap", 0 )
1202 	ROM_LOAD( "nr1-chr0", 0x000000, 0x100000,CRC(8d5b54ea) SHA1(616d5729f474da91da19a8246066280652da998c) )
1203 	ROM_LOAD( "nr1-chr1", 0x100000, 0x100000,CRC(cd21630c) SHA1(9974c0eb1051ca52f001e6631264a1936bb50620) )
1204 	ROM_LOAD( "nr1-chr2", 0x200000, 0x100000,CRC(70a11023) SHA1(bead486a86bd96c6fdfd2ea4d4d37c38bbe9bfbb) )
1205 	ROM_LOAD( "nr1-chr3", 0x300000, 0x100000,CRC(8f4b1d51) SHA1(b48fb2c8ccd9105a5b48be44dd3fe4309769efa4) )
1206 
1207 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1208 	ROM_LOAD( "nr1-sha0", 0, 0x80000,CRC(ca667e13) SHA1(685032603224cb81bcb85361921477caec570d5e) )
1209 
1210 	ROM_REGION( 0x20, "proms", 0 ) /* custom key data? */
1211 	ROM_LOAD( "c366.bin", 0, 0x20, CRC(8c96f31d) SHA1(d186859cfc19a63266084372080d0a5bee687ae2) )
1212 ROM_END
1213 
1214 ROM_START( nebulrayj )
1215 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1216 	ROM_LOAD32_WORD( "nr1_mprl.15b", 0x00002, 0x80000, CRC(fae5f62c) SHA1(143d716abbc834aac6270db3bbb89ec71ea3804d) )
1217 	ROM_LOAD32_WORD( "nr1_mpru.13b", 0x00000, 0x80000, CRC(42ef71f9) SHA1(20e3cb63e1fde293c60c404b378d901d635c4b79) )
1218 
1219 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1220 	ROM_LOAD( "nr1-spr0", 0, 0x20000, CRC(1cc2b44b) SHA1(161f4ed39fabe89d7ee1d539f8b9f08cd0ff3111) )
1221 
1222 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1223 	ROM_LOAD( "nr1-voi0", 0, 0x200000, CRC(332d5e26) SHA1(9daddac3fbe0709e25ed8e0b456bac15bfae20d7) )
1224 
1225 	ROM_REGION( 0x1000000, "c355spr", 0 )
1226 	ROM_LOAD32_WORD( "nr1obj0l", 0x000000, 0x200000, CRC(0e99ef46) SHA1(450fe61e448270b633f312361bd5ca89bb9684dd) )
1227 	ROM_LOAD32_WORD( "nr1obj0u", 0x000002, 0x200000, CRC(fb82a881) SHA1(c9fa0728a37376a5c85bff1f6e8400c13ce15769) )
1228 	ROM_LOAD32_WORD( "nr1obj1l", 0x400000, 0x200000, CRC(f7a898f0) SHA1(a25a134a42adeb9088019bde42a96d120f20407e) )
1229 	ROM_LOAD32_WORD( "nr1obj1u", 0x400002, 0x200000, CRC(49d9dbd7) SHA1(2dbd842c192d65888f931cdb5c9387127b1ab632) )
1230 	ROM_LOAD32_WORD( "nr1obj2l", 0x800000, 0x200000, CRC(b39871d1) SHA1(a8f910702bb88a001f2bfd1b33ad355aa3b0f429) )
1231 	ROM_LOAD32_WORD( "nr1obj2u", 0x800002, 0x200000, CRC(8c8205b1) SHA1(2c5fb9392d8cd5f8d1f9aba6ddbbafd061271cd4) )
1232 	ROM_LOAD32_WORD( "nr1obj3l", 0xc00000, 0x200000, CRC(c90d13ae) SHA1(675f7b8b3325aac91b2bae1cbebe274a65aedc43) )
1233 	ROM_LOAD32_WORD( "nr1obj3u", 0xc00002, 0x200000, CRC(d5918c9e) SHA1(530781fb44d7bbf01669bb265b658cb60e27bcd7) )
1234 
1235 	ROM_REGION( 0x400000, "c123tmap", 0 )
1236 	ROM_LOAD( "nr1-chr0", 0x000000, 0x100000,CRC(8d5b54ea) SHA1(616d5729f474da91da19a8246066280652da998c) )
1237 	ROM_LOAD( "nr1-chr1", 0x100000, 0x100000,CRC(cd21630c) SHA1(9974c0eb1051ca52f001e6631264a1936bb50620) )
1238 	ROM_LOAD( "nr1-chr2", 0x200000, 0x100000,CRC(70a11023) SHA1(bead486a86bd96c6fdfd2ea4d4d37c38bbe9bfbb) )
1239 	ROM_LOAD( "nr1-chr3", 0x300000, 0x100000,CRC(8f4b1d51) SHA1(b48fb2c8ccd9105a5b48be44dd3fe4309769efa4) )
1240 
1241 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1242 	ROM_LOAD( "nr1-sha0", 0, 0x80000,CRC(ca667e13) SHA1(685032603224cb81bcb85361921477caec570d5e) )
1243 
1244 	ROM_REGION( 0x20, "proms", 0 ) /* custom key data? */
1245 	ROM_LOAD( "c366.bin", 0, 0x20, CRC(8c96f31d) SHA1(d186859cfc19a63266084372080d0a5bee687ae2) )
1246 ROM_END
1247 
1248 ROM_START( gslgr94u )
1249 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1250 	ROM_LOAD32_WORD( "gse2mprl.15b", 0x00002, 0x80000, CRC(a514349c) SHA1(1f7ec81cd6193410d2f01e6f0f84878561fc8035) )
1251 	ROM_LOAD32_WORD( "gse2mpru.13b", 0x00000, 0x80000, CRC(b6afd238) SHA1(438a3411ac8ce3d22d5da8c0800738cb8d2994a9) )
1252 
1253 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1254 	ROM_LOAD( "gse2spr0.bin", 0, 0x20000, CRC(17e87cfc) SHA1(9cbeadb6dfcb736e8c80eab344f70fc2f58469d6) )
1255 
1256 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1257 	ROM_LOAD( "gse-voi0.bin", 0, 0x200000, CRC(d3480574) SHA1(0c468ed060769b36b7e41cf4919cb6d8691d64f6) )
1258 
1259 	ROM_REGION( 0x400000, "c355spr", 0 )
1260 	ROM_LOAD32_WORD( "gseobj0l.bin", 0x000000, 0x200000, CRC(531520ca) SHA1(2a1a5282549c6f7a37d5fb8c0b342edb9dc45315) )
1261 	ROM_LOAD32_WORD( "gseobj0u.bin", 0x000002, 0x200000, CRC(fcc1283c) SHA1(fb44ed742f362e6737412cabf3f67d9506456a9e) )
1262 
1263 	ROM_REGION( 0x400000, "c123tmap", 0 )
1264 	ROM_LOAD( "gse-chr0.bin", 0x000000, 0x100000, CRC(9314085d) SHA1(150e8ea908861337f9be2749aa7f9e1d52570586) )
1265 	ROM_LOAD( "gse-chr1.bin", 0x100000, 0x100000, CRC(c128a887) SHA1(4faf78064dd48ec50684a7dc8d120f8c5985bf2a) )
1266 	ROM_LOAD( "gse-chr2.bin", 0x200000, 0x100000, CRC(48f0a311) SHA1(e39adcce835542e64ca87f6019d4a85fcbe388c2) )
1267 	ROM_LOAD( "gse-chr3.bin", 0x300000, 0x100000, CRC(adbd1f88) SHA1(3c7bb1a9a398412bd3c98cadf8ce63a16e2bfed5) )
1268 
1269 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1270 	ROM_LOAD( "gse-sha0.bin", 0, 0x80000, CRC(6b2beabb) SHA1(815f7aef44735584edd4a9ca7e672471d07f225e) )
1271 ROM_END
1272 
1273 ROM_START( gslgr94j )
1274 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1275 	ROM_LOAD32_WORD( "gs41mprl.15b", 0x00002, 0x80000, CRC(5759bdb5) SHA1(a0fb332c484e168369a69cd9dd8ea72e5f4565df) )
1276 	ROM_LOAD32_WORD( "gs41mpru.13b", 0x00000, 0x80000, CRC(78bde1e7) SHA1(911d33897f03c59c6505f5f755d80471ff019812) )
1277 
1278 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1279 	ROM_LOAD( "gs41spr0.5b", 0, 0x80000, CRC(3e2b6d55) SHA1(f6a1ecaee3a9a7a535850084e469aa7f873f301e) )
1280 
1281 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1282 	ROM_LOAD( "gs4voi0.5j", 0, 0x200000, CRC(c3053a90) SHA1(e76799b33b2457421255b03786bc24266d59c7dd) )
1283 
1284 	ROM_REGION( 0x800000, "c355spr", 0 )
1285 	ROM_LOAD32_WORD( "gs4obj0l.bin", 0x000000, 0x200000, CRC(3b499da0) SHA1(91ad5f68dbda64dd07e1133eb09ee69da3da3103) )
1286 	ROM_LOAD32_WORD( "gs4obj0u.bin", 0x000002, 0x200000, CRC(80016b50) SHA1(9f7604c196835d31894ba4db1de43d7d2614da84) )
1287 	ROM_LOAD32_WORD( "gs4obj1l.bin", 0x400000, 0x200000, CRC(1f4847a7) SHA1(908e419e42fa8bd786cc3bc96d5ccb3a47c8e2dc) )
1288 	ROM_LOAD32_WORD( "gs4obj1u.bin", 0x400002, 0x200000, CRC(49bc48cd) SHA1(6bcc41546f3bd609e3aa962e5ce3bf5bc6b9229a) )
1289 
1290 	ROM_REGION( 0x400000, "c123tmap", 0 )
1291 	ROM_LOAD( "gs4chr0.8j",  0x000000, 0x100000, CRC(8c6c682e) SHA1(ecf21035d5af28299c9cdb98d5d811b4d52857b8) )
1292 	ROM_LOAD( "gs4chr1.9j",  0x100000, 0x100000, CRC(523989f7) SHA1(fae0e2f58e9a8d0ddc7297b567579849e24e0a40) )
1293 	ROM_LOAD( "gs4chr2.10j", 0x200000, 0x100000, CRC(37569559) SHA1(ce31673f51c6302f4fb4e4c377e6693a40874f81) )
1294 	ROM_LOAD( "gs4chr3.11j", 0x300000, 0x100000, CRC(73ca58f6) SHA1(44bdc943fb10dc53279662cd528169a27d57e478) )
1295 
1296 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1297 	ROM_LOAD( "gs4sha0.5m", 0, 0x80000, CRC(40e7e6a5) SHA1(70af76b6034e0d6e1b96bf54c973ab411e5907ab) )
1298 ROM_END
1299 
1300 /*
1301 Great Sluggers (Japan)
1302 Namco, 1993
1303 
1304 This game runs on Namco NB-1 hardware.
1305 
1306 PCB Layout
1307 ----------
1308 NB-1 MAIN PCB                                  MEMEXT OBJ2 PCB
1309 8634961101 (8634963101)                    8635901201 (8635901301)
1310 |------------------------------------------------------|---------|
1311 |                            62256       62256         |         |
1312 |LA4705 VOL M5M5178          62256       62256         |GS1OBJ-0 |
1313 |           M5M5178                              C347  |         |
1314 | 4558      M5M5178          62256       62256         |         |
1315 |                            62256       62256         |         |
1316 | LC78815    C116   156                                |         |
1317 |JP3                62256    62256       62256         |         |
1318 |              145  62256    62256       62256         |GS1OBJ-1 |
1319 |   GS1SHA-0                                           |         |
1320 |J  JP2                      62256       62256     C355|---------|
1321 |A                           62256       62256          62256    |
1322 |M             123                                      62256    |
1323 |M                                                    JP12       |
1324 |A                                   %3  JP11                    |
1325 |              JP5  GS1CHR-0   GS1CHR-2  JP10   137   187   M3771|
1326 |   GS1VOI-0   JP6  GS1CHR-1   GS1CHR-3      48.384MHz           |
1327 |                                                                |
1328 |              C352                                              |
1329 |SW1   75                                                        |
1330 |                                                                |
1331 |   TC551001                   %1                                |
1332 |                      KM28C16         GS1MPRU      JP9          |
1333 |   TC551001   PAL2                %2  GS1MPRL                   |
1334 |   JP1                         JP7    JP8                       |
1335 |   GS1SPR0    PAL1     C329                      68EC020        |
1336 |                                                                |
1337 |----------------------------------------------------------------|
1338 Notes:
1339 
1340 CLOCKs
1341 ------
1342 MASTER clock : 48.384 MHz
1343 68020 clock  : 24.192MHz (MASTER / 2)
1344 HSYNC        : 15.75kHz
1345 VSYNC        : 59.7Hz
1346 
1347 DIPs
1348 ----
1349 SW1: 2 position, both are OFF. Position 1 toggles TEST mode, position 2 is freeze.
1350 
1351 RAM
1352 ---
1353 TC551001AFL x 2  (SOP32, 128k x8 SRAM)
1354 62256       x 20 (SOP28, 32k  x8 SRAM)
1355 M5M5178     x 3  (SOP28, 8k   x8 SRAM)
1356 
1357 NAMCO CUSTOM CHIPS
1358 ------------------
1359 75       (QFP80, M37702 in disguise; sound CPU with internal BIOS)
1360 123      (QFP80)
1361 137      (NDIP28)
1362 145      (QFP80)
1363 156      (QFP64)
1364 187      (QFP120)
1365 C116     (QFP64)
1366 C329     (QFP100)
1367 C347     (QFP80)
1368 C351     (QFP160)
1369 C352     (QFP100)
1370 C355     (QFP160)
1371 
1372 OTHER
1373 -----
1374 KM28C16  2K x8 EEPROM (DIP24)
1375 %1       Unpopulated KEYCUS socket
1376 %2       Unpopulated DATA ROM socket
1377 %3       Unpopulated position for 28MHz OSC
1378 
1379 PALs
1380 ----
1381 PAL1 PALCE16V8 (NAMCO CODE = NB1-1)
1382 PAL2 PAL16L8   (NAMCO CODE = NB1-2)
1383 
1384 JUMPERs
1385 -------
1386 JP1      4M  O-O O  1M    Config jumper for ROM size, 4M = 27C4096, 1M = 27C1024
1387 JP2      4M  O-O O  1M    Config jumper for ROM size, 4M = 27C4096, 1M = 27C1024
1388 JP3          O-O          (2 pins shorted, hardwired on PCB)
1389 JP5     /1M  O-O O  1M    Config jumper for ROM size (hardwired on PCB)
1390 JP6      8M  O-O O  /8M   Config jumper for ROM size (hardwired on PCB)
1391 JP7      4M  O-O O  1M    Config jumper for ROM size (hardwired on PCB), 4M = 27C4096, 1M = 27C1024
1392 JP8      4M  O-O O  1M    Config jumper for ROM size (hardwired on PCB), 4M = 27C4096, 1M = 27C1024
1393 JP9     CON  O-O O  COFF  (hardwired on PCB)
1394 JP10    24M  O-O O  28M   Config jumper for 28MHz OSC (hardwired on PCB)
1395 JP11    24M  O-O O  12M   Config jumper for 28MHz OSC (hardwired on PCB)
1396 JP12    F32  O O-O  355   (hardwired on PCB)
1397 
1398 ROMs, MAIN PCB
1399 --------------
1400 Filename /      PCB       ROM
1401 ROM Label       Label     Type
1402 ------------------------------------------------------------------------------
1403 GS1MPRU.13B     PRGU      27C240        \ Main program
1404 GS1MPRL.15B     PRGL      27C240        /
1405 GS1SPR0.5B      SPRG      27C240        Sound program, linked to 75, C351 and C352
1406 GS1VOI-0.5J     VOICE     16M mask      Sound voices
1407 GS1CHR-0.8J     CHR0      8M mask       Character
1408 GS1CHR-1.9J     CHR1      8M mask       Character
1409 GS1CHR-2.10J    CHR2      8M mask       Character
1410 GS1CHR-3.11J    CHR3      8M mask       Character
1411 GS1SHA-0.5M     SHAPE     4M mask       Shape
1412 
1413 ROMs, MEMEXT OBJ2 PCB  (All ROMs surface mounted)
1414 ---------------------
1415 Filename /      PCB       ROM
1416 ROM Label       Label     Type
1417 ----------------------------------------
1418 GS1OBJ-0.IC1    OBJL      16M mask SOP44
1419 GS1OBJ-1.IC2    OBJU      16M mask SOP44
1420 
1421 Note! All ROMs are different to the Great Sluggers '94 set.
1422 
1423 */
1424 
1425 ROM_START( gslugrsj )
1426 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1427 	ROM_LOAD32_WORD( "gs1mprl.15b", 0x00002, 0x80000, CRC(1e6c3626) SHA1(56abe21884fd87df10996db19c49ce14214d4b73) )
1428 	ROM_LOAD32_WORD( "gs1mpru.13b", 0x00000, 0x80000, CRC(ef355179) SHA1(0ab0ef4301a318681bb5827d35734a0732b35484) )
1429 
1430 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1431 	ROM_LOAD( "gs1spr0.5b", 0, 0x80000, CRC(561ea20f) SHA1(adac6b77effc3a82079a9b228bafca0fcef72ba5) )
1432 
1433 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1434 	ROM_LOAD( "gs1voi-0.5j", 0, 0x200000, CRC(6f8262aa) SHA1(beea98d9f8b927a572eb0bfcf678e9d6e40fc68d) )
1435 
1436 	ROM_REGION( 0x400000, "c355spr", 0 )
1437 	ROM_LOAD32_WORD( "gs1obj-0.ic1", 0x000000, 0x200000, CRC(9a55238f) SHA1(fc3fd4b8b6322bbe343edbcad7815b597562266b) )
1438 	ROM_LOAD32_WORD( "gs1obj-1.ic2", 0x000002, 0x200000, CRC(31c66f76) SHA1(8903e6586dff6f34a6ffca2d7c75343c0a5bff56) )
1439 
1440 	ROM_REGION( 0x400000, "c123tmap", 0 )
1441 	ROM_LOAD( "gs1chr-0.8j",  0x000000, 0x100000, CRC(e7ced86a) SHA1(de90c2e3870b317431d3910f581660681b46ff9d) )
1442 	ROM_LOAD( "gs1chr-1.9j",  0x100000, 0x100000, CRC(1fe46749) SHA1(f4c0ea666d52cb1c8b1da93e7486ade5eae336cc) )
1443 	ROM_LOAD( "gs1chr-2.10j", 0x200000, 0x100000, CRC(f53afa20) SHA1(5c317e276ca2355e9737c1e8114dccbb5e11058a) )
1444 	ROM_LOAD( "gs1chr-3.11j", 0x300000, 0x100000, CRC(b149d7da) SHA1(d50c6258db0ccdd69b563e880d1711aae811fbe3) )
1445 
1446 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1447 	ROM_LOAD( "gs1sha-0.5m", 0, 0x80000, CRC(8a2832fe) SHA1(a1f54754fb01bbbc87274b1a0a4127fa9296ad1a) )
1448 ROM_END
1449 
1450 ROM_START( sws95 )
1451 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1452 	ROM_LOAD32_WORD( "ss51mprl.bin", 0x00002, 0x80000, CRC(c9e0107d) SHA1(0f10582416023a86ea1ef2679f3f06016c086e08) )
1453 	ROM_LOAD32_WORD( "ss51mpru.bin", 0x00000, 0x80000, CRC(0d93d261) SHA1(5edef26e2c86dbc09727d910af92747d022e4fed) )
1454 
1455 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1456 	ROM_LOAD( "ss51spr0.bin", 0, 0x80000, CRC(71cb12f5) SHA1(6e13bd16a5ba14d6e47a21875db3663ada3c06a5) )
1457 
1458 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1459 	ROM_LOAD( "ss51voi0.bin", 0, 0x200000, CRC(2740ec72) SHA1(9694a7378ea72771d2b1d43db6d74ed347ba27d3) )
1460 
1461 	ROM_REGION( 0x400000, "c355spr", 0 )
1462 	ROM_LOAD32_WORD( "ss51ob0l.bin", 0x000000, 0x200000, CRC(e0395694) SHA1(e52045a7af4c4b0f9935695cfc5ff729bf9bd7c1) )
1463 	ROM_LOAD32_WORD( "ss51ob0u.bin", 0x000002, 0x200000, CRC(b0745ca0) SHA1(579ea7fd7b9a181fd9d08c50c6c5941264aa0b6d) )
1464 
1465 	ROM_REGION( 0x400000, "c123tmap", 0 )
1466 	ROM_LOAD( "ss51chr0.bin", 0x000000, 0x100000, CRC(86dd3280) SHA1(07ba6d3edc5c38bf82ddaf8f6de7ef0f5d0788b2) )
1467 	ROM_LOAD( "ss51chr1.bin", 0x100000, 0x100000, CRC(2ba0fb9e) SHA1(39ceddad7bc0073b361eb776762002a9fc61b337) )
1468 	ROM_LOAD( "ss51chr2.bin", 0x200000, 0x100000, CRC(ca0e6c1a) SHA1(1221cd30894e97e2f7d456509c7b6732ec3d06a5) )
1469 	ROM_LOAD( "ss51chr3.bin", 0x300000, 0x100000, CRC(73ca58f6) SHA1(44bdc943fb10dc53279662cd528169a27d57e478) )
1470 
1471 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1472 	ROM_LOAD( "ss51sha0.bin", 0, 0x80000, CRC(3bf4d081) SHA1(7b07b86f753ea6bcd90eb7d152c12884a6fe785a) )
1473 ROM_END
1474 
1475 ROM_START( sws96 )
1476 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1477 	ROM_LOAD32_WORD( "ss61mprl.bin", 0x00002, 0x80000, CRC(06f55e73) SHA1(6be26f8a2ef600bf07c580f210d7b265ac464002) )
1478 	ROM_LOAD32_WORD( "ss61mpru.bin", 0x00000, 0x80000, CRC(0abdbb83) SHA1(67e8b712291f9bcf2c3a52fbc451fad54679cab8) )
1479 
1480 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1481 	ROM_LOAD( "ss61spr0.bin", 0, 0x80000, CRC(71cb12f5) SHA1(6e13bd16a5ba14d6e47a21875db3663ada3c06a5) )
1482 
1483 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1484 	ROM_LOAD( "ss61voi0.bin", 0, 0x200000, CRC(2740ec72) SHA1(9694a7378ea72771d2b1d43db6d74ed347ba27d3) )
1485 
1486 	ROM_REGION( 0x400000, "c355spr", 0 )
1487 	ROM_LOAD32_WORD( "ss61ob0l.bin", 0x000000, 0x200000, CRC(579b19d4) SHA1(7f18097c683d2b1c532f54ee514dd499f5965165) )
1488 	ROM_LOAD32_WORD( "ss61ob0u.bin", 0x000002, 0x200000, CRC(a69bbd9e) SHA1(8f4c44e2caa31d25433a04c19c51904ec9461e2f) )
1489 
1490 	ROM_REGION( 0x400000, "c123tmap", 0 )
1491 	ROM_LOAD( "ss61chr0.bin", 0x000000, 0x100000, CRC(9d2ae07b) SHA1(7d268f6c7d8145c913f80049369ae3106d69e939) )
1492 	ROM_LOAD( "ss61chr1.bin", 0x100000, 0x100000, CRC(4dc75da6) SHA1(a29932b4fb39648e2c02df668f46cafb80c53619) )
1493 	ROM_LOAD( "ss61chr2.bin", 0x200000, 0x100000, CRC(1240704b) SHA1(a24281681053cc6649f00ec5a31c7249101eaee1) )
1494 	ROM_LOAD( "ss61chr3.bin", 0x300000, 0x100000, CRC(066581d4) SHA1(999cd478d9da452bb57793cd276c6c0d87e2825e) )
1495 
1496 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1497 	ROM_LOAD( "ss61sha0.bin", 0, 0x80000, CRC(fceaa19c) SHA1(c9303a755ac7af19c4804a264d1a09d987f39e74) )
1498 ROM_END
1499 
1500 ROM_START( sws97 )
1501 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1502 	ROM_LOAD32_WORD( "ss71mprl.bin", 0x00002, 0x80000, CRC(bd60b50e) SHA1(9e00bacd506182ab2af2c0efdd5cc401b3e46485) )
1503 	ROM_LOAD32_WORD( "ss71mpru.bin", 0x00000, 0x80000, CRC(3444f5a8) SHA1(8d0f35b3ba8f65dbc67c3b2d273833227a8b8b2a) )
1504 
1505 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1506 	ROM_LOAD( "ss71spr0.bin", 0, 0x80000, CRC(71cb12f5) SHA1(6e13bd16a5ba14d6e47a21875db3663ada3c06a5) )
1507 
1508 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1509 	ROM_LOAD( "ss71voi0.bin", 0, 0x200000, CRC(2740ec72) SHA1(9694a7378ea72771d2b1d43db6d74ed347ba27d3) )
1510 
1511 	ROM_REGION( 0x400000, "c355spr", 0 )
1512 	ROM_LOAD32_WORD( "ss71ob0l.bin", 0x000000, 0x200000, CRC(9559ad44) SHA1(fd56a8620f6958cc090f783d74cb38bba46d2423) )
1513 	ROM_LOAD32_WORD( "ss71ob0u.bin", 0x000002, 0x200000, CRC(4df4a722) SHA1(07eb94628ceeb7cbce2d39d479f33c37583a346a) )
1514 
1515 	ROM_REGION( 0x400000, "c123tmap", 0 )
1516 	ROM_LOAD( "ss71chr0.bin", 0x000000, 0x100000, CRC(bd606356) SHA1(a62c55600e46f8821db0b84d79fc2588742ad7ad) )
1517 	ROM_LOAD( "ss71chr1.bin", 0x100000, 0x100000, CRC(4dc75da6) SHA1(a29932b4fb39648e2c02df668f46cafb80c53619) )
1518 	ROM_LOAD( "ss71chr2.bin", 0x200000, 0x100000, CRC(1240704b) SHA1(a24281681053cc6649f00ec5a31c7249101eaee1) )
1519 	ROM_LOAD( "ss71chr3.bin", 0x300000, 0x100000, CRC(066581d4) SHA1(999cd478d9da452bb57793cd276c6c0d87e2825e) )
1520 
1521 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1522 	ROM_LOAD( "ss71sha0.bin", 0, 0x80000, CRC(be8c2758) SHA1(0a1b6c03cdaec6103ae8483b67faf3840234f825) )
1523 ROM_END
1524 
1525 ROM_START( vshoot )
1526 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1527 	ROM_LOAD32_WORD( "vsj1mprl.15b", 0x00002, 0x80000, CRC(83a60d92) SHA1(c3db0c79f772a79418914353a3d6ecc4883ea54e) )
1528 	ROM_LOAD32_WORD( "vsj1mpru.13b", 0x00000, 0x80000, CRC(c63eb92d) SHA1(f93bd4b91daee645677955020dc8df14dc9bfd27) )
1529 
1530 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1531 	ROM_LOAD( "vsj1spr0.5b", 0, 0x80000, CRC(b0c71aa6) SHA1(a94fae02b46a645ff728d2f98827c85ff155892b) )
1532 
1533 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1534 	ROM_LOAD( "vsjvoi-0.5j", 0, 0x200000, CRC(0528c9ed) SHA1(52b67978fdeb97b77065575774a7ddeb49fe1d81) )
1535 
1536 	ROM_REGION( 0x800000, "c355spr", 0 )
1537 	ROM_LOAD32_WORD( "vsjobj0l.ic1", 0x000000, 0x200000, CRC(e134faa7) SHA1(a844c8a5bd6d8907f9e5c7ba9e2ee8e9a886cd1e) ) /* These four located on MEMEXT OBJ8 PCB daughter-card */
1538 	ROM_LOAD32_WORD( "vsjobj0u.ic2", 0x000002, 0x200000, CRC(974d0714) SHA1(976050eaf82d4b66e13c1c579e5521eb867527fb) )
1539 	ROM_LOAD32_WORD( "vsjobj1l.ic3", 0x400000, 0x200000, CRC(ba46f967) SHA1(ddfb0ac7fba7369869e4df9a66d465a662eba2e6) )
1540 	ROM_LOAD32_WORD( "vsjobj1u.ic4", 0x400002, 0x200000, CRC(09da7e9c) SHA1(e98e07a886a4fe369748fc97f3cee6a4bb668385) )
1541 
1542 	ROM_REGION( 0x400000, "c123tmap", 0 )
1543 	ROM_LOAD( "vsjchr-0.8j",  0x000000, 0x100000, CRC(2af8ba7c) SHA1(74f5a382425974a9b2167bb01672dd13dea882f5) )
1544 	ROM_LOAD( "vsjchr-1.9j",  0x100000, 0x100000, CRC(b789d53e) SHA1(48b4cf956f9025e3c2b6f59b317596dfe0b6b142) )
1545 	ROM_LOAD( "vsjchr-2.10j", 0x200000, 0x100000, CRC(7ef80758) SHA1(c7e6d14f0823607dfd8a13ea6f164ffa85b5563e) )
1546 	ROM_LOAD( "vsjchr-3.11j", 0x300000, 0x100000, CRC(73ca58f6) SHA1(44bdc943fb10dc53279662cd528169a27d57e478) )
1547 
1548 	ROM_REGION( 0x80000, "c123tmap:mask", 0 )
1549 	ROM_LOAD( "vsjsha-0.5m", 0, 0x80000, CRC(78335ea4) SHA1(d4b9f179b1b456a866354ea308664c036de6414d) )
1550 ROM_END
1551 
1552 /*
1553 
1554 The Outfoxies
1555 Namco, 1994
1556 
1557 This game runs on Namco NB-2 hardware.
1558 
1559 
1560 Main Board
1561 ----------
1562 
1563 NB-2 MAIN PCB       8639960102  (8639970102)
1564 |------------------------------------------------------------------------|
1565 ||----------------------------------------------------------------------||
1566 ||  J103                     J104                            J105       ||
1567 ||VOL CY7C185                                                           ||
1568 ||458 CY7C185     156      123      C384  C384  C384    LH52250    C355 ||
1569 ||JP5 CY7C185                                      JP11 LH52250         ||
1570 ||LA4705                                                                ||
1571 ||LC78815  C116  LH52250    OU1SHAS.12S            OU1SHAR.18S          ||
1572 ||               LH52250        JP8                    JP10             ||
1573 || JP4                                                                  ||
1574 ||                                                                      ||
1575 ||--------------------NB-2-MASK-ROM-PCB-(ON-TOP)------------------------||
1576 |J                                                                       |
1577 |    JP3                                                                 |
1578 |A   JP2            145                            PAL1      187         |
1579 |      OU1VOI0.6N   VSYNC                  LH52250                       |
1580 |M                  HSYNC                  LH52250                       |
1581 |      C352                       169      LH52250    TC511632 (x4)      |
1582 |M            137  48.384MHz               LH52250                       |
1583 |                                                                        |
1584 |A SW1  75                                                               |
1585 |                         JP7                         TC511632 (x4)      |
1586 |                       PAL3      C383                                   |
1587 |          C382                                                          |
1588 | M5M1008            OU2MPRU.11D        JP9               BR28C16  C390  |
1589 | M5M1008  PAL2      OU2MPRL.11C   68EC020     C385                      |
1590 | OU1SPR0.5B                 JP6                            OU1DAT1.20B  |
1591 |        JP1                                                             |
1592 |                                                           OU1DAT0.20A  |
1593 |------------------------------------------------------------------------|
1594 
1595 ROM Board
1596 ---------
1597 
1598 NB-2 MASK ROM PCB   8639969800  (8639979800)
1599 -------------------------------------------------------------------------|
1600 |   J103                     J104                            J105        |
1601 |OU1SCR0.1D  OU1ROT0.3D                                                  |
1602 |                                                                        |
1603 |            OU1ROT1.3C  OU1OBJ0L.4C OU1OBJ3L.6C OU1OBJ0U.8C OU1OBJ3U.9C |
1604 |                                                                        |
1605 |            OU1ROT2.3B  OU1OBJ1L.4B OU1OBJ4L.6B OU1OBJ1U.8B OU1OBJ4U.9B |
1606 |                                                                        |
1607 |                        OU1OBJ2L.4A             OU1OBJ2U.8A             |
1608 |------------------------------------------------------------------------|
1609 
1610 Notes:
1611 
1612 CLOCKs
1613 ------
1614 MASTER clock 48.384 MHz
1615 68020 clock: 24.192MHz (MASTER / 2)
1616 HSYNC: 15.75kHz
1617 VSYNC: 59.7Hz
1618 
1619 DIPs
1620 ----
1621 SW1: 2 position, both are OFF. Position 1 toggles TEST mode, position 2 is freeze.
1622 
1623 RAM
1624 ---
1625 TC511632FL  x 8 (SOP40, 32k x16)
1626 M5M51008AFP x 2 (SOP32, 128k x8)
1627 LH52250AN   x 8 (SOP28, 32k x8)
1628 CY7C185     x 3 (SOP28, 8k x8)
1629 
1630 NAMCO CUSTOM CHIPS
1631 ------------------
1632 75       (QFP80)
1633 123      (QFP80)
1634 137      (NDIP28)
1635 145      (QFP80)
1636 156      (QFP64)
1637 169      (QFP120)
1638 187      (QFP120)
1639 C116     (QFP64)
1640 C352     (QFP100)
1641 C355     (QFP160)
1642 C382     (QFP120)
1643 C383     (QFP100)
1644 C384 x 3 (QFP48)
1645 C385     (QFP144)
1646 C390     (DIP32, KEYCUS)
1647 
1648 OTHER
1649 -----
1650 BR28C16 (DIP24, EEPROM)
1651 2 gold pins labelled HSYNC & VSYNC, connected to Namco custom chip 145
1652 3 connectors for ROM PCB, labelled J103 (SCROLL), J104 (ROTATE), J105 (OBJECT)
1653 
1654 PALs
1655 ----
1656 PAL1 PALCE16V8 (NAMCO CODE = NB2-1, PCB says "MIXER")
1657 PAL2 PAL16L8   (NAMCO CODE = NB1-2, PCB says "DEC75")  (note! PAL is NB1-2)
1658 PAL3 PAL16L8   (NAMCO CODE = NB2-2, PCB says "SIZE")
1659 
1660 JUMPERs
1661 -------
1662 JP1     4M   O-O O   1M    Config jumper for ROM size, 4M = 27C4002, 1M = 27C1024
1663 JP2     A20  O O-O   GND   Config jumper for ROM size, GND = 16M, A20 = 32M
1664 JP3     A20  O O-O   GND   Config jumper for ROM size, GND = 16M, A20 = 32M
1665 JP4          O-O           (2 pins shorted, hardwired on PCB)
1666 JP5     1    O O O   L     (hardwired on PCB, not shorted)
1667 JP6     1M   O O-O   4M    Config jumper for ROM size, 1M = 27C1024, 4M = 27C240
1668 JP7          O O-O   /WDR  (hardwired on PCB)
1669 JP8     GND  O-O O   A20   Config jumper for ROM size, GND = 16M, A20 = 32M
1670 JP9     CON  O-O O   COFF  (hardwired on PCB)
1671 JP10    GND  O-O O   A20   Config jumper for ROM size, GND = 16M, A20 = 32M
1672 JP11    355  O O-O   F32   (hardwired on PCB)
1673 
1674 ROMs, Main PCB
1675 --------------
1676 Filename /      PCB       ROM
1677 ROM Label       Label     Type
1678 ------------------------------------------------------------------------------
1679 ou1dat0.20a     DATA0     27C4002       Shared Data
1680 ou1dat1.20b     DATA1     27C4002       Shared Data
1681 ou2mprl.11c     PRGL      27C4002       \ Main program
1682 ou2mpru.11d     PRGU      27C4002       /
1683 ou1spr0.5b      SPRG      27C240        Sound program, linked to C352 and C382
1684 ou1voi0.6n      VOICE0    MB8316200B    Sound voices
1685 ou1shas.12s     SHAPE-S   16M mask      Shape
1686 ou1shar.18s     SHAPE-R   16M mask      Shape
1687 
1688 ROMs, mask ROM PCB (All ROMs surface mounted)
1689 ------------------
1690 Filename /      PCB       ROM
1691 ROM Label       Label     Type
1692 ------------------------------------------------
1693 ou1scr0.1d      SCR0      MB8316200B (16M SOP44)
1694 ou1rot0.3d      ROT0      MB8316200B (16M SOP44)
1695 ou1rot1.3c      ROT1      MB8316200B (16M SOP44)
1696 ou1rot2.3b      ROT2      MB8316200B (16M SOP44)
1697 ou1obj0l.4c     OBJ0L     MB8316200B (16M SOP44)
1698 ou1obj1l.4b     OBJ1L     MB8316200B (16M SOP44)
1699 ou1obj2l.4a     OBJ2L     MB8316200B (16M SOP44)
1700 ou1obj3l.6c     OBJ3L     MB8316200B (16M SOP44)
1701 ou1obj4l.6b     OBJ4L     MB8316200B (16M SOP44)
1702 ou1obj0u.8c     OBJ0U     MB8316200B (16M SOP44)
1703 ou1obj1u.8b     OBJ1U     MB8316200B (16M SOP44)
1704 ou1obj2u.8a     OBJ2U     MB8316200B (16M SOP44)
1705 ou1obj3u.9c     OBJ3U     MB8316200B (16M SOP44)
1706 ou1obj4u.9b     OBJ4U     MB8316200B (16M SOP44)
1707 
1708 */
1709 
1710 ROM_START( outfxies )
1711 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1712 	ROM_LOAD32_WORD( "ou2_mprl.11c", 0x00002, 0x80000, CRC(f414a32e) SHA1(9733ab087cfde1b8fb5b676d8a2eb5325ebdbb56) )
1713 	ROM_LOAD32_WORD( "ou2_mpru.11d", 0x00000, 0x80000, CRC(ab5083fb) SHA1(cb2e7a4838c2b80057edb83ea63116bccb1394d3) )
1714 
1715 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1716 	ROM_LOAD( "ou1spr0.5b", 0, 0x80000, CRC(60cee566) SHA1(2f3b96793816d90011586e0f9f71c58b636b6d4c) )
1717 
1718 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1719 	ROM_LOAD( "ou1voi0.6n", 0, 0x200000, CRC(2d8fb271) SHA1(bde9d45979728f5a2cd8ec89f5f81bf16b694cc2) )
1720 
1721 	ROM_REGION( 0x200000, "c123tmap:mask", 0 )
1722 	ROM_LOAD( "ou1shas.12s", 0, 0x200000,CRC(9bcb0397) SHA1(54a32b6394d0e6f51bfd281f8a4bafce6ddf6246) )
1723 
1724 	ROM_REGION( 0x200000, "c169roz:mask", 0 )
1725 	ROM_LOAD( "ou1shar.18s", 0, 0x200000,   CRC(fbb48194) SHA1(2d3ec5bc519fad2b755018f83fadfe0cba13c292) )
1726 
1727 	ROM_REGION( 0x2000000, "c355spr", 0 )
1728 	ROM_LOAD32_WORD( "ou1obj0l.4c", 0x0000000, 0x200000, CRC(1b4f7184) SHA1(a05d67842fce92f321d1fdd3bd30aa3427775a0c) )
1729 	ROM_LOAD32_WORD( "ou1obj0u.8c", 0x0000002, 0x200000, CRC(d0a69794) SHA1(07d449e54e9971abeb9cd5bb7b372270fafa8bac) )
1730 	ROM_LOAD32_WORD( "ou1obj1l.4b", 0x0400000, 0x200000, CRC(48a93e84) SHA1(6935ec161a12237d4cec732d42070f381c23b47c) )
1731 	ROM_LOAD32_WORD( "ou1obj1u.8b", 0x0400002, 0x200000, CRC(999de386) SHA1(d4780ab1929a3e2c2df464363d6451a2bcecb2a2) )
1732 	ROM_LOAD32_WORD( "ou1obj2l.4a", 0x0800000, 0x200000, CRC(30386cd0) SHA1(3563c5378288da58136f102381373bd6fcaeec21) )
1733 	ROM_LOAD32_WORD( "ou1obj2u.8a", 0x0800002, 0x200000, CRC(ccada5f8) SHA1(75ed95bb295780126879d67bba4d0ae1da63c928) )
1734 	ROM_LOAD32_WORD( "ou1obj3l.6c", 0x0c00000, 0x200000, CRC(5f41b44e) SHA1(3f5376fcd3e15af772df65b8eda4d5ee07ee5664) )
1735 	ROM_LOAD32_WORD( "ou1obj3u.9c", 0x0c00002, 0x200000, CRC(bc852c8e) SHA1(4863302c45ee16aaf2c36dac07aceaf287959c53) )
1736 	ROM_LOAD32_WORD( "ou1obj4l.6b", 0x1000000, 0x200000, CRC(99a5f9d7) SHA1(b0f46f4ac357918137031a19c36a56a47b7aefd6) )
1737 	ROM_LOAD32_WORD( "ou1obj4u.9b", 0x1000002, 0x200000, CRC(70ecaabb) SHA1(521c6849526fb271e6447f6c4f5bfa081f96b91e) )
1738 
1739 	ROM_REGION( 0x600000, "c169roz", 0 )
1740 	ROM_LOAD( "ou1-rot0.3d", 0x000000, 0x200000, CRC(a50c67c8) SHA1(432b8451eb9eaa3078134fce1e5e2d58a8b64be3) )
1741 	ROM_LOAD( "ou1-rot1.3c", 0x200000, 0x200000, CRC(14866780) SHA1(4a54151fada4dfba7232e53e40623e5697eeb7db) )
1742 	ROM_LOAD( "ou1-rot2.3b", 0x400000, 0x200000, CRC(55ccf3af) SHA1(d98489aaa840cbffb21c47609961c1163b0336f3) )
1743 
1744 	ROM_REGION( 0x200000, "c123tmap", 0 )
1745 	ROM_LOAD( "ou1-scr0.1d", 0x000000, 0x200000, CRC(b3b3f2e9) SHA1(541bd7e9ba12aff4ec4033bd9c6bb19476acb3c4) )
1746 
1747 	ROM_REGION32_BE( 0x100000, "data", 0 )
1748 	ROM_LOAD16_WORD_SWAP( "ou1dat0.20a", 0x00000, 0x80000, CRC(1a49aead) SHA1(df243aff1a6fb5bcf4d5d883c5af2374a4aff477) )
1749 	ROM_LOAD16_WORD_SWAP( "ou1dat1.20b", 0x80000, 0x80000, CRC(63bb119d) SHA1(d4c2820243b84c3f5cdf7f9e66bb50f53d0efed2) )
1750 ROM_END
1751 
1752 ROM_START( outfxiesj )
1753 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1754 	ROM_LOAD32_WORD( "ou1_mprl.11c", 0x00002, 0x80000, CRC(d3b9e530) SHA1(3f5fe5eea817a23dfe42e76f32912ce94d4c49c9) )
1755 	ROM_LOAD32_WORD( "ou1_mpru.11d", 0x00000, 0x80000, CRC(d98308fb) SHA1(fdefeebf56464a20e3aaefd88df4eee9f7b5c4f3) )
1756 
1757 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1758 	ROM_LOAD( "ou1spr0.5b", 0, 0x80000, CRC(60cee566) SHA1(2f3b96793816d90011586e0f9f71c58b636b6d4c) )
1759 
1760 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1761 	ROM_LOAD( "ou1voi0.6n", 0, 0x200000, CRC(2d8fb271) SHA1(bde9d45979728f5a2cd8ec89f5f81bf16b694cc2) )
1762 
1763 	ROM_REGION( 0x200000, "c123tmap:mask", 0 )
1764 	ROM_LOAD( "ou1shas.12s", 0, 0x200000,CRC(9bcb0397) SHA1(54a32b6394d0e6f51bfd281f8a4bafce6ddf6246) )
1765 
1766 	ROM_REGION( 0x200000, "c169roz:mask", 0 )
1767 	ROM_LOAD( "ou1shar.18s", 0, 0x200000,   CRC(fbb48194) SHA1(2d3ec5bc519fad2b755018f83fadfe0cba13c292) )
1768 
1769 	ROM_REGION( 0x2000000, "c355spr", 0 )
1770 	ROM_LOAD32_WORD( "ou1obj0l.4c", 0x0000000, 0x200000, CRC(1b4f7184) SHA1(a05d67842fce92f321d1fdd3bd30aa3427775a0c) )
1771 	ROM_LOAD32_WORD( "ou1obj0u.8c", 0x0000002, 0x200000, CRC(d0a69794) SHA1(07d449e54e9971abeb9cd5bb7b372270fafa8bac) )
1772 	ROM_LOAD32_WORD( "ou1obj1l.4b", 0x0400000, 0x200000, CRC(48a93e84) SHA1(6935ec161a12237d4cec732d42070f381c23b47c) )
1773 	ROM_LOAD32_WORD( "ou1obj1u.8b", 0x0400002, 0x200000, CRC(999de386) SHA1(d4780ab1929a3e2c2df464363d6451a2bcecb2a2) )
1774 	ROM_LOAD32_WORD( "ou1obj2l.4a", 0x0800000, 0x200000, CRC(30386cd0) SHA1(3563c5378288da58136f102381373bd6fcaeec21) )
1775 	ROM_LOAD32_WORD( "ou1obj2u.8a", 0x0800002, 0x200000, CRC(ccada5f8) SHA1(75ed95bb295780126879d67bba4d0ae1da63c928) )
1776 	ROM_LOAD32_WORD( "ou1obj3l.6c", 0x0c00000, 0x200000, CRC(5f41b44e) SHA1(3f5376fcd3e15af772df65b8eda4d5ee07ee5664) )
1777 	ROM_LOAD32_WORD( "ou1obj3u.9c", 0x0c00002, 0x200000, CRC(bc852c8e) SHA1(4863302c45ee16aaf2c36dac07aceaf287959c53) )
1778 	ROM_LOAD32_WORD( "ou1obj4l.6b", 0x1000000, 0x200000, CRC(99a5f9d7) SHA1(b0f46f4ac357918137031a19c36a56a47b7aefd6) )
1779 	ROM_LOAD32_WORD( "ou1obj4u.9b", 0x1000002, 0x200000, CRC(70ecaabb) SHA1(521c6849526fb271e6447f6c4f5bfa081f96b91e) )
1780 
1781 	ROM_REGION( 0x600000, "c169roz", 0 )
1782 	ROM_LOAD( "ou1-rot0.3d", 0x000000, 0x200000, CRC(a50c67c8) SHA1(432b8451eb9eaa3078134fce1e5e2d58a8b64be3) )
1783 	ROM_LOAD( "ou1-rot1.3c", 0x200000, 0x200000, CRC(14866780) SHA1(4a54151fada4dfba7232e53e40623e5697eeb7db) )
1784 	ROM_LOAD( "ou1-rot2.3b", 0x400000, 0x200000, CRC(55ccf3af) SHA1(d98489aaa840cbffb21c47609961c1163b0336f3) )
1785 
1786 	ROM_REGION( 0x200000, "c123tmap", 0 )
1787 	ROM_LOAD( "ou1-scr0.1d", 0x000000, 0x200000, CRC(b3b3f2e9) SHA1(541bd7e9ba12aff4ec4033bd9c6bb19476acb3c4) )
1788 
1789 	ROM_REGION32_BE( 0x100000, "data", 0 )
1790 	ROM_LOAD16_WORD_SWAP( "ou1dat0.20a", 0x00000, 0x80000, CRC(1a49aead) SHA1(df243aff1a6fb5bcf4d5d883c5af2374a4aff477) )
1791 	ROM_LOAD16_WORD_SWAP( "ou1dat1.20b", 0x80000, 0x80000, CRC(63bb119d) SHA1(d4c2820243b84c3f5cdf7f9e66bb50f53d0efed2) )
1792 ROM_END
1793 
1794 ROM_START( outfxiesa ) /* briefly shows "For use in Japan" notice, but Japanese text removed from game play. A Korean version? */
1795 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1796 	ROM_LOAD32_WORD( "mprl.11c", 0x00002, 0x80000, CRC(22cd638d) SHA1(7b11ded9f2265678bb96b3fb706ed5fa37745511) ) // no label on ROM
1797 	ROM_LOAD32_WORD( "mpru.11d", 0x00000, 0x80000, CRC(a50f1cf9) SHA1(1c07c7e1ff2bb621c6fb249ae2e650097ce53aea) ) // no label on ROM
1798 
1799 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1800 	ROM_LOAD( "ou1spr0.5b", 0, 0x80000, CRC(60cee566) SHA1(2f3b96793816d90011586e0f9f71c58b636b6d4c) )
1801 
1802 	ROM_REGION( 0x1000000, "c352", 0 ) // Samples
1803 	ROM_LOAD( "ou1voi0.6n", 0, 0x200000, CRC(2d8fb271) SHA1(bde9d45979728f5a2cd8ec89f5f81bf16b694cc2) )
1804 
1805 	ROM_REGION( 0x200000, "c123tmap:mask", 0 )
1806 	ROM_LOAD( "ou1shas.12s", 0, 0x200000,CRC(9bcb0397) SHA1(54a32b6394d0e6f51bfd281f8a4bafce6ddf6246) )
1807 
1808 	ROM_REGION( 0x200000, "c169roz:mask", 0 )
1809 	ROM_LOAD( "ou1shar.18s", 0, 0x200000,   CRC(fbb48194) SHA1(2d3ec5bc519fad2b755018f83fadfe0cba13c292) )
1810 
1811 	ROM_REGION( 0x2000000, "c355spr", 0 )
1812 	ROM_LOAD32_WORD( "ou1obj0l.4c", 0x0000000, 0x200000, CRC(1b4f7184) SHA1(a05d67842fce92f321d1fdd3bd30aa3427775a0c) )
1813 	ROM_LOAD32_WORD( "ou1obj0u.8c", 0x0000002, 0x200000, CRC(d0a69794) SHA1(07d449e54e9971abeb9cd5bb7b372270fafa8bac) )
1814 	ROM_LOAD32_WORD( "ou1obj1l.4b", 0x0400000, 0x200000, CRC(48a93e84) SHA1(6935ec161a12237d4cec732d42070f381c23b47c) )
1815 	ROM_LOAD32_WORD( "ou1obj1u.8b", 0x0400002, 0x200000, CRC(999de386) SHA1(d4780ab1929a3e2c2df464363d6451a2bcecb2a2) )
1816 	ROM_LOAD32_WORD( "ou1obj2l.4a", 0x0800000, 0x200000, CRC(30386cd0) SHA1(3563c5378288da58136f102381373bd6fcaeec21) )
1817 	ROM_LOAD32_WORD( "ou1obj2u.8a", 0x0800002, 0x200000, CRC(ccada5f8) SHA1(75ed95bb295780126879d67bba4d0ae1da63c928) )
1818 	ROM_LOAD32_WORD( "ou1obj3l.6c", 0x0c00000, 0x200000, CRC(5f41b44e) SHA1(3f5376fcd3e15af772df65b8eda4d5ee07ee5664) )
1819 	ROM_LOAD32_WORD( "ou1obj3u.9c", 0x0c00002, 0x200000, CRC(bc852c8e) SHA1(4863302c45ee16aaf2c36dac07aceaf287959c53) )
1820 	ROM_LOAD32_WORD( "ou1obj4l.6b", 0x1000000, 0x200000, CRC(99a5f9d7) SHA1(b0f46f4ac357918137031a19c36a56a47b7aefd6) )
1821 	ROM_LOAD32_WORD( "ou1obj4u.9b", 0x1000002, 0x200000, CRC(70ecaabb) SHA1(521c6849526fb271e6447f6c4f5bfa081f96b91e) )
1822 
1823 	ROM_REGION( 0x600000, "c169roz", 0 )
1824 	ROM_LOAD( "ou1-rot0.3d", 0x000000, 0x200000, CRC(a50c67c8) SHA1(432b8451eb9eaa3078134fce1e5e2d58a8b64be3) )
1825 	ROM_LOAD( "ou1-rot1.3c", 0x200000, 0x200000, CRC(14866780) SHA1(4a54151fada4dfba7232e53e40623e5697eeb7db) )
1826 	ROM_LOAD( "ou1-rot2.3b", 0x400000, 0x200000, CRC(55ccf3af) SHA1(d98489aaa840cbffb21c47609961c1163b0336f3) )
1827 
1828 	ROM_REGION( 0x200000, "c123tmap", 0 )
1829 	ROM_LOAD( "ou1-scr0.1d", 0x000000, 0x200000, CRC(b3b3f2e9) SHA1(541bd7e9ba12aff4ec4033bd9c6bb19476acb3c4) )
1830 
1831 	ROM_REGION32_BE( 0x100000, "data", 0 )
1832 	ROM_LOAD16_WORD_SWAP( "ou1dat0.20a", 0x00000, 0x80000, CRC(1a49aead) SHA1(df243aff1a6fb5bcf4d5d883c5af2374a4aff477) )
1833 	ROM_LOAD16_WORD_SWAP( "ou1dat1.20b", 0x80000, 0x80000, CRC(63bb119d) SHA1(d4c2820243b84c3f5cdf7f9e66bb50f53d0efed2) )
1834 ROM_END
1835 
1836 ROM_START( machbrkr ) /* Defaults to Asia / 4 Player cabinet */
1837 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1838 	ROM_LOAD32_WORD( "mb2_mprl.11c", 0x00002, 0x80000, CRC(81e2c566) SHA1(e4553938114581ccdedc09309c646144300039ed) )
1839 	ROM_LOAD32_WORD( "mb2_mpru.11d", 0x00000, 0x80000, CRC(e8ccec89) SHA1(495be58a18e9122c0fa44bac409ef14b588387e7) )
1840 
1841 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1842 	ROM_LOAD( "mb1_spr0.5b", 0, 0x80000, CRC(d10f6272) SHA1(cb99e06e050dbf86998ea51ef2ca130b2acfb2f6) )
1843 
1844 	ROM_REGION( 0x1000000, "c352", 0 )
1845 	ROM_LOAD( "mb1_voi0.6n", 0x000000, 0x200000, CRC(d363ca3b) SHA1(71650b66ca3eb00f6ad7d3f1df0f37210b77b942) )
1846 	ROM_RELOAD( 0x400000, 0x200000)
1847 	ROM_LOAD( "mb1_voi1.6p", 0x800000, 0x200000, CRC(7e1c2603) SHA1(533098a54fb897931f1d75be9e69a5c047e4c446) )
1848 	ROM_RELOAD( 0xc00000, 0x200000)
1849 
1850 	ROM_REGION( 0x200000, "c123tmap:mask", 0 )
1851 	ROM_LOAD( "mb1_shas.12s", 0, 0x100000, CRC(c51c614b) SHA1(519ecad2e4543c05ec35a727f4c875ab006291af) )
1852 
1853 	ROM_REGION( 0x200000, "c169roz:mask", 0 )
1854 	ROM_LOAD( "mb1_shar.18s", 0, 0x080000, CRC(d9329b10) SHA1(149c8804c07350f47af36bc7902371f1dfbed272) )
1855 
1856 	ROM_REGION( 0x2000000, "c355spr", 0 )
1857 	ROM_LOAD32_WORD( "mb1obj0l.4c", 0x0000000, 0x200000, CRC(056e6b1c) SHA1(44e49de80c925c8fbe04bf9328a77a50a305a5a7) )
1858 	ROM_LOAD32_WORD( "mb1obj0u.8c", 0x0000002, 0x200000, CRC(e19b1714) SHA1(ff43bf3c8e8698934c4057c7b4c72db73929e2af) )
1859 	ROM_LOAD32_WORD( "mb1obj1l.4b", 0x0400000, 0x200000, CRC(af69f7f1) SHA1(414544ec1a9aaffb751beaf63d937ce78d0cf9c6) )
1860 	ROM_LOAD32_WORD( "mb1obj1u.8b", 0x0400002, 0x200000, CRC(e8ff9082) SHA1(a8c7feb33f6243f1f3bda00deffa695ac2b19171) )
1861 	ROM_LOAD32_WORD( "mb1obj2l.4a", 0x0800000, 0x200000, CRC(3a5c7379) SHA1(ffe9a229eb04a894e5f3bb8ac2fc4617b5413ac3) )
1862 	ROM_LOAD32_WORD( "mb1obj2u.8a", 0x0800002, 0x200000, CRC(b59cf5e0) SHA1(eee7511f117a4c1a24e4187e3f30e4d66f914a81) )
1863 	ROM_LOAD32_WORD( "mb1obj3l.6c", 0x0c00000, 0x200000, CRC(9a765d58) SHA1(2e9ea0f76f80383fcf093e947e1fe161743e33fb) )
1864 	ROM_LOAD32_WORD( "mb1obj3u.9c", 0x0c00002, 0x200000, CRC(5329c693) SHA1(955b3b8b9813826347a1211f71fa0a294b759ccd) )
1865 	ROM_LOAD32_WORD( "mb1obj4l.6b", 0x1000000, 0x200000, CRC(a650b05e) SHA1(b247699433c7bf4b6ae990fc06255cfd48a248dd) )
1866 	ROM_LOAD32_WORD( "mb1obj4u.9b", 0x1000002, 0x200000, CRC(6d0c37e9) SHA1(3a3feb74b890e0a933dcc791e5eee1fb4bdcbb69) )
1867 
1868 	ROM_REGION( 0x400000, "c169roz", 0 )
1869 	ROM_LOAD( "mb1_rot0.3d", 0x000000, 0x200000, CRC(bc353630) SHA1(2bbddda632298899716394ddcfe51412576ca74a) )
1870 	ROM_LOAD( "mb1_rot1.3c", 0x200000, 0x200000, CRC(cf7688cb) SHA1(29a040ce2c4e3bf671cff1a7a1ade06103db236a) )
1871 
1872 	ROM_REGION( 0x600000, "c123tmap", 0 )
1873 	ROM_LOAD( "mb1_scr0.1d", 0x000000, 0x200000, CRC(c678d5f3) SHA1(98d1523bef50d444be9485c4e7f6932cccbea191) )
1874 	ROM_LOAD( "mb1_scr1.1c", 0x200000, 0x200000, CRC(fb2b1939) SHA1(bf9d7b93205e7012aa86693f3d2ba8f4d729bc97) )
1875 	ROM_LOAD( "mb1_scr2.1b", 0x400000, 0x200000, CRC(0e6097a5) SHA1(b6c64b3e34ba913138b6b7c3d99d2be4f3ceda08) )
1876 
1877 	ROM_REGION32_BE( 0x100000, "data", 0 )
1878 	ROM_LOAD16_WORD_SWAP( "mb1_dat0.20a", 0x00000, 0x80000, CRC(fb2e3cd1) SHA1(019b1d645a07619036522f42e0b9a537f39b6b93) )
1879 ROM_END
1880 
1881 ROM_START( machbrkrj )
1882 	ROM_REGION( 0x100000, "maincpu", 0 ) /* main program */
1883 	ROM_LOAD32_WORD( "mb1_mprl.11c", 0x00002, 0x80000, CRC(86cf0644) SHA1(07eeadda1d94c9be2f882edb6f2eb0b98292e500) )
1884 	ROM_LOAD32_WORD( "mb1_mpru.11d", 0x00000, 0x80000, CRC(fb1ff916) SHA1(e0ba96c1f26a60f87d8050e582e164d91e132183) )
1885 
1886 	ROM_REGION16_LE( 0x80000, "c75data", 0 ) /* sound data */
1887 	ROM_LOAD( "mb1_spr0.5b", 0, 0x80000, CRC(d10f6272) SHA1(cb99e06e050dbf86998ea51ef2ca130b2acfb2f6) )
1888 
1889 	ROM_REGION( 0x1000000, "c352", 0 )
1890 	ROM_LOAD( "mb1_voi0.6n", 0x000000, 0x200000, CRC(d363ca3b) SHA1(71650b66ca3eb00f6ad7d3f1df0f37210b77b942) )
1891 	ROM_RELOAD( 0x400000, 0x200000)
1892 	ROM_LOAD( "mb1_voi1.6p", 0x800000, 0x200000, CRC(7e1c2603) SHA1(533098a54fb897931f1d75be9e69a5c047e4c446) )
1893 	ROM_RELOAD( 0xc00000, 0x200000)
1894 
1895 	ROM_REGION( 0x200000, "c123tmap:mask", 0 )
1896 	ROM_LOAD( "mb1_shas.12s", 0, 0x100000, CRC(c51c614b) SHA1(519ecad2e4543c05ec35a727f4c875ab006291af) )
1897 
1898 	ROM_REGION( 0x200000, "c169roz:mask", 0 )
1899 	ROM_LOAD( "mb1_shar.18s", 0, 0x080000, CRC(d9329b10) SHA1(149c8804c07350f47af36bc7902371f1dfbed272) )
1900 
1901 	ROM_REGION( 0x2000000, "c355spr", 0 )
1902 	ROM_LOAD32_WORD( "mb1obj0l.4c", 0x0000000, 0x200000, CRC(056e6b1c) SHA1(44e49de80c925c8fbe04bf9328a77a50a305a5a7) )
1903 	ROM_LOAD32_WORD( "mb1obj0u.8c", 0x0000002, 0x200000, CRC(e19b1714) SHA1(ff43bf3c8e8698934c4057c7b4c72db73929e2af) )
1904 	ROM_LOAD32_WORD( "mb1obj1l.4b", 0x0400000, 0x200000, CRC(af69f7f1) SHA1(414544ec1a9aaffb751beaf63d937ce78d0cf9c6) )
1905 	ROM_LOAD32_WORD( "mb1obj1u.8b", 0x0400002, 0x200000, CRC(e8ff9082) SHA1(a8c7feb33f6243f1f3bda00deffa695ac2b19171) )
1906 	ROM_LOAD32_WORD( "mb1obj2l.4a", 0x0800000, 0x200000, CRC(3a5c7379) SHA1(ffe9a229eb04a894e5f3bb8ac2fc4617b5413ac3) )
1907 	ROM_LOAD32_WORD( "mb1obj2u.8a", 0x0800002, 0x200000, CRC(b59cf5e0) SHA1(eee7511f117a4c1a24e4187e3f30e4d66f914a81) )
1908 	ROM_LOAD32_WORD( "mb1obj3l.6c", 0x0c00000, 0x200000, CRC(9a765d58) SHA1(2e9ea0f76f80383fcf093e947e1fe161743e33fb) )
1909 	ROM_LOAD32_WORD( "mb1obj3u.9c", 0x0c00002, 0x200000, CRC(5329c693) SHA1(955b3b8b9813826347a1211f71fa0a294b759ccd) )
1910 	ROM_LOAD32_WORD( "mb1obj4l.6b", 0x1000000, 0x200000, CRC(a650b05e) SHA1(b247699433c7bf4b6ae990fc06255cfd48a248dd) )
1911 	ROM_LOAD32_WORD( "mb1obj4u.9b", 0x1000002, 0x200000, CRC(6d0c37e9) SHA1(3a3feb74b890e0a933dcc791e5eee1fb4bdcbb69) )
1912 
1913 	ROM_REGION( 0x400000, "c169roz", 0 )
1914 	ROM_LOAD( "mb1_rot0.3d", 0x000000, 0x200000, CRC(bc353630) SHA1(2bbddda632298899716394ddcfe51412576ca74a) )
1915 	ROM_LOAD( "mb1_rot1.3c", 0x200000, 0x200000, CRC(cf7688cb) SHA1(29a040ce2c4e3bf671cff1a7a1ade06103db236a) )
1916 
1917 	ROM_REGION( 0x600000, "c123tmap", 0 )
1918 	ROM_LOAD( "mb1_scr0.1d", 0x000000, 0x200000, CRC(c678d5f3) SHA1(98d1523bef50d444be9485c4e7f6932cccbea191) )
1919 	ROM_LOAD( "mb1_scr1.1c", 0x200000, 0x200000, CRC(fb2b1939) SHA1(bf9d7b93205e7012aa86693f3d2ba8f4d729bc97) )
1920 	ROM_LOAD( "mb1_scr2.1b", 0x400000, 0x200000, CRC(0e6097a5) SHA1(b6c64b3e34ba913138b6b7c3d99d2be4f3ceda08) )
1921 
1922 	ROM_REGION32_BE( 0x100000, "data", 0 )
1923 	ROM_LOAD16_WORD_SWAP( "mb1_dat0.20a", 0x00000, 0x80000, CRC(fb2e3cd1) SHA1(019b1d645a07619036522f42e0b9a537f39b6b93) )
1924 ROM_END
1925 
1926 
1927 /***************************************************************/
1928 
1929 /*    YEAR, NAME,      PARENT,   MACHINE,  INPUT,    CLASS,          INIT,          MONITOR,COMPANY,FULLNAME,   FLAGS */
1930 GAME( 1994, nebulray,  0,        namconb1, namconb1, namconb1_state, init_nebulray, ROT90, "Namco", "Nebulas Ray (World, NR2)", MACHINE_SUPPORTS_SAVE )
1931 GAME( 1994, nebulrayj, nebulray, namconb1, namconb1, namconb1_state, init_nebulray, ROT90, "Namco", "Nebulas Ray (Japan, NR1)", MACHINE_SUPPORTS_SAVE )
1932 GAME( 1994, ptblank,   0,        namconb1, gunbulet, namconb1_state, init_gunbulet, ROT0,  "Namco", "Point Blank (World, GN2 Rev B, set 1)", MACHINE_SUPPORTS_SAVE )
1933 GAME( 1994, ptblanka,  ptblank,  namconb1, gunbulet, namconb1_state, init_gunbulet, ROT0,  "Namco", "Point Blank (World, GN2 Rev B, set 2)", MACHINE_SUPPORTS_SAVE )
1934 GAME( 1994, gunbuletj, ptblank,  namconb1, gunbulet, namconb1_state, init_gunbulet, ROT0,  "Namco", "Gun Bullet (Japan, GN1)", MACHINE_SUPPORTS_SAVE )
1935 GAME( 1994, gunbuletw, ptblank,  namconb1, gunbulet, namconb1_state, init_gunbulet, ROT0,  "Namco", "Gun Bullet (World, GN3 Rev B)", MACHINE_SUPPORTS_SAVE )
1936 GAME( 1993, gslugrsj,  0,        namconb1, namconb1, namconb1_state, init_gslgr94u, ROT0,  "Namco", "Great Sluggers (Japan)", MACHINE_SUPPORTS_SAVE )
1937 GAME( 1994, gslgr94u,  0,        namconb1, namconb1, namconb1_state, init_gslgr94u, ROT0,  "Namco", "Great Sluggers '94", MACHINE_SUPPORTS_SAVE )
1938 GAME( 1994, gslgr94j,  gslgr94u, namconb1, namconb1, namconb1_state, init_gslgr94j, ROT0,  "Namco", "Great Sluggers '94 (Japan)", MACHINE_SUPPORTS_SAVE )
1939 GAME( 1995, sws95,     0,        namconb1, namconb1, namconb1_state, init_sws95,    ROT0,  "Namco", "Super World Stadium '95 (Japan)", MACHINE_SUPPORTS_SAVE )
1940 GAME( 1996, sws96,     0,        namconb1, namconb1, namconb1_state, init_sws96,    ROT0,  "Namco", "Super World Stadium '96 (Japan)", MACHINE_SUPPORTS_SAVE )
1941 GAME( 1997, sws97,     0,        namconb1, namconb1, namconb1_state, init_sws97,    ROT0,  "Namco", "Super World Stadium '97 (Japan)", MACHINE_SUPPORTS_SAVE )
1942 GAME( 1994, vshoot,    0,        namconb1, namconb1, namconb1_state, init_vshoot,   ROT0,  "Namco", "J-League Soccer V-Shoot (Japan)", MACHINE_SUPPORTS_SAVE )
1943 
1944 GAME( 1994, outfxies,  0,        outfxies, namconb1, namconb1_state, init_outfxies, ROT0, "Namco", "The Outfoxies (World, OU2)", MACHINE_SUPPORTS_SAVE )
1945 GAME( 1994, outfxiesj, outfxies, outfxies, namconb1, namconb1_state, init_outfxies, ROT0, "Namco", "The Outfoxies (Japan, OU1)", MACHINE_SUPPORTS_SAVE )
1946 GAME( 1994, outfxiesa, outfxies, outfxies, namconb1, namconb1_state, init_outfxies, ROT0, "Namco", "The Outfoxies (Korea?)", MACHINE_SUPPORTS_SAVE )
1947 GAME( 1995, machbrkr,  0,        machbrkr, namconb1, namconb1_state, init_machbrkr, ROT0, "Namco", "Mach Breakers (World, MB2)", MACHINE_SUPPORTS_SAVE ) /* Title screen doesn't show subtitle "Numan Athletics 2" */
1948 GAME( 1995, machbrkrj, machbrkr, machbrkr, namconb1, namconb1_state, init_machbrkr, ROT0, "Namco", "Mach Breakers - Numan Athletics 2 (Japan, MB1)", MACHINE_SUPPORTS_SAVE )
1949