diff options
Diffstat (limited to 'src/devices/cpu/psx/dma.cpp')
-rw-r--r-- | src/devices/cpu/psx/dma.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/devices/cpu/psx/dma.cpp b/src/devices/cpu/psx/dma.cpp index 0b69e01df37..f4376472d98 100644 --- a/src/devices/cpu/psx/dma.cpp +++ b/src/devices/cpu/psx/dma.cpp @@ -64,7 +64,7 @@ void psxdma_device::device_start() { psx_dma_channel *dma = &m_channel[ index ]; - dma->timer = timer_alloc(index); + dma->timer = timer_alloc( FUNC( psxdma_device::dma_finished ), this ); save_item( NAME( dma->n_base ), index ); save_item( NAME( dma->n_blockcontrol ), index ); @@ -129,8 +129,9 @@ void psxdma_device::dma_interrupt_update() m_dicr &= 0x00ffffff | ( m_dicr << 8 ); } -void psxdma_device::dma_finished( int index ) +TIMER_CALLBACK_MEMBER( psxdma_device::dma_finished ) { + const int index = param; psx_dma_channel *dma = &m_channel[ index ]; if( dma->n_channelcontrol == 0x01000401 && index == 2 ) @@ -196,11 +197,6 @@ void psxdma_device::dma_finished( int index ) dma_stop_timer( index ); } -void psxdma_device::device_timer(emu_timer &timer, device_timer_id id, int param) -{ - dma_finished(id); -} - void psxdma_device::install_read_handler( int index, read_delegate p_fn_dma_read ) { m_channel[ index ].fn_read = p_fn_dma_read; |