games/gb: fix gbc dma
This commit is contained in:
parent
66c98fab71
commit
52ab0d1534
|
@ -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,
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue