Viewing File: <root>/src/mame/drivers/segas32.c

    1  /***************************************************************************
    2  
    3      Sega System 32/Multi 32 hardware
    4  
    5  ****************************************************************************
    6  
    7      Still to do:
    8          * fix protection
    9          * fix jpark correctly
   10          * f1lap link
   11  
   12  ****************************************************************************
   13  
   14  
   15  Slip Stream (950515 HISPANIC)
   16  Sega, 1995
   17  
   18  This game runs on Sega System 32 hardware.
   19  
   20  PCB Layout
   21  ----------
   22  837-7428  171-5964E (C) SEGA 1990
   23  |-------------------------------------------------------------------------------------------|
   24  | TDA1518                                                               8464      8464      |
   25  |             HM65256                                                   8464      8464      |
   26  |  TL064      HM65256             |---------|                             |---------|       |
   27  |   LC7881  |-----|               |SEGA     |                             |SEGA     |       |
   28  |           |ASSP |               |315-5385 |                             |315-5388 |       |
   29  |CND        |5C105|               |         |                             |         |       |
   30  |           |1FD07|               |         |             |---------|     |         |       |
   31  |           |-----|               |---------|        CNF  |SEGA     |     |---------|       |
   32  |                                                         |315-5242 |                       |
   33  |-|  TL062   TL064                  84256                 |         |                       |
   34    |                                 84256                 |         |                    CNI|
   35  |-|                                                       |---------|      |---------|      |
   36  |             YM3438                                                       |SEGA     |      |
   37  |                             |-----------|                                |315-5387 |      |
   38  |             YM3438          |NEC        |       315-5441                 |         |      |
   39  |                             |D70616R-16 |                                |         |      |
   40  |J              BAT_5.5V      |9105M9 V60 |                                |---------|      |
   41  |A   BAT_3.3V                 |(C)NEC 1986|                                                 |
   42  |M                            |           |                                  D42264         |
   43  |M            8464            |-----------|                                  D42264         |
   44  |A                                                                           D42264         |
   45  |             Z80                                                            D42264         |
   46  |                            HM53461ZP-12   HM53461ZP-12                                    |
   47  |                            HM53461ZP-12   HM53461ZP-12                                    |
   48  |                            HM53461ZP-12   HM53461ZP-12                                    |
   49  |                            HM53461ZP-12   HM53461ZP-12                |-----------|       |
   50  |-|                          HM53461ZP-12   HM53461ZP-12                | SEGA      |    CNE|
   51    |      |-------|           HM53461ZP-12   HM53461ZP-12                | 315-5386A |       |
   52  |-|      |SEGA   |           HM53461ZP-12   HM53461ZP-12                |           |       |
   53  |        |315-   |           HM53461ZP-12   HM53461ZP-12                |           |       |
   54  |        |5296   |                                                      |           |       |
   55  |        |-------|        3771   3771                                   |-----------|       |
   56  |         93C46                                                              D42264         |
   57  |CNB                         SW2                                             D42264         |
   58  |                            SW1                                             D42264         |
   59  |       CNA                  DSW1    32MHz  50MHz                            D42264         |
   60  |-------------------------------------------------------------------------------------------|
   61  
   62  Notes:
   63        V60 CPU running at 16.00MHz [32/2]
   64        Z80 CPU running at 8.000MHz [32/4]
   65        YM3438 running at 8.000MHz [32/4]
   66        CNE/F/I - Multi-pin connectors for connection of ROM Board
   67        CND     - 4 pin connector for 2nd Speaker for Stereo Output
   68        CNA     - 30 pin connector for extra controls PCB
   69        CNB     - 26 pin connector (purpose unknown)
   70        SW1     - push-button TEST switch
   71        SW2     - push button SERVICE switch
   72        DSW1    - 4-position DIP Switch
   73        HM53461 - Hitachi 256k Dual Port RAM
   74        D42264  - NEC 256k Dual Port RAM
   75  
   76        SEGA Custom ICs:
   77                        315-5441  Lattice GAL16V8A (DIP20)
   78                        315-5386A (QFP184)
   79                        315-5388  (QFP160)
   80                        315-5387  (QFP160)
   81                        315-5242  (custom ceramic DIP32 containing a small QFP IC and some capacitors/resistors etc)
   82                        315-5296  (QFP100)
   83                        ASSP 5C105 (QFP80)
   84                        315-5385  (QFP128)
   85  
   86  
   87  ROM Board
   88  ---------
   89  837-7429-01
   90  |-------------------------------------------------------------------------------------------|
   91  |JP10-JP27                     CNJ                    CNH                      JP1-JP9      |
   92  |              IC6                                                                          |
   93  | IC7                                                                                       |
   94  |              IC13                                                                         |
   95  | IC14                                                                                      |
   96  |            315-5442                                                                       |
   97  | IC22                                 IC25                IC24               IC23          |
   98  |                                                                                           |
   99  | IC26                                 IC29                IC28               IC27          |
  100  |                                                                                           |
  101  | IC31            CNK                  IC34                IC23               IC32          |
  102  |                                                                                           |
  103  | IC35                                 IC38                IC37               IC36          |
  104  |             CNG       JP28-JP32                                                           |
  105  |-------------------------------------------------------------------------------------------|
  106  
  107  Notes:
  108  CNG/H/J  - Multi-pin connectors (below PCB) for connection of ROM Board to Main Board
  109  CNK      - Custom Sega connector for connection of protection daughterboard (not used)
  110  315-5442 - MMI PAL16L8ACN (DIP20)
  111  
  112  Jumpers: (to configure ROM sizes used on Slip Stream. Other games)
  113           (may vary depending on ROM types used)
  114  JP1: 2-3           JP17: 1-2
  115  JP2: 2-3           JP18: 2-3
  116  JP3: 2-3           JP19: 1-2
  117  JP4: 1-2           JP20: 2-3
  118  JP5: 2-3           JP21: 1-2
  119  JP6: 2-3           JP22: 2-3
  120  JP7: 1-2           JP23: 1-2
  121  JP8: 2-3           JP24: 1-2
  122  JP9: 1-2           JP25: 2-3
  123  JP10: 2-3          JP26: 1-2
  124  JP11: 1-2          JP27: 1-2
  125  JP12: 1-2          JP28: 2-3
  126  JP13: 1-2          JP29: 1-2
  127  JP14: 2-3          JP30: 2-3
  128  JP15: 2-3          JP31: 1-2
  129  JP16: 2-3          JP32: 1-2
  130  
  131  ROM Locations
  132  -------------
  133  PCB Label  CPU P0 CPU P1    CPU D0   CPU D1   SND0     SND1     SND2 SND3 SCR0     SCR1     SCR2     SCR3     OBJ0     OBJ1     OBJ2     OBJ3     OBJ4     OBJ5     OBJ6     OBJ7
  134  IC#        IC13   IC6       IC7      IC14     IC35     IC31     -    -    IC38     IC34     IC29     IC25     IC36     IC32     IC27     IC23     IC37     IC33     IC28     IC24
  135  IC Type    -      27C4002   27C4000  27C4000  27C010   27C4000  -    -    27C4000  27C4000  27C4000  27C4000  27C4000  27C4000  27C4000  27C4000  27C4000  27C4000  27C4000  27C4000
  136  ROM Label  -      S32HPRG01 S32DAT00 S32DAT01 S32SND00 S32SND01 -    -    S32SCR00 S32SCR01 S32SCR02 S32SCR03 S32OBJ00 S32OBJ01 S32OBJ02 S32OBJ03 S32OBJ04 S32OBJ05 S32OBJ06 S32OBJ07
  137  
  138  
  139  Extra Controls PCB
  140  ------------------
  141  837-7536
  142  837-7536-91 (sticker)
  143  |------------------------|
  144  |                        |
  145  |                 74HC74 |
  146  |         OKI_M6253      |
  147  |  74HC4053              |
  148  | DAP601          74HC139|
  149  | DAN601                 |
  150  |CN2              CN1    |
  151  |------------------------|
  152  Notes:
  153  CN2 - Multi-pin connector for controls
  154  CN1 - Connector joining to CNA on main PCB
  155  
  156  
  157  *********************************************************************************************
  158  
  159  
  160  Title Fight (Export Revision)
  161  Sega, 1992
  162  
  163  This game runs on Sega System Multi32 hardware.
  164  
  165  PCB Layout
  166  ----------
  167  837-8676  171-6253C (C) SEGA 1992
  168  834-9324-02 (STICKER)
  169  |-------------------------------------------------------------------------------------------|
  170  |             CNF                                     CNH                          8464     |
  171  |8464   HM53461ZP-12 (x16)      |-----------|    HM53461ZP-12 (x16)                8464     |
  172  |8464                           | SEGA      |                                      8464     |
  173  |8464                           | 315-5386A |                                      8464     |
  174  |8464                           |           |                                               |
  175  |                               |           |                                               |
  176  |                               |           |                                               |
  177  |   |---------|  |---------|    |-----------|                    |---------|  |---------|   |
  178  |   |SEGA     |  |SEGA     |                                     |SEGA     |  |SEGA     |   |
  179  |   |315-5388 |  |315-5387 |  HM53461ZP-12 (x8)                  |315-5388 |  |315-5242 |   |
  180  |   |         |  |         |                                     |         |  |         |   |
  181  |   |         |  |         |                                     |         |  |         |   |
  182  |   |---------|  |---------|                                     |---------|  |---------|   |
  183  |             CND                                     CNE                                   |
  184  | |---------| MB3771 MB3771                      315-5596              |-------| M5M5278P-25|
  185  | |SEGA     |                                                          |SEGA   |            |
  186  | |315-5242 |      8464                                                |315-   | M5M5278P-25|
  187  | |         |BAT_3.3V                                                  |5591   |            |
  188  | |         |BAT_5.5V                     |---------|                  |-------| M5M5278P-25|
  189  | |---------|         Z80    50MHz        |SEGA     |     |-----------|                 DSW1|
  190  |                            32MHz        |315-5385 |     |NEC        |          M5M5278P-25|
  191  | |------|                                |         |     |D70632R-20 |                 SW4 |
  192  | |SEGA  |                   |-------|    |         |     |9314X9 V70 |    40MHz        SW3 |
  193  | |315-  |                   |SEGA   |    |---------|     |(C)NEC 1986|                     |
  194  | |5560  | YM3438            |315-   |                    |           |                     |
  195  | |------| LC78820           |5296   |                    |-----------|              93C45  |
  196  |TDA1518                     |-------|                                   |-------|          |
  197  |                                       SW1    SW2                       |SEGA   |       CNM|
  198  |  VOL                                                                   |315-   |          |
  199  |                                                                        |5296   |          |
  200  | UPC844 UPC4064                                                         |-------|          |
  201  |                                                                                           |
  202  |CNC                                                      LED                               |
  203  --|            JAMMA             |----|     CNJ      |----|            JAMMA             |--|
  204    |------------------------------|    |--------------|    |------------------------------|
  205  Notes:
  206        V70 CPU running at 20.00MHz [40/2]
  207        Z80 CPU running at 8.000MHz [32/4]
  208        YM3438 running at 8.000MHz [32/4]
  209        315-5560 running at 8.000MHz [32/4]
  210        CND/E/F/H: Multi-pin connectors for connection of ROM Board
  211        CNC      : 4 pin connector for 2nd Speaker for Stereo Output
  212        CNJ      : 32 pin connector (purpose unknown)
  213        CNM      : 30 pin connector (purpose unknown)
  214        SW1      : push-button TEST switch
  215        SW2      : push button SERVICE switch
  216        SW3/4    : push button switches (purpose unknown)
  217        DSW1     : 4-position DIP Switch
  218  
  219        SEGA Custom ICs:
  220                        315-5596  Lattice GAL16V8A (DIP20)
  221                        315-5386A (QFP184)
  222                        315-5388  (x2, QFP160)
  223                        315-5387  (QFP160)
  224                        315-5242  (x2, custom ceramic DIP32 containing a small QFP IC and some capacitors/resistors etc)
  225                        315-5296  (x2, QFP100)
  226                        315-5560  (QFP80)
  227                        315-5385  (QFP128)
  228                        315-5591  (QFP100)
  229  
  230  
  231  ROM Board
  232  ---------
  233  837-8890
  234  |-------------------------------------------------------------------------------------------|
  235  |             CN3                                     CN4                                   |
  236  |                                                                                           |
  237  |             IC3                          IC14            IC15              IC10           |
  238  | IC1   IC2                   JP1-5                                                         |
  239  |                                                                                           |
  240  |             IC11            JP6-10       IC22            IC23              IC18           |
  241  |                                                                                           |
  242  |                                                                                           |
  243  |                                          IC36            IC37                             |
  244  |             315-5598                                                       IC38           |
  245  |                  CN5                                                                      |
  246  | IC30  IC31                               IC39            IC40                             |
  247  |                                                                CN6         IC41           |
  248  |JP11-16      CN1                                     CN2                                   |
  249  |-------------------------------------------------------------------------------------------|
  250  
  251  Notes:
  252  CN1/2/3/4 : Multi-pin connectors (below PCB) for connection of ROM Board to Main Board
  253  CN5       : Custom Sega connector for connection of protection daughterboard (not used)
  254  CN6       : Custom Sega connector (purpose unknown)
  255  315-5598  : Lattice GAL16V8A (DIP20)
  256  
  257  Jumpers: (to configure ROM sizes used on Title Fight. Other games may vary depending on ROM types used.)
  258  JP1: 1-2
  259  JP2: 1-2
  260  JP3: 2-3
  261  JP4: 2-3
  262  JP5: 2-3
  263  JP6: 1-2
  264  JP7: 2-3
  265  JP8: 2-3
  266  JP9: 1-2
  267  JP10: 1-2
  268  JP11: OPEN
  269  JP12: OPEN
  270  JP13: OPEN
  271  JP14: OPEN
  272  JP15: 1-2
  273  JP16: 2-3
  274  
  275  ROM Locations (All known System Multi32 games shown for reference)
  276  -------------
  277  PCB Label     CPU P0    CPU P1    CPU D0    CPU D1    SOUND     SCR0      SCR1      OBJ0      OBJ1      OBJ2      OBJ3      OBJ4      OBJ5      OBJ6      OBJ7      PCM D0    PCM D1    PCM EP/S
  278  IC#           IC37      IC40      IC36      IC39      IC31      IC3       IC11      IC14      IC22      IC15      IC23      IC10      IC18      IC38      IC41      IC1       IC2       IC30
  279  
  280  IC Type       27C2048   27C2048   -         -         27C1000   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   -         -
  281  Title Fight   EPR15388  EPR15389  -         -         EPR15384  MPR15381  MPR15382  MPR15379  MPR15380  MPR15375  MPR15376  MPR15371  MPR15372  MPR15373  MPR15374  MPR15385  -         -
  282  
  283  IC Type       27C1024   27C1024   27C4200   27C4200   27C040    8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   -
  284  OutRunners    EPR15618  EPR15619  EPR15538  EPR15539  EPR15550  MPR15548  MPR15549  MPR15540  MPR15541  MPR15542  MPR15543  MPR15544  MPR15545  MPR15546  MPR15547  MPR15551  MPR15552  -
  285  
  286  IC Type       27C2048   27C2048   -         -         27C1000   534200    534200    8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   8316200   -
  287  Hard Dunk     EPR16512  EPR16509  -         -         EPR16505  MPR16503  MPR16504  MPR16495  MPR16496  MPR16497  MPR16498  MPR16499  MPR16500  MPR16501  MPR16502  MPR16506  MPR16507  -
  288  Hard Dunk (J) EPR16508  EPR16509  -         -         EPR16505  MPR16503  MPR16504  MPR16495  MPR16496  MPR16497  MPR16498  MPR16499  MPR16500  MPR16501  MPR16502  MPR16506  MPR16507  -
  289  
  290  IC Type       27C2048   27C2048   27C4200   27C4200   27C1000   27C160    27C160    27C160    27C160    27C160    27C160    27C160    27C160    27C160    27C160    27C160    27C160    -
  291  Stadium Cross EPR15093  EPR15094  EPR15018  EPR15019  EPR15192  EPR15020  EPR15021  EPR15022  EPR15023  EPR15024  EPR15025  EPR15026  EPR15027  EPR15028  EPR15029  EPR15031  EPR15032  -
  292  
  293  
  294  *********************************************************************************************
  295  
  296  
  297  On "Super Visual Football: European Sega Cup" and "JLEAGUE" :
  298  
  299  JLEAGUE was the original code developed and released in early
  300  1994 in Japan which than got translated and updated to be
  301  released as the European Sega Cup.
  302  
  303  So, JLEAGUE is the Original.
  304  and
  305  "Super Visual Football: European Sega Cup" is the clone.
  306  
  307  My source of information?
  308  I wrote the simulation ( in assembly ) while working in the SEGA
  309  Haneda ( Tokyo ) office in 1993. We even filed a patent on the
  310  team/individual player task synchronization. After I finished JLEAGE,
  311  we handed it off to the satellite groups for localization.
  312  
  313  Cheers,
  314  
  315  MIB.42
  316  
  317  ***************************************************************************
  318  Output Notes:
  319  All outputs are hooked up properly with the following exceptions:
  320  radm:  Motors aren't hooked up, as the board isn't emulated. Also the 2nd and 3rd lamps "die" when the cabinet dip is set to deluxe.
  321      They probably get moved over to the motor driver board.
  322  
  323  radr:  See radm
  324  
  325  kokoroj: This driver isn't finished enough to flesh out the outputs, but a space has been reserved in the output functions.
  326  
  327  jpark:  Since the piston driver board isn't fully emulated, they aren't hooked up.  offset 0c of the common chip function seems to have something to do with it.
  328  
  329  orunners:  Interleaved with the dj and << >> buttons is the data the drives the lcd display.
  330  ****************************************************************************/
  331  
  332  #include "emu.h"
  333  #include "cpu/z80/z80.h"
  334  #include "cpu/v60/v60.h"
  335  #include "cpu/nec/nec.h"
  336  #include "rendlay.h"
  337  #include "includes/segas32.h"
  338  #include "machine/eeprom.h"
  339  #include "sound/2612intf.h"
  340  #include "sound/rf5c68.h"
  341  #include "sound/multipcm.h"
  342  
  343  #include "radr.lh"
  344  
  345  
  346  
  347  /*************************************
  348   *
  349   *  Constants
  350   *
  351   *************************************/
  352  
  353  #define MASTER_CLOCK        32215900
  354  #define RFC_CLOCK           XTAL_50MHz
  355  #define MULTI32_CLOCK       XTAL_40MHz
  356  
  357  #define TIMER_0_CLOCK       ((MASTER_CLOCK/2)/2048) /* confirmed */
  358  #define TIMER_1_CLOCK       ((RFC_CLOCK/16)/256)    /* confirmed */
  359  
  360  #define MAIN_IRQ_VBSTART    0
  361  #define MAIN_IRQ_VBSTOP     1
  362  #define MAIN_IRQ_SOUND      2
  363  #define MAIN_IRQ_TIMER0     3
  364  #define MAIN_IRQ_TIMER1     4
  365  
  366  #define SOUND_IRQ_YM3438    0
  367  #define SOUND_IRQ_V60       1
  368  
  369  
  370  
  371  /*************************************
  372   *
  373   *  Prototypes
  374   *
  375   *************************************/
  376  
  377  static void signal_v60_irq(running_machine &machine, int data);
  378  static void signal_sound_irq(running_machine &machine, int which);
  379  
  380  
  381  
  382  /*************************************
  383   *
  384   *  Machine init
  385   *
  386   *************************************/
  387  
  388  MACHINE_RESET_MEMBER(segas32_state,system32)
  389  {
  390      /* initialize the interrupt controller */
  391      memset(m_v60_irq_control, 0xff, sizeof(m_v60_irq_control));
  392  
  393      /* allocate timers */
  394      m_v60_irq_timer[0] = machine().device<timer_device>("v60_irq0");
  395      m_v60_irq_timer[1] = machine().device<timer_device>("v60_irq1");
  396  
  397      /* clear IRQ lines */
  398      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
  399  }
  400  
  401  
  402  
  403  /*************************************
  404   *
  405   *  Interrupt controller
  406   *
  407   *************************************/
  408  
  409  static void update_irq_state(running_machine &machine)
  410  {
  411      segas32_state *state = machine.driver_data<segas32_state>();
  412      UINT8 effirq = state->m_v60_irq_control[7] & ~state->m_v60_irq_control[6] & 0x1f;
  413      int vector;
  414  
  415      /* loop over interrupt vectors, finding the highest priority one with */
  416      /* an unmasked interrupt pending */
  417      for (vector = 0; vector < 5; vector++)
  418          if (effirq & (1 << vector))
  419          {
  420              machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, vector);
  421              break;
  422          }
  423  
  424      /* if we didn't find any, clear the interrupt line */
  425      if (vector == 5)
  426          machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
  427  }
  428  
  429  
  430  static void signal_v60_irq(running_machine &machine, int which)
  431  {
  432      segas32_state *state = machine.driver_data<segas32_state>();
  433      int i;
  434  
  435      /* see if this interrupt input is mapped to any vectors; if so, mark them */
  436      for (i = 0; i < 5; i++)
  437          if (state->m_v60_irq_control[i] == which)
  438              state->m_v60_irq_control[7] |= 1 << i;
  439      update_irq_state(machine);
  440  }
  441  
  442  
  443  TIMER_DEVICE_CALLBACK_MEMBER(segas32_state::signal_v60_irq_callback)
  444  {
  445      signal_v60_irq(machine(), param);
  446  }
  447  
  448  
  449  static void int_control_w(address_space &space, int offset, UINT8 data)
  450  {
  451      segas32_state *state = space.machine().driver_data<segas32_state>();
  452      int duration;
  453  
  454  //  logerror("%06X:int_control_w(%X) = %02X\n", space.device().safe_pc(), offset, data);
  455      switch (offset)
  456      {
  457          case 0:
  458          case 1:
  459          case 2:
  460          case 3:
  461          case 4:         /* vectors */
  462              state->m_v60_irq_control[offset] = data;
  463              break;
  464  
  465          case 5:         /* unknown */
  466              state->m_v60_irq_control[offset] = data;
  467              break;
  468  
  469          case 6:         /* mask */
  470              state->m_v60_irq_control[offset] = data;
  471              update_irq_state(space.machine());
  472              break;
  473  
  474          case 7:         /* acknowledge */
  475              state->m_v60_irq_control[offset] &= data;
  476              update_irq_state(space.machine());
  477              break;
  478  
  479          case 8:
  480          case 9:         /* timer 0 count */
  481              state->m_v60_irq_control[offset] = data;
  482              duration = state->m_v60_irq_control[8] + ((state->m_v60_irq_control[9] << 8) & 0xf00);
  483              if (duration)
  484              {
  485                  attotime period = attotime::from_hz(TIMER_0_CLOCK) * duration;
  486                  state->m_v60_irq_timer[0]->adjust(period, MAIN_IRQ_TIMER0);
  487              }
  488              break;
  489  
  490          case 10:
  491          case 11:        /* timer 1 count */
  492              state->m_v60_irq_control[offset] = data;
  493              duration = state->m_v60_irq_control[10] + ((state->m_v60_irq_control[11] << 8) & 0xf00);
  494              if (duration)
  495              {
  496                  attotime period = attotime::from_hz(TIMER_1_CLOCK) * duration;
  497                  state->m_v60_irq_timer[1]->adjust(period, MAIN_IRQ_TIMER1);
  498              }
  499              break;
  500  
  501          case 12:
  502          case 13:
  503          case 14:
  504          case 15:        /* signal IRQ to sound CPU */
  505              signal_sound_irq(space.machine(), SOUND_IRQ_V60);
  506              break;
  507      }
  508  }
  509  
  510  
  511  READ16_MEMBER(segas32_state::interrupt_control_16_r)
  512  {
  513      switch (offset)
  514      {
  515          case 8/2:
  516              /* fix me - should return timer count down value */
  517              break;
  518  
  519          case 10/2:
  520              /* fix me - should return timer count down value */
  521              break;
  522      }
  523  
  524      /* return all F's for everything except timer values */
  525      return 0xffff;
  526  }
  527  
  528  
  529  WRITE16_MEMBER(segas32_state::interrupt_control_16_w)
  530  {
  531      if (ACCESSING_BITS_0_7)
  532          int_control_w(space, offset*2+0, data);
  533      if (ACCESSING_BITS_8_15)
  534          int_control_w(space, offset*2+1, data >> 8);
  535  }
  536  
  537  
  538  READ32_MEMBER(segas32_state::interrupt_control_32_r)
  539  {
  540      switch (offset)
  541      {
  542          case 8/4:
  543              /* fix me - should return timer count down value */
  544              break;
  545      }
  546  
  547      /* return all F's for everything except timer values */
  548      return 0xffffffff;
  549  }
  550  
  551  
  552  WRITE32_MEMBER(segas32_state::interrupt_control_32_w)
  553  {
  554      if (ACCESSING_BITS_0_7)
  555          int_control_w(space, offset*4+0, data);
  556      if (ACCESSING_BITS_8_15)
  557          int_control_w(space, offset*4+1, data >> 8);
  558      if (ACCESSING_BITS_16_23)
  559          int_control_w(space, offset*4+2, data >> 16);
  560      if (ACCESSING_BITS_24_31)
  561          int_control_w(space, offset*4+3, data >> 24);
  562  }
  563  
  564  
  565  TIMER_CALLBACK_MEMBER(segas32_state::end_of_vblank_int)
  566  {
  567      signal_v60_irq(machine(), MAIN_IRQ_VBSTOP);
  568      system32_set_vblank(machine(), 0);
  569  }
  570  
  571  
  572  INTERRUPT_GEN_MEMBER(segas32_state::start_of_vblank_int)
  573  {
  574      signal_v60_irq(machine(), MAIN_IRQ_VBSTART);
  575      system32_set_vblank(machine(), 1);
  576      machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), timer_expired_delegate(FUNC(segas32_state::end_of_vblank_int),this));
  577      if (m_system32_prot_vblank)
  578          (*m_system32_prot_vblank)(&device);
  579  }
  580  
  581  
  582  
  583  /*************************************
  584   *
  585   *  I/O chip
  586   *
  587   *************************************/
  588  
  589  static UINT16 common_io_chip_r(address_space &space, int which, offs_t offset, UINT16 mem_mask)
  590  {
  591      segas32_state *state = space.machine().driver_data<segas32_state>();
  592      static const char *const portnames[2][8] =
  593              {
  594                  { "P1_A", "P2_A", "PORTC_A", "PORTD_A", "SERVICE12_A", "SERVICE34_A", "PORTG_A", "PORTH_A" },
  595                  { "P1_B", "P2_B", "PORTC_B", "PORTD_B", "SERVICE12_B", "SERVICE34_B", "PORTG_B", "PORTH_B" },
  596              };
  597      offset &= 0x1f/2;
  598  
  599      switch (offset)
  600      {
  601          /* I/O ports */
  602          case 0x00/2:
  603          case 0x02/2:
  604          case 0x04/2:
  605          case 0x06/2:
  606          case 0x08/2:
  607          case 0x0a/2:
  608          case 0x0c/2:
  609          case 0x0e/2:
  610              /* if the port is configured as an output, return the last thing written */
  611              if (state->m_misc_io_data[which][0x1e/2] & (1 << offset))
  612                  return state->m_misc_io_data[which][offset];
  613  
  614              /* otherwise, return an input port */
  615              return state->ioport(portnames[which][offset])->read_safe(0xffff);
  616  
  617          /* 'SEGA' protection */
  618          case 0x10/2:
  619              return 'S';
  620          case 0x12/2:
  621              return 'E';
  622          case 0x14/2:
  623              return 'G';
  624          case 0x16/2:
  625              return 'A';
  626  
  627          /* CNT register & mirror */
  628          case 0x18/2:
  629          case 0x1c/2:
  630              return state->m_misc_io_data[which][0x1c/2];
  631  
  632          /* port direction register & mirror */
  633          case 0x1a/2:
  634          case 0x1e/2:
  635              return state->m_misc_io_data[which][0x1e/2];
  636      }
  637      return 0xffff;
  638  }
  639  
  640  
  641  static void common_io_chip_w(address_space &space, int which, offs_t offset, UINT16 data, UINT16 mem_mask)
  642  {
  643      segas32_state *state = space.machine().driver_data<segas32_state>();
  644  //  UINT8 old;
  645  
  646      /* only LSB matters */
  647      if (!ACCESSING_BITS_0_7)
  648          return;
  649  
  650      /* generic implementation */
  651      offset &= 0x1f/2;
  652  //  old = state->m_misc_io_data[which][offset];
  653      state->m_misc_io_data[which][offset] = data;
  654  
  655      switch (offset)
  656      {
  657          /* I/O ports */
  658          case 0x00/2:
  659          case 0x02/2:
  660          case 0x04/2:
  661          case 0x08/2:
  662          case 0x0a/2:
  663          case 0x0c/2:
  664              if (state->m_sw2_output)
  665                  state->m_sw2_output(which, data);
  666              break;
  667  
  668          /* miscellaneous output */
  669          case 0x06/2:
  670              if (state->m_sw1_output)
  671                  state->m_sw1_output(which, data);
  672  
  673              if (which == 0)
  674              {
  675                  eeprom_device *eeprom = space.machine().device<eeprom_device>("eeprom");
  676                  eeprom->write_bit(data & 0x80);
  677                  eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
  678                  eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
  679              }
  680  /*            coin_lockout_w(space.machine(), 1 + 2*which, data & 0x08);
  681              coin_lockout_w(space.machine(), 0 + 2*which, data & 0x04);*/
  682              coin_counter_w(space.machine(), 1 + 2*which, data & 0x02);
  683              coin_counter_w(space.machine(), 0 + 2*which, data & 0x01);
  684              break;
  685  
  686          /* tile banking */
  687          case 0x0e/2:
  688              if (which == 0)
  689                  state->m_system32_tilebank_external = data;
  690              else
  691              {
  692                  /* multi-32 EEPROM access */
  693                  eeprom_device *eeprom = space.machine().device<eeprom_device>("eeprom");
  694                  eeprom->write_bit(data & 0x80);
  695                  eeprom->set_cs_line((data & 0x20) ? CLEAR_LINE : ASSERT_LINE);
  696                  eeprom->set_clock_line((data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
  697              }
  698              break;
  699  
  700          /* CNT register */
  701          case 0x1c/2:
  702              state->m_system32_displayenable[which] = (data & 0x02);
  703              if (which == 0)
  704                  space.machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
  705              break;
  706      }
  707  }
  708  
  709  
  710  READ16_MEMBER(segas32_state::io_chip_r)
  711  {
  712      return common_io_chip_r(space, 0, offset, mem_mask);
  713  }
  714  
  715  
  716  WRITE16_MEMBER(segas32_state::io_chip_w)
  717  {
  718      common_io_chip_w(space, 0, offset, data, mem_mask);
  719  }
  720  
  721  
  722  READ32_MEMBER(segas32_state::io_chip_0_r)
  723  {
  724      return common_io_chip_r(space, 0, offset*2+0, mem_mask) |
  725              (common_io_chip_r(space, 0, offset*2+1, mem_mask >> 16) << 16);
  726  }
  727  
  728  
  729  WRITE32_MEMBER(segas32_state::io_chip_0_w)
  730  {
  731      if (ACCESSING_BITS_0_15)
  732          common_io_chip_w(space, 0, offset*2+0, data, mem_mask);
  733      if (ACCESSING_BITS_16_31)
  734          common_io_chip_w(space, 0, offset*2+1, data >> 16, mem_mask >> 16);
  735  }
  736  
  737  
  738  READ32_MEMBER(segas32_state::io_chip_1_r)
  739  {
  740      return common_io_chip_r(space, 1, offset*2+0, mem_mask) |
  741              (common_io_chip_r(space, 1, offset*2+1, mem_mask >> 16) << 16);
  742  }
  743  
  744  
  745  WRITE32_MEMBER(segas32_state::io_chip_1_w)
  746  {
  747      if (ACCESSING_BITS_0_15)
  748          common_io_chip_w(space, 1, offset*2+0, data, mem_mask);
  749      if (ACCESSING_BITS_16_31)
  750          common_io_chip_w(space, 1, offset*2+1, data >> 16, mem_mask >> 16);
  751  }
  752  
  753  
  754  
  755  /*************************************
  756   *
  757   *  I/O expansion range
  758   *
  759   *************************************/
  760  
  761  READ16_MEMBER(segas32_state::io_expansion_r)
  762  {
  763      if (!m_custom_io_r[0].isnull())
  764          return (m_custom_io_r[0])(space, offset, mem_mask);
  765      else
  766          logerror("%06X:io_expansion_r(%X)\n", space.device().safe_pc(), offset);
  767      return 0xffff;
  768  }
  769  
  770  
  771  WRITE16_MEMBER(segas32_state::io_expansion_w)
  772  {
  773      /* only LSB matters */
  774      if (!ACCESSING_BITS_0_7)
  775      return;
  776  
  777      if (!m_custom_io_w[0].isnull())
  778          (m_custom_io_w[0])(space, offset, data, mem_mask);
  779      else
  780          logerror("%06X:io_expansion_w(%X) = %02X\n", space.device().safe_pc(), offset, data & 0xff);
  781  }
  782  
  783  
  784  READ32_MEMBER(segas32_state::io_expansion_0_r)
  785  {
  786      if (!m_custom_io_r[0].isnull())
  787          return (m_custom_io_r[0])(space, offset*2+0, mem_mask) |
  788                  ((m_custom_io_r[0])(space, offset*2+1, mem_mask >> 16) << 16);
  789      else
  790          logerror("%06X:io_expansion_r(%X)\n", space.device().safe_pc(), offset);
  791      return 0xffffffff;
  792  }
  793  
  794  
  795  WRITE32_MEMBER(segas32_state::io_expansion_0_w)
  796  {
  797      /* only LSB matters */
  798  
  799  
  800      if (ACCESSING_BITS_0_7)
  801      {
  802          /* harddunk uses bits 4,5 for output lamps */
  803          if (m_sw3_output)
  804              m_sw3_output(0, data & 0xff);
  805  
  806          if (!m_custom_io_w[0].isnull())
  807              (m_custom_io_w[0])(space, offset*2+0, data, mem_mask);
  808          else
  809              logerror("%06X:io_expansion_w(%X) = %02X\n", space.device().safe_pc(), offset, data & 0xff);
  810  
  811      }
  812      if (ACCESSING_BITS_16_23)
  813      {
  814          if (!m_custom_io_w[0].isnull())
  815              (m_custom_io_w[0])(space, offset*2+1, data >> 16, mem_mask >> 16);
  816          else
  817              logerror("%06X:io_expansion_w(%X) = %02X\n", space.device().safe_pc(), offset, data & 0xff);
  818      }
  819  }
  820  
  821  
  822  READ32_MEMBER(segas32_state::io_expansion_1_r)
  823  {
  824      if (!m_custom_io_r[1].isnull())
  825          return (m_custom_io_r[1])(space, offset*2+0, mem_mask) |
  826                  ((m_custom_io_r[1])(space, offset*2+1, mem_mask >> 16) << 16);
  827      else
  828          logerror("%06X:io_expansion_r(%X)\n", space.device().safe_pc(), offset);
  829      return 0xffffffff;
  830  }
  831  
  832  
  833  WRITE32_MEMBER(segas32_state::io_expansion_1_w)
  834  {
  835      /* only LSB matters */
  836      if (ACCESSING_BITS_0_7)
  837      {
  838          if (!m_custom_io_w[1].isnull())
  839              (m_custom_io_w[1])(space, offset*2+0, data, mem_mask);
  840          else
  841              logerror("%06X:io_expansion_w(%X) = %02X\n", space.device().safe_pc(), offset, data & 0xff);
  842      }
  843      if (ACCESSING_BITS_16_23)
  844      {
  845          if (!m_custom_io_w[1].isnull())
  846              (m_custom_io_w[1])(space, offset*2+1, data >> 16, mem_mask >> 16);
  847          else
  848              logerror("%06X:io_expansion_w(%X) = %02X\n", space.device().safe_pc(), offset, data & 0xff);
  849      }
  850  }
  851  
  852  
  853  
  854  /*************************************
  855   *
  856   *  Game-specific custom I/O
  857   *
  858   *************************************/
  859  
  860  READ16_MEMBER(segas32_state::analog_custom_io_r)
  861  {
  862      UINT16 result;
  863      switch (offset)
  864      {
  865          case 0x10/2:
  866          case 0x12/2:
  867          case 0x14/2:
  868          case 0x16/2:
  869              result = m_analog_value[offset & 3] | 0x7f;
  870              m_analog_value[offset & 3] <<= 1;
  871              return result;
  872      }
  873      logerror("%06X:unknown analog_custom_io_r(%X) & %04X\n", space.device().safe_pc(), offset*2, mem_mask);
  874      return 0xffff;
  875  }
  876  
  877  
  878  WRITE16_MEMBER(segas32_state::analog_custom_io_w)
  879  {
  880      static const char *const names[] = { "ANALOG1", "ANALOG2", "ANALOG3", "ANALOG4" };
  881      switch (offset)
  882      {
  883          case 0x10/2:
  884          case 0x12/2:
  885          case 0x14/2:
  886          case 0x16/2:
  887              m_analog_value[offset & 3] = ioport(names[offset & 3])->read_safe(0);
  888              return;
  889      }
  890      logerror("%06X:unknown analog_custom_io_w(%X) = %04X & %04X\n", space.device().safe_pc(), offset*2, data, mem_mask);
  891  }
  892  
  893  
  894  READ16_MEMBER(segas32_state::extra_custom_io_r)
  895  {
  896      static const char *const names[] = { "EXTRA1", "EXTRA2", "EXTRA3", "EXTRA4" };
  897      switch (offset)
  898      {
  899          case 0x20/2:
  900          case 0x22/2:
  901          case 0x24/2:
  902          case 0x26/2:
  903              return ioport(names[offset & 3])->read_safe(0xffff);
  904      }
  905  
  906      logerror("%06X:unknown extra_custom_io_r(%X) & %04X\n", space.device().safe_pc(), offset*2, mem_mask);
  907      return 0xffff;
  908  }
  909  
  910  
  911  WRITE16_MEMBER(segas32_state::orunners_custom_io_w)
  912  {
  913      static const char *const names[] = { "ANALOG1", "ANALOG2", "ANALOG3", "ANALOG4", "ANALOG5", "ANALOG6", "ANALOG7", "ANALOG8" };
  914      switch (offset)
  915      {
  916          case 0x10/2:
  917          case 0x12/2:
  918          case 0x14/2:
  919          case 0x16/2:
  920              m_analog_value[offset & 3] = ioport(names[m_analog_bank * 4 + (offset & 3)])->read_safe(0);
  921              return;
  922  
  923          case 0x20/2:
  924              m_analog_bank = data & 1;
  925              return;
  926      }
  927      logerror("%06X:unknown orunners_custom_io_w(%X) = %04X & %04X\n", space.device().safe_pc(), offset*2, data, mem_mask);
  928  }
  929  
  930  
  931  READ16_MEMBER(segas32_state::sonic_custom_io_r)
  932  {
  933      static const char *const names[] = { "TRACKX1", "TRACKY1", "TRACKX2", "TRACKY2", "TRACKX3", "TRACKY3" };
  934  
  935      switch (offset)
  936      {
  937          case 0x00/2:
  938          case 0x04/2:
  939          case 0x08/2:
  940          case 0x0c/2:
  941          case 0x10/2:
  942          case 0x14/2:
  943              return (UINT8)(ioport(names[offset/2])->read() - m_sonic_last[offset/2]);
  944      }
  945  
  946      logerror("%06X:unknown sonic_custom_io_r(%X) & %04X\n", space.device().safe_pc(), offset*2, mem_mask);
  947      return 0xffff;
  948  }
  949  
  950  
  951  WRITE16_MEMBER(segas32_state::sonic_custom_io_w)
  952  {
  953      static const char *const names[] = { "TRACKX1", "TRACKY1", "TRACKX2", "TRACKY2", "TRACKX3", "TRACKY3" };
  954  
  955      switch (offset)
  956      {
  957          case 0x00/2:
  958          case 0x08/2:
  959          case 0x10/2:
  960              m_sonic_last[offset/2 + 0] = ioport(names[offset/2 + 0])->read();
  961              m_sonic_last[offset/2 + 1] = ioport(names[offset/2 + 1])->read();
  962              return;
  963      }
  964  
  965      logerror("%06X:unknown sonic_custom_io_w(%X) = %04X & %04X\n", space.device().safe_pc(), offset*2, data, mem_mask);
  966  }
  967  
  968  
  969  
  970  /*************************************
  971   *
  972   *  Random number generator
  973   *
  974   *************************************/
  975  
  976  WRITE16_MEMBER(segas32_state::random_number_16_w)
  977  {
  978  //  mame_printf_debug("%06X:random_seed_w(%04X) = %04X & %04X\n", space.device().safe_pc(), offset*2, data, mem_mask);
  979  }
  980  
  981  READ16_MEMBER(segas32_state::random_number_16_r)
  982  {
  983      return machine().rand();
  984  }
  985  
  986  WRITE32_MEMBER(segas32_state::random_number_32_w)
  987  {
  988  //  mame_printf_debug("%06X:random_seed_w(%04X) = %04X & %04X\n", space.device().safe_pc(), offset*2, data, mem_mask);
  989  }
  990  
  991  READ32_MEMBER(segas32_state::random_number_32_r)
  992  {
  993      return machine().rand() ^ (machine().rand() << 16);
  994  }
  995  
  996  
  997  
  998  /*************************************
  999   *
 1000   *  Sound communications
 1001   *
 1002   *************************************/
 1003  
 1004  READ16_MEMBER(segas32_state::shared_ram_16_r)
 1005  {
 1006      return m_z80_shared_ram[offset*2+0] | (m_z80_shared_ram[offset*2+1] << 8);
 1007  }
 1008  
 1009  
 1010  WRITE16_MEMBER(segas32_state::shared_ram_16_w)
 1011  {
 1012      if (ACCESSING_BITS_0_7)
 1013          m_z80_shared_ram[offset*2+0] = data;
 1014      if (ACCESSING_BITS_8_15)
 1015          m_z80_shared_ram[offset*2+1] = data >> 8;
 1016  }
 1017  
 1018  
 1019  READ32_MEMBER(segas32_state::shared_ram_32_r)
 1020  {
 1021      return m_z80_shared_ram[offset*4+0] | (m_z80_shared_ram[offset*4+1] << 8) |
 1022              (m_z80_shared_ram[offset*4+2] << 16) | (m_z80_shared_ram[offset*4+3] << 24);
 1023  }
 1024  
 1025  
 1026  WRITE32_MEMBER(segas32_state::shared_ram_32_w)
 1027  {
 1028      if (ACCESSING_BITS_0_7)
 1029          m_z80_shared_ram[offset*4+0] = data;
 1030      if (ACCESSING_BITS_8_15)
 1031          m_z80_shared_ram[offset*4+1] = data >> 8;
 1032      if (ACCESSING_BITS_16_23)
 1033          m_z80_shared_ram[offset*4+2] = data >> 16;
 1034      if (ACCESSING_BITS_24_31)
 1035          m_z80_shared_ram[offset*4+3] = data >> 24;
 1036  }
 1037  
 1038  
 1039  
 1040  /*************************************
 1041   *
 1042   *  Sound interrupt controller
 1043   *
 1044   *************************************/
 1045  
 1046  static void update_sound_irq_state(running_machine &machine)
 1047  {
 1048      segas32_state *state = machine.driver_data<segas32_state>();
 1049      UINT8 effirq = state->m_sound_irq_input & ~state->m_sound_irq_control[3] & 0x07;
 1050      int vector;
 1051  
 1052      /* loop over interrupt vectors, finding the highest priority one with */
 1053      /* an unmasked interrupt pending */
 1054      for (vector = 0; vector < 3; vector++)
 1055          if (effirq & (1 << vector))
 1056          {
 1057              machine.device("soundcpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 2 * vector);
 1058              break;
 1059          }
 1060  
 1061      /* if we didn't find any, clear the interrupt line */
 1062      if (vector == 3)
 1063          machine.device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
 1064  }
 1065  
 1066  
 1067  static void signal_sound_irq(running_machine &machine, int which)
 1068  {
 1069      segas32_state *state = machine.driver_data<segas32_state>();
 1070      int i;
 1071  
 1072      /* see if this interrupt input is mapped to any vectors; if so, mark them */
 1073      for (i = 0; i < 3; i++)
 1074          if (state->m_sound_irq_control[i] == which)
 1075              state->m_sound_irq_input |= 1 << i;
 1076      update_sound_irq_state(machine);
 1077  }
 1078  
 1079  
 1080  static void clear_sound_irq(running_machine &machine, int which)
 1081  {
 1082      segas32_state *state = machine.driver_data<segas32_state>();
 1083      int i;
 1084      for (i = 0; i < 3; i++)
 1085          if (state->m_sound_irq_control[i] == which)
 1086              state->m_sound_irq_input &= ~(1 << i);
 1087      update_sound_irq_state(machine);
 1088  }
 1089  
 1090  
 1091  WRITE8_MEMBER(segas32_state::sound_int_control_lo_w)
 1092  {
 1093      /* odd offsets are interrupt acks */
 1094      if (offset & 1)
 1095      {
 1096          m_sound_irq_input &= data;
 1097          update_sound_irq_state(machine());
 1098      }
 1099  
 1100      /* high offsets signal an IRQ to the v60 */
 1101      if (offset & 4)
 1102          signal_v60_irq(machine(), MAIN_IRQ_SOUND);
 1103  }
 1104  
 1105  
 1106  WRITE8_MEMBER(segas32_state::sound_int_control_hi_w)
 1107  {
 1108      m_sound_irq_control[offset] = data;
 1109      update_sound_irq_state(machine());
 1110  }
 1111  
 1112  
 1113  static void ym3438_irq_handler(device_t *device, int state)
 1114  {
 1115      if (state)
 1116          signal_sound_irq(device->machine(), SOUND_IRQ_YM3438);
 1117      else
 1118          clear_sound_irq(device->machine(), SOUND_IRQ_YM3438);
 1119  }
 1120  
 1121  
 1122  
 1123  /*************************************
 1124   *
 1125   *  Sound banking
 1126   *
 1127   *************************************/
 1128  
 1129  WRITE8_MEMBER(segas32_state::sound_bank_lo_w)
 1130  {
 1131      m_sound_bank = (m_sound_bank & ~0x3f) | (data & 0x3f);
 1132      membank("bank1")->set_base(machine().root_device().memregion("soundcpu")->base() + 0x100000 + 0x2000 * m_sound_bank);
 1133  }
 1134  
 1135  
 1136  WRITE8_MEMBER(segas32_state::sound_bank_hi_w)
 1137  {
 1138      m_sound_bank = (m_sound_bank & 0x3f) | ((data & 0x04) << 4) | ((data & 0x03) << 7);
 1139      membank("bank1")->set_base(machine().root_device().memregion("soundcpu")->base() + 0x100000 + 0x2000 * m_sound_bank);
 1140  }
 1141  
 1142  
 1143  WRITE8_MEMBER(segas32_state::multipcm_bank_w)
 1144  {
 1145      device_t *device = machine().device("sega");
 1146      multipcm_set_bank(device, 0x80000 * ((data >> 3) & 7), 0x80000 * (data & 7));
 1147  }
 1148  
 1149  
 1150  WRITE8_MEMBER(segas32_state::scross_bank_w)
 1151  {
 1152      multipcm_device *multipcm = machine().device<multipcm_device>("sega");
 1153      multipcm_set_bank(multipcm, 0x80000 * (data & 7), 0x80000 * (data & 7));
 1154  }
 1155  
 1156  
 1157  
 1158  /*************************************
 1159   *
 1160   *  Sound hack (not protection)
 1161   *
 1162   *************************************/
 1163  
 1164  READ8_MEMBER(segas32_state::sound_dummy_r)
 1165  {
 1166      return m_sound_dummy_value;
 1167  }
 1168  
 1169  
 1170  WRITE8_MEMBER(segas32_state::sound_dummy_w)
 1171  {
 1172      m_sound_dummy_value = data;
 1173  }
 1174  
 1175  
 1176  
 1177  /*************************************
 1178   *
 1179   *  Main CPU memory handlers
 1180   *
 1181   *************************************/
 1182  
 1183  static ADDRESS_MAP_START( system32_map, AS_PROGRAM, 16, segas32_state )
 1184      ADDRESS_MAP_UNMAP_HIGH
 1185      AM_RANGE(0x000000, 0x1fffff) AM_ROM
 1186      AM_RANGE(0x200000, 0x20ffff) AM_MIRROR(0x0f0000) AM_RAM AM_SHARE("workram")
 1187      AM_RANGE(0x300000, 0x31ffff) AM_MIRROR(0x0e0000) AM_READWRITE(system32_videoram_r, system32_videoram_w) AM_SHARE("videoram")
 1188      AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x0e0000) AM_READWRITE(system32_spriteram_r, system32_spriteram_w) AM_SHARE("spriteram")
 1189      AM_RANGE(0x500000, 0x50000f) AM_MIRROR(0x0ffff0) AM_READWRITE(system32_sprite_control_r, system32_sprite_control_w)
 1190      AM_RANGE(0x600000, 0x60ffff) AM_MIRROR(0x0e0000) AM_READWRITE(system32_paletteram_r, system32_paletteram_w) AM_SHARE("paletteram.0")
 1191      AM_RANGE(0x610000, 0x61007f) AM_MIRROR(0x0eff80) AM_READWRITE(system32_mixer_r, system32_mixer_w)
 1192      AM_RANGE(0x700000, 0x701fff) AM_MIRROR(0x0fe000) AM_READWRITE(shared_ram_16_r, shared_ram_16_w)
 1193      AM_RANGE(0xc00000, 0xc0001f) AM_MIRROR(0x0fff80) AM_READWRITE(io_chip_r, io_chip_w)
 1194      AM_RANGE(0xc00040, 0xc0007f) AM_MIRROR(0x0fff80) AM_READWRITE(io_expansion_r, io_expansion_w)
 1195      AM_RANGE(0xd00000, 0xd0000f) AM_MIRROR(0x07fff0) AM_READWRITE(interrupt_control_16_r, interrupt_control_16_w)
 1196      AM_RANGE(0xd80000, 0xdfffff) AM_READWRITE(random_number_16_r, random_number_16_w)
 1197      AM_RANGE(0xf00000, 0xffffff) AM_ROM AM_REGION("maincpu", 0)
 1198  ADDRESS_MAP_END
 1199  
 1200  
 1201  static ADDRESS_MAP_START( multi32_map, AS_PROGRAM, 32, segas32_state )
 1202      ADDRESS_MAP_UNMAP_HIGH
 1203      ADDRESS_MAP_GLOBAL_MASK(0xffffff)
 1204      AM_RANGE(0x000000, 0x1fffff) AM_ROM
 1205      AM_RANGE(0x200000, 0x21ffff) AM_MIRROR(0x0e0000) AM_RAM
 1206      AM_RANGE(0x300000, 0x31ffff) AM_MIRROR(0x0e0000) AM_READWRITE(multi32_videoram_r, multi32_videoram_w) AM_SHARE("videoram")
 1207      AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x0e0000) AM_READWRITE(multi32_spriteram_r, multi32_spriteram_w) AM_SHARE("spriteram")
 1208      AM_RANGE(0x500000, 0x50000f) AM_MIRROR(0x0ffff0) AM_READWRITE(multi32_sprite_control_r, multi32_sprite_control_w)
 1209      AM_RANGE(0x600000, 0x60ffff) AM_MIRROR(0x060000) AM_READWRITE(multi32_paletteram_0_r, multi32_paletteram_0_w) AM_SHARE("paletteram.0")
 1210      AM_RANGE(0x610000, 0x61007f) AM_MIRROR(0x06ff80) AM_WRITE(multi32_mixer_0_w)
 1211      AM_RANGE(0x680000, 0x68ffff) AM_MIRROR(0x060000) AM_READWRITE(multi32_paletteram_1_r, multi32_paletteram_1_w) AM_SHARE("paletteram.1")
 1212      AM_RANGE(0x690000, 0x69007f) AM_MIRROR(0x06ff80) AM_WRITE(multi32_mixer_1_w)
 1213      AM_RANGE(0x700000, 0x701fff) AM_MIRROR(0x0fe000) AM_READWRITE(shared_ram_32_r, shared_ram_32_w)
 1214      AM_RANGE(0xc00000, 0xc0001f) AM_MIRROR(0x07ff80) AM_READWRITE(io_chip_0_r, io_chip_0_w)
 1215      AM_RANGE(0xc00040, 0xc0007f) AM_MIRROR(0x07ff80) AM_READWRITE(io_expansion_0_r, io_expansion_0_w)
 1216      AM_RANGE(0xc80000, 0xc8001f) AM_MIRROR(0x07ff80) AM_READWRITE(io_chip_1_r, io_chip_1_w)
 1217      AM_RANGE(0xc80040, 0xc8007f) AM_MIRROR(0x07ff80) AM_READWRITE(io_expansion_1_r, io_expansion_1_w)
 1218      AM_RANGE(0xd00000, 0xd0000f) AM_MIRROR(0x07fff0) AM_READWRITE(interrupt_control_32_r, interrupt_control_32_w)
 1219      AM_RANGE(0xd80000, 0xdfffff) AM_READWRITE(random_number_32_r, random_number_32_w)
 1220      AM_RANGE(0xf00000, 0xffffff) AM_ROM AM_REGION("maincpu", 0)
 1221  ADDRESS_MAP_END
 1222  
 1223  
 1224  
 1225  /*************************************
 1226   *
 1227   *  Sound CPU memory handlers
 1228   *
 1229   *************************************/
 1230  
 1231  static ADDRESS_MAP_START( system32_sound_map, AS_PROGRAM, 8, segas32_state )
 1232      AM_RANGE(0x0000, 0x9fff) AM_ROM AM_REGION("soundcpu", 0x100000)
 1233      AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
 1234      AM_RANGE(0xc000, 0xc00f) AM_MIRROR(0x0ff0) AM_DEVWRITE_LEGACY("rfsnd", rf5c68_w)
 1235      AM_RANGE(0xd000, 0xdfff) AM_DEVREADWRITE_LEGACY("rfsnd", rf5c68_mem_r, rf5c68_mem_w)
 1236      AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("z80_shared_ram")
 1237  ADDRESS_MAP_END
 1238  
 1239  static ADDRESS_MAP_START( system32_sound_portmap, AS_IO, 8, segas32_state )
 1240      ADDRESS_MAP_UNMAP_HIGH
 1241      ADDRESS_MAP_GLOBAL_MASK(0xff)
 1242      AM_RANGE(0x80, 0x83) AM_MIRROR(0x0c) AM_DEVREADWRITE_LEGACY("ym1", ym3438_r, ym3438_w)
 1243      AM_RANGE(0x90, 0x93) AM_MIRROR(0x0c) AM_DEVREADWRITE_LEGACY("ym2", ym3438_r, ym3438_w)
 1244      AM_RANGE(0xa0, 0xaf) AM_WRITE(sound_bank_lo_w)
 1245      AM_RANGE(0xb0, 0xbf) AM_WRITE(sound_bank_hi_w)
 1246      AM_RANGE(0xc0, 0xcf) AM_WRITE(sound_int_control_lo_w)
 1247      AM_RANGE(0xd0, 0xd3) AM_MIRROR(0x04) AM_WRITE(sound_int_control_hi_w)
 1248      AM_RANGE(0xf1, 0xf1) AM_READWRITE(sound_dummy_r, sound_dummy_w)
 1249  ADDRESS_MAP_END
 1250  
 1251  
 1252  static ADDRESS_MAP_START( multi32_sound_map, AS_PROGRAM, 8, segas32_state )
 1253      AM_RANGE(0x0000, 0x9fff) AM_ROM AM_REGION("soundcpu", 0x100000)
 1254      AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
 1255      AM_RANGE(0xc000, 0xdfff) AM_DEVREADWRITE_LEGACY("sega", multipcm_r, multipcm_w)
 1256      AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("z80_shared_ram")
 1257  ADDRESS_MAP_END
 1258  
 1259  static ADDRESS_MAP_START( multi32_sound_portmap, AS_IO, 8, segas32_state )
 1260      ADDRESS_MAP_UNMAP_HIGH
 1261      ADDRESS_MAP_GLOBAL_MASK(0xff)
 1262      AM_RANGE(0x80, 0x83) AM_MIRROR(0x0c) AM_DEVREADWRITE_LEGACY("ymsnd", ym3438_r, ym3438_w)
 1263      AM_RANGE(0xa0, 0xaf) AM_WRITE(sound_bank_lo_w)
 1264      AM_RANGE(0xb0, 0xbf) AM_WRITE(multipcm_bank_w)
 1265      AM_RANGE(0xc0, 0xcf) AM_WRITE(sound_int_control_lo_w)
 1266      AM_RANGE(0xd0, 0xd3) AM_MIRROR(0x04) AM_WRITE(sound_int_control_hi_w)
 1267      AM_RANGE(0xf1, 0xf1) AM_READWRITE(sound_dummy_r, sound_dummy_w)
 1268  ADDRESS_MAP_END
 1269  
 1270  
 1271  
 1272  /*************************************
 1273   *
 1274   *  GA2 Protection CPU memory handlers
 1275   *
 1276   *************************************/
 1277  
 1278  static ADDRESS_MAP_START( ga2_v25_map, AS_PROGRAM, 8, segas32_state )
 1279      AM_RANGE(0x00000, 0x0ffff) AM_ROM AM_REGION("mcu", 0)
 1280      AM_RANGE(0x10000, 0x1ffff) AM_RAM AM_SHARE("ga2_dpram")
 1281      AM_RANGE(0xf0000, 0xfffff) AM_ROM AM_REGION("mcu", 0)
 1282  ADDRESS_MAP_END
 1283  
 1284  
 1285  
 1286  /*************************************
 1287   *
 1288   *  Generic port definitions
 1289   *
 1290   *************************************/
 1291  
 1292  static INPUT_PORTS_START( system32_generic )
 1293      PORT_START("P1_A")
 1294      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
 1295      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
 1296      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
 1297      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1298      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
 1299      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
 1300      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
 1301      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
 1302  
 1303      PORT_START("P2_A")
 1304      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
 1305      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
 1306      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
 1307      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1308      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
 1309      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
 1310      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
 1311      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
 1312  
 1313      PORT_START("PORTC_A")
 1314      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1315  
 1316      PORT_START("PORTD_A")
 1317      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1318  
 1319      PORT_START("SERVICE12_A")
 1320      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
 1321      PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW )
 1322      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 )
 1323      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
 1324      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
 1325      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
 1326      PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1327  
 1328      PORT_START("SERVICE34_A")
 1329      PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1330      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE3 )   /* sometimes mirrors SERVICE1 */
 1331      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE4 )   /* tends to also work as a test switch */
 1332      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1333      PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
 1334  
 1335      PORT_START("PORTG_A")
 1336      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1337  
 1338      PORT_START("PORTH_A")
 1339      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1340  INPUT_PORTS_END
 1341  
 1342  
 1343  static INPUT_PORTS_START( multi32_generic )
 1344      PORT_INCLUDE( system32_generic )
 1345  
 1346      PORT_START("P1_B")
 1347      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1348  
 1349      PORT_START("P2_B")
 1350      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1351  
 1352      PORT_START("PORTC_B")
 1353      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1354  
 1355      PORT_START("PORTD_B")
 1356      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1357  
 1358      PORT_START("SERVICE12_B")
 1359      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2 )
 1360      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1361      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
 1362      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1363      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START2 )
 1364      PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1365  
 1366      PORT_START("SERVICE34_B")
 1367      PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED )
 1368      PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
 1369  
 1370      PORT_START("PORTG_B")
 1371      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1372  
 1373      PORT_START("PORTH_B")
 1374      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1375  INPUT_PORTS_END
 1376  
 1377  
 1378  
 1379  /*************************************
 1380   *
 1381   *  Game-specific port definitions
 1382   *
 1383   *************************************/
 1384  
 1385  static INPUT_PORTS_START( arescue )
 1386      PORT_INCLUDE( system32_generic )
 1387  
 1388      PORT_MODIFY("P1_A")
 1389      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 1390  
 1391      PORT_MODIFY("P2_A")
 1392      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1393  
 1394      PORT_MODIFY("SERVICE12_A")
 1395      PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNUSED )
 1396  
 1397      PORT_MODIFY("SERVICE34_A")
 1398      PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
 1399  
 1400      PORT_START("ANALOG1")
 1401      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_REVERSE
 1402  
 1403      PORT_START("ANALOG2")
 1404      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1405  
 1406      PORT_START("ANALOG3")
 1407      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Z ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1408  INPUT_PORTS_END
 1409  
 1410  
 1411  static INPUT_PORTS_START( alien3 )
 1412      PORT_INCLUDE( system32_generic )
 1413  
 1414      PORT_MODIFY("P1_A")
 1415      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 1416  
 1417      PORT_MODIFY("P2_A")
 1418      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 1419  
 1420      PORT_MODIFY("SERVICE12_A")
 1421      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
 1422      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
 1423      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 )
 1424      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
 1425  
 1426      PORT_START("ANALOG1")
 1427      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
 1428  
 1429      PORT_START("ANALOG2")
 1430      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
 1431  
 1432      PORT_START("ANALOG3")
 1433      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(2)
 1434  
 1435      PORT_START("ANALOG4")
 1436      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(2)
 1437  INPUT_PORTS_END
 1438  
 1439  
 1440  static INPUT_PORTS_START( arabfgt )
 1441      PORT_INCLUDE( system32_generic )
 1442  
 1443      PORT_MODIFY("P1_A")
 1444      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 1445  
 1446      PORT_MODIFY("P2_A")
 1447      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 1448  
 1449      PORT_START("EXTRA1")
 1450      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
 1451      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
 1452      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 1453      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
 1454      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
 1455      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
 1456      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
 1457  
 1458      PORT_START("EXTRA2")
 1459      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
 1460      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
 1461      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 1462      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
 1463      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
 1464      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
 1465      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
 1466  
 1467      PORT_START("EXTRA3")
 1468      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
 1469      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START4 )
 1470      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 1471  INPUT_PORTS_END
 1472  
 1473  static INPUT_PORTS_START( arabfgtu )
 1474      PORT_INCLUDE( arabfgt )
 1475  
 1476      PORT_MODIFY("SERVICE12_A")
 1477      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 )
 1478      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 )
 1479  
 1480      PORT_MODIFY("EXTRA3")
 1481      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
 1482      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
 1483  INPUT_PORTS_END
 1484  
 1485  
 1486  static INPUT_PORTS_START( brival )
 1487      PORT_INCLUDE( system32_generic )
 1488  
 1489      PORT_MODIFY("P1_A")
 1490      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1491  
 1492      PORT_MODIFY("P2_A")
 1493      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1494  
 1495      PORT_START("EXTRA2")
 1496      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
 1497      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
 1498      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
 1499      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1500      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
 1501      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
 1502      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1503      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
 1504  INPUT_PORTS_END
 1505  
 1506  
 1507  static INPUT_PORTS_START( darkedge )
 1508      PORT_INCLUDE( system32_generic )
 1509  
 1510      PORT_MODIFY("P1_A")
 1511      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
 1512      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
 1513      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
 1514  
 1515      PORT_MODIFY("P2_A")
 1516      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
 1517      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
 1518      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
 1519  
 1520      PORT_START("EXTRA2")
 1521      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
 1522      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
 1523      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
 1524      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1525      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
 1526      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
 1527      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1528      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
 1529  INPUT_PORTS_END
 1530  
 1531  
 1532  static INPUT_PORTS_START( dbzvrvs )
 1533      PORT_INCLUDE( system32_generic )
 1534  INPUT_PORTS_END
 1535  
 1536  
 1537  static INPUT_PORTS_START( f1en )
 1538      PORT_INCLUDE( system32_generic )
 1539  
 1540      PORT_MODIFY("P1_A")
 1541      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("Gear Up")
 1542      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_LSHIFT) PORT_NAME("Gear Down")
 1543      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 1544  
 1545      PORT_MODIFY("P2_A")
 1546      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1547  
 1548      PORT_MODIFY("SERVICE12_A")
 1549      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1550      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
 1551  
 1552      PORT_MODIFY("SERVICE34_A")
 1553      PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
 1554      PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
 1555      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1556      PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 1557      PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
 1558      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1559      PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 1560      PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
 1561      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1562      PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
 1563      PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
 1564      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1565      PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
 1566  
 1567      PORT_START("ANALOG1")
 1568      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_NAME("Steering Wheel")
 1569  
 1570      PORT_START("ANALOG2")
 1571      PORT_BIT( 0xff, 0x00, IPT_PEDAL  ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_NAME("Gas Pedal")
 1572  
 1573      PORT_START("ANALOG3")
 1574      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_NAME("Brake Pedal")
 1575  INPUT_PORTS_END
 1576  
 1577  
 1578  static INPUT_PORTS_START( f1lap )
 1579      PORT_INCLUDE( system32_generic )
 1580  
 1581      PORT_MODIFY("P1_A")
 1582      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("Gear Up")
 1583      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_LSHIFT) PORT_NAME("Gear Down")
 1584      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Overtake")
 1585      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
 1586  
 1587      PORT_MODIFY("P2_A")
 1588      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1589  
 1590      PORT_MODIFY("SERVICE12_A")
 1591      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1592      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
 1593  
 1594      PORT_MODIFY("SERVICE34_A")
 1595      PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
 1596      PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
 1597      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1598      PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 1599      PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
 1600      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1601      PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 1602      PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
 1603      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1604      PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
 1605      PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
 1606      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1607      PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) // service coin mirror
 1608      PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
 1609      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1610      PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) // seems to be a service switch mirror
 1611      PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
 1612      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1613      PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
 1614      PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
 1615      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1616  
 1617      PORT_START("ANALOG1")
 1618      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_NAME("Steering Wheel")
 1619  
 1620      PORT_START("ANALOG2")
 1621      PORT_BIT( 0xff, 0x00, IPT_PEDAL  ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_NAME("Gas Pedal")
 1622  
 1623      PORT_START("ANALOG3")
 1624      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_NAME("Brake Pedal")
 1625  INPUT_PORTS_END
 1626  
 1627  
 1628  static INPUT_PORTS_START( ga2 )
 1629      PORT_INCLUDE( system32_generic )
 1630  
 1631      PORT_START("EXTRA1")
 1632      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
 1633      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
 1634      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
 1635      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1636      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
 1637      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
 1638      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
 1639      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
 1640  
 1641      PORT_START("EXTRA2")
 1642      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
 1643      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
 1644      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
 1645      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1646      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
 1647      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
 1648      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
 1649      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
 1650  
 1651      PORT_START("EXTRA3")
 1652      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
 1653      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START4 )
 1654      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 1655  INPUT_PORTS_END
 1656  
 1657  static INPUT_PORTS_START( ga2u )
 1658      PORT_INCLUDE( ga2 )
 1659  
 1660      PORT_MODIFY("SERVICE12_A")
 1661      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 )
 1662      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 )
 1663  
 1664      PORT_MODIFY("EXTRA3")
 1665      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
 1666      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
 1667  INPUT_PORTS_END
 1668  
 1669  
 1670  static INPUT_PORTS_START( harddunk )
 1671      PORT_INCLUDE( multi32_generic )
 1672  
 1673      PORT_MODIFY("P1_A")
 1674      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
 1675      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
 1676      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
 1677      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
 1678      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
 1679      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
 1680      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
 1681      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
 1682  
 1683      PORT_MODIFY("P2_A")
 1684      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
 1685      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
 1686      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
 1687      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
 1688      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
 1689      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
 1690      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
 1691      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
 1692  
 1693      PORT_MODIFY("SERVICE12_A")
 1694      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
 1695      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
 1696      PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1697  
 1698      PORT_MODIFY("P1_B")
 1699      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
 1700      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
 1701      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
 1702      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4)
 1703      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
 1704      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
 1705      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
 1706      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
 1707  
 1708      PORT_MODIFY("P2_B")
 1709      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(5)
 1710      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(5)
 1711      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(5)
 1712      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(5)
 1713      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(5)
 1714      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(5)
 1715      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(5)
 1716      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(5)
 1717  
 1718      PORT_MODIFY("SERVICE12_B")
 1719      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START4 )
 1720      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START5 )
 1721      PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1722  
 1723      PORT_START("EXTRA1")
 1724      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
 1725      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
 1726      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
 1727      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3)
 1728      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
 1729      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
 1730      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
 1731      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
 1732  
 1733      PORT_START("EXTRA2")
 1734      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(6)
 1735      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(6)
 1736      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(6)
 1737      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(6)
 1738      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(6)
 1739      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(6)
 1740      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(6)
 1741      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(6)
 1742  
 1743      PORT_START("EXTRA3")
 1744      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
 1745      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START6 )
 1746      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1747  INPUT_PORTS_END
 1748  
 1749  
 1750  static INPUT_PORTS_START( holo )
 1751      PORT_INCLUDE( system32_generic )
 1752  
 1753      PORT_MODIFY("P1_A")
 1754      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 1755  
 1756      PORT_MODIFY("P2_A")
 1757      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 1758  INPUT_PORTS_END
 1759  
 1760  
 1761  static INPUT_PORTS_START( jpark )
 1762      PORT_INCLUDE( system32_generic )
 1763  
 1764      PORT_MODIFY("P1_A")
 1765      PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
 1766  
 1767      PORT_MODIFY("P2_A")
 1768      PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
 1769  
 1770      PORT_START("ANALOG1")
 1771      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
 1772  
 1773      PORT_START("ANALOG2")
 1774      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
 1775  
 1776      PORT_START("ANALOG3")
 1777      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(2)
 1778  
 1779      PORT_START("ANALOG4")
 1780      PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(2)
 1781  INPUT_PORTS_END
 1782  
 1783  
 1784  static INPUT_PORTS_START( orunners )
 1785      PORT_INCLUDE( multi32_generic )
 1786  
 1787      PORT_MODIFY("P1_A")
 1788      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_SPACE)    /* shift up */
 1789      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_LSHIFT)   /* shift down */
 1790      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1791  
 1792      PORT_MODIFY("P2_A")
 1793      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_Z)        /* DJ/music */
 1794      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_X)        /* << */
 1795      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_C)        /* >> */
 1796      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1797  
 1798      PORT_MODIFY("P1_B")
 1799      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_Q)        /* shift up */
 1800      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_W)        /* shift down */
 1801      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1802  
 1803      PORT_MODIFY("P2_B")
 1804      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)                             /* DJ/music */
 1805      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)                             /* << */
 1806      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)                             /* >> */
 1807      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1808  
 1809      PORT_START("ANALOG1")
 1810      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
 1811  
 1812      PORT_START("ANALOG2")
 1813      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
 1814  
 1815      PORT_START("ANALOG3")
 1816      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
 1817  
 1818      PORT_START("ANALOG4")
 1819      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(2)
 1820  
 1821      PORT_START("ANALOG7")
 1822      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(2)
 1823  
 1824      PORT_START("ANALOG8")
 1825      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(2)
 1826  INPUT_PORTS_END
 1827  
 1828  
 1829  static INPUT_PORTS_START( radm )
 1830      PORT_INCLUDE( system32_generic )
 1831  
 1832      PORT_MODIFY("P1_A")
 1833      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
 1834      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("Light")
 1835      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_LSHIFT) PORT_NAME("Wiper")
 1836      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
 1837  
 1838      PORT_MODIFY("P2_A")
 1839      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1840  
 1841      PORT_MODIFY("SERVICE12_A")
 1842      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1843      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
 1844  
 1845      PORT_MODIFY("SERVICE34_A")
 1846      PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
 1847      PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
 1848      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1849      PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 1850      PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
 1851      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1852      PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 1853      PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
 1854      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1855      PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
 1856      PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
 1857      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1858      PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
 1859  
 1860      PORT_START("ANALOG1")
 1861      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1862  
 1863      PORT_START("ANALOG2")
 1864      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1865  
 1866      PORT_START("ANALOG3")
 1867      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1868  INPUT_PORTS_END
 1869  
 1870  
 1871  static INPUT_PORTS_START( radr )
 1872      PORT_INCLUDE( system32_generic )
 1873  
 1874      PORT_MODIFY("P1_A")
 1875      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("Gear Change") PORT_TOGGLE
 1876      PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
 1877  
 1878      PORT_MODIFY("P2_A")
 1879      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1880  
 1881      PORT_MODIFY("SERVICE12_A")
 1882      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1883      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
 1884  
 1885      PORT_MODIFY("SERVICE34_A")
 1886      PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
 1887      PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
 1888      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1889      PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 1890      PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
 1891      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1892      PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 1893      PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
 1894      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1895      PORT_DIPNAME( 0x08, 0x08, "Transmission" )
 1896      PORT_DIPSETTING(    0x08, "Manual" )
 1897      PORT_DIPSETTING(    0x00, "Automatic" )
 1898      PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
 1899  
 1900      PORT_START("ANALOG1")
 1901      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1902  
 1903      PORT_START("ANALOG2")
 1904      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1905  
 1906      PORT_START("ANALOG3")
 1907      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1908  INPUT_PORTS_END
 1909  
 1910  
 1911  static INPUT_PORTS_START( scross )
 1912      PORT_INCLUDE( multi32_generic )
 1913  
 1914      PORT_MODIFY("P1_A")
 1915      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_SPACE)        /* P1 Attack */
 1916      PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_LSHIFT)      /* P1 Wheelie */
 1917      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_CODE(KEYCODE_LALT)     /* P1 Brake */
 1918      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1919  
 1920      PORT_MODIFY("P1_B")
 1921      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_Q)        /* P2 Attack */
 1922      PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_W)       /* P2 Wheelie */
 1923      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_CODE(KEYCODE_S)        /* P2 Brake */
 1924      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNKNOWN )
 1925  
 1926      PORT_MODIFY("P2_A")
 1927      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
 1928      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
 1929      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
 1930  
 1931      PORT_START("ANALOG1")
 1932      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(1)
 1933  
 1934      PORT_START("ANALOG2")
 1935      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(1)
 1936  
 1937      PORT_START("ANALOG3")
 1938      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(2)
 1939  
 1940      PORT_START("ANALOG4")
 1941      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10) PORT_PLAYER(2)
 1942  INPUT_PORTS_END
 1943  
 1944  
 1945  static INPUT_PORTS_START( slipstrm )
 1946      PORT_INCLUDE( system32_generic )
 1947  
 1948      PORT_MODIFY("P1_A")
 1949      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_SPACE) PORT_NAME("Gear Change") PORT_TOGGLE
 1950      PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
 1951  
 1952      PORT_MODIFY("P2_A")
 1953      PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
 1954  
 1955      PORT_MODIFY("SERVICE12_A")
 1956      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
 1957      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
 1958  
 1959      PORT_MODIFY("SERVICE34_A")
 1960      PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
 1961      PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
 1962      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1963      PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
 1964      PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
 1965      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1966      PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
 1967      PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
 1968      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1969      PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
 1970      PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
 1971      PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 1972      PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
 1973  
 1974      PORT_START("ANALOG1")
 1975      PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1976  
 1977      PORT_START("ANALOG2")
 1978      PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1979  
 1980      PORT_START("ANALOG3")
 1981      PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
 1982  INPUT_PORTS_END
 1983  
 1984  
 1985  static INPUT_PORTS_START( sonic )
 1986      PORT_INCLUDE( system32_generic )
 1987  
 1988      PORT_MODIFY("P1_A")
 1989      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
 1990      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
 1991      PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )
 1992  
 1993      PORT_MODIFY("P2_A")
 1994      PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
 1995  
 1996      PORT_MODIFY("SERVICE12_A")
 1997      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
 1998      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START3 )
 1999  
 2000      PORT_START("TRACKX1")
 2001      PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_REVERSE PORT_PLAYER(1)
 2002  
 2003      PORT_START("TRACKY1")
 2004      PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(1)
 2005  
 2006      PORT_START("TRACKX2")
 2007      PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_REVERSE PORT_PLAYER(2)
 2008  
 2009      PORT_START("TRACKY2")
 2010      PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(2)
 2011  
 2012      PORT_START("TRACKX3")
 2013      PORT_BIT( 0xff, 0, IPT_TRACKBALL_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_REVERSE PORT_PLAYER(3)
 2014  
 2015      PORT_START("TRACKY3")
 2016      PORT_BIT( 0xff, 0, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(30) PORT_PLAYER(3)
 2017  INPUT_PORTS_END
 2018  
 2019  
 2020  static INPUT_PORTS_START( spidman )
 2021      PORT_INCLUDE( system32_generic )
 2022  
 2023      PORT_MODIFY("P1_A")
 2024      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 2025  
 2026      PORT_MODIFY("P2_A")
 2027      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 2028  
 2029      PORT_START("EXTRA1")
 2030      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
 2031      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
 2032      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 2033      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
 2034      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
 2035      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
 2036      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
 2037  
 2038      PORT_START("EXTRA2")
 2039      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
 2040      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
 2041      PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
 2042      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
 2043      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
 2044      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
 2045      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
 2046  
 2047      PORT_START("EXTRA3")
 2048      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
 2049      PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START4 )
 2050      PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
 2051  INPUT_PORTS_END
 2052  
 2053  
 2054  static INPUT_PORTS_START( spidmanu )
 2055      PORT_INCLUDE( spidman )
 2056  
 2057      PORT_MODIFY("SERVICE12_A")
 2058      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 )
 2059      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 )
 2060  
 2061      PORT_MODIFY("EXTRA3")
 2062      PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
 2063      PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
 2064  INPUT_PORTS_END
 2065  
 2066  
 2067  static INPUT_PORTS_START( svf )
 2068      PORT_INCLUDE( system32_generic )
 2069  INPUT_PORTS_END
 2070  
 2071  
 2072  static INPUT_PORTS_START( titlef )
 2073      PORT_INCLUDE( multi32_generic )
 2074  
 2075      PORT_MODIFY("P1_A")
 2076      PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
 2077      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_PLAYER(1)
 2078      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_PLAYER(1)
 2079      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_PLAYER(1)
 2080      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_PLAYER(1)
 2081  
 2082      PORT_MODIFY("P2_A")
 2083      PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
 2084      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_PLAYER(1)
 2085      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_PLAYER(1)
 2086      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_PLAYER(1)
 2087      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_PLAYER(1)
 2088  
 2089      PORT_MODIFY("SERVICE12_A")
 2090      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
 2091      PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
 2092  
 2093      PORT_MODIFY("P1_B")
 2094      PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
 2095      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_PLAYER(2)
 2096      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_PLAYER(2)
 2097      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_PLAYER(2)
 2098      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_PLAYER(2)
 2099  
 2100      PORT_MODIFY("P2_B")
 2101      PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNKNOWN )
 2102      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_PLAYER(2)
 2103      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP ) PORT_PLAYER(2)
 2104      PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_PLAYER(2)
 2105      PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_PLAYER(2)
 2106  
 2107      PORT_MODIFY("SERVICE12_B")
 2108      PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START3 )
 2109      PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START4 )
 2110      PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
 2111  INPUT_PORTS_END
 2112  
 2113  
 2114  
 2115  /*************************************
 2116   *
 2117   *  Graphics definitions
 2118   *
 2119   *************************************/
 2120  
 2121  static const gfx_layout bgcharlayout =
 2122  {
 2123      16,16,
 2124      RGN_FRAC(1,1),
 2125      4,
 2126      { 0,1,2,3 },
 2127      { 0, 4, 16, 20, 8, 12, 24, 28, 32, 36, 48, 52, 40, 44, 56, 60  },
 2128      { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
 2129          8*64, 9*64,10*64,11*64,12*64,13*64,14*64,15*64 },
 2130      16*64
 2131  };
 2132  
 2133  
 2134  static GFXDECODE_START( segas32 )
 2135      GFXDECODE_ENTRY( "gfx1", 0, bgcharlayout,   0x00, 0x3ff  )
 2136  GFXDECODE_END
 2137  
 2138  
 2139  
 2140  /*************************************
 2141   *
 2142   *  Sound interfaces
 2143   *
 2144   *************************************/
 2145  
 2146  static const ym3438_interface ym3438_config =
 2147  {
 2148      ym3438_irq_handler
 2149  };
 2150  
 2151  
 2152  
 2153  /*************************************
 2154   *
 2155   *  Dual PCB shared memory comms
 2156   *
 2157   *************************************/
 2158  
 2159  // Both arescue and f1en appear to use an identical shared RAM system.
 2160  
 2161  
 2162  WRITE16_MEMBER(segas32_state::dual_pcb_comms_w)
 2163  {
 2164      COMBINE_DATA(&m_dual_pcb_comms[offset]);
 2165  }
 2166  
 2167  READ16_MEMBER(segas32_state::dual_pcb_comms_r)
 2168  {
 2169      return m_dual_pcb_comms[offset];
 2170  }
 2171  
 2172  
 2173  /* There must be something on the comms board for this?
 2174     Probably not a dip/solder link/trace cut, but maybe
 2175     just whichever way the cables are plugged in?
 2176     Both f1en and arescue master units try to set bit 1... */
 2177  READ16_MEMBER(segas32_state::dual_pcb_masterslave)
 2178  {
 2179      return 0; // 0/1 master/slave
 2180  }
 2181  
 2182  
 2183  
 2184  /*************************************
 2185   *
 2186   *  Machine driver
 2187   *
 2188   *************************************/
 2189  
 2190  static MACHINE_CONFIG_START( system32, segas32_state )
 2191  
 2192      /* basic machine hardware */
 2193      MCFG_CPU_ADD("maincpu", V60, MASTER_CLOCK/2)
 2194      MCFG_CPU_PROGRAM_MAP(system32_map)
 2195      MCFG_CPU_VBLANK_INT_DRIVER("screen", segas32_state,  start_of_vblank_int)
 2196  
 2197      MCFG_CPU_ADD("soundcpu", Z80, MASTER_CLOCK/4)
 2198      MCFG_CPU_PROGRAM_MAP(system32_sound_map)
 2199      MCFG_CPU_IO_MAP(system32_sound_portmap)
 2200  
 2201      MCFG_MACHINE_RESET_OVERRIDE(segas32_state,system32)
 2202  
 2203      MCFG_EEPROM_93C46_ADD("eeprom")
 2204  
 2205      MCFG_TIMER_DRIVER_ADD("v60_irq0", segas32_state, signal_v60_irq_callback)
 2206      MCFG_TIMER_DRIVER_ADD("v60_irq1", segas32_state, signal_v60_irq_callback)
 2207  
 2208      /* video hardware */
 2209      MCFG_GFXDECODE(segas32)
 2210      MCFG_PALETTE_LENGTH(0x4000)
 2211  
 2212      MCFG_SCREEN_ADD("screen", RASTER)
 2213      MCFG_SCREEN_REFRESH_RATE(60)
 2214      MCFG_SCREEN_SIZE(52*8, 262)
 2215      MCFG_SCREEN_VISIBLE_AREA(0*8, 52*8-1, 0*8, 28*8-1)
 2216      MCFG_SCREEN_UPDATE_DRIVER(segas32_state, screen_update_system32)
 2217  
 2218      MCFG_VIDEO_START_OVERRIDE(segas32_state,system32)
 2219  
 2220      /* sound hardware */
 2221      MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
 2222  
 2223      MCFG_SOUND_ADD("ym1", YM3438, MASTER_CLOCK/4)
 2224      MCFG_SOUND_CONFIG(ym3438_config)
 2225      MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
 2226      MCFG_SOUND_ROUTE(1, "rspeaker", 0.40)
 2227  
 2228      MCFG_SOUND_ADD("ym2", YM3438, MASTER_CLOCK/4)
 2229      MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
 2230      MCFG_SOUND_ROUTE(1, "rspeaker", 0.40)
 2231  
 2232      MCFG_SOUND_ADD("rfsnd", RF5C68, RFC_CLOCK/4)
 2233      MCFG_SOUND_ROUTE(0, "lspeaker", 0.55)
 2234      MCFG_SOUND_ROUTE(1, "rspeaker", 0.55)
 2235  MACHINE_CONFIG_END
 2236  
 2237  
 2238  static const nec_config ga2_v25_config ={ ga2_v25_opcode_table, };
 2239  
 2240  static MACHINE_CONFIG_DERIVED( system32_v25, system32 )
 2241  
 2242      /* add a V25 for protection */
 2243      MCFG_CPU_ADD("mcu", V25, 10000000)
 2244      MCFG_CPU_PROGRAM_MAP(ga2_v25_map)
 2245      MCFG_CPU_CONFIG(ga2_v25_config)
 2246  MACHINE_CONFIG_END
 2247  
 2248  
 2249  static MACHINE_CONFIG_START( multi32, segas32_state )
 2250  
 2251      /* basic machine hardware */
 2252      MCFG_CPU_ADD("maincpu", V70, MULTI32_CLOCK/2)
 2253      MCFG_CPU_PROGRAM_MAP(multi32_map)
 2254      MCFG_CPU_VBLANK_INT_DRIVER("lscreen", segas32_state,  start_of_vblank_int)
 2255  
 2256      MCFG_CPU_ADD("soundcpu", Z80, MASTER_CLOCK/4)
 2257      MCFG_CPU_PROGRAM_MAP(multi32_sound_map)
 2258      MCFG_CPU_IO_MAP(multi32_sound_portmap)
 2259  
 2260      MCFG_MACHINE_RESET_OVERRIDE(segas32_state,system32)
 2261  
 2262      MCFG_EEPROM_93C46_ADD("eeprom")
 2263  
 2264      MCFG_TIMER_DRIVER_ADD("v60_irq0", segas32_state, signal_v60_irq_callback)
 2265      MCFG_TIMER_DRIVER_ADD("v60_irq1", segas32_state, signal_v60_irq_callback)
 2266  
 2267      /* video hardware */
 2268      MCFG_GFXDECODE(segas32)
 2269      MCFG_PALETTE_LENGTH(0x8000)
 2270      MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
 2271  
 2272      MCFG_SCREEN_ADD("lscreen", RASTER)
 2273      MCFG_SCREEN_REFRESH_RATE(60)
 2274      MCFG_SCREEN_SIZE(52*8, 262)
 2275      MCFG_SCREEN_VISIBLE_AREA(0*8, 52*8-1, 0*8, 28*8-1)
 2276      MCFG_SCREEN_UPDATE_DRIVER(segas32_state, screen_update_multi32_left)
 2277  
 2278      MCFG_SCREEN_ADD("rscreen", RASTER)
 2279      MCFG_SCREEN_REFRESH_RATE(60)
 2280      MCFG_SCREEN_SIZE(52*8, 262)
 2281      MCFG_SCREEN_VISIBLE_AREA(0*8, 52*8-1, 0*8, 28*8-1)
 2282      MCFG_SCREEN_UPDATE_DRIVER(segas32_state, screen_update_multi32_right)
 2283  
 2284      MCFG_VIDEO_START_OVERRIDE(segas32_state,multi32)
 2285  
 2286      /* sound hardware */
 2287      MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
 2288  
 2289      MCFG_SOUND_ADD("ymsnd", YM3438, MASTER_CLOCK/4)
 2290      MCFG_SOUND_CONFIG(ym3438_config)
 2291      MCFG_SOUND_ROUTE(1, "lspeaker", 0.40)
 2292      MCFG_SOUND_ROUTE(0, "rspeaker", 0.40)
 2293  
 2294      MCFG_SOUND_ADD("sega", MULTIPCM, MASTER_CLOCK/4)
 2295      MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
 2296      MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
 2297  MACHINE_CONFIG_END
 2298  
 2299  
 2300  
 2301  /*************************************
 2302   *
 2303   *  ROM definition(s)
 2304   *
 2305   *************************************/
 2306  
 2307  #define ROM_LOAD_x2(name, base, length, crc) \
 2308      ROM_LOAD( name, base + 0 * length, length, crc ) \
 2309      ROM_RELOAD(     base + 1 * length, length )
 2310  
 2311  #define ROM_LOAD_x4(name, base, length, crc) \
 2312      ROM_LOAD( name, base + 0 * length, length, crc ) \
 2313      ROM_RELOAD(     base + 1 * length, length ) \
 2314      ROM_RELOAD(     base + 2 * length, length ) \
 2315      ROM_RELOAD(     base + 3 * length, length )
 2316  
 2317  #define ROM_LOAD_x8(name, base, length, crc) \
 2318      ROM_LOAD( name, base + 0 * length, length, crc ) \
 2319      ROM_RELOAD(     base + 1 * length, length ) \
 2320      ROM_RELOAD(     base + 2 * length, length ) \
 2321      ROM_RELOAD(     base + 3 * length, length ) \
 2322      ROM_RELOAD(     base + 4 * length, length ) \
 2323      ROM_RELOAD(     base + 5 * length, length ) \
 2324      ROM_RELOAD(     base + 6 * length, length ) \
 2325      ROM_RELOAD(     base + 7 * length, length )
 2326  
 2327  #define ROM_LOAD_x16(name, base, length, crc) \
 2328      ROM_LOAD( name, base + 0 * length, length, crc ) \
 2329      ROM_RELOAD(     base + 1 * length, length ) \
 2330      ROM_RELOAD(     base + 2 * length, length ) \
 2331      ROM_RELOAD(     base + 3 * length, length ) \
 2332      ROM_RELOAD(     base + 4 * length, length ) \
 2333      ROM_RELOAD(     base + 5 * length, length ) \
 2334      ROM_RELOAD(     base + 6 * length, length ) \
 2335      ROM_RELOAD(     base + 7 * length, length ) \
 2336      ROM_RELOAD(     base + 8 * length, length ) \
 2337      ROM_RELOAD(     base + 9 * length, length ) \
 2338      ROM_RELOAD(     base + 10 * length, length ) \
 2339      ROM_RELOAD(     base + 11 * length, length ) \
 2340      ROM_RELOAD(     base + 12 * length, length ) \
 2341      ROM_RELOAD(     base + 13 * length, length ) \
 2342      ROM_RELOAD(     base + 14 * length, length ) \
 2343      ROM_RELOAD(     base + 15 * length, length )
 2344  
 2345  #define ROM_LOAD16_BYTE_x2(name, base, length, crc) \
 2346      ROM_LOAD16_BYTE( name, base + 0 * length, length, crc ) \
 2347      ROM_RELOAD(     base + 2 * length, length )
 2348  
 2349  #define ROM_LOAD16_BYTE_x4(name, base, length, crc) \
 2350      ROM_LOAD16_BYTE( name, base + 0 * length, length, crc ) \
 2351      ROM_RELOAD(     base + 2 * length, length ) \
 2352      ROM_RELOAD(     base + 4 * length, length ) \
 2353      ROM_RELOAD(     base + 6 * length, length )
 2354  
 2355  #define ROM_LOAD32_WORD_x2(name, base, length, crc) \
 2356      ROM_LOAD32_WORD( name, base + 0 * length, length, crc ) \
 2357      ROM_RELOAD(     base + 2 * length, length )
 2358  
 2359  #define ROM_LOAD32_WORD_x4(name, base, length, crc) \
 2360      ROM_LOAD32_WORD( name, base + 0 * length, length, crc ) \
 2361      ROM_RELOAD(     base + 2 * length, length ) \
 2362      ROM_RELOAD(     base + 4 * length, length ) \
 2363      ROM_RELOAD(     base + 6 * length, length )
 2364  
 2365  
 2366  
 2367  /**************************************************************************************************************************
 2368   **************************************************************************************************************************
 2369   **************************************************************************************************************************
 2370      Air Rescue
 2371      Sega Game ID codes:
 2372         Game BD: 833-8508-01 AIR RESCUE (US)
 2373                  833-8508-02 AIR RESCUE (Export)
 2374                  833-8508-03 AIR RESCUE (Japan)
 2375      Rom PCB No: 834-8526-01 (US)
 2376                  834-8526-02 (Export)
 2377                  834-8526-03 (Japan)
 2378  
 2379  Japan set not dumped, but program roms are EPR-14515.ic13 & EPR-14514.ic6
 2380  
 2381      requires 2 linked system32 pcbs
 2382      requires additional math DSP to be emulated
 2383  */
 2384  ROM_START( arescue )
 2385      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2386      ROM_LOAD_x4( "epr-14540.ic13",     0x000000, 0x020000, CRC(c2b4e5d0) SHA1(69f8ddded5095df9012663d0ded61b78f1692a8d) )
 2387      ROM_LOAD_x4( "epr-14539.ic6",      0x080000, 0x020000, CRC(1a1b5532) SHA1(f3651470222036703b7ecedb6e91e4cdb3d20df7) )
 2388      ROM_LOAD16_BYTE( "epr-14509.ic14", 0x100000, 0x080000, CRC(daa5a356) SHA1(ca87242c59de5ab5f9406635bee758a855fe20bc) )
 2389      ROM_LOAD16_BYTE( "epr-14508.ic7",  0x100001, 0x080000, CRC(6702c14d) SHA1(dc9324f16a3e3238f5ccdade9451d6823a50b563) )
 2390  
 2391      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2392      ROM_LOAD_x4( "epr-14513.ic35", 0x100000, 0x40000, CRC(f9a884cd) SHA1(73010fff5e0257355e08e78838c74af86ed364ce) )
 2393      ROM_LOAD_x2( "mpr-14512.ic31", 0x200000, 0x80000, CRC(9da48051) SHA1(2d41148d089a75362ed0fde577eca919213ac666) )
 2394      ROM_LOAD_x2( "mpr-14511.ic26", 0x300000, 0x80000, CRC(074c53cc) SHA1(9c89843bbe8058123c25b7f8f86de754ddbca2bb) )
 2395      ROM_LOAD_x2( "mpr-14510.ic22", 0x400000, 0x80000, CRC(5ea6d52d) SHA1(d424082468940bb91ab424ac7812839792ed4e88) )
 2396  
 2397      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 2398      ROM_LOAD32_BYTE( "mpr-14496.ic25", 0x000003, 0x080000, CRC(737da16c) SHA1(52247d9bc2924e90d040bef484a541b1f4a9026f) )
 2399      ROM_LOAD32_BYTE( "mpr-14497.ic29", 0x000001, 0x080000, CRC(ebd7ed17) SHA1(2307dc28501965432d2ff55a21698efdce014401) )
 2400      ROM_LOAD32_BYTE( "mpr-14498.ic34", 0x000002, 0x080000, CRC(d4a764bd) SHA1(8434a9225ed1e01e8b1cfe169268e42cd3ce6ee3) )
 2401      ROM_LOAD32_BYTE( "mpr-14499.ic38", 0x000000, 0x080000, CRC(fadc4b2b) SHA1(01c02a4dfad1ab19bac8b81b61d37fdc035bc5c5) )
 2402  
 2403      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 2404      ROMX_LOAD( "mpr-14500.ic24", 0x000007, 0x100000, CRC(0a064e9b) SHA1(264761f4aacaeeac9426528caf180404cd7f6e18) , ROM_SKIP(7) )
 2405      ROMX_LOAD( "mpr-14501.ic28", 0x000006, 0x100000, CRC(4662bb41) SHA1(80774e680468e9ba9c5dd5eeaa4791fa3b3722fd) , ROM_SKIP(7) )
 2406      ROMX_LOAD( "mpr-14502.ic33", 0x000005, 0x100000, CRC(988555a9) SHA1(355e44319fd51358329cc7cd226e4c4725e045cb) , ROM_SKIP(7) )
 2407      ROMX_LOAD( "mpr-14503.ic37", 0x000004, 0x100000, CRC(90556aca) SHA1(24df62af55048db66d50c7034c5460330d231bf5) , ROM_SKIP(7) )
 2408      ROMX_LOAD( "mpr-14504.ic23", 0x000003, 0x100000, CRC(46dd038d) SHA1(9530a52e2e7388437c20ebcb19bf84c8b3b5086b) , ROM_SKIP(7) )
 2409      ROMX_LOAD( "mpr-14505.ic27", 0x000002, 0x100000, CRC(be142c1f) SHA1(224631e00c2458c39c6a2ef7978c2b1131fb4da2) , ROM_SKIP(7) )
 2410      ROMX_LOAD( "mpr-14506.ic32", 0x000001, 0x100000, CRC(5dd8fb6b) SHA1(7d21cacb2c9dba5db2547b6d8e89397e0424ee8e) , ROM_SKIP(7) )
 2411      ROMX_LOAD( "mpr-14507.ic36", 0x000000, 0x100000, CRC(db3f59ec) SHA1(96dcb3827354773fc2911c62260a27e90dcbe96a) , ROM_SKIP(7) )
 2412  
 2413      ROM_REGION( 0x20000, "user2", 0 ) /* NEC uPD77P25 DSP Internal ROM */
 2414      ROM_LOAD( "d7725.01", 0x000000, 0x002800, CRC(a7ec5644) SHA1(e9b05c70b639ee289e557dfd9a6c724b36338e2b) )
 2415  ROM_END
 2416  
 2417  
 2418  /**************************************************************************************************************************
 2419   **************************************************************************************************************************
 2420   **************************************************************************************************************************
 2421      Alien 3: The Gun
 2422      not protected
 2423      Sega Game ID codes:
 2424         Game BD: 834-9877-01 (USA)
 2425                  834-9877-02 (Export)
 2426      Rom PCB No: 837-9878-01 (USA)
 2427                  837-9878-02 (Export)
 2428        Main PCB: 837-7428-03 (SYSTEM 32 COM)
 2429       A/D BD NO. 837-7536
 2430  */
 2431  ROM_START( alien3 )
 2432      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2433      ROM_LOAD_x2( "15943.bin",     0x000000, 0x040000, CRC(ac4591aa) SHA1(677155a3ebdac6602525e06adb25d287eaf9e089) )
 2434      ROM_LOAD_x2( "15942.bin",     0x080000, 0x040000, CRC(a1e1d0ec) SHA1(10d8d2235a67a4ba475fe98124c6a4a5311592b5) )
 2435      ROM_LOAD16_BYTE( "15855.bin", 0x100000, 0x080000, CRC(a6fadabe) SHA1(328bbb54651eef197ba13f1bd9228f3f4de7ee5e) )
 2436      ROM_LOAD16_BYTE( "15854.bin", 0x100001, 0x080000, CRC(d1aec392) SHA1(f48804fe0151e83ad45e912b55db8ae8ddebd2ad) )
 2437  
 2438      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2439      ROM_LOAD_x4( "15859.bin", 0x100000, 0x040000, CRC(91b55bd0) SHA1(23b85a006a91c2a5eb1cee14172fd0d8b7732518) )
 2440      ROM_LOAD( "15858.bin",    0x200000, 0x100000, CRC(2eb64c10) SHA1(b2dbe86b82e889f4a9850cf4aa6596a139c1c3d6) )
 2441      ROM_LOAD( "15857.bin",    0x300000, 0x100000, CRC(915c56df) SHA1(7031f937c826af17caf7ec8cbb6155d0a55bd38a) )
 2442      ROM_LOAD( "15856.bin",    0x400000, 0x100000, CRC(a5ef4f1f) SHA1(e8da7a995955e80872a25bd75465c590b649cfab) )
 2443  
 2444      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2445      ROM_LOAD16_BYTE( "15863.bin", 0x000000, 0x200000, CRC(9d36b645) SHA1(2977047780b615b64c3b4aec78fef0643d40490e) )
 2446      ROM_LOAD16_BYTE( "15862.bin", 0x000001, 0x200000, CRC(9e277d25) SHA1(9f191484a42391268306a8d2d95c340ce8b2d6cd) )
 2447  
 2448      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2449      ROMX_LOAD( "15864.bin", 0x000000, 0x200000, CRC(58207157) SHA1(d1b0c7edac8b89b1322398d4cd3a976a88bc0b56) , ROM_SKIP(6)|ROM_GROUPWORD )
 2450      ROMX_LOAD( "15866.bin", 0x000002, 0x200000, CRC(9c53732c) SHA1(9aa5103cc10b4927c16e0cf102b64a15dd038756) , ROM_SKIP(6)|ROM_GROUPWORD )
 2451      ROMX_LOAD( "15868.bin", 0x000004, 0x200000, CRC(62d556e8) SHA1(d70cab0881784a3d4dd06d0c99587ca6054c2dc4) , ROM_SKIP(6)|ROM_GROUPWORD )
 2452      ROMX_LOAD( "15870.bin", 0x000006, 0x200000, CRC(d31c0400) SHA1(44c1b2e5236d894d31ff72552a7ad50270dd2fad) , ROM_SKIP(6)|ROM_GROUPWORD )
 2453      ROMX_LOAD( "15865.bin", 0x800000, 0x200000, CRC(dd64f87b) SHA1(cfa96c5f2b1221706552f5cef4aa7c61ebe21e39) , ROM_SKIP(6)|ROM_GROUPWORD )
 2454      ROMX_LOAD( "15867.bin", 0x800002, 0x200000, CRC(8cf9cb11) SHA1(a77399fccee3f258a5716721edd69a33f94f8daf) , ROM_SKIP(6)|ROM_GROUPWORD )
 2455      ROMX_LOAD( "15869.bin", 0x800004, 0x200000, CRC(dd4b137f) SHA1(7316dce32d35bf468defae5e6ed86910a37a2457) , ROM_SKIP(6)|ROM_GROUPWORD )
 2456      ROMX_LOAD( "15871.bin", 0x800006, 0x200000, CRC(58eb10ae) SHA1(23f2a72dc7b2d7b5c8a979952f81608296805745) , ROM_SKIP(6)|ROM_GROUPWORD )
 2457  
 2458      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 2459      ROM_LOAD16_WORD( "eeprom-alien3.bin", 0x0000, 0x0080, CRC(6e1d9df3) SHA1(2fd818bc393fb96e945fa37a63c8a3c4aff2f79f) )
 2460  ROM_END
 2461  
 2462  /**************************************************************************************************************************
 2463      Alien 3: The Gun (U.S.)
 2464      not protected
 2465  */
 2466  
 2467  ROM_START( alien3u )
 2468      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2469      ROM_LOAD_x2( "epr-15941.bin",  0x000000, 0x040000, CRC(bf8c257f) SHA1(d08b77d2e3f5af0da7e7d8727fbe7fc0eb1153ff) )
 2470      ROM_LOAD_x2( "epr-15940a.bin", 0x080000, 0x040000, CRC(8840b51e) SHA1(0aa6945000676b1adc535b1557a1455d62aed9f5) )
 2471      ROM_LOAD16_BYTE( "15855.bin",  0x100000, 0x080000, CRC(a6fadabe) SHA1(328bbb54651eef197ba13f1bd9228f3f4de7ee5e) )
 2472      ROM_LOAD16_BYTE( "15854.bin",  0x100001, 0x080000, CRC(d1aec392) SHA1(f48804fe0151e83ad45e912b55db8ae8ddebd2ad) )
 2473  
 2474      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2475      ROM_LOAD_x4( "15859.bin", 0x100000, 0x040000, CRC(91b55bd0) SHA1(23b85a006a91c2a5eb1cee14172fd0d8b7732518) )
 2476      ROM_LOAD( "15858.bin",    0x200000, 0x100000, CRC(2eb64c10) SHA1(b2dbe86b82e889f4a9850cf4aa6596a139c1c3d6) )
 2477      ROM_LOAD( "15857.bin",    0x300000, 0x100000, CRC(915c56df) SHA1(7031f937c826af17caf7ec8cbb6155d0a55bd38a) )
 2478      ROM_LOAD( "15856.bin",    0x400000, 0x100000, CRC(a5ef4f1f) SHA1(e8da7a995955e80872a25bd75465c590b649cfab) )
 2479  
 2480      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2481      ROM_LOAD16_BYTE( "15863.bin", 0x000000, 0x200000, CRC(9d36b645) SHA1(2977047780b615b64c3b4aec78fef0643d40490e) )
 2482      ROM_LOAD16_BYTE( "15862.bin", 0x000001, 0x200000, CRC(9e277d25) SHA1(9f191484a42391268306a8d2d95c340ce8b2d6cd) )
 2483  
 2484      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2485      ROMX_LOAD( "15864.bin", 0x000000, 0x200000, CRC(58207157) SHA1(d1b0c7edac8b89b1322398d4cd3a976a88bc0b56) , ROM_SKIP(6)|ROM_GROUPWORD )
 2486      ROMX_LOAD( "15866.bin", 0x000002, 0x200000, CRC(9c53732c) SHA1(9aa5103cc10b4927c16e0cf102b64a15dd038756) , ROM_SKIP(6)|ROM_GROUPWORD )
 2487      ROMX_LOAD( "15868.bin", 0x000004, 0x200000, CRC(62d556e8) SHA1(d70cab0881784a3d4dd06d0c99587ca6054c2dc4) , ROM_SKIP(6)|ROM_GROUPWORD )
 2488      ROMX_LOAD( "15870.bin", 0x000006, 0x200000, CRC(d31c0400) SHA1(44c1b2e5236d894d31ff72552a7ad50270dd2fad) , ROM_SKIP(6)|ROM_GROUPWORD )
 2489      ROMX_LOAD( "15865.bin", 0x800000, 0x200000, CRC(dd64f87b) SHA1(cfa96c5f2b1221706552f5cef4aa7c61ebe21e39) , ROM_SKIP(6)|ROM_GROUPWORD )
 2490      ROMX_LOAD( "15867.bin", 0x800002, 0x200000, CRC(8cf9cb11) SHA1(a77399fccee3f258a5716721edd69a33f94f8daf) , ROM_SKIP(6)|ROM_GROUPWORD )
 2491      ROMX_LOAD( "15869.bin", 0x800004, 0x200000, CRC(dd4b137f) SHA1(7316dce32d35bf468defae5e6ed86910a37a2457) , ROM_SKIP(6)|ROM_GROUPWORD )
 2492      ROMX_LOAD( "15871.bin", 0x800006, 0x200000, CRC(58eb10ae) SHA1(23f2a72dc7b2d7b5c8a979952f81608296805745) , ROM_SKIP(6)|ROM_GROUPWORD )
 2493  
 2494      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 2495      ROM_LOAD16_WORD( "eeprom-alien3.bin", 0x0000, 0x0080, CRC(6e1d9df3) SHA1(2fd818bc393fb96e945fa37a63c8a3c4aff2f79f) )
 2496  ROM_END
 2497  
 2498  
 2499  /**************************************************************************************************************************
 2500   **************************************************************************************************************************
 2501   **************************************************************************************************************************
 2502      Arabian Fight
 2503      protected via a custom V25 with encrypted code
 2504  */
 2505  
 2506  ROM_START( arabfgt )
 2507      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2508      ROM_LOAD_x8( "epr-14609.ic8",         0x000000, 0x020000, CRC(6a43c7fb) SHA1(70e9f9fa5f867f0455d62ff2690ad19055d79363) )
 2509      ROM_LOAD16_BYTE_x2( "epr-14592.ic18", 0x100000, 0x040000, CRC(f7dff316) SHA1(338690a1404dde6e7e66067f23605a247c7d0f5b) )
 2510      ROM_LOAD16_BYTE_x2( "epr-14591.ic9",  0x100001, 0x040000, CRC(bbd940fb) SHA1(99c17aba890935eaf7ea468492da03103288eb1b) )
 2511  
 2512      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU + banks */
 2513      ROM_LOAD_x8( "epr-14596.ic36",  0x100000, 0x020000, CRC(bd01faec) SHA1(c909dcb8ef2672c4b0060d911d295e445ca311eb) )
 2514      ROM_LOAD( "mpr-14595f.ic35",    0x200000, 0x100000, CRC(5173d1af) SHA1(dccda644488d0c561c8ff7fa9619bd9504d8d9c6) )
 2515      ROM_LOAD( "mpr-14594f.ic34",    0x300000, 0x100000, CRC(01777645) SHA1(7bcbe7687bd80b94bd3b2b3099cdd036bf7e0cd3) )
 2516      ROM_LOAD( "mpr-14593f.ic24",    0x400000, 0x100000, CRC(aa037047) SHA1(5cb1cfb235bbbf875d2b07ac4a9130ba13d47e57) )
 2517  
 2518      ROM_REGION( 0x100000, "cpu2", 0 ) /* Protection CPU */
 2519      ROM_LOAD( "epr-14468-01.u3", 0x00000, 0x10000, CRC(c3c591e4) SHA1(53e48066e85b61d0c456618d14334a509b354cb3) )
 2520      ROM_RELOAD(                  0xf0000, 0x10000)
 2521  
 2522      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2523      ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(94f1cf10) SHA1(34ec86487bcb6726c025149c319f00a854eb7a1d) )
 2524      ROM_LOAD16_BYTE( "mpr-14598f.ic5",  0x000001, 0x200000, CRC(010656f3) SHA1(31619c022cba4f250ce174f186d3e34444f60faf) )
 2525  
 2526      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2527      ROMX_LOAD( "mpr-14600f.ic32", 0x000000, 0x200000, CRC(e860988a) SHA1(328581877c0890519c854f75f0976b0e9c4560f8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2528      ROMX_LOAD( "mpr-14602.ic30",  0x000002, 0x200000, CRC(64524e4d) SHA1(86246185ab5ab638a73991c9e3aeb07c6d51be4f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2529      ROMX_LOAD( "mpr-14604.ic28",  0x000004, 0x200000, CRC(5f8d5167) SHA1(1b08495e5a4cc2530c2895e47abd0e0b75496c68) , ROM_SKIP(6)|ROM_GROUPWORD )
 2530      ROMX_LOAD( "mpr-14606.ic26",  0x000006, 0x200000, CRC(7047f437) SHA1(e806a1cd73c96b33e8edc64e41d99bf7798103e0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2531      ROMX_LOAD( "mpr-14601f.ic31", 0x800000, 0x200000, CRC(a2f3bb32) SHA1(1a60975dead5faf08ad4e9a96a00f98664d5e5ec) , ROM_SKIP(6)|ROM_GROUPWORD )
 2532      ROMX_LOAD( "mpr-14603.ic29",  0x800002, 0x200000, CRC(f6ce494b) SHA1(b3117e34913e855c035ebe37fbfbe0f7466f94f0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2533      ROMX_LOAD( "mpr-14605.ic27",  0x800004, 0x200000, CRC(aaf52697) SHA1(b502a37ae68fc08b60cdf0e2b744898b3474d3b9) , ROM_SKIP(6)|ROM_GROUPWORD )
 2534      ROMX_LOAD( "mpr-14607.ic25",  0x800006, 0x200000, CRC(b70b0735) SHA1(9ef2da6f710bc5c2c7ee30dc144409a61dbe6646) , ROM_SKIP(6)|ROM_GROUPWORD )
 2535  ROM_END
 2536  
 2537  /**************************************************************************************************************************
 2538      Arabian Fight (U.S.)
 2539      protected via a custom V25 with encrypted code
 2540  */
 2541  
 2542  ROM_START( arabfgtu )
 2543      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2544      ROM_LOAD_x8( "epr-14608.ic8",         0x000000, 0x020000, CRC(cd5efba9) SHA1(a7daf8e95d31359753c984c447e93d40f43a179d) )
 2545      ROM_LOAD16_BYTE_x2( "epr-14592.ic18", 0x100000, 0x040000, CRC(f7dff316) SHA1(338690a1404dde6e7e66067f23605a247c7d0f5b) )
 2546      ROM_LOAD16_BYTE_x2( "epr-14591.ic9",  0x100001, 0x040000, CRC(bbd940fb) SHA1(99c17aba890935eaf7ea468492da03103288eb1b) )
 2547  
 2548      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU + banks */
 2549      ROM_LOAD_x8( "epr-14596.ic36",  0x100000, 0x020000, CRC(bd01faec) SHA1(c909dcb8ef2672c4b0060d911d295e445ca311eb) )
 2550      ROM_LOAD( "mpr-14595f.ic35",    0x200000, 0x100000, CRC(5173d1af) SHA1(dccda644488d0c561c8ff7fa9619bd9504d8d9c6) )
 2551      ROM_LOAD( "mpr-14594f.ic34",    0x300000, 0x100000, CRC(01777645) SHA1(7bcbe7687bd80b94bd3b2b3099cdd036bf7e0cd3) )
 2552      ROM_LOAD( "mpr-14593f.ic24",    0x400000, 0x100000, CRC(aa037047) SHA1(5cb1cfb235bbbf875d2b07ac4a9130ba13d47e57) )
 2553  
 2554      ROM_REGION( 0x100000, "cpu2", 0 ) /* Protection CPU */
 2555      ROM_LOAD( "epr-14468-01.u3", 0x00000, 0x10000, CRC(c3c591e4) SHA1(53e48066e85b61d0c456618d14334a509b354cb3) )
 2556      ROM_RELOAD(                  0xf0000, 0x10000)
 2557  
 2558      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2559      ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(94f1cf10) SHA1(34ec86487bcb6726c025149c319f00a854eb7a1d) )
 2560      ROM_LOAD16_BYTE( "mpr-14598f.ic5",  0x000001, 0x200000, CRC(010656f3) SHA1(31619c022cba4f250ce174f186d3e34444f60faf) )
 2561  
 2562      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2563      ROMX_LOAD( "mpr-14600f.ic32", 0x000000, 0x200000, CRC(e860988a) SHA1(328581877c0890519c854f75f0976b0e9c4560f8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2564      ROMX_LOAD( "mpr-14602.ic30",  0x000002, 0x200000, CRC(64524e4d) SHA1(86246185ab5ab638a73991c9e3aeb07c6d51be4f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2565      ROMX_LOAD( "mpr-14604.ic28",  0x000004, 0x200000, CRC(5f8d5167) SHA1(1b08495e5a4cc2530c2895e47abd0e0b75496c68) , ROM_SKIP(6)|ROM_GROUPWORD )
 2566      ROMX_LOAD( "mpr-14606.ic26",  0x000006, 0x200000, CRC(7047f437) SHA1(e806a1cd73c96b33e8edc64e41d99bf7798103e0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2567      ROMX_LOAD( "mpr-14601f.ic31", 0x800000, 0x200000, CRC(a2f3bb32) SHA1(1a60975dead5faf08ad4e9a96a00f98664d5e5ec) , ROM_SKIP(6)|ROM_GROUPWORD )
 2568      ROMX_LOAD( "mpr-14603.ic29",  0x800002, 0x200000, CRC(f6ce494b) SHA1(b3117e34913e855c035ebe37fbfbe0f7466f94f0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2569      ROMX_LOAD( "mpr-14605.ic27",  0x800004, 0x200000, CRC(aaf52697) SHA1(b502a37ae68fc08b60cdf0e2b744898b3474d3b9) , ROM_SKIP(6)|ROM_GROUPWORD )
 2570      ROMX_LOAD( "mpr-14607.ic25",  0x800006, 0x200000, CRC(b70b0735) SHA1(9ef2da6f710bc5c2c7ee30dc144409a61dbe6646) , ROM_SKIP(6)|ROM_GROUPWORD )
 2571  ROM_END
 2572  
 2573  /**************************************************************************************************************************
 2574      Arabian Fight (Japan)
 2575      protected via a custom V25 with encrypted code
 2576  */
 2577  ROM_START( arabfgtj )
 2578      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2579      ROM_LOAD_x8( "epr-14597.ic8",         0x000000, 0x020000, CRC(7a6fe222) SHA1(f730e9d44ad20dbaa59f6311a077c889e0aec8e4) )
 2580      ROM_LOAD16_BYTE_x2( "epr-14592.ic18", 0x100000, 0x040000, CRC(f7dff316) SHA1(338690a1404dde6e7e66067f23605a247c7d0f5b) )
 2581      ROM_LOAD16_BYTE_x2( "epr-14591.ic9",  0x100001, 0x040000, CRC(bbd940fb) SHA1(99c17aba890935eaf7ea468492da03103288eb1b) )
 2582  
 2583      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU + banks */
 2584      ROM_LOAD_x8( "epr-14596.ic36",  0x100000, 0x020000, CRC(bd01faec) SHA1(c909dcb8ef2672c4b0060d911d295e445ca311eb) )
 2585      ROM_LOAD( "mpr-14595f.ic35",    0x200000, 0x100000, CRC(5173d1af) SHA1(dccda644488d0c561c8ff7fa9619bd9504d8d9c6) )
 2586      ROM_LOAD( "mpr-14594f.ic34",    0x300000, 0x100000, CRC(01777645) SHA1(7bcbe7687bd80b94bd3b2b3099cdd036bf7e0cd3) )
 2587      ROM_LOAD( "mpr-14593f.ic24",    0x400000, 0x100000, CRC(aa037047) SHA1(5cb1cfb235bbbf875d2b07ac4a9130ba13d47e57) )
 2588  
 2589      ROM_REGION( 0x100000, "cpu2", 0 ) /* Protection CPU */
 2590      ROM_LOAD( "epr-14468-01.u3", 0x00000, 0x10000, CRC(c3c591e4) SHA1(53e48066e85b61d0c456618d14334a509b354cb3) )
 2591      ROM_RELOAD(                  0xf0000, 0x10000)
 2592  
 2593      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2594      ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(94f1cf10) SHA1(34ec86487bcb6726c025149c319f00a854eb7a1d) )
 2595      ROM_LOAD16_BYTE( "mpr-14598f.ic5",  0x000001, 0x200000, CRC(010656f3) SHA1(31619c022cba4f250ce174f186d3e34444f60faf) )
 2596  
 2597      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2598      ROMX_LOAD( "mpr-14600f.ic32", 0x000000, 0x200000, CRC(e860988a) SHA1(328581877c0890519c854f75f0976b0e9c4560f8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2599      ROMX_LOAD( "mpr-14602.ic30",  0x000002, 0x200000, CRC(64524e4d) SHA1(86246185ab5ab638a73991c9e3aeb07c6d51be4f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2600      ROMX_LOAD( "mpr-14604.ic28",  0x000004, 0x200000, CRC(5f8d5167) SHA1(1b08495e5a4cc2530c2895e47abd0e0b75496c68) , ROM_SKIP(6)|ROM_GROUPWORD )
 2601      ROMX_LOAD( "mpr-14606.ic26",  0x000006, 0x200000, CRC(7047f437) SHA1(e806a1cd73c96b33e8edc64e41d99bf7798103e0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2602      ROMX_LOAD( "mpr-14601f.ic31", 0x800000, 0x200000, CRC(a2f3bb32) SHA1(1a60975dead5faf08ad4e9a96a00f98664d5e5ec) , ROM_SKIP(6)|ROM_GROUPWORD )
 2603      ROMX_LOAD( "mpr-14603.ic29",  0x800002, 0x200000, CRC(f6ce494b) SHA1(b3117e34913e855c035ebe37fbfbe0f7466f94f0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2604      ROMX_LOAD( "mpr-14605.ic27",  0x800004, 0x200000, CRC(aaf52697) SHA1(b502a37ae68fc08b60cdf0e2b744898b3474d3b9) , ROM_SKIP(6)|ROM_GROUPWORD )
 2605      ROMX_LOAD( "mpr-14607.ic25",  0x800006, 0x200000, CRC(b70b0735) SHA1(9ef2da6f710bc5c2c7ee30dc144409a61dbe6646) , ROM_SKIP(6)|ROM_GROUPWORD )
 2606  ROM_END
 2607  
 2608  
 2609  /**************************************************************************************************************************
 2610   **************************************************************************************************************************
 2611   **************************************************************************************************************************
 2612      Burning Rival
 2613      protected via FD1149 317-0212
 2614  */
 2615  ROM_START( brival )
 2616      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2617      ROM_LOAD_x8( "epr-15722.ic8",      0x000000, 0x020000, CRC(138141c0) SHA1(aca2a46ee1008e91c65a09e79c76d5175e7df5e8) )
 2618      ROM_LOAD16_BYTE( "epr-15723.ic18", 0x100000, 0x080000, CRC(4ff40d39) SHA1(b33a656f976ec7a1a2268e7b9a81d5b84f3d9ca3) )
 2619      ROM_LOAD16_BYTE( "epr-15724.ic9",  0x100001, 0x080000, CRC(3ff8a052) SHA1(f484a8e15a022f9ff290e662ab27f96f9f0ad24e) )
 2620  
 2621      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2622      ROM_LOAD_x8( "epr-15725.ic36", 0x100000, 0x020000, CRC(ea1407d7) SHA1(68b571341f032278e87a38739ba8084b7a6062d3) )
 2623      ROM_LOAD( "mpr-15627.ic35",    0x200000, 0x100000, CRC(8a8388c5) SHA1(7ee03feb975cc576a3d8651fd41976ca87d60894) )
 2624      ROM_LOAD( "mpr-15626.ic34",    0x300000, 0x100000, CRC(83306d1e) SHA1(feb08902b51c0013d9417832cdf198e36cdfc28c) )
 2625      ROM_LOAD( "mpr-15625.ic24",    0x400000, 0x100000, CRC(3ce82932) SHA1(f2107bc2591f46a51c9f0d706933b1ae69db91f9) )
 2626  
 2627      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2628      ROM_LOAD16_BYTE( "mpr-15629.ic14", 0x000000, 0x200000, CRC(2c8dd96d) SHA1(4a42a30485c19eb4f4a9d518a3dff3ae11911d01) )
 2629      ROM_LOAD16_BYTE( "mpr-15628.ic5",  0x000001, 0x200000, CRC(58d4ca40) SHA1(b1633acc803bba7e8283a9663b49abeda662a74d) )
 2630  
 2631      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2632      ROMX_LOAD( "mpr-15637.ic32", 0x000000, 0x200000, CRC(b6cf2f05) SHA1(a308d40ce5165e03fccf7fcd615ee111f7840fdc) , ROM_SKIP(6)|ROM_GROUPWORD )
 2633      ROMX_LOAD( "mpr-15635.ic30", 0x000002, 0x200000, CRC(70f2eb2b) SHA1(9868c8b0dd8ce810a0e32f51e702eee7e1c9a967) , ROM_SKIP(6)|ROM_GROUPWORD )
 2634      ROMX_LOAD( "mpr-15633.ic28", 0x000004, 0x200000, CRC(005dfed5) SHA1(f555620d75d3886a890307be9df9c0879bcda695) , ROM_SKIP(6)|ROM_GROUPWORD )
 2635      ROMX_LOAD( "mpr-15631.ic26", 0x000006, 0x200000, CRC(c35e2f21) SHA1(37935aa2eaa1769e57fb58f47f9797ae153d7496) , ROM_SKIP(6)|ROM_GROUPWORD )
 2636      ROMX_LOAD( "mpr-15636.ic31", 0x800000, 0x200000, CRC(d81ca97b) SHA1(a8e64e6cbe822f18ce20f50c8ddb8f1d5ed8b783) , ROM_SKIP(6)|ROM_GROUPWORD )
 2637      ROMX_LOAD( "mpr-15634.ic29", 0x800002, 0x200000, CRC(b0c6c52a) SHA1(04dd7344ca82e38f9d796a764c9e5a631a89aaac) , ROM_SKIP(6)|ROM_GROUPWORD )
 2638      ROMX_LOAD( "mpr-15632.ic27", 0x800004, 0x200000, CRC(8476e52b) SHA1(e89748d34febcaf362580cdae30a5c570e56899a) , ROM_SKIP(6)|ROM_GROUPWORD )
 2639      ROMX_LOAD( "mpr-15630.ic25", 0x800006, 0x200000, CRC(bf7dd2f6) SHA1(ab3fbe9e2b9b57424fb2a147f32b0f573c0b11b8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2640  ROM_END
 2641  
 2642  /**************************************************************************************************************************
 2643      Burning Rival (Japan)
 2644      protected via FD1149 317-0212
 2645  */
 2646  ROM_START( brivalj )
 2647      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2648      ROM_LOAD_x8( "epr-15720.ic8",      0x000000, 0x020000, CRC(0d182d78) SHA1(53e9e5898869ea4a354dc3e9a78d8b8e9a7274c9) )
 2649      ROM_LOAD16_BYTE( "epr-15723.ic18", 0x100000, 0x080000, CRC(4ff40d39) SHA1(b33a656f976ec7a1a2268e7b9a81d5b84f3d9ca3) )
 2650      ROM_LOAD16_BYTE( "epr-15724.ic9",  0x100001, 0x080000, CRC(3ff8a052) SHA1(f484a8e15a022f9ff290e662ab27f96f9f0ad24e) )
 2651  
 2652      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2653      ROM_LOAD_x8( "epr-15725.ic36", 0x100000, 0x020000, CRC(ea1407d7) SHA1(68b571341f032278e87a38739ba8084b7a6062d3) )
 2654      ROM_LOAD( "mpr-15627.ic35",    0x200000, 0x100000, CRC(8a8388c5) SHA1(7ee03feb975cc576a3d8651fd41976ca87d60894) )
 2655      ROM_LOAD( "mpr-15626.ic34",    0x300000, 0x100000, CRC(83306d1e) SHA1(feb08902b51c0013d9417832cdf198e36cdfc28c) )
 2656      ROM_LOAD( "mpr-15625.ic24",    0x400000, 0x100000, CRC(3ce82932) SHA1(f2107bc2591f46a51c9f0d706933b1ae69db91f9) )
 2657  
 2658      /* the 10 roms below may be bad dumps ... mp14598 / 99 have corrupt tiles when compared to the roms
 2659         in the parent set, but Sega did change the part numbers so they might be correct, the others
 2660         are suspicious, the changes are very similar but the part numbers haven't changed.  We really
 2661         need a 3rd board to verify */
 2662      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2663      ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(1de17e83) SHA1(04ee14b863f93b42a5bd1b6da71cff54ef11d4b7) ) /* Rom # matches tile rom # from Arabian Fight ??? */
 2664      ROM_LOAD16_BYTE( "mpr-14598f.ic5",  0x000001, 0x200000, CRC(cafb0de9) SHA1(94c6bfc7a4081dee373e9466a7b6f80889696087) ) /* Rom # matchrs tile rom # from Arabian Fight ??? */
 2665  
 2666      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2667      ROMX_LOAD( "brivalj_mp15637.32", 0x000000, 0x200000, CRC(f39844c0) SHA1(c48dc8cccdd9d3756cf99a983c6a89ed43fcda22) , ROM_SKIP(6)|ROM_GROUPWORD )
 2668      ROMX_LOAD( "brivalj_mp15635.30", 0x000002, 0x200000, CRC(263cf6d1) SHA1(7accd214502fd050edc0901c9929d6069dae4d00) , ROM_SKIP(6)|ROM_GROUPWORD )
 2669      ROMX_LOAD( "brivalj_mp15633.28", 0x000004, 0x200000, CRC(44e9a88b) SHA1(57a930b9c3b83c889df54de60c90f847c2dcb614) , ROM_SKIP(6)|ROM_GROUPWORD )
 2670      ROMX_LOAD( "brivalj_mp15631.26", 0x000006, 0x200000, CRC(e93cf9c9) SHA1(17786cd3ccaef613216db724e923861841c52b45) , ROM_SKIP(6)|ROM_GROUPWORD )
 2671      ROMX_LOAD( "brivalj_mp15636.31", 0x800000, 0x200000, CRC(079ff77f) SHA1(bdd41acef58c39ba58cf85d307229622877dbdf9) , ROM_SKIP(6)|ROM_GROUPWORD )
 2672      ROMX_LOAD( "brivalj_mp15634.29", 0x800002, 0x200000, CRC(1edc14cd) SHA1(80a281c904560b364fe9f2b8987b7a254220a29f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2673      ROMX_LOAD( "brivalj_mp15632.27", 0x800004, 0x200000, CRC(796215f2) SHA1(d7b393781dbba59c9b1cd600d27e6d91e36ea771) , ROM_SKIP(6)|ROM_GROUPWORD )
 2674      ROMX_LOAD( "brivalj_mp15630.25", 0x800006, 0x200000, CRC(8dabb501) SHA1(c5af2187d00e0b9732a82441f9758b303fecbb2c) , ROM_SKIP(6)|ROM_GROUPWORD )
 2675  ROM_END
 2676  
 2677  
 2678  /**************************************************************************************************************************
 2679   **************************************************************************************************************************
 2680   **************************************************************************************************************************
 2681      Dark Edge
 2682      protected via FD1149 317-0204
 2683  */
 2684  ROM_START( darkedge )
 2685      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2686      ROM_LOAD_x2( "epr-15246.ic8", 0x000000, 0x080000, CRC(c0bdceeb) SHA1(9cf670cf9a8691f259c75c1d9c6cb14e8a70bb72) )
 2687  
 2688      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2689      ROM_LOAD_x8( "epr-15243.ic36", 0x100000, 0x020000, CRC(08ca5f11) SHA1(c2c48d2f02770941a93794f82cb407d6264904d2) )
 2690      ROM_LOAD( "mpr-15242.ic35",    0x200000, 0x100000, CRC(ffb7d917) SHA1(bfeae1a2bd7250edb695b7034f6b1f851f6fd48a) )
 2691      ROM_LOAD( "mpr-15241.ic34",    0x300000, 0x100000, CRC(8eccc4fe) SHA1(119724b9b6d2b51ad4f065ebf74d200960090e68) )
 2692      ROM_LOAD( "mpr-15240.ic24",    0x400000, 0x100000, CRC(867d59e8) SHA1(fb1c0d26dbb1bde9d8bc86419cd911b8e37bf923) )
 2693  
 2694      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 2695      ROM_LOAD16_BYTE( "mpr-15248.ic14", 0x000000, 0x080000, CRC(185b308b) SHA1(a49c1b752b3c4355560e0cd712fb9a096140e37b) )
 2696      ROM_LOAD16_BYTE( "mpr-15247.ic5",  0x000001, 0x080000, CRC(be21548c) SHA1(2e315aadc2a0b781c3ee3fe71c75eb1f43514eff) )
 2697  
 2698      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2699      ROMX_LOAD( "mpr-15249.ic32", 0x000000, 0x200000, CRC(2b4371a8) SHA1(47f448bfbc068f2d0cdedd81bcd280823d5758a3) , ROM_SKIP(6)|ROM_GROUPWORD )
 2700      ROMX_LOAD( "mpr-15251.ic30", 0x000002, 0x200000, CRC(efe2d689) SHA1(af22153ea3afdde3732f881087c642170f91d745) , ROM_SKIP(6)|ROM_GROUPWORD )
 2701      ROMX_LOAD( "mpr-15253.ic28", 0x000004, 0x200000, CRC(8356ed01) SHA1(a28747813807361c7d0c722a94e194caea8bfab6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2702      ROMX_LOAD( "mpr-15255.ic26", 0x000006, 0x200000, CRC(ff04a5b0) SHA1(d4548f9da014ba5249c2f75d654a2a88c095aaf8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2703      ROMX_LOAD( "mpr-15250.ic31", 0x800000, 0x200000, CRC(c5cab71a) SHA1(111c69c40a39c3fceef38f5876e1dcf7ac2fbee2) , ROM_SKIP(6)|ROM_GROUPWORD )
 2704      ROMX_LOAD( "mpr-15252.ic29", 0x800002, 0x200000, CRC(f8885fea) SHA1(ef944df5f6fd64813734056ad2a150f518c75459) , ROM_SKIP(6)|ROM_GROUPWORD )
 2705      ROMX_LOAD( "mpr-15254.ic27", 0x800004, 0x200000, CRC(7765424b) SHA1(7cd4c275f6333beeea62dd65a769e11650c68923) , ROM_SKIP(6)|ROM_GROUPWORD )
 2706      ROMX_LOAD( "mpr-15256.ic25", 0x800006, 0x200000, CRC(44c36b62) SHA1(4c7f2cc4347ef2126dcbf43e8dce8500e52b5f8e) , ROM_SKIP(6)|ROM_GROUPWORD )
 2707  ROM_END
 2708  
 2709  /**************************************************************************************************************************
 2710      Dark Edge (Japan)
 2711      protected via FD1149 317-0204
 2712  */
 2713  ROM_START( darkedgej )
 2714      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2715      ROM_LOAD_x2( "epr-15244.ic8", 0x000000, 0x080000, CRC(0db138cb) SHA1(79ccb754e0d816b395b536a6d9c5a6e93168a913) )
 2716  
 2717      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2718      ROM_LOAD_x8( "epr-15243.ic36", 0x100000, 0x020000, CRC(08ca5f11) SHA1(c2c48d2f02770941a93794f82cb407d6264904d2) )
 2719      ROM_LOAD( "mpr-15242.ic35",    0x200000, 0x100000, CRC(ffb7d917) SHA1(bfeae1a2bd7250edb695b7034f6b1f851f6fd48a) )
 2720      ROM_LOAD( "mpr-15241.ic34",    0x300000, 0x100000, CRC(8eccc4fe) SHA1(119724b9b6d2b51ad4f065ebf74d200960090e68) )
 2721      ROM_LOAD( "mpr-15240.ic24",    0x400000, 0x100000, CRC(867d59e8) SHA1(fb1c0d26dbb1bde9d8bc86419cd911b8e37bf923) )
 2722  
 2723      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 2724      ROM_LOAD16_BYTE( "mpr-15248.ic14", 0x000000, 0x080000, CRC(185b308b) SHA1(a49c1b752b3c4355560e0cd712fb9a096140e37b) )
 2725      ROM_LOAD16_BYTE( "mpr-15247.ic5",  0x000001, 0x080000, CRC(be21548c) SHA1(2e315aadc2a0b781c3ee3fe71c75eb1f43514eff) )
 2726  
 2727      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2728      ROMX_LOAD( "mpr-15249.ic32", 0x000000, 0x200000, CRC(2b4371a8) SHA1(47f448bfbc068f2d0cdedd81bcd280823d5758a3) , ROM_SKIP(6)|ROM_GROUPWORD )
 2729      ROMX_LOAD( "mpr-15251.ic30", 0x000002, 0x200000, CRC(efe2d689) SHA1(af22153ea3afdde3732f881087c642170f91d745) , ROM_SKIP(6)|ROM_GROUPWORD )
 2730      ROMX_LOAD( "mpr-15253.ic28", 0x000004, 0x200000, CRC(8356ed01) SHA1(a28747813807361c7d0c722a94e194caea8bfab6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2731      ROMX_LOAD( "mpr-15255.ic26", 0x000006, 0x200000, CRC(ff04a5b0) SHA1(d4548f9da014ba5249c2f75d654a2a88c095aaf8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2732      ROMX_LOAD( "mpr-15250.ic31", 0x800000, 0x200000, CRC(c5cab71a) SHA1(111c69c40a39c3fceef38f5876e1dcf7ac2fbee2) , ROM_SKIP(6)|ROM_GROUPWORD )
 2733      ROMX_LOAD( "mpr-15252.ic29", 0x800002, 0x200000, CRC(f8885fea) SHA1(ef944df5f6fd64813734056ad2a150f518c75459) , ROM_SKIP(6)|ROM_GROUPWORD )
 2734      ROMX_LOAD( "mpr-15254.ic27", 0x800004, 0x200000, CRC(7765424b) SHA1(7cd4c275f6333beeea62dd65a769e11650c68923) , ROM_SKIP(6)|ROM_GROUPWORD )
 2735      ROMX_LOAD( "mpr-15256.ic25", 0x800006, 0x200000, CRC(44c36b62) SHA1(4c7f2cc4347ef2126dcbf43e8dce8500e52b5f8e) , ROM_SKIP(6)|ROM_GROUPWORD )
 2736  ROM_END
 2737  
 2738  
 2739  /**************************************************************************************************************************
 2740   **************************************************************************************************************************
 2741   **************************************************************************************************************************
 2742      Dragon Ball Z, VRVS
 2743      protected via FD1149 317-0215/0217
 2744  */
 2745  ROM_START( dbzvrvs )
 2746      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2747      ROM_LOAD( "16543",   0x000000, 0x080000, CRC(7b9bc6f5) SHA1(556fd8471bf471e41fc6a50471c2be1bd6b98697) )
 2748      ROM_LOAD( "16542.a", 0x080000, 0x080000, CRC(6449ab22) SHA1(03e6cdacf77f2ff80dd6798094deac5486f2c840) )
 2749  
 2750      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2751      ROM_LOAD_x4( "16541", 0x100000, 0x040000, CRC(1d61d836) SHA1(c6b1b54d41d2650abeaf69a31aa76c4462531880) )
 2752      ROM_LOAD( "16540",    0x200000, 0x100000, CRC(b6f9bb43) SHA1(823f29a2fc4b9315e8c58616dbd095d45d366c8b) )
 2753      ROM_LOAD( "16539",    0x300000, 0x100000, CRC(38c26418) SHA1(2442933e13c83209e904c1dec677aeda91b75290) )
 2754      ROM_LOAD( "16538",    0x400000, 0x100000, CRC(4d402c31) SHA1(2df160fd7e70f3d7b52fef2a2082e68966fd1535) )
 2755  
 2756      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 2757      ROM_LOAD16_BYTE( "16545", 0x000000, 0x100000, CRC(51748bac) SHA1(b1cae16b62a8d29117c0adb140eb09c1092f6c37) )
 2758      ROM_LOAD16_BYTE( "16544", 0x000001, 0x100000, CRC(f6c93dfc) SHA1(a006cedb7d0151ccc8d22e6588b1c39e099da182) )
 2759  
 2760      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2761      ROMX_LOAD( "16546", 0x000000, 0x200000, CRC(96f4be31) SHA1(ce3281630180d91de7850e9b1062382817fe0b1d) , ROM_SKIP(6)|ROM_GROUPWORD )
 2762      ROMX_LOAD( "16548", 0x000002, 0x200000, CRC(00377f59) SHA1(cf0f808d7730f334c5ac80d3171fa457be9ac88e) , ROM_SKIP(6)|ROM_GROUPWORD )
 2763      ROMX_LOAD( "16550", 0x000004, 0x200000, CRC(168e8966) SHA1(a18ec30f1358b09bcde6d8d2dbe0a82bea3bdae9) , ROM_SKIP(6)|ROM_GROUPWORD )
 2764      ROMX_LOAD( "16552", 0x000006, 0x200000, CRC(a31dae31) SHA1(2da2c391f29b5fdb87e3f95d9dabd50370fafa5a) , ROM_SKIP(6)|ROM_GROUPWORD )
 2765      ROMX_LOAD( "16547", 0x800000, 0x200000, CRC(50d328ed) SHA1(c4795299f5d7c9f3a847d684d8cde7012d4486f0) , ROM_SKIP(6)|ROM_GROUPWORD )
 2766      ROMX_LOAD( "16549", 0x800002, 0x200000, CRC(a5802e9f) SHA1(4cec3ed85a21aaf99b73013795721f212019e619) , ROM_SKIP(6)|ROM_GROUPWORD )
 2767      ROMX_LOAD( "16551", 0x800004, 0x200000, CRC(dede05fc) SHA1(51e092579e2b81fb68a9cc54165f80026fe71796) , ROM_SKIP(6)|ROM_GROUPWORD )
 2768      ROMX_LOAD( "16553", 0x800006, 0x200000, CRC(c0a43009) SHA1(e4f73768de512046b3e25c4238da811dcc2dde0b) , ROM_SKIP(6)|ROM_GROUPWORD )
 2769  ROM_END
 2770  
 2771  
 2772  /**************************************************************************************************************************
 2773   **************************************************************************************************************************
 2774   **************************************************************************************************************************
 2775      F1 Exhaust Note
 2776      to display the title screen this will require 2 linked system32 boards to be emulated
 2777  
 2778      Sega Game ID codes:
 2779       GAME BD NO. 833-8389-01 EXHAUST NOTE (USA)
 2780                   833-8389-02 EXHAUST NOTE (World)
 2781                   833-8389-03 EXHAUST NOTE (Japan)
 2782           ROM BD. 834-8439-01 (USA)
 2783                   834-8439-02 (World)
 2784                   834-8439-03 (Japan)
 2785          MAIN BD. 837-7428 (SYSTEM 32 COM)
 2786        A/D BD NO. 837-7536
 2787  */
 2788  ROM_START( f1en )
 2789      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2790      ROM_LOAD_x8( "epr14452a.006",       0x000000, 0x020000, CRC(b5b4a9d9) SHA1(6699c15dc1155c3cee33a06d320acbff0ab5ad11) )
 2791      ROM_LOAD16_BYTE_x2( "epr14445.014", 0x100000, 0x040000, CRC(d06261ab) SHA1(6e1c4ce4e49a142fd5b1ecac98145960d7afd567) )
 2792      ROM_LOAD16_BYTE_x2( "epr14444.007", 0x100001, 0x040000, CRC(07724354) SHA1(9d7f64a80553c4ae0e9cf716478fd5c4b8277470) )
 2793  
 2794      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2795      ROM_LOAD_x8( "epr14449.035", 0x100000, 0x020000, CRC(2d29699c) SHA1(cae02e5533a0edd3b3b4a54a1a43321285e06416) )
 2796      ROM_LOAD_x2( "epr14448.031", 0x200000, 0x080000, CRC(87ca1e8d) SHA1(739274171c13983a60d061176095645419dade49) )
 2797      ROM_LOAD_x2( "epr14447.026", 0x300000, 0x080000, CRC(db1cfcbd) SHA1(c76eb2ced5571a548ad00709097dd272747127a2) )
 2798      ROM_LOAD_x2( "epr14446.022", 0x400000, 0x080000, CRC(646ec2cb) SHA1(67e453f128ae227e22c68f55d0d3f5831fbeb2f9) )
 2799  
 2800      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 2801      ROM_LOAD32_BYTE( "mpr14362", 0x000000, 0x040000, CRC(fb1c4e79) SHA1(38ee23763b9e5bb62bbc54cab95041415404f0c4) )
 2802      ROM_LOAD32_BYTE( "mpr14361", 0x000002, 0x040000, CRC(e3204bda) SHA1(34157e80edd6d685bd5a5e23b1e0130a5f3d138a) )
 2803      ROM_LOAD32_BYTE( "mpr14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
 2804      ROM_LOAD32_BYTE( "mpr14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
 2805  
 2806      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 2807      ROMX_LOAD( "mpr14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
 2808      ROMX_LOAD( "mpr14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
 2809      ROMX_LOAD( "mpr14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
 2810      ROMX_LOAD( "mpr14367", 0x000003, 0x080000, CRC(77bb9003) SHA1(6370fdeab4967976840d752577cd860b9ce8efca) , ROM_SKIP(7) )
 2811      ROMX_LOAD( "mpr14366", 0x000004, 0x080000, CRC(21078e83) SHA1(f35f643c28aad3bf18cb9906b114c4f49b7b4cd1) , ROM_SKIP(7) )
 2812      ROMX_LOAD( "mpr14365", 0x000005, 0x080000, CRC(36913790) SHA1(4a447cffb44b023fe1441277db1e411d4cd119eb) , ROM_SKIP(7) )
 2813      ROMX_LOAD( "mpr14364", 0x000006, 0x080000, CRC(0fa12ecd) SHA1(6a34c7718edffbeddded8786e11cac181b485ebd) , ROM_SKIP(7) )
 2814      ROMX_LOAD( "mpr14363", 0x000007, 0x080000, CRC(f3427a56) SHA1(6a99d7432dfff35470ddcca5cfde36689a77e706) , ROM_SKIP(7) )
 2815  ROM_END
 2816  
 2817  
 2818  /**************************************************************************************************************************
 2819   **************************************************************************************************************************
 2820   **************************************************************************************************************************
 2821      F1 Super Lap
 2822      protected via FD1149 317-0210
 2823  */
 2824  ROM_START( f1lap )
 2825      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2826      ROM_LOAD_x4( "epr-15598.ic17",        0x000000, 0x020000, CRC(9feab7cd) SHA1(2a14c0df39e7bdae12a34679fabc6abb7618e27d) )
 2827      ROM_LOAD_x4( "epr-15611.ic8",         0x080000, 0x020000, CRC(0d8c97c2) SHA1(863c606c58faddc2bdaeb69f9079266155ff9a96) )
 2828      ROM_LOAD16_BYTE_x2( "epr-15596.ic18", 0x100000, 0x040000, CRC(20e92909) SHA1(b974c79e11bfbd1cee61f9041cf79971fd96db3a) )
 2829      ROM_LOAD16_BYTE_x2( "epr-15597.ic9",  0x100001, 0x040000, CRC(cd1ccddb) SHA1(ff0371a8010141d1ab81b5eba555ae7c64e5da37) )
 2830  
 2831      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2832      ROM_LOAD_x8( "epr-15592.ic36", 0x100000, 0x020000, CRC(7c055cc8) SHA1(169beb83dfae86dd408aa92b3c214b8f607825fc) )
 2833      ROM_LOAD( "mpr-15593.ic35",    0x200000, 0x100000, CRC(e7300441) SHA1(33c264f0e6326689ba75026932c0932868e83b25) )
 2834      ROM_LOAD( "mpr-15594.ic34",    0x300000, 0x100000, CRC(7f4ca3bb) SHA1(dc53a1857d619e574acb4c0587a6ba844df2d283) )
 2835      ROM_LOAD( "mpr-15595.ic24",    0x400000, 0x100000, CRC(3fbdad9a) SHA1(573ea2242f79c7d3b6bf0e6745f6b07a621834ac) )
 2836  
 2837      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2838      ROM_LOAD16_BYTE( "mpr-15608.ic14", 0x000000, 0x200000, CRC(64462c69) SHA1(9501e83c52e3e16f73b94cef975b5a31b2ee5476) )
 2839      ROM_LOAD16_BYTE( "mpr-15609.ic5",  0x000001, 0x200000, CRC(d586e455) SHA1(aea190d31c590216eb19766ba749b1e9b710bdce) )
 2840  
 2841      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2842      ROMX_LOAD( "mpr-15600.ic32", 0x000000, 0x200000, CRC(d2698d23) SHA1(996fbcc1d0814e6f14fa7e4870ece077ecda54e6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2843      ROMX_LOAD( "mpr-15602.ic30", 0x000002, 0x200000, CRC(1674764d) SHA1(bc39757a5d25df1a088f874ca2442854eb551e48) , ROM_SKIP(6)|ROM_GROUPWORD )
 2844      ROMX_LOAD( "mpr-15604.ic28", 0x000004, 0x200000, CRC(1552bbb9) SHA1(77edd3f9d8dec87fa0445d264309e6164eba9313) , ROM_SKIP(6)|ROM_GROUPWORD )
 2845      ROMX_LOAD( "mpr-15606.ic26", 0x000006, 0x200000, CRC(2b4f5265) SHA1(48b4ccdedb52fbf80661ff380e5a273201fc0a12) , ROM_SKIP(6)|ROM_GROUPWORD )
 2846      ROMX_LOAD( "mpr-15601.ic31", 0x800000, 0x200000, CRC(31a8f40a) SHA1(62798346750dea87e43c8a8b01c33bf886bb50f4) , ROM_SKIP(6)|ROM_GROUPWORD )
 2847      ROMX_LOAD( "mpr-15603.ic29", 0x800002, 0x200000, CRC(3805ecbc) SHA1(54d29250441160f282c70adfd515adb21d2cda33) , ROM_SKIP(6)|ROM_GROUPWORD )
 2848      ROMX_LOAD( "mpr-15605.ic27", 0x800004, 0x200000, CRC(cbdbf35e) SHA1(a1c0900ac3210e72f5848561a6c4a77c804782c6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2849      ROMX_LOAD( "mpr-15607.ic25", 0x800006, 0x200000, CRC(6c8817c9) SHA1(f5d493ed4237caf5042e95373bf9abd1fd16f873) , ROM_SKIP(6)|ROM_GROUPWORD )
 2850  
 2851      ROM_REGION( 0x20000, "user2", 0 ) /*  comms board  */
 2852      ROM_LOAD( "15612", 0x00000, 0x20000, CRC(9d204617) SHA1(8db57121065f5d1ac52fcfb88459bdbdc30e645b) )
 2853  ROM_END
 2854  
 2855  ROM_START( f1lapj )
 2856      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2857      ROM_LOAD_x4( "epr-15598.ic17",        0x000000, 0x020000, CRC(9feab7cd) SHA1(2a14c0df39e7bdae12a34679fabc6abb7618e27d) )
 2858      ROM_LOAD_x4( "epr-15599.ic8",         0x080000, 0x020000, CRC(5c5ac112) SHA1(2c071946e33f0700a832c7aad36f639acd35f555) )
 2859      ROM_LOAD16_BYTE_x2( "epr-15596.ic18", 0x100000, 0x040000, CRC(20e92909) SHA1(b974c79e11bfbd1cee61f9041cf79971fd96db3a) )
 2860      ROM_LOAD16_BYTE_x2( "epr-15597.ic9",  0x100001, 0x040000, CRC(cd1ccddb) SHA1(ff0371a8010141d1ab81b5eba555ae7c64e5da37) )
 2861  
 2862      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 2863      ROM_LOAD_x8( "epr-15592.ic36", 0x100000, 0x020000, CRC(7c055cc8) SHA1(169beb83dfae86dd408aa92b3c214b8f607825fc) )
 2864      ROM_LOAD( "mpr-15593.ic35",    0x200000, 0x100000, CRC(e7300441) SHA1(33c264f0e6326689ba75026932c0932868e83b25) )
 2865      ROM_LOAD( "mpr-15594.ic34",    0x300000, 0x100000, CRC(7f4ca3bb) SHA1(dc53a1857d619e574acb4c0587a6ba844df2d283) )
 2866      ROM_LOAD( "mpr-15595.ic24",    0x400000, 0x100000, CRC(3fbdad9a) SHA1(573ea2242f79c7d3b6bf0e6745f6b07a621834ac) )
 2867  
 2868      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2869      ROM_LOAD16_BYTE( "mpr-15608.ic14", 0x000000, 0x200000, CRC(64462c69) SHA1(9501e83c52e3e16f73b94cef975b5a31b2ee5476) )
 2870      ROM_LOAD16_BYTE( "mpr-15609.ic5",  0x000001, 0x200000, CRC(d586e455) SHA1(aea190d31c590216eb19766ba749b1e9b710bdce) )
 2871  
 2872      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2873      ROMX_LOAD( "mpr-15600.ic32", 0x000000, 0x200000, CRC(d2698d23) SHA1(996fbcc1d0814e6f14fa7e4870ece077ecda54e6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2874      ROMX_LOAD( "mpr-15602.ic30", 0x000002, 0x200000, CRC(1674764d) SHA1(bc39757a5d25df1a088f874ca2442854eb551e48) , ROM_SKIP(6)|ROM_GROUPWORD )
 2875      ROMX_LOAD( "mpr-15604.ic28", 0x000004, 0x200000, CRC(1552bbb9) SHA1(77edd3f9d8dec87fa0445d264309e6164eba9313) , ROM_SKIP(6)|ROM_GROUPWORD )
 2876      ROMX_LOAD( "mpr-15606.ic26", 0x000006, 0x200000, CRC(2b4f5265) SHA1(48b4ccdedb52fbf80661ff380e5a273201fc0a12) , ROM_SKIP(6)|ROM_GROUPWORD )
 2877      ROMX_LOAD( "mpr-15601.ic31", 0x800000, 0x200000, CRC(31a8f40a) SHA1(62798346750dea87e43c8a8b01c33bf886bb50f4) , ROM_SKIP(6)|ROM_GROUPWORD )
 2878      ROMX_LOAD( "mpr-15603.ic29", 0x800002, 0x200000, CRC(3805ecbc) SHA1(54d29250441160f282c70adfd515adb21d2cda33) , ROM_SKIP(6)|ROM_GROUPWORD )
 2879      ROMX_LOAD( "mpr-15605.ic27", 0x800004, 0x200000, CRC(cbdbf35e) SHA1(a1c0900ac3210e72f5848561a6c4a77c804782c6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2880      ROMX_LOAD( "mpr-15607.ic25", 0x800006, 0x200000, CRC(6c8817c9) SHA1(f5d493ed4237caf5042e95373bf9abd1fd16f873) , ROM_SKIP(6)|ROM_GROUPWORD )
 2881  
 2882      ROM_REGION( 0x20000, "user2", 0 ) /*  comms board  */
 2883      ROM_LOAD( "15612", 0x00000, 0x20000, CRC(9d204617) SHA1(8db57121065f5d1ac52fcfb88459bdbdc30e645b) )
 2884  ROM_END
 2885  
 2886  
 2887  
 2888  /**************************************************************************************************************************
 2889   **************************************************************************************************************************
 2890   **************************************************************************************************************************
 2891      Golden Axe: The Return of Death Adder
 2892      protected via a custom V25 with encrypted code
 2893  */
 2894  ROM_START( ga2 )
 2895      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2896      ROM_LOAD_x4( "epr-14961b.ic17",        0x000000, 0x020000, CRC(d9cd8885) SHA1(dc9d1f01770bd23ba5959e300badbc5093a149bc) )
 2897      ROM_LOAD_x4( "epr-14958b.ic8",         0x080000, 0x020000, CRC(0be324a3) SHA1(5e5f457548906453eaa8d326c353b47353eab73d) )
 2898      ROM_LOAD16_BYTE_x2( "epr-15148b.ic18", 0x100000, 0x040000, CRC(c477a9fd) SHA1(a9d60f801c12fd067e5ad1801a92c84edd13bd08) )
 2899      ROM_LOAD16_BYTE_x2( "epr-15147b.ic9",  0x100001, 0x040000, CRC(1bb676ea) SHA1(125ffd13204f48be23e20b281c42c2307888c40b) )
 2900  
 2901      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU + banks */
 2902      ROM_LOAD_x16( "epr-14945.ic36", 0x100000, 0x010000, CRC(4781d4cb) SHA1(bd1b774b3cd0c3e0290c55e426f66d6820d21d0f) )
 2903      ROM_LOAD( "mpr-14944.ic35",     0x200000, 0x100000, CRC(fd4d4b86) SHA1(e14b9cd6004bf9ecd902e37b433b828241361b46) )
 2904      ROM_LOAD( "mpr-14943.ic34",     0x300000, 0x100000, CRC(24d40333) SHA1(38faf8f3eac317a163e93bd2247fe98189b13d2d) )
 2905      ROM_LOAD( "mpr-14942.ic24",     0x400000, 0x100000, CRC(a89b0e90) SHA1(e14c62418eb7f9a2deb2a6dcf635bedc1c73c253) )
 2906  
 2907      ROM_REGION( 0x100000, "mcu", 0 ) /* Protection CPU */
 2908      ROM_LOAD( "epr-14468-02.u3", 0x00000, 0x10000, CRC(77634daa) SHA1(339169d164b9ed7dc3787b084d33effdc8e9efc1) ) /* located on separate sub board */
 2909  
 2910      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2911      ROM_LOAD16_BYTE( "mpr-14948.ic14", 0x000000, 0x200000, CRC(75050d4a) SHA1(51d6bc9935abcf30af438e69c2cf4e09f57a803f) )
 2912      ROM_LOAD16_BYTE( "mpr-14947.ic5",  0x000001, 0x200000, CRC(b53e62f4) SHA1(5aa0f198e6eb070b77b0d180d30c0228a9bc691e) )
 2913  
 2914      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2915      ROMX_LOAD( "mpr-14949.ic32", 0x000000, 0x200000, CRC(152c716c) SHA1(448d16ea036b66e886119c00af543dfa5e53fd84) , ROM_SKIP(6)|ROM_GROUPWORD )
 2916      ROMX_LOAD( "mpr-14951.ic30", 0x000002, 0x200000, CRC(fdb1a534) SHA1(3126b595bf69bf9952fedf8f9c6743eb10489dc6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2917      ROMX_LOAD( "mpr-14953.ic28", 0x000004, 0x200000, CRC(33bd1c15) SHA1(4e16562e3357d4db54b20543073e8f1fd6f74b1f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2918      ROMX_LOAD( "mpr-14955.ic26", 0x000006, 0x200000, CRC(e42684aa) SHA1(12e0f18a11edb46f09e2e8c5c4ba14170d0cf00d) , ROM_SKIP(6)|ROM_GROUPWORD )
 2919      ROMX_LOAD( "mpr-14950.ic31", 0x800000, 0x200000, CRC(15fd0026) SHA1(e918984bd60ad63172fe273b31cc9019100228c8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2920      ROMX_LOAD( "mpr-14952.ic29", 0x800002, 0x200000, CRC(96f96613) SHA1(4c9808866032dab0401de322c28242e8a8775457) , ROM_SKIP(6)|ROM_GROUPWORD )
 2921      ROMX_LOAD( "mpr-14954.ic27", 0x800004, 0x200000, CRC(39b2ac9e) SHA1(74f4c81d85ab9b4c5e8ae4b4d2c6dff766c482ca) , ROM_SKIP(6)|ROM_GROUPWORD )
 2922      ROMX_LOAD( "mpr-14956.ic25", 0x800006, 0x200000, CRC(298fca50) SHA1(16e09b19cc7be3dfc8e82b45348e6d1cf2ed5621) , ROM_SKIP(6)|ROM_GROUPWORD )
 2923  ROM_END
 2924  
 2925  /**************************************************************************************************************************
 2926      Golden Axe: The Return of Death Adder (U.S.)
 2927      protected via a custom V25 with encrypted code
 2928      Sega Game ID codes:
 2929       Game: 833-8932-02 GOLDEN AXE II AC USA
 2930  Rom board: 833-8933-01
 2931  Sub board: 834-8529-02
 2932  
 2933  */
 2934  ROM_START( ga2u )
 2935      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2936      ROM_LOAD_x4( "epr-14960a.ic17",        0x000000, 0x020000, CRC(87182fea) SHA1(bb669ea7091f1ea34589a565490effa934ca44a3) )
 2937      ROM_LOAD_x4( "epr-14957a.ic8",         0x080000, 0x020000, CRC(ab787cf4) SHA1(7e19bb3e5d587b5009efc9f9fa52aecaef0eedc4) )
 2938      ROM_LOAD16_BYTE_x2( "epr-15146a.ic18", 0x100000, 0x040000, CRC(7293d5c3) SHA1(535a8b4b4a05546b321cee8de6733edfc1f71589) )
 2939      ROM_LOAD16_BYTE_x2( "epr-15145a.ic9",  0x100001, 0x040000, CRC(0da61782) SHA1(f0302d747e5d55663095bb38732af423104c33ea) )
 2940  
 2941      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU + banks */
 2942      ROM_LOAD_x16( "epr-14945.ic36", 0x100000, 0x010000, CRC(4781d4cb) SHA1(bd1b774b3cd0c3e0290c55e426f66d6820d21d0f) )
 2943      ROM_LOAD( "mpr-14944.ic35",     0x200000, 0x100000, CRC(fd4d4b86) SHA1(e14b9cd6004bf9ecd902e37b433b828241361b46) )
 2944      ROM_LOAD( "mpr-14943.ic34",     0x300000, 0x100000, CRC(24d40333) SHA1(38faf8f3eac317a163e93bd2247fe98189b13d2d) )
 2945      ROM_LOAD( "mpr-14942.ic24",     0x400000, 0x100000, CRC(a89b0e90) SHA1(e14c62418eb7f9a2deb2a6dcf635bedc1c73c253) )
 2946  
 2947      ROM_REGION( 0x100000, "mcu", 0 ) /* Protection CPU */
 2948      ROM_LOAD( "epr-14468-02.u3", 0x00000, 0x10000, CRC(77634daa) SHA1(339169d164b9ed7dc3787b084d33effdc8e9efc1) ) /* located on separate sub board */
 2949  
 2950      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2951      ROM_LOAD16_BYTE( "mpr-14948.ic14", 0x000000, 0x200000, CRC(75050d4a) SHA1(51d6bc9935abcf30af438e69c2cf4e09f57a803f) )
 2952      ROM_LOAD16_BYTE( "mpr-14947.ic5",  0x000001, 0x200000, CRC(b53e62f4) SHA1(5aa0f198e6eb070b77b0d180d30c0228a9bc691e) )
 2953  
 2954      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2955      ROMX_LOAD( "mpr-14949.ic32", 0x000000, 0x200000, CRC(152c716c) SHA1(448d16ea036b66e886119c00af543dfa5e53fd84) , ROM_SKIP(6)|ROM_GROUPWORD )
 2956      ROMX_LOAD( "mpr-14951.ic30", 0x000002, 0x200000, CRC(fdb1a534) SHA1(3126b595bf69bf9952fedf8f9c6743eb10489dc6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2957      ROMX_LOAD( "mpr-14953.ic28", 0x000004, 0x200000, CRC(33bd1c15) SHA1(4e16562e3357d4db54b20543073e8f1fd6f74b1f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2958      ROMX_LOAD( "mpr-14955.ic26", 0x000006, 0x200000, CRC(e42684aa) SHA1(12e0f18a11edb46f09e2e8c5c4ba14170d0cf00d) , ROM_SKIP(6)|ROM_GROUPWORD )
 2959      ROMX_LOAD( "mpr-14950.ic31", 0x800000, 0x200000, CRC(15fd0026) SHA1(e918984bd60ad63172fe273b31cc9019100228c8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2960      ROMX_LOAD( "mpr-14952.ic29", 0x800002, 0x200000, CRC(96f96613) SHA1(4c9808866032dab0401de322c28242e8a8775457) , ROM_SKIP(6)|ROM_GROUPWORD )
 2961      ROMX_LOAD( "mpr-14954.ic27", 0x800004, 0x200000, CRC(39b2ac9e) SHA1(74f4c81d85ab9b4c5e8ae4b4d2c6dff766c482ca) , ROM_SKIP(6)|ROM_GROUPWORD )
 2962      ROMX_LOAD( "mpr-14956.ic25", 0x800006, 0x200000, CRC(298fca50) SHA1(16e09b19cc7be3dfc8e82b45348e6d1cf2ed5621) , ROM_SKIP(6)|ROM_GROUPWORD )
 2963  ROM_END
 2964  
 2965  /**************************************************************************************************************************
 2966      Golden Axe: The Return of Death Adder (Japan)
 2967      protected via a custom V25 with encrypted code
 2968  */
 2969  ROM_START( ga2j )
 2970      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 2971      ROM_LOAD_x4( "epr-14956.ic17",        0x000000, 0x020000, CRC(f1929177) SHA1(7dc39c40eff9fb46c2e51d1e83478cd6970e3951) )
 2972      ROM_LOAD_x4( "epr-14946.ic8",         0x080000, 0x020000, CRC(eacafe94) SHA1(d41a7e1ee2df9e053b559be0a1a6d2ae520fd3e4) )
 2973      ROM_LOAD16_BYTE_x2( "epr-14941.ic18", 0x100000, 0x040000, CRC(0ffb8203) SHA1(b27dce634d203af8abb6ddfb656d4c48eb54af01) )
 2974      ROM_LOAD16_BYTE_x2( "epr-14940.ic9",  0x100001, 0x040000, CRC(3b5b3084) SHA1(ea17f6b7fd413fe3808f822cec84c993c9b75aa2) )
 2975  
 2976      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU + banks */
 2977      ROM_LOAD_x16( "epr-14945.ic36", 0x100000, 0x010000, CRC(4781d4cb) SHA1(bd1b774b3cd0c3e0290c55e426f66d6820d21d0f) )
 2978      ROM_LOAD( "mpr-14944.ic35",     0x200000, 0x100000, CRC(fd4d4b86) SHA1(e14b9cd6004bf9ecd902e37b433b828241361b46) )
 2979      ROM_LOAD( "mpr-14943.ic34",     0x300000, 0x100000, CRC(24d40333) SHA1(38faf8f3eac317a163e93bd2247fe98189b13d2d) )
 2980      ROM_LOAD( "mpr-14942.ic24",     0x400000, 0x100000, CRC(a89b0e90) SHA1(e14c62418eb7f9a2deb2a6dcf635bedc1c73c253) )
 2981  
 2982      ROM_REGION( 0x100000, "mcu", 0 ) /* Protection CPU */
 2983      ROM_LOAD( "epr-14468-02.u3", 0x00000, 0x10000, CRC(77634daa) SHA1(339169d164b9ed7dc3787b084d33effdc8e9efc1) ) /* located on separate sub board */
 2984  
 2985      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 2986      ROM_LOAD16_BYTE( "mpr-14948.ic14", 0x000000, 0x200000, CRC(75050d4a) SHA1(51d6bc9935abcf30af438e69c2cf4e09f57a803f) )
 2987      ROM_LOAD16_BYTE( "mpr-14947.ic5",  0x000001, 0x200000, CRC(b53e62f4) SHA1(5aa0f198e6eb070b77b0d180d30c0228a9bc691e) )
 2988  
 2989      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 2990      ROMX_LOAD( "mpr-14949.ic32", 0x000000, 0x200000, CRC(152c716c) SHA1(448d16ea036b66e886119c00af543dfa5e53fd84) , ROM_SKIP(6)|ROM_GROUPWORD )
 2991      ROMX_LOAD( "mpr-14951.ic30", 0x000002, 0x200000, CRC(fdb1a534) SHA1(3126b595bf69bf9952fedf8f9c6743eb10489dc6) , ROM_SKIP(6)|ROM_GROUPWORD )
 2992      ROMX_LOAD( "mpr-14953.ic28", 0x000004, 0x200000, CRC(33bd1c15) SHA1(4e16562e3357d4db54b20543073e8f1fd6f74b1f) , ROM_SKIP(6)|ROM_GROUPWORD )
 2993      ROMX_LOAD( "mpr-14955.ic26", 0x000006, 0x200000, CRC(e42684aa) SHA1(12e0f18a11edb46f09e2e8c5c4ba14170d0cf00d) , ROM_SKIP(6)|ROM_GROUPWORD )
 2994      ROMX_LOAD( "mpr-14950.ic31", 0x800000, 0x200000, CRC(15fd0026) SHA1(e918984bd60ad63172fe273b31cc9019100228c8) , ROM_SKIP(6)|ROM_GROUPWORD )
 2995      ROMX_LOAD( "mpr-14952.ic29", 0x800002, 0x200000, CRC(96f96613) SHA1(4c9808866032dab0401de322c28242e8a8775457) , ROM_SKIP(6)|ROM_GROUPWORD )
 2996      ROMX_LOAD( "mpr-14954.ic27", 0x800004, 0x200000, CRC(39b2ac9e) SHA1(74f4c81d85ab9b4c5e8ae4b4d2c6dff766c482ca) , ROM_SKIP(6)|ROM_GROUPWORD )
 2997      ROMX_LOAD( "mpr-14956.ic25", 0x800006, 0x200000, CRC(298fca50) SHA1(16e09b19cc7be3dfc8e82b45348e6d1cf2ed5621) , ROM_SKIP(6)|ROM_GROUPWORD )
 2998  ROM_END
 2999  
 3000  
 3001  /**************************************************************************************************************************
 3002   **************************************************************************************************************************
 3003   **************************************************************************************************************************
 3004      Hard Dunk (Multi-32)
 3005      not protected
 3006  */
 3007  ROM_START( harddunk )
 3008      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3009      ROM_LOAD32_WORD_x2( "epr-16512.37", 0x000000, 0x40000, CRC(1a7de085) SHA1(2e0dac1f7715089b7f6b1035c859ffe2d674932f) )
 3010      /* the following is the same as 16509.40 but with a different name, unusual for Sega */
 3011      ROM_LOAD32_WORD_x2( "epr-16513.40", 0x000002, 0x40000, CRC(603dee75) SHA1(32ae964a4b57d470b4900cca6e06329f1a75a6e6) )
 3012  
 3013      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3014      ROM_LOAD_x4( "epr-16505", 0x100000, 0x20000, CRC(eeb90a07) SHA1(d1c2132897994b2e85fd5a97222b9fcd61bc421e) )
 3015  
 3016      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 3017      ROM_LOAD16_BYTE( "mpr-16503", 0x000000, 0x080000, CRC(ac1b6f1a) SHA1(56482931adf7fe551acf796b74cd8af3773d4fef) )
 3018      ROM_LOAD16_BYTE( "mpr-16504", 0x000001, 0x080000, CRC(7c61fcd8) SHA1(ca4354f90fada752bf11ee22a7798a8aa22b1c61) )
 3019  
 3020      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3021      ROMX_LOAD( "mpr-16495", 0x000000, 0x200000, CRC(6e5f26be) SHA1(146761072bbed08f4a9df8a474b34fab61afaa4f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3022      ROMX_LOAD( "mpr-16497", 0x000002, 0x200000, CRC(42ab5859) SHA1(f50c51eb81186aec5f747ecab4c5c928f8701afc) , ROM_SKIP(6)|ROM_GROUPWORD )
 3023      ROMX_LOAD( "mpr-16499", 0x000004, 0x200000, CRC(a290ea36) SHA1(2503b44174f23a9d323caab86553977d1d6d9c94) , ROM_SKIP(6)|ROM_GROUPWORD )
 3024      ROMX_LOAD( "mpr-16501", 0x000006, 0x200000, CRC(f1566620) SHA1(bcf31d11ee669d5afc7dc22c42fa59f4e48c1f50) , ROM_SKIP(6)|ROM_GROUPWORD )
 3025      ROMX_LOAD( "mpr-16496", 0x800000, 0x200000, CRC(d9d27247) SHA1(d211623478516ed1b89ab16a7fc7969954c5e353) , ROM_SKIP(6)|ROM_GROUPWORD )
 3026      ROMX_LOAD( "mpr-16498", 0x800002, 0x200000, CRC(c022a991) SHA1(a660a20692f4d9ba7be73577328f69f109be5e47) , ROM_SKIP(6)|ROM_GROUPWORD )
 3027      ROMX_LOAD( "mpr-16500", 0x800004, 0x200000, CRC(452c0be3) SHA1(af87ce4618bae2d791c1baed34ba7f853af664ff) , ROM_SKIP(6)|ROM_GROUPWORD )
 3028      ROMX_LOAD( "mpr-16502", 0x800006, 0x200000, CRC(ffc3147e) SHA1(12d882dec3098674d27058a8009e8778555f477a) , ROM_SKIP(6)|ROM_GROUPWORD )
 3029  
 3030      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3031      ROM_LOAD( "mpr-16506.1", 0x000000, 0x200000, CRC(e779f5ed) SHA1(462d1bbe8bb12a0c5a6d6c613c720b26ec21cb25) )
 3032      ROM_LOAD( "mpr-16507.2", 0x200000, 0x200000, CRC(31e068d3) SHA1(9ac88b15af441fb3b31ce759c565b60a09039571) )
 3033  ROM_END
 3034  
 3035  /**************************************************************************************************************************
 3036      Hard Dunk (Japan) (Multi-32)
 3037      not protected
 3038  */
 3039  ROM_START( harddunkj )
 3040      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3041      ROM_LOAD32_WORD_x2( "epr-16508.37", 0x000000, 0x40000, CRC(b3713be5) SHA1(8123638a838e41fcc0d32e14382421b521eff94f) )
 3042      ROM_LOAD32_WORD_x2( "epr-16509.40", 0x000002, 0x40000, CRC(603dee75) SHA1(32ae964a4b57d470b4900cca6e06329f1a75a6e6) )
 3043  
 3044      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3045      ROM_LOAD_x4( "epr-16505", 0x100000, 0x20000, CRC(eeb90a07) SHA1(d1c2132897994b2e85fd5a97222b9fcd61bc421e) )
 3046  
 3047      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 3048      ROM_LOAD16_BYTE( "mpr-16503", 0x000000, 0x080000, CRC(ac1b6f1a) SHA1(56482931adf7fe551acf796b74cd8af3773d4fef) )
 3049      ROM_LOAD16_BYTE( "mpr-16504", 0x000001, 0x080000, CRC(7c61fcd8) SHA1(ca4354f90fada752bf11ee22a7798a8aa22b1c61) )
 3050  
 3051      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3052      ROMX_LOAD( "mpr-16495", 0x000000, 0x200000, CRC(6e5f26be) SHA1(146761072bbed08f4a9df8a474b34fab61afaa4f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3053      ROMX_LOAD( "mpr-16497", 0x000002, 0x200000, CRC(42ab5859) SHA1(f50c51eb81186aec5f747ecab4c5c928f8701afc) , ROM_SKIP(6)|ROM_GROUPWORD )
 3054      ROMX_LOAD( "mpr-16499", 0x000004, 0x200000, CRC(a290ea36) SHA1(2503b44174f23a9d323caab86553977d1d6d9c94) , ROM_SKIP(6)|ROM_GROUPWORD )
 3055      ROMX_LOAD( "mpr-16501", 0x000006, 0x200000, CRC(f1566620) SHA1(bcf31d11ee669d5afc7dc22c42fa59f4e48c1f50) , ROM_SKIP(6)|ROM_GROUPWORD )
 3056      ROMX_LOAD( "mpr-16496", 0x800000, 0x200000, CRC(d9d27247) SHA1(d211623478516ed1b89ab16a7fc7969954c5e353) , ROM_SKIP(6)|ROM_GROUPWORD )
 3057      ROMX_LOAD( "mpr-16498", 0x800002, 0x200000, CRC(c022a991) SHA1(a660a20692f4d9ba7be73577328f69f109be5e47) , ROM_SKIP(6)|ROM_GROUPWORD )
 3058      ROMX_LOAD( "mpr-16500", 0x800004, 0x200000, CRC(452c0be3) SHA1(af87ce4618bae2d791c1baed34ba7f853af664ff) , ROM_SKIP(6)|ROM_GROUPWORD )
 3059      ROMX_LOAD( "mpr-16502", 0x800006, 0x200000, CRC(ffc3147e) SHA1(12d882dec3098674d27058a8009e8778555f477a) , ROM_SKIP(6)|ROM_GROUPWORD )
 3060  
 3061      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3062      ROM_LOAD( "mpr-16506.1", 0x000000, 0x200000, CRC(e779f5ed) SHA1(462d1bbe8bb12a0c5a6d6c613c720b26ec21cb25) )
 3063      ROM_LOAD( "mpr-16507.2", 0x200000, 0x200000, CRC(31e068d3) SHA1(9ac88b15af441fb3b31ce759c565b60a09039571) )
 3064  ROM_END
 3065  
 3066  
 3067  /**************************************************************************************************************************
 3068   **************************************************************************************************************************
 3069   **************************************************************************************************************************
 3070      Holosseum
 3071      not protected
 3072       Game: 833-8887-01 HOLOSSEUM
 3073  Rom board: 834-8888-01
 3074  
 3075  */
 3076  ROM_START( holo )
 3077      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3078      ROM_LOAD_x4( "epr-14977a",       0x000000, 0x020000, CRC(e0d7e288) SHA1(3126041ba73f21fac0207bf5c63230c61180f564) )
 3079      ROM_LOAD_x4( "epr-14976a",       0x080000, 0x020000, CRC(e56f13be) SHA1(3d9e7add8feaa35c4c2e8bda84ae251087bd5e40) )
 3080      ROM_LOAD16_BYTE_x4( "epr-15011", 0x100000, 0x020000, CRC(b9f59f59) SHA1(f8c91fa877cf53153bec3d7850eab38227cc18ba) )
 3081      ROM_LOAD16_BYTE_x4( "epr-15010", 0x100001, 0x020000, CRC(0c09c57b) SHA1(028a9fe1c625be218ba90906308d25d69d4de4c4) )
 3082  
 3083      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3084      ROM_LOAD_x8( "epr-14965", 0x100000, 0x020000, CRC(3a918cfe) SHA1(f43ecbc9e774873e868bc921321541b308ea1a3c) )
 3085      ROM_LOAD( "mpr-14964",    0x200000, 0x100000, CRC(7ff581d5) SHA1(ab81bd70937319e4edc8924bdb493d5ef1ec096a) )
 3086      ROM_LOAD( "mpr-14963",    0x300000, 0x100000, CRC(0974a60e) SHA1(87d770edcee9c9e8f37d36ab28c5aa5d685ea849) )
 3087      ROM_LOAD( "mpr-14962",    0x400000, 0x100000, CRC(6b2e694e) SHA1(7874bdfd534231c7756e0e0d9fc7a3d5bdba74d3) )
 3088  
 3089      ROM_REGION( 0x000100, "gfx1", ROMREGION_ERASEFF ) /* tiles */
 3090      /* game doesn't use bg tilemaps */
 3091  
 3092      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3093      ROMX_LOAD( "mpr-14973", 0x000000, 0x100000, CRC(b3c3ff6b) SHA1(94e8dbfae37a5b122ee3d471aad1f758e4a39b9e) , ROM_SKIP(7) )
 3094      ROMX_LOAD( "mpr-14972", 0x000001, 0x100000, CRC(0c161374) SHA1(413ab45deb687ecdbdc06ae98aa32ad8a0d80e0c) , ROM_SKIP(7) )
 3095      ROMX_LOAD( "mpr-14971", 0x000002, 0x100000, CRC(dfcf6fdf) SHA1(417291b54010be20dd6738a70d372b580615a8bb) , ROM_SKIP(7) )
 3096      ROMX_LOAD( "mpr-14970", 0x000003, 0x100000, CRC(cae3a745) SHA1(b6cc1f4abb460cda4714967e880928dc727ecf0a) , ROM_SKIP(7) )
 3097      ROMX_LOAD( "mpr-14969", 0x000004, 0x100000, CRC(c06b7c15) SHA1(8b97a899e6eacf798b9f55af8df95e12ccacadec) , ROM_SKIP(7) )
 3098      ROMX_LOAD( "mpr-14968", 0x000005, 0x100000, CRC(f413894a) SHA1(d65f57b1e55199e901c7c2f701589c46eeab739a) , ROM_SKIP(7) )
 3099      ROMX_LOAD( "mpr-14967", 0x000006, 0x100000, CRC(5377fce0) SHA1(baf8f82ab851b24202938fc7213d72324b9b92c0) , ROM_SKIP(7) )
 3100      ROMX_LOAD( "mpr-14966", 0x000007, 0x100000, CRC(dffba2e9) SHA1(b97e47e78abb8302bc2c87681643382203bd76eb) , ROM_SKIP(7) )
 3101  ROM_END
 3102  
 3103  
 3104  /**************************************************************************************************************************
 3105   **************************************************************************************************************************
 3106   **************************************************************************************************************************
 3107      Jurassic Park
 3108      not protected
 3109       Game: 833-10544 JURASSIC PARK
 3110     ROM BD: 834-10545
 3111  A/D BD NO: 837-7536-91
 3112  */
 3113  ROM_START( jpark )
 3114      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3115      ROM_LOAD_x2( "epr-16402a.ic8",     0x000000, 0x80000, CRC(c70db239) SHA1(fd79dfd1ce194fcc8ccb58117bc845cdfe9943b1) )
 3116      ROM_LOAD16_BYTE( "epr-16395.ic18", 0x100000, 0x80000, CRC(ac5a01d6) SHA1(df6bffdf5723cb8790a9c1c0ab271989a758bdd8) )
 3117      ROM_LOAD16_BYTE( "epr-16394.ic9",  0x100001, 0x80000, CRC(c08c3a8a) SHA1(923cf256d863656336401fa75103b42298cb3822) )
 3118  
 3119      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3120      ROM_LOAD_x4( "epr-16399.ic36", 0x100000, 0x040000, CRC(b09b2fe3) SHA1(bf8d646bab65fcc4ece8c2bd9a3df389e5860ed6) )
 3121      ROM_LOAD( "mpr-16398.ic35",    0x200000, 0x100000, CRC(fa710ca6) SHA1(1fd625070eef5f99d7be07606aeeff9282e32532) )
 3122      ROM_LOAD( "mpr-16397.ic34",    0x300000, 0x100000, CRC(6e96e0be) SHA1(422b783b72127b80a23043b2dd1c04f5772f436e) )
 3123      ROM_LOAD( "mpr-16396.ic24",    0x400000, 0x100000, CRC(f69a2dc4) SHA1(3f02b10976852916c58e852f3161a857784fe36b) )
 3124  
 3125      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3126      ROM_LOAD16_BYTE( "mpr-16404.ic14", 0x000000, 0x200000, CRC(11283807) SHA1(99e465c3fc31e640740b8257a349e203f026754a) )
 3127      ROM_LOAD16_BYTE( "mpr-16403.ic5",  0x000001, 0x200000, CRC(02530a9b) SHA1(b43e1b47f74c801bfc599cbe893fb8dc13453dd0) )
 3128  
 3129      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3130      ROMX_LOAD( "mpr-16405.ic32", 0x000000, 0x200000, CRC(b425f182) SHA1(66c6bd29dd3450db816b895c4c9c5208a66aae67) , ROM_SKIP(6)|ROM_GROUPWORD )
 3131      ROMX_LOAD( "mpr-16407.ic30", 0x000002, 0x200000, CRC(bc49ffd9) SHA1(a50ba7ddccfdfd7638c4041978b39c1559afbbb4) , ROM_SKIP(6)|ROM_GROUPWORD )
 3132      ROMX_LOAD( "mpr-16409.ic28", 0x000004, 0x200000, CRC(fe73660d) SHA1(ec1a3ea5303d2ccb9e327da18476969953626e1c) , ROM_SKIP(6)|ROM_GROUPWORD )
 3133      ROMX_LOAD( "mpr-16411.ic26", 0x000006, 0x200000, CRC(71cabbc5) SHA1(9760f57ef43eb251488dadd37711d5682d902434) , ROM_SKIP(6)|ROM_GROUPWORD )
 3134      ROMX_LOAD( "mpr-16406.ic31", 0x800000, 0x200000, CRC(b9ed73d6) SHA1(0dd22e7a21e95d84fc91acd742c737f96529f515) , ROM_SKIP(6)|ROM_GROUPWORD )
 3135      ROMX_LOAD( "mpr-16408.ic29", 0x800002, 0x200000, CRC(7b2f476b) SHA1(da99a9911982ba8aaef8c9aecc2977c9fd6da094) , ROM_SKIP(6)|ROM_GROUPWORD )
 3136      ROMX_LOAD( "mpr-16410.ic27", 0x800004, 0x200000, CRC(49c8f952) SHA1(f26b818711910b10bf520e5f849a1478a6b1d6e6) , ROM_SKIP(6)|ROM_GROUPWORD )
 3137      ROMX_LOAD( "mpr-16412.ic25", 0x800006, 0x200000, CRC(105dc26e) SHA1(fd2ef8c9fe1a78b4f9cc891a6fbd060184e58a1f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3138  
 3139      ROM_REGION( 0x10000, "cpu2", 0 ) /* unused */
 3140      ROM_LOAD( "epr-13908.xx", 0x00000, 0x8000, CRC(6228c1d2) SHA1(bd37fe775534fb94c9af80546948ce5f9c47bbf5) ) /* cabinet movement */
 3141  ROM_END
 3142  
 3143  ROM_START( jparkj )
 3144      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3145      ROM_LOAD_x2( "epr-16400.ic8",      0x000000, 0x80000, CRC(321c3411) SHA1(c53e7ed5f2e523741a521c9cd271123ab557cc4a) )
 3146      ROM_LOAD16_BYTE( "epr-16395.ic18", 0x100000, 0x80000, CRC(ac5a01d6) SHA1(df6bffdf5723cb8790a9c1c0ab271989a758bdd8) )
 3147      ROM_LOAD16_BYTE( "epr-16394.ic9",  0x100001, 0x80000, CRC(c08c3a8a) SHA1(923cf256d863656336401fa75103b42298cb3822) )
 3148  
 3149      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3150      ROM_LOAD_x4( "epr-16399.ic36", 0x100000, 0x040000, CRC(b09b2fe3) SHA1(bf8d646bab65fcc4ece8c2bd9a3df389e5860ed6) )
 3151      ROM_LOAD( "mpr-16398.ic35",    0x200000, 0x100000, CRC(fa710ca6) SHA1(1fd625070eef5f99d7be07606aeeff9282e32532) )
 3152      ROM_LOAD( "mpr-16397.ic34",    0x300000, 0x100000, CRC(6e96e0be) SHA1(422b783b72127b80a23043b2dd1c04f5772f436e) )
 3153      ROM_LOAD( "mpr-16396.ic24",    0x400000, 0x100000, CRC(f69a2dc4) SHA1(3f02b10976852916c58e852f3161a857784fe36b) )
 3154  
 3155      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3156      ROM_LOAD16_BYTE( "mpr-16404.ic14", 0x000000, 0x200000, CRC(11283807) SHA1(99e465c3fc31e640740b8257a349e203f026754a) )
 3157      ROM_LOAD16_BYTE( "mpr-16403.ic5",  0x000001, 0x200000, CRC(02530a9b) SHA1(b43e1b47f74c801bfc599cbe893fb8dc13453dd0) )
 3158  
 3159      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3160      ROMX_LOAD( "mpr-16405.ic32", 0x000000, 0x200000, CRC(b425f182) SHA1(66c6bd29dd3450db816b895c4c9c5208a66aae67) , ROM_SKIP(6)|ROM_GROUPWORD )
 3161      ROMX_LOAD( "mpr-16407.ic30", 0x000002, 0x200000, CRC(bc49ffd9) SHA1(a50ba7ddccfdfd7638c4041978b39c1559afbbb4) , ROM_SKIP(6)|ROM_GROUPWORD )
 3162      ROMX_LOAD( "mpr-16409.ic28", 0x000004, 0x200000, CRC(fe73660d) SHA1(ec1a3ea5303d2ccb9e327da18476969953626e1c) , ROM_SKIP(6)|ROM_GROUPWORD )
 3163      ROMX_LOAD( "mpr-16411.ic26", 0x000006, 0x200000, CRC(71cabbc5) SHA1(9760f57ef43eb251488dadd37711d5682d902434) , ROM_SKIP(6)|ROM_GROUPWORD )
 3164      ROMX_LOAD( "mpr-16406.ic31", 0x800000, 0x200000, CRC(b9ed73d6) SHA1(0dd22e7a21e95d84fc91acd742c737f96529f515) , ROM_SKIP(6)|ROM_GROUPWORD )
 3165      ROMX_LOAD( "mpr-16408.ic29", 0x800002, 0x200000, CRC(7b2f476b) SHA1(da99a9911982ba8aaef8c9aecc2977c9fd6da094) , ROM_SKIP(6)|ROM_GROUPWORD )
 3166      ROMX_LOAD( "mpr-16410.ic27", 0x800004, 0x200000, CRC(49c8f952) SHA1(f26b818711910b10bf520e5f849a1478a6b1d6e6) , ROM_SKIP(6)|ROM_GROUPWORD )
 3167      ROMX_LOAD( "mpr-16412.ic25", 0x800006, 0x200000, CRC(105dc26e) SHA1(fd2ef8c9fe1a78b4f9cc891a6fbd060184e58a1f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3168  
 3169      ROM_REGION( 0x10000, "cpu2", 0 ) /* unused */
 3170      ROM_LOAD( "epr-13908.xx", 0x00000, 0x8000, CRC(6228c1d2) SHA1(bd37fe775534fb94c9af80546948ce5f9c47bbf5) ) /* cabinet movement */
 3171  ROM_END
 3172  
 3173  
 3174  /**************************************************************************************************************************
 3175   **************************************************************************************************************************
 3176   **************************************************************************************************************************
 3177      Kokoroji 2
 3178      Sega System32 + CD - Sega 1993
 3179  
 3180      Rom Board is 837-8393 16Mb ROM board (Same as godenaxe2 or Arabian Fight)
 3181  
 3182      SCSI CD board is 839-0572-01. It use a Fujitsu MB89352AP for SCSI + a Sony CXD1095Q for I/O + 8Mhz quartz
 3183  */
 3184  ROM_START( kokoroj2 )
 3185      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3186      ROM_LOAD_x8( "epr-16186.ic8",     0x000000,  0x20000, CRC(8c3afb6e) SHA1(68c3c066a943b1ea8e3bee06c7c8279b5a12e7f7) )
 3187      ROM_LOAD16_BYTE( "epr-16183.ic18", 0x100000, 0x80000, CRC(4844432f) SHA1(b127169d0f108e0b99ec81814a5c3c45bb82e0b1) )
 3188      ROM_LOAD16_BYTE( "epr-16182.ic9",  0x100001, 0x80000, CRC(a27f5f5f) SHA1(c2bbd1632bce0851cf8ab45d3ccbec1076e67f5e) )
 3189  
 3190      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3191      ROM_LOAD_x4( "epr-16185.ic36", 0x100000, 0x020000, CRC(afb97c4d) SHA1(f6e77d932824f93d89559a9cb3b2d678d5fc6940) )
 3192      ROM_LOAD( "mpr-16184.ic35",    0x200000, 0x080000, CRC(dbd44a85) SHA1(e7341d2ef27c580bff365b5c546da2adb72faee8) )
 3193  
 3194      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3195      ROM_LOAD16_BYTE( "mpr-16188.ic14", 0x000000, 0x200000, CRC(83a450ab) SHA1(1d0b45512d784ed1d82135b84c7c540f92d789f7) )
 3196      ROM_LOAD16_BYTE( "mpr-16187.ic5",  0x000001, 0x200000, CRC(98b62f8b) SHA1(eaf98efd9eac7b7c385138a8a4dbc94b0ca38df5) )
 3197  
 3198      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3199      ROMX_LOAD( "mpr-16189.ic32", 0x000000, 0x200000, CRC(0937f713) SHA1(4b2b09ec8ed97794ad3824d1c57eae7f7e01379c) , ROM_SKIP(6)|ROM_GROUPWORD )
 3200      ROMX_LOAD( "mpr-16191.ic30", 0x000002, 0x200000, CRC(cfef4aaa) SHA1(bc8a252dcbdb8facdd91eda7aed0f56fe7529d15) , ROM_SKIP(6)|ROM_GROUPWORD )
 3201      ROMX_LOAD( "mpr-16193.ic28", 0x000004, 0x200000, CRC(a0706e4e) SHA1(1f36d952971c05db4190b229aa4957db3e5224f1) , ROM_SKIP(6)|ROM_GROUPWORD )
 3202      ROMX_LOAD( "mpr-16195.ic26", 0x000006, 0x200000, CRC(a4ddcd61) SHA1(90ef40f1fc84d1e4d4f78c33b8f0d1f56e04bf90) , ROM_SKIP(6)|ROM_GROUPWORD )
 3203      ROMX_LOAD( "mpr-16190.ic31", 0x800000, 0x200000, CRC(528d408e) SHA1(89f8a2cfc8b59377d6a65555c3172e457b131502) , ROM_SKIP(6)|ROM_GROUPWORD )
 3204      ROMX_LOAD( "mpr-16192.ic29", 0x800002, 0x200000, CRC(efaa93d1) SHA1(2947eaf7fc358ced1c04e7abe7a3f3066c73f2d0) , ROM_SKIP(6)|ROM_GROUPWORD )
 3205      ROMX_LOAD( "mpr-16194.ic27", 0x800004, 0x200000, CRC(39b5efe7) SHA1(2039909a2dd46951d442f1b6377f365525f9f2f1) , ROM_SKIP(6)|ROM_GROUPWORD )
 3206      ROMX_LOAD( "mpr-16196.ic25", 0x800006, 0x200000, CRC(b8e22e05) SHA1(dd667e2c5d421cba356421825e6aca9b5ca0af45) , ROM_SKIP(6)|ROM_GROUPWORD )
 3207  
 3208      /* AUDIO CD */
 3209      DISK_REGION( "cdrom" )
 3210      DISK_IMAGE_READONLY( "cdp-00146", 0, SHA1(0b37e0ea2380ecd9abef2ccd6a8096d76d2ba344) )
 3211  ROM_END
 3212  
 3213  /**************************************************************************************************************************
 3214   **************************************************************************************************************************
 3215   **************************************************************************************************************************
 3216      Outrunners (Multi-32)
 3217      not protected
 3218  
 3219      Sega Game ID codes:
 3220       GAME BD NO. 834-9559-01 (USA)
 3221                   834-9559-02 (World)
 3222                   834-9559-03 (Japan)
 3223           ROM BD. 837-9560-01 (USA)
 3224                   837-9560-02 (World)
 3225                   837-9560-03 (Japan)
 3226          MAIN BD. 837-8676 (SYSTEM MULTI)
 3227        A/D BD NO. 837-7536
 3228          COMM BD. 837-8792
 3229  */
 3230  ROM_START( orunners )
 3231      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3232      ROM_LOAD32_WORD_x4( "epr15620.37", 0x000000, 0x020000, CRC(84f5ad92) SHA1(1f9cb04b42b2d450be93400d9979a7910eaf05d1) )
 3233      ROM_LOAD32_WORD_x4( "epr15621.40", 0x000002, 0x020000, CRC(d98b765a) SHA1(b58567e976228267a86af53de2135bc0b247a44a) )
 3234      ROM_LOAD32_WORD( "mpr15538.bin",   0x100000, 0x080000, CRC(93958820) SHA1(e19b6f18a5707dbb64ae009d63c05eac5bac4a81) )
 3235      ROM_LOAD32_WORD( "mpr15539.bin",   0x100002, 0x080000, CRC(219760fa) SHA1(bd62a83de9c9542f6da454a87dc4947492f65c52) )
 3236  
 3237      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3238      ROM_LOAD( "epr15550.bin", 0x100000, 0x80000, CRC(0205d2ed) SHA1(3475479e1a45fe96eefbe53842758898db7accbf) )
 3239  
 3240      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3241      ROM_LOAD16_BYTE( "mpr15548.bin", 0x000000, 0x200000, CRC(b6470a66) SHA1(e1544590c02d41f62f82a4d771b893fb0f2734c7) )
 3242      ROM_LOAD16_BYTE( "mpr15549.bin", 0x000001, 0x200000, CRC(81d12520) SHA1(1555893941e832f00ad3d0b3ad0c34a0d3a1c58a) )
 3243  
 3244      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3245      ROMX_LOAD( "mpr15540.bin", 0x000000, 0x200000, CRC(a10d72b4) SHA1(6d9d5e20be6721b53ce49df4d5a1bbd91f5b3aed) , ROM_SKIP(6)|ROM_GROUPWORD )
 3246      ROMX_LOAD( "mpr15542.bin", 0x000002, 0x200000, CRC(40952374) SHA1(c669ef52508bc2f49cf812dc86ac98fb535471fa) , ROM_SKIP(6)|ROM_GROUPWORD )
 3247      ROMX_LOAD( "mpr15544.bin", 0x000004, 0x200000, CRC(39e3df45) SHA1(38a7b21617b45613b05509dda388f8f7770b186c) , ROM_SKIP(6)|ROM_GROUPWORD )
 3248      ROMX_LOAD( "mpr15546.bin", 0x000006, 0x200000, CRC(e3fcc12c) SHA1(1cf7e05c7873f68789a27a91cddf471df40d7907) , ROM_SKIP(6)|ROM_GROUPWORD )
 3249      ROMX_LOAD( "mpr15541.bin", 0x800000, 0x200000, CRC(a2003c2d) SHA1(200a2c7d78d3f5f28909267fdcdbddd58c5f5fa2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3250      ROMX_LOAD( "mpr15543.bin", 0x800002, 0x200000, CRC(933e8e7b) SHA1(0d53286f524f47851a483569dc37e9f6d34cc5f4) , ROM_SKIP(6)|ROM_GROUPWORD )
 3251      ROMX_LOAD( "mpr15545.bin", 0x800004, 0x200000, CRC(53dd0235) SHA1(4aee5ae1820ff933b6bd8a54bdbf989c0bc95c1a) , ROM_SKIP(6)|ROM_GROUPWORD )
 3252      ROMX_LOAD( "mpr15547.bin", 0x800006, 0x200000, CRC(edcb2a43) SHA1(f0bcfcc749ca0267f85bf9838164869912944d00) , ROM_SKIP(6)|ROM_GROUPWORD )
 3253  
 3254      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3255      ROM_LOAD( "mpr15551.bin", 0x000000, 0x200000, CRC(4894bc73) SHA1(351f5c03fb430fd87df915dfe3a377b5ada622c4) )
 3256      ROM_LOAD( "mpr15552.bin", 0x200000, 0x200000, CRC(1c4b5e73) SHA1(50a8e9a200575a3522a51bf094aa0e87b90bb0a3) )
 3257  ROM_END
 3258  
 3259  /**************************************************************************************************************************
 3260      Outrunners (U.S.)
 3261      not protected
 3262  */
 3263  
 3264  ROM_START( orunnersu )
 3265      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3266      ROM_LOAD32_WORD_x4( "epr15618.37", 0x000000, 0x020000, CRC(25647f76) SHA1(9f882921ebb2f078350295c322b263f75812c053) )
 3267      ROM_LOAD32_WORD_x4( "epr15619.40", 0x000002, 0x020000, CRC(2a558f95) SHA1(616ec0a7b251da61a49b933c58895b1a4d39417a) )
 3268      ROM_LOAD32_WORD( "mpr15538.bin",   0x100000, 0x080000, CRC(93958820) SHA1(e19b6f18a5707dbb64ae009d63c05eac5bac4a81) )
 3269      ROM_LOAD32_WORD( "mpr15539.bin",   0x100002, 0x080000, CRC(219760fa) SHA1(bd62a83de9c9542f6da454a87dc4947492f65c52) )
 3270  
 3271      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3272      ROM_LOAD( "epr15550.bin", 0x100000, 0x80000, CRC(0205d2ed) SHA1(3475479e1a45fe96eefbe53842758898db7accbf) )
 3273  
 3274      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3275      ROM_LOAD16_BYTE( "mpr15548.bin", 0x000000, 0x200000, CRC(b6470a66) SHA1(e1544590c02d41f62f82a4d771b893fb0f2734c7) )
 3276      ROM_LOAD16_BYTE( "mpr15549.bin", 0x000001, 0x200000, CRC(81d12520) SHA1(1555893941e832f00ad3d0b3ad0c34a0d3a1c58a) )
 3277  
 3278      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3279      ROMX_LOAD( "mpr15540.bin", 0x000000, 0x200000, CRC(a10d72b4) SHA1(6d9d5e20be6721b53ce49df4d5a1bbd91f5b3aed) , ROM_SKIP(6)|ROM_GROUPWORD )
 3280      ROMX_LOAD( "mpr15542.bin", 0x000002, 0x200000, CRC(40952374) SHA1(c669ef52508bc2f49cf812dc86ac98fb535471fa) , ROM_SKIP(6)|ROM_GROUPWORD )
 3281      ROMX_LOAD( "mpr15544.bin", 0x000004, 0x200000, CRC(39e3df45) SHA1(38a7b21617b45613b05509dda388f8f7770b186c) , ROM_SKIP(6)|ROM_GROUPWORD )
 3282      ROMX_LOAD( "mpr15546.bin", 0x000006, 0x200000, CRC(e3fcc12c) SHA1(1cf7e05c7873f68789a27a91cddf471df40d7907) , ROM_SKIP(6)|ROM_GROUPWORD )
 3283      ROMX_LOAD( "mpr15541.bin", 0x800000, 0x200000, CRC(a2003c2d) SHA1(200a2c7d78d3f5f28909267fdcdbddd58c5f5fa2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3284      ROMX_LOAD( "mpr15543.bin", 0x800002, 0x200000, CRC(933e8e7b) SHA1(0d53286f524f47851a483569dc37e9f6d34cc5f4) , ROM_SKIP(6)|ROM_GROUPWORD )
 3285      ROMX_LOAD( "mpr15545.bin", 0x800004, 0x200000, CRC(53dd0235) SHA1(4aee5ae1820ff933b6bd8a54bdbf989c0bc95c1a) , ROM_SKIP(6)|ROM_GROUPWORD )
 3286      ROMX_LOAD( "mpr15547.bin", 0x800006, 0x200000, CRC(edcb2a43) SHA1(f0bcfcc749ca0267f85bf9838164869912944d00) , ROM_SKIP(6)|ROM_GROUPWORD )
 3287  
 3288      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3289      ROM_LOAD( "mpr15551.bin", 0x000000, 0x200000, CRC(4894bc73) SHA1(351f5c03fb430fd87df915dfe3a377b5ada622c4) )
 3290      ROM_LOAD( "mpr15552.bin", 0x200000, 0x200000, CRC(1c4b5e73) SHA1(50a8e9a200575a3522a51bf094aa0e87b90bb0a3) )
 3291  ROM_END
 3292  
 3293  /**************************************************************************************************************************
 3294      Outrunners (Japan)
 3295      not protected
 3296  */
 3297  
 3298  ROM_START( orunnersj )
 3299      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3300      ROM_LOAD32_WORD_x4( "epr15616.37", 0x000000, 0x020000, CRC(fb550545) SHA1(2f2c36843b115f5417e1f2ccd4a34ebf91265190) ) /* Need to verify the EPR numbers */
 3301      ROM_LOAD32_WORD_x4( "epr15617.40", 0x000002, 0x020000, CRC(6bb741e0) SHA1(d92087a2c0b6de4287e569eecf9758615a85d1eb) ) /* Need to verify the EPR numbers */
 3302      ROM_LOAD32_WORD( "mpr15538.bin",   0x100000, 0x080000, CRC(93958820) SHA1(e19b6f18a5707dbb64ae009d63c05eac5bac4a81) )
 3303      ROM_LOAD32_WORD( "mpr15539.bin",   0x100002, 0x080000, CRC(219760fa) SHA1(bd62a83de9c9542f6da454a87dc4947492f65c52) )
 3304  
 3305      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3306      ROM_LOAD( "epr15550.bin", 0x100000, 0x80000, CRC(0205d2ed) SHA1(3475479e1a45fe96eefbe53842758898db7accbf) )
 3307  
 3308      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3309      ROM_LOAD16_BYTE( "mpr15548.bin", 0x000000, 0x200000, CRC(b6470a66) SHA1(e1544590c02d41f62f82a4d771b893fb0f2734c7) )
 3310      ROM_LOAD16_BYTE( "mpr15549.bin", 0x000001, 0x200000, CRC(81d12520) SHA1(1555893941e832f00ad3d0b3ad0c34a0d3a1c58a) )
 3311  
 3312      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3313      ROMX_LOAD( "mpr15540.bin", 0x000000, 0x200000, CRC(a10d72b4) SHA1(6d9d5e20be6721b53ce49df4d5a1bbd91f5b3aed) , ROM_SKIP(6)|ROM_GROUPWORD )
 3314      ROMX_LOAD( "mpr15542.bin", 0x000002, 0x200000, CRC(40952374) SHA1(c669ef52508bc2f49cf812dc86ac98fb535471fa) , ROM_SKIP(6)|ROM_GROUPWORD )
 3315      ROMX_LOAD( "mpr15544.bin", 0x000004, 0x200000, CRC(39e3df45) SHA1(38a7b21617b45613b05509dda388f8f7770b186c) , ROM_SKIP(6)|ROM_GROUPWORD )
 3316      ROMX_LOAD( "mpr15546.bin", 0x000006, 0x200000, CRC(e3fcc12c) SHA1(1cf7e05c7873f68789a27a91cddf471df40d7907) , ROM_SKIP(6)|ROM_GROUPWORD )
 3317      ROMX_LOAD( "mpr15541.bin", 0x800000, 0x200000, CRC(a2003c2d) SHA1(200a2c7d78d3f5f28909267fdcdbddd58c5f5fa2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3318      ROMX_LOAD( "mpr15543.bin", 0x800002, 0x200000, CRC(933e8e7b) SHA1(0d53286f524f47851a483569dc37e9f6d34cc5f4) , ROM_SKIP(6)|ROM_GROUPWORD )
 3319      ROMX_LOAD( "mpr15545.bin", 0x800004, 0x200000, CRC(53dd0235) SHA1(4aee5ae1820ff933b6bd8a54bdbf989c0bc95c1a) , ROM_SKIP(6)|ROM_GROUPWORD )
 3320      ROMX_LOAD( "mpr15547.bin", 0x800006, 0x200000, CRC(edcb2a43) SHA1(f0bcfcc749ca0267f85bf9838164869912944d00) , ROM_SKIP(6)|ROM_GROUPWORD )
 3321  
 3322      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3323      ROM_LOAD( "mpr15551.bin", 0x000000, 0x200000, CRC(4894bc73) SHA1(351f5c03fb430fd87df915dfe3a377b5ada622c4) )
 3324      ROM_LOAD( "mpr15552.bin", 0x200000, 0x200000, CRC(1c4b5e73) SHA1(50a8e9a200575a3522a51bf094aa0e87b90bb0a3) )
 3325  ROM_END
 3326  
 3327  
 3328  /**************************************************************************************************************************
 3329   **************************************************************************************************************************
 3330   **************************************************************************************************************************
 3331      Rad Mobile Deluxe Cabinet (Export)
 3332      not protected
 3333  
 3334      Sega Game ID codes:
 3335      GAME BD NO. 833-7738-01 RAD MOBILE (USA)
 3336                  833-7738-02 RAD MOBILE (Export)
 3337                  833-7738-03 RAD MOBILE (Japan)
 3338          ROM BD. 834-7739-01 (USA)
 3339                  834-7739-02 (Export)
 3340                  834-7739-03 (Japan)
 3341        MAIN BD. 837-7428
 3342      A/D BD NO. 837-7536
 3343  
 3344      Upright Cabinet:
 3345    USA:  EPR-13690.ic21 (dumped)
 3346          EPR-13691.ic37 (not dumped)
 3347          EPR-13692.ic38 (not dumped)
 3348  
 3349  Exprot: EPR-13693.ic21 (dumped)
 3350          EPR-13694.ic37 (not dumped)
 3351          EPR-13695.ic38 (not dumped)
 3352  
 3353      Japanese version is undumped. There is likely a Japanese specific sound rom at IC20 (EPR-13524.ic20 ??)
 3354  */
 3355  ROM_START( radm )
 3356      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3357      ROM_LOAD_x8( "epr-13693.ic21",     0x000000, 0x020000, CRC(3f09a211) SHA1(e0e011d7069745e9bf0395bc1375d0f8b9c46dab) )
 3358      ROM_LOAD16_BYTE( "epr-13525.ic37", 0x100000, 0x080000, CRC(62ad83a0) SHA1(b537176ebca15d91db04d5d7ab36aa967d41288e) )
 3359      ROM_LOAD16_BYTE( "epr-13526.ic38", 0x100001, 0x080000, CRC(59ea372a) SHA1(e7a5d59586652c59c23e07e0a99ecc740fb6144d) )
 3360  
 3361      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3362      ROM_LOAD_x8( "epr-13527.ic9",  0x100000, 0x020000, CRC(a2e3fbbe) SHA1(2787bbef696ab3f2b7855ac991867837d3de54cd) )
 3363      ROM_LOAD_x2( "epr-13523.ic14", 0x200000, 0x080000, CRC(d5563697) SHA1(eb3fd3dbfea383ac1bb5d2e1552723994cb4693d) )
 3364      ROM_LOAD_x2( "epr-13699.ic20", 0x300000, 0x080000, CRC(33fd2913) SHA1(60b664559b4989446b1c7d875432e53a36fe27df) )
 3365      ROM_LOAD_x2( "epr-13523.ic22", 0x400000, 0x080000, CRC(d5563697) SHA1(eb3fd3dbfea383ac1bb5d2e1552723994cb4693d) ) /* Deluxe or Upright manuals don't show this rom */
 3366  
 3367      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3368      ROM_LOAD32_BYTE( "mpr-13519.ic3",  0x000000, 0x080000, CRC(bedc9534) SHA1(7b3f7a47b6c0ca6707dc3c1167f3564d43adb32f) )
 3369      ROM_LOAD32_BYTE( "mpr-13520.ic7",  0x000002, 0x080000, CRC(3532e91a) SHA1(669c8d27b4b48e1ab9d6d30b0994f5a4e5169118) )
 3370      ROM_LOAD32_BYTE( "mpr-13521.ic12", 0x000001, 0x080000, CRC(e9bca903) SHA1(18a73c830b9755262a1c525e3ad5ae084117b64d) )
 3371      ROM_LOAD32_BYTE( "mpr-13522.ic18", 0x000003, 0x080000, CRC(25e04648) SHA1(617e794e8f7aa2a435bac917b8968699fe88dafb) )
 3372  
 3373      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3374      ROMX_LOAD( "mpr-13511.ic1",  0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
 3375      ROMX_LOAD( "mpr-13512.ic5",  0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
 3376      ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
 3377      ROMX_LOAD( "mpr-13514.ic16", 0x000003, 0x100000, CRC(d0f9ebd1) SHA1(510ebd3d7a52bcab2debea61591770d1dff172a1) , ROM_SKIP(7) )
 3378      ROMX_LOAD( "mpr-13515.ic2",  0x000004, 0x100000, CRC(77bf2387) SHA1(7215dde5618e238edbe16b3007ede790785fe25f) , ROM_SKIP(7) )
 3379      ROMX_LOAD( "mpr-13516.ic6",  0x000005, 0x100000, CRC(8c4bc62d) SHA1(3206f623ec0b7558413d063404103b183f26b488) , ROM_SKIP(7) )
 3380      ROMX_LOAD( "mpr-13517.ic11", 0x000006, 0x100000, CRC(1d7d84a7) SHA1(954cfccfc7250a5bead2eeba42e655d5ac82955f) , ROM_SKIP(7) )
 3381      ROMX_LOAD( "mpr-13518.ic17", 0x000007, 0x100000, CRC(9ea4b15d) SHA1(7dcfd6d42bb945beca8344cf92e7bd53903a824b) , ROM_SKIP(7) )
 3382  
 3383      ROM_REGION( 0x8000, "user2", 0 ) /* unused (cabinet motor?) */
 3384      ROM_LOAD( "epr-13686.bin", 0x00000, 0x8000, CRC(317a2857) SHA1(e0788dc7a7d214d9c4d26b24e44c1a0dc9ae477c) ) /* cabinet movement */
 3385  
 3386      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 3387      ROM_LOAD16_WORD( "eeprom-radm.bin", 0x0000, 0x0080, CRC(b1737c06) SHA1(29448a6effeb53322a93158feb9a62bc6ad31f21) )
 3388  ROM_END
 3389  
 3390  /**************************************************************************************************************************
 3391      Rad Mobile Deluxe Cabinet (U.S.)
 3392      not protected
 3393  */
 3394  ROM_START( radmu )
 3395      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3396      ROM_LOAD_x8( "epr-13690.ic21",     0x000000, 0x020000, CRC(21637dec) SHA1(b9921effb10a72f3bdca4d540149c7f46662b716) )
 3397      ROM_LOAD16_BYTE( "epr-13525.ic37", 0x100000, 0x080000, CRC(62ad83a0) SHA1(b537176ebca15d91db04d5d7ab36aa967d41288e) )
 3398      ROM_LOAD16_BYTE( "epr-13526.ic38", 0x100001, 0x080000, CRC(59ea372a) SHA1(e7a5d59586652c59c23e07e0a99ecc740fb6144d) )
 3399  
 3400      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3401      ROM_LOAD_x8( "epr-13527.ic9",  0x100000, 0x020000, CRC(a2e3fbbe) SHA1(2787bbef696ab3f2b7855ac991867837d3de54cd) )
 3402      ROM_LOAD_x2( "epr-13523.ic14", 0x200000, 0x080000, CRC(d5563697) SHA1(eb3fd3dbfea383ac1bb5d2e1552723994cb4693d) )
 3403      ROM_LOAD_x2( "epr-13699.ic20", 0x300000, 0x080000, CRC(33fd2913) SHA1(60b664559b4989446b1c7d875432e53a36fe27df) )
 3404      ROM_LOAD_x2( "epr-13523.ic22", 0x400000, 0x080000, CRC(d5563697) SHA1(eb3fd3dbfea383ac1bb5d2e1552723994cb4693d) ) /* Deluxe or Upright manuals don't show this rom */
 3405  
 3406      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3407      ROM_LOAD32_BYTE( "mpr-13519.ic3",  0x000000, 0x080000, CRC(bedc9534) SHA1(7b3f7a47b6c0ca6707dc3c1167f3564d43adb32f) )
 3408      ROM_LOAD32_BYTE( "mpr-13520.ic7",  0x000002, 0x080000, CRC(3532e91a) SHA1(669c8d27b4b48e1ab9d6d30b0994f5a4e5169118) )
 3409      ROM_LOAD32_BYTE( "mpr-13521.ic12", 0x000001, 0x080000, CRC(e9bca903) SHA1(18a73c830b9755262a1c525e3ad5ae084117b64d) )
 3410      ROM_LOAD32_BYTE( "mpr-13522.ic18", 0x000003, 0x080000, CRC(25e04648) SHA1(617e794e8f7aa2a435bac917b8968699fe88dafb) )
 3411  
 3412      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3413      ROMX_LOAD( "mpr-13511.ic1",  0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
 3414      ROMX_LOAD( "mpr-13512.ic5",  0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
 3415      ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
 3416      ROMX_LOAD( "mpr-13514.ic16", 0x000003, 0x100000, CRC(d0f9ebd1) SHA1(510ebd3d7a52bcab2debea61591770d1dff172a1) , ROM_SKIP(7) )
 3417      ROMX_LOAD( "mpr-13515.ic2",  0x000004, 0x100000, CRC(77bf2387) SHA1(7215dde5618e238edbe16b3007ede790785fe25f) , ROM_SKIP(7) )
 3418      ROMX_LOAD( "mpr-13516.ic6",  0x000005, 0x100000, CRC(8c4bc62d) SHA1(3206f623ec0b7558413d063404103b183f26b488) , ROM_SKIP(7) )
 3419      ROMX_LOAD( "mpr-13517.ic11", 0x000006, 0x100000, CRC(1d7d84a7) SHA1(954cfccfc7250a5bead2eeba42e655d5ac82955f) , ROM_SKIP(7) )
 3420      ROMX_LOAD( "mpr-13518.ic17", 0x000007, 0x100000, CRC(9ea4b15d) SHA1(7dcfd6d42bb945beca8344cf92e7bd53903a824b) , ROM_SKIP(7) )
 3421  
 3422      ROM_REGION( 0x8000, "user2", 0 ) /* unused (cabinet motor?) */
 3423      ROM_LOAD( "epr-13686.bin", 0x00000, 0x8000, CRC(317a2857) SHA1(e0788dc7a7d214d9c4d26b24e44c1a0dc9ae477c) ) /* cabinet movement */
 3424  
 3425      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 3426      ROM_LOAD16_WORD( "eeprom-radm.bin", 0x0000, 0x0080, CRC(b1737c06) SHA1(29448a6effeb53322a93158feb9a62bc6ad31f21) )
 3427  ROM_END
 3428  
 3429  
 3430  /**************************************************************************************************************************
 3431   **************************************************************************************************************************
 3432   **************************************************************************************************************************
 3433      Rad Rally
 3434      not protected
 3435  
 3436      Sega Game ID codes:
 3437       Game: 833-8110-01 RAD RALLY (USA)
 3438             833-8110-02 RAD RALLY (Export)
 3439             833-8110-03 RAD RALLY (Japan)
 3440  Rom board: 833-8111-01 (USA)
 3441             833-8111-02 (Export)
 3442             833-8111-03 (Japan)
 3443  A/D BD NO. 837-7536
 3444  
 3445  */
 3446  ROM_START( radr )
 3447      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3448      ROM_LOAD_x8( "epr-14241.ic21",     0x000000, 0x020000, CRC(59a5f63d) SHA1(325a26a09475ddc828de71e71a1d3043f3959cec) )
 3449      ROM_LOAD16_BYTE( "epr-14106.ic37", 0x100000, 0x080000, CRC(e73c63bf) SHA1(30fb68eaa7d02a232c873bd7751cac7d0fa08e44) )
 3450      ROM_LOAD16_BYTE( "epr-14107.ic38", 0x100001, 0x080000, CRC(832f797a) SHA1(b0c16ef7bd8d37f592975052ba9da3da70a2fc79) )
 3451  
 3452      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3453      ROM_LOAD_x8( "epr-14108.ic9",  0x100000, 0x020000, CRC(38a99b4d) SHA1(b6455e6b29bfef41c5e0ebe3a8064889b7e5f5fd) )
 3454      ROM_LOAD_x2( "epr-14109.ic14", 0x200000, 0x080000, CRC(b42e5833) SHA1(da94ce7c1d7a581a1aa6b79b323c67a919918808) )
 3455      ROM_LOAD_x2( "epr-14110.ic20", 0x300000, 0x080000, CRC(b495e7dc) SHA1(b4143fcee10e0649378fdb1e3f5a0a2c585414ec) )
 3456      ROM_LOAD_x2( "epr-14237.ic22", 0x400000, 0x080000, CRC(0a4b4b29) SHA1(98447a587f903ba03e17d6a145b7c8bfddf25c4d) )
 3457  
 3458      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 3459      ROM_LOAD32_BYTE( "epr-14102.ic3",  0x000000, 0x040000, CRC(5626e80f) SHA1(9844817295a8cd8a9b09da6681b0c1fbfe82618e) )
 3460      ROM_LOAD32_BYTE( "epr-14103.ic7",  0x000002, 0x040000, CRC(08c7e804) SHA1(cf45b1934edc43cb3a0ed72159949cb0dd00d701) )
 3461      ROM_LOAD32_BYTE( "epr-14104.ic12", 0x000001, 0x040000, CRC(b0173646) SHA1(1ba4edc033e0e4f5a1e02987e9f6b8b1650b46d7) )
 3462      ROM_LOAD32_BYTE( "epr-14105.ic18", 0x000003, 0x040000, CRC(614843b6) SHA1(d4f2cd3b024f7152d6e89237f0da06adea2efe57) )
 3463  
 3464      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3465      ROMX_LOAD( "mpr-13511.ic1",  0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
 3466      ROMX_LOAD( "mpr-13512.ic5",  0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
 3467      ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
 3468      ROMX_LOAD( "mpr-13514.ic16", 0x000003, 0x100000, CRC(d0f9ebd1) SHA1(510ebd3d7a52bcab2debea61591770d1dff172a1) , ROM_SKIP(7) )
 3469      ROMX_LOAD( "mpr-13515.ic2",  0x000004, 0x100000, CRC(77bf2387) SHA1(7215dde5618e238edbe16b3007ede790785fe25f) , ROM_SKIP(7) )
 3470      ROMX_LOAD( "mpr-13516.ic6",  0x000005, 0x100000, CRC(8c4bc62d) SHA1(3206f623ec0b7558413d063404103b183f26b488) , ROM_SKIP(7) )
 3471      ROMX_LOAD( "mpr-13517.ic11", 0x000006, 0x100000, CRC(1d7d84a7) SHA1(954cfccfc7250a5bead2eeba42e655d5ac82955f) , ROM_SKIP(7) )
 3472      ROMX_LOAD( "mpr-13518.ic17", 0x000007, 0x100000, CRC(9ea4b15d) SHA1(7dcfd6d42bb945beca8344cf92e7bd53903a824b) , ROM_SKIP(7) )
 3473  
 3474      ROM_REGION( 0x8000, "user2", 0 ) /* unused */
 3475      ROM_LOAD( "epr-14084.17", 0x00000, 0x8000, CRC(f14ed074) SHA1(e1bb23eac85e3236046527c5c7688f6f23d43aef) ) /* cabinet link */
 3476  
 3477      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 3478      ROM_LOAD16_WORD( "eeprom-radr.bin", 0x0000, 0x0080, CRC(602032c6) SHA1(fecf14017e537fe870457d2a8d4f86ec6d442b90) )
 3479  ROM_END
 3480  
 3481  /**************************************************************************************************************************
 3482      Rad Rally (U.S.)
 3483      not protected
 3484  */
 3485  ROM_START( radru )
 3486      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3487      ROM_LOAD_x8( "epr-14240.ic21",     0x000000, 0x020000, CRC(8473e7ab) SHA1(fbd883dc804d7de6ce239b68c6e6ae3a54e9e03c) )
 3488      ROM_LOAD16_BYTE( "epr-14106.ic37", 0x100000, 0x080000, CRC(e73c63bf) SHA1(30fb68eaa7d02a232c873bd7751cac7d0fa08e44) )
 3489      ROM_LOAD16_BYTE( "epr-14107.ic38", 0x100001, 0x080000, CRC(832f797a) SHA1(b0c16ef7bd8d37f592975052ba9da3da70a2fc79) )
 3490  
 3491      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3492      ROM_LOAD_x8( "epr-14108.ic9",  0x100000, 0x020000, CRC(38a99b4d) SHA1(b6455e6b29bfef41c5e0ebe3a8064889b7e5f5fd) )
 3493      ROM_LOAD_x2( "epr-14109.ic14", 0x200000, 0x080000, CRC(b42e5833) SHA1(da94ce7c1d7a581a1aa6b79b323c67a919918808) )
 3494      ROM_LOAD_x2( "epr-14110.ic20", 0x300000, 0x080000, CRC(b495e7dc) SHA1(b4143fcee10e0649378fdb1e3f5a0a2c585414ec) )
 3495      ROM_LOAD_x2( "epr-14237.ic22", 0x400000, 0x080000, CRC(0a4b4b29) SHA1(98447a587f903ba03e17d6a145b7c8bfddf25c4d) )
 3496  
 3497      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 3498      ROM_LOAD32_BYTE( "epr-14102.ic3",  0x000000, 0x040000, CRC(5626e80f) SHA1(9844817295a8cd8a9b09da6681b0c1fbfe82618e) )
 3499      ROM_LOAD32_BYTE( "epr-14103.ic7",  0x000002, 0x040000, CRC(08c7e804) SHA1(cf45b1934edc43cb3a0ed72159949cb0dd00d701) )
 3500      ROM_LOAD32_BYTE( "epr-14104.ic12", 0x000001, 0x040000, CRC(b0173646) SHA1(1ba4edc033e0e4f5a1e02987e9f6b8b1650b46d7) )
 3501      ROM_LOAD32_BYTE( "epr-14105.ic16", 0x000003, 0x040000, CRC(614843b6) SHA1(d4f2cd3b024f7152d6e89237f0da06adea2efe57) )
 3502  
 3503      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3504      ROMX_LOAD( "mpr-13511.ic1",  0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
 3505      ROMX_LOAD( "mpr-13512.ic5",  0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
 3506      ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
 3507      ROMX_LOAD( "mpr-13514.ic16", 0x000003, 0x100000, CRC(d0f9ebd1) SHA1(510ebd3d7a52bcab2debea61591770d1dff172a1) , ROM_SKIP(7) )
 3508      ROMX_LOAD( "mpr-13515.ic2",  0x000004, 0x100000, CRC(77bf2387) SHA1(7215dde5618e238edbe16b3007ede790785fe25f) , ROM_SKIP(7) )
 3509      ROMX_LOAD( "mpr-13516.ic6",  0x000005, 0x100000, CRC(8c4bc62d) SHA1(3206f623ec0b7558413d063404103b183f26b488) , ROM_SKIP(7) )
 3510      ROMX_LOAD( "mpr-13517.ic11", 0x000006, 0x100000, CRC(1d7d84a7) SHA1(954cfccfc7250a5bead2eeba42e655d5ac82955f) , ROM_SKIP(7) )
 3511      ROMX_LOAD( "mpr-13518.ic17", 0x000007, 0x100000, CRC(9ea4b15d) SHA1(7dcfd6d42bb945beca8344cf92e7bd53903a824b) , ROM_SKIP(7) )
 3512  
 3513      ROM_REGION( 0x8000, "user2", 0 ) /* unused */
 3514      ROM_LOAD( "epr-14084.17", 0x00000, 0x8000, CRC(f14ed074) SHA1(e1bb23eac85e3236046527c5c7688f6f23d43aef) ) /* cabinet link */
 3515  
 3516      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 3517      ROM_LOAD16_WORD( "eeprom-radr.bin", 0x0000, 0x0080, CRC(602032c6) SHA1(fecf14017e537fe870457d2a8d4f86ec6d442b90) )
 3518  ROM_END
 3519  
 3520  /**************************************************************************************************************************
 3521      Rad Rally (Japan)
 3522      not protected
 3523  */
 3524  ROM_START( radrj )
 3525      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3526      ROM_LOAD_x8( "epr-14111.ic21",     0x000000, 0x020000, CRC(7adc6d17) SHA1(fc312a30b077ba060b6d98ab6ecccd2e16b32fc2) )
 3527      ROM_LOAD16_BYTE( "epr-14106.ic37", 0x100000, 0x080000, CRC(e73c63bf) SHA1(30fb68eaa7d02a232c873bd7751cac7d0fa08e44) )
 3528      ROM_LOAD16_BYTE( "epr-14107.ic38", 0x100001, 0x080000, CRC(832f797a) SHA1(b0c16ef7bd8d37f592975052ba9da3da70a2fc79) )
 3529  
 3530      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3531      ROM_LOAD_x8( "epr-14108.ic9",  0x100000, 0x020000, CRC(38a99b4d) SHA1(b6455e6b29bfef41c5e0ebe3a8064889b7e5f5fd) )
 3532      ROM_LOAD_x2( "epr-14109.ic14", 0x200000, 0x080000, CRC(b42e5833) SHA1(da94ce7c1d7a581a1aa6b79b323c67a919918808) )
 3533      ROM_LOAD_x2( "epr-14110.ic20", 0x300000, 0x080000, CRC(b495e7dc) SHA1(b4143fcee10e0649378fdb1e3f5a0a2c585414ec) )
 3534      ROM_LOAD_x2( "epr-14237.ic22", 0x400000, 0x080000, CRC(0a4b4b29) SHA1(98447a587f903ba03e17d6a145b7c8bfddf25c4d) )
 3535  
 3536      ROM_REGION( 0x100000, "gfx1", 0 ) /* tiles */
 3537      ROM_LOAD32_BYTE( "epr-14102.ic3",  0x000000, 0x040000, CRC(5626e80f) SHA1(9844817295a8cd8a9b09da6681b0c1fbfe82618e) )
 3538      ROM_LOAD32_BYTE( "epr-14103.ic7",  0x000002, 0x040000, CRC(08c7e804) SHA1(cf45b1934edc43cb3a0ed72159949cb0dd00d701) )
 3539      ROM_LOAD32_BYTE( "epr-14104.ic12", 0x000001, 0x040000, CRC(b0173646) SHA1(1ba4edc033e0e4f5a1e02987e9f6b8b1650b46d7) )
 3540      ROM_LOAD32_BYTE( "epr-14105.ic16", 0x000003, 0x040000, CRC(614843b6) SHA1(d4f2cd3b024f7152d6e89237f0da06adea2efe57) )
 3541  
 3542      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3543      ROMX_LOAD( "mpr-13511.ic1",  0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
 3544      ROMX_LOAD( "mpr-13512.ic5",  0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
 3545      ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
 3546      ROMX_LOAD( "mpr-13514.ic16", 0x000003, 0x100000, CRC(d0f9ebd1) SHA1(510ebd3d7a52bcab2debea61591770d1dff172a1) , ROM_SKIP(7) )
 3547      ROMX_LOAD( "mpr-13515.ic2",  0x000004, 0x100000, CRC(77bf2387) SHA1(7215dde5618e238edbe16b3007ede790785fe25f) , ROM_SKIP(7) )
 3548      ROMX_LOAD( "mpr-13516.ic6",  0x000005, 0x100000, CRC(8c4bc62d) SHA1(3206f623ec0b7558413d063404103b183f26b488) , ROM_SKIP(7) )
 3549      ROMX_LOAD( "mpr-13517.ic11", 0x000006, 0x100000, CRC(1d7d84a7) SHA1(954cfccfc7250a5bead2eeba42e655d5ac82955f) , ROM_SKIP(7) )
 3550      ROMX_LOAD( "mpr-13518.ic17", 0x000007, 0x100000, CRC(9ea4b15d) SHA1(7dcfd6d42bb945beca8344cf92e7bd53903a824b) , ROM_SKIP(7) )
 3551  
 3552      ROM_REGION( 0x8000, "user2", 0 ) /* unused */
 3553      ROM_LOAD( "epr-14084.17", 0x00000, 0x8000, CRC(f14ed074) SHA1(e1bb23eac85e3236046527c5c7688f6f23d43aef) ) /* cabinet link */
 3554  
 3555      ROM_REGION16_BE( 0x80, "eeprom", 0 )
 3556      ROM_LOAD16_WORD( "eeprom-radr.bin", 0x0000, 0x0080, CRC(602032c6) SHA1(fecf14017e537fe870457d2a8d4f86ec6d442b90) )
 3557  ROM_END
 3558  
 3559  
 3560  /**************************************************************************************************************************
 3561   **************************************************************************************************************************
 3562   **************************************************************************************************************************
 3563      Slipstream
 3564  
 3565      GAME BD NO. 833-7429-01
 3566       1. ROM BD. 837-7429-01
 3567       2. MAIN BD. 837-7428
 3568      A/D BD NO. 837-7536
 3569  */
 3570  ROM_START( slipstrm )
 3571      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3572      ROM_LOAD_x2( "s32b_prg01.ic6",    0x000000, 0x080000, CRC(7d066307) SHA1(d87e04167263b435b77830db02ed58651ccc020c) )
 3573      ROM_LOAD16_BYTE( "s32_dat00.ic14",0x100000, 0x080000, CRC(c3ff6309) SHA1(dcc857736fe0f15aa7909c3ee88a7e239c8f0228) )
 3574      ROM_LOAD16_BYTE( "s32_dat01.ic7", 0x100001, 0x080000, CRC(0e605c81) SHA1(47c64195cab9a07b234d5a375d26168e53ffaa17) )
 3575  
 3576      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3577      ROM_LOAD_x8( "s32_snd00.ic35", 0x100000, 0x020000, CRC(0fee2278) SHA1(7533a03c3fc46d65dfdd07bddf1e6e0bbc368752) )
 3578      ROM_LOAD_x2( "s32_snd01.ic31", 0x200000, 0x080000, CRC(ae7be5f2) SHA1(ba089355e64864435bcc3b0c208e4bce1ea66295) )
 3579  
 3580      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3581      ROM_LOAD32_BYTE( "s32_scr00.ic38", 0x000000, 0x080000, CRC(3cbb2d0b) SHA1(b94006347b72cd60a889b0e279f62f677cedfd2e) )
 3582      ROM_LOAD32_BYTE( "s32_scr01.ic34", 0x000002, 0x080000, CRC(4167be55) SHA1(96b34d311b318c00c3fad917e341589a70ba0a15) )
 3583      ROM_LOAD32_BYTE( "s32_scr02.ic29", 0x000001, 0x080000, CRC(52c4bb85) SHA1(4fbee1072a19c75c25b5fd269acc75640923d69c) )
 3584      ROM_LOAD32_BYTE( "s32_scr03.ic25", 0x000003, 0x080000, CRC(4948604a) SHA1(d5a1b9781fef7976a59a0af9b755a04fcacf9381) )
 3585  
 3586      ROM_REGION32_BE( 0x400000, "gfx2", 0 ) /* sprites */
 3587      ROMX_LOAD( "s32_obj00.ic36", 0x000000, 0x80000, CRC(cffe9e0d) SHA1(5272d54ff142de927a9abd61f3646e963c7d22c4) , ROM_SKIP(7) )
 3588      ROMX_LOAD( "s32_obj01.ic32", 0x000001, 0x80000, CRC(4ebd1383) SHA1(ce35f4d15e7904bfde55e58cdde925cba8002763) , ROM_SKIP(7) )
 3589      ROMX_LOAD( "s32_obj02.ic27", 0x000002, 0x80000, CRC(b3cf4fe2) SHA1(e13199522e1e3e8b9cfe72cc29b33f25dad542ef) , ROM_SKIP(7) )
 3590      ROMX_LOAD( "s32_obj03.ic23", 0x000003, 0x80000, CRC(c6345391) SHA1(155758097911ffca0c5c0b2a24a8033339dcfcbb) , ROM_SKIP(7) )
 3591      ROMX_LOAD( "s32_obj04.ic37", 0x000004, 0x80000, CRC(2de4288e) SHA1(8e794f79f506293edb7609187a7908516ce76849) , ROM_SKIP(7) )
 3592      ROMX_LOAD( "s32_obj05.ic33", 0x000005, 0x80000, CRC(6cfb74fb) SHA1(b74c886959910cd069427418525b23300a9b7b18) , ROM_SKIP(7) )
 3593      ROMX_LOAD( "s32_obj06.ic28", 0x000006, 0x80000, CRC(53234bf4) SHA1(1eca538dcb86e44c31310ab1ab42a2b66b69c8fe) , ROM_SKIP(7) )
 3594      ROMX_LOAD( "s32_obj07.ic24", 0x000007, 0x80000, CRC(22c129cf) SHA1(0f64680511a357038f6a556253c13fbb5417dd1a) , ROM_SKIP(7) )
 3595  ROM_END
 3596  
 3597  ROM_START( slipstrmh )
 3598      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3599      ROM_LOAD_x2( "s32h_prg01.ic6",    0x000000, 0x080000, CRC(ab778297) SHA1(e440d44b20f2f7478ef7d86af90af5eb7b9a545a) )
 3600      ROM_LOAD16_BYTE( "s32_dat00.ic14",0x100000, 0x080000, CRC(c3ff6309) SHA1(dcc857736fe0f15aa7909c3ee88a7e239c8f0228) )
 3601      ROM_LOAD16_BYTE( "s32_dat01.ic7", 0x100001, 0x080000, CRC(0e605c81) SHA1(47c64195cab9a07b234d5a375d26168e53ffaa17) )
 3602  
 3603      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3604      ROM_LOAD_x8( "s32_snd00.ic35", 0x100000, 0x020000, CRC(0fee2278) SHA1(7533a03c3fc46d65dfdd07bddf1e6e0bbc368752) )
 3605      ROM_LOAD_x2( "s32_snd01.ic31", 0x200000, 0x080000, CRC(ae7be5f2) SHA1(ba089355e64864435bcc3b0c208e4bce1ea66295) )
 3606  
 3607      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3608      ROM_LOAD32_BYTE( "s32_scr00.ic38", 0x000000, 0x080000, CRC(3cbb2d0b) SHA1(b94006347b72cd60a889b0e279f62f677cedfd2e) )
 3609      ROM_LOAD32_BYTE( "s32_scr01.ic34", 0x000002, 0x080000, CRC(4167be55) SHA1(96b34d311b318c00c3fad917e341589a70ba0a15) )
 3610      ROM_LOAD32_BYTE( "s32_scr02.ic29", 0x000001, 0x080000, CRC(52c4bb85) SHA1(4fbee1072a19c75c25b5fd269acc75640923d69c) )
 3611      ROM_LOAD32_BYTE( "s32_scr03.ic25", 0x000003, 0x080000, CRC(4948604a) SHA1(d5a1b9781fef7976a59a0af9b755a04fcacf9381) )
 3612  
 3613      ROM_REGION32_BE( 0x400000, "gfx2", 0 ) /* sprites */
 3614      ROMX_LOAD( "s32_obj00.ic36", 0x000000, 0x80000, CRC(cffe9e0d) SHA1(5272d54ff142de927a9abd61f3646e963c7d22c4) , ROM_SKIP(7) )
 3615      ROMX_LOAD( "s32_obj01.ic32", 0x000001, 0x80000, CRC(4ebd1383) SHA1(ce35f4d15e7904bfde55e58cdde925cba8002763) , ROM_SKIP(7) )
 3616      ROMX_LOAD( "s32_obj02.ic27", 0x000002, 0x80000, CRC(b3cf4fe2) SHA1(e13199522e1e3e8b9cfe72cc29b33f25dad542ef) , ROM_SKIP(7) )
 3617      ROMX_LOAD( "s32_obj03.ic23", 0x000003, 0x80000, CRC(c6345391) SHA1(155758097911ffca0c5c0b2a24a8033339dcfcbb) , ROM_SKIP(7) )
 3618      ROMX_LOAD( "s32_obj04.ic37", 0x000004, 0x80000, CRC(2de4288e) SHA1(8e794f79f506293edb7609187a7908516ce76849) , ROM_SKIP(7) )
 3619      ROMX_LOAD( "s32_obj05.ic33", 0x000005, 0x80000, CRC(6cfb74fb) SHA1(b74c886959910cd069427418525b23300a9b7b18) , ROM_SKIP(7) )
 3620      ROMX_LOAD( "s32_obj06.ic28", 0x000006, 0x80000, CRC(53234bf4) SHA1(1eca538dcb86e44c31310ab1ab42a2b66b69c8fe) , ROM_SKIP(7) )
 3621      ROMX_LOAD( "s32_obj07.ic24", 0x000007, 0x80000, CRC(22c129cf) SHA1(0f64680511a357038f6a556253c13fbb5417dd1a) , ROM_SKIP(7) )
 3622  ROM_END
 3623  
 3624  
 3625  /**************************************************************************************************************************
 3626   **************************************************************************************************************************
 3627   **************************************************************************************************************************
 3628      Sonic the Hedgehog
 3629      protected
 3630  */
 3631  ROM_START( sonic )
 3632      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3633      ROM_LOAD_x4( "epr-c-87.ic17",        0x000000, 0x020000, CRC(25e3c27e) SHA1(8f173cd5c7c817dcccdcad9be5781cfaa081d73e) )
 3634      ROM_LOAD_x4( "epr-c-86.ic8",         0x080000, 0x020000, CRC(efe9524c) SHA1(8020e734704a8f989919ee5ad92f70035de717f0) )
 3635      ROM_LOAD16_BYTE_x2( "epr-c-81.ic18", 0x100000, 0x040000, CRC(65b06c25) SHA1(9f524012a7adbc71737f90fc556f0ce9adc2bcf8) )
 3636      ROM_LOAD16_BYTE_x2( "epr-c-80.ic9",  0x100001, 0x040000, CRC(2db66fd2) SHA1(54582c0d5977649a38fc3a2c0fe4d7b1959abc76) )
 3637  
 3638      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3639      ROM_LOAD_x4( "epr-15785.ic36", 0x100000, 0x040000, CRC(0fe7422e) SHA1(b7eaf4736ba155965317bb4ef3b33fc122635151) )
 3640      ROM_LOAD( "mpr-15784.ic35",    0x200000, 0x100000, CRC(42f06714) SHA1(30e45bb2d9b492f0c1acc4fbe1e5869f0559300b) )
 3641      ROM_LOAD( "mpr-15783.ic34",    0x300000, 0x100000, CRC(e4220eea) SHA1(a546c8bfc24e0695cf79c49e1a867d2595a1ed7f) )
 3642      ROM_LOAD( "mpr-15782.ic33",    0x400000, 0x100000, CRC(cf56b5a0) SHA1(5786228aab120c3361524ba93b418b24fd5b8ffb) ) // (this is the only rom unchanged from the prototype)
 3643  
 3644      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3645      ROM_LOAD16_BYTE( "mpr-15789.ic14", 0x000000, 0x100000, CRC(4378f12b) SHA1(826e0550a3c5f2b6e59c6531ac03658a4f826651) )
 3646      ROM_LOAD16_BYTE( "mpr-15788.ic5",  0x000001, 0x100000, CRC(a6ed5d7a) SHA1(d30f26b452d380e7657e044e144f7dbbc4dc13e5) )
 3647  
 3648      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3649      ROMX_LOAD( "mpr-15790.ic32", 0x000000, 0x200000, CRC(c69d51b1) SHA1(7644fb64457855f9ed87ca25ddc28c21bcb61fd9) , ROM_SKIP(6)|ROM_GROUPWORD )
 3650      ROMX_LOAD( "mpr-15792.ic30", 0x000002, 0x200000, CRC(1006bb67) SHA1(38c752e634aa94b1a23c09c4dba6388b7d0358af) , ROM_SKIP(6)|ROM_GROUPWORD )
 3651      ROMX_LOAD( "mpr-15794.ic28", 0x000004, 0x200000, CRC(8672b480) SHA1(61659e3856cdff0b2bca190a7e60c81b86ea2089) , ROM_SKIP(6)|ROM_GROUPWORD )
 3652      ROMX_LOAD( "mpr-15796.ic26", 0x000006, 0x200000, CRC(95b8011c) SHA1(ebc56ae49a76d04de60b0f81506769219a9885a7) , ROM_SKIP(6)|ROM_GROUPWORD )
 3653  
 3654      // NOTE: these last 4 are in fact 16 megabit ROMs,
 3655      // but they were dumped as 8 because the top half
 3656      // is "FF" in all of them.
 3657      ROMX_LOAD( "mpr-15791.ic31", 0x800000, 0x100000, CRC(42217066) SHA1(46d14c632da1bed02bc0a637e34ab9cbf356c5de) , ROM_SKIP(6)|ROM_GROUPWORD )
 3658      ROMX_LOAD( "mpr-15793.ic29", 0x800002, 0x100000, CRC(75bafe55) SHA1(ad33dae062c4bdf8d17d3f6f7c333aa2e7da260e) , ROM_SKIP(6)|ROM_GROUPWORD )
 3659      ROMX_LOAD( "mpr-15795.ic27", 0x800004, 0x100000, CRC(7f3dad30) SHA1(84be1c31df35e1c7fef77e83d6d135378789a1ef) , ROM_SKIP(6)|ROM_GROUPWORD )
 3660      ROMX_LOAD( "mpr-15797.ic25", 0x800006, 0x100000, CRC(013c6cab) SHA1(eb9b77d28815d2e225b0882706084a52b11c48ea) , ROM_SKIP(6)|ROM_GROUPWORD )
 3661  ROM_END
 3662  
 3663  /**************************************************************************************************************************
 3664      Sonic the Hedgehog (prototype)
 3665      not protected
 3666  */
 3667  ROM_START( sonicp )
 3668      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3669      ROM_LOAD_x4( "sonpg0.bin",        0x000000, 0x20000, CRC(da05dcbb) SHA1(c2ced1f3aee92b0e531d5cd7611d4811f2ae95e7) )
 3670      ROM_LOAD_x4( "sonpg1.bin",        0x080000, 0x20000, CRC(c57dc5c5) SHA1(5741bdd52ee7181d883129885838b36f4af8a04c) )
 3671      ROM_LOAD16_BYTE_x2( "sonpd0.bin", 0x100000, 0x40000, CRC(a7da7546) SHA1(0a10573b21cd38d58380698bc18b0256dbb24044) )
 3672      ROM_LOAD16_BYTE_x2( "sonpd1.bin", 0x100001, 0x40000, CRC(c30e4c70) SHA1(897b6f62921694fe3c63677908f76eaf38b7b92f) )
 3673  
 3674      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3675      ROM_LOAD_x4( "sonsnd0.bin", 0x100000, 0x040000, CRC(569c8d4b) SHA1(9f1f6da6adbea043cc5ad853806fcb7bf683c832) )
 3676      ROM_LOAD( "sonsnd1.bin",    0x200000, 0x100000, CRC(f4fa5a21) SHA1(14a364ba7744ff0b44423d8d6bab990fe534ff29) )
 3677      ROM_LOAD( "sonsnd2.bin",    0x300000, 0x100000, CRC(e1bd45a5) SHA1(b411757853d61588e5223b48b5124cc00b3d65dd) )
 3678      ROM_LOAD( "sonsnd3.bin",    0x400000, 0x100000, CRC(cf56b5a0) SHA1(5786228aab120c3361524ba93b418b24fd5b8ffb) )
 3679  
 3680      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3681      ROM_LOAD32_BYTE( "sonscl0.bin", 0x000000, 0x080000, CRC(445e31b9) SHA1(5678dfda74a09b5ac673448b222d11df4ca23aff) )
 3682      ROM_LOAD32_BYTE( "sonscl1.bin", 0x000002, 0x080000, CRC(3d234181) SHA1(2e8c14ad36be76f5f5fc6a3ee152f1abc8bf0ddd) )
 3683      ROM_LOAD32_BYTE( "sonscl2.bin", 0x000001, 0x080000, CRC(a5de28b2) SHA1(49a16ac10cf01b5b8802b8b015a2e403086c206a) )
 3684      ROM_LOAD32_BYTE( "sonscl3.bin", 0x000003, 0x080000, CRC(7ce7554b) SHA1(8def3acae6baafbe9e350f18e245a9a833df5cc4) )
 3685  
 3686      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3687      ROMX_LOAD( "sonobj0.bin", 0x000000, 0x100000, CRC(ceea18e3) SHA1(f902a7e2f8e126fd7a7862c55de32ce6352a7716) , ROM_SKIP(7) )
 3688      ROMX_LOAD( "sonobj1.bin", 0x000001, 0x100000, CRC(6bbc226b) SHA1(5ef4256b6a93891daf1349def6db3bc428e5f4f3) , ROM_SKIP(7) )
 3689      ROMX_LOAD( "sonobj2.bin", 0x000002, 0x100000, CRC(fcd5ef0e) SHA1(e3e50d4838ac3cce41d69ee6cd31981fbe422a4b) , ROM_SKIP(7) )
 3690      ROMX_LOAD( "sonobj3.bin", 0x000003, 0x100000, CRC(b99b42ab) SHA1(60d91dc4e8e0adc62809cd2e71833c658124fbfc) , ROM_SKIP(7) )
 3691      ROMX_LOAD( "sonobj4.bin", 0x000004, 0x100000, CRC(c7ec1456) SHA1(d866b9dff546bd6feb43e317328ac0a2324303b9) , ROM_SKIP(7) )
 3692      ROMX_LOAD( "sonobj5.bin", 0x000005, 0x100000, CRC(bd5da27f) SHA1(ab3043190a32b555513a29a70e01547daf698cf8) , ROM_SKIP(7) )
 3693      ROMX_LOAD( "sonobj6.bin", 0x000006, 0x100000, CRC(313c92d1) SHA1(a5134750667502811fd755cc0974a744cdb785e1) , ROM_SKIP(7) )
 3694      ROMX_LOAD( "sonobj7.bin", 0x000007, 0x100000, CRC(3784c507) SHA1(8ea58c52b09b84643218e26f1ec1fa0ea864346e) , ROM_SKIP(7) )
 3695  ROM_END
 3696  
 3697  
 3698  /**************************************************************************************************************************
 3699   **************************************************************************************************************************
 3700   **************************************************************************************************************************
 3701      Spiderman
 3702      not protected
 3703  */
 3704  ROM_START( spidman )
 3705      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3706      ROM_LOAD_x4( "epr-14307.ic13",        0x000000, 0x020000, CRC(d900219c) SHA1(d59654db1fc0ec4d5f8cda9000ab4bd3bb36cdfc) )
 3707      ROM_LOAD_x4( "epr-14306.ic7",         0x080000, 0x020000, CRC(64379dc6) SHA1(7efc7175351186c54f141161a395e63b1cc7e7a5) )
 3708      ROM_LOAD16_BYTE_x4( "epr-14281.ic14", 0x100000, 0x020000, CRC(8a746c42) SHA1(fa3729ec3aa4b3c59322408146ce2cfbf5a11b98) )
 3709      ROM_LOAD16_BYTE_x4( "epr-14280.ic7",  0x100001, 0x020000, CRC(3c8148f7) SHA1(072b7982bb95e7a9ab77844b59020146c262488d) )
 3710  
 3711      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3712      ROM_LOAD_x4( "epr-14285.ic35", 0x100000, 0x040000, CRC(25aefad6) SHA1(10153f4e773a0f55378f869eb1d85156e85f893f) )
 3713      ROM_LOAD_x2( "mpr-14284.ic31", 0x200000, 0x080000, CRC(760542d4) SHA1(dcac73869c02fefd328bd6bdbcbdb3b68b0647da) )
 3714      ROM_LOAD_x2( "mpr-14283.ic26", 0x300000, 0x080000, CRC(c863a91c) SHA1(afdc76bbb9b207cfcb47d437248a757d03212f4e) )
 3715      ROM_LOAD_x2( "mpr-14282.ic22", 0x400000, 0x080000, CRC(ea20979e) SHA1(9b70ef055da8c7c56da54b7edef2379678e7c50f) )
 3716  
 3717      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3718      ROM_LOAD32_BYTE( "mpr-14291-s.ic38", 0x000000, 0x100000, CRC(490f95a1) SHA1(f220788670b76164ac414ed9b16a422f719be267) )
 3719      ROM_LOAD32_BYTE( "mpr-14290-s.ic34", 0x000002, 0x100000, CRC(a144162d) SHA1(d43f12dd9f690cdfcebb6c7b515ff7dc7dcaa377) )
 3720      ROM_LOAD32_BYTE( "mpr-14289-s.ic29", 0x000001, 0x100000, CRC(38570582) SHA1(a9d810a02a1f5a6849c79d65fbebff21a4b82b59) )
 3721      ROM_LOAD32_BYTE( "mpr-14288-s.ic25", 0x000003, 0x100000, CRC(3188b636) SHA1(bc0adeeca5040caa563ee1e0eded9c323ca23446) )
 3722  
 3723      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3724      ROMX_LOAD( "mpr-14299-h.ic36", 0x000000, 0x100000, CRC(ce59231b) SHA1(bcb1f11b74935694d0617ec8df66db2cc57b6219) , ROM_SKIP(7) )
 3725      ROMX_LOAD( "mpr-14298-h.ic32", 0x000001, 0x100000, CRC(2745c84c) SHA1(5a0528c921cba7a1047d3a2ece79925103d719a1) , ROM_SKIP(7) )
 3726      ROMX_LOAD( "mpr-14297-h.ic27", 0x000002, 0x100000, CRC(29cb9450) SHA1(7dc38d23a2f0cee2f4edde05c1a6f0dc83f331db) , ROM_SKIP(7) )
 3727      ROMX_LOAD( "mpr-14296-h.ic23", 0x000003, 0x100000, CRC(9d8cbd31) SHA1(55a9f9ec9029157da033e69664b58e694a28db47) , ROM_SKIP(7) )
 3728      ROMX_LOAD( "mpr-14295-h.ic37", 0x000004, 0x100000, CRC(29591f50) SHA1(1ac4ceaf74892e30f210ad77024eb441c5e4a959) , ROM_SKIP(7) )
 3729      ROMX_LOAD( "mpr-14294-h.ic33", 0x000005, 0x100000, CRC(fa86b794) SHA1(7b6907e5734fbf2fba7bcc213a8551fec5e9f3d5) , ROM_SKIP(7) )
 3730      ROMX_LOAD( "mpr-14293-s.ic28", 0x000006, 0x100000, CRC(52899269) SHA1(ff809ff88701109e0ca79e785a61402d97335cec) , ROM_SKIP(7) )
 3731      ROMX_LOAD( "mpr-14292-s.ic24", 0x000007, 0x100000, CRC(41f71443) SHA1(351d40d6159cb5b792519bce5d16490965800cfb) , ROM_SKIP(7) )
 3732  ROM_END
 3733  
 3734  /**************************************************************************************************************************
 3735      Spiderman (U.S.)
 3736      not protected
 3737   Rom board type: 837-7429-01
 3738  Input sub board: 837-7968
 3739      Sega Game ID codes:
 3740       Game: 833-8331-04 SPIDER-MAN
 3741  Rom board: 834-8332-01
 3742  */
 3743  ROM_START( spidmanu )
 3744      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3745      ROM_LOAD_x4( "epr-14303a.ic13",       0x000000, 0x020000, CRC(7f1bd28f) SHA1(cff57e66d09682baf44aace99d698ad305f6a3d5) )
 3746      ROM_LOAD_x4( "epr-14302a.ic7",        0x080000, 0x020000, CRC(d954c40a) SHA1(436c81779274861de79dc6ce2c0fcc65bfd52098) )
 3747      ROM_LOAD16_BYTE_x4( "epr-14281.ic14", 0x100000, 0x020000, CRC(8a746c42) SHA1(fa3729ec3aa4b3c59322408146ce2cfbf5a11b98) )
 3748      ROM_LOAD16_BYTE_x4( "epr-14280.ic7",  0x100001, 0x020000, CRC(3c8148f7) SHA1(072b7982bb95e7a9ab77844b59020146c262488d) )
 3749  
 3750      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3751      ROM_LOAD_x4( "epr-14285.ic35", 0x100000, 0x040000, CRC(25aefad6) SHA1(10153f4e773a0f55378f869eb1d85156e85f893f) )
 3752      ROM_LOAD_x2( "mpr-14284.ic31", 0x200000, 0x080000, CRC(760542d4) SHA1(dcac73869c02fefd328bd6bdbcbdb3b68b0647da) )
 3753      ROM_LOAD_x2( "mpr-14283.ic26", 0x300000, 0x080000, CRC(c863a91c) SHA1(afdc76bbb9b207cfcb47d437248a757d03212f4e) )
 3754      ROM_LOAD_x2( "mpr-14282.ic22", 0x400000, 0x080000, CRC(ea20979e) SHA1(9b70ef055da8c7c56da54b7edef2379678e7c50f) )
 3755  
 3756      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3757      ROM_LOAD32_BYTE( "mpr-14291-s.ic38", 0x000000, 0x100000, CRC(490f95a1) SHA1(f220788670b76164ac414ed9b16a422f719be267) )
 3758      ROM_LOAD32_BYTE( "mpr-14290-s.ic34", 0x000002, 0x100000, CRC(a144162d) SHA1(d43f12dd9f690cdfcebb6c7b515ff7dc7dcaa377) )
 3759      ROM_LOAD32_BYTE( "mpr-14289-s.ic29", 0x000001, 0x100000, CRC(38570582) SHA1(a9d810a02a1f5a6849c79d65fbebff21a4b82b59) )
 3760      ROM_LOAD32_BYTE( "mpr-14288-s.ic25", 0x000003, 0x100000, CRC(3188b636) SHA1(bc0adeeca5040caa563ee1e0eded9c323ca23446) )
 3761  
 3762      ROM_REGION32_BE( 0x800000, "gfx2", 0 ) /* sprites */
 3763      ROMX_LOAD( "mpr-14299-h.ic36", 0x000000, 0x100000, CRC(ce59231b) SHA1(bcb1f11b74935694d0617ec8df66db2cc57b6219) , ROM_SKIP(7) )
 3764      ROMX_LOAD( "mpr-14298-h.ic32", 0x000001, 0x100000, CRC(2745c84c) SHA1(5a0528c921cba7a1047d3a2ece79925103d719a1) , ROM_SKIP(7) )
 3765      ROMX_LOAD( "mpr-14297-h.ic27", 0x000002, 0x100000, CRC(29cb9450) SHA1(7dc38d23a2f0cee2f4edde05c1a6f0dc83f331db) , ROM_SKIP(7) )
 3766      ROMX_LOAD( "mpr-14296-h.ic23", 0x000003, 0x100000, CRC(9d8cbd31) SHA1(55a9f9ec9029157da033e69664b58e694a28db47) , ROM_SKIP(7) )
 3767      ROMX_LOAD( "mpr-14295-h.ic37", 0x000004, 0x100000, CRC(29591f50) SHA1(1ac4ceaf74892e30f210ad77024eb441c5e4a959) , ROM_SKIP(7) )
 3768      ROMX_LOAD( "mpr-14294-h.ic33", 0x000005, 0x100000, CRC(fa86b794) SHA1(7b6907e5734fbf2fba7bcc213a8551fec5e9f3d5) , ROM_SKIP(7) )
 3769      ROMX_LOAD( "mpr-14293-s.ic28", 0x000006, 0x100000, CRC(52899269) SHA1(ff809ff88701109e0ca79e785a61402d97335cec) , ROM_SKIP(7) )
 3770      ROMX_LOAD( "mpr-14292-s.ic24", 0x000007, 0x100000, CRC(41f71443) SHA1(351d40d6159cb5b792519bce5d16490965800cfb) , ROM_SKIP(7) )
 3771  ROM_END
 3772  
 3773  
 3774  /**************************************************************************************************************************
 3775   **************************************************************************************************************************
 3776   **************************************************************************************************************************
 3777      Stadium Cross (Multi-32)
 3778      not protected
 3779  */
 3780  ROM_START( scross )
 3781      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3782      ROM_LOAD32_WORD_x2( "epr-15093.bin", 0x000000, 0x040000, CRC(2adc7a4b) SHA1(dca71f00d94898c0758394704d819e13482bf120) )
 3783      ROM_LOAD32_WORD_x2( "epr-15094.bin", 0x000002, 0x040000, CRC(bbb0ae73) SHA1(0d8837706405f301adf8fa85c8d4813d7600af98) )
 3784      ROM_LOAD32_WORD( "epr-15018.bin",    0x100000, 0x080000, CRC(3a98385e) SHA1(8088d337655030c28e290da4bbf44cb647dab66c) )
 3785      ROM_LOAD32_WORD( "epr-15019.bin",    0x100002, 0x080000, CRC(8bf4ac83) SHA1(e594d9d9b42d0765ed8a20a40b7dd92b75124d34) )
 3786  
 3787      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3788      ROM_LOAD_x4( "epr-15192.bin", 0x100000, 0x20000, CRC(7524290b) SHA1(ee58be2c0c4293ee19622b96ca493f4ce4da0038) )
 3789  
 3790      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3791      /* 1ST AND 2ND HALF IDENTICAL (all roms) */
 3792      ROM_LOAD16_BYTE( "epr-15020.bin", 0x000000, 0x200000, CRC(65afea2f) SHA1(ad573727398bfac8e94f321be84b60e5690bfba6) )
 3793      ROM_LOAD16_BYTE( "epr-15021.bin", 0x000001, 0x200000, CRC(27bc6969) SHA1(d6bb446becb2d36b73bca5055357a43b837afc0a) )
 3794  
 3795      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3796      /* 1ST AND 2ND HALF IDENTICAL (all roms) */
 3797      ROMX_LOAD( "epr-15022.bin", 0x000000, 0x200000, CRC(09ca9608) SHA1(cbd0138c1c7811d42b051fed6a7e3526cc4e457f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3798      ROMX_LOAD( "epr-15024.bin", 0x000002, 0x200000, CRC(0dc920eb) SHA1(d24d637aa0dcd3bae779ef7e12663df81667dbf7) , ROM_SKIP(6)|ROM_GROUPWORD )
 3799      ROMX_LOAD( "epr-15026.bin", 0x000004, 0x200000, CRC(67637c37) SHA1(7c250e7e9dd5c07da4fa35bacdfcecd5e8fa4ec7) , ROM_SKIP(6)|ROM_GROUPWORD )
 3800      ROMX_LOAD( "epr-15028.bin", 0x000006, 0x200000, CRC(9929abdc) SHA1(34b6624ddd3a0aedec0a2b433643a37f745ec66d) , ROM_SKIP(6)|ROM_GROUPWORD )
 3801      ROMX_LOAD( "epr-15023.bin", 0x800000, 0x200000, CRC(0e42a2bb) SHA1(503214caf5fa9a2324b61e04f378fd1a790322df) , ROM_SKIP(6)|ROM_GROUPWORD )
 3802      ROMX_LOAD( "epr-15025.bin", 0x800002, 0x200000, CRC(0c677fc6) SHA1(fc2207008417072e7ee91f722797d827e150ce2d) , ROM_SKIP(6)|ROM_GROUPWORD )
 3803      ROMX_LOAD( "epr-15027.bin", 0x800004, 0x200000, CRC(d6d077f9) SHA1(928cefae9ae58239fbffb1dcee282c6ac1e661fe) , ROM_SKIP(6)|ROM_GROUPWORD )
 3804      ROMX_LOAD( "epr-15029.bin", 0x800006, 0x200000, CRC(707af749) SHA1(fae5325c983df3cf198878220ad88d47339ac512) , ROM_SKIP(6)|ROM_GROUPWORD )
 3805  
 3806      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3807      /* 1ST AND 2ND HALF IDENTICAL (all roms, are these OK?) */
 3808      ROM_LOAD("epr-15031.bin", 0x000000, 0x200000, CRC(663a7fd2) SHA1(b4393a687225b075db21960d19a6ddd7a9d7d086) )
 3809      ROM_LOAD("epr-15032.bin", 0x200000, 0x200000, CRC(cb709f3d) SHA1(3962c8b5907d1f8f611f58ddac693cc47364a79c) )
 3810  ROM_END
 3811  
 3812  /**************************************************************************************************************************
 3813      Stadium Cross (U.S.)
 3814      not protected
 3815  */
 3816  
 3817  ROM_START( scrossu )
 3818      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3819      ROM_LOAD32_WORD_x2( "epr-15091.bin", 0x000000, 0x040000, CRC(2c572293) SHA1(6377a6eb6084f7332ce6eeaaf0c37200da792d0c) )
 3820      ROM_LOAD32_WORD_x2( "epr-15092.bin", 0x000002, 0x040000, CRC(6e3e175a) SHA1(feaca0720646e2a4b78b376e99dc86788adb98e7) )
 3821      ROM_LOAD32_WORD( "epr-15018.bin",    0x100000, 0x080000, CRC(3a98385e) SHA1(8088d337655030c28e290da4bbf44cb647dab66c) )
 3822      ROM_LOAD32_WORD( "epr-15019.bin",    0x100002, 0x080000, CRC(8bf4ac83) SHA1(e594d9d9b42d0765ed8a20a40b7dd92b75124d34) )
 3823  
 3824      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3825      ROM_LOAD_x4( "epr-15192.bin", 0x100000, 0x20000, CRC(7524290b) SHA1(ee58be2c0c4293ee19622b96ca493f4ce4da0038) )
 3826  
 3827      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3828      /* 1ST AND 2ND HALF IDENTICAL (all roms) */
 3829      ROM_LOAD16_BYTE( "epr-15020.bin", 0x000000, 0x200000, CRC(65afea2f) SHA1(ad573727398bfac8e94f321be84b60e5690bfba6) )
 3830      ROM_LOAD16_BYTE( "epr-15021.bin", 0x000001, 0x200000, CRC(27bc6969) SHA1(d6bb446becb2d36b73bca5055357a43b837afc0a) )
 3831  
 3832      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3833      /* 1ST AND 2ND HALF IDENTICAL (all roms) */
 3834      ROMX_LOAD( "epr-15022.bin", 0x000000, 0x200000, CRC(09ca9608) SHA1(cbd0138c1c7811d42b051fed6a7e3526cc4e457f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3835      ROMX_LOAD( "epr-15024.bin", 0x000002, 0x200000, CRC(0dc920eb) SHA1(d24d637aa0dcd3bae779ef7e12663df81667dbf7) , ROM_SKIP(6)|ROM_GROUPWORD )
 3836      ROMX_LOAD( "epr-15026.bin", 0x000004, 0x200000, CRC(67637c37) SHA1(7c250e7e9dd5c07da4fa35bacdfcecd5e8fa4ec7) , ROM_SKIP(6)|ROM_GROUPWORD )
 3837      ROMX_LOAD( "epr-15028.bin", 0x000006, 0x200000, CRC(9929abdc) SHA1(34b6624ddd3a0aedec0a2b433643a37f745ec66d) , ROM_SKIP(6)|ROM_GROUPWORD )
 3838      ROMX_LOAD( "epr-15023.bin", 0x800000, 0x200000, CRC(0e42a2bb) SHA1(503214caf5fa9a2324b61e04f378fd1a790322df) , ROM_SKIP(6)|ROM_GROUPWORD )
 3839      ROMX_LOAD( "epr-15025.bin", 0x800002, 0x200000, CRC(0c677fc6) SHA1(fc2207008417072e7ee91f722797d827e150ce2d) , ROM_SKIP(6)|ROM_GROUPWORD )
 3840      ROMX_LOAD( "epr-15027.bin", 0x800004, 0x200000, CRC(d6d077f9) SHA1(928cefae9ae58239fbffb1dcee282c6ac1e661fe) , ROM_SKIP(6)|ROM_GROUPWORD )
 3841      ROMX_LOAD( "epr-15029.bin", 0x800006, 0x200000, CRC(707af749) SHA1(fae5325c983df3cf198878220ad88d47339ac512) , ROM_SKIP(6)|ROM_GROUPWORD )
 3842  
 3843      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3844      /* 1ST AND 2ND HALF IDENTICAL (all roms, are these OK?) */
 3845      ROM_LOAD("epr-15031.bin", 0x000000, 0x200000, CRC(663a7fd2) SHA1(b4393a687225b075db21960d19a6ddd7a9d7d086) )
 3846      ROM_LOAD("epr-15032.bin", 0x200000, 0x200000, CRC(cb709f3d) SHA1(3962c8b5907d1f8f611f58ddac693cc47364a79c) )
 3847  ROM_END
 3848  
 3849  
 3850  /**************************************************************************************************************************
 3851   **************************************************************************************************************************
 3852   **************************************************************************************************************************
 3853      Super Visual Football
 3854      protected via FD1149 317-0222
 3855  */
 3856  ROM_START( svf )
 3857      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3858      ROM_LOAD_x4( "epr-16872a.ic17",    0x000000, 0x020000, CRC(1f383b00) SHA1(c3af01743de5ff09ada19879902842efdbceb595) )
 3859      ROM_LOAD_x4( "epr-16871a.ic8",     0x080000, 0x020000, CRC(f7061bd7) SHA1(b46f4f2ecda8f521c0a91f2f2c2445b72cbc2874) )
 3860      ROM_LOAD16_BYTE( "epr-16865.ic18", 0x100000, 0x080000, CRC(9198ca9f) SHA1(0f6271ce8a07e4ab7fdce38964055510f2ebfd4e) )
 3861      ROM_LOAD16_BYTE( "epr-16864.ic9",  0x100001, 0x080000, CRC(201a940e) SHA1(e19d76141844dbdedee0698ea50edbb898ab55e9) )
 3862  
 3863      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3864      ROM_LOAD_x8( "epr-16866.ic36", 0x100000, 0x020000, CRC(74431350) SHA1(d3208b595423b5b0f25ee90db213112a09906f8f) )
 3865      ROM_LOAD( "mpr-16779.ic35",    0x200000, 0x100000, CRC(7055e859) SHA1(cde27fa4aaf0ee54063ee68794e9a6075581fff5) )
 3866      ROM_LOAD( "mpr-16778.ic34",    0x300000, 0x100000, CRC(feedaecf) SHA1(25c14ccb85c467dc0c8e85b61f8f86f4396c0cc7) )
 3867      ROM_LOAD( "mpr-16777.ic24",    0x400000, 0x100000, CRC(14b5d5df) SHA1(1b0b0a31294b1bbc16d2046b374d584a1b00a78c) )
 3868  
 3869      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3870      ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
 3871      ROM_LOAD16_BYTE( "mpr-16783.ic5",  0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
 3872  
 3873      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3874      ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3875      ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
 3876      ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
 3877      ROMX_LOAD( "mpr-16791.ic26", 0x000006, 0x200000, CRC(4f7236da) SHA1(d1c29f6aa82d60a626217f1430bc8a76ef012007) , ROM_SKIP(6)|ROM_GROUPWORD )
 3878      ROMX_LOAD( "mpr-16860.ic31", 0x800000, 0x200000, CRC(578a7325) SHA1(75a066841fa24952d8ed5ac2d988609295f437a8) , ROM_SKIP(6)|ROM_GROUPWORD )
 3879      ROMX_LOAD( "mpr-16861.ic29", 0x800002, 0x200000, CRC(d79c3f73) SHA1(e4360efb0964a92cfad8c458a5568709fcc81339) , ROM_SKIP(6)|ROM_GROUPWORD )
 3880      ROMX_LOAD( "mpr-16862.ic27", 0x800004, 0x200000, CRC(00793354) SHA1(3b37a89c5100d5f92a3567fc8d2003bc9d6fe0cd) , ROM_SKIP(6)|ROM_GROUPWORD )
 3881      ROMX_LOAD( "mpr-16863.ic25", 0x800006, 0x200000, CRC(42338226) SHA1(106636408d5648fb95fbaee06074c57f6a535a82) , ROM_SKIP(6)|ROM_GROUPWORD )
 3882  ROM_END
 3883  
 3884  /**************************************************************************************************************************
 3885      Super Visual Soccer
 3886      protected via FD1149 317-0222
 3887  */
 3888  ROM_START( svs )
 3889      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3890      ROM_LOAD_x4( "epr-16883a.ic17",    0x000000, 0x020000, CRC(e1c0c3ce) SHA1(12dd8d9d1a2c2c7bf1ab652a6a6f947384d79577) )
 3891      ROM_LOAD_x4( "epr-16882a.ic8",     0x080000, 0x020000, CRC(1161bbbe) SHA1(3cfeed9ea947eed79aeb5674d54de45d15fb6e1f) )
 3892      ROM_LOAD16_BYTE( "epr-16865.ic18", 0x100000, 0x080000, CRC(9198ca9f) SHA1(0f6271ce8a07e4ab7fdce38964055510f2ebfd4e) )
 3893      ROM_LOAD16_BYTE( "epr-16864.ic9",  0x100001, 0x080000, CRC(201a940e) SHA1(e19d76141844dbdedee0698ea50edbb898ab55e9) )
 3894  
 3895      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3896      ROM_LOAD_x4( "epr-16868.ic36", 0x100000, 0x040000, CRC(47aa4ec7) SHA1(baea18aaac0314f769f1e36fdbe8aedf62862544) ) /* same as jleague but with a different part number */
 3897      ROM_LOAD( "mpr-16779.ic35",    0x200000, 0x100000, CRC(7055e859) SHA1(cde27fa4aaf0ee54063ee68794e9a6075581fff5) )
 3898      ROM_LOAD( "mpr-16778.ic34",    0x300000, 0x100000, CRC(feedaecf) SHA1(25c14ccb85c467dc0c8e85b61f8f86f4396c0cc7) )
 3899      ROM_LOAD( "mpr-16777.ic24",    0x400000, 0x100000, CRC(14b5d5df) SHA1(1b0b0a31294b1bbc16d2046b374d584a1b00a78c) )
 3900  
 3901      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3902      ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
 3903      ROM_LOAD16_BYTE( "mpr-16783.ic5",  0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
 3904  
 3905      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3906      ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3907      ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
 3908      ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
 3909      ROMX_LOAD( "mpr-16791.ic26", 0x000006, 0x200000, CRC(4f7236da) SHA1(d1c29f6aa82d60a626217f1430bc8a76ef012007) , ROM_SKIP(6)|ROM_GROUPWORD )
 3910      ROMX_LOAD( "mpr-16860.ic31", 0x800000, 0x200000, CRC(578a7325) SHA1(75a066841fa24952d8ed5ac2d988609295f437a8) , ROM_SKIP(6)|ROM_GROUPWORD )
 3911      ROMX_LOAD( "mpr-16861.ic29", 0x800002, 0x200000, CRC(d79c3f73) SHA1(e4360efb0964a92cfad8c458a5568709fcc81339) , ROM_SKIP(6)|ROM_GROUPWORD )
 3912      ROMX_LOAD( "mpr-16862.ic27", 0x800004, 0x200000, CRC(00793354) SHA1(3b37a89c5100d5f92a3567fc8d2003bc9d6fe0cd) , ROM_SKIP(6)|ROM_GROUPWORD )
 3913      ROMX_LOAD( "mpr-16863.ic25", 0x800006, 0x200000, CRC(42338226) SHA1(106636408d5648fb95fbaee06074c57f6a535a82) , ROM_SKIP(6)|ROM_GROUPWORD )
 3914  ROM_END
 3915  
 3916  /**************************************************************************************************************************
 3917      The JLeague '94
 3918      protected via FD1149 317-0222
 3919  */
 3920  ROM_START( jleague )
 3921      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code + data */
 3922      ROM_LOAD_x4( "epr-16782.ic17",     0x000000, 0x020000, CRC(f0278944) SHA1(49e3842231ee5abdd6205b598309153d6b4ddc02) )
 3923      ROM_LOAD_x4( "epr-16781.ic8",      0x080000, 0x020000, CRC(7df9529b) SHA1(de3633f4941ff3877c4cb8b53e080eccea19f22e) )
 3924      ROM_LOAD16_BYTE( "epr-16776.ic18", 0x100000, 0x080000, CRC(e8694626) SHA1(d4318a9a6b1cc5c719bff9c25b7398dd2ea1e18b) )
 3925      ROM_LOAD16_BYTE( "epr-16775.ic9",  0x100001, 0x080000, CRC(e81e2c3d) SHA1(2900710f1dec6cf71875c82a56584ba45ed3a545) )
 3926  
 3927      ROM_REGION( 0x500000, "soundcpu", 0 ) /* sound CPU */
 3928      ROM_LOAD_x4( "epr-16780.ic36", 0x100000, 0x040000, CRC(47aa4ec7) SHA1(baea18aaac0314f769f1e36fdbe8aedf62862544) )
 3929      ROM_LOAD( "mpr-16779.ic35",    0x200000, 0x100000, CRC(7055e859) SHA1(cde27fa4aaf0ee54063ee68794e9a6075581fff5) )
 3930      ROM_LOAD( "mpr-16778.ic34",    0x300000, 0x100000, CRC(feedaecf) SHA1(25c14ccb85c467dc0c8e85b61f8f86f4396c0cc7) )
 3931      ROM_LOAD( "mpr-16777.ic24",    0x400000, 0x100000, CRC(14b5d5df) SHA1(1b0b0a31294b1bbc16d2046b374d584a1b00a78c) )
 3932  
 3933      ROM_REGION( 0x200000, "gfx1", 0 ) /* tiles */
 3934      ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
 3935      ROM_LOAD16_BYTE( "mpr-16783.ic5",  0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
 3936  
 3937      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3938      ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3939      ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
 3940      ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
 3941      ROMX_LOAD( "mpr-16791.ic26", 0x000006, 0x200000, CRC(4f7236da) SHA1(d1c29f6aa82d60a626217f1430bc8a76ef012007) , ROM_SKIP(6)|ROM_GROUPWORD )
 3942      ROMX_LOAD( "mpr-16786.ic31", 0x800000, 0x200000, CRC(d08a2d32) SHA1(baac63cbacbe38e057684174040384a7152eb523) , ROM_SKIP(6)|ROM_GROUPWORD )
 3943      ROMX_LOAD( "mpr-16788.ic29", 0x800002, 0x200000, CRC(cd9d3605) SHA1(7c4402be1a1ddde6766cfdd5fe7e2a088c4a59e8) , ROM_SKIP(6)|ROM_GROUPWORD )
 3944      ROMX_LOAD( "mpr-16790.ic27", 0x800004, 0x200000, CRC(2ea75746) SHA1(c91e5d678917886cc23fbef7a577c5a70665c7b2) , ROM_SKIP(6)|ROM_GROUPWORD )
 3945      ROMX_LOAD( "mpr-16792.ic25", 0x800006, 0x200000, CRC(9f416072) SHA1(18107cf64f918888aa5a54432f8e9137910101b8) , ROM_SKIP(6)|ROM_GROUPWORD )
 3946  ROM_END
 3947  
 3948  
 3949  /**************************************************************************************************************************
 3950   **************************************************************************************************************************
 3951   **************************************************************************************************************************
 3952      Title Fight (Multi-32)
 3953      not protected
 3954  
 3955      Sega Game ID codes:
 3956       Game: 834-9324-01 TITLE FIGHT (USA)
 3957             834-9324-02 TITLE FIGHT (Export)
 3958             834-9324-03 TITLE FIGHT (Japan)
 3959  Rom board: 834-9413-01 (USA)
 3960             834-9413-02 (Export)
 3961             834-9413-03 (Japan)
 3962    Main BD: 837-8676 (SYSTEM MULTI 32)
 3963  
 3964  */
 3965  ROM_START( titlef )
 3966      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3967      ROM_LOAD32_WORD_x2( "epr-15388.ic37", 0x000000, 0x40000, CRC(db1eefbd) SHA1(7059a1d5c9364d836c1d922071a108cbde661e0a) )
 3968      ROM_LOAD32_WORD_x2( "epr-15389.ic40", 0x000002, 0x40000, CRC(da9f60a3) SHA1(87a7bea04e51e3c241871e83ff7322c6a07bd106) )
 3969  
 3970      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 3971      ROM_LOAD_x4( "epr-15384.ic31", 0x100000, 0x20000, CRC(0f7d208d) SHA1(5425120480f813210fae28951e8bfd5acb08ca53) )
 3972  
 3973      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 3974      ROM_LOAD16_BYTE( "mpr-15381.ic3",  0x000000, 0x200000, CRC(162cc4d6) SHA1(2369d3d76ab5ef8f033aa45530ab957f0e5ff028) )
 3975      ROM_LOAD16_BYTE( "mpr-15382.ic11", 0x000001, 0x200000, CRC(fd03a130) SHA1(040c36383ef5d8298af714958cd5b0a4c7556ae7) )
 3976  
 3977      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 3978      ROMX_LOAD( "mpr-15379.ic14", 0x000000, 0x200000, CRC(e5c74b11) SHA1(67e4460efe5dcd88ffc12024b255efc843e6a8b5) , ROM_SKIP(6)|ROM_GROUPWORD )
 3979      ROMX_LOAD( "mpr-15375.ic15", 0x000002, 0x200000, CRC(046a9b50) SHA1(2b4c53f2a0264835cb7197daa9b3461c212541e8) , ROM_SKIP(6)|ROM_GROUPWORD )
 3980      ROMX_LOAD( "mpr-15371.ic10", 0x000004, 0x200000, CRC(999046c6) SHA1(37ce4e8aaf537b5366eacabaf36e4477b5624121) , ROM_SKIP(6)|ROM_GROUPWORD )
 3981      ROMX_LOAD( "mpr-15373.ic38", 0x000006, 0x200000, CRC(9b3294d9) SHA1(19542f14ce09753385a44098dfd1aaf331e7af0e) , ROM_SKIP(6)|ROM_GROUPWORD )
 3982      ROMX_LOAD( "mpr-15380.ic22", 0x800000, 0x200000, CRC(6ea0e58d) SHA1(1c4b761522157b0b9d086181ba6f6994879d8fdf) , ROM_SKIP(6)|ROM_GROUPWORD )
 3983      ROMX_LOAD( "mpr-15376.ic23", 0x800002, 0x200000, CRC(de3e05c5) SHA1(cac0d04ecd37e5836d246c0809bcfc11430df591) , ROM_SKIP(6)|ROM_GROUPWORD )
 3984      ROMX_LOAD( "mpr-15372.ic18", 0x800004, 0x200000, CRC(c187c36a) SHA1(bb55c2a768a43ef19a7847a4aa113523fee26c20) , ROM_SKIP(6)|ROM_GROUPWORD )
 3985      ROMX_LOAD( "mpr-15374.ic41", 0x800006, 0x200000, CRC(e026aab0) SHA1(75dfaef6d50c3d1d7f27aa5e44fcbc0ff2173c6f) , ROM_SKIP(6)|ROM_GROUPWORD )
 3986  
 3987      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 3988      ROM_LOAD( "mpr-15385.ic1", 0x000000, 0x200000, CRC(5a9b0aa0) SHA1(d208aa165f9eea05e3b8c3f406ff44374e4f6887) )
 3989  ROM_END
 3990  
 3991  /**************************************************************************************************************************
 3992      Title Fight (US)
 3993      not protected
 3994  */
 3995  ROM_START( titlefu )
 3996      ROM_REGION( 0x200000, "maincpu", 0 ) /* v60 code */
 3997      ROM_LOAD32_WORD_x4( "epr-15386.ic37", 0x000000, 0x40000, CRC(e36e2516) SHA1(b6a73d6136ff8a13831b6db0fbc8a585f2acf254) )
 3998      ROM_LOAD32_WORD_x4( "epr-15387.ic40", 0x000002, 0x40000, CRC(e63406d3) SHA1(cd105862b2267d1d3af588cda70e6e4c1cca1da2) )
 3999  
 4000      ROM_REGION( 0x180000, "soundcpu", 0 ) /* sound CPU */
 4001      ROM_LOAD_x4( "epr-15384.ic31", 0x100000, 0x20000, CRC(0f7d208d) SHA1(5425120480f813210fae28951e8bfd5acb08ca53) )
 4002  
 4003      ROM_REGION( 0x400000, "gfx1", 0 ) /* tiles */
 4004      ROM_LOAD16_BYTE( "mpr-15381.ic3",  0x000000, 0x200000, CRC(162cc4d6) SHA1(2369d3d76ab5ef8f033aa45530ab957f0e5ff028) )
 4005      ROM_LOAD16_BYTE( "mpr-15382.ic11", 0x000001, 0x200000, CRC(fd03a130) SHA1(040c36383ef5d8298af714958cd5b0a4c7556ae7) )
 4006  
 4007      ROM_REGION32_BE( 0x1000000, "gfx2", 0 ) /* sprites */
 4008      ROMX_LOAD( "mpr-15379.ic14", 0x000000, 0x200000, CRC(e5c74b11) SHA1(67e4460efe5dcd88ffc12024b255efc843e6a8b5) , ROM_SKIP(6)|ROM_GROUPWORD )
 4009      ROMX_LOAD( "mpr-15375.ic15", 0x000002, 0x200000, CRC(046a9b50) SHA1(2b4c53f2a0264835cb7197daa9b3461c212541e8) , ROM_SKIP(6)|ROM_GROUPWORD )
 4010      ROMX_LOAD( "mpr-15371.ic10", 0x000004, 0x200000, CRC(999046c6) SHA1(37ce4e8aaf537b5366eacabaf36e4477b5624121) , ROM_SKIP(6)|ROM_GROUPWORD )
 4011      ROMX_LOAD( "mpr-15373.ic38", 0x000006, 0x200000, CRC(9b3294d9) SHA1(19542f14ce09753385a44098dfd1aaf331e7af0e) , ROM_SKIP(6)|ROM_GROUPWORD )
 4012      ROMX_LOAD( "mpr-15380.ic22", 0x800000, 0x200000, CRC(6ea0e58d) SHA1(1c4b761522157b0b9d086181ba6f6994879d8fdf) , ROM_SKIP(6)|ROM_GROUPWORD )
 4013      ROMX_LOAD( "mpr-15376.ic23", 0x800002, 0x200000, CRC(de3e05c5) SHA1(cac0d04ecd37e5836d246c0809bcfc11430df591) , ROM_SKIP(6)|ROM_GROUPWORD )
 4014      ROMX_LOAD( "mpr-15372.ic18", 0x800004, 0x200000, CRC(c187c36a) SHA1(bb55c2a768a43ef19a7847a4aa113523fee26c20) , ROM_SKIP(6)|ROM_GROUPWORD )
 4015      ROMX_LOAD( "mpr-15374.ic41", 0x800006, 0x200000, CRC(e026aab0) SHA1(75dfaef6d50c3d1d7f27aa5e44fcbc0ff2173c6f) , ROM_SKIP(6)|ROM_GROUPWORD )
 4016  
 4017      ROM_REGION( 0x400000, "sega", 0 ) /* Sega PCM sound data */
 4018      ROM_LOAD( "mpr-15385.ic1", 0x000000, 0x200000, CRC(5a9b0aa0) SHA1(d208aa165f9eea05e3b8c3f406ff44374e4f6887) )
 4019  ROM_END
 4020  
 4021  
 4022  
 4023  /*************************************
 4024   *
 4025   *  Common driver inits
 4026   *
 4027   *************************************/
 4028  
 4029  static void segas32_common_init(running_machine &machine, read16_delegate custom_r, write16_delegate custom_w)
 4030  {
 4031      segas32_state *state = machine.driver_data<segas32_state>();
 4032      /* reset the custom handlers and other pointers */
 4033      state->m_custom_io_r[0] = custom_r;
 4034      state->m_custom_io_w[0] = custom_w;
 4035      state->m_system32_prot_vblank = NULL;
 4036      state->m_sw1_output = NULL;
 4037      state->m_sw2_output = NULL;
 4038      state->m_sw3_output = NULL;
 4039  }
 4040  
 4041  
 4042  /*************************************
 4043   *
 4044   *  Output callbacks
 4045   *
 4046   *  TODO: kokoroj2 and jpark (SW2)
 4047   *
 4048   *  Additional notes:
 4049   *    - about jpark: the compression switch is broken/inoperative
 4050   *      and because of that all piston data, which is in this
 4051   *      section is frozen. bits x01, x04 and x10 when which == 0
 4052   *      (IO chip 0), seem to have something to do with the sensor
 4053   *      switches we need to fix
 4054   *************************************/
 4055  
 4056  static void radm_sw1_output( int which, UINT16 data )
 4057  {
 4058      if (which == 0)
 4059          output_set_value("Start_lamp", BIT(data, 2));
 4060  }
 4061  
 4062  static void radm_sw2_output( int which, UINT16 data )
 4063  {
 4064      if (which == 0)
 4065      {
 4066          output_set_value("Wiper_lamp", BIT(data, 0));
 4067          output_set_value("Lights_lamp", BIT(data, 1));
 4068      }
 4069  }
 4070  
 4071  static void radr_sw2_output( int which, UINT16 data )
 4072  {
 4073      if (which == 0)
 4074      {
 4075          output_set_value("Entry_lamp", BIT(data, 0));
 4076          output_set_value("Winner_lamp", BIT(data, 1));
 4077      }
 4078  }
 4079  
 4080  static void alien3_sw1_output( int which, UINT16 data )
 4081  {
 4082      if (which == 0)
 4083      {
 4084          output_set_value("Player1_Gun_Recoil", BIT(data, 2));
 4085          output_set_value("Player2_Gun_Recoil", BIT(data, 3));
 4086      }
 4087  }
 4088  
 4089  static void arescue_sw1_output( int which, UINT16 data )
 4090  {
 4091      if (which == 0)
 4092      {
 4093          output_set_value("Start_lamp", BIT(data, 2));
 4094          output_set_value("Back_lamp", BIT(data, 4));
 4095      }
 4096  }
 4097  
 4098  static void f1lap_sw1_output( int which, UINT16 data )
 4099  {
 4100      if (which == 0)
 4101      {
 4102          output_set_value("lamp0", BIT(data, 2));
 4103          output_set_value("lamp1", BIT(data, 3));
 4104      }
 4105  }
 4106  
 4107  static void jpark_sw1_output( int which, UINT16 data )
 4108  {
 4109      if (which == 0)
 4110      {
 4111          output_set_value("Left_lamp", BIT(data, 2));
 4112          output_set_value("Right_lamp", BIT(data, 3));
 4113      }
 4114  }
 4115  
 4116  static void orunners_sw1_output( int which, UINT16 data )
 4117  {
 4118      /* note ma = monitor A and mb = Monitor B */
 4119      if (which == 0)
 4120      {
 4121          output_set_value("MA_Check_Point_lamp", BIT(data, 1));
 4122          output_set_value("MA_Race_Leader_lamp", BIT(data, 3));
 4123          output_set_value("MA_Steering_Wheel_lamp", BIT(data, 4));
 4124      }
 4125      else
 4126      {
 4127          output_set_value("MB_Check_Point_lamp", BIT(data, 1));
 4128          output_set_value("MB_Race_Leader_lamp", BIT(data, 3));
 4129          output_set_value("MB_Steering_Wheel_lamp", BIT(data, 4));
 4130      }
 4131  }
 4132  
 4133  static void orunners_sw2_output( int which, UINT16 data )
 4134  {
 4135      /* note ma = monitor A and mb = Monitor B */
 4136      /* also note that the remaining bits are for the game's lcd display */
 4137      /* the bijokkoy driver might be used as an example for handling these outputs */
 4138      if (which == 0)
 4139      {
 4140          output_set_value("MA_DJ_Music_lamp", BIT(data, 0));
 4141          output_set_value("MA_<<_>>_lamp", BIT(data, 1));
 4142      }
 4143      else
 4144      {
 4145          output_set_value("MB_DJ_Music_lamp", BIT(data, 0));
 4146          output_set_value("MB_<<_>>_lamp", BIT(data, 1));
 4147      }
 4148  }
 4149  
 4150  static void harddunk_sw1_output( int which, UINT16 data )
 4151  {
 4152      if (which == 0)
 4153      {
 4154          output_set_value("1P_Start_lamp", BIT(data, 2));
 4155          output_set_value("2P_Start_lamp", BIT(data, 3));
 4156      }
 4157      else
 4158      {
 4159          output_set_value("4P_Start_lamp", BIT(data, 2));
 4160          output_set_value("5P_Start_lamp", BIT(data, 3));
 4161      }
 4162  }
 4163  
 4164  static void harddunk_sw2_output( int which, UINT16 data )
 4165  {
 4166      if (which == 0)
 4167          output_set_value("Left_Winner_lamp", BIT(data, 0));
 4168      else
 4169          output_set_value("Right_Winner_lamp", BIT(data, 0));
 4170  }
 4171  
 4172  static void harddunk_sw3_output( int which, UINT16 data )
 4173  {
 4174      output_set_value("3P_Start_lamp", BIT(data, 4));
 4175      output_set_value("6P_Start_lamp", BIT(data, 5));
 4176  }
 4177  
 4178  static void titlef_sw1_output( int which, UINT16 data )
 4179  {
 4180      if (which == 0)
 4181      {
 4182          output_set_value("Blue_Button_1P_lamp", BIT(data, 2));
 4183          output_set_value("Blue_Button_2P_lamp", BIT(data, 3));
 4184      }
 4185      else
 4186      {
 4187          output_set_value("Red_Button_1P_lamp", BIT(data, 2));
 4188          output_set_value("Red_Button_2P_lamp", BIT(data, 3));
 4189      }
 4190  }
 4191  
 4192  static void titlef_sw2_output( int which, UINT16 data )
 4193  {
 4194      if (which == 0)
 4195          output_set_value("Blue_Corner_lamp", BIT(data, 0));
 4196      else
 4197          output_set_value("Red_Corner_lamp", BIT(data, 0));
 4198  }
 4199  
 4200  static void scross_sw1_output( int which, UINT16 data )
 4201  {
 4202      /* note ma = monitor A and mb = Monitor B */
 4203      if (which == 0)
 4204          output_set_value("MA_Start_lamp", BIT(data, 2));
 4205      else
 4206          output_set_value("MB_Start_lamp", BIT(data, 2));
 4207  }
 4208  
 4209  static void scross_sw2_output( int which, UINT16 data )
 4210  {
 4211      /* Note:  I'm not an expert on digits, so I didn't know the right map to use, I just added it manually and it seems to work fine. */
 4212      if (which == 0)
 4213          output_set_value("MA_Digit", data);
 4214      else
 4215          output_set_value("MB_Digit", data);
 4216  }
 4217  
 4218  /*************************************
 4219   *
 4220   *  Game-specific driver inits
 4221   *
 4222   *************************************/
 4223  
 4224  DRIVER_INIT_MEMBER(segas32_state,alien3)
 4225  {
 4226      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4227      m_sw1_output = alien3_sw1_output;
 4228  }
 4229  
 4230  READ16_MEMBER(segas32_state::arescue_handshake_r)
 4231  {
 4232      return 0;
 4233  }
 4234  
 4235  READ16_MEMBER(segas32_state::arescue_slavebusy_r)
 4236  {
 4237      return 0x100; // prevents master trying to synch to slave.
 4238  }
 4239  
 4240  DRIVER_INIT_MEMBER(segas32_state,arescue)
 4241  {
 4242      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4243      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0xa00000, 0xa00007, read16_delegate(FUNC(segas32_state::arescue_dsp_r),this), write16_delegate(FUNC(segas32_state::arescue_dsp_w),this));
 4244  
 4245      m_dual_pcb_comms = auto_alloc_array(machine(), UINT16, 0x1000/2);
 4246      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x810000, 0x810fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),this), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),this));
 4247      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x818000, 0x818003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),this));
 4248  
 4249      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x810000, 0x810001, read16_delegate(FUNC(segas32_state::arescue_handshake_r),this));
 4250      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x81000e, 0x81000f, read16_delegate(FUNC(segas32_state::arescue_slavebusy_r),this));
 4251  
 4252      m_sw1_output = arescue_sw1_output;
 4253  }
 4254  
 4255  
 4256  DRIVER_INIT_MEMBER(segas32_state,arabfgt)
 4257  {
 4258      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
 4259  
 4260      /* install protection handlers */
 4261      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0xa00100, 0xa0011f, read16_delegate(FUNC(segas32_state::arf_wakeup_protection_r),this));
 4262      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0xa00000, 0xa00fff, read16_delegate(FUNC(segas32_state::arabfgt_protection_r),this), write16_delegate(FUNC(segas32_state::arabfgt_protection_w),this));
 4263  }
 4264  
 4265  
 4266  DRIVER_INIT_MEMBER(segas32_state,brival)
 4267  {
 4268      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
 4269  
 4270      /* install protection handlers */
 4271      m_system32_protram = auto_alloc_array(machine(), UINT16, 0x1000/2);
 4272      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x20ba00, 0x20ba07, read16_delegate(FUNC(segas32_state::brival_protection_r),this));
 4273      machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0xa00000, 0xa00fff, write16_delegate(FUNC(segas32_state::brival_protection_w),this));
 4274  }
 4275  
 4276  
 4277  DRIVER_INIT_MEMBER(segas32_state,darkedge)
 4278  {
 4279      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
 4280  
 4281      /* install protection handlers */
 4282      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0xa00000, 0xa7ffff, read16_delegate(FUNC(segas32_state::darkedge_protection_r),this), write16_delegate(FUNC(segas32_state::darkedge_protection_w),this));
 4283      m_system32_prot_vblank = darkedge_fd1149_vblank;
 4284  }
 4285  
 4286  DRIVER_INIT_MEMBER(segas32_state,dbzvrvs)
 4287  {
 4288      segas32_common_init(machine(), read16_delegate(), write16_delegate());
 4289  
 4290      /* install protection handlers */
 4291      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0xa00000, 0xa7ffff, read16_delegate(FUNC(segas32_state::dbzvrvs_protection_r),this), write16_delegate(FUNC(segas32_state::dbzvrvs_protection_w),this));
 4292  }
 4293  
 4294  WRITE16_MEMBER(segas32_state::f1en_comms_echo_w)
 4295  {
 4296      // pretend that slave is following master op, enables attract mode video with sound
 4297      if (ACCESSING_BITS_0_7)
 4298          space.write_byte( 0x810049, data );
 4299  }
 4300  
 4301  DRIVER_INIT_MEMBER(segas32_state,f1en)
 4302  {
 4303      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4304  
 4305      m_dual_pcb_comms = auto_alloc_array(machine(), UINT16, 0x1000/2);
 4306      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x810000, 0x810fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),this), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),this));
 4307      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x818000, 0x818003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),this));
 4308  
 4309      machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x810048, 0x810049, write16_delegate(FUNC(segas32_state::f1en_comms_echo_w),this));
 4310  
 4311      m_sw1_output = radm_sw1_output;
 4312  }
 4313  
 4314  
 4315  
 4316  
 4317  DRIVER_INIT_MEMBER(segas32_state,f1lap)
 4318  {
 4319      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4320  
 4321      m_dual_pcb_comms = auto_alloc_array(machine(), UINT16, 0x1000/2);
 4322      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0x800fff, read16_delegate(FUNC(segas32_state::dual_pcb_comms_r),this), write16_delegate(FUNC(segas32_state::dual_pcb_comms_w),this));
 4323      machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x801000, 0x801003, read16_delegate(FUNC(segas32_state::dual_pcb_masterslave),this));
 4324  
 4325  //  machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x800048, 0x800049, write16_delegate(FUNC(segas32_state::f1en_comms_echo_w),this));
 4326      m_system32_prot_vblank = f1lap_fd1149_vblank;
 4327  
 4328      m_sw1_output = f1lap_sw1_output;
 4329  }
 4330  
 4331  
 4332  DRIVER_INIT_MEMBER(segas32_state,ga2)
 4333  {
 4334      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
 4335  
 4336      decrypt_ga2_protrom(machine());
 4337      machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0xa00000, 0xa00fff, read16_delegate(FUNC(segas32_state::ga2_dpram_r),this), write16_delegate(FUNC(segas32_state::ga2_dpram_w),this));
 4338  }
 4339  
 4340  
 4341  DRIVER_INIT_MEMBER(segas32_state,harddunk)
 4342  {
 4343      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
 4344      m_sw1_output = harddunk_sw1_output;
 4345      m_sw2_output = harddunk_sw2_output;
 4346      m_sw3_output = harddunk_sw3_output;
 4347  }
 4348  
 4349  
 4350  DRIVER_INIT_MEMBER(segas32_state,holo)
 4351  {
 4352      segas32_common_init(machine(), read16_delegate(), write16_delegate());
 4353  }
 4354  
 4355  
 4356  DRIVER_INIT_MEMBER(segas32_state,jpark)
 4357  {
 4358      /* Temp. Patch until we emulate the 'Drive Board', thanks to Malice */
 4359      UINT16 *pROM = (UINT16 *)memregion("maincpu")->base();
 4360  
 4361      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4362  
 4363      pROM[0xC15A8/2] = 0xCD70;
 4364      pROM[0xC15AA/2] = 0xD8CD;
 4365  
 4366      m_sw1_output = jpark_sw1_output;
 4367  }
 4368  
 4369  
 4370  DRIVER_INIT_MEMBER(segas32_state,orunners)
 4371  {
 4372      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::orunners_custom_io_w),this));
 4373      m_sw1_output = orunners_sw1_output;
 4374      m_sw2_output = orunners_sw2_output;
 4375  }
 4376  
 4377  
 4378  DRIVER_INIT_MEMBER(segas32_state,radm)
 4379  {
 4380      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4381      m_sw1_output = radm_sw1_output;
 4382      m_sw2_output = radm_sw2_output;
 4383  }
 4384  
 4385  
 4386  DRIVER_INIT_MEMBER(segas32_state,radr)
 4387  {
 4388      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4389      m_sw1_output = radm_sw1_output;
 4390      m_sw2_output = radr_sw2_output;
 4391  }
 4392  
 4393  
 4394  DRIVER_INIT_MEMBER(segas32_state,scross)
 4395  {
 4396      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4397      machine().device("soundcpu")->memory().space(AS_PROGRAM).install_write_handler(0xb0, 0xbf, write8_delegate(FUNC(segas32_state::scross_bank_w),this));
 4398  
 4399      m_sw1_output = scross_sw1_output;
 4400      m_sw2_output = scross_sw2_output;
 4401  }
 4402  
 4403  
 4404  DRIVER_INIT_MEMBER(segas32_state,slipstrm)
 4405  {
 4406      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::analog_custom_io_r),this), write16_delegate(FUNC(segas32_state::analog_custom_io_w),this));
 4407  }
 4408  
 4409  
 4410  DRIVER_INIT_MEMBER(segas32_state,sonic)
 4411  {
 4412      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::sonic_custom_io_r),this), write16_delegate(FUNC(segas32_state::sonic_custom_io_w),this));
 4413  
 4414      /* install protection handlers */
 4415      machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x20E5C4, 0x20E5C5, write16_delegate(FUNC(segas32_state::sonic_level_load_protection),this));
 4416  }
 4417  
 4418  
 4419  DRIVER_INIT_MEMBER(segas32_state,sonicp)
 4420  {
 4421      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::sonic_custom_io_r),this), write16_delegate(FUNC(segas32_state::sonic_custom_io_w),this));
 4422  }
 4423  
 4424  
 4425  DRIVER_INIT_MEMBER(segas32_state,spidman)
 4426  {
 4427      segas32_common_init(machine(), read16_delegate(FUNC(segas32_state::extra_custom_io_r),this), write16_delegate());
 4428  }
 4429  
 4430  
 4431  DRIVER_INIT_MEMBER(segas32_state,svf)
 4432  {
 4433      segas32_common_init(machine(), read16_delegate(), write16_delegate());
 4434  }
 4435  
 4436  
 4437  DRIVER_INIT_MEMBER(segas32_state,jleague)
 4438  {
 4439      segas32_common_init(machine(), read16_delegate(), write16_delegate());
 4440      machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x20F700, 0x20F705, write16_delegate(FUNC(segas32_state::jleague_protection_w),this));
 4441  }
 4442  
 4443  
 4444  DRIVER_INIT_MEMBER(segas32_state,titlef)
 4445  {
 4446      segas32_common_init(machine(), read16_delegate(), write16_delegate());
 4447      m_sw1_output = titlef_sw1_output;
 4448      m_sw2_output = titlef_sw2_output;
 4449  }
 4450  
 4451  
 4452  
 4453  /*************************************
 4454   *
 4455   *  Game driver(s)
 4456   *
 4457   *************************************/
 4458  
 4459  GAME( 1992, arescue,  0,        system32,     arescue, segas32_state,  arescue,  ROT0, "Sega",   "Air Rescue", GAME_IMPERFECT_GRAPHICS )
 4460  GAME( 1993, alien3,   0,        system32,     alien3, segas32_state,   alien3,   ROT0, "Sega",   "Alien3: The Gun (World)", GAME_IMPERFECT_GRAPHICS )
 4461  GAME( 1993, alien3u,  alien3,   system32,     alien3, segas32_state,   alien3,   ROT0, "Sega",   "Alien3: The Gun (US)", GAME_IMPERFECT_GRAPHICS )
 4462  GAME( 1991, arabfgt,  0,        system32,     arabfgt, segas32_state,  arabfgt,  ROT0, "Sega",   "Arabian Fight (World)", GAME_IMPERFECT_GRAPHICS ) /* Released in 03.1992 */
 4463  GAME( 1991, arabfgtu, arabfgt,  system32,     arabfgtu, segas32_state, arabfgt,  ROT0, "Sega",   "Arabian Fight (US)", GAME_IMPERFECT_GRAPHICS )
 4464  GAME( 1991, arabfgtj, arabfgt,  system32,     arabfgt, segas32_state,  arabfgt,  ROT0, "Sega",   "Arabian Fight (Japan)", GAME_IMPERFECT_GRAPHICS )
 4465  GAME( 1992, brival,   0,        system32,     brival, segas32_state,   brival,   ROT0, "Sega",   "Burning Rival (World)", GAME_IMPERFECT_GRAPHICS )
 4466  GAME( 1992, brivalj,  brival,   system32,     brival, segas32_state,   brival,   ROT0, "Sega",   "Burning Rival (Japan)", GAME_IMPERFECT_GRAPHICS )
 4467  GAME( 1992, darkedge, 0,        system32,     darkedge, segas32_state, darkedge, ROT0, "Sega",   "Dark Edge (World)", GAME_IMPERFECT_GRAPHICS )
 4468  GAME( 1992, darkedgej,darkedge, system32,     darkedge, segas32_state, darkedge, ROT0, "Sega",   "Dark Edge (Japan)", GAME_IMPERFECT_GRAPHICS )
 4469  GAME( 1994, dbzvrvs,  0,        system32,     dbzvrvs, segas32_state,  dbzvrvs,  ROT0, "Sega / Banpresto", "Dragon Ball Z V.R.V.S. (Japan)", GAME_IMPERFECT_GRAPHICS)
 4470  GAME( 1991, f1en,     0,        system32,     f1en, segas32_state,     f1en,     ROT0, "Sega",   "F1 Exhaust Note", GAME_IMPERFECT_GRAPHICS )
 4471  GAME( 1993, f1lap,    0,        system32,     f1lap, segas32_state,    f1lap,    ROT0, "Sega",   "F1 Super Lap (World)", GAME_IMPERFECT_GRAPHICS )
 4472  GAME( 1993, f1lapj,   f1lap,    system32,     f1lap, segas32_state,    f1lap,    ROT0, "Sega",   "F1 Super Lap (Japan)", GAME_IMPERFECT_GRAPHICS )
 4473  GAME( 1992, ga2,      0,        system32_v25, ga2, segas32_state,      ga2,      ROT0, "Sega",   "Golden Axe: The Revenge of Death Adder (World)", GAME_IMPERFECT_GRAPHICS )
 4474  GAME( 1992, ga2u,     ga2,      system32_v25, ga2u, segas32_state,     ga2,      ROT0, "Sega",   "Golden Axe: The Revenge of Death Adder (US)", GAME_IMPERFECT_GRAPHICS )
 4475  GAME( 1992, ga2j,     ga2,      system32_v25, ga2, segas32_state,      ga2,      ROT0, "Sega",   "Golden Axe: The Revenge of Death Adder (Japan)", GAME_IMPERFECT_GRAPHICS )
 4476  GAME( 1992, holo,     0,        system32,     holo, segas32_state,     holo,     ORIENTATION_FLIP_Y, "Sega",   "Holosseum (US)", GAME_IMPERFECT_GRAPHICS )
 4477  GAME( 1993, jpark,    0,        system32,     jpark, segas32_state,    jpark,    ROT0, "Sega",   "Jurassic Park (World)", GAME_IMPERFECT_GRAPHICS )  /* Released in 02.1994 */
 4478  GAME( 1993, jparkj,   jpark,    system32,     jpark, segas32_state,    jpark,    ROT0, "Sega",   "Jurassic Park (Japan)", GAME_IMPERFECT_GRAPHICS )
 4479  GAME( 1994, kokoroj2, 0,        system32,     radr, segas32_state,     radr,     ROT0, "Sega",   "Kokoroji 2", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING) /* uses an Audio CD */
 4480  GAME( 1990, radm,     0,        system32,     radm, segas32_state,     radm,     ROT0, "Sega",   "Rad Mobile (World)", GAME_IMPERFECT_GRAPHICS )  /* Released in 02.1991 */
 4481  GAME( 1990, radmu,    radm,     system32,     radm, segas32_state,     radm,     ROT0, "Sega",   "Rad Mobile (US)", GAME_IMPERFECT_GRAPHICS )
 4482  GAMEL(1991, radr,     0,        system32,     radr, segas32_state,     radr,     ROT0, "Sega",   "Rad Rally (World)", GAME_IMPERFECT_GRAPHICS, layout_radr )
 4483  GAMEL(1991, radru,    radr,     system32,     radr, segas32_state,     radr,     ROT0, "Sega",   "Rad Rally (US)", GAME_IMPERFECT_GRAPHICS, layout_radr )
 4484  GAMEL(1991, radrj,    radr,     system32,     radr, segas32_state,     radr,     ROT0, "Sega",   "Rad Rally (Japan)", GAME_IMPERFECT_GRAPHICS, layout_radr )
 4485  GAMEL(1995, slipstrm, 0,        system32,     slipstrm, segas32_state, slipstrm, ROT0, "Capcom", "Slip Stream (950515 Brazil)", GAME_IMPERFECT_GRAPHICS, layout_radr )
 4486  GAMEL(1995, slipstrmh,slipstrm, system32,     slipstrm, segas32_state, slipstrm, ROT0, "Capcom", "Slip Stream (950515 Hispanic)", GAME_IMPERFECT_GRAPHICS, layout_radr )
 4487  GAME( 1992, sonic,    0,        system32,     sonic, segas32_state,    sonic,    ROT0, "Sega",   "SegaSonic The Hedgehog (Japan, rev. C)", GAME_IMPERFECT_GRAPHICS )
 4488  GAME( 1992, sonicp,   sonic,    system32,     sonic, segas32_state,    sonicp,   ROT0, "Sega",   "SegaSonic The Hedgehog (Japan, prototype)", GAME_IMPERFECT_GRAPHICS )
 4489  GAME( 1991, spidman,  0,        system32,     spidman, segas32_state,  spidman,  ROT0, "Sega",   "Spider-Man: The Videogame (World)", GAME_IMPERFECT_GRAPHICS )
 4490  GAME( 1991, spidmanu, spidman,  system32,     spidmanu, segas32_state, spidman,  ROT0, "Sega",   "Spider-Man: The Videogame (US)", GAME_IMPERFECT_GRAPHICS )
 4491  GAME( 1994, svf,      0,        system32,     svf, segas32_state,      svf,      ROT0, "Sega",   "Super Visual Football: European Sega Cup", GAME_IMPERFECT_GRAPHICS )
 4492  GAME( 1994, svs,      svf,      system32,     svf, segas32_state,      svf,      ROT0, "Sega",   "Super Visual Soccer: Sega Cup (US)", GAME_IMPERFECT_GRAPHICS )
 4493  GAME( 1994, jleague,  svf,      system32,     svf, segas32_state,      jleague,  ROT0, "Sega",   "The J.League 1994 (Japan)", GAME_IMPERFECT_GRAPHICS )
 4494  GAME( 1994, harddunk, 0,        multi32,      harddunk, segas32_state, harddunk, ROT0, "Sega",   "Hard Dunk (World)", GAME_IMPERFECT_GRAPHICS )
 4495  GAME( 1994, harddunkj,harddunk, multi32,      harddunk, segas32_state, harddunk, ROT0, "Sega",   "Hard Dunk (Japan)", GAME_IMPERFECT_GRAPHICS )
 4496  GAME( 1992, orunners, 0,        multi32,      orunners, segas32_state, orunners, ROT0, "Sega",   "OutRunners (World)", GAME_IMPERFECT_GRAPHICS )
 4497  GAME( 1992, orunnersu,orunners, multi32,      orunners, segas32_state, orunners, ROT0, "Sega",   "OutRunners (US)", GAME_IMPERFECT_GRAPHICS )
 4498  GAME( 1992, orunnersj,orunners, multi32,      orunners, segas32_state, orunners, ROT0, "Sega",   "OutRunners (Japan)", GAME_IMPERFECT_GRAPHICS )
 4499  GAME( 1992, scross,   0,        multi32,      scross, segas32_state,   scross,   ROT0, "Sega",   "Stadium Cross (World)", GAME_IMPERFECT_GRAPHICS )
 4500  GAME( 1992, scrossu,  scross,   multi32,      scross, segas32_state,   scross,   ROT0, "Sega",   "Stadium Cross (US)", GAME_IMPERFECT_GRAPHICS )
 4501  GAME( 1992, titlef,   0,        multi32,      titlef, segas32_state,   titlef,   ROT0, "Sega",   "Title Fight (World)", GAME_IMPERFECT_GRAPHICS )
 4502  GAME( 1992, titlefu,  titlef,   multi32,      titlef, segas32_state,   titlef,   ROT0, "Sega",   "Title Fight (US)", GAME_IMPERFECT_GRAPHICS )