diff --git a/src/emu/cpu/psx/psx.c b/src/emu/cpu/psx/psx.c index 494aaa76bce..5eafdbb7e02 100644 --- a/src/emu/cpu/psx/psx.c +++ b/src/emu/cpu/psx/psx.c @@ -157,8 +157,12 @@ static const char *const delayn[] = }; // device type definition -const device_type PSXCPU = &device_creator; +const device_type CXD8530AQ = &device_creator; +const device_type CXD8530BQ = &device_creator; +const device_type CXD8530CQ = &device_creator; const device_type CXD8661R = &device_creator; +const device_type CXD8606BQ = &device_creator; +const device_type CXD8606CQ = &device_creator; 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 diff --git a/src/emu/cpu/psx/psx.h b/src/emu/cpu/psx/psx.h index 2733e7df49b..2817c733322 100644 --- a/src/emu/cpu/psx/psx.h +++ b/src/emu/cpu/psx/psx.h @@ -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; diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c index dceff524d35..751ecfdb599 100644 --- a/src/mame/drivers/konamigq.c +++ b/src/mame/drivers/konamigq.c @@ -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) diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c index d59c00d1fb6..2082026e185 100644 --- a/src/mame/drivers/konamigv.c +++ b/src/mame/drivers/konamigv.c @@ -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) diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c index c8e58e06ee0..a8afca3719d 100644 --- a/src/mame/drivers/ksys573.c +++ b/src/mame/drivers/ksys573.c @@ -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) diff --git a/src/mame/drivers/namcos10.c b/src/mame/drivers/namcos10.c index 4eb7479a61c..a9c74dff666 100644 --- a/src/mame/drivers/namcos10.c +++ b/src/mame/drivers/namcos10.c @@ -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) diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c index d9e171933f2..9850ae60282 100644 --- a/src/mame/drivers/namcos11.c +++ b/src/mame/drivers/namcos11.c @@ -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") diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c index 25337a7534c..027b19aeb88 100644 --- a/src/mame/drivers/taitogn.c +++ b/src/mame/drivers/taitogn.c @@ -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) diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c index 73a3c6bb77f..804f4377d0c 100644 --- a/src/mame/drivers/twinkle.c +++ b/src/mame/drivers/twinkle.c @@ -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 ) diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c index e1830233f37..39447db898a 100644 --- a/src/mame/drivers/zn.c +++ b/src/mame/drivers/zn.c @@ -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)