mirror of
https://github.com/holub/mame
synced 2025-05-25 15:25:33 +03:00
Fixed a silly Wave-DMA bug, fixes at least ARM7 & bgms in sfz3ugd.
=================================================================== I hate Sega docs and their non-clear explainations...
This commit is contained in:
parent
1e6133ef79
commit
5634fc413b
@ -99,7 +99,12 @@ extern UINT32 dc_coin_counts[2];
|
||||
#define SB_ADST ((0x005F7818-0x005F7800)/4)
|
||||
#define SB_ADSUSP ((0x005F781c-0x005F7800)/4)
|
||||
|
||||
|
||||
#define SB_PDSTAP ((0x005F7c00-0x005F7c00)/4)
|
||||
#define SB_PDSTAR ((0x005F7c04-0x005F7c00)/4)
|
||||
#define SB_PDLEN ((0x005F7c08-0x005F7c00)/4)
|
||||
#define SB_PDDIR ((0x005F7c0c-0x005F7c00)/4)
|
||||
#define SB_PDTSEL ((0x005F7c10-0x005F7c00)/4)
|
||||
#define SB_PDEN ((0x005F7c14-0x005F7c00)/4)
|
||||
#define SB_PDST ((0x005F7c18-0x005F7c00)/4)
|
||||
|
||||
#define RTC1 ((0x00710000-0x00710000)/4)
|
||||
|
@ -893,12 +893,14 @@ WRITE64_HANDLER( dc_g2_ctrl_w )
|
||||
UINT32 src,dst,size;
|
||||
dst = wave_dma.aica_addr;
|
||||
src = wave_dma.root_addr;
|
||||
//size = wave_dma_size;
|
||||
size = 0;
|
||||
/* 0 rounding size = 32 Mbytes */
|
||||
if(wave_dma.size == 0) { wave_dma.size = 0x2000000; }
|
||||
|
||||
/* TODO: use the ddt function. */
|
||||
if(wave_dma.dir == 1)
|
||||
{
|
||||
for(;size<wave_dma.size;size++)
|
||||
for(;size<wave_dma.size;size+=4)
|
||||
{
|
||||
memory_write_dword_64le(space,dst,memory_read_dword(space,src));
|
||||
src+=4;
|
||||
@ -907,7 +909,7 @@ WRITE64_HANDLER( dc_g2_ctrl_w )
|
||||
}
|
||||
else
|
||||
{
|
||||
for(;size<wave_dma.size;size++)
|
||||
for(;size<wave_dma.size;size+=4)
|
||||
{
|
||||
memory_write_dword_64le(space,src,memory_read_dword(space,dst));
|
||||
src+=4;
|
||||
|
Loading…
Reference in New Issue
Block a user