This is something I've been wondering, does the fact that Nintendo DS used a ARM CPU helps with the emulating performance/accuracy of DraStic ? Considering it was made for the Pandora, that also uses an ARM CPU ? Or is it just the same as if you were making it for an x86 CPU ?
Thanks !
Question about ARM native emulation
Re: Question about ARM native emulation
There are some things you can do to translate ARM code more directly when targeting ARM instead of x86, and DraStic's ARM recompiler is just in general more optimized than its x86 one. If they were both as equally optimized I don't think the efficiency would be that different, but being stuck with 32-bit mode on x86 (like you currently are in Android) is a decent disadvantage. Still, it runs alright on a dual core Saltwell based SoC and probably a lot better on something with Silvermont.
Accuracy isn't impacted either way, the behavior is supposed to be identical when it's running on x86 or ARM. Where it's not it means there's a bug that needs to be fixed. Usually it's on the ARM side since the code is more complex.
Accuracy isn't impacted either way, the behavior is supposed to be identical when it's running on x86 or ARM. Where it's not it means there's a bug that needs to be fixed. Usually it's on the ARM side since the code is more complex.
Re: Question about ARM native emulation
So, both being the same architecture gives no potential advantages ?Exophase wrote:There are some things you can do to translate ARM code more directly when targeting ARM instead of x86, and DraStic's ARM recompiler is just in general more optimized than its x86 one. If they were both as equally optimized I don't think the efficiency would be that different, but being stuck with 32-bit mode on x86 (like you currently are in Android) is a decent disadvantage. Still, it runs alright on a dual core Saltwell based SoC and probably a lot better on something with Silvermont.
Accuracy isn't impacted either way, the behavior is supposed to be identical when it's running on x86 or ARM. Where it's not it means there's a bug that needs to be fixed. Usually it's on the ARM side since the code is more complex.
Also, thanks for the answer
Re: Question about ARM native emulation
It gives an advantage but it's relatively small.
Re: Question about ARM native emulation
I see, thanks !Exophase wrote:It gives an advantage but it's relatively small.