mirror of
https://github.com/holub/mame
synced 2025-05-14 18:08:13 +03:00
some cleanups + added steplock emulation for the skiing games (be sure to do 'step adjust' in service mode 1st)
This commit is contained in:
parent
20d998c455
commit
1912829df1
@ -1234,7 +1234,7 @@ AnalogAsDigital( running_machine &machine )
|
|||||||
|
|
||||||
/* TODO: REMOVE (THIS IS HANDLED BY "SUBCPU") */
|
/* TODO: REMOVE (THIS IS HANDLED BY "SUBCPU") */
|
||||||
static void
|
static void
|
||||||
HandleCoinage(running_machine &machine, int slots)
|
HandleCoinage(running_machine &machine, int slots, int address_is_odd)
|
||||||
{
|
{
|
||||||
namcos22_state *state = machine.driver_data<namcos22_state>();
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
UINT16 *share16 = (UINT16 *)state->m_shareram;
|
UINT16 *share16 = (UINT16 *)state->m_shareram;
|
||||||
@ -1254,11 +1254,11 @@ HandleCoinage(running_machine &machine, int slots)
|
|||||||
|
|
||||||
state->m_old_coin_state = coin_state;
|
state->m_old_coin_state = coin_state;
|
||||||
|
|
||||||
share16[BYTE_XOR_LE(0x38/2)] = state->m_credits1;
|
share16[BYTE_XOR_LE(0x38/2)] = state->m_credits1 << (address_is_odd*8);
|
||||||
|
|
||||||
if (slots == 2)
|
if (slots == 2)
|
||||||
{
|
{
|
||||||
share16[BYTE_XOR_LE(0x3e/2)] = state->m_credits2;
|
share16[BYTE_XOR_LE(0x3e/2)] = state->m_credits2 << (address_is_odd*8);
|
||||||
}
|
}
|
||||||
} /* HandleCoinage */
|
} /* HandleCoinage */
|
||||||
|
|
||||||
@ -1270,11 +1270,9 @@ HandleDrivingIO( running_machine &machine )
|
|||||||
if( nthbyte(state->m_system_controller, 0x18) != 0 )
|
if( nthbyte(state->m_system_controller, 0x18) != 0 )
|
||||||
{
|
{
|
||||||
UINT16 flags = input_port_read(machine, "INPUTS");
|
UINT16 flags = input_port_read(machine, "INPUTS");
|
||||||
UINT16 gas, brake, steer;
|
UINT16 gas, brake, steer, coinram_address_is_odd = 0;
|
||||||
ReadAnalogDrivingPorts( machine, &gas, &brake, &steer );
|
ReadAnalogDrivingPorts( machine, &gas, &brake, &steer );
|
||||||
|
|
||||||
HandleCoinage(machine, 2);
|
|
||||||
|
|
||||||
switch (state->m_gametype)
|
switch (state->m_gametype)
|
||||||
{
|
{
|
||||||
case NAMCOS22_RIDGE_RACER:
|
case NAMCOS22_RIDGE_RACER:
|
||||||
@ -1296,8 +1294,10 @@ HandleDrivingIO( running_machine &machine )
|
|||||||
steer += 32;
|
steer += 32;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NAMCOS22_ACE_DRIVER:
|
|
||||||
case NAMCOS22_VICTORY_LAP:
|
case NAMCOS22_VICTORY_LAP:
|
||||||
|
coinram_address_is_odd = 1;
|
||||||
|
// (fall through)
|
||||||
|
case NAMCOS22_ACE_DRIVER:
|
||||||
gas <<= 3;
|
gas <<= 3;
|
||||||
gas += 992;
|
gas += 992;
|
||||||
brake <<= 3;
|
brake <<= 3;
|
||||||
@ -1313,6 +1313,7 @@ HandleDrivingIO( running_machine &machine )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HandleCoinage(machine, 2, coinram_address_is_odd);
|
||||||
state->m_shareram[0x000/4] = 0x10<<16; /* SUB CPU ready */
|
state->m_shareram[0x000/4] = 0x10<<16; /* SUB CPU ready */
|
||||||
state->m_shareram[0x030/4] = (flags<<16)|steer;
|
state->m_shareram[0x030/4] = (flags<<16)|steer;
|
||||||
state->m_shareram[0x034/4] = (gas<<16)|brake;
|
state->m_shareram[0x034/4] = (gas<<16)|brake;
|
||||||
@ -1337,7 +1338,7 @@ HandleCyberCommandoIO( running_machine &machine )
|
|||||||
state->m_shareram[0x034/4] = (volume1<<16) | volume2;
|
state->m_shareram[0x034/4] = (volume1<<16) | volume2;
|
||||||
state->m_shareram[0x038/4] = volume3<<16;
|
state->m_shareram[0x038/4] = volume3<<16;
|
||||||
|
|
||||||
HandleCoinage(machine, 1);
|
HandleCoinage(machine, 1, 0);
|
||||||
}
|
}
|
||||||
} /* HandleCyberCommandoIO */
|
} /* HandleCyberCommandoIO */
|
||||||
|
|
||||||
@ -2511,48 +2512,6 @@ static ADDRESS_MAP_START( mcu_s22_program, AS_PROGRAM, 16 )
|
|||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
|
||||||
static READ8_HANDLER( mcu_port5_r )
|
|
||||||
{
|
|
||||||
namcos22_state *state = space->machine().driver_data<namcos22_state>();
|
|
||||||
// hack for motor status
|
|
||||||
if ((state->m_gametype == NAMCOS22_ALPINE_RACER) || (state->m_gametype == NAMCOS22_ALPINE_RACER_2) || (state->m_gametype == NAMCOS22_ALPINE_SURFER))
|
|
||||||
{
|
|
||||||
if (state->m_p4 & 8)
|
|
||||||
{
|
|
||||||
if (state->m_mFrameCount & 1)
|
|
||||||
{
|
|
||||||
return input_port_read_safe(space->machine(), "MCUP5A", 0xff) | 0x80;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return input_port_read_safe(space->machine(), "MCUP5A", 0xff) & 0x7f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (state->m_mFrameCount & 1)
|
|
||||||
{
|
|
||||||
return 0xfe;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return 0xff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (state->m_p4 & 8)
|
|
||||||
{
|
|
||||||
return input_port_read_safe(space->machine(), "MCUP5A", 0xff);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return input_port_read_safe(space->machine(), "MCUP5B", 0xff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static WRITE8_HANDLER( mcu_port4_w )
|
static WRITE8_HANDLER( mcu_port4_w )
|
||||||
{
|
{
|
||||||
namcos22_state *state = space->machine().driver_data<namcos22_state>();
|
namcos22_state *state = space->machine().driver_data<namcos22_state>();
|
||||||
@ -2567,15 +2526,22 @@ static READ8_HANDLER( mcu_port4_r )
|
|||||||
|
|
||||||
static WRITE8_HANDLER( mcu_port5_w )
|
static WRITE8_HANDLER( mcu_port5_w )
|
||||||
{
|
{
|
||||||
// prop cycle outputs:
|
;
|
||||||
// bit 1 = fan
|
|
||||||
// bit 2 = button light
|
|
||||||
|
|
||||||
if (!strcmp(space->machine().system().name, "propcycl"))
|
|
||||||
{
|
|
||||||
output_set_value("fan0", data & 1);
|
|
||||||
set_led_status(space->machine(), 0, data & 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static READ8_HANDLER( mcu_port5_r )
|
||||||
|
{
|
||||||
|
namcos22_state *state = space->machine().driver_data<namcos22_state>();
|
||||||
|
|
||||||
|
if (state->m_p4 & 8)
|
||||||
|
return input_port_read_safe(space->machine(), "MCUP5A", 0xff);
|
||||||
|
else
|
||||||
|
return input_port_read_safe(space->machine(), "MCUP5B", 0xff);
|
||||||
|
}
|
||||||
|
|
||||||
|
static WRITE8_HANDLER( mcu_port6_w )
|
||||||
|
{
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
static READ8_HANDLER( mcu_port6_r )
|
static READ8_HANDLER( mcu_port6_r )
|
||||||
@ -2583,17 +2549,32 @@ static READ8_HANDLER( mcu_port6_r )
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static WRITE8_HANDLER( mcu_port7_w )
|
||||||
|
{
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
static READ8_HANDLER( mcu_port7_r )
|
static READ8_HANDLER( mcu_port7_r )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// H+L = horizontal, 1 H+L = vertical
|
static WRITE8_HANDLER( propcycle_mcu_port5_w )
|
||||||
|
{
|
||||||
|
// prop cycle outputs:
|
||||||
|
// bit 1 = fan
|
||||||
|
// bit 2 = button light
|
||||||
|
|
||||||
|
output_set_value("fan0", data & 1);
|
||||||
|
set_led_status(space->machine(), 0, data & 2);
|
||||||
|
}
|
||||||
|
|
||||||
static READ8_HANDLER( propcycle_mcu_adc_r )
|
static READ8_HANDLER( propcycle_mcu_adc_r )
|
||||||
{
|
{
|
||||||
|
// H+L = horizontal, 1 H+L = vertical
|
||||||
UINT16 ddx, ddy;
|
UINT16 ddx, ddy;
|
||||||
|
|
||||||
ddx = input_port_read(space->machine(), "STICKX")^0xff;
|
ddx = input_port_read(space->machine(), "STICKX");
|
||||||
if (ddx > 0) ddx -= 1;
|
if (ddx > 0) ddx -= 1;
|
||||||
ddy = input_port_read(space->machine(), "STICKY");
|
ddy = input_port_read(space->machine(), "STICKY");
|
||||||
if (ddy > 0) ddy -= 1;
|
if (ddy > 0) ddy -= 1;
|
||||||
@ -2633,15 +2614,42 @@ static READ8_HANDLER( propcycle_mcu_adc_r )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0 H+L = swing, 1 H+L = edge
|
static TIMER_CALLBACK( alpine_steplock_callback )
|
||||||
|
{
|
||||||
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
|
state->m_motor_status = param;
|
||||||
|
}
|
||||||
|
|
||||||
|
static WRITE8_HANDLER( alpine_mcu_port5_w )
|
||||||
|
{
|
||||||
|
namcos22_state *state = space->machine().driver_data<namcos22_state>();
|
||||||
|
|
||||||
|
// bits 1+2 are steplock motor outputs
|
||||||
|
if ((data & 6) == 6)
|
||||||
|
{
|
||||||
|
if (state->m_motor_status == 2)
|
||||||
|
{
|
||||||
|
// free steps
|
||||||
|
state->m_motor_status = 0;
|
||||||
|
state->m_motor_timer->adjust(attotime::from_msec(500), 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (data & 4)
|
||||||
|
{
|
||||||
|
if (state->m_motor_status == 1)
|
||||||
|
{
|
||||||
|
// lock steps
|
||||||
|
state->m_motor_status = 0;
|
||||||
|
state->m_motor_timer->adjust(attotime::from_msec(500), 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static READ8_HANDLER( alpineracer_mcu_adc_r )
|
static READ8_HANDLER( alpineracer_mcu_adc_r )
|
||||||
{
|
{
|
||||||
UINT16 swing = (0xff - input_port_read(space->machine(), "SWING"))<<2;
|
// 0 H+L = swing, 1 H+L = edge
|
||||||
UINT16 edge = (0xff - input_port_read(space->machine(), "EDGE"))<<2;
|
UINT16 swing = input_port_read(space->machine(), "SWING")<<2;
|
||||||
|
UINT16 edge = input_port_read(space->machine(), "EDGE" )<<2;
|
||||||
// fake out the centering a bit
|
|
||||||
if (input_port_read(space->machine(), "SWING") == 0x80) swing = 0x200;
|
|
||||||
if (input_port_read(space->machine(), "EDGE") == 0x80) edge = 0x200;
|
|
||||||
|
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
@ -2812,8 +2820,8 @@ static READ8_HANDLER( airco22_mcu_adc_r )
|
|||||||
static ADDRESS_MAP_START( mcu_io, AS_IO, 8 )
|
static ADDRESS_MAP_START( mcu_io, AS_IO, 8 )
|
||||||
AM_RANGE(M37710_PORT4, M37710_PORT4) AM_READ( mcu_port4_r ) AM_WRITE( mcu_port4_w )
|
AM_RANGE(M37710_PORT4, M37710_PORT4) AM_READ( mcu_port4_r ) AM_WRITE( mcu_port4_w )
|
||||||
AM_RANGE(M37710_PORT5, M37710_PORT5) AM_READ( mcu_port5_r ) AM_WRITE( mcu_port5_w )
|
AM_RANGE(M37710_PORT5, M37710_PORT5) AM_READ( mcu_port5_r ) AM_WRITE( mcu_port5_w )
|
||||||
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READ( mcu_port6_r ) AM_WRITENOP
|
AM_RANGE(M37710_PORT6, M37710_PORT6) AM_READ( mcu_port6_r ) AM_WRITE( mcu_port6_w )
|
||||||
AM_RANGE(M37710_PORT7, M37710_PORT7) AM_READ( mcu_port7_r )
|
AM_RANGE(M37710_PORT7, M37710_PORT7) AM_READ( mcu_port7_r ) AM_WRITE( mcu_port7_w )
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static READ8_HANDLER( mcu_port4_s22_r )
|
static READ8_HANDLER( mcu_port4_s22_r )
|
||||||
@ -3603,12 +3611,12 @@ ROM_START( alpinesa )
|
|||||||
ROM_REGION( 0x200000*2, "sprite", 0 ) /* 32x32x8bpp sprite tiles */
|
ROM_REGION( 0x200000*2, "sprite", 0 ) /* 32x32x8bpp sprite tiles */
|
||||||
ROM_LOAD( "af1scg0b.12f", 0x000000, 0x200000, CRC(46a6222a) SHA1(5322ef60690625b9b8dbe1cfe0c49dcd9c8b1a4c) )
|
ROM_LOAD( "af1scg0b.12f", 0x000000, 0x200000, CRC(46a6222a) SHA1(5322ef60690625b9b8dbe1cfe0c49dcd9c8b1a4c) )
|
||||||
|
|
||||||
ROM_REGION( 0xa00000, "textile", 0) /* 16x16x8bpp texture tiles */
|
ROM_REGION( 0x200000*5, "textile", 0) /* 16x16x8bpp texture tiles */
|
||||||
ROM_LOAD( "af1cg0.8d", 0x000000, 0x200000, CRC(7423f3ff) SHA1(6a2fd44823ef46111deb57d328b1b75cc355d413) )
|
ROM_LOAD( "af1cg0.8d", 0x200000*0, 0x200000, CRC(7423f3ff) SHA1(6a2fd44823ef46111deb57d328b1b75cc355d413) )
|
||||||
ROM_LOAD( "af1cg1.10d", 0x200000, 0x200000, CRC(ea76689a) SHA1(73dd3af737a3e9903abe5ed9c9ae7eded51d8350) )
|
ROM_LOAD( "af1cg1.10d", 0x200000*1, 0x200000, CRC(ea76689a) SHA1(73dd3af737a3e9903abe5ed9c9ae7eded51d8350) )
|
||||||
ROM_LOAD( "af1cg2.12d", 0x400000, 0x200000, CRC(2a38943a) SHA1(15d737996f49bf6374ef6191bbfbe0298d398378) )
|
ROM_LOAD( "af1cg2.12d", 0x200000*2, 0x200000, CRC(2a38943a) SHA1(15d737996f49bf6374ef6191bbfbe0298d398378) )
|
||||||
ROM_LOAD( "af1cg3.13d", 0x600000, 0x200000, CRC(7f5a3e0f) SHA1(241f9995323b28df23d20a75e1f43ce6e05434cd) )
|
ROM_LOAD( "af1cg3.13d", 0x200000*3, 0x200000, CRC(7f5a3e0f) SHA1(241f9995323b28df23d20a75e1f43ce6e05434cd) )
|
||||||
ROM_LOAD( "af1cg4.14d", 0x800000, 0x200000, CRC(a5ee13e2) SHA1(48fd3c912690f21cbbc2a39bed0a82be41a0d011) )
|
ROM_LOAD( "af1cg4.14d", 0x200000*4, 0x200000, CRC(a5ee13e2) SHA1(48fd3c912690f21cbbc2a39bed0a82be41a0d011) )
|
||||||
|
|
||||||
ROM_REGION16_LE( 0x280000, "textilemap", 0 ) /* texture tilemap */
|
ROM_REGION16_LE( 0x280000, "textilemap", 0 ) /* texture tilemap */
|
||||||
ROM_LOAD( "af1ccrl.3d", 0x000000, 0x200000, CRC(6c054698) SHA1(8537607646b183883c5aa4060fb0af640da4af87) )
|
ROM_LOAD( "af1ccrl.3d", 0x000000, 0x200000, CRC(6c054698) SHA1(8537607646b183883c5aa4060fb0af640da4af87) )
|
||||||
@ -4721,7 +4729,7 @@ ROM_START( dirtdash )
|
|||||||
|
|
||||||
ROM_REGION( 0x1000000, "c352", 0 ) /* sound samples */
|
ROM_REGION( 0x1000000, "c352", 0 ) /* sound samples */
|
||||||
ROM_LOAD( "dt1wavea.2l", 0x000000, 0x400000, CRC(cbd52e40) SHA1(dc995dd919548c96a90efb0375e5b5f1055e05cb) )
|
ROM_LOAD( "dt1wavea.2l", 0x000000, 0x400000, CRC(cbd52e40) SHA1(dc995dd919548c96a90efb0375e5b5f1055e05cb) )
|
||||||
ROM_LOAD( "dt1waveb.1l", 0x400000, 0x400000, CRC(6b736f94) SHA1(ac3715480aa9a9c2dec099607f89859bb3b73a6a) )
|
ROM_LOAD( "dt1waveb.1l", 0x800000, 0x400000, CRC(6b736f94) SHA1(ac3715480aa9a9c2dec099607f89859bb3b73a6a) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( aquajet )
|
ROM_START( aquajet )
|
||||||
@ -4782,6 +4790,12 @@ ROM_END
|
|||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
|
|
||||||
|
static CUSTOM_INPUT( alpine_motor_read )
|
||||||
|
{
|
||||||
|
namcos22_state *state = field.machine().driver_data<namcos22_state>();
|
||||||
|
return state->m_motor_status >> (FPTR)param & 1;
|
||||||
|
}
|
||||||
|
|
||||||
static INPUT_PORTS_START( alpiner )
|
static INPUT_PORTS_START( alpiner )
|
||||||
PORT_START("DSW0")
|
PORT_START("DSW0")
|
||||||
PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
|
PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
|
||||||
@ -4811,71 +4825,49 @@ static INPUT_PORTS_START( alpiner )
|
|||||||
|
|
||||||
PORT_START("MCUP5A")
|
PORT_START("MCUP5A")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||||
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
|
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* DECISION */
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Decision / View Change")
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* L SELECTION */
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("L Selection")
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* R SELECTION */
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("R Selection")
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM(alpine_motor_read, (void *)0) // steps are free
|
||||||
|
|
||||||
PORT_START("SWING") /* SWING */
|
PORT_START("SWING")
|
||||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
|
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_NAME("Steps Swing")
|
||||||
|
|
||||||
PORT_START("EDGE") /* EDGE */
|
PORT_START("EDGE")
|
||||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
|
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_NAME("Steps Edge")
|
||||||
|
|
||||||
PORT_START("MCUP5B")
|
PORT_START("MCUP5B")
|
||||||
PORT_DIPNAME( 0x01, 0x01, "DIP5-1" )
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_SPECIAL ) PORT_CUSTOM(alpine_motor_read, (void *)1) // steps are locked
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x02, 0x02, "DIP5-2" )
|
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x04, 0x04, "DIP5-3" )
|
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x08, 0x08, "DIP5-4" )
|
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x10, 0x10, "DIP5-5" )
|
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x20, 0x20, "DIP5-6" )
|
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x40, 0x40, "DIP5-7" )
|
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
PORT_DIPNAME( 0x80, 0x80, "DIP5-8" )
|
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
|
||||||
INPUT_PORTS_END /* Alpine Racer */
|
INPUT_PORTS_END /* Alpine Racer */
|
||||||
|
|
||||||
static INPUT_PORTS_START( airco22 )
|
static INPUT_PORTS_START( airco22 )
|
||||||
PORT_START("DSW0")
|
PORT_START("DSW0")
|
||||||
PORT_DIPNAME( 0x01, 0x01, "DIP1" )
|
PORT_DIPNAME( 0x01, 0x01, "DIP4-1" )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x02, "DIP2" )
|
PORT_DIPNAME( 0x02, 0x02, "DIP4-2" )
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x04, 0x04, "DIP3" )
|
PORT_DIPNAME( 0x04, 0x04, "DIP4-3" )
|
||||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x08, 0x08, "DIP4" )
|
PORT_DIPNAME( 0x08, 0x08, "DIP4-4" )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x10, 0x10, "DIP5" )
|
PORT_DIPNAME( 0x10, 0x10, "DIP4-5" )
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x20, 0x20, "DIP6" )
|
PORT_DIPNAME( 0x20, 0x20, "DIP4-6" )
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x40, 0x40, "DIP7" )
|
PORT_DIPNAME( 0x40, 0x40, "DIP4-7" )
|
||||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x80, 0x80, "DIP8" )
|
PORT_DIPNAME( 0x80, 0x80, "DIP4-8" )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
|
|
||||||
@ -4890,18 +4882,16 @@ static INPUT_PORTS_START( airco22 )
|
|||||||
|
|
||||||
PORT_START("MCUP5A")
|
PORT_START("MCUP5A")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 )
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
// PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||||
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
|
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* Missile */
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* Missile */
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Gun */
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Gun */
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START )
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START )
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
// PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
|
||||||
|
|
||||||
PORT_START("MCUP5B")
|
PORT_START("MCUP5B")
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_BUTTON3 )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
INPUT_PORTS_END /* Air Combat22 */
|
INPUT_PORTS_END /* Air Combat22 */
|
||||||
|
|
||||||
static INPUT_PORTS_START( cybrcycc )
|
static INPUT_PORTS_START( cybrcycc )
|
||||||
@ -5119,7 +5109,7 @@ static INPUT_PORTS_START( propcycl )
|
|||||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
|
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
|
||||||
|
|
||||||
PORT_START("STICKX")
|
PORT_START("STICKX")
|
||||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE
|
||||||
|
|
||||||
PORT_START("STICKY")
|
PORT_START("STICKY")
|
||||||
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
|
||||||
@ -5136,13 +5126,7 @@ static INPUT_PORTS_START( propcycl )
|
|||||||
|
|
||||||
PORT_START("MCUP5B")
|
PORT_START("MCUP5B")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
|
||||||
INPUT_PORTS_END /* Prop Cycle */
|
INPUT_PORTS_END /* Prop Cycle */
|
||||||
|
|
||||||
static INPUT_PORTS_START( timecris )
|
static INPUT_PORTS_START( timecris )
|
||||||
@ -5243,13 +5227,13 @@ static INPUT_PORTS_START( cybrcomm )
|
|||||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("INPUTS")
|
PORT_START("INPUTS")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* SHOOT */
|
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gun Trigger") // placed on both sticks
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* MISSLE */
|
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Missile Button") // placed on both sticks
|
||||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) /* VIEW */
|
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("View Change")
|
||||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
|
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||||
@ -5538,23 +5522,39 @@ static void install_141_speedup(running_machine &machine)
|
|||||||
static void namcos22_init( running_machine &machine, int game_type )
|
static void namcos22_init( running_machine &machine, int game_type )
|
||||||
{
|
{
|
||||||
namcos22_state *state = machine.driver_data<namcos22_state>();
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
|
|
||||||
state->m_gametype = game_type;
|
state->m_gametype = game_type;
|
||||||
state->m_keycus_id = 0;
|
state->m_keycus_id = 0;
|
||||||
|
state->m_su_82 = 0;
|
||||||
|
state->m_p4 = 0;
|
||||||
|
|
||||||
state->m_mpPointRAM = auto_alloc_array(machine, UINT32, 0x20000);
|
state->m_mpPointRAM = auto_alloc_array(machine, UINT32, 0x20000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void namcos22s_init( running_machine &machine, int game_type )
|
static void namcos22s_init( running_machine &machine, int game_type )
|
||||||
{
|
{
|
||||||
namcos22_init(machine, game_type);
|
namcos22_init(machine, game_type);
|
||||||
|
|
||||||
mSpotRAM.RAM = auto_alloc_array(machine, UINT16, SPOTRAM_SIZE);
|
mSpotRAM.RAM = auto_alloc_array(machine, UINT16, SPOTRAM_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void alpine_init_common( running_machine &machine, int game_type )
|
||||||
|
{
|
||||||
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
|
namcos22s_init(machine, game_type);
|
||||||
|
|
||||||
|
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(alpineracer_mcu_adc_r));
|
||||||
|
machine.device("mcu")->memory().space(AS_IO)->install_legacy_write_handler(M37710_PORT5, M37710_PORT5, FUNC(alpine_mcu_port5_w));
|
||||||
|
|
||||||
|
state->m_motor_timer = machine.scheduler().timer_alloc(FUNC(alpine_steplock_callback));
|
||||||
|
state->m_motor_timer->reset();
|
||||||
|
state->m_motor_status = 2;
|
||||||
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( alpiner )
|
static DRIVER_INIT( alpiner )
|
||||||
{
|
{
|
||||||
namcos22_state *state = machine.driver_data<namcos22_state>();
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
namcos22s_init(machine, NAMCOS22_ALPINE_RACER);
|
alpine_init_common(machine, NAMCOS22_ALPINE_RACER);
|
||||||
|
|
||||||
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(alpineracer_mcu_adc_r));
|
|
||||||
|
|
||||||
install_130_speedup(machine);
|
install_130_speedup(machine);
|
||||||
|
|
||||||
@ -5564,9 +5564,7 @@ static DRIVER_INIT( alpiner )
|
|||||||
static DRIVER_INIT( alpiner2 )
|
static DRIVER_INIT( alpiner2 )
|
||||||
{
|
{
|
||||||
namcos22_state *state = machine.driver_data<namcos22_state>();
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
namcos22s_init(machine, NAMCOS22_ALPINE_RACER_2);
|
alpine_init_common(machine, NAMCOS22_ALPINE_RACER_2);
|
||||||
|
|
||||||
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(alpineracer_mcu_adc_r));
|
|
||||||
|
|
||||||
install_130_speedup(machine);
|
install_130_speedup(machine);
|
||||||
|
|
||||||
@ -5576,13 +5574,10 @@ static DRIVER_INIT( alpiner2 )
|
|||||||
static DRIVER_INIT( alpinesa )
|
static DRIVER_INIT( alpinesa )
|
||||||
{
|
{
|
||||||
namcos22_state *state = machine.driver_data<namcos22_state>();
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
namcos22s_init(machine, NAMCOS22_ALPINE_SURFER);
|
alpine_init_common(machine, NAMCOS22_ALPINE_SURFER);
|
||||||
|
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x200000, 0x200003, FUNC(alpinesa_prot_r));
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x200000, 0x200003, FUNC(alpinesa_prot_r));
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x300000, 0x300003, FUNC(alpinesa_prot_w));
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x300000, 0x300003, FUNC(alpinesa_prot_w));
|
||||||
|
|
||||||
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(alpineracer_mcu_adc_r));
|
|
||||||
|
|
||||||
install_141_speedup(machine);
|
install_141_speedup(machine);
|
||||||
|
|
||||||
state->m_keycus_id = 0x01a9;
|
state->m_keycus_id = 0x01a9;
|
||||||
@ -5617,7 +5612,7 @@ static DRIVER_INIT( propcycl )
|
|||||||
namcos22s_init(machine, NAMCOS22_PROP_CYCLE);
|
namcos22s_init(machine, NAMCOS22_PROP_CYCLE);
|
||||||
|
|
||||||
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(propcycle_mcu_adc_r));
|
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(propcycle_mcu_adc_r));
|
||||||
|
machine.device("mcu")->memory().space(AS_IO)->install_legacy_write_handler(M37710_PORT5, M37710_PORT5, FUNC(propcycle_mcu_port5_w));
|
||||||
install_141_speedup(machine);
|
install_141_speedup(machine);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5683,13 +5678,6 @@ static DRIVER_INIT( raveracw )
|
|||||||
static DRIVER_INIT( cybrcomm )
|
static DRIVER_INIT( cybrcomm )
|
||||||
{
|
{
|
||||||
namcos22_state *state = machine.driver_data<namcos22_state>();
|
namcos22_state *state = machine.driver_data<namcos22_state>();
|
||||||
UINT32 *pROM = (UINT32 *)machine.region("maincpu")->base();
|
|
||||||
pROM[0x18ade8/4] = 0x4e714e71;
|
|
||||||
pROM[0x18ae38/4] = 0x4e714e71;
|
|
||||||
pROM[0x18ae80/4] = 0x4e714e71;
|
|
||||||
pROM[0x18aec8/4] = 0x4e714e71;
|
|
||||||
pROM[0x18aefc/4] = 0x4e714e71;
|
|
||||||
|
|
||||||
namcos22_init(machine, NAMCOS22_CYBER_COMMANDO);
|
namcos22_init(machine, NAMCOS22_CYBER_COMMANDO);
|
||||||
|
|
||||||
install_c74_speedup(machine);
|
install_c74_speedup(machine);
|
||||||
@ -5711,7 +5699,6 @@ static DRIVER_INIT( cybrcyc )
|
|||||||
namcos22s_init(machine, NAMCOS22_CYBER_CYCLES);
|
namcos22s_init(machine, NAMCOS22_CYBER_CYCLES);
|
||||||
|
|
||||||
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(cybrcycc_mcu_adc_r));
|
machine.device("mcu")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC0_L, M37710_ADC7_H, FUNC(cybrcycc_mcu_adc_r));
|
||||||
|
|
||||||
install_130_speedup(machine);
|
install_130_speedup(machine);
|
||||||
|
|
||||||
state->m_keycus_id = 0x0387;
|
state->m_keycus_id = 0x0387;
|
||||||
@ -5755,33 +5742,33 @@ static DRIVER_INIT( dirtdash )
|
|||||||
|
|
||||||
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
|
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
|
||||||
/* System22 games */
|
/* System22 games */
|
||||||
GAME( 1995, cybrcomm, 0, namcos22, cybrcomm, cybrcomm, ROT0, "Namco", "Cyber Commando (Rev. CY1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING )
|
|
||||||
GAME( 1995, raveracw, 0, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
|
|
||||||
GAME( 1995, raveracj, raveracw, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
|
|
||||||
GAME( 1995, raveracja, raveracw, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 06/29/95
|
|
||||||
GAME( 1993, ridgerac, 0, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR3, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-01-17
|
GAME( 1993, ridgerac, 0, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR3, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-01-17
|
||||||
GAME( 1993, ridgerac3, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (3 Screen? Rev. RR2 Ver.B, World)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-28, no indication that this really is a 3-screen version.
|
GAME( 1993, ridgerac3, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2 Ver.B, World, 3-screen?)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-28, no indication that this really is a 3-screen version.
|
||||||
GAME( 1993, ridgeracb, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
|
GAME( 1993, ridgeracb, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
|
||||||
GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
|
GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
|
||||||
GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf,ridgeraj, ROT0, "Namco", "Ridge Racer Full Scale (World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
|
GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf,ridgeraj, ROT0, "Namco", "Ridge Racer Full Scale (World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
|
||||||
GAME( 1994, ridgera2, 0, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
|
GAME( 1994, ridgera2, 0, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
|
||||||
GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
|
GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
|
||||||
GAME( 1994, ridgera2ja,ridgera2, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-13
|
GAME( 1994, ridgera2ja,ridgera2, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-13
|
||||||
GAME( 1994, acedrvrw, 0, namcos22, acedrvr, acedrvr, ROT0, "Namco", "Ace Driver (Rev. AD2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1994, cybrcomm, 0, namcos22, cybrcomm, cybrcomm, ROT0, "Namco", "Cyber Commando (Rev. CY1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 10/14/94
|
||||||
GAME( 1996, victlapw, 0, namcos22, acedrvr, victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Rev. ADV2, World)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1995, raveracw, 0, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
|
||||||
|
GAME( 1995, raveracj, raveracw, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
|
||||||
|
GAME( 1995, raveracja, raveracw, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 06/29/95
|
||||||
|
GAME( 1994, acedrvrw, 0, namcos22, acedrvr, acedrvr, ROT0, "Namco", "Ace Driver (Rev. AD2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 94/10/20 16:22:25
|
||||||
|
GAME( 1996, victlapw, 0, namcos22, acedrvr, victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Rev. ADV2, World)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/02/13 17:50:06
|
||||||
|
|
||||||
/* Super System22 games */
|
/* Super System22 games */
|
||||||
GAME( 1995, airco22b, 0, namcos22s, airco22, airco22, ROT0, "Namco", "Air Combat 22 (Rev. ACS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) /* boots but missing sprite clear DMA? */
|
GAME( 1994, alpinerd, 0, namcos22s, alpiner, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.D)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
||||||
GAME( 1995, alpinerd, 0, namcos22s, alpiner, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.D)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1994, alpinerc, alpinerd, namcos22s, alpiner, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
||||||
GAME( 1995, alpinerc, alpinerd, namcos22s, alpiner, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1995, airco22b, 0, namcos22s, airco22, airco22, ROT0, "Namco", "Air Combat 22 (Rev. ACS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // boots but missing sprite clear DMA?
|
||||||
GAME( 1995, cybrcycc, 0, namcos22s, cybrcycc, cybrcyc, ROT0, "Namco", "Cyber Cycles (Rev. CB2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1995, cybrcycc, 0, namcos22s, cybrcycc, cybrcyc, ROT0, "Namco", "Cyber Cycles (Rev. CB2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
||||||
GAME( 1995, dirtdash, 0, namcos22s, dirtdash, dirtdash, ROT0, "Namco", "Dirt Dash (Rev. DT2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING )
|
GAME( 1995, dirtdash, 0, namcos22s, dirtdash, dirtdash, ROT0, "Namco", "Dirt Dash (Rev. DT2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 95/12/20 20:01:56
|
||||||
GAME( 1995, timecris, 0, namcos22s, timecris, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1995, timecris, 0, namcos22s, timecris, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/04/02 18:48:00
|
||||||
GAME( 1995, timecrisa,timecris, namcos22s, timecris, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1995, timecrisa,timecris, namcos22s, timecris, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/01/08 18:56:09
|
||||||
GAME( 1996, alpinr2b, 0, namcos22s, alpiner, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1996, propcycl, 0, namcos22s, propcycl, propcycl, ROT0, "Namco", "Prop Cycle (Rev. PR2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/06/18 21:22:13
|
||||||
GAME( 1996, alpinr2a, alpinr2b, namcos22s, alpiner, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) /* issues with step lock */
|
GAME( 1996, alpinesa, 0, namcos22s, alpiner, alpinesa, ROT0, "Namco", "Alpine Surfer (Rev. AF2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/07/01 15:19:23
|
||||||
GAME( 1996, alpinesa, 0, namcos22s, alpiner, alpinesa, ROT0, "Namco", "Alpine Surfer (Rev. AF2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1996, tokyowar, 0, namcos22s, tokyowar, tokyowar, ROT0, "Namco", "Tokyo Wars (Rev. TW2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 96/09/03 14:08:47, missing sprite clear DMA? or protection?
|
||||||
GAME( 1996, propcycl, 0, namcos22s, propcycl, propcycl, ROT0, "Namco", "Prop Cycle (Rev. PR2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1996, aquajet, 0, namcos22s, aquajet, aquajet, ROT0, "Namco", "Aqua Jet (Rev. AJ2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/09/20 14:28:30
|
||||||
GAME( 1996, tokyowar, 0, namcos22s, tokyowar, tokyowar, ROT0, "Namco", "Tokyo Wars (Rev. TW2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) /* missing sprite clear DMA? or protection? */
|
GAME( 1996, alpinr2b, 0, namcos22s, alpiner, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 97/01/10 17:10:59
|
||||||
GAME( 1996, aquajet, 0, namcos22s, aquajet, aquajet, ROT0, "Namco", "Aqua Jet (Rev. AJ2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
|
GAME( 1996, alpinr2a, alpinr2b, namcos22s, alpiner, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/12/06 13:45:05
|
||||||
//GAME( 1997, armdilox, "Armadillo Racing")
|
//GAME( 1997, armdilox, "Armadillo Racing")
|
||||||
|
@ -64,6 +64,8 @@ public:
|
|||||||
int m_mDspUploadState;
|
int m_mDspUploadState;
|
||||||
int m_mUploadDestIdx;
|
int m_mUploadDestIdx;
|
||||||
UINT32 m_mAlpineSurferProtData;
|
UINT32 m_mAlpineSurferProtData;
|
||||||
|
int m_motor_status;
|
||||||
|
emu_timer *m_motor_timer;
|
||||||
int m_p4;
|
int m_p4;
|
||||||
UINT16 m_su_82;
|
UINT16 m_su_82;
|
||||||
UINT16 m_keycus_id;
|
UINT16 m_keycus_id;
|
||||||
|
Loading…
Reference in New Issue
Block a user