trunk/src/mame/drivers/saturn.c
| r20592 | r20593 | |
| 513 | 513 | } |
| 514 | 514 | } |
| 515 | 515 | |
| 516 | | m_scu.size[dma_ch] = tmp_size; |
| 516 | m_scu.size[dma_ch] = 0; |
| 517 | 517 | if(!(DRUP(dma_ch))) m_scu.src[dma_ch] = tmp_src; |
| 518 | 518 | if(!(DWUP(dma_ch))) m_scu.dst[dma_ch] = tmp_dst; |
| 519 | 519 | |
| 520 | 520 | { |
| 521 | | /*TODO: this is completely wrong HW-wise ... */ |
| 521 | /*TODO: change DMA into DRQ model. */ |
| 522 | 522 | switch(dma_ch) |
| 523 | 523 | { |
| 524 | | case 0: machine().scheduler().timer_set(attotime::from_usec(300), timer_expired_delegate(FUNC(saturn_state::dma_lv0_ended),this)); break; |
| 525 | | case 1: machine().scheduler().timer_set(attotime::from_usec(300), timer_expired_delegate(FUNC(saturn_state::dma_lv1_ended),this)); break; |
| 526 | | case 2: machine().scheduler().timer_set(attotime::from_usec(300), timer_expired_delegate(FUNC(saturn_state::dma_lv2_ended),this)); break; |
| 524 | case 0: machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(tmp_size/4), timer_expired_delegate(FUNC(saturn_state::dma_lv0_ended),this)); break; |
| 525 | case 1: machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(tmp_size/4), timer_expired_delegate(FUNC(saturn_state::dma_lv1_ended),this)); break; |
| 526 | case 2: machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(tmp_size/4), timer_expired_delegate(FUNC(saturn_state::dma_lv2_ended),this)); break; |
| 527 | 527 | } |
| 528 | 528 | } |
| 529 | 529 | } |