fix: Ignore top 4 bits of DMA addresses

Former-commit-id: 3a5e691ca617803ef61f7a534c70d1cf04f36cb9
Former-commit-id: 289fad7340cbb18c51ecccd43e44682b37c78a1a
This commit is contained in:
Michel Heily 2020-06-01 01:26:38 +03:00
parent 1ab22f2b52
commit 529c9752c4

View file

@ -66,7 +66,7 @@ impl DmaChannel {
pub fn write_src_high(&mut self, high: u16) { pub fn write_src_high(&mut self, high: u16) {
let src = self.src; let src = self.src;
let high = high as u32; let high = (high & 0xfff) as u32;
self.src = (src & 0xffff) | (high << 16); self.src = (src & 0xffff) | (high << 16);
} }
@ -77,7 +77,7 @@ impl DmaChannel {
pub fn write_dst_high(&mut self, high: u16) { pub fn write_dst_high(&mut self, high: u16) {
let dst = self.dst; let dst = self.dst;
let high = high as u32; let high = (high & 0xfff) as u32;
self.dst = (dst & 0xffff) | (high << 16); self.dst = (dst & 0xffff) | (high << 16);
} }