mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
Created devices for each type of PlayStation CPU
This commit is contained in:
parent
37c0ed3fad
commit
610a53ae78
@ -157,8 +157,12 @@ static const char *const delayn[] =
|
||||
};
|
||||
|
||||
// device type definition
|
||||
const device_type PSXCPU = &device_creator<psxcpu_device>;
|
||||
const device_type CXD8530AQ = &device_creator<cxd8530aq_device>;
|
||||
const device_type CXD8530BQ = &device_creator<cxd8530bq_device>;
|
||||
const device_type CXD8530CQ = &device_creator<cxd8530cq_device>;
|
||||
const device_type CXD8661R = &device_creator<cxd8661r_device>;
|
||||
const device_type CXD8606BQ = &device_creator<cxd8606bq_device>;
|
||||
const device_type CXD8606CQ = &device_creator<cxd8606cq_device>;
|
||||
|
||||
static const UINT32 mtc0_writemask[]=
|
||||
{
|
||||
@ -1559,9 +1563,18 @@ psxcpu_device::psxcpu_device(const machine_config &mconfig, device_type type, co
|
||||
{
|
||||
}
|
||||
|
||||
psxcpu_device::psxcpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: cpu_device(mconfig, PSXCPU, "PSXCPU", tag, owner, clock),
|
||||
m_program_config("program", ENDIANNESS_LITTLE, 32, 32, 0, ADDRESS_MAP_NAME(psxcpu_internal_map))
|
||||
cxd8530aq_device::cxd8530aq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: psxcpu_device(mconfig, CXD8661R, "CXD8530AQ", tag, owner, clock, ADDRESS_MAP_NAME(psxcpu_internal_map))
|
||||
{
|
||||
}
|
||||
|
||||
cxd8530bq_device::cxd8530bq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: psxcpu_device(mconfig, CXD8661R, "CXD8530BQ", tag, owner, clock, ADDRESS_MAP_NAME(psxcpu_internal_map))
|
||||
{
|
||||
}
|
||||
|
||||
cxd8530cq_device::cxd8530cq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: psxcpu_device(mconfig, CXD8661R, "CXD8530CQ", tag, owner, clock, ADDRESS_MAP_NAME(psxcpu_internal_map))
|
||||
{
|
||||
}
|
||||
|
||||
@ -1570,6 +1583,15 @@ cxd8661r_device::cxd8661r_device(const machine_config &mconfig, const char *tag,
|
||||
{
|
||||
}
|
||||
|
||||
cxd8606bq_device::cxd8606bq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: psxcpu_device(mconfig, CXD8606BQ, "CXD8606BQ", tag, owner, clock, ADDRESS_MAP_NAME(cxd8661r_internal_map))
|
||||
{
|
||||
}
|
||||
|
||||
cxd8606cq_device::cxd8606cq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: psxcpu_device(mconfig, CXD8606CQ, "CXD8606CQ", tag, owner, clock, ADDRESS_MAP_NAME(cxd8661r_internal_map))
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - start up the device
|
||||
|
@ -266,6 +266,27 @@ protected:
|
||||
void docop2( int gteop );
|
||||
};
|
||||
|
||||
class cxd8530aq_device : public psxcpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cxd8530aq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
class cxd8530bq_device : public psxcpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cxd8530bq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
class cxd8530cq_device : public psxcpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cxd8530cq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
class cxd8661r_device : public psxcpu_device
|
||||
{
|
||||
public:
|
||||
@ -273,9 +294,27 @@ public:
|
||||
cxd8661r_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
class cxd8606bq_device : public psxcpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cxd8606bq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
class cxd8606cq_device : public psxcpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
cxd8606cq_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
extern const device_type PSXCPU;
|
||||
extern const device_type CXD8530AQ;
|
||||
extern const device_type CXD8530BQ;
|
||||
extern const device_type CXD8530CQ;
|
||||
extern const device_type CXD8661R;
|
||||
extern const device_type CXD8606BQ;
|
||||
extern const device_type CXD8606CQ;
|
||||
|
||||
|
||||
|
||||
|
@ -382,7 +382,7 @@ static MACHINE_RESET( konamigq )
|
||||
|
||||
static MACHINE_CONFIG_START( konamigq, konamigq_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530BQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( konamigq_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", psx_vblank)
|
||||
|
||||
|
@ -341,7 +341,7 @@ static void spu_irq(device_t *device, UINT32 data)
|
||||
|
||||
static MACHINE_CONFIG_START( konamigv, konamigv_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530BQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( konamigv_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", psx_vblank)
|
||||
|
||||
|
@ -2978,7 +2978,7 @@ static const adc083x_interface konami573_adc_interface = {
|
||||
|
||||
static MACHINE_CONFIG_START( konami573, ksys573_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530CQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( konami573_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", sys573_vblank)
|
||||
|
||||
|
@ -481,7 +481,7 @@ static MACHINE_RESET( namcos10 )
|
||||
|
||||
static MACHINE_CONFIG_START( namcos10, namcos10_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", CXD8661R, XTAL_101_4912MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8606BQ, XTAL_101_4912MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( namcos10_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", psx_vblank)
|
||||
|
||||
|
@ -999,8 +999,8 @@ static MACHINE_RESET( namcos11 )
|
||||
|
||||
static MACHINE_CONFIG_START( coh100, namcos11_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( namcos11_map)
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530AQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( namcos11_map )
|
||||
MCFG_CPU_VBLANK_INT("screen", namcos11_vblank)
|
||||
|
||||
MCFG_CPU_ADD("c76", M37702, 16384000)
|
||||
@ -1035,6 +1035,10 @@ static MACHINE_CONFIG_START( coh100, namcos11_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( coh110, coh100 )
|
||||
MCFG_CPU_REPLACE( "maincpu", CXD8530CQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( namcos11_map )
|
||||
MCFG_CPU_VBLANK_INT("screen", namcos11_vblank)
|
||||
|
||||
MCFG_VIDEO_START( psx_type2 )
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
|
@ -970,7 +970,7 @@ static void spu_irq(device_t *device, UINT32 data)
|
||||
|
||||
static MACHINE_CONFIG_START( coh3002t, taitogn_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_100MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8661R, XTAL_100MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( zn_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", psx_vblank)
|
||||
|
||||
|
@ -919,7 +919,7 @@ static const i2cmem_interface i2cmem_interface =
|
||||
|
||||
static MACHINE_CONFIG_START( twinkle, twinkle_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530CQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( main_map )
|
||||
MCFG_CPU_VBLANK_INT( "mainscreen", psx_vblank )
|
||||
|
||||
|
@ -503,7 +503,7 @@ static void zn_machine_init( running_machine &machine )
|
||||
|
||||
static MACHINE_CONFIG_START( zn1_1mb_vram, zn_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530CQ, XTAL_67_7376MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( zn_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", psx_vblank)
|
||||
|
||||
@ -539,7 +539,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( zn2, zn_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", PSXCPU, XTAL_100MHz )
|
||||
MCFG_CPU_ADD( "maincpu", CXD8661R, XTAL_100MHz )
|
||||
MCFG_CPU_PROGRAM_MAP( zn_map)
|
||||
MCFG_CPU_VBLANK_INT("screen", psx_vblank)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user