fix: Ignore top 4 bits of DMA addresses
Former-commit-id: 3a5e691ca617803ef61f7a534c70d1cf04f36cb9 Former-commit-id: 289fad7340cbb18c51ecccd43e44682b37c78a1a
This commit is contained in:
parent
1ab22f2b52
commit
529c9752c4
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue