src/mame/drivers/saturn.c
| r12365 | r12366 | |
| 661 | 661 | saturn_state *state = space->machine().driver_data<saturn_state>(); |
| 662 | 662 | static UINT32 tmp_src,tmp_dst,tmp_size; |
| 663 | 663 | |
| 664 | | if(0) |
| 664 | if(state->m_scu.src_add[dma_ch] == 0) |
| 665 | 665 | { |
| 666 | 666 | if(LOG_SCU) printf("DMA lv %d transfer START\n" |
| 667 | 667 | "Start %08x End %08x Size %04x\n",dma_ch,state->m_scu.src[dma_ch],state->m_scu.dst[dma_ch],state->m_scu.size[dma_ch]); |
| r12365 | r12366 | |
| 731 | 731 | for (; state->m_scu.size[dma_ch] > 0; state->m_scu.size[dma_ch]-=state->m_scu.dst_add[dma_ch]) |
| 732 | 732 | { |
| 733 | 733 | /* Mahou Tsukai ni Naru Houhou directly accesses CD-rom register 0x05818000, it must be a dword access otherwise it won't work */ |
| 734 | | if(state->m_scu.src_add[dma_ch] == 0 && state->m_scu.dst_add[dma_ch] == 8) |
| 734 | if(state->m_scu.src_add[dma_ch] == 0) |
| 735 | 735 | { |
| 736 | 736 | space->write_dword(state->m_scu.dst[dma_ch], space->read_dword(state->m_scu.src[dma_ch] )); |
| 737 | | space->write_dword(state->m_scu.dst[dma_ch]+4,space->read_dword(state->m_scu.src[dma_ch] )); |
| 737 | if(state->m_scu.dst_add[dma_ch] == 8) |
| 738 | space->write_dword(state->m_scu.dst[dma_ch]+4,space->read_dword(state->m_scu.src[dma_ch] )); |
| 738 | 739 | } |
| 739 | 740 | else if(state->m_scu.dst_add[dma_ch] == 2) |
| 740 | 741 | space->write_word(state->m_scu.dst[dma_ch],space->read_word(state->m_scu.src[dma_ch])); |
| r12365 | r12366 | |
| 803 | 804 | if(indirect_src & 0x80000000) |
| 804 | 805 | job_done = 1; |
| 805 | 806 | |
| 806 | | if(0) |
| 807 | if(state->m_scu.src_add[dma_ch] == 0) |
| 807 | 808 | { |
| 808 | 809 | if(LOG_SCU) printf("DMA lv %d indirect mode transfer START\n" |
| 809 | 810 | "Index %08x Start %08x End %08x Size %04x\n",dma_ch,tmp_src,indirect_src,indirect_dst,indirect_size); |