trunk/src/mame/includes/psx.h
| r18707 | r18708 | |
| 27 | 27 | extern void psx_driver_init( running_machine &machine ); |
| 28 | 28 | DECLARE_WRITE32_HANDLER( psx_com_delay_w ); |
| 29 | 29 | DECLARE_READ32_HANDLER( psx_com_delay_r ); |
| 30 | | extern void psx_irq_set( running_machine &, UINT32 ); |
| 31 | 30 | extern void psx_sio_install_handler( running_machine &, int, psx_sio_handler ); |
| 32 | 31 | extern void psx_sio_input( running_machine &, int, int, int ); |
| 33 | 32 | |
trunk/src/mame/drivers/zn.c
| r18707 | r18708 | |
| 1471 | 1471 | *2 - Unpopulated DIP28 socket |
| 1472 | 1472 | */ |
| 1473 | 1473 | |
| 1474 | | /* IRQ */ |
| 1475 | | |
| 1476 | | void psx_irq_set( running_machine &machine, UINT32 data ) |
| 1477 | | { |
| 1478 | | psxcpu_device::irq_set( *machine.device("maincpu^"), "maincpu", data ); |
| 1479 | | } |
| 1480 | | |
| 1481 | 1474 | static void atpsx_interrupt(device_t *device, int state) |
| 1482 | 1475 | { |
| 1483 | 1476 | if (state) |
| 1484 | 1477 | { |
| 1485 | | psx_irq_set(device->machine(), 0x400); |
| 1478 | psxirq_device *psxirq = (psxirq_device *) machine.device("maincpu:irq"); |
| 1479 | psxirq->intin10(); |
| 1486 | 1480 | } |
| 1487 | 1481 | } |
| 1488 | 1482 | |
| r18707 | r18708 | |
| 2053 | 2047 | { |
| 2054 | 2048 | if (state) |
| 2055 | 2049 | { |
| 2056 | | psx_irq_set(device->machine(), 0x400); |
| 2050 | psxirq_device *psxirq = (psxirq_device *) machine.device("maincpu:irq"); |
| 2051 | psxirq->intin10(); |
| 2057 | 2052 | } |
| 2058 | 2053 | } |
| 2059 | 2054 | |
| r18707 | r18708 | |
| 2155 | 2150 | WRITE32_MEMBER(zn_state::nbajamex_80_w) |
| 2156 | 2151 | { |
| 2157 | 2152 | verboselog( machine(), 0, "nbajamex_80_w( %08x, %08x, %08x )\n", offset, data, mem_mask ); |
| 2158 | | psx_irq_set(machine(), 0x400); |
| 2153 | psxirq_device *psxirq = (psxirq_device *) machine.device("maincpu:irq"); |
| 2154 | psxirq->intin10(); |
| 2159 | 2155 | } |
| 2160 | 2156 | |
| 2161 | 2157 | READ32_MEMBER(zn_state::nbajamex_08_r) |
trunk/src/emu/cpu/psx/psx.h
| r18707 | r18708 | |
| 145 | 145 | static psxcpu_device *getcpu( device_t &device, const char *cputag ); |
| 146 | 146 | static void install_sio_handler( device_t &device, const char *cputag, int n_port, psx_sio_handler p_f_sio_handler ); |
| 147 | 147 | static void sio_input( device_t &device, const char *cputag, int n_port, int n_mask, int n_data ); |
| 148 | | static void irq_set( device_t &device, const char *cputag, UINT32 bitmask ); |
| 149 | 148 | |
| 150 | 149 | protected: |
| 151 | 150 | 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); |
trunk/src/emu/cpu/psx/psx.c
| r18707 | r18708 | |
| 3165 | 3165 | return downcast<psxcpu_device *>( device.subdevice( cputag ) ); |
| 3166 | 3166 | } |
| 3167 | 3167 | |
| 3168 | | void psxcpu_device::irq_set( device_t &device, const char *cputag, UINT32 bitmask ) |
| 3169 | | { |
| 3170 | | psxirq_device *irq = getcpu( device, cputag )->subdevice<psxirq_device>("irq"); |
| 3171 | | irq->set( bitmask ); |
| 3172 | | } |
| 3173 | | |
| 3174 | 3168 | void psxcpu_device::install_sio_handler( device_t &device, const char *cputag, int n_port, psx_sio_handler p_f_sio_handler ) |
| 3175 | 3169 | { |
| 3176 | 3170 | psxsio_device *sio = getcpu( device, cputag )->subdevice<psxsio_device>("sio"); |