games/gb: fix gbc dma

This commit is contained in:
aiju 2015-04-01 19:27:52 +02:00
parent 66c98fab71
commit 52ab0d1534
2 changed files with 5 additions and 5 deletions

View file

@ -69,10 +69,10 @@ enum {
WX = 0x4B,
KEY1 = 0x4D,
VBK = 0x4F,
HDMASL = 0x51,
HDMASH = 0x52,
HDMADL = 0x53,
HDMADH = 0x54,
HDMASH = 0x51,
HDMASL = 0x52,
HDMADH = 0x53,
HDMADL = 0x54,
HDMAC = 0x55,
BCPS = 0x68,

View file

@ -549,7 +549,7 @@ dmastep(void)
u16int sa, da;
sa = (reg[HDMASL] | reg[HDMASH] << 8) & 0xfff0;
da = (reg[HDMADL] | reg[HDMADH] << 8) & 0x0ff0;
da = (reg[HDMADL] | reg[HDMADH] << 8) & 0x1ff0 | 0x8000;
for(i = 0; i < 16; i++)
memwrite(da++, memread(sa++));
reg[HDMASL] += 16;