tidy up PSX IRQ (nw)

This commit is contained in:
smf- 2012-10-25 16:59:20 +00:00
parent c60f93be94
commit 068a3ece82
4 changed files with 6 additions and 18 deletions

View File

@ -3165,12 +3165,6 @@ psxcpu_device *psxcpu_device::getcpu( device_t &device, const char *cputag )
return downcast<psxcpu_device *>( device.subdevice( cputag ) ); return downcast<psxcpu_device *>( device.subdevice( cputag ) );
} }
void psxcpu_device::irq_set( device_t &device, const char *cputag, UINT32 bitmask )
{
psxirq_device *irq = getcpu( device, cputag )->subdevice<psxirq_device>("irq");
irq->set( bitmask );
}
void psxcpu_device::install_sio_handler( device_t &device, const char *cputag, int n_port, psx_sio_handler p_f_sio_handler ) void psxcpu_device::install_sio_handler( device_t &device, const char *cputag, int n_port, psx_sio_handler p_f_sio_handler )
{ {
psxsio_device *sio = getcpu( device, cputag )->subdevice<psxsio_device>("sio"); psxsio_device *sio = getcpu( device, cputag )->subdevice<psxsio_device>("sio");

View File

@ -145,7 +145,6 @@ public:
static psxcpu_device *getcpu( device_t &device, const char *cputag ); static psxcpu_device *getcpu( device_t &device, const char *cputag );
static void install_sio_handler( device_t &device, const char *cputag, int n_port, psx_sio_handler p_f_sio_handler ); static void install_sio_handler( device_t &device, const char *cputag, int n_port, psx_sio_handler p_f_sio_handler );
static void sio_input( device_t &device, const char *cputag, int n_port, int n_mask, int n_data ); static void sio_input( device_t &device, const char *cputag, int n_port, int n_mask, int n_data );
static void irq_set( device_t &device, const char *cputag, UINT32 bitmask );
protected: protected:
psxcpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, address_map_constructor internal_map); psxcpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, address_map_constructor internal_map);

View File

@ -1471,18 +1471,12 @@ Notes:
*2 - Unpopulated DIP28 socket *2 - Unpopulated DIP28 socket
*/ */
/* IRQ */
void psx_irq_set( running_machine &machine, UINT32 data )
{
psxcpu_device::irq_set( *machine.device("maincpu^"), "maincpu", data );
}
static void atpsx_interrupt(device_t *device, int state) static void atpsx_interrupt(device_t *device, int state)
{ {
if (state) if (state)
{ {
psx_irq_set(device->machine(), 0x400); psxirq_device *psxirq = (psxirq_device *) machine.device("maincpu:irq");
psxirq->intin10();
} }
} }
@ -2053,7 +2047,8 @@ static void jdredd_ide_interrupt(device_t *device, int state)
{ {
if (state) if (state)
{ {
psx_irq_set(device->machine(), 0x400); psxirq_device *psxirq = (psxirq_device *) machine.device("maincpu:irq");
psxirq->intin10();
} }
} }
@ -2155,7 +2150,8 @@ WRITE32_MEMBER(zn_state::acpsx_10_w)
WRITE32_MEMBER(zn_state::nbajamex_80_w) WRITE32_MEMBER(zn_state::nbajamex_80_w)
{ {
verboselog( machine(), 0, "nbajamex_80_w( %08x, %08x, %08x )\n", offset, data, mem_mask ); verboselog( machine(), 0, "nbajamex_80_w( %08x, %08x, %08x )\n", offset, data, mem_mask );
psx_irq_set(machine(), 0x400); psxirq_device *psxirq = (psxirq_device *) machine.device("maincpu:irq");
psxirq->intin10();
} }
READ32_MEMBER(zn_state::nbajamex_08_r) READ32_MEMBER(zn_state::nbajamex_08_r)

View File

@ -27,7 +27,6 @@ public:
extern void psx_driver_init( running_machine &machine ); extern void psx_driver_init( running_machine &machine );
DECLARE_WRITE32_HANDLER( psx_com_delay_w ); DECLARE_WRITE32_HANDLER( psx_com_delay_w );
DECLARE_READ32_HANDLER( psx_com_delay_r ); DECLARE_READ32_HANDLER( psx_com_delay_r );
extern void psx_irq_set( running_machine &, UINT32 );
extern void psx_sio_install_handler( running_machine &, int, psx_sio_handler ); extern void psx_sio_install_handler( running_machine &, int, psx_sio_handler );
extern void psx_sio_input( running_machine &, int, int, int ); extern void psx_sio_input( running_machine &, int, int, int );