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, WX = 0x4B,
KEY1 = 0x4D, KEY1 = 0x4D,
VBK = 0x4F, VBK = 0x4F,
HDMASL = 0x51, HDMASH = 0x51,
HDMASH = 0x52, HDMASL = 0x52,
HDMADL = 0x53, HDMADH = 0x53,
HDMADH = 0x54, HDMADL = 0x54,
HDMAC = 0x55, HDMAC = 0x55,
BCPS = 0x68, BCPS = 0x68,

View file

@ -549,7 +549,7 @@ dmastep(void)
u16int sa, da; u16int sa, da;
sa = (reg[HDMASL] | reg[HDMASH] << 8) & 0xfff0; 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++) for(i = 0; i < 16; i++)
memwrite(da++, memread(sa++)); memwrite(da++, memread(sa++));
reg[HDMASL] += 16; reg[HDMASL] += 16;