git-svn-id: file:///home/notaz/opt/svn/PicoDrive@35 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2007-02-09 23:39:03 +00:00
parent e11c55481f
commit cea6590346
10 changed files with 69 additions and 99 deletions

View file

@ -139,15 +139,24 @@ static void DmaSlow(int len)
{
case 1: // vram
r = Pico.vram;
for(; len; len--)
if (inc == 2 && !(a&1) && a+len*2 < 0x10000)
{
d=*pd++;
if(a&1) d=(d<<8)|(d>>8);
r[a>>1] = (u16)d; // will drop the upper bits
// AutoIncrement
a=(u16)(a+inc);
// didn't src overlap?
//if(pd >= pdend) pd-=0x8000; // should be good for RAM, bad for ROM
// most used DMA mode
memcpy16(r + (a>>1), pd, len);
a += len*2;
}
else
{
for(; len; len--)
{
d=*pd++;
if(a&1) d=(d<<8)|(d>>8);
r[a>>1] = (u16)d; // will drop the upper bits
// AutoIncrement
a=(u16)(a+inc);
// didn't src overlap?
//if(pd >= pdend) pd-=0x8000; // should be good for RAM, bad for ROM
}
}
rendstatus|=0x10;
break;