You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was running the test against my own emulator, and couldn't figure out why it would go wrong. I checked the registers, and the value in R1 was not the value it was supposed to read, but it was 1 instead. First I thought the m_word macro might not have worked, but it did.
When checking out what happens in the SQRT SWI I found that it jumped to 0x404 in the BIOS, and ran these instructions right after the handler:
the SWI changes the value in R1!
It fails on some other emulators as well, and probably passes on mGBA because it HLEs the BIOS. You can probably simply fix the test by using R0 instead of R1, or some other register that is not changed.
The text was updated successfully, but these errors were encountered:
Thanks for this. I am kinda mad because I read the GBATEK documentation and it never mentioned r1. Now the only things left which don't work on real hardware are the 32k memory mirrors.
I was running the test against my own emulator, and couldn't figure out why it would go wrong. I checked the registers, and the value in R1 was not the value it was supposed to read, but it was 1 instead. First I thought the
m_word
macro might not have worked, but it did.When checking out what happens in the SQRT SWI I found that it jumped to
![image](https://user-images.githubusercontent.com/25347040/86125637-4bc59480-badd-11ea-8fc3-17376831fa25.png)
0x404
in the BIOS, and ran these instructions right after the handler:the SWI changes the value in R1!
It fails on some other emulators as well, and probably passes on mGBA because it HLEs the BIOS. You can probably simply fix the test by using R0 instead of R1, or some other register that is not changed.
The text was updated successfully, but these errors were encountered: