I'm putting the speedup hack back in, team opinions of it being enabled or disabled are waaay too divided: tickling angrybones is no good for teamspirit, sorry bout that!
This commit is contained in:
parent
9bca7c1dc5
commit
02eb738c31
@ -273,6 +273,7 @@ Notes:
|
|||||||
#include "machine/at28c16.h"
|
#include "machine/at28c16.h"
|
||||||
#include "sound/c352.h"
|
#include "sound/c352.h"
|
||||||
|
|
||||||
|
#define C76_SPEEDUP ( 1 ) /* sound cpu idle skipping */
|
||||||
#define VERBOSE_LEVEL ( 0 )
|
#define VERBOSE_LEVEL ( 0 )
|
||||||
|
|
||||||
class namcos11_state : public psx_state
|
class namcos11_state : public psx_state
|
||||||
@ -284,6 +285,7 @@ public:
|
|||||||
UINT32 *m_sharedram;
|
UINT32 *m_sharedram;
|
||||||
UINT32 *m_keycus;
|
UINT32 *m_keycus;
|
||||||
size_t m_keycus_size;
|
size_t m_keycus_size;
|
||||||
|
UINT8 m_su_83;
|
||||||
|
|
||||||
UINT32 m_n_bankoffset;
|
UINT32 m_n_bankoffset;
|
||||||
};
|
};
|
||||||
@ -826,12 +828,37 @@ static INTERRUPT_GEN( c76_interrupt )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static READ16_HANDLER( c76_speedup_r )
|
||||||
|
{
|
||||||
|
namcos11_state *state = space->machine().driver_data<namcos11_state>();
|
||||||
|
|
||||||
static void namcos11_init_common(running_machine &machine, int n_daughterboard)
|
if ((cpu_get_pc(&space->device()) == 0xc153) && (!(state->m_su_83 & 0xff00)))
|
||||||
|
{
|
||||||
|
device_spin_until_interrupt(&space->device());
|
||||||
|
}
|
||||||
|
|
||||||
|
return state->m_su_83;
|
||||||
|
}
|
||||||
|
|
||||||
|
static WRITE16_HANDLER( c76_speedup_w )
|
||||||
|
{
|
||||||
|
namcos11_state *state = space->machine().driver_data<namcos11_state>();
|
||||||
|
|
||||||
|
COMBINE_DATA(&state->m_su_83);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void namcos11_init_common(running_machine &machine, int n_daughterboard, int c76_speedup)
|
||||||
{
|
{
|
||||||
namcos11_state *state = machine.driver_data<namcos11_state>();
|
namcos11_state *state = machine.driver_data<namcos11_state>();
|
||||||
psx_driver_init(machine);
|
psx_driver_init(machine);
|
||||||
|
|
||||||
|
// C76 idle skipping, large speedboost
|
||||||
|
if (c76_speedup && C76_SPEEDUP)
|
||||||
|
{
|
||||||
|
state->save_item( NAME(state->m_su_83) );
|
||||||
|
machine.device("c76")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x82, 0x83, FUNC(c76_speedup_r), FUNC(c76_speedup_w));
|
||||||
|
}
|
||||||
|
|
||||||
if (!n_daughterboard)
|
if (!n_daughterboard)
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x1fa10020, 0x1fa1002f);
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->nop_write(0x1fa10020, 0x1fa1002f);
|
||||||
@ -874,43 +901,43 @@ static void namcos11_init_common(running_machine &machine, int n_daughterboard)
|
|||||||
|
|
||||||
static DRIVER_INIT( tekken )
|
static DRIVER_INIT( tekken )
|
||||||
{
|
{
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( tekken2 )
|
static DRIVER_INIT( tekken2 )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c406_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c406_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( souledge )
|
static DRIVER_INIT( souledge )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c409_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c409_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( dunkmnia )
|
static DRIVER_INIT( dunkmnia )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c410_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c410_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( primglex )
|
static DRIVER_INIT( primglex )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c411_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c411_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( xevi3dg )
|
static DRIVER_INIT( xevi3dg )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c430_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c430_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( danceyes )
|
static DRIVER_INIT( danceyes )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c431_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c431_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( pocketrc )
|
static DRIVER_INIT( pocketrc )
|
||||||
@ -919,25 +946,25 @@ static DRIVER_INIT( pocketrc )
|
|||||||
machine.device("c76")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC1_L, M37710_ADC1_L, FUNC(pocketrc_gas_r));
|
machine.device("c76")->memory().space(AS_IO)->install_legacy_read_handler(M37710_ADC1_L, M37710_ADC1_L, FUNC(pocketrc_gas_r));
|
||||||
|
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c432_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c432_r) );
|
||||||
namcos11_init_common(machine, 32);
|
namcos11_init_common(machine, 32, 0); // (speedup hack breaks testmode and analog steering)
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( starswep )
|
static DRIVER_INIT( starswep )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c442_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c442_r) );
|
||||||
namcos11_init_common(machine, 0);
|
namcos11_init_common(machine, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( myangel3 )
|
static DRIVER_INIT( myangel3 )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c443_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c443_r) );
|
||||||
namcos11_init_common(machine, 64);
|
namcos11_init_common(machine, 64, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRIVER_INIT( ptblank2ua )
|
static DRIVER_INIT( ptblank2ua )
|
||||||
{
|
{
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c443_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler( 0x1fa20000, 0x1fa2ffff, FUNC(keycus_c443_r) );
|
||||||
namcos11_init_common(machine, 64);
|
namcos11_init_common(machine, 64, 1);
|
||||||
|
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1f788000, 0x1f788003, FUNC(lightgun_w) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1f788000, 0x1f788003, FUNC(lightgun_w) );
|
||||||
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x1f780000, 0x1f78000f, FUNC(lightgun_r) );
|
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x1f780000, 0x1f78000f, FUNC(lightgun_r) );
|
||||||
|
Loading…
Reference in New Issue
Block a user