DMAx.js unnecessary check address #9

Open
takutok opened this Issue Jan 5, 2016 · 1 comment

Comments

Projects
None yet
2 participants
@takutok

takutok commented Jan 5, 2016

I found a bug in DMAx.js validateDMASource().

For example,If you run in this order ,It is not properly assigned to the source address.
writeDMASource16_0()
writeDMASource16_1()

Tentatively I was like this.
GameBoyAdvanceDMA3.prototype.validateDMASource = function (address) {
address = address | 0;
// if ((address | 0) >= 0x2000000) {
this.source = address | 0;
// }
}

I think perhaps destination is also a problem.

@taisel

This comment has been minimized.

Show comment
Hide comment
@taisel

taisel Jan 18, 2016

Owner

Thanks for bringing this up! I'm surprised someone's reading the code for this project even, it's a free time boredom thing.

I still need to verify what the hardware does for invalid commands. I see how a bunch of emulators do it, but I need to verify the shadowing and masking edge cases.

I'll leave open.

Owner

taisel commented Jan 18, 2016

Thanks for bringing this up! I'm surprised someone's reading the code for this project even, it's a free time boredom thing.

I still need to verify what the hardware does for invalid commands. I see how a bunch of emulators do it, but I need to verify the shadowing and masking edge cases.

I'll leave open.

takutok added a commit to takutok/IodineGBA that referenced this issue Dec 9, 2016

Fix DMA (#9)
Probably there is a better way.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment