Previous 199869 Revisions Next

r22827 Wednesday 15th May, 2013 at 10:14:43 UTC by smf
use device timers instead of TIMER_CALLBACK_MEMBER (nw)
[src/emu/cpu/psx]dma.c dma.h rcnt.c rcnt.h

trunk/src/emu/cpu/psx/dma.c
r22826r22827
6262   {
6363      psx_dma_channel *dma = &m_channel[ index ];
6464
65      dma->timer = machine().scheduler().timer_alloc( timer_expired_delegate( FUNC( psxdma_device::dma_finished_callback ), this) );
65      dma->timer = timer_alloc(index);
6666
6767      machine().save().save_item( "psxdma", tag(), index, NAME( dma->n_base ) );
6868      machine().save().save_item( "psxdma", tag(), index, NAME( dma->n_blockcontrol ) );
r22826r22827
194194   dma_stop_timer( index );
195195}
196196
197TIMER_CALLBACK_MEMBER(psxdma_device::dma_finished_callback)
197void psxdma_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
198198{
199   dma_finished(param);
199   dma_finished(id);
200200}
201201
202202void psxdma_device::install_read_handler( int index, psx_dma_read_delegate p_fn_dma_read )
trunk/src/emu/cpu/psx/rcnt.c
r22826r22827
5555
5656   for( n = 0; n < 3; n++ )
5757   {
58      root_counter[ n ].timer = machine().scheduler().timer_alloc( timer_expired_delegate( FUNC( psxrcnt_device::root_finished ), this ) );
58      root_counter[ n ].timer = timer_alloc(n);
5959      state_save_register_item( machine(), "psxroot", NULL, n, root_counter[ n ].n_count );
6060      state_save_register_item( machine(), "psxroot", NULL, n, root_counter[ n ].n_mode );
6161      state_save_register_item( machine(), "psxroot", NULL, n, root_counter[ n ].n_target );
r22826r22827
223223   }
224224}
225225
226TIMER_CALLBACK_MEMBER(psxrcnt_device::root_finished)
226void psxrcnt_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
227227{
228   int n_counter = param;
228   int n_counter = id;
229229   psx_root *root = &root_counter[ n_counter ];
230230
231231   verboselog( machine(), 2, "root_finished( %d ) %04x\n", n_counter, root_current( n_counter ) );
trunk/src/emu/cpu/psx/dma.h
r22826r22827
5353   virtual void device_start();
5454   virtual void device_reset();
5555   virtual void device_post_load();
56   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
5657
5758private:
5859   void dma_start_timer( int n_channel, UINT32 n_ticks );
trunk/src/emu/cpu/psx/rcnt.h
r22826r22827
5555   virtual void device_start();
5656   virtual void device_reset();
5757   virtual void device_post_load();
58   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
5859
5960private:
6061   psx_root root_counter[ 3 ];

Previous 199869 Revisions Next


© 1997-2024 The MAME Team