summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2012-08-25 10:30:00 +0000
committer smf- <smf-@users.noreply.github.com>2012-08-25 10:30:00 +0000
commite93c3cedae194158eab54342c14638fddad20b51 (patch)
tree91c09f1c91dbf293a3d5e2fa25af5d8b0816bda9
parent37a8c8f56fabd25f79bd821546aeb9205a813bd5 (diff)
turned WD33C93 into a device & made cps3 flash roms optional on cd sets (nw)
-rw-r--r--src/emu/machine/wd33c93.c560
-rw-r--r--src/emu/machine/wd33c93.h108
-rw-r--r--src/mame/drivers/cps3.c765
-rw-r--r--src/mame/includes/cps3.h2
-rw-r--r--src/mess/drivers/ip20.c16
-rw-r--r--src/mess/drivers/ip22.c44
6 files changed, 767 insertions, 728 deletions
diff --git a/src/emu/machine/wd33c93.c b/src/emu/machine/wd33c93.c
index 76745441737..4f5723c24e7 100644
--- a/src/emu/machine/wd33c93.c
+++ b/src/emu/machine/wd33c93.c
@@ -13,44 +13,10 @@
#include "emu.h"
#include "wd33c93.h"
-#include "machine/scsidev.h"
#define VERBOSE 0
#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
-static scsidev_device *devices[8]; // SCSI IDs 0-7
-static const struct WD33C93interface *intf;
-
-/* wd register names */
-#define WD_OWN_ID 0x00
-#define WD_CONTROL 0x01
-#define WD_TIMEOUT_PERIOD 0x02
-#define WD_CDB_1 0x03
-#define WD_CDB_2 0x04
-#define WD_CDB_3 0x05
-#define WD_CDB_4 0x06
-#define WD_CDB_5 0x07
-#define WD_CDB_6 0x08
-#define WD_CDB_7 0x09
-#define WD_CDB_8 0x0a
-#define WD_CDB_9 0x0b
-#define WD_CDB_10 0x0c
-#define WD_CDB_11 0x0d
-#define WD_CDB_12 0x0e
-#define WD_TARGET_LUN 0x0f
-#define WD_COMMAND_PHASE 0x10
-#define WD_SYNCHRONOUS_TRANSFER 0x11
-#define WD_TRANSFER_COUNT_MSB 0x12
-#define WD_TRANSFER_COUNT 0x13
-#define WD_TRANSFER_COUNT_LSB 0x14
-#define WD_DESTINATION_ID 0x15
-#define WD_SOURCE_ID 0x16
-#define WD_SCSI_STATUS 0x17
-#define WD_COMMAND 0x18
-#define WD_DATA 0x19
-#define WD_QUEUE_TAG 0x1a
-#define WD_AUXILIARY_STATUS 0x1f
-
/* WD commands */
#define WD_CMD_RESET 0x00
#define WD_CMD_ABORT 0x01
@@ -168,63 +134,37 @@ static const struct WD33C93interface *intf;
#define SRCID_ES 0x40
#define SRCID_ER 0x80
-/* command handler definition */
-typedef void (*cmd_handler)(running_machine &machine);
-#define CMD_HANDLER(name) void name(running_machine &machine)
-
-#define TEMP_INPUT_LEN 262144
-#define FIFO_SIZE 12
-
-/* internal controller data definition */
-typedef struct
-{
- UINT8 sasr;
- UINT8 regs[WD_AUXILIARY_STATUS+1];
- UINT8 fifo[FIFO_SIZE];
- int fifo_pos;
- UINT8 *temp_input;
- int temp_input_pos;
- UINT8 busphase;
- UINT8 identify;
- int read_pending;
- emu_timer *cmd_timer;
-} _wd33c93_data;
-
-/* local instance of controller data */
-static _wd33c93_data scsi_data;
-
-
/* convernience functions */
-static UINT8 wd33c93_getunit( void )
+UINT8 wd33c93_device::getunit( void )
{
/* return the destination unit id */
- return scsi_data.regs[WD_DESTINATION_ID] & SRCID_MASK;
+ return regs[WD_DESTINATION_ID] & SRCID_MASK;
}
-static void wd33c93_set_xfer_count( int count )
+void wd33c93_device::set_xfer_count( int count )
{
/* set the count */
- scsi_data.regs[ WD_TRANSFER_COUNT_LSB ] = count & 0xff;
- scsi_data.regs[ WD_TRANSFER_COUNT ] = ( count >> 8 ) & 0xff;
- scsi_data.regs[ WD_TRANSFER_COUNT_MSB ] = ( count >> 16 ) & 0xff;
+ regs[ WD_TRANSFER_COUNT_LSB ] = count & 0xff;
+ regs[ WD_TRANSFER_COUNT ] = ( count >> 8 ) & 0xff;
+ regs[ WD_TRANSFER_COUNT_MSB ] = ( count >> 16 ) & 0xff;
}
-static int wd33c93_get_xfer_count( void )
+int wd33c93_device::get_xfer_count( void )
{
/* get the count */
- int count = scsi_data.regs[ WD_TRANSFER_COUNT_MSB ];
+ int count = regs[ WD_TRANSFER_COUNT_MSB ];
count <<= 8;
- count |= scsi_data.regs[ WD_TRANSFER_COUNT ];
+ count |= regs[ WD_TRANSFER_COUNT ];
count <<= 8;
- count |= scsi_data.regs[ WD_TRANSFER_COUNT_LSB ];
+ count |= regs[ WD_TRANSFER_COUNT_LSB ];
return count;
}
-static void wd33c93_read_data(int bytes, UINT8 *pData)
+void wd33c93_device::read_data(int bytes, UINT8 *pData)
{
- UINT8 unit = wd33c93_getunit();
+ UINT8 unit = getunit();
if ( devices[unit] )
{
@@ -236,103 +176,113 @@ static void wd33c93_read_data(int bytes, UINT8 *pData)
}
}
-static void wd33c93_complete_immediate( running_machine &machine, int status )
+void wd33c93_device::complete_immediate( int status )
{
/* reset our timer */
- scsi_data.cmd_timer->reset( );
+ cmd_timer->reset();
/* set the new status */
- scsi_data.regs[WD_SCSI_STATUS] = status & 0xff;
+ regs[WD_SCSI_STATUS] = status & 0xff;
/* set interrupt pending */
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_INT;
+ regs[WD_AUXILIARY_STATUS] |= ASR_INT;
/* check for error conditions */
- if ( wd33c93_get_xfer_count() > 0 )
+ if ( get_xfer_count() > 0 )
{
/* set data buffer ready */
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_DBR;
+ regs[WD_AUXILIARY_STATUS] |= ASR_DBR;
}
else
{
/* clear data buffer ready */
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
}
/* clear command in progress and bus busy */
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~(ASR_CIP | ASR_BSY);
+ regs[WD_AUXILIARY_STATUS] &= ~(ASR_CIP | ASR_BSY);
/* if we have a callback, call it */
- if (intf && intf->irq_callback)
+ if (irq_callback)
{
- intf->irq_callback(machine, 1);
+ irq_callback(machine(), 1);
}
}
-static TIMER_CALLBACK(wd33c93_complete_cb)
+void wd33c93_device::device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr)
{
- wd33c93_complete_immediate( machine, param );
-}
+ switch( tid )
+ {
+ case 0:
+ complete_immediate( param );
+ break;
-static TIMER_CALLBACK(wd33c93_service_request)
-{
- /* issue a message out request */
- wd33c93_complete_immediate(machine, CSR_SRV_REQ | scsi_data.busphase);
-}
+ case 1:
+ complete_immediate(CSR_SRV_REQ | busphase);
+ break;
-static TIMER_CALLBACK(wd33c93_deassert_cip)
-{
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_CIP;
+ case 2:
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_CIP;
+ break;
+ }
}
-static void wd33c93_complete_cmd( UINT8 status )
+void wd33c93_device::complete_cmd( UINT8 status )
{
/* fire off a timer to complete the command */
- scsi_data.cmd_timer->adjust( attotime::from_usec(1), status );
+ cmd_timer->adjust( attotime::from_usec(1), status );
}
/* command handlers */
-static CMD_HANDLER( wd33c93_invalid_cmd )
+void wd33c93_device::unimplemented_cmd()
{
- logerror( "%s:Unknown/Unimplemented SCSI controller command: %02x\n", machine.describe_context(), scsi_data.regs[WD_COMMAND] );
+ logerror( "%s:Unimplemented SCSI controller command: %02x\n", machine().describe_context(), regs[WD_COMMAND] );
/* complete the command */
- wd33c93_complete_cmd( CSR_INVALID );
+ complete_cmd( CSR_INVALID );
}
-static CMD_HANDLER( wd33c93_reset_cmd )
+void wd33c93_device::invalid_cmd()
{
- int advanced = 0;
+ logerror( "%s:Invalid SCSI controller command: %02x\n", machine().describe_context(), regs[WD_COMMAND] );
+
+ /* complete the command */
+ complete_cmd( CSR_INVALID );
+}
+
+void wd33c93_device::reset_cmd()
+{
+ int advanced = 0;
/* see if it wants us to reset with advanced features */
- if ( scsi_data.regs[WD_OWN_ID] & OWNID_EAF )
+ if ( regs[WD_OWN_ID] & OWNID_EAF )
{
advanced = 1;
}
/* clear out all registers */
- memset( scsi_data.regs, 0, sizeof( scsi_data.regs ) );
+ memset( regs, 0, sizeof( regs ) );
/* complete the command */
- wd33c93_complete_cmd(advanced ? CSR_RESET_AF : CSR_RESET);
+ complete_cmd(advanced ? CSR_RESET_AF : CSR_RESET);
}
-static CMD_HANDLER( wd33c93_abort_cmd )
+void wd33c93_device::abort_cmd()
{
/* complete the command */
- wd33c93_complete_cmd(CSR_ABORT);
+ complete_cmd(CSR_ABORT);
}
-static CMD_HANDLER( wd33c93_disconnect_cmd )
+void wd33c93_device::disconnect_cmd()
{
/* complete the command */
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~(ASR_CIP | ASR_BSY);
+ regs[WD_AUXILIARY_STATUS] &= ~(ASR_CIP | ASR_BSY);
}
-static CMD_HANDLER( wd33c93_select_cmd )
+void wd33c93_device::select_cmd()
{
- UINT8 unit = wd33c93_getunit();
- UINT8 newstatus;
+ UINT8 unit = getunit();
+ UINT8 newstatus;
/* see if we can select that device */
if ( devices[unit] )
@@ -341,19 +291,19 @@ static CMD_HANDLER( wd33c93_select_cmd )
newstatus = CSR_SELECT;
/* determine the next bus phase depending on the command */
- if ( (scsi_data.regs[WD_COMMAND] & 0x7f) == WD_CMD_SEL_ATN )
+ if ( (regs[WD_COMMAND] & 0x7f) == WD_CMD_SEL_ATN )
{
/* /ATN asserted during select: Move to Message Out Phase to read identify */
- scsi_data.busphase = PHS_MESS_OUT;
+ busphase = PHS_MESS_OUT;
}
else
{
/* No /ATN asserted: Move to Command Phase */
- scsi_data.busphase = PHS_COMMAND;
+ busphase = PHS_COMMAND;
}
/* queue up a service request out in the future */
- machine.scheduler().timer_set( attotime::from_usec(50), FUNC(wd33c93_service_request ));
+ service_req_timer->adjust( attotime::from_usec(50) );
}
else
{
@@ -362,70 +312,70 @@ static CMD_HANDLER( wd33c93_select_cmd )
}
/* complete the command */
- wd33c93_complete_cmd(newstatus);
+ complete_cmd(newstatus);
}
-static CMD_HANDLER( wd33c93_selectxfer_cmd )
+void wd33c93_device::selectxfer_cmd()
{
- UINT8 unit = wd33c93_getunit();
- UINT8 newstatus;
+ UINT8 unit = getunit();
+ UINT8 newstatus;
/* see if we can select that device */
if ( devices[unit] )
{
- if ( scsi_data.regs[WD_COMMAND_PHASE] < 0x45 )
+ if ( regs[WD_COMMAND_PHASE] < 0x45 )
{
/* device is available */
int xfercount;
int phase;
/* do the request */
- devices[unit]->SetCommand( &scsi_data.regs[WD_CDB_1], 12 );
+ devices[unit]->SetCommand( &regs[WD_CDB_1], 12 );
devices[unit]->ExecCommand( &xfercount );
devices[unit]->GetPhase( &phase );
/* set transfer count */
- if ( wd33c93_get_xfer_count() > TEMP_INPUT_LEN )
+ if ( get_xfer_count() > TEMP_INPUT_LEN )
{
- logerror( "WD33C93: Transfer count too big. Please increase TEMP_INPUT_LEN (size=%d)\n", wd33c93_get_xfer_count() );
- wd33c93_set_xfer_count( TEMP_INPUT_LEN );
+ logerror( "WD33C93: Transfer count too big. Please increase TEMP_INPUT_LEN (size=%d)\n", get_xfer_count() );
+ set_xfer_count( TEMP_INPUT_LEN );
}
switch( phase )
{
case SCSI_PHASE_DATAIN:
- scsi_data.read_pending = 1;
+ read_pending = 1;
break;
}
}
- if ( scsi_data.read_pending )
+ if ( read_pending )
{
- int len = TEMP_INPUT_LEN;
+ int len = TEMP_INPUT_LEN;
- if ( wd33c93_get_xfer_count() < len ) len = wd33c93_get_xfer_count();
+ if ( get_xfer_count() < len ) len = get_xfer_count();
- memset( &scsi_data.temp_input[0], 0, TEMP_INPUT_LEN );
- wd33c93_read_data( len, &scsi_data.temp_input[0] );
- scsi_data.temp_input_pos = 0;
- scsi_data.read_pending = 0;
+ memset( &temp_input[0], 0, TEMP_INPUT_LEN );
+ read_data( len, &temp_input[0] );
+ temp_input_pos = 0;
+ read_pending = 0;
}
- scsi_data.regs[WD_TARGET_LUN] = 0;
- scsi_data.regs[WD_CONTROL] |= CTRL_EDI;
- scsi_data.regs[WD_COMMAND_PHASE] = 0x60;
+ regs[WD_TARGET_LUN] = 0;
+ regs[WD_CONTROL] |= CTRL_EDI;
+ regs[WD_COMMAND_PHASE] = 0x60;
/* signal transfer ready */
newstatus = CSR_SEL_XFER_DONE;
/* if allowed disconnect, queue a service request */
- if ( scsi_data.identify & 0x40 )
+ if ( identify & 0x40 )
{
/* queue disconnect message in */
- scsi_data.busphase = PHS_MESS_IN;
+ busphase = PHS_MESS_IN;
/* queue up a service request out in the future */
- machine.scheduler().timer_set( attotime::from_msec(50), FUNC(wd33c93_service_request ));
+ service_req_timer->adjust( attotime::from_usec(50) );
}
}
else
@@ -433,189 +383,199 @@ static CMD_HANDLER( wd33c93_selectxfer_cmd )
/* device is not available */
newstatus = CSR_TIMEOUT;
- wd33c93_set_xfer_count( 0 );
+ set_xfer_count( 0 );
}
/* complete the command */
- wd33c93_complete_cmd(newstatus);
+ complete_cmd(newstatus);
}
-static CMD_HANDLER( wd33c93_negate_ack )
+void wd33c93_device::negate_ack()
{
logerror( "WD33C93: ACK Negated\n" );
/* complete the command */
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~(ASR_CIP | ASR_BSY);
+ regs[WD_AUXILIARY_STATUS] &= ~(ASR_CIP | ASR_BSY);
}
-static CMD_HANDLER( wd33c93_xferinfo_cmd )
+void wd33c93_device::xferinfo_cmd()
{
/* make the buffer available right away */
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_DBR;
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_CIP;
+ regs[WD_AUXILIARY_STATUS] |= ASR_DBR;
+ regs[WD_AUXILIARY_STATUS] |= ASR_CIP;
/* the command will be completed once the data is transferred */
- machine.scheduler().timer_set( attotime::from_msec(1), FUNC(wd33c93_deassert_cip ));
+ deassert_cip_timer->adjust( attotime::from_msec(1) );
}
-/* Command handlers */
-static const cmd_handler wd33c93_cmds[0x22] =
-{
- &wd33c93_reset_cmd, /* 0x00 - WD_CMD_RESET */
- &wd33c93_abort_cmd, /* 0x01 - WD_CMD_ABORT */
- &wd33c93_invalid_cmd, /* 0x02 - WD_CMD_ASSERT_ATN (uninmplemented) */
- &wd33c93_negate_ack, /* 0x03 - WD_CMD_NEGATE_ACK */
- &wd33c93_disconnect_cmd,/* 0x04 - WD_CMD_DISCONNECT */
- &wd33c93_invalid_cmd, /* 0x05 - WD_CMD_RESELECT (uninmplemented) */
- &wd33c93_select_cmd, /* 0x06 - WD_CMD_SEL_ATN */
- &wd33c93_select_cmd, /* 0x07 - WD_CMD_SEL */
- &wd33c93_selectxfer_cmd,/* 0x08 - WD_CMD_SEL_ATN_XFER */
- &wd33c93_selectxfer_cmd,/* 0x09 - WD_CMD_SEL_XFER */
- &wd33c93_invalid_cmd, /* 0x0a - WD_CMD_RESEL_RECEIVE (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x0b - WD_CMD_RESEL_SEND (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x0c - WD_CMD_WAIT_SEL_RECEIVE (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x0d - WD_CMD_SSCC (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x0e - WD_CMD_SND_DISC (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x0f - WD_CMD_SET_IDI (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x10 - WD_CMD_RCV_CMD (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x11 - WD_CMD_RCV_DATA (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x12 - WD_CMD_RCV_MSG_OUT (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x13 - WD_CMD_RCV (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x14 - WD_CMD_SND_STATUS (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x15 - WD_CMD_SND_DATA (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x16 - WD_CMD_SND_MSG_IN (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x17 - WD_CMD_SND (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x18 - WD_CMD_TRANS_ADDR (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x19 - WD_CMD_XFER_PAD (uninmplemented) */
- &wd33c93_invalid_cmd, /* 0x1a - invalid */
- &wd33c93_invalid_cmd, /* 0x1b - invalid */
- &wd33c93_invalid_cmd, /* 0x1c - invalid */
- &wd33c93_invalid_cmd, /* 0x1d - invalid */
- &wd33c93_invalid_cmd, /* 0x1e - invalid */
- &wd33c93_invalid_cmd, /* 0x1f - invalid */
- &wd33c93_xferinfo_cmd, /* 0x20 - WD_CMD_TRANS_INFO) */
- &wd33c93_invalid_cmd /* 0x21 - WD_CMD_TRANSFER_PAD (uninmplemented) */
-};
-
/* Handle pending commands */
-static void wd33c93_command( running_machine &machine )
+void wd33c93_device::dispatch_command()
{
/* get the command */
- UINT8 cmd = scsi_data.regs[WD_COMMAND];
+ UINT8 cmd = regs[WD_COMMAND] & 0x7f;
- /* check if its within valid bounds */
- if ( (cmd & 0x7F) > WD_CMD_TRANSFER_PAD )
+ switch(cmd)
{
- wd33c93_invalid_cmd(machine);
- return;
- }
+ case WD_CMD_RESET:
+ reset_cmd();
+ break;
+
+ case WD_CMD_ABORT:
+ abort_cmd();
+ break;
+
+ case WD_CMD_NEGATE_ACK:
+ negate_ack();
+ break;
+
+ case WD_CMD_DISCONNECT:
+ disconnect_cmd();
+ break;
+
+ case WD_CMD_SEL_ATN:
+ case WD_CMD_SEL:
+ select_cmd();
+ break;
+
+ case WD_CMD_SEL_ATN_XFER:
+ case WD_CMD_SEL_XFER:
+ selectxfer_cmd();
+ break;
+
+ case WD_CMD_TRANS_INFO:
+ xferinfo_cmd();
+ break;
+
+ case WD_CMD_ASSERT_ATN:
+ case WD_CMD_RESELECT:
+ case WD_CMD_RESEL_RECEIVE:
+ case WD_CMD_RESEL_SEND:
+ case WD_CMD_WAIT_SEL_RECEIVE:
+ case WD_CMD_SSCC:
+ case WD_CMD_SND_DISC:
+ case WD_CMD_SET_IDI:
+ case WD_CMD_RCV_CMD:
+ case WD_CMD_RCV_DATA:
+ case WD_CMD_RCV_MSG_OUT:
+ case WD_CMD_RCV:
+ case WD_CMD_SND_STATUS:
+ case WD_CMD_SND_DATA:
+ case WD_CMD_SND_MSG_IN:
+ case WD_CMD_SND:
+ case WD_CMD_TRANS_ADDR:
+ case WD_CMD_XFER_PAD:
+ case WD_CMD_TRANSFER_PAD:
+ unimplemented_cmd();
+ break;
- /* call the command handler */
- (*wd33c93_cmds[cmd & 0x7F])(machine);
+ default:
+ invalid_cmd();
+ break;
+ }
}
-WRITE8_HANDLER(wd33c93_w)
+WRITE8_MEMBER(wd33c93_device::write)
{
switch( offset )
{
case 0:
{
/* update register select */
- scsi_data.sasr = data & 0x1f;
+ sasr = data & 0x1f;
}
break;
case 1:
{
- LOG(( "WD33C93: PC=%08x - Write REG=%02x, data = %02x\n", cpu_get_pc(&space->device()), scsi_data.sasr, data ));
+ LOG(( "WD33C93: PC=%08x - Write REG=%02x, data = %02x\n", cpu_get_pc(&space.device()), sasr, data ));
/* update the register */
- scsi_data.regs[scsi_data.sasr] = data;
+ regs[sasr] = data;
/* if we receive a command, schedule to process it */
- if ( scsi_data.sasr == WD_COMMAND )
+ if ( sasr == WD_COMMAND )
{
- LOG(( "WDC33C93: PC=%08x - Executing command %08x - unit %d\n", cpu_get_pc(&space->device()), data, wd33c93_getunit() ));
+ LOG(( "WDC33C93: PC=%08x - Executing command %08x - unit %d\n", cpu_get_pc(&space.device()), data, getunit() ));
/* signal we're processing it */
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_CIP;
+ regs[WD_AUXILIARY_STATUS] |= ASR_CIP;
/* process the command */
- wd33c93_command(space->machine());
+ dispatch_command();
}
- else if ( scsi_data.sasr == WD_CDB_1 )
+ else if ( sasr == WD_CDB_1 )
{
- scsi_data.regs[WD_COMMAND_PHASE] = 0;
+ regs[WD_COMMAND_PHASE] = 0;
}
- else if ( scsi_data.sasr == WD_DATA )
+ else if ( sasr == WD_DATA )
{
/* if data was written, and we have a count, send to device */
- int count = wd33c93_get_xfer_count();
+ int count = get_xfer_count();
- if ( scsi_data.regs[WD_COMMAND] & 0x80 )
+ if ( regs[WD_COMMAND] & 0x80 )
count = 1;
if ( count-- > 0 )
{
/* write to FIFO */
- if ( scsi_data.fifo_pos < FIFO_SIZE )
+ if ( fifo_pos < FIFO_SIZE )
{
- scsi_data.fifo[scsi_data.fifo_pos++] = data;
+ fifo[fifo_pos++] = data;
}
/* update count */
- wd33c93_set_xfer_count( count );
+ set_xfer_count( count );
/* if we're done with the write, see where we're at */
if ( count == 0 )
{
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_INT;
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
+ regs[WD_AUXILIARY_STATUS] |= ASR_INT;
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
- switch( scsi_data.busphase )
+ switch( busphase )
{
case PHS_MESS_OUT:
{
/* reset fifo */
- scsi_data.fifo_pos = 0;
+ fifo_pos = 0;
/* Message out phase. Data is probably SCSI Identify. Move to command phase. */
- scsi_data.busphase = PHS_COMMAND;
+ busphase = PHS_COMMAND;
- scsi_data.identify = scsi_data.fifo[0];
+ identify = fifo[0];
}
break;
case PHS_COMMAND:
{
- UINT8 unit = wd33c93_getunit();
- int xfercount;
+ UINT8 unit = getunit();
+ int xfercount;
int phase;
/* Execute the command. Depending on the command, we'll move to data in or out */
- devices[unit]->SetCommand( &scsi_data.fifo[0], 12 );
+ devices[unit]->SetCommand( &fifo[0], 12 );
devices[unit]->ExecCommand( &xfercount );
devices[unit]->GetPhase( &phase );
/* reset fifo */
- scsi_data.fifo_pos = 0;
+ fifo_pos = 0;
/* set the new count */
- wd33c93_set_xfer_count( xfercount );
+ set_xfer_count( xfercount );
switch( phase )
{
case SCSI_PHASE_STATUS:
- scsi_data.busphase = PHS_STATUS;
+ busphase = PHS_STATUS;
break;
case SCSI_PHASE_DATAIN:
- scsi_data.busphase = PHS_DATA_IN;
- scsi_data.read_pending = 1;
+ busphase = PHS_DATA_IN;
+ read_pending = 1;
break;
case SCSI_PHASE_DATAOUT:
- scsi_data.busphase = PHS_DATA_OUT;
+ busphase = PHS_DATA_OUT;
break;
}
}
@@ -624,19 +584,19 @@ WRITE8_HANDLER(wd33c93_w)
case PHS_DATA_OUT:
{
/* write data out to device */
- wd33c93_write_data( scsi_data.fifo_pos, scsi_data.fifo );
+ write_data( fifo_pos, fifo );
/* reset fifo */
- scsi_data.fifo_pos = 0;
+ fifo_pos = 0;
/* move to status phase */
- scsi_data.busphase = PHS_STATUS;
+ busphase = PHS_STATUS;
}
break;
}
/* complete the command */
- wd33c93_complete_immediate(space->machine(), CSR_XFER_DONE | scsi_data.busphase);
+ complete_immediate(CSR_XFER_DONE | busphase);
}
}
else
@@ -646,9 +606,9 @@ WRITE8_HANDLER(wd33c93_w)
}
/* auto-increment register select if not on special registers */
- if ( scsi_data.sasr != WD_COMMAND && scsi_data.sasr != WD_DATA && scsi_data.sasr != WD_AUXILIARY_STATUS )
+ if ( sasr != WD_COMMAND && sasr != WD_DATA && sasr != WD_AUXILIARY_STATUS )
{
- scsi_data.sasr = ( scsi_data.sasr + 1 ) & 0x1f;
+ sasr = ( sasr + 1 ) & 0x1f;
}
}
break;
@@ -661,109 +621,109 @@ WRITE8_HANDLER(wd33c93_w)
}
}
-READ8_HANDLER(wd33c93_r)
+READ8_MEMBER(wd33c93_device::read)
{
switch( offset )
{
case 0:
{
/* read aux status */
- return scsi_data.regs[WD_AUXILIARY_STATUS];
+ return regs[WD_AUXILIARY_STATUS];
}
break;
case 1:
{
- UINT8 ret;
+ UINT8 ret;
/* if reading status, clear irq flag */
- if ( scsi_data.sasr == WD_SCSI_STATUS )
+ if ( sasr == WD_SCSI_STATUS )
{
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_INT;
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_INT;
- if (intf && intf->irq_callback)
+ if (irq_callback)
{
- intf->irq_callback(space->machine(), 0);
+ irq_callback(machine(), 0);
}
- LOG(( "WD33C93: PC=%08x - Status read (%02x)\n", cpu_get_pc(&space->device()), scsi_data.regs[WD_SCSI_STATUS] ));
+ LOG(( "WD33C93: PC=%08x - Status read (%02x)\n", cpu_get_pc(&space.device()), regs[WD_SCSI_STATUS] ));
}
- else if ( scsi_data.sasr == WD_DATA )
+ else if ( sasr == WD_DATA )
{
/* we're going to be doing synchronous reads */
/* get the transfer count */
- int count = wd33c93_get_xfer_count();
+ int count = get_xfer_count();
/* initialize the return value */
- scsi_data.regs[WD_DATA] = 0;
+ regs[WD_DATA] = 0;
- if ( count <= 0 && scsi_data.busphase == PHS_MESS_IN )
+ if ( count <= 0 && busphase == PHS_MESS_IN )
{
/* move to disconnect */
- wd33c93_complete_cmd(CSR_DISC);
+ complete_cmd(CSR_DISC);
}
- else if ( count == 1 && scsi_data.busphase == PHS_STATUS )
+ else if ( count == 1 && busphase == PHS_STATUS )
{
/* update the count */
- wd33c93_set_xfer_count( 0 );
+ set_xfer_count( 0 );
/* move to message in phase */
- scsi_data.busphase = PHS_MESS_IN;
+ busphase = PHS_MESS_IN;
/* complete the command */
- wd33c93_complete_cmd(CSR_XFER_DONE | scsi_data.busphase);
+ complete_cmd(CSR_XFER_DONE | busphase);
}
else if ( count-- > 0 ) /* make sure we still have data to send */
{
- if ( scsi_data.read_pending )
+ if ( read_pending )
{
- int len = TEMP_INPUT_LEN;
+ int len = TEMP_INPUT_LEN;
if ( (count+1) < len ) len = count+1;
- wd33c93_read_data( len, &scsi_data.temp_input[0] );
- scsi_data.temp_input_pos = 0;
- scsi_data.read_pending = 0;
+ read_data( len, &temp_input[0] );
+ temp_input_pos = 0;
+ read_pending = 0;
}
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_INT;
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_INT;
/* read in one byte */
- if ( scsi_data.temp_input_pos < TEMP_INPUT_LEN )
- scsi_data.regs[WD_DATA] = scsi_data.temp_input[scsi_data.temp_input_pos++];
+ if ( temp_input_pos < TEMP_INPUT_LEN )
+ regs[WD_DATA] = temp_input[temp_input_pos++];
/* update the count */
- wd33c93_set_xfer_count( count );
+ set_xfer_count( count );
/* transfer finished, see where we're at */
if ( count == 0 )
{
- if ( scsi_data.regs[WD_COMMAND_PHASE] != 0x60 )
+ if ( regs[WD_COMMAND_PHASE] != 0x60 )
{
/* move to status phase */
- scsi_data.busphase = PHS_STATUS;
+ busphase = PHS_STATUS;
/* complete the command */
- wd33c93_complete_cmd(CSR_XFER_DONE | scsi_data.busphase);
+ complete_cmd(CSR_XFER_DONE | busphase);
}
else
{
- scsi_data.regs[WD_AUXILIARY_STATUS] |= ASR_INT;
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
+ regs[WD_AUXILIARY_STATUS] |= ASR_INT;
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
}
}
}
}
- LOG(( "WD33C93: PC=%08x - Data read (%02x)\n", cpu_get_pc(&space->device()), scsi_data.regs[WD_DATA] ));
+ LOG(( "WD33C93: PC=%08x - Data read (%02x)\n", cpu_get_pc(&space.device()), regs[WD_DATA] ));
/* get the register value */
- ret = scsi_data.regs[scsi_data.sasr];
+ ret = regs[sasr];
/* auto-increment register select if not on special registers */
- if ( scsi_data.sasr != WD_COMMAND && scsi_data.sasr != WD_DATA && scsi_data.sasr != WD_AUXILIARY_STATUS )
+ if ( sasr != WD_COMMAND && sasr != WD_DATA && sasr != WD_AUXILIARY_STATUS )
{
- scsi_data.sasr = ( scsi_data.sasr + 1 ) & 0x1f;
+ sasr = ( sasr + 1 ) & 0x1f;
}
return ret;
@@ -779,40 +739,56 @@ READ8_HANDLER(wd33c93_r)
return 0;
}
-void wd33c93_init( running_machine &machine, const struct WD33C93interface *interface )
+wd33c93_device::wd33c93_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, WD33C93, "33C93 SCSI", tag, owner, clock)
{
- // save interface pointer for later
- intf = interface;
+}
- memset(&scsi_data, 0, sizeof(scsi_data));
+void wd33c93_device::device_start()
+{
+ memset(&regs, 0, sizeof(regs));
memset(devices, 0, sizeof(devices));
// try to open the devices
- for (int i = 0; i < interface->scsidevs->devs_present; i++)
+ for (int i = 0; i < scsidevs->devs_present; i++)
{
- scsidev_device *device = machine.device<scsidev_device>( interface->scsidevs->devices[i].tag );
+ scsidev_device *device = machine().device<scsidev_device>( scsidevs->devices[i].tag );
devices[device->GetDeviceID()] = device;
}
/* allocate a timer for commands */
- scsi_data.cmd_timer = machine.scheduler().timer_alloc(FUNC(wd33c93_complete_cb));
-
- scsi_data.temp_input = auto_alloc_array( machine, UINT8, TEMP_INPUT_LEN );
+ cmd_timer = timer_alloc(0);
+ service_req_timer = timer_alloc(1);
+ deassert_cip_timer = timer_alloc(2);
+
+ save_item( NAME( sasr ) );
+ save_item( NAME( regs ) );
+ save_item( NAME( fifo ) );
+ save_item( NAME( fifo_pos ) );
+ save_item( NAME( temp_input ) );
+ save_item( NAME( temp_input_pos ) );
+ save_item( NAME( busphase ) );
+ save_item( NAME( identify ) );
+ save_item( NAME( read_pending ) );
+}
-// state_save_register_item_array(machine, "wd33c93", NULL, 0, scsi_data);
+void wd33c93_device::static_set_interface(device_t &device, const WD33C93interface &interface)
+{
+ wd33c93_device &wd33c93 = downcast<wd33c93_device &>(device);
+ static_cast<WD33C93interface &>(wd33c93) = interface;
}
-void wd33c93_get_dma_data( int bytes, UINT8 *pData )
+void wd33c93_device::get_dma_data( int bytes, UINT8 *pData )
{
- int len = bytes;
+ int len = bytes;
- if ( len >= wd33c93_get_xfer_count() )
- len = wd33c93_get_xfer_count();
+ if ( len >= get_xfer_count() )
+ len = get_xfer_count();
if ( len == 0 )
return;
- if ( (scsi_data.temp_input_pos+len) >= TEMP_INPUT_LEN )
+ if ( (temp_input_pos+len) >= TEMP_INPUT_LEN )
{
logerror( "Reading past end of buffer, increase TEMP_INPUT_LEN size\n" );
len = TEMP_INPUT_LEN - len;
@@ -820,16 +796,16 @@ void wd33c93_get_dma_data( int bytes, UINT8 *pData )
assert(len);
- memcpy( pData, &scsi_data.temp_input[scsi_data.temp_input_pos], len );
+ memcpy( pData, &temp_input[temp_input_pos], len );
- scsi_data.temp_input_pos += len;
- len = wd33c93_get_xfer_count() - len;
- wd33c93_set_xfer_count(len);
+ temp_input_pos += len;
+ len = get_xfer_count() - len;
+ set_xfer_count(len);
}
-void wd33c93_write_data(int bytes, UINT8 *pData)
+void wd33c93_device::write_data(int bytes, UINT8 *pData)
{
- UINT8 unit = wd33c93_getunit();
+ UINT8 unit = getunit();
if (devices[unit])
{
@@ -841,14 +817,16 @@ void wd33c93_write_data(int bytes, UINT8 *pData)
}
}
-void wd33c93_clear_dma(void)
+void wd33c93_device::clear_dma()
{
/* indicate DMA completed by clearing the transfer count */
- wd33c93_set_xfer_count(0);
- scsi_data.regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
+ set_xfer_count(0);
+ regs[WD_AUXILIARY_STATUS] &= ~ASR_DBR;
}
-int wd33c93_get_dma_count(void)
+int wd33c93_device::get_dma_count()
{
- return wd33c93_get_xfer_count();
+ return get_xfer_count();
}
+
+const device_type WD33C93 = &device_creator<wd33c93_device>;
diff --git a/src/emu/machine/wd33c93.h b/src/emu/machine/wd33c93.h
index 0ebdda46925..e4b23bad385 100644
--- a/src/emu/machine/wd33c93.h
+++ b/src/emu/machine/wd33c93.h
@@ -7,6 +7,7 @@
#define _WD33C93_H_
#include "machine/scsi.h"
+#include "scsidev.h"
struct WD33C93interface
{
@@ -14,12 +15,105 @@ struct WD33C93interface
void (*irq_callback)(running_machine &machine, int state); /* irq callback */
};
-extern void wd33c93_init( running_machine &machine, const struct WD33C93interface *interface );
-extern void wd33c93_get_dma_data(int bytes, UINT8 *pData);
-extern void wd33c93_write_data(int bytes, UINT8 *pData);
-extern void wd33c93_clear_dma(void);
-extern int wd33c93_get_dma_count(void);
-extern READ8_HANDLER(wd33c93_r);
-extern WRITE8_HANDLER(wd33c93_w);
+/* wd register names */
+
+enum
+{
+ WD_OWN_ID = 0x00,
+ WD_CONTROL = 0x01,
+ WD_TIMEOUT_PERIOD = 0x02,
+ WD_CDB_1 = 0x03,
+ WD_CDB_2 = 0x04,
+ WD_CDB_3 = 0x05,
+ WD_CDB_4 = 0x06,
+ WD_CDB_5 = 0x07,
+ WD_CDB_6 = 0x08,
+ WD_CDB_7 = 0x09,
+ WD_CDB_8 = 0x0a,
+ WD_CDB_9 = 0x0b,
+ WD_CDB_10 = 0x0c,
+ WD_CDB_11 = 0x0d,
+ WD_CDB_12 = 0x0e,
+ WD_TARGET_LUN = 0x0f,
+ WD_COMMAND_PHASE = 0x10,
+ WD_SYNCHRONOUS_TRANSFER = 0x11,
+ WD_TRANSFER_COUNT_MSB = 0x12,
+ WD_TRANSFER_COUNT = 0x13,
+ WD_TRANSFER_COUNT_LSB = 0x14,
+ WD_DESTINATION_ID = 0x15,
+ WD_SOURCE_ID = 0x16,
+ WD_SCSI_STATUS = 0x17,
+ WD_COMMAND = 0x18,
+ WD_DATA = 0x19,
+ WD_QUEUE_TAG = 0x1a,
+ WD_AUXILIARY_STATUS = 0x1f
+};
+
+#define TEMP_INPUT_LEN 262144
+#define FIFO_SIZE 12
+
+#define MCFG_WD33C93_ADD( _tag, _interface ) \
+ MCFG_DEVICE_ADD( _tag, WD33C93, 0 ) \
+ wd33c93_device::static_set_interface(*device, _interface);
+
+class wd33c93_device : public device_t,
+ public WD33C93interface
+{
+public:
+ // construction/destruction
+ wd33c93_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // inline configuration helpers
+ static void static_set_interface(device_t &device, const WD33C93interface &interface);
+
+ DECLARE_READ8_MEMBER(read);
+ DECLARE_WRITE8_MEMBER(write);
+
+ void get_dma_data( int bytes, UINT8 *pData );
+ void write_data(int bytes, UINT8 *pData);
+ void clear_dma();
+ int get_dma_count();
+
+protected:
+ // device-level overrides
+ virtual void device_start();
+ virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
+
+private:
+ UINT8 getunit( void );
+ void set_xfer_count( int count );
+ int get_xfer_count( void );
+ void read_data(int bytes, UINT8 *pData);
+ void complete_immediate( int status );
+ void complete_cmd( UINT8 status );
+ void unimplemented_cmd();
+ void invalid_cmd();
+ void reset_cmd();
+ void abort_cmd();
+ void disconnect_cmd();
+ void select_cmd();
+ void selectxfer_cmd();
+ void negate_ack();
+ void xferinfo_cmd();
+ void dispatch_command();
+
+ scsidev_device *devices[8]; // SCSI IDs 0-7
+
+ UINT8 sasr;
+ UINT8 regs[WD_AUXILIARY_STATUS+1];
+ UINT8 fifo[FIFO_SIZE];
+ int fifo_pos;
+ UINT8 temp_input[TEMP_INPUT_LEN];
+ int temp_input_pos;
+ UINT8 busphase;
+ UINT8 identify;
+ int read_pending;
+ emu_timer *cmd_timer;
+ emu_timer *service_req_timer;
+ emu_timer *deassert_cip_timer;
+};
+
+// device type definition
+extern const device_type WD33C93;
#endif
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 936ea93fd20..9f5f7069fbe 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -1715,36 +1715,6 @@ WRITE32_MEMBER(cps3_state::cps3_eeprom_w)
}
-READ32_MEMBER(cps3_state::cps3_cdrom_r)
-{
- UINT32 retval = 0;
-
- if (ACCESSING_BITS_24_31)
- {
- retval |= ((UINT16)wd33c93_r(&space,0))<<16;
- }
-
- if (ACCESSING_BITS_0_7)
- {
- retval |= (UINT16)wd33c93_r(&space,1);
- }
-
- return retval;
-}
-
-WRITE32_MEMBER(cps3_state::cps3_cdrom_w)
-{
- if (ACCESSING_BITS_24_31)
- {
- wd33c93_w(&space,0,(data & 0x00ff0000)>>16);
- }
-
- if (ACCESSING_BITS_0_7)
- {
- wd33c93_w(&space,1,(data & 0x000000ff)>>0);
- }
-}
-
WRITE32_MEMBER(cps3_state::cps3_ss_bank_base_w)
{
// might be scroll registers or something else..
@@ -2197,7 +2167,7 @@ static ADDRESS_MAP_START( cps3_map, AS_PROGRAM, 32, cps3_state )
AM_RANGE(0x05100000, 0x05100003) AM_WRITE(cps3_irq12_ack_w )
AM_RANGE(0x05110000, 0x05110003) AM_WRITE(cps3_irq10_ack_w )
- AM_RANGE(0x05140000, 0x05140003) AM_READWRITE(cps3_cdrom_r, cps3_cdrom_w )
+ AM_RANGE(0x05140000, 0x05140003) AM_DEVREADWRITE8("wd33c93", wd33c93_device, read, write, 0x00ff00ff )
AM_RANGE(0x06000000, 0x067fffff) AM_READWRITE(cps3_flash1_r, cps3_flash1_w ) /* Flash ROMs simm 1 */
AM_RANGE(0x06800000, 0x06ffffff) AM_READWRITE(cps3_flash2_r, cps3_flash2_w ) /* Flash ROMs simm 2 */
@@ -2305,11 +2275,6 @@ static const struct WD33C93interface scsi_intf =
NULL /* command completion IRQ */
};
-static MACHINE_START( cps3 )
-{
- wd33c93_init(machine, &scsi_intf);
-}
-
static MACHINE_RESET( cps3 )
{
cps3_state *state = machine.driver_data<cps3_state>();
@@ -2544,6 +2509,7 @@ static MACHINE_CONFIG_START( cps3, cps3_state )
MCFG_CPU_PERIODIC_INT(cps3_other_interrupt,80) /* ?source? */
MCFG_CPU_CONFIG(sh2_conf_cps3)
+ MCFG_WD33C93_ADD("wd33c93", scsi_intf);
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_1)
/* video hardware */
@@ -2561,7 +2527,6 @@ static MACHINE_CONFIG_START( cps3, cps3_state )
42.9545MHz / 15.4445kHz = 2781.217 / 6 = 463.536 -> unlikely
*/
- MCFG_MACHINE_START(cps3)
MCFG_MACHINE_RESET(cps3)
MCFG_NVRAM_ADD_0FILL("eeprom")
MCFG_PALETTE_LENGTH(0x10000) // actually 0x20000 ...
@@ -2625,377 +2590,377 @@ MACHINE_CONFIG_DERIVED( jojoba, cps3 )
MCFG_FRAGMENT_ADD(simm5_128mbit)
MACHINE_CONFIG_END
-#define REDEARTH_961121_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "redearth(__961121)-simm1.0", 0x00000, 0x200000, CRC(cad468f8) SHA1(b3aa4f7d3fae84e8821417ccde9528d3eda2b7a6) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "redearth(__961121)-simm1.1", 0x00000, 0x200000, CRC(e9721d89) SHA1(5c63d10bdbce52d50b6dde14d4a0f1369383d656) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "redearth(__961121)-simm1.2", 0x00000, 0x200000, CRC(2889ec98) SHA1(a94310eb4777f908d87e9d90969db8504b4140ff) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "redearth(__961121)-simm1.3", 0x00000, 0x200000, CRC(5a6cd148) SHA1(d65c6e8378a91828474a16a3bbcd13c4b3b15f13) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "redearth-simm3.0", 0x00000, 0x200000, CRC(83350cc5) SHA1(922b1abf80a4a89f35279b66311a7369d3965bd0) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "redearth-simm3.1", 0x00000, 0x200000, CRC(56734de6) SHA1(75699fa6efe5bec335e4b02e15b3c45726b68fa8) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "redearth-simm3.2", 0x00000, 0x200000, CRC(800ea0f1) SHA1(33871ab56dc1cd24441389d53e43fb8e43b149d9) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "redearth-simm3.3", 0x00000, 0x200000, CRC(97e9146c) SHA1(ab7744709615081440bee72f4080d6fd5b938668) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "redearth-simm3.4", 0x00000, 0x200000, CRC(0cb1d648) SHA1(7042a590c2b7ec55323062127e254da3cdc790a1) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "redearth-simm3.5", 0x00000, 0x200000, CRC(7a1099f0) SHA1(c6a92ec86eb24485f1db530e0e78f647e8432231) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "redearth-simm3.6", 0x00000, 0x200000, CRC(aeff8f54) SHA1(fd760e237c2e5fb2da45e32a1c12fd3defb4c3e4) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "redearth-simm3.7", 0x00000, 0x200000, CRC(f770acd0) SHA1(4b3ccb6f91568f95f04ede6c574144918d131201) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "redearth-simm4.0", 0x00000, 0x200000, CRC(301e56f2) SHA1(4847d971bff70a2aeed4599e1201c7ec9677da60) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "redearth-simm4.1", 0x00000, 0x200000, CRC(2048e103) SHA1(b21f95b05cd99749bd3f25cc71b2671c2026847b) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "redearth-simm4.2", 0x00000, 0x200000, CRC(c9433455) SHA1(63a269d76bac332c2e991d0f6a20c35e0e88680a) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "redearth-simm4.3", 0x00000, 0x200000, CRC(c02171a8) SHA1(2e9228729b27a6113d9f2e42af310a834979f714) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "redearth-simm4.4", 0x00000, 0x200000, CRC(2ddbf276) SHA1(b232baaa8edc8db18f8a3bdcc2d38fe984a94a34) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "redearth-simm4.5", 0x00000, 0x200000, CRC(fea820a6) SHA1(55ee8ef95751f5a509fb126513e1b2a70a3414e5) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "redearth-simm4.6", 0x00000, 0x200000, CRC(c7528df1) SHA1(aa312f80c2d7759d18d1aa8d416cf932b2850824) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "redearth-simm4.7", 0x00000, 0x200000, CRC(2449cf3b) SHA1(c60d8042136d74e547f668ad787cae529c42eed9) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "redearth-simm5.0", 0x00000, 0x200000, CRC(424451b9) SHA1(250fb92254c9e7ff5bc8dbeea5872f8a771dc9bd) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "redearth-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23) ) \
+#define REDEARTH_961121_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "redearth(__961121)-simm1.0", 0x00000, 0x200000, CRC(cad468f8) SHA1(b3aa4f7d3fae84e8821417ccde9528d3eda2b7a6), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "redearth(__961121)-simm1.1", 0x00000, 0x200000, CRC(e9721d89) SHA1(5c63d10bdbce52d50b6dde14d4a0f1369383d656), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "redearth(__961121)-simm1.2", 0x00000, 0x200000, CRC(2889ec98) SHA1(a94310eb4777f908d87e9d90969db8504b4140ff), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "redearth(__961121)-simm1.3", 0x00000, 0x200000, CRC(5a6cd148) SHA1(d65c6e8378a91828474a16a3bbcd13c4b3b15f13), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "redearth-simm3.0", 0x00000, 0x200000, CRC(83350cc5) SHA1(922b1abf80a4a89f35279b66311a7369d3965bd0), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "redearth-simm3.1", 0x00000, 0x200000, CRC(56734de6) SHA1(75699fa6efe5bec335e4b02e15b3c45726b68fa8), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "redearth-simm3.2", 0x00000, 0x200000, CRC(800ea0f1) SHA1(33871ab56dc1cd24441389d53e43fb8e43b149d9), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "redearth-simm3.3", 0x00000, 0x200000, CRC(97e9146c) SHA1(ab7744709615081440bee72f4080d6fd5b938668), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "redearth-simm3.4", 0x00000, 0x200000, CRC(0cb1d648) SHA1(7042a590c2b7ec55323062127e254da3cdc790a1), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "redearth-simm3.5", 0x00000, 0x200000, CRC(7a1099f0) SHA1(c6a92ec86eb24485f1db530e0e78f647e8432231), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "redearth-simm3.6", 0x00000, 0x200000, CRC(aeff8f54) SHA1(fd760e237c2e5fb2da45e32a1c12fd3defb4c3e4), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "redearth-simm3.7", 0x00000, 0x200000, CRC(f770acd0) SHA1(4b3ccb6f91568f95f04ede6c574144918d131201), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "redearth-simm4.0", 0x00000, 0x200000, CRC(301e56f2) SHA1(4847d971bff70a2aeed4599e1201c7ec9677da60), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "redearth-simm4.1", 0x00000, 0x200000, CRC(2048e103) SHA1(b21f95b05cd99749bd3f25cc71b2671c2026847b), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "redearth-simm4.2", 0x00000, 0x200000, CRC(c9433455) SHA1(63a269d76bac332c2e991d0f6a20c35e0e88680a), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "redearth-simm4.3", 0x00000, 0x200000, CRC(c02171a8) SHA1(2e9228729b27a6113d9f2e42af310a834979f714), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "redearth-simm4.4", 0x00000, 0x200000, CRC(2ddbf276) SHA1(b232baaa8edc8db18f8a3bdcc2d38fe984a94a34), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "redearth-simm4.5", 0x00000, 0x200000, CRC(fea820a6) SHA1(55ee8ef95751f5a509fb126513e1b2a70a3414e5), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "redearth-simm4.6", 0x00000, 0x200000, CRC(c7528df1) SHA1(aa312f80c2d7759d18d1aa8d416cf932b2850824), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "redearth-simm4.7", 0x00000, 0x200000, CRC(2449cf3b) SHA1(c60d8042136d74e547f668ad787cae529c42eed9), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "redearth-simm5.0", 0x00000, 0x200000, CRC(424451b9) SHA1(250fb92254c9e7ff5bc8dbeea5872f8a771dc9bd), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "redearth-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23), flags ) \
#define REDEARTH_961121_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-wzd-5", 0, BAD_DUMP SHA1(e5676752b08283dc4a98c3d7b759e8aa6dcd0679) ) \
-#define REDEARTH_961023_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "redearth(__961023)-simm1.0", 0x00000, 0x200000, CRC(65bac346) SHA1(6f4ba0c2cae91a37fc97bea5fc8a50aaf6ca6513) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "redearth(__961023)-simm1.1", 0x00000, 0x200000, CRC(a8ec4aae) SHA1(0012cb6ba630ddd74958f7759de34706bf919338) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "redearth(__961023)-simm1.2", 0x00000, 0x200000, CRC(2caf8995) SHA1(ca012b6dec0481b043edf9c7e931bd952ec74ebb) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "redearth(__961023)-simm1.3", 0x00000, 0x200000, CRC(13ebc21d) SHA1(465bdea0633526a8bf07b35495a5311c8bf213d5) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "redearth-simm3.0", 0x00000, 0x200000, CRC(83350cc5) SHA1(922b1abf80a4a89f35279b66311a7369d3965bd0) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "redearth-simm3.1", 0x00000, 0x200000, CRC(56734de6) SHA1(75699fa6efe5bec335e4b02e15b3c45726b68fa8) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "redearth-simm3.2", 0x00000, 0x200000, CRC(800ea0f1) SHA1(33871ab56dc1cd24441389d53e43fb8e43b149d9) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "redearth-simm3.3", 0x00000, 0x200000, CRC(97e9146c) SHA1(ab7744709615081440bee72f4080d6fd5b938668) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "redearth-simm3.4", 0x00000, 0x200000, CRC(0cb1d648) SHA1(7042a590c2b7ec55323062127e254da3cdc790a1) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "redearth-simm3.5", 0x00000, 0x200000, CRC(7a1099f0) SHA1(c6a92ec86eb24485f1db530e0e78f647e8432231) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "redearth-simm3.6", 0x00000, 0x200000, CRC(aeff8f54) SHA1(fd760e237c2e5fb2da45e32a1c12fd3defb4c3e4) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "redearth-simm3.7", 0x00000, 0x200000, CRC(f770acd0) SHA1(4b3ccb6f91568f95f04ede6c574144918d131201) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "redearth-simm4.0", 0x00000, 0x200000, CRC(301e56f2) SHA1(4847d971bff70a2aeed4599e1201c7ec9677da60) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "redearth-simm4.1", 0x00000, 0x200000, CRC(2048e103) SHA1(b21f95b05cd99749bd3f25cc71b2671c2026847b) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "redearth-simm4.2", 0x00000, 0x200000, CRC(c9433455) SHA1(63a269d76bac332c2e991d0f6a20c35e0e88680a) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "redearth-simm4.3", 0x00000, 0x200000, CRC(c02171a8) SHA1(2e9228729b27a6113d9f2e42af310a834979f714) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "redearth-simm4.4", 0x00000, 0x200000, CRC(2ddbf276) SHA1(b232baaa8edc8db18f8a3bdcc2d38fe984a94a34) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "redearth-simm4.5", 0x00000, 0x200000, CRC(fea820a6) SHA1(55ee8ef95751f5a509fb126513e1b2a70a3414e5) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "redearth-simm4.6", 0x00000, 0x200000, CRC(c7528df1) SHA1(aa312f80c2d7759d18d1aa8d416cf932b2850824) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "redearth-simm4.7", 0x00000, 0x200000, CRC(2449cf3b) SHA1(c60d8042136d74e547f668ad787cae529c42eed9) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "redearth-simm5.0", 0x00000, 0x200000, CRC(424451b9) SHA1(250fb92254c9e7ff5bc8dbeea5872f8a771dc9bd) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "redearth-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23) ) \
+#define REDEARTH_961023_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "redearth(__961023)-simm1.0", 0x00000, 0x200000, CRC(65bac346) SHA1(6f4ba0c2cae91a37fc97bea5fc8a50aaf6ca6513), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "redearth(__961023)-simm1.1", 0x00000, 0x200000, CRC(a8ec4aae) SHA1(0012cb6ba630ddd74958f7759de34706bf919338), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "redearth(__961023)-simm1.2", 0x00000, 0x200000, CRC(2caf8995) SHA1(ca012b6dec0481b043edf9c7e931bd952ec74ebb), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "redearth(__961023)-simm1.3", 0x00000, 0x200000, CRC(13ebc21d) SHA1(465bdea0633526a8bf07b35495a5311c8bf213d5), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "redearth-simm3.0", 0x00000, 0x200000, CRC(83350cc5) SHA1(922b1abf80a4a89f35279b66311a7369d3965bd0), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "redearth-simm3.1", 0x00000, 0x200000, CRC(56734de6) SHA1(75699fa6efe5bec335e4b02e15b3c45726b68fa8), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "redearth-simm3.2", 0x00000, 0x200000, CRC(800ea0f1) SHA1(33871ab56dc1cd24441389d53e43fb8e43b149d9), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "redearth-simm3.3", 0x00000, 0x200000, CRC(97e9146c) SHA1(ab7744709615081440bee72f4080d6fd5b938668), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "redearth-simm3.4", 0x00000, 0x200000, CRC(0cb1d648) SHA1(7042a590c2b7ec55323062127e254da3cdc790a1), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "redearth-simm3.5", 0x00000, 0x200000, CRC(7a1099f0) SHA1(c6a92ec86eb24485f1db530e0e78f647e8432231), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "redearth-simm3.6", 0x00000, 0x200000, CRC(aeff8f54) SHA1(fd760e237c2e5fb2da45e32a1c12fd3defb4c3e4), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "redearth-simm3.7", 0x00000, 0x200000, CRC(f770acd0) SHA1(4b3ccb6f91568f95f04ede6c574144918d131201), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "redearth-simm4.0", 0x00000, 0x200000, CRC(301e56f2) SHA1(4847d971bff70a2aeed4599e1201c7ec9677da60), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "redearth-simm4.1", 0x00000, 0x200000, CRC(2048e103) SHA1(b21f95b05cd99749bd3f25cc71b2671c2026847b), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "redearth-simm4.2", 0x00000, 0x200000, CRC(c9433455) SHA1(63a269d76bac332c2e991d0f6a20c35e0e88680a), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "redearth-simm4.3", 0x00000, 0x200000, CRC(c02171a8) SHA1(2e9228729b27a6113d9f2e42af310a834979f714), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "redearth-simm4.4", 0x00000, 0x200000, CRC(2ddbf276) SHA1(b232baaa8edc8db18f8a3bdcc2d38fe984a94a34), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "redearth-simm4.5", 0x00000, 0x200000, CRC(fea820a6) SHA1(55ee8ef95751f5a509fb126513e1b2a70a3414e5), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "redearth-simm4.6", 0x00000, 0x200000, CRC(c7528df1) SHA1(aa312f80c2d7759d18d1aa8d416cf932b2850824), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "redearth-simm4.7", 0x00000, 0x200000, CRC(2449cf3b) SHA1(c60d8042136d74e547f668ad787cae529c42eed9), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "redearth-simm5.0", 0x00000, 0x200000, CRC(424451b9) SHA1(250fb92254c9e7ff5bc8dbeea5872f8a771dc9bd), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "redearth-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23), flags ) \
#define REDEARTH_961023_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-wzd-3", 0, SHA1(a6ff67093db6bc80ee5fc46e4300e0177b213a52) ) \
-#define SFIII_970204_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "sfiii-simm1.0", 0x00000, 0x200000, CRC(cfc9e45a) SHA1(5d9061f76680642e730373e3ac29b24926dc5c0c) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "sfiii-simm1.1", 0x00000, 0x200000, CRC(57920546) SHA1(c8452e7e101b8888fb806d1c9874c6be49fc7dbd) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "sfiii-simm1.2", 0x00000, 0x200000, CRC(0d8f2680) SHA1(ade7b28acd11023696c4b20136f3d2f34da6b1be) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "sfiii-simm1.3", 0x00000, 0x200000, CRC(ea4ca054) SHA1(f91c55c4e4fc428ce15d27be38aeed3a483d028c) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "sfiii-simm3.0", 0x00000, 0x200000, CRC(080b3bd3) SHA1(f51bc5de95ab22b87ba09ea721285b308afd0bda) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "sfiii-simm3.1", 0x00000, 0x200000, CRC(5c356f2f) SHA1(e969ce388f6e565d9612e65b0895560c7bb472e6) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "sfiii-simm3.2", 0x00000, 0x200000, CRC(f9c97a45) SHA1(58a9691696c3f26a1150a451567c501f55cf1874) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "sfiii-simm3.3", 0x00000, 0x200000, CRC(09de3ead) SHA1(2f41d84a96cb5e0d169200a4e9358ad5f407a2b7) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "sfiii-simm3.4", 0x00000, 0x200000, CRC(7dd7e1f3) SHA1(bcf1023287457d97f09d9f6e9c93fdf24cc24a07) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "sfiii-simm3.5", 0x00000, 0x200000, CRC(47a03a3a) SHA1(2509e5737059251888e4e1efbcdfac86a89ff1a1) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "sfiii-simm3.6", 0x00000, 0x200000, CRC(e9eb7a26) SHA1(b8547edb7085e9149aa59d5226ad2d1976cab2bd) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "sfiii-simm3.7", 0x00000, 0x200000, CRC(7f44395c) SHA1(f4d2e283cb3a4aad4eae4e13963a74e20be7c181) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "sfiii-simm4.0", 0x00000, 0x200000, CRC(9ac080fc) SHA1(2e5024b35b147513ee42eda8748df9d669410377) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "sfiii-simm4.1", 0x00000, 0x200000, CRC(6e2c4c94) SHA1(5a185cb76b5999bd826bc9b5ea584a5c3498f69d) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "sfiii-simm4.2", 0x00000, 0x200000, CRC(8afc22d4) SHA1(04a419a3092c98fc4a7693e6acf30ae5a849e5c1) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "sfiii-simm4.3", 0x00000, 0x200000, CRC(9f3873b8) SHA1(33499d6f02bc84c80acb56be078aaed7f8d1300d) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "sfiii-simm4.4", 0x00000, 0x200000, CRC(166b3c97) SHA1(40e6e9d43cbbd8496b430931b8ab7db01dc1c6d5) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "sfiii-simm4.5", 0x00000, 0x200000, CRC(e5ea2547) SHA1(a823c689098f37a3054d728bddb0033a4b8396f1) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "sfiii-simm4.6", 0x00000, 0x200000, CRC(e85b9fdd) SHA1(264cb10fe9b3ede384c7db42bfc58ed5c21ea8f8) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "sfiii-simm4.7", 0x00000, 0x200000, CRC(362c01b7) SHA1(9c404312a6aabe8e91e68dde193e3972bc1636cd) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "sfiii-simm5.0", 0x00000, 0x200000, CRC(9bc108b2) SHA1(894dadab7957044bf877029c7f8e556d5d6e85d3) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "sfiii-simm5.1", 0x00000, 0x200000, CRC(c6f1c066) SHA1(00de492dd1ef7aef05027a8c501c296b6602e917) ) \
+#define SFIII_970204_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii-simm1.0", 0x00000, 0x200000, CRC(cfc9e45a) SHA1(5d9061f76680642e730373e3ac29b24926dc5c0c), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "sfiii-simm1.1", 0x00000, 0x200000, CRC(57920546) SHA1(c8452e7e101b8888fb806d1c9874c6be49fc7dbd), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "sfiii-simm1.2", 0x00000, 0x200000, CRC(0d8f2680) SHA1(ade7b28acd11023696c4b20136f3d2f34da6b1be), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "sfiii-simm1.3", 0x00000, 0x200000, CRC(ea4ca054) SHA1(f91c55c4e4fc428ce15d27be38aeed3a483d028c), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "sfiii-simm3.0", 0x00000, 0x200000, CRC(080b3bd3) SHA1(f51bc5de95ab22b87ba09ea721285b308afd0bda), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "sfiii-simm3.1", 0x00000, 0x200000, CRC(5c356f2f) SHA1(e969ce388f6e565d9612e65b0895560c7bb472e6), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "sfiii-simm3.2", 0x00000, 0x200000, CRC(f9c97a45) SHA1(58a9691696c3f26a1150a451567c501f55cf1874), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "sfiii-simm3.3", 0x00000, 0x200000, CRC(09de3ead) SHA1(2f41d84a96cb5e0d169200a4e9358ad5f407a2b7), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "sfiii-simm3.4", 0x00000, 0x200000, CRC(7dd7e1f3) SHA1(bcf1023287457d97f09d9f6e9c93fdf24cc24a07), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "sfiii-simm3.5", 0x00000, 0x200000, CRC(47a03a3a) SHA1(2509e5737059251888e4e1efbcdfac86a89ff1a1), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "sfiii-simm3.6", 0x00000, 0x200000, CRC(e9eb7a26) SHA1(b8547edb7085e9149aa59d5226ad2d1976cab2bd), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "sfiii-simm3.7", 0x00000, 0x200000, CRC(7f44395c) SHA1(f4d2e283cb3a4aad4eae4e13963a74e20be7c181), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "sfiii-simm4.0", 0x00000, 0x200000, CRC(9ac080fc) SHA1(2e5024b35b147513ee42eda8748df9d669410377), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "sfiii-simm4.1", 0x00000, 0x200000, CRC(6e2c4c94) SHA1(5a185cb76b5999bd826bc9b5ea584a5c3498f69d), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "sfiii-simm4.2", 0x00000, 0x200000, CRC(8afc22d4) SHA1(04a419a3092c98fc4a7693e6acf30ae5a849e5c1), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "sfiii-simm4.3", 0x00000, 0x200000, CRC(9f3873b8) SHA1(33499d6f02bc84c80acb56be078aaed7f8d1300d), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "sfiii-simm4.4", 0x00000, 0x200000, CRC(166b3c97) SHA1(40e6e9d43cbbd8496b430931b8ab7db01dc1c6d5), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "sfiii-simm4.5", 0x00000, 0x200000, CRC(e5ea2547) SHA1(a823c689098f37a3054d728bddb0033a4b8396f1), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "sfiii-simm4.6", 0x00000, 0x200000, CRC(e85b9fdd) SHA1(264cb10fe9b3ede384c7db42bfc58ed5c21ea8f8), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "sfiii-simm4.7", 0x00000, 0x200000, CRC(362c01b7) SHA1(9c404312a6aabe8e91e68dde193e3972bc1636cd), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "sfiii-simm5.0", 0x00000, 0x200000, CRC(9bc108b2) SHA1(894dadab7957044bf877029c7f8e556d5d6e85d3), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "sfiii-simm5.1", 0x00000, 0x200000, CRC(c6f1c066) SHA1(00de492dd1ef7aef05027a8c501c296b6602e917), flags ) \
#define SFIII_970204_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-sf3-3", 0, BAD_DUMP SHA1(606e62cc5f46275e366e7dbb412dbaeb7e54cd0c) ) \
-#define SFIII2_970930_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "sfiii2-simm1.0", 0x00000, 0x200000, CRC(2d666f0b) SHA1(68de034b3a3aeaf4b26122a84ad48b0b763e4122) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "sfiii2-simm1.1", 0x00000, 0x200000, CRC(2a3a8ef6) SHA1(31fb58fd1360ed8c951e2c4ac898a5a7104528d6) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "sfiii2-simm1.2", 0x00000, 0x200000, CRC(161d2206) SHA1(58999f876e64c1a088e8765962a9cd504f22a706) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "sfiii2-simm1.3", 0x00000, 0x200000, CRC(87ded8a3) SHA1(4ccef64f80d2ee63940b0958b500364ee515db51) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "sfiii2-simm2.0", 0x00000, 0x200000, CRC(94a4ce0f) SHA1(2c8e26a66d1dcd17c22c70baa2a3ff5a54511514) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "sfiii2-simm2.1", 0x00000, 0x200000, CRC(67585033) SHA1(24df9968a54c330fbe95f8e4dfe6e7dfd144ed0c) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "sfiii2-simm2.2", 0x00000, 0x200000, CRC(fabffcd5) SHA1(9399f64c42f63a64e44a21a2690e44779943a2b2) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "sfiii2-simm2.3", 0x00000, 0x200000, CRC(623c09ca) SHA1(dc9618a08bb7f44e569ac17605d268511155a14e) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "sfiii2-simm3.0", 0x00000, 0x200000, CRC(dab2d766) SHA1(d265cc8b1b497eb4bedd63b3f1de60eb1c1db0df) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "sfiii2-simm3.1", 0x00000, 0x200000, CRC(1f2aa34b) SHA1(38b224d34c4550f1f33c2c368e2a252d0d176cc0) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "sfiii2-simm3.2", 0x00000, 0x200000, CRC(6f1a04eb) SHA1(980ca929114075d1920e2da44f9a22087cc92e55) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "sfiii2-simm3.3", 0x00000, 0x200000, CRC(e05ef205) SHA1(e604e3832549740f953581fc91e850beda6a73c8) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "sfiii2-simm3.4", 0x00000, 0x200000, CRC(affb074f) SHA1(0e76973807039bc66fd0f3233401cea8d2c45f84) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "sfiii2-simm3.5", 0x00000, 0x200000, CRC(6962872e) SHA1(f16b2d0792697345145d0e9d950e912a2ffabe0d) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "sfiii2-simm3.6", 0x00000, 0x200000, CRC(6eed87de) SHA1(5d5067ad36234c5efd57a2baebeffa2f44f2caec) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "sfiii2-simm3.7", 0x00000, 0x200000, CRC(e18f479e) SHA1(cd4c1812ab422336bfa414e0b2098b472d2f9251) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "sfiii2-simm4.0", 0x00000, 0x200000, CRC(764c2503) SHA1(cad3f20ade2e1d3ac52f8c318443da20062ae943) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "sfiii2-simm4.1", 0x00000, 0x200000, CRC(3e16af6e) SHA1(afde2ed4bf3a3e95035fc02c572c5b83178a9467) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "sfiii2-simm4.2", 0x00000, 0x200000, CRC(215705e6) SHA1(42d3849f8a9242a89ba465dbc205f310186c67cd) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "sfiii2-simm4.3", 0x00000, 0x200000, CRC(e30cbd9c) SHA1(c205101ada86154921e09fed4f6908d15ec60761) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "sfiii2-simm4.4", 0x00000, 0x200000, CRC(4185ded9) SHA1(24bf9b5f25d7753f1feb09b82611f7482f30d304) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "sfiii2-simm4.5", 0x00000, 0x200000, CRC(4e8db013) SHA1(6816df2b6c60005fb375530ea93bb30a960c9b01) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "sfiii2-simm4.6", 0x00000, 0x200000, CRC(08df48ce) SHA1(e8a3b68ebeab193539446c3f6e0a19b37f1f3495) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "sfiii2-simm4.7", 0x00000, 0x200000, CRC(bb8f80a5) SHA1(35d9e86637d54405c97fdb7da9c42cc53907cae3) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "sfiii2-simm5.0", 0x00000, 0x200000, CRC(ebdc4787) SHA1(f86e8ebf4b2214be166dbe4ea921058a552364ea) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "sfiii2-simm5.1", 0x00000, 0x200000, CRC(6b7c550e) SHA1(77cdabccf3ecebf142ac86dffe6e24052941e3a1) ) \
- ROM_REGION( 0x200000, "simm5.2", 0 ) ROM_LOAD( "sfiii2-simm5.2", 0x00000, 0x200000, CRC(56ff8c50) SHA1(16f7602a4549a5b724e3fcdb75b0f3c397077b81) ) \
- ROM_REGION( 0x200000, "simm5.3", 0 ) ROM_LOAD( "sfiii2-simm5.3", 0x00000, 0x200000, CRC(3f2ac3e9) SHA1(a7b631f18ce572a42f46314f37a01d9840abc765) ) \
- ROM_REGION( 0x200000, "simm5.4", 0 ) ROM_LOAD( "sfiii2-simm5.4", 0x00000, 0x200000, CRC(48cda50e) SHA1(35e9f27fb8b69e3b3a313ea33dc53b1102e5f66e) ) \
- ROM_REGION( 0x200000, "simm5.5", 0 ) ROM_LOAD( "sfiii2-simm5.5", 0x00000, 0x200000, CRC(520c0af6) SHA1(7bed1b6707974eafbfb62ccb84a51df8a100e070) ) \
- ROM_REGION( 0x200000, "simm5.6", 0 ) ROM_LOAD( "sfiii2-simm5.6", 0x00000, 0x200000, CRC(2edc5986) SHA1(761ab2c67d0d873ffd74158eb77f7722c076f3e3) ) \
- ROM_REGION( 0x200000, "simm5.7", 0 ) ROM_LOAD( "sfiii2-simm5.7", 0x00000, 0x200000, CRC(93ffa199) SHA1(33ec2379f30c6fdf47ba72c1d0cad8bdd02f17df) ) \
+#define SFIII2_970930_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii2-simm1.0", 0x00000, 0x200000, CRC(2d666f0b) SHA1(68de034b3a3aeaf4b26122a84ad48b0b763e4122), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "sfiii2-simm1.1", 0x00000, 0x200000, CRC(2a3a8ef6) SHA1(31fb58fd1360ed8c951e2c4ac898a5a7104528d6), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "sfiii2-simm1.2", 0x00000, 0x200000, CRC(161d2206) SHA1(58999f876e64c1a088e8765962a9cd504f22a706), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "sfiii2-simm1.3", 0x00000, 0x200000, CRC(87ded8a3) SHA1(4ccef64f80d2ee63940b0958b500364ee515db51), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "sfiii2-simm2.0", 0x00000, 0x200000, CRC(94a4ce0f) SHA1(2c8e26a66d1dcd17c22c70baa2a3ff5a54511514), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "sfiii2-simm2.1", 0x00000, 0x200000, CRC(67585033) SHA1(24df9968a54c330fbe95f8e4dfe6e7dfd144ed0c), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "sfiii2-simm2.2", 0x00000, 0x200000, CRC(fabffcd5) SHA1(9399f64c42f63a64e44a21a2690e44779943a2b2), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "sfiii2-simm2.3", 0x00000, 0x200000, CRC(623c09ca) SHA1(dc9618a08bb7f44e569ac17605d268511155a14e), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "sfiii2-simm3.0", 0x00000, 0x200000, CRC(dab2d766) SHA1(d265cc8b1b497eb4bedd63b3f1de60eb1c1db0df), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "sfiii2-simm3.1", 0x00000, 0x200000, CRC(1f2aa34b) SHA1(38b224d34c4550f1f33c2c368e2a252d0d176cc0), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "sfiii2-simm3.2", 0x00000, 0x200000, CRC(6f1a04eb) SHA1(980ca929114075d1920e2da44f9a22087cc92e55), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "sfiii2-simm3.3", 0x00000, 0x200000, CRC(e05ef205) SHA1(e604e3832549740f953581fc91e850beda6a73c8), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "sfiii2-simm3.4", 0x00000, 0x200000, CRC(affb074f) SHA1(0e76973807039bc66fd0f3233401cea8d2c45f84), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "sfiii2-simm3.5", 0x00000, 0x200000, CRC(6962872e) SHA1(f16b2d0792697345145d0e9d950e912a2ffabe0d), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "sfiii2-simm3.6", 0x00000, 0x200000, CRC(6eed87de) SHA1(5d5067ad36234c5efd57a2baebeffa2f44f2caec), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "sfiii2-simm3.7", 0x00000, 0x200000, CRC(e18f479e) SHA1(cd4c1812ab422336bfa414e0b2098b472d2f9251), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "sfiii2-simm4.0", 0x00000, 0x200000, CRC(764c2503) SHA1(cad3f20ade2e1d3ac52f8c318443da20062ae943), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "sfiii2-simm4.1", 0x00000, 0x200000, CRC(3e16af6e) SHA1(afde2ed4bf3a3e95035fc02c572c5b83178a9467), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "sfiii2-simm4.2", 0x00000, 0x200000, CRC(215705e6) SHA1(42d3849f8a9242a89ba465dbc205f310186c67cd), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "sfiii2-simm4.3", 0x00000, 0x200000, CRC(e30cbd9c) SHA1(c205101ada86154921e09fed4f6908d15ec60761), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "sfiii2-simm4.4", 0x00000, 0x200000, CRC(4185ded9) SHA1(24bf9b5f25d7753f1feb09b82611f7482f30d304), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "sfiii2-simm4.5", 0x00000, 0x200000, CRC(4e8db013) SHA1(6816df2b6c60005fb375530ea93bb30a960c9b01), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "sfiii2-simm4.6", 0x00000, 0x200000, CRC(08df48ce) SHA1(e8a3b68ebeab193539446c3f6e0a19b37f1f3495), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "sfiii2-simm4.7", 0x00000, 0x200000, CRC(bb8f80a5) SHA1(35d9e86637d54405c97fdb7da9c42cc53907cae3), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "sfiii2-simm5.0", 0x00000, 0x200000, CRC(ebdc4787) SHA1(f86e8ebf4b2214be166dbe4ea921058a552364ea), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "sfiii2-simm5.1", 0x00000, 0x200000, CRC(6b7c550e) SHA1(77cdabccf3ecebf142ac86dffe6e24052941e3a1), flags ) \
+ ROM_REGION( 0x200000, "simm5.2", 0 ) ROMX_LOAD( "sfiii2-simm5.2", 0x00000, 0x200000, CRC(56ff8c50) SHA1(16f7602a4549a5b724e3fcdb75b0f3c397077b81), flags ) \
+ ROM_REGION( 0x200000, "simm5.3", 0 ) ROMX_LOAD( "sfiii2-simm5.3", 0x00000, 0x200000, CRC(3f2ac3e9) SHA1(a7b631f18ce572a42f46314f37a01d9840abc765), flags ) \
+ ROM_REGION( 0x200000, "simm5.4", 0 ) ROMX_LOAD( "sfiii2-simm5.4", 0x00000, 0x200000, CRC(48cda50e) SHA1(35e9f27fb8b69e3b3a313ea33dc53b1102e5f66e), flags ) \
+ ROM_REGION( 0x200000, "simm5.5", 0 ) ROMX_LOAD( "sfiii2-simm5.5", 0x00000, 0x200000, CRC(520c0af6) SHA1(7bed1b6707974eafbfb62ccb84a51df8a100e070), flags ) \
+ ROM_REGION( 0x200000, "simm5.6", 0 ) ROMX_LOAD( "sfiii2-simm5.6", 0x00000, 0x200000, CRC(2edc5986) SHA1(761ab2c67d0d873ffd74158eb77f7722c076f3e3), flags ) \
+ ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "sfiii2-simm5.7", 0x00000, 0x200000, CRC(93ffa199) SHA1(33ec2379f30c6fdf47ba72c1d0cad8bdd02f17df), flags ) \
#define SFIII2_970930_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-3ga000", 0, BAD_DUMP SHA1(4e162885b0b3265a56e0265037bcf247e820f027) ) \
-#define JOJO_990128_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "jojo(__990128)-simm1.0", 0x00000, 0x200000, CRC(9516948b) SHA1(4d7e6c1eb7d1bebff2a5069bcd186070a9105474) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "jojo(__990128)-simm1.1", 0x00000, 0x200000, CRC(a847848d) SHA1(4df70309395f1d2a2e8f85bc34e17453d4a76f81) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "jojo(__990128)-simm1.2", 0x00000, 0x200000, CRC(853e8846) SHA1(d120b7e2de9502e3261e8dd101f97589b2ed1c38) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "jojo(__990128)-simm1.3", 0x00000, 0x200000, CRC(c04fe00e) SHA1(d09409b77460d19b56aaaf4a64356f3d37a1ee41) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "jojo(__990128)-simm2.0", 0x00000, 0x200000, CRC(e1a4b3c8) SHA1(5dc298431644e1ca470aaab752a7d74f2f9dc7a1) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "jojo(__990128)-simm2.1", 0x00000, 0x200000, CRC(189cef95) SHA1(ebe42a019358461557f69fb17d65d84d0f733415) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "jojo(__990128)-simm2.2", 0x00000, 0x200000, CRC(47db5ec6) SHA1(e80271e4013e4391c2cc4229ff1fbd4a2b7c6f04) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "jojo(__990128)-simm2.3", 0x00000, 0x200000, CRC(e3d3a155) SHA1(75e9b5da93dd8894cf70fa4dac56f3958be4c766) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "jojo-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "jojo-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "jojo-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "jojo-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "jojo-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "jojo-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "jojo-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "jojo-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "jojo-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "jojo-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "jojo-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "jojo-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "jojo-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "jojo-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "jojo-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "jojo-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "jojo-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32) ) \
+#define JOJO_990128_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojo(__990128)-simm1.0", 0x00000, 0x200000, CRC(9516948b) SHA1(4d7e6c1eb7d1bebff2a5069bcd186070a9105474), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "jojo(__990128)-simm1.1", 0x00000, 0x200000, CRC(a847848d) SHA1(4df70309395f1d2a2e8f85bc34e17453d4a76f81), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "jojo(__990128)-simm1.2", 0x00000, 0x200000, CRC(853e8846) SHA1(d120b7e2de9502e3261e8dd101f97589b2ed1c38), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "jojo(__990128)-simm1.3", 0x00000, 0x200000, CRC(c04fe00e) SHA1(d09409b77460d19b56aaaf4a64356f3d37a1ee41), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "jojo(__990128)-simm2.0", 0x00000, 0x200000, CRC(e1a4b3c8) SHA1(5dc298431644e1ca470aaab752a7d74f2f9dc7a1), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "jojo(__990128)-simm2.1", 0x00000, 0x200000, CRC(189cef95) SHA1(ebe42a019358461557f69fb17d65d84d0f733415), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "jojo(__990128)-simm2.2", 0x00000, 0x200000, CRC(47db5ec6) SHA1(e80271e4013e4391c2cc4229ff1fbd4a2b7c6f04), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "jojo(__990128)-simm2.3", 0x00000, 0x200000, CRC(e3d3a155) SHA1(75e9b5da93dd8894cf70fa4dac56f3958be4c766), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "jojo-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "jojo-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "jojo-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "jojo-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "jojo-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "jojo-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "jojo-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "jojo-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "jojo-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "jojo-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "jojo-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "jojo-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "jojo-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "jojo-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "jojo-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "jojo-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "jojo-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32), flags ) \
#define JOJO_990128_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjk-3", 0, SHA1(dc6e74b5e02e13f62cb8c4e234dd6061501e49c1) ) \
-#define JOJO_990108_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "jojo(__990108)-simm1.0", 0x00000, 0x200000, CRC(cfbc38d6) SHA1(c33e3a51fe8ab54e0912a1d6e662fe1ade73cee7) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "jojo(__990108)-simm1.1", 0x00000, 0x200000, CRC(42578d94) SHA1(fa46f92ac1a6716430adec9ab27214a11fa61749) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "jojo(__990108)-simm1.2", 0x00000, 0x200000, CRC(1b40c566) SHA1(9833799e9b4fecf7f9ce14bca64936646b3fdbde) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "jojo(__990108)-simm1.3", 0x00000, 0x200000, CRC(bba709b4) SHA1(0dd71e575f2193505f2ab960568ac1eccf40d53f) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "jojo(__990108)-simm2.0", 0x00000, 0x200000, CRC(417e5dc1) SHA1(54ee9596c1c51811f3bdef7dbe77b44b34f230ca) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "jojo(__990108)-simm2.1", 0x00000, 0x200000, CRC(d3b3267d) SHA1(eb2cff347880f1489fb5b1b8bd16df8f50c7f494) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "jojo(__990108)-simm2.2", 0x00000, 0x200000, CRC(c66d96b1) SHA1(909d5aac165748b549b6056a6091c41df012f5df) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "jojo(__990108)-simm2.3", 0x00000, 0x200000, CRC(aa34cc85) SHA1(7677cc6fa913755fc699691b350698bbe8904118) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "jojo-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "jojo-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "jojo-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "jojo-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "jojo-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "jojo-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "jojo-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "jojo-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "jojo-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "jojo-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "jojo-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "jojo-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "jojo-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "jojo-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "jojo-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "jojo-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "jojo-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32) ) \
+#define JOJO_990108_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojo(__990108)-simm1.0", 0x00000, 0x200000, CRC(cfbc38d6) SHA1(c33e3a51fe8ab54e0912a1d6e662fe1ade73cee7), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "jojo(__990108)-simm1.1", 0x00000, 0x200000, CRC(42578d94) SHA1(fa46f92ac1a6716430adec9ab27214a11fa61749), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "jojo(__990108)-simm1.2", 0x00000, 0x200000, CRC(1b40c566) SHA1(9833799e9b4fecf7f9ce14bca64936646b3fdbde), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "jojo(__990108)-simm1.3", 0x00000, 0x200000, CRC(bba709b4) SHA1(0dd71e575f2193505f2ab960568ac1eccf40d53f), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "jojo(__990108)-simm2.0", 0x00000, 0x200000, CRC(417e5dc1) SHA1(54ee9596c1c51811f3bdef7dbe77b44b34f230ca), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "jojo(__990108)-simm2.1", 0x00000, 0x200000, CRC(d3b3267d) SHA1(eb2cff347880f1489fb5b1b8bd16df8f50c7f494), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "jojo(__990108)-simm2.2", 0x00000, 0x200000, CRC(c66d96b1) SHA1(909d5aac165748b549b6056a6091c41df012f5df), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "jojo(__990108)-simm2.3", 0x00000, 0x200000, CRC(aa34cc85) SHA1(7677cc6fa913755fc699691b350698bbe8904118), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "jojo-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "jojo-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "jojo-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "jojo-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "jojo-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "jojo-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "jojo-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "jojo-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "jojo-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "jojo-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "jojo-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "jojo-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "jojo-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "jojo-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "jojo-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "jojo-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "jojo-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32), flags ) \
#define JOJO_990108_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjk-2", 0, BAD_DUMP SHA1(0f5c09171409213e191a607ee89ca3a91fe9c96a) ) \
-#define JOJO_981202_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "jojo(__981202)-simm1.0", 0x00000, 0x200000, CRC(e06ba886) SHA1(4defd5e8e1e6d0c439fed8a6454e89a59e24ea4c) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "jojo(__981202)-simm1.1", 0x00000, 0x200000, CRC(6dd177c8) SHA1(c39db980f6fcca9c221e9be6f777eaf38f1b136b) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "jojo(__981202)-simm1.2", 0x00000, 0x200000, CRC(d35a15e0) SHA1(576b92a94505764a10b9bcf82c02335e7ef62014) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "jojo(__981202)-simm1.3", 0x00000, 0x200000, CRC(66d865ac) SHA1(5248c3f124af62b4a672d954ef15f86629feeacb) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "jojo(__981202)-simm2.0", 0x00000, 0x200000, CRC(417e5dc1) SHA1(54ee9596c1c51811f3bdef7dbe77b44b34f230ca) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "jojo(__981202)-simm2.1", 0x00000, 0x200000, CRC(c891c887) SHA1(42e84f774ee655e9a39b016a3cfe94262ed2e9f1) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "jojo(__981202)-simm2.2", 0x00000, 0x200000, CRC(1e101f30) SHA1(56518c1646bb9452334856bb8bcc58892f9f93b9) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "jojo(__981202)-simm2.3", 0x00000, 0x200000, CRC(1fd1d3e4) SHA1(bed2b77d58f1fdf7ba5ca7126d3db1dd0f8c80b4) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "jojo-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "jojo-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "jojo-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "jojo-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "jojo-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "jojo-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "jojo-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "jojo-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "jojo-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "jojo-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "jojo-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "jojo-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "jojo-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "jojo-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "jojo-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "jojo-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "jojo-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32) ) \
+#define JOJO_981202_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojo(__981202)-simm1.0", 0x00000, 0x200000, CRC(e06ba886) SHA1(4defd5e8e1e6d0c439fed8a6454e89a59e24ea4c), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "jojo(__981202)-simm1.1", 0x00000, 0x200000, CRC(6dd177c8) SHA1(c39db980f6fcca9c221e9be6f777eaf38f1b136b), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "jojo(__981202)-simm1.2", 0x00000, 0x200000, CRC(d35a15e0) SHA1(576b92a94505764a10b9bcf82c02335e7ef62014), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "jojo(__981202)-simm1.3", 0x00000, 0x200000, CRC(66d865ac) SHA1(5248c3f124af62b4a672d954ef15f86629feeacb), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "jojo(__981202)-simm2.0", 0x00000, 0x200000, CRC(417e5dc1) SHA1(54ee9596c1c51811f3bdef7dbe77b44b34f230ca), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "jojo(__981202)-simm2.1", 0x00000, 0x200000, CRC(c891c887) SHA1(42e84f774ee655e9a39b016a3cfe94262ed2e9f1), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "jojo(__981202)-simm2.2", 0x00000, 0x200000, CRC(1e101f30) SHA1(56518c1646bb9452334856bb8bcc58892f9f93b9), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "jojo(__981202)-simm2.3", 0x00000, 0x200000, CRC(1fd1d3e4) SHA1(bed2b77d58f1fdf7ba5ca7126d3db1dd0f8c80b4), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "jojo-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "jojo-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "jojo-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "jojo-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "jojo-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "jojo-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "jojo-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "jojo-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "jojo-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "jojo-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "jojo-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "jojo-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "jojo-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "jojo-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "jojo-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "jojo-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "jojo-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojo-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32), flags ) \
#define JOJO_981202_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjk000", 0, BAD_DUMP SHA1(09869f6d8c032b527e02d815749dc8fab1289e86) ) \
-#define SFIII3_990608_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "sfiii3(__990608)-simm1.0", 0x00000, 0x200000, CRC(11dfd3cd) SHA1(dba1f77c46e80317e3279298411154dfb6db2309) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "sfiii3(__990608)-simm1.1", 0x00000, 0x200000, CRC(c50585e6) SHA1(a289237957ea1c7f58b1c65e24c54ceb34cb1712) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "sfiii3(__990608)-simm1.2", 0x00000, 0x200000, CRC(8e011d9b) SHA1(e0861bcd3c4f865474d7ce47aa9eeec7b3d28da6) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "sfiii3(__990608)-simm1.3", 0x00000, 0x200000, CRC(dca8d92f) SHA1(7cd241641c943df446e2c75b88b5cf2d2ebf7b2e) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "sfiii3-simm2.0", 0x00000, 0x200000, CRC(06eb969e) SHA1(d89f6a6585b76692d57d337f0f8186398fb056da) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "sfiii3-simm2.1", 0x00000, 0x200000, CRC(e7039f82) SHA1(8e81e66b5a4f45ae14b070a491bde47a6a74499f) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "sfiii3-simm2.2", 0x00000, 0x200000, CRC(645c96f7) SHA1(06d5a54874d4bf100b776131ec9060da209ad037) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "sfiii3-simm2.3", 0x00000, 0x200000, CRC(610efab1) SHA1(bbc21ed6ff6220ff6017a3f02ebd9a341fbc9040) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "sfiii3-simm3.0", 0x00000, 0x200000, CRC(7baa1f79) SHA1(3f409df28c24dd7221966b5340d59898ea756b6f) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "sfiii3-simm3.1", 0x00000, 0x200000, CRC(234bf8fe) SHA1(2191781ae4d726cab28de97f27efa4a13f3bdd69) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "sfiii3-simm3.2", 0x00000, 0x200000, CRC(d9ebc308) SHA1(af6a0dca77e5181c9f20533a06760a782c5fd51d) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "sfiii3-simm3.3", 0x00000, 0x200000, CRC(293cba77) SHA1(294604cacdc24261aec4d39e489de91c41fa1758) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "sfiii3-simm3.4", 0x00000, 0x200000, CRC(6055e747) SHA1(3813852c5a4a5355ef739ca8f0913bbd390b984b) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "sfiii3-simm3.5", 0x00000, 0x200000, CRC(499aa6fc) SHA1(5b9b6eab3e99ff3e1d7c1f50b9d8bc6a81f3f8a9) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "sfiii3-simm3.6", 0x00000, 0x200000, CRC(6c13879e) SHA1(de189b0b8f42bc7dd89983e62bc2ecb4237b3277) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "sfiii3-simm3.7", 0x00000, 0x200000, CRC(cf4f8ede) SHA1(e0fb68fcb0e445f824c62fa828d6e1dcd7e3683a) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "sfiii3-simm4.0", 0x00000, 0x200000, CRC(091fd5ba) SHA1(3327ad7c2623c119bf728af717ea2ce3b74673a9) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "sfiii3-simm4.1", 0x00000, 0x200000, CRC(0bca8917) SHA1(b7b284e2f16f46d46bcfaae779b232c5b980924f) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "sfiii3-simm4.2", 0x00000, 0x200000, CRC(a0fd578b) SHA1(100c9db9f00ecd88d518076f5a0822e6ac3695b3) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "sfiii3-simm4.3", 0x00000, 0x200000, CRC(4bf8c699) SHA1(2c0b4288b5ebc5e54d9e782dfc39eb8c78fd4c21) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "sfiii3-simm4.4", 0x00000, 0x200000, CRC(137b8785) SHA1(56a579520a8ce2abbf36be57777f024e80474eee) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "sfiii3-simm4.5", 0x00000, 0x200000, CRC(4fb70671) SHA1(9aba83c18cfc099a5ce18793119bff0c2b9c777f) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "sfiii3-simm4.6", 0x00000, 0x200000, CRC(832374a4) SHA1(c84629e32fbf47cb7b5b4ee7555bfc2ac9b3857f) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "sfiii3-simm4.7", 0x00000, 0x200000, CRC(1c88576d) SHA1(0f039944d0c2305999ed5dbd351c3eb87812dc3b) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "sfiii3-simm5.0", 0x00000, 0x200000, CRC(c67d9190) SHA1(d265475244099d0ec153059986f3445c7bd910a3) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "sfiii3-simm5.1", 0x00000, 0x200000, CRC(6cb79868) SHA1(c94237f30e05bfcb2e23945530c812d9e4c73416) ) \
- ROM_REGION( 0x200000, "simm5.2", 0 ) ROM_LOAD( "sfiii3-simm5.2", 0x00000, 0x200000, CRC(df69930e) SHA1(c76b7c559a1d5558138afbc796249efa2f49f6a8) ) \
- ROM_REGION( 0x200000, "simm5.3", 0 ) ROM_LOAD( "sfiii3-simm5.3", 0x00000, 0x200000, CRC(333754e0) SHA1(4c18a569c26524a492ecd6f4c8b3c8e803a077d3) ) \
- ROM_REGION( 0x200000, "simm5.4", 0 ) ROM_LOAD( "sfiii3-simm5.4", 0x00000, 0x200000, CRC(78f6d417) SHA1(a69577cc5399fcf0a24548661168f27f3e7e8e40) ) \
- ROM_REGION( 0x200000, "simm5.5", 0 ) ROM_LOAD( "sfiii3-simm5.5", 0x00000, 0x200000, CRC(8ccad9b1) SHA1(f8bda399f87be2497b7ac39e9661f9863bf4f873) ) \
- ROM_REGION( 0x200000, "simm5.6", 0 ) ROM_LOAD( "sfiii3-simm5.6", 0x00000, 0x200000, CRC(85de59e5) SHA1(748b5c91f15777b85d8c1d35b685cd90d3185ec6) ) \
- ROM_REGION( 0x200000, "simm5.7", 0 ) ROM_LOAD( "sfiii3-simm5.7", 0x00000, 0x200000, CRC(ee7e29b3) SHA1(63dc30c6904ca2f58d229249bee5eef51fafa158) ) \
- ROM_REGION( 0x200000, "simm6.0", 0 ) ROM_LOAD( "sfiii3-simm6.0", 0x00000, 0x200000, CRC(8da69042) SHA1(fd3d08295342635b2136e48d543c9350d287bb22) ) \
- ROM_REGION( 0x200000, "simm6.1", 0 ) ROM_LOAD( "sfiii3-simm6.1", 0x00000, 0x200000, CRC(1c8c7ac4) SHA1(ac9f8353a4c356ef98aa7c226baba00b01f5a80f) ) \
- ROM_REGION( 0x200000, "simm6.2", 0 ) ROM_LOAD( "sfiii3-simm6.2", 0x00000, 0x200000, CRC(a671341d) SHA1(636f4c04962bc1e1ddb29d2e01244b00389b234f) ) \
- ROM_REGION( 0x200000, "simm6.3", 0 ) ROM_LOAD( "sfiii3-simm6.3", 0x00000, 0x200000, CRC(1a990249) SHA1(2acc639e2c0c53bf24096b8620eab090bc25d03b) ) \
- ROM_REGION( 0x200000, "simm6.4", 0 ) ROM_LOAD( "sfiii3-simm6.4", 0x00000, 0x200000, CRC(20cb39ac) SHA1(7d13a0fea1ef719dd2ff77dfb547d53c6023cc9e) ) \
- ROM_REGION( 0x200000, "simm6.5", 0 ) ROM_LOAD( "sfiii3-simm6.5", 0x00000, 0x200000, CRC(5f844b2f) SHA1(564e4934f89ed3b92a4c4874519f8f00f3b48696) ) \
- ROM_REGION( 0x200000, "simm6.6", 0 ) ROM_LOAD( "sfiii3-simm6.6", 0x00000, 0x200000, CRC(450e8d28) SHA1(885db658132aa27926df617ec2d2a1f38abdbb60) ) \
- ROM_REGION( 0x200000, "simm6.7", 0 ) ROM_LOAD( "sfiii3-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b) ) \
+#define SFIII3_990608_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii3(__990608)-simm1.0", 0x00000, 0x200000, CRC(11dfd3cd) SHA1(dba1f77c46e80317e3279298411154dfb6db2309), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "sfiii3(__990608)-simm1.1", 0x00000, 0x200000, CRC(c50585e6) SHA1(a289237957ea1c7f58b1c65e24c54ceb34cb1712), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "sfiii3(__990608)-simm1.2", 0x00000, 0x200000, CRC(8e011d9b) SHA1(e0861bcd3c4f865474d7ce47aa9eeec7b3d28da6), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "sfiii3(__990608)-simm1.3", 0x00000, 0x200000, CRC(dca8d92f) SHA1(7cd241641c943df446e2c75b88b5cf2d2ebf7b2e), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "sfiii3-simm2.0", 0x00000, 0x200000, CRC(06eb969e) SHA1(d89f6a6585b76692d57d337f0f8186398fb056da), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "sfiii3-simm2.1", 0x00000, 0x200000, CRC(e7039f82) SHA1(8e81e66b5a4f45ae14b070a491bde47a6a74499f), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "sfiii3-simm2.2", 0x00000, 0x200000, CRC(645c96f7) SHA1(06d5a54874d4bf100b776131ec9060da209ad037), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "sfiii3-simm2.3", 0x00000, 0x200000, CRC(610efab1) SHA1(bbc21ed6ff6220ff6017a3f02ebd9a341fbc9040), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "sfiii3-simm3.0", 0x00000, 0x200000, CRC(7baa1f79) SHA1(3f409df28c24dd7221966b5340d59898ea756b6f), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "sfiii3-simm3.1", 0x00000, 0x200000, CRC(234bf8fe) SHA1(2191781ae4d726cab28de97f27efa4a13f3bdd69), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "sfiii3-simm3.2", 0x00000, 0x200000, CRC(d9ebc308) SHA1(af6a0dca77e5181c9f20533a06760a782c5fd51d), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "sfiii3-simm3.3", 0x00000, 0x200000, CRC(293cba77) SHA1(294604cacdc24261aec4d39e489de91c41fa1758), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "sfiii3-simm3.4", 0x00000, 0x200000, CRC(6055e747) SHA1(3813852c5a4a5355ef739ca8f0913bbd390b984b), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "sfiii3-simm3.5", 0x00000, 0x200000, CRC(499aa6fc) SHA1(5b9b6eab3e99ff3e1d7c1f50b9d8bc6a81f3f8a9), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "sfiii3-simm3.6", 0x00000, 0x200000, CRC(6c13879e) SHA1(de189b0b8f42bc7dd89983e62bc2ecb4237b3277), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "sfiii3-simm3.7", 0x00000, 0x200000, CRC(cf4f8ede) SHA1(e0fb68fcb0e445f824c62fa828d6e1dcd7e3683a), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "sfiii3-simm4.0", 0x00000, 0x200000, CRC(091fd5ba) SHA1(3327ad7c2623c119bf728af717ea2ce3b74673a9), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "sfiii3-simm4.1", 0x00000, 0x200000, CRC(0bca8917) SHA1(b7b284e2f16f46d46bcfaae779b232c5b980924f), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "sfiii3-simm4.2", 0x00000, 0x200000, CRC(a0fd578b) SHA1(100c9db9f00ecd88d518076f5a0822e6ac3695b3), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "sfiii3-simm4.3", 0x00000, 0x200000, CRC(4bf8c699) SHA1(2c0b4288b5ebc5e54d9e782dfc39eb8c78fd4c21), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "sfiii3-simm4.4", 0x00000, 0x200000, CRC(137b8785) SHA1(56a579520a8ce2abbf36be57777f024e80474eee), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "sfiii3-simm4.5", 0x00000, 0x200000, CRC(4fb70671) SHA1(9aba83c18cfc099a5ce18793119bff0c2b9c777f), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "sfiii3-simm4.6", 0x00000, 0x200000, CRC(832374a4) SHA1(c84629e32fbf47cb7b5b4ee7555bfc2ac9b3857f), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "sfiii3-simm4.7", 0x00000, 0x200000, CRC(1c88576d) SHA1(0f039944d0c2305999ed5dbd351c3eb87812dc3b), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "sfiii3-simm5.0", 0x00000, 0x200000, CRC(c67d9190) SHA1(d265475244099d0ec153059986f3445c7bd910a3), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "sfiii3-simm5.1", 0x00000, 0x200000, CRC(6cb79868) SHA1(c94237f30e05bfcb2e23945530c812d9e4c73416), flags ) \
+ ROM_REGION( 0x200000, "simm5.2", 0 ) ROMX_LOAD( "sfiii3-simm5.2", 0x00000, 0x200000, CRC(df69930e) SHA1(c76b7c559a1d5558138afbc796249efa2f49f6a8), flags ) \
+ ROM_REGION( 0x200000, "simm5.3", 0 ) ROMX_LOAD( "sfiii3-simm5.3", 0x00000, 0x200000, CRC(333754e0) SHA1(4c18a569c26524a492ecd6f4c8b3c8e803a077d3), flags ) \
+ ROM_REGION( 0x200000, "simm5.4", 0 ) ROMX_LOAD( "sfiii3-simm5.4", 0x00000, 0x200000, CRC(78f6d417) SHA1(a69577cc5399fcf0a24548661168f27f3e7e8e40), flags ) \
+ ROM_REGION( 0x200000, "simm5.5", 0 ) ROMX_LOAD( "sfiii3-simm5.5", 0x00000, 0x200000, CRC(8ccad9b1) SHA1(f8bda399f87be2497b7ac39e9661f9863bf4f873), flags ) \
+ ROM_REGION( 0x200000, "simm5.6", 0 ) ROMX_LOAD( "sfiii3-simm5.6", 0x00000, 0x200000, CRC(85de59e5) SHA1(748b5c91f15777b85d8c1d35b685cd90d3185ec6), flags ) \
+ ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "sfiii3-simm5.7", 0x00000, 0x200000, CRC(ee7e29b3) SHA1(63dc30c6904ca2f58d229249bee5eef51fafa158), flags ) \
+ ROM_REGION( 0x200000, "simm6.0", 0 ) ROMX_LOAD( "sfiii3-simm6.0", 0x00000, 0x200000, CRC(8da69042) SHA1(fd3d08295342635b2136e48d543c9350d287bb22), flags ) \
+ ROM_REGION( 0x200000, "simm6.1", 0 ) ROMX_LOAD( "sfiii3-simm6.1", 0x00000, 0x200000, CRC(1c8c7ac4) SHA1(ac9f8353a4c356ef98aa7c226baba00b01f5a80f), flags ) \
+ ROM_REGION( 0x200000, "simm6.2", 0 ) ROMX_LOAD( "sfiii3-simm6.2", 0x00000, 0x200000, CRC(a671341d) SHA1(636f4c04962bc1e1ddb29d2e01244b00389b234f), flags ) \
+ ROM_REGION( 0x200000, "simm6.3", 0 ) ROMX_LOAD( "sfiii3-simm6.3", 0x00000, 0x200000, CRC(1a990249) SHA1(2acc639e2c0c53bf24096b8620eab090bc25d03b), flags ) \
+ ROM_REGION( 0x200000, "simm6.4", 0 ) ROMX_LOAD( "sfiii3-simm6.4", 0x00000, 0x200000, CRC(20cb39ac) SHA1(7d13a0fea1ef719dd2ff77dfb547d53c6023cc9e), flags ) \
+ ROM_REGION( 0x200000, "simm6.5", 0 ) ROMX_LOAD( "sfiii3-simm6.5", 0x00000, 0x200000, CRC(5f844b2f) SHA1(564e4934f89ed3b92a4c4874519f8f00f3b48696), flags ) \
+ ROM_REGION( 0x200000, "simm6.6", 0 ) ROMX_LOAD( "sfiii3-simm6.6", 0x00000, 0x200000, CRC(450e8d28) SHA1(885db658132aa27926df617ec2d2a1f38abdbb60), flags ) \
+ ROM_REGION( 0x200000, "simm6.7", 0 ) ROMX_LOAD( "sfiii3-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b), flags ) \
#define SFIII3_990608_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-33s-2", 0, BAD_DUMP SHA1(41b0e246db91cbfc3f8f0f62d981734feb4b4ab5) ) \
-#define SFIII3_990512_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "sfiii3(__990512)-simm1.0", 0x00000, 0x200000, CRC(66e66235) SHA1(0a98038721d176458d4f85dbd76c5edb93a65322) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "sfiii3(__990512)-simm1.1", 0x00000, 0x200000, CRC(186e8c5f) SHA1(a63040201a660b56217a8cbab32f5c2c466ee5dd) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "sfiii3(__990512)-simm1.2", 0x00000, 0x200000, CRC(bce18cab) SHA1(a5c28063d98c22403756fc926a20631456fb7dcc) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "sfiii3(__990512)-simm1.3", 0x00000, 0x200000, CRC(129dc2c9) SHA1(c1e634d94b1c8f7f02a47703622de5cab3d0da3f) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "sfiii3-simm2.0", 0x00000, 0x200000, CRC(06eb969e) SHA1(d89f6a6585b76692d57d337f0f8186398fb056da) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "sfiii3-simm2.1", 0x00000, 0x200000, CRC(e7039f82) SHA1(8e81e66b5a4f45ae14b070a491bde47a6a74499f) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "sfiii3-simm2.2", 0x00000, 0x200000, CRC(645c96f7) SHA1(06d5a54874d4bf100b776131ec9060da209ad037) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "sfiii3-simm2.3", 0x00000, 0x200000, CRC(610efab1) SHA1(bbc21ed6ff6220ff6017a3f02ebd9a341fbc9040) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "sfiii3-simm3.0", 0x00000, 0x200000, CRC(7baa1f79) SHA1(3f409df28c24dd7221966b5340d59898ea756b6f) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "sfiii3-simm3.1", 0x00000, 0x200000, CRC(234bf8fe) SHA1(2191781ae4d726cab28de97f27efa4a13f3bdd69) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "sfiii3-simm3.2", 0x00000, 0x200000, CRC(d9ebc308) SHA1(af6a0dca77e5181c9f20533a06760a782c5fd51d) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "sfiii3-simm3.3", 0x00000, 0x200000, CRC(293cba77) SHA1(294604cacdc24261aec4d39e489de91c41fa1758) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "sfiii3-simm3.4", 0x00000, 0x200000, CRC(6055e747) SHA1(3813852c5a4a5355ef739ca8f0913bbd390b984b) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "sfiii3-simm3.5", 0x00000, 0x200000, CRC(499aa6fc) SHA1(5b9b6eab3e99ff3e1d7c1f50b9d8bc6a81f3f8a9) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "sfiii3-simm3.6", 0x00000, 0x200000, CRC(6c13879e) SHA1(de189b0b8f42bc7dd89983e62bc2ecb4237b3277) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "sfiii3-simm3.7", 0x00000, 0x200000, CRC(cf4f8ede) SHA1(e0fb68fcb0e445f824c62fa828d6e1dcd7e3683a) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "sfiii3-simm4.0", 0x00000, 0x200000, CRC(091fd5ba) SHA1(3327ad7c2623c119bf728af717ea2ce3b74673a9) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "sfiii3-simm4.1", 0x00000, 0x200000, CRC(0bca8917) SHA1(b7b284e2f16f46d46bcfaae779b232c5b980924f) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "sfiii3-simm4.2", 0x00000, 0x200000, CRC(a0fd578b) SHA1(100c9db9f00ecd88d518076f5a0822e6ac3695b3) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "sfiii3-simm4.3", 0x00000, 0x200000, CRC(4bf8c699) SHA1(2c0b4288b5ebc5e54d9e782dfc39eb8c78fd4c21) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "sfiii3-simm4.4", 0x00000, 0x200000, CRC(137b8785) SHA1(56a579520a8ce2abbf36be57777f024e80474eee) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "sfiii3-simm4.5", 0x00000, 0x200000, CRC(4fb70671) SHA1(9aba83c18cfc099a5ce18793119bff0c2b9c777f) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "sfiii3-simm4.6", 0x00000, 0x200000, CRC(832374a4) SHA1(c84629e32fbf47cb7b5b4ee7555bfc2ac9b3857f) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "sfiii3-simm4.7", 0x00000, 0x200000, CRC(1c88576d) SHA1(0f039944d0c2305999ed5dbd351c3eb87812dc3b) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "sfiii3-simm5.0", 0x00000, 0x200000, CRC(c67d9190) SHA1(d265475244099d0ec153059986f3445c7bd910a3) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "sfiii3-simm5.1", 0x00000, 0x200000, CRC(6cb79868) SHA1(c94237f30e05bfcb2e23945530c812d9e4c73416) ) \
- ROM_REGION( 0x200000, "simm5.2", 0 ) ROM_LOAD( "sfiii3-simm5.2", 0x00000, 0x200000, CRC(df69930e) SHA1(c76b7c559a1d5558138afbc796249efa2f49f6a8) ) \
- ROM_REGION( 0x200000, "simm5.3", 0 ) ROM_LOAD( "sfiii3-simm5.3", 0x00000, 0x200000, CRC(333754e0) SHA1(4c18a569c26524a492ecd6f4c8b3c8e803a077d3) ) \
- ROM_REGION( 0x200000, "simm5.4", 0 ) ROM_LOAD( "sfiii3-simm5.4", 0x00000, 0x200000, CRC(78f6d417) SHA1(a69577cc5399fcf0a24548661168f27f3e7e8e40) ) \
- ROM_REGION( 0x200000, "simm5.5", 0 ) ROM_LOAD( "sfiii3-simm5.5", 0x00000, 0x200000, CRC(8ccad9b1) SHA1(f8bda399f87be2497b7ac39e9661f9863bf4f873) ) \
- ROM_REGION( 0x200000, "simm5.6", 0 ) ROM_LOAD( "sfiii3-simm5.6", 0x00000, 0x200000, CRC(85de59e5) SHA1(748b5c91f15777b85d8c1d35b685cd90d3185ec6) ) \
- ROM_REGION( 0x200000, "simm5.7", 0 ) ROM_LOAD( "sfiii3-simm5.7", 0x00000, 0x200000, CRC(ee7e29b3) SHA1(63dc30c6904ca2f58d229249bee5eef51fafa158) ) \
- ROM_REGION( 0x200000, "simm6.0", 0 ) ROM_LOAD( "sfiii3-simm6.0", 0x00000, 0x200000, CRC(8da69042) SHA1(fd3d08295342635b2136e48d543c9350d287bb22) ) \
- ROM_REGION( 0x200000, "simm6.1", 0 ) ROM_LOAD( "sfiii3-simm6.1", 0x00000, 0x200000, CRC(1c8c7ac4) SHA1(ac9f8353a4c356ef98aa7c226baba00b01f5a80f) ) \
- ROM_REGION( 0x200000, "simm6.2", 0 ) ROM_LOAD( "sfiii3-simm6.2", 0x00000, 0x200000, CRC(a671341d) SHA1(636f4c04962bc1e1ddb29d2e01244b00389b234f) ) \
- ROM_REGION( 0x200000, "simm6.3", 0 ) ROM_LOAD( "sfiii3-simm6.3", 0x00000, 0x200000, CRC(1a990249) SHA1(2acc639e2c0c53bf24096b8620eab090bc25d03b) ) \
- ROM_REGION( 0x200000, "simm6.4", 0 ) ROM_LOAD( "sfiii3-simm6.4", 0x00000, 0x200000, CRC(20cb39ac) SHA1(7d13a0fea1ef719dd2ff77dfb547d53c6023cc9e) ) \
- ROM_REGION( 0x200000, "simm6.5", 0 ) ROM_LOAD( "sfiii3-simm6.5", 0x00000, 0x200000, CRC(5f844b2f) SHA1(564e4934f89ed3b92a4c4874519f8f00f3b48696) ) \
- ROM_REGION( 0x200000, "simm6.6", 0 ) ROM_LOAD( "sfiii3-simm6.6", 0x00000, 0x200000, CRC(450e8d28) SHA1(885db658132aa27926df617ec2d2a1f38abdbb60) ) \
- ROM_REGION( 0x200000, "simm6.7", 0 ) ROM_LOAD( "sfiii3-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b) ) \
+#define SFIII3_990512_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "sfiii3(__990512)-simm1.0", 0x00000, 0x200000, CRC(66e66235) SHA1(0a98038721d176458d4f85dbd76c5edb93a65322), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "sfiii3(__990512)-simm1.1", 0x00000, 0x200000, CRC(186e8c5f) SHA1(a63040201a660b56217a8cbab32f5c2c466ee5dd), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "sfiii3(__990512)-simm1.2", 0x00000, 0x200000, CRC(bce18cab) SHA1(a5c28063d98c22403756fc926a20631456fb7dcc), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "sfiii3(__990512)-simm1.3", 0x00000, 0x200000, CRC(129dc2c9) SHA1(c1e634d94b1c8f7f02a47703622de5cab3d0da3f), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "sfiii3-simm2.0", 0x00000, 0x200000, CRC(06eb969e) SHA1(d89f6a6585b76692d57d337f0f8186398fb056da), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "sfiii3-simm2.1", 0x00000, 0x200000, CRC(e7039f82) SHA1(8e81e66b5a4f45ae14b070a491bde47a6a74499f), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "sfiii3-simm2.2", 0x00000, 0x200000, CRC(645c96f7) SHA1(06d5a54874d4bf100b776131ec9060da209ad037), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "sfiii3-simm2.3", 0x00000, 0x200000, CRC(610efab1) SHA1(bbc21ed6ff6220ff6017a3f02ebd9a341fbc9040), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "sfiii3-simm3.0", 0x00000, 0x200000, CRC(7baa1f79) SHA1(3f409df28c24dd7221966b5340d59898ea756b6f), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "sfiii3-simm3.1", 0x00000, 0x200000, CRC(234bf8fe) SHA1(2191781ae4d726cab28de97f27efa4a13f3bdd69), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "sfiii3-simm3.2", 0x00000, 0x200000, CRC(d9ebc308) SHA1(af6a0dca77e5181c9f20533a06760a782c5fd51d), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "sfiii3-simm3.3", 0x00000, 0x200000, CRC(293cba77) SHA1(294604cacdc24261aec4d39e489de91c41fa1758), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "sfiii3-simm3.4", 0x00000, 0x200000, CRC(6055e747) SHA1(3813852c5a4a5355ef739ca8f0913bbd390b984b), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "sfiii3-simm3.5", 0x00000, 0x200000, CRC(499aa6fc) SHA1(5b9b6eab3e99ff3e1d7c1f50b9d8bc6a81f3f8a9), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "sfiii3-simm3.6", 0x00000, 0x200000, CRC(6c13879e) SHA1(de189b0b8f42bc7dd89983e62bc2ecb4237b3277), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "sfiii3-simm3.7", 0x00000, 0x200000, CRC(cf4f8ede) SHA1(e0fb68fcb0e445f824c62fa828d6e1dcd7e3683a), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "sfiii3-simm4.0", 0x00000, 0x200000, CRC(091fd5ba) SHA1(3327ad7c2623c119bf728af717ea2ce3b74673a9), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "sfiii3-simm4.1", 0x00000, 0x200000, CRC(0bca8917) SHA1(b7b284e2f16f46d46bcfaae779b232c5b980924f), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "sfiii3-simm4.2", 0x00000, 0x200000, CRC(a0fd578b) SHA1(100c9db9f00ecd88d518076f5a0822e6ac3695b3), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "sfiii3-simm4.3", 0x00000, 0x200000, CRC(4bf8c699) SHA1(2c0b4288b5ebc5e54d9e782dfc39eb8c78fd4c21), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "sfiii3-simm4.4", 0x00000, 0x200000, CRC(137b8785) SHA1(56a579520a8ce2abbf36be57777f024e80474eee), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "sfiii3-simm4.5", 0x00000, 0x200000, CRC(4fb70671) SHA1(9aba83c18cfc099a5ce18793119bff0c2b9c777f), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "sfiii3-simm4.6", 0x00000, 0x200000, CRC(832374a4) SHA1(c84629e32fbf47cb7b5b4ee7555bfc2ac9b3857f), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "sfiii3-simm4.7", 0x00000, 0x200000, CRC(1c88576d) SHA1(0f039944d0c2305999ed5dbd351c3eb87812dc3b), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "sfiii3-simm5.0", 0x00000, 0x200000, CRC(c67d9190) SHA1(d265475244099d0ec153059986f3445c7bd910a3), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "sfiii3-simm5.1", 0x00000, 0x200000, CRC(6cb79868) SHA1(c94237f30e05bfcb2e23945530c812d9e4c73416), flags ) \
+ ROM_REGION( 0x200000, "simm5.2", 0 ) ROMX_LOAD( "sfiii3-simm5.2", 0x00000, 0x200000, CRC(df69930e) SHA1(c76b7c559a1d5558138afbc796249efa2f49f6a8), flags ) \
+ ROM_REGION( 0x200000, "simm5.3", 0 ) ROMX_LOAD( "sfiii3-simm5.3", 0x00000, 0x200000, CRC(333754e0) SHA1(4c18a569c26524a492ecd6f4c8b3c8e803a077d3), flags ) \
+ ROM_REGION( 0x200000, "simm5.4", 0 ) ROMX_LOAD( "sfiii3-simm5.4", 0x00000, 0x200000, CRC(78f6d417) SHA1(a69577cc5399fcf0a24548661168f27f3e7e8e40), flags ) \
+ ROM_REGION( 0x200000, "simm5.5", 0 ) ROMX_LOAD( "sfiii3-simm5.5", 0x00000, 0x200000, CRC(8ccad9b1) SHA1(f8bda399f87be2497b7ac39e9661f9863bf4f873), flags ) \
+ ROM_REGION( 0x200000, "simm5.6", 0 ) ROMX_LOAD( "sfiii3-simm5.6", 0x00000, 0x200000, CRC(85de59e5) SHA1(748b5c91f15777b85d8c1d35b685cd90d3185ec6), flags ) \
+ ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "sfiii3-simm5.7", 0x00000, 0x200000, CRC(ee7e29b3) SHA1(63dc30c6904ca2f58d229249bee5eef51fafa158), flags ) \
+ ROM_REGION( 0x200000, "simm6.0", 0 ) ROMX_LOAD( "sfiii3-simm6.0", 0x00000, 0x200000, CRC(8da69042) SHA1(fd3d08295342635b2136e48d543c9350d287bb22), flags ) \
+ ROM_REGION( 0x200000, "simm6.1", 0 ) ROMX_LOAD( "sfiii3-simm6.1", 0x00000, 0x200000, CRC(1c8c7ac4) SHA1(ac9f8353a4c356ef98aa7c226baba00b01f5a80f), flags ) \
+ ROM_REGION( 0x200000, "simm6.2", 0 ) ROMX_LOAD( "sfiii3-simm6.2", 0x00000, 0x200000, CRC(a671341d) SHA1(636f4c04962bc1e1ddb29d2e01244b00389b234f), flags ) \
+ ROM_REGION( 0x200000, "simm6.3", 0 ) ROMX_LOAD( "sfiii3-simm6.3", 0x00000, 0x200000, CRC(1a990249) SHA1(2acc639e2c0c53bf24096b8620eab090bc25d03b), flags ) \
+ ROM_REGION( 0x200000, "simm6.4", 0 ) ROMX_LOAD( "sfiii3-simm6.4", 0x00000, 0x200000, CRC(20cb39ac) SHA1(7d13a0fea1ef719dd2ff77dfb547d53c6023cc9e), flags ) \
+ ROM_REGION( 0x200000, "simm6.5", 0 ) ROMX_LOAD( "sfiii3-simm6.5", 0x00000, 0x200000, CRC(5f844b2f) SHA1(564e4934f89ed3b92a4c4874519f8f00f3b48696), flags ) \
+ ROM_REGION( 0x200000, "simm6.6", 0 ) ROMX_LOAD( "sfiii3-simm6.6", 0x00000, 0x200000, CRC(450e8d28) SHA1(885db658132aa27926df617ec2d2a1f38abdbb60), flags ) \
+ ROM_REGION( 0x200000, "simm6.7", 0 ) ROMX_LOAD( "sfiii3-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b), flags ) \
#define SFIII3_990512_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-33s-1", 0, BAD_DUMP SHA1(2f4a9006a31903114f9f9dc09465ae253e565c51) ) \
-#define JOJOBA_990927_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "jojoba(__990927)-simm1.0", 0x00000, 0x200000, CRC(adcd8377) SHA1(f1aacbe061e3bcade5cca34435c3f86aec5f1499) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "jojoba(__990927)-simm1.1", 0x00000, 0x200000, CRC(d7590b59) SHA1(bfee627ebb7cb7b28216527b17e1b06a4e6f19f4) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "jojoba(__990927)-simm1.2", 0x00000, 0x200000, CRC(e62e240b) SHA1(70468cae67c009a80b45954c2a30794577343c77) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "jojoba(__990927)-simm1.3", 0x00000, 0x200000, CRC(c95450c3) SHA1(55616e009b007180d1ac6290c8da44b0d864a494) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "jojoba(__990927)-simm2.0", 0x00000, 0x200000, CRC(535f2eba) SHA1(167bec0dccfc2f91cb10cb1e2631ee619b3eb9fe) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "jojoba(__990927)-simm2.1", 0x00000, 0x200000, CRC(01dd3a01) SHA1(08c462219796baa3ec28d78d038a18187cd838bb) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "jojoba(__990927)-simm2.2", 0x00000, 0x200000, CRC(61432672) SHA1(d0416a75d395926041f90a3d34edb96a080acfd6) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "jojoba(__990927)-simm2.3", 0x00000, 0x200000, CRC(acdc9aca) SHA1(89f77ddd6286709182a676fd9bd6c333a3b16271) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "jojoba-simm3.0", 0x00000, 0x200000, CRC(4d16e111) SHA1(f198007375be65e89856d64ee2b3857a18b4eab8) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "jojoba-simm3.1", 0x00000, 0x200000, CRC(9b3406d3) SHA1(54e90cd334d13e2c74305c6b87ebce1365ef3d59) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "jojoba-simm3.2", 0x00000, 0x200000, CRC(f2414997) SHA1(fb89d5784250538ad17fd527267b513afb6eca20) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "jojoba-simm3.3", 0x00000, 0x200000, CRC(954b9c7d) SHA1(0d64d97167d4e669d7e4f3a388f9d5ec1e18ed42) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "jojoba-simm3.4", 0x00000, 0x200000, CRC(625adc1d) SHA1(533d62759ecece10c711d99bfca403e5cba279b5) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "jojoba-simm3.5", 0x00000, 0x200000, CRC(20a70bb4) SHA1(3bd8376304ffc974fb8031eac8bebff27969538c) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "jojoba-simm3.6", 0x00000, 0x200000, CRC(a10ec5af) SHA1(9b403260e8fbdacaa5369ab79fc05855cc6a6bdb) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "jojoba-simm3.7", 0x00000, 0x200000, CRC(0bd0de7a) SHA1(1debecda5f282f2a1dd17e887e522a4d00c5dc9d) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "jojoba-simm4.0", 0x00000, 0x200000, CRC(6ea14adc) SHA1(696b2ec66f3c197817a60f507a1b4c78db37f488) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "jojoba-simm4.1", 0x00000, 0x200000, CRC(8f4c42fb) SHA1(363d769b0b066ce139125426d2da6dfa15d1eb28) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "jojoba-simm4.2", 0x00000, 0x200000, CRC(ef0586d1) SHA1(8fcc350da20e3e59fa76fa14e10f2c47233ba9dc) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "jojoba-simm4.3", 0x00000, 0x200000, CRC(93ccc470) SHA1(5d267679e61c0fb592ad5f696d3c06ec1746d0b3) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "jojoba-simm4.4", 0x00000, 0x200000, CRC(3d9ec7d2) SHA1(665b867bab928be183c2006527e55f9b8ec4a271) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "jojoba-simm4.5", 0x00000, 0x200000, CRC(03e66850) SHA1(8478662dc9db20d9a186d315a883bd1cbb5e5000) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "jojoba-simm4.6", 0x00000, 0x200000, CRC(01606ac3) SHA1(ccc74edeca6abdd86fc1cf42ececa1ea393b3261) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "jojoba-simm4.7", 0x00000, 0x200000, CRC(36392b87) SHA1(e62080c8461775c1e180400dfb44414679fd0fc1) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "jojoba-simm5.0", 0x00000, 0x200000, CRC(2ef8c60c) SHA1(dea87a73a11b8edd27c3c9c5ab2af295cb5508f9) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "jojoba-simm5.1", 0x00000, 0x200000, CRC(cf7d7ca6) SHA1(b347707b1e5bc71d28b282273f893592e5f9e333) ) \
- ROM_REGION( 0x200000, "simm5.2", 0 ) ROM_LOAD( "jojoba-simm5.2", 0x00000, 0x200000, CRC(b7815bfa) SHA1(0b5a3a2ffe1b3c0ca765dcedc297e78e5928302b) ) \
- ROM_REGION( 0x200000, "simm5.3", 0 ) ROM_LOAD( "jojoba-simm5.3", 0x00000, 0x200000, CRC(9bfec049) SHA1(62cc9a1920047863205544b77344ee18f310f084) ) \
- ROM_REGION( 0x200000, "simm5.4", 0 ) ROM_LOAD( "jojoba-simm5.4", 0x00000, 0x200000, CRC(d167536b) SHA1(e2637d3486f168ce44e0a00413d38960cb86db4c) ) \
- ROM_REGION( 0x200000, "simm5.5", 0 ) ROM_LOAD( "jojoba-simm5.5", 0x00000, 0x200000, CRC(55e7a042) SHA1(c18bda61fa005d9174a27b7b7d324004262a4525) ) \
- ROM_REGION( 0x200000, "simm5.6", 0 ) ROM_LOAD( "jojoba-simm5.6", 0x00000, 0x200000, CRC(4fb32906) SHA1(3a5965b3197517932c8aa4c07a6ea6a190a338d7) ) \
- ROM_REGION( 0x200000, "simm5.7", 0 ) ROM_LOAD( "jojoba-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404) ) \
+#define JOJOBA_990927_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojoba(__990927)-simm1.0", 0x00000, 0x200000, CRC(adcd8377) SHA1(f1aacbe061e3bcade5cca34435c3f86aec5f1499), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "jojoba(__990927)-simm1.1", 0x00000, 0x200000, CRC(d7590b59) SHA1(bfee627ebb7cb7b28216527b17e1b06a4e6f19f4), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "jojoba(__990927)-simm1.2", 0x00000, 0x200000, CRC(e62e240b) SHA1(70468cae67c009a80b45954c2a30794577343c77), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "jojoba(__990927)-simm1.3", 0x00000, 0x200000, CRC(c95450c3) SHA1(55616e009b007180d1ac6290c8da44b0d864a494), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "jojoba(__990927)-simm2.0", 0x00000, 0x200000, CRC(535f2eba) SHA1(167bec0dccfc2f91cb10cb1e2631ee619b3eb9fe), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "jojoba(__990927)-simm2.1", 0x00000, 0x200000, CRC(01dd3a01) SHA1(08c462219796baa3ec28d78d038a18187cd838bb), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "jojoba(__990927)-simm2.2", 0x00000, 0x200000, CRC(61432672) SHA1(d0416a75d395926041f90a3d34edb96a080acfd6), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "jojoba(__990927)-simm2.3", 0x00000, 0x200000, CRC(acdc9aca) SHA1(89f77ddd6286709182a676fd9bd6c333a3b16271), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "jojoba-simm3.0", 0x00000, 0x200000, CRC(4d16e111) SHA1(f198007375be65e89856d64ee2b3857a18b4eab8), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "jojoba-simm3.1", 0x00000, 0x200000, CRC(9b3406d3) SHA1(54e90cd334d13e2c74305c6b87ebce1365ef3d59), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "jojoba-simm3.2", 0x00000, 0x200000, CRC(f2414997) SHA1(fb89d5784250538ad17fd527267b513afb6eca20), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "jojoba-simm3.3", 0x00000, 0x200000, CRC(954b9c7d) SHA1(0d64d97167d4e669d7e4f3a388f9d5ec1e18ed42), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "jojoba-simm3.4", 0x00000, 0x200000, CRC(625adc1d) SHA1(533d62759ecece10c711d99bfca403e5cba279b5), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "jojoba-simm3.5", 0x00000, 0x200000, CRC(20a70bb4) SHA1(3bd8376304ffc974fb8031eac8bebff27969538c), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "jojoba-simm3.6", 0x00000, 0x200000, CRC(a10ec5af) SHA1(9b403260e8fbdacaa5369ab79fc05855cc6a6bdb), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "jojoba-simm3.7", 0x00000, 0x200000, CRC(0bd0de7a) SHA1(1debecda5f282f2a1dd17e887e522a4d00c5dc9d), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "jojoba-simm4.0", 0x00000, 0x200000, CRC(6ea14adc) SHA1(696b2ec66f3c197817a60f507a1b4c78db37f488), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "jojoba-simm4.1", 0x00000, 0x200000, CRC(8f4c42fb) SHA1(363d769b0b066ce139125426d2da6dfa15d1eb28), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "jojoba-simm4.2", 0x00000, 0x200000, CRC(ef0586d1) SHA1(8fcc350da20e3e59fa76fa14e10f2c47233ba9dc), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "jojoba-simm4.3", 0x00000, 0x200000, CRC(93ccc470) SHA1(5d267679e61c0fb592ad5f696d3c06ec1746d0b3), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "jojoba-simm4.4", 0x00000, 0x200000, CRC(3d9ec7d2) SHA1(665b867bab928be183c2006527e55f9b8ec4a271), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "jojoba-simm4.5", 0x00000, 0x200000, CRC(03e66850) SHA1(8478662dc9db20d9a186d315a883bd1cbb5e5000), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "jojoba-simm4.6", 0x00000, 0x200000, CRC(01606ac3) SHA1(ccc74edeca6abdd86fc1cf42ececa1ea393b3261), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "jojoba-simm4.7", 0x00000, 0x200000, CRC(36392b87) SHA1(e62080c8461775c1e180400dfb44414679fd0fc1), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "jojoba-simm5.0", 0x00000, 0x200000, CRC(2ef8c60c) SHA1(dea87a73a11b8edd27c3c9c5ab2af295cb5508f9), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojoba-simm5.1", 0x00000, 0x200000, CRC(cf7d7ca6) SHA1(b347707b1e5bc71d28b282273f893592e5f9e333), flags ) \
+ ROM_REGION( 0x200000, "simm5.2", 0 ) ROMX_LOAD( "jojoba-simm5.2", 0x00000, 0x200000, CRC(b7815bfa) SHA1(0b5a3a2ffe1b3c0ca765dcedc297e78e5928302b), flags ) \
+ ROM_REGION( 0x200000, "simm5.3", 0 ) ROMX_LOAD( "jojoba-simm5.3", 0x00000, 0x200000, CRC(9bfec049) SHA1(62cc9a1920047863205544b77344ee18f310f084), flags ) \
+ ROM_REGION( 0x200000, "simm5.4", 0 ) ROMX_LOAD( "jojoba-simm5.4", 0x00000, 0x200000, CRC(d167536b) SHA1(e2637d3486f168ce44e0a00413d38960cb86db4c), flags ) \
+ ROM_REGION( 0x200000, "simm5.5", 0 ) ROMX_LOAD( "jojoba-simm5.5", 0x00000, 0x200000, CRC(55e7a042) SHA1(c18bda61fa005d9174a27b7b7d324004262a4525), flags ) \
+ ROM_REGION( 0x200000, "simm5.6", 0 ) ROMX_LOAD( "jojoba-simm5.6", 0x00000, 0x200000, CRC(4fb32906) SHA1(3a5965b3197517932c8aa4c07a6ea6a190a338d7), flags ) \
+ ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "jojoba-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404), flags ) \
#define JOJOBA_990927_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjm-1", 0, SHA1(8628d3fa555fbd5f4121082e925c1834b76c5e65) ) \
-#define JOJOBA_990913_FLASH \
- ROM_REGION( 0x200000, "simm1.0", 0 ) ROM_LOAD( "jojoba(__990913)-simm1.0", 0x00000, 0x200000, CRC(76976231) SHA1(90adde7e5983ec6a4e02789d5cefe9e85c9c52d5) ) \
- ROM_REGION( 0x200000, "simm1.1", 0 ) ROM_LOAD( "jojoba(__990913)-simm1.1", 0x00000, 0x200000, CRC(cedd78e7) SHA1(964988b90a2f14c1da2cfc48d943e16e54da3fd3) ) \
- ROM_REGION( 0x200000, "simm1.2", 0 ) ROM_LOAD( "jojoba(__990913)-simm1.2", 0x00000, 0x200000, CRC(2955b77f) SHA1(2a907a5cd91448bfc420c318584e5ef4bbe55a91) ) \
- ROM_REGION( 0x200000, "simm1.3", 0 ) ROM_LOAD( "jojoba(__990913)-simm1.3", 0x00000, 0x200000, CRC(280139d7) SHA1(b7c28f6f0218688fb873a3106d2f95ea2e1e927c) ) \
- ROM_REGION( 0x200000, "simm2.0", 0 ) ROM_LOAD( "jojoba(__990913)-simm2.0", 0x00000, 0x200000, CRC(305c4914) SHA1(c3a73ffe58f61ab8f1cd9e3f0891037638dc5a9b) ) \
- ROM_REGION( 0x200000, "simm2.1", 0 ) ROM_LOAD( "jojoba(__990913)-simm2.1", 0x00000, 0x200000, CRC(18af4f3b) SHA1(04b8fdf23a782b10c203b111cc634a6d3474044a) ) \
- ROM_REGION( 0x200000, "simm2.2", 0 ) ROM_LOAD( "jojoba(__990913)-simm2.2", 0x00000, 0x200000, CRC(397e5c9e) SHA1(021d86ee66bf951fb6a1dd90fb7007c6865cbb8b) ) \
- ROM_REGION( 0x200000, "simm2.3", 0 ) ROM_LOAD( "jojoba(__990913)-simm2.3", 0x00000, 0x200000, CRC(a9d0a7d7) SHA1(b2cfc0661f8903ddbeea8a604ee8b42097e10ab8) ) \
- ROM_REGION( 0x200000, "simm3.0", 0 ) ROM_LOAD( "jojoba-simm3.0", 0x00000, 0x200000, CRC(4d16e111) SHA1(f198007375be65e89856d64ee2b3857a18b4eab8) ) \
- ROM_REGION( 0x200000, "simm3.1", 0 ) ROM_LOAD( "jojoba-simm3.1", 0x00000, 0x200000, CRC(9b3406d3) SHA1(54e90cd334d13e2c74305c6b87ebce1365ef3d59) ) \
- ROM_REGION( 0x200000, "simm3.2", 0 ) ROM_LOAD( "jojoba-simm3.2", 0x00000, 0x200000, CRC(f2414997) SHA1(fb89d5784250538ad17fd527267b513afb6eca20) ) \
- ROM_REGION( 0x200000, "simm3.3", 0 ) ROM_LOAD( "jojoba-simm3.3", 0x00000, 0x200000, CRC(954b9c7d) SHA1(0d64d97167d4e669d7e4f3a388f9d5ec1e18ed42) ) \
- ROM_REGION( 0x200000, "simm3.4", 0 ) ROM_LOAD( "jojoba-simm3.4", 0x00000, 0x200000, CRC(625adc1d) SHA1(533d62759ecece10c711d99bfca403e5cba279b5) ) \
- ROM_REGION( 0x200000, "simm3.5", 0 ) ROM_LOAD( "jojoba-simm3.5", 0x00000, 0x200000, CRC(20a70bb4) SHA1(3bd8376304ffc974fb8031eac8bebff27969538c) ) \
- ROM_REGION( 0x200000, "simm3.6", 0 ) ROM_LOAD( "jojoba-simm3.6", 0x00000, 0x200000, CRC(a10ec5af) SHA1(9b403260e8fbdacaa5369ab79fc05855cc6a6bdb) ) \
- ROM_REGION( 0x200000, "simm3.7", 0 ) ROM_LOAD( "jojoba-simm3.7", 0x00000, 0x200000, CRC(0bd0de7a) SHA1(1debecda5f282f2a1dd17e887e522a4d00c5dc9d) ) \
- ROM_REGION( 0x200000, "simm4.0", 0 ) ROM_LOAD( "jojoba-simm4.0", 0x00000, 0x200000, CRC(6ea14adc) SHA1(696b2ec66f3c197817a60f507a1b4c78db37f488) ) \
- ROM_REGION( 0x200000, "simm4.1", 0 ) ROM_LOAD( "jojoba-simm4.1", 0x00000, 0x200000, CRC(8f4c42fb) SHA1(363d769b0b066ce139125426d2da6dfa15d1eb28) ) \
- ROM_REGION( 0x200000, "simm4.2", 0 ) ROM_LOAD( "jojoba-simm4.2", 0x00000, 0x200000, CRC(ef0586d1) SHA1(8fcc350da20e3e59fa76fa14e10f2c47233ba9dc) ) \
- ROM_REGION( 0x200000, "simm4.3", 0 ) ROM_LOAD( "jojoba-simm4.3", 0x00000, 0x200000, CRC(93ccc470) SHA1(5d267679e61c0fb592ad5f696d3c06ec1746d0b3) ) \
- ROM_REGION( 0x200000, "simm4.4", 0 ) ROM_LOAD( "jojoba-simm4.4", 0x00000, 0x200000, CRC(3d9ec7d2) SHA1(665b867bab928be183c2006527e55f9b8ec4a271) ) \
- ROM_REGION( 0x200000, "simm4.5", 0 ) ROM_LOAD( "jojoba-simm4.5", 0x00000, 0x200000, CRC(03e66850) SHA1(8478662dc9db20d9a186d315a883bd1cbb5e5000) ) \
- ROM_REGION( 0x200000, "simm4.6", 0 ) ROM_LOAD( "jojoba-simm4.6", 0x00000, 0x200000, CRC(01606ac3) SHA1(ccc74edeca6abdd86fc1cf42ececa1ea393b3261) ) \
- ROM_REGION( 0x200000, "simm4.7", 0 ) ROM_LOAD( "jojoba-simm4.7", 0x00000, 0x200000, CRC(36392b87) SHA1(e62080c8461775c1e180400dfb44414679fd0fc1) ) \
- ROM_REGION( 0x200000, "simm5.0", 0 ) ROM_LOAD( "jojoba-simm5.0", 0x00000, 0x200000, CRC(2ef8c60c) SHA1(dea87a73a11b8edd27c3c9c5ab2af295cb5508f9) ) \
- ROM_REGION( 0x200000, "simm5.1", 0 ) ROM_LOAD( "jojoba-simm5.1", 0x00000, 0x200000, CRC(cf7d7ca6) SHA1(b347707b1e5bc71d28b282273f893592e5f9e333) ) \
- ROM_REGION( 0x200000, "simm5.2", 0 ) ROM_LOAD( "jojoba-simm5.2", 0x00000, 0x200000, CRC(b7815bfa) SHA1(0b5a3a2ffe1b3c0ca765dcedc297e78e5928302b) ) \
- ROM_REGION( 0x200000, "simm5.3", 0 ) ROM_LOAD( "jojoba-simm5.3", 0x00000, 0x200000, CRC(9bfec049) SHA1(62cc9a1920047863205544b77344ee18f310f084) ) \
- ROM_REGION( 0x200000, "simm5.4", 0 ) ROM_LOAD( "jojoba-simm5.4", 0x00000, 0x200000, CRC(d167536b) SHA1(e2637d3486f168ce44e0a00413d38960cb86db4c) ) \
- ROM_REGION( 0x200000, "simm5.5", 0 ) ROM_LOAD( "jojoba-simm5.5", 0x00000, 0x200000, CRC(55e7a042) SHA1(c18bda61fa005d9174a27b7b7d324004262a4525) ) \
- ROM_REGION( 0x200000, "simm5.6", 0 ) ROM_LOAD( "jojoba-simm5.6", 0x00000, 0x200000, CRC(4fb32906) SHA1(3a5965b3197517932c8aa4c07a6ea6a190a338d7) ) \
- ROM_REGION( 0x200000, "simm5.7", 0 ) ROM_LOAD( "jojoba-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404) ) \
+#define JOJOBA_990913_FLASH( flags ) \
+ ROM_REGION( 0x200000, "simm1.0", 0 ) ROMX_LOAD( "jojoba(__990913)-simm1.0", 0x00000, 0x200000, CRC(76976231) SHA1(90adde7e5983ec6a4e02789d5cefe9e85c9c52d5), flags ) \
+ ROM_REGION( 0x200000, "simm1.1", 0 ) ROMX_LOAD( "jojoba(__990913)-simm1.1", 0x00000, 0x200000, CRC(cedd78e7) SHA1(964988b90a2f14c1da2cfc48d943e16e54da3fd3), flags ) \
+ ROM_REGION( 0x200000, "simm1.2", 0 ) ROMX_LOAD( "jojoba(__990913)-simm1.2", 0x00000, 0x200000, CRC(2955b77f) SHA1(2a907a5cd91448bfc420c318584e5ef4bbe55a91), flags ) \
+ ROM_REGION( 0x200000, "simm1.3", 0 ) ROMX_LOAD( "jojoba(__990913)-simm1.3", 0x00000, 0x200000, CRC(280139d7) SHA1(b7c28f6f0218688fb873a3106d2f95ea2e1e927c), flags ) \
+ ROM_REGION( 0x200000, "simm2.0", 0 ) ROMX_LOAD( "jojoba(__990913)-simm2.0", 0x00000, 0x200000, CRC(305c4914) SHA1(c3a73ffe58f61ab8f1cd9e3f0891037638dc5a9b), flags ) \
+ ROM_REGION( 0x200000, "simm2.1", 0 ) ROMX_LOAD( "jojoba(__990913)-simm2.1", 0x00000, 0x200000, CRC(18af4f3b) SHA1(04b8fdf23a782b10c203b111cc634a6d3474044a), flags ) \
+ ROM_REGION( 0x200000, "simm2.2", 0 ) ROMX_LOAD( "jojoba(__990913)-simm2.2", 0x00000, 0x200000, CRC(397e5c9e) SHA1(021d86ee66bf951fb6a1dd90fb7007c6865cbb8b), flags ) \
+ ROM_REGION( 0x200000, "simm2.3", 0 ) ROMX_LOAD( "jojoba(__990913)-simm2.3", 0x00000, 0x200000, CRC(a9d0a7d7) SHA1(b2cfc0661f8903ddbeea8a604ee8b42097e10ab8), flags ) \
+ ROM_REGION( 0x200000, "simm3.0", 0 ) ROMX_LOAD( "jojoba-simm3.0", 0x00000, 0x200000, CRC(4d16e111) SHA1(f198007375be65e89856d64ee2b3857a18b4eab8), flags ) \
+ ROM_REGION( 0x200000, "simm3.1", 0 ) ROMX_LOAD( "jojoba-simm3.1", 0x00000, 0x200000, CRC(9b3406d3) SHA1(54e90cd334d13e2c74305c6b87ebce1365ef3d59), flags ) \
+ ROM_REGION( 0x200000, "simm3.2", 0 ) ROMX_LOAD( "jojoba-simm3.2", 0x00000, 0x200000, CRC(f2414997) SHA1(fb89d5784250538ad17fd527267b513afb6eca20), flags ) \
+ ROM_REGION( 0x200000, "simm3.3", 0 ) ROMX_LOAD( "jojoba-simm3.3", 0x00000, 0x200000, CRC(954b9c7d) SHA1(0d64d97167d4e669d7e4f3a388f9d5ec1e18ed42), flags ) \
+ ROM_REGION( 0x200000, "simm3.4", 0 ) ROMX_LOAD( "jojoba-simm3.4", 0x00000, 0x200000, CRC(625adc1d) SHA1(533d62759ecece10c711d99bfca403e5cba279b5), flags ) \
+ ROM_REGION( 0x200000, "simm3.5", 0 ) ROMX_LOAD( "jojoba-simm3.5", 0x00000, 0x200000, CRC(20a70bb4) SHA1(3bd8376304ffc974fb8031eac8bebff27969538c), flags ) \
+ ROM_REGION( 0x200000, "simm3.6", 0 ) ROMX_LOAD( "jojoba-simm3.6", 0x00000, 0x200000, CRC(a10ec5af) SHA1(9b403260e8fbdacaa5369ab79fc05855cc6a6bdb), flags ) \
+ ROM_REGION( 0x200000, "simm3.7", 0 ) ROMX_LOAD( "jojoba-simm3.7", 0x00000, 0x200000, CRC(0bd0de7a) SHA1(1debecda5f282f2a1dd17e887e522a4d00c5dc9d), flags ) \
+ ROM_REGION( 0x200000, "simm4.0", 0 ) ROMX_LOAD( "jojoba-simm4.0", 0x00000, 0x200000, CRC(6ea14adc) SHA1(696b2ec66f3c197817a60f507a1b4c78db37f488), flags ) \
+ ROM_REGION( 0x200000, "simm4.1", 0 ) ROMX_LOAD( "jojoba-simm4.1", 0x00000, 0x200000, CRC(8f4c42fb) SHA1(363d769b0b066ce139125426d2da6dfa15d1eb28), flags ) \
+ ROM_REGION( 0x200000, "simm4.2", 0 ) ROMX_LOAD( "jojoba-simm4.2", 0x00000, 0x200000, CRC(ef0586d1) SHA1(8fcc350da20e3e59fa76fa14e10f2c47233ba9dc), flags ) \
+ ROM_REGION( 0x200000, "simm4.3", 0 ) ROMX_LOAD( "jojoba-simm4.3", 0x00000, 0x200000, CRC(93ccc470) SHA1(5d267679e61c0fb592ad5f696d3c06ec1746d0b3), flags ) \
+ ROM_REGION( 0x200000, "simm4.4", 0 ) ROMX_LOAD( "jojoba-simm4.4", 0x00000, 0x200000, CRC(3d9ec7d2) SHA1(665b867bab928be183c2006527e55f9b8ec4a271), flags ) \
+ ROM_REGION( 0x200000, "simm4.5", 0 ) ROMX_LOAD( "jojoba-simm4.5", 0x00000, 0x200000, CRC(03e66850) SHA1(8478662dc9db20d9a186d315a883bd1cbb5e5000), flags ) \
+ ROM_REGION( 0x200000, "simm4.6", 0 ) ROMX_LOAD( "jojoba-simm4.6", 0x00000, 0x200000, CRC(01606ac3) SHA1(ccc74edeca6abdd86fc1cf42ececa1ea393b3261), flags ) \
+ ROM_REGION( 0x200000, "simm4.7", 0 ) ROMX_LOAD( "jojoba-simm4.7", 0x00000, 0x200000, CRC(36392b87) SHA1(e62080c8461775c1e180400dfb44414679fd0fc1), flags ) \
+ ROM_REGION( 0x200000, "simm5.0", 0 ) ROMX_LOAD( "jojoba-simm5.0", 0x00000, 0x200000, CRC(2ef8c60c) SHA1(dea87a73a11b8edd27c3c9c5ab2af295cb5508f9), flags ) \
+ ROM_REGION( 0x200000, "simm5.1", 0 ) ROMX_LOAD( "jojoba-simm5.1", 0x00000, 0x200000, CRC(cf7d7ca6) SHA1(b347707b1e5bc71d28b282273f893592e5f9e333), flags ) \
+ ROM_REGION( 0x200000, "simm5.2", 0 ) ROMX_LOAD( "jojoba-simm5.2", 0x00000, 0x200000, CRC(b7815bfa) SHA1(0b5a3a2ffe1b3c0ca765dcedc297e78e5928302b), flags ) \
+ ROM_REGION( 0x200000, "simm5.3", 0 ) ROMX_LOAD( "jojoba-simm5.3", 0x00000, 0x200000, CRC(9bfec049) SHA1(62cc9a1920047863205544b77344ee18f310f084), flags ) \
+ ROM_REGION( 0x200000, "simm5.4", 0 ) ROMX_LOAD( "jojoba-simm5.4", 0x00000, 0x200000, CRC(d167536b) SHA1(e2637d3486f168ce44e0a00413d38960cb86db4c), flags ) \
+ ROM_REGION( 0x200000, "simm5.5", 0 ) ROMX_LOAD( "jojoba-simm5.5", 0x00000, 0x200000, CRC(55e7a042) SHA1(c18bda61fa005d9174a27b7b7d324004262a4525), flags ) \
+ ROM_REGION( 0x200000, "simm5.6", 0 ) ROMX_LOAD( "jojoba-simm5.6", 0x00000, 0x200000, CRC(4fb32906) SHA1(3a5965b3197517932c8aa4c07a6ea6a190a338d7), flags ) \
+ ROM_REGION( 0x200000, "simm5.7", 0 ) ROMX_LOAD( "jojoba-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404), flags ) \
#define JOJOBA_990913_CDROM \
DISK_REGION( "cdrom" ) DISK_IMAGE_READONLY( "cap-jjm-0", 0, BAD_DUMP SHA1(0678a0baeb853dcff1d230c14f0873cc9f143d7b) ) \
@@ -3009,7 +2974,7 @@ ROM_START( redearth )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "redearth_euro.29f400.u2", 0x000000, 0x080000, CRC(02e0f336) SHA1(acc37e830dfeb9674f5a0fb24f4cc23217ae4ff5) )
- REDEARTH_961121_FLASH
+ REDEARTH_961121_FLASH( ROM_OPTIONAL )
REDEARTH_961121_CDROM
ROM_END
@@ -3017,7 +2982,7 @@ ROM_START( redearthr1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "redearth_euro.29f400.u2", 0x000000, 0x080000, CRC(02e0f336) SHA1(acc37e830dfeb9674f5a0fb24f4cc23217ae4ff5) )
- REDEARTH_961023_FLASH
+ REDEARTH_961023_FLASH( ROM_OPTIONAL )
REDEARTH_961023_CDROM
ROM_END
@@ -3025,7 +2990,7 @@ ROM_START( warzard )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "warzard_japan.29f400.u2", 0x000000, 0x080000, CRC(f8e2f0c6) SHA1(93d6a986f44c211fff014e55681eca4d2a2774d6) )
- REDEARTH_961121_FLASH
+ REDEARTH_961121_FLASH( ROM_OPTIONAL )
REDEARTH_961121_CDROM
ROM_END
@@ -3033,7 +2998,7 @@ ROM_START( warzardr1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "warzard_japan.29f400.u2", 0x000000, 0x080000, CRC(f8e2f0c6) SHA1(93d6a986f44c211fff014e55681eca4d2a2774d6) )
- REDEARTH_961023_FLASH
+ REDEARTH_961023_FLASH( ROM_OPTIONAL )
REDEARTH_961023_CDROM
ROM_END
@@ -3041,7 +3006,7 @@ ROM_START( sfiii )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii_usa.29f400.u2", 0x000000, 0x080000, CRC(fb172a8e) SHA1(48ebf59910f246835f7dc0c588da30f7a908072f) )
- SFIII_970204_FLASH
+ SFIII_970204_FLASH( ROM_OPTIONAL )
SFIII_970204_CDROM
ROM_END
@@ -3049,7 +3014,7 @@ ROM_START( sfiiij )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii_japan.29f400.u2", 0x000000, 0x080000, CRC(74205250) SHA1(c3e83ace7121d32da729162662ec6b5285a31211) )
- SFIII_970204_FLASH
+ SFIII_970204_FLASH( ROM_OPTIONAL )
SFIII_970204_CDROM
ROM_END
@@ -3057,7 +3022,7 @@ ROM_START( sfiiih )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii_hispanic.29f400.u2", 0x000000, 0x080000, CRC(d2b3cd48) SHA1(00ebb270c24a66515c97e35331de54ff5358000e) )
- SFIII_970204_FLASH
+ SFIII_970204_FLASH( ROM_OPTIONAL )
SFIII_970204_CDROM
ROM_END
@@ -3065,7 +3030,7 @@ ROM_START( sfiii2 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii2_usa.29f400.u2", 0x000000, 0x080000, CRC(75dd72e0) SHA1(5a12d6ea6734df5de00ecee6f9ef470749d2f242) )
- SFIII2_970930_FLASH
+ SFIII2_970930_FLASH( ROM_OPTIONAL )
SFIII2_970930_CDROM
ROM_END
@@ -3073,7 +3038,7 @@ ROM_START( sfiii2j )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii2_japan.29f400.u2", 0x000000, 0x080000, CRC(faea0a3e) SHA1(a03cd63bcf52e4d57f7a598c8bc8e243694624ec) )
- SFIII2_970930_FLASH
+ SFIII2_970930_FLASH( ROM_OPTIONAL )
SFIII2_970930_CDROM
ROM_END
@@ -3081,7 +3046,7 @@ ROM_START( jojo )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_usa.29f400.u2", 0x000000, 0x080000, CRC(8d40f7be) SHA1(2a4bd83db2f959c33b071e517941aa55a0f919c0) )
- JOJO_990128_FLASH
+ JOJO_990128_FLASH( ROM_OPTIONAL )
JOJO_990128_CDROM
ROM_END
@@ -3089,7 +3054,7 @@ ROM_START( jojor1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_usa.29f400.u2", 0x000000, 0x080000, CRC(8d40f7be) SHA1(2a4bd83db2f959c33b071e517941aa55a0f919c0) )
- JOJO_990108_FLASH
+ JOJO_990108_FLASH( ROM_OPTIONAL )
JOJO_990108_CDROM
ROM_END
@@ -3097,7 +3062,7 @@ ROM_START( jojor2 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_usa.29f400.u2", 0x000000, 0x080000, CRC(8d40f7be) SHA1(2a4bd83db2f959c33b071e517941aa55a0f919c0) )
- JOJO_981202_FLASH
+ JOJO_981202_FLASH( ROM_OPTIONAL )
JOJO_981202_CDROM
ROM_END
@@ -3105,7 +3070,7 @@ ROM_START( jojoj )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_japan.29f400.u2", 0x000000, 0x080000, CRC(02778f60) SHA1(a167f9ebe030592a0cdb0c6a3c75835c6a43be4c) )
- JOJO_990128_FLASH
+ JOJO_990128_FLASH( ROM_OPTIONAL )
JOJO_990128_CDROM
ROM_END
@@ -3113,7 +3078,7 @@ ROM_START( jojojr1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_japan.29f400.u2", 0x000000, 0x080000, CRC(02778f60) SHA1(a167f9ebe030592a0cdb0c6a3c75835c6a43be4c) )
- JOJO_990108_FLASH
+ JOJO_990108_FLASH( ROM_OPTIONAL )
JOJO_990108_CDROM
ROM_END
@@ -3121,7 +3086,7 @@ ROM_START( jojojr2 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_japan.29f400.u2", 0x000000, 0x080000, CRC(02778f60) SHA1(a167f9ebe030592a0cdb0c6a3c75835c6a43be4c) )
- JOJO_981202_FLASH
+ JOJO_981202_FLASH( ROM_OPTIONAL )
JOJO_981202_CDROM
ROM_END
@@ -3129,7 +3094,7 @@ ROM_START( sfiii3 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii3_euro.29f400.u2", 0x000000, 0x080000, CRC(30bbf293) SHA1(f094c2eeaf4f6709060197aca371a4532346bf78) )
- SFIII3_990608_FLASH
+ SFIII3_990608_FLASH( ROM_OPTIONAL )
SFIII3_990608_CDROM
ROM_END
@@ -3137,7 +3102,7 @@ ROM_START( sfiii3r1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii3_euro.29f400.u2", 0x000000, 0x080000, CRC(30bbf293) SHA1(f094c2eeaf4f6709060197aca371a4532346bf78) )
- SFIII3_990512_FLASH
+ SFIII3_990512_FLASH( ROM_OPTIONAL )
SFIII3_990512_CDROM
ROM_END
@@ -3145,7 +3110,7 @@ ROM_START( sfiii3u )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii3_usa.29f400.u2", 0x000000, 0x080000, CRC(ecc545c1) SHA1(e39083820aae914fd8b80c9765129bedb745ceba) )
- SFIII3_990608_FLASH
+ SFIII3_990608_FLASH( ROM_OPTIONAL )
SFIII3_990608_CDROM
ROM_END
@@ -3153,7 +3118,7 @@ ROM_START( sfiii3ur1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii3_usa.29f400.u2", 0x000000, 0x080000, CRC(ecc545c1) SHA1(e39083820aae914fd8b80c9765129bedb745ceba) )
- SFIII3_990512_FLASH
+ SFIII3_990512_FLASH( ROM_OPTIONAL )
SFIII3_990512_CDROM
ROM_END
@@ -3161,7 +3126,7 @@ ROM_START( jojoba )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojoba_japan.29f400.u2", 0x000000, 0x080000, CRC(3085478c) SHA1(055eab1fc42816f370a44b17fd7e87ffcb10e8b7) )
- JOJOBA_990927_FLASH
+ JOJOBA_990927_FLASH( ROM_OPTIONAL )
JOJOBA_990927_CDROM
ROM_END
@@ -3169,7 +3134,7 @@ ROM_START( jojobar1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojoba_japan.29f400.u2", 0x000000, 0x080000, CRC(3085478c) SHA1(055eab1fc42816f370a44b17fd7e87ffcb10e8b7) )
- JOJOBA_990913_FLASH
+ JOJOBA_990913_FLASH( ROM_OPTIONAL )
JOJOBA_990913_CDROM
ROM_END
@@ -3180,77 +3145,77 @@ ROM_START( sfiiin )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(73e32463) SHA1(45d144e533e4b20cc5a744ca4f618e288430c601) )
- SFIII_970204_FLASH
+ SFIII_970204_FLASH( 0 )
ROM_END
ROM_START( sfiii2n )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii2_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(fd297c0d) SHA1(4323deda2789f104b53f32a663196ec16de73215) )
- SFIII2_970930_FLASH
+ SFIII2_970930_FLASH( 0 )
ROM_END
ROM_START( jojon )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(05b4f953) SHA1(c746c7bb5359acc9adced817cb4870b1912eaefd) )
- JOJO_990128_FLASH
+ JOJO_990128_FLASH( 0 )
ROM_END
ROM_START( jojonr1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(05b4f953) SHA1(c746c7bb5359acc9adced817cb4870b1912eaefd) )
- JOJO_990108_FLASH
+ JOJO_990108_FLASH( 0 )
ROM_END
ROM_START( jojonr2 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojo_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(05b4f953) SHA1(c746c7bb5359acc9adced817cb4870b1912eaefd) )
- JOJO_981202_FLASH
+ JOJO_981202_FLASH( 0 )
ROM_END
ROM_START( sfiii3n )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii3_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(1edc6366) SHA1(60b4b9adeb030a33059d74fdf03873029e465b52) )
- SFIII3_990608_FLASH
+ SFIII3_990608_FLASH( 0 )
ROM_END
ROM_START( sfiii3nr1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "sfiii3_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(1edc6366) SHA1(60b4b9adeb030a33059d74fdf03873029e465b52) )
- SFIII3_990512_FLASH
+ SFIII3_990512_FLASH( 0 )
ROM_END
ROM_START( jojoban )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojoba_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(4dab19f5) SHA1(ba07190e7662937fc267f07285c51e99a45c061e) )
- JOJOBA_990927_FLASH
+ JOJOBA_990927_FLASH( 0 )
ROM_END
ROM_START( jojobanr1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojoba_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(4dab19f5) SHA1(ba07190e7662937fc267f07285c51e99a45c061e) )
- JOJOBA_990913_FLASH
+ JOJOBA_990913_FLASH( 0 )
ROM_END
ROM_START( jojobane )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojoba_euro_nocd.29f400.u2", 0x000000, 0x080000, CRC(1ee2d679) SHA1(9e129b454a376606b3f7e8aec64de425cf9c635c) )
- JOJOBA_990927_FLASH
+ JOJOBA_990927_FLASH( 0 )
ROM_END
ROM_START( jojobaner1 )
ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
ROM_LOAD( "jojoba_euro_nocd.29f400.u2", 0x000000, 0x080000, CRC(1ee2d679) SHA1(9e129b454a376606b3f7e8aec64de425cf9c635c) )
- JOJOBA_990913_FLASH
+ JOJOBA_990913_FLASH( 0 )
ROM_END
diff --git a/src/mame/includes/cps3.h b/src/mame/includes/cps3.h
index 1ab7f49c953..9381f85b3ac 100644
--- a/src/mame/includes/cps3.h
+++ b/src/mame/includes/cps3.h
@@ -87,8 +87,6 @@ public:
DECLARE_READ32_MEMBER(cps3_40C0004_r);
DECLARE_READ32_MEMBER(cps3_eeprom_r);
DECLARE_WRITE32_MEMBER(cps3_eeprom_w);
- DECLARE_READ32_MEMBER(cps3_cdrom_r);
- DECLARE_WRITE32_MEMBER(cps3_cdrom_w);
DECLARE_WRITE32_MEMBER(cps3_ss_bank_base_w);
DECLARE_WRITE32_MEMBER(cps3_ss_pal_base_w);
DECLARE_WRITE32_MEMBER(cps3_palettedma_w);
diff --git a/src/mess/drivers/ip20.c b/src/mess/drivers/ip20.c
index 7734f3bfe84..58e2f0f87b4 100644
--- a/src/mess/drivers/ip20.c
+++ b/src/mess/drivers/ip20.c
@@ -49,7 +49,10 @@ class ip20_state : public driver_device
{
public:
ip20_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag) { }
+ : driver_device(mconfig, type, tag),
+ m_wd33c93(*this, "wd33c93"){ }
+
+ required_device<wd33c93_device> m_wd33c93;
HPC_t m_HPC;
RTC_t m_RTC;
@@ -131,7 +134,7 @@ READ32_MEMBER(ip20_state::hpc_r)
case 0x0120:
if (ACCESSING_BITS_8_15)
{
- return ( wd33c93_r( &space, 0 ) << 8 );
+ return ( m_wd33c93->read( space, 0 ) << 8 );
}
else
{
@@ -140,7 +143,7 @@ READ32_MEMBER(ip20_state::hpc_r)
case 0x0124:
if (ACCESSING_BITS_8_15)
{
- return ( wd33c93_r( &space, 1 ) << 8 );
+ return ( m_wd33c93->read( space, 1 ) << 8 );
}
else
{
@@ -288,7 +291,7 @@ WRITE32_MEMBER(ip20_state::hpc_w)
if (ACCESSING_BITS_8_15)
{
verboselog(machine(), 2, "HPC SCSI Controller Register Write: %08x\n", ( data >> 8 ) & 0x000000ff );
- wd33c93_w( &space, 0, ( data >> 8 ) & 0x000000ff );
+ m_wd33c93->write( space, 0, ( data >> 8 ) & 0x000000ff );
}
else
{
@@ -299,7 +302,7 @@ WRITE32_MEMBER(ip20_state::hpc_w)
if (ACCESSING_BITS_8_15)
{
verboselog(machine(), 2, "HPC SCSI Controller Data Write: %08x\n", ( data >> 8 ) & 0x000000ff );
- wd33c93_w( &space, 1, ( data >> 8 ) & 0x000000ff );
+ m_wd33c93->write( space, 1, ( data >> 8 ) & 0x000000ff );
}
else
{
@@ -562,8 +565,6 @@ static MACHINE_START( ip204415 )
{
ip20_state *state = machine.driver_data<ip20_state>();
- wd33c93_init(machine, &scsi_intf);
-
sgi_mc_init(machine);
state->m_HPC.nMiscStatus = 0;
@@ -615,6 +616,7 @@ static MACHINE_CONFIG_START( ip204415, ip20_state )
MCFG_SCC8530_ADD("scc", 7000000, line_cb_t())
+ MCFG_WD33C93_ADD("wd33c93", scsi_intf);
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_6)
MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56)
diff --git a/src/mess/drivers/ip22.c b/src/mess/drivers/ip22.c
index cec6378622f..f4b0dc4505c 100644
--- a/src/mess/drivers/ip22.c
+++ b/src/mess/drivers/ip22.c
@@ -95,10 +95,12 @@ class ip22_state : public driver_device
{
public:
ip22_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag) ,
+ : driver_device(mconfig, type, tag),
+ m_wd33c93(*this, "wd33c93"),
m_unkpbus0(*this, "unkpbus0"),
m_mainram(*this, "mainram") { }
+ required_device<wd33c93_device> m_wd33c93;
required_shared_ptr<UINT32> m_unkpbus0;
required_shared_ptr<UINT32> m_mainram;
RTC_t m_RTC;
@@ -480,7 +482,7 @@ READ32_MEMBER(ip22_state::hpc3_hd0_r)
// //verboselog((machine, 2, "HPC3 HD0 Status Read: %08x (%08x): %08x\n", 0x1fb90000 + ( offset << 2), mem_mask, nHPC3_hd0_regs[0x17] );
if (ACCESSING_BITS_0_7)
{
- return wd33c93_r( &space, 0 );
+ return m_wd33c93->read( space, 0 );
}
else
{
@@ -491,7 +493,7 @@ READ32_MEMBER(ip22_state::hpc3_hd0_r)
// //verboselog((machine, 2, "HPC3 HD0 Register Read: %08x (%08x): %08x\n", 0x1fb90000 + ( offset << 2), mem_mask, nHPC3_hd0_regs[nHPC3_hd0_register] );
if (ACCESSING_BITS_0_7)
{
- return wd33c93_r( &space, 1 );
+ return m_wd33c93->read( space, 1 );
}
else
{
@@ -515,7 +517,7 @@ WRITE32_MEMBER(ip22_state::hpc3_hd0_w)
// //verboselog((machine, 2, "HPC3 HD0 Register Select Write: %08x\n", data );
if (ACCESSING_BITS_0_7)
{
- wd33c93_w( &space, 0, data & 0x000000ff );
+ m_wd33c93->write( space, 0, data & 0x000000ff );
}
break;
case 0x0004/4:
@@ -523,7 +525,7 @@ WRITE32_MEMBER(ip22_state::hpc3_hd0_w)
// //verboselog((machine, 2, "HPC3 HD0 Register %d Write: %08x\n", nHPC3_hd0_register, data );
if (ACCESSING_BITS_0_7)
{
- wd33c93_w( &space, 1, data & 0x000000ff );
+ m_wd33c93->write( space, 1, data & 0x000000ff );
}
break;
default:
@@ -1261,9 +1263,9 @@ static void scsi_irq(running_machine &machine, int state)
if (state)
{
- if (wd33c93_get_dma_count())
+ if (drvstate->m_wd33c93->get_dma_count())
{
- printf("wd33c93_get_dma_count() is %d\n", wd33c93_get_dma_count() );
+ printf("drvstate->m_wd33c93->get_dma_count() is %d\n", drvstate->m_wd33c93->get_dma_count() );
if (drvstate->m_HPC3.nSCSI0DMACtrl & HPC3_DMACTRL_ENABLE)
{
if (drvstate->m_HPC3.nSCSI0DMACtrl & HPC3_DMACTRL_IRQ) logerror("IP22: Unhandled SCSI DMA IRQ\n");
@@ -1275,7 +1277,7 @@ static void scsi_irq(running_machine &machine, int state)
UINT32 wptr, tmpword;
int words, dptr, twords;
- words = wd33c93_get_dma_count();
+ words = drvstate->m_wd33c93->get_dma_count();
words /= 4;
wptr = space->read_dword(drvstate->m_HPC3.nSCSI0Descriptor);
@@ -1289,7 +1291,7 @@ static void scsi_irq(running_machine &machine, int state)
if (words <= (512/4))
{
// one-shot
- //wd33c93_get_dma_data(wd33c93_get_dma_count(), drvstate->m_dma_buffer);
+ //drvstate->m_wd33c93->get_dma_data(drvstate->m_wd33c93->get_dma_count(), drvstate->m_dma_buffer);
while (words)
{
@@ -1315,14 +1317,14 @@ static void scsi_irq(running_machine &machine, int state)
words--;
}
- words = wd33c93_get_dma_count();
- wd33c93_write_data(words, drvstate->m_dma_buffer);
+ words = drvstate->m_wd33c93->get_dma_count();
+ drvstate->m_wd33c93->write_data(words, drvstate->m_dma_buffer);
}
else
{
while (words)
{
- //wd33c93_get_dma_data(512, drvstate->m_dma_buffer);
+ //drvstate->m_wd33c93->get_dma_data(512, drvstate->m_dma_buffer);
twords = 512/4;
drvstate->m_HPC3.nSCSI0Descriptor += 512;
dptr = 0;
@@ -1351,14 +1353,14 @@ static void scsi_irq(running_machine &machine, int state)
twords--;
}
- wd33c93_write_data(512, drvstate->m_dma_buffer);
+ drvstate->m_wd33c93->write_data(512, drvstate->m_dma_buffer);
words -= (512/4);
}
}
// clear DMA on the controller too
- wd33c93_clear_dma();
+ drvstate->m_wd33c93->clear_dma();
#if 0
UINT32 dptr, tmpword;
UINT32 bc = space->read_dword(drvstate->m_HPC3.nSCSI0Descriptor + 4);
@@ -1399,10 +1401,10 @@ static void scsi_irq(running_machine &machine, int state)
}
length = space->read_dword(drvstate->m_HPC3.nSCSI0Descriptor+4) & 0x3fff;
- wd33c93_write_data(length, drvstate->m_dma_buffer);
+ drvstate->m_wd33c93->write_data(length, drvstate->m_dma_buffer);
// clear DMA on the controller too
- wd33c93_clear_dma();
+ drvstate->m_wd33c93->clear_dma();
}
else
{
@@ -1417,7 +1419,7 @@ static void scsi_irq(running_machine &machine, int state)
UINT32 wptr, tmpword;
int words, sptr, twords;
- words = wd33c93_get_dma_count();
+ words = drvstate->m_wd33c93->get_dma_count();
words /= 4;
wptr = space->read_dword(drvstate->m_HPC3.nSCSI0Descriptor);
@@ -1430,7 +1432,7 @@ static void scsi_irq(running_machine &machine, int state)
if (words <= (1024/4))
{
// one-shot
- wd33c93_get_dma_data(wd33c93_get_dma_count(), drvstate->m_dma_buffer);
+ drvstate->m_wd33c93->get_dma_data(drvstate->m_wd33c93->get_dma_count(), drvstate->m_dma_buffer);
while (words)
{
@@ -1453,7 +1455,7 @@ static void scsi_irq(running_machine &machine, int state)
{
while (words)
{
- wd33c93_get_dma_data(512, drvstate->m_dma_buffer);
+ drvstate->m_wd33c93->get_dma_data(512, drvstate->m_dma_buffer);
twords = 512/4;
sptr = 0;
@@ -1479,7 +1481,7 @@ static void scsi_irq(running_machine &machine, int state)
}
// clear DMA on the controller too
- wd33c93_clear_dma();
+ drvstate->m_wd33c93->clear_dma();
}
}
@@ -1524,7 +1526,6 @@ static MACHINE_START( ip225015 )
sgi_mc_init(machine);
// SCSI init
- wd33c93_init(machine, &scsi_intf);
machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(ip225015_exit),&machine));
machine.device<nvram_device>("nvram_user")->set_base(state->m_RTC.nUserRAM, 0x200);
@@ -1691,6 +1692,7 @@ static MACHINE_CONFIG_START( ip225015, ip22_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
+ MCFG_WD33C93_ADD("wd33c93", scsi_intf);
MCFG_SCSIDEV_ADD("cdrom", SCSICD, SCSI_ID_4)
MCFG_SCSIDEV_ADD("harddisk1", SCSIHD, SCSI_ID_1)
MACHINE_CONFIG_END