Earlier quoted context omitted.
Can you give a citation that mprotect will fail? Yes there's the new, faster mechanism, but I'm surprised that they broke mprotect.
it's possible the old mprotect call will work if you use the appropriate initial mmap flag to get a jit region, but I would be surprised. The rules for rwx regions are already very restrictive compared to mmap/mprotect/etc APIs on other platforms. I don't have an M1 Mac to test myself, but the "faster" mechanism doesn't involve anything in the pagetables, so I think toggling pagetable walks into the existing restrict…
Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
61–69 of 69 posts
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#62Earlier quoted context omitted.
It might be instructive to flip the question around: what would Nintendo sue for? For which works of authorship is Dolphin infringing the copyrights? Which Nintendo patents or trademarks does Dolphin infringe? If the angle is contributory infringement based on users running illegally copied games, how does Dolphin fail to pass the "substantial non-infringing uses" test? The only emulator project I know of that was ap…
And yet, so many amazing emulator projects have been sued out of existence. Remember Bleem, the Windows program that played contemporary Playstation games? Bleem actually won the court case, but the legal costs forced them out of business. And then there was the time Sony sued Connectix for their emulator. Sony got an injuction, and while Connectix won in appeal, they also ran out of money and closed. Nintendo, on th…
In no way are emulators a target these days. The ROMs are. By your own admission - the emulator war was won.
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#63Earlier quoted context omitted.
It might be instructive to flip the question around: what would Nintendo sue for? For which works of authorship is Dolphin infringing the copyrights? Which Nintendo patents or trademarks does Dolphin infringe? If the angle is contributory infringement based on users running illegally copied games, how does Dolphin fail to pass the "substantial non-infringing uses" test? The only emulator project I know of that was ap…
And yet, so many amazing emulator projects have been sued out of existence. Remember Bleem, the Windows program that played contemporary Playstation games? Bleem actually won the court case, but the legal costs forced them out of business. And then there was the time Sony sued Connectix for their emulator. Sony got an injuction, and while Connectix won in appeal, they also ran out of money and closed. Nintendo, on th…
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#64>This was thankfully a lot less strict than on iOS devices, which strictly forbid mapping memory as executable whatsoever and made iOS untenable for us to officially support. Apple even provides documentation for helping developers port JITs to macOS on ARM. Skyler used a method described in the documentation that would change the mapped memory between Writeable when emitting code to Executable when executing code. S…
Apple doesn't acknowledge emulators as valid software and would prefer the world not have access to them.
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#65Earlier quoted context omitted.
it's possible the old mprotect call will work if you use the appropriate initial mmap flag to get a jit region, but I would be surprised. The rules for rwx regions are already very restrictive compared to mmap/mprotect/etc APIs on other platforms. I don't have an M1 Mac to test myself, but the "faster" mechanism doesn't involve anything in the pagetables, so I think toggling pagetable walks into the existing restrict…
It certainly looks like mprotect is still supported (if occasionally broken) as of 11.2 on apple silicon. Qemu and v8 both seem to rely on it. https://developer.apple.com/forums/thread/672804
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#66>This was thankfully a lot less strict than on iOS devices, which strictly forbid mapping memory as executable whatsoever and made iOS untenable for us to officially support. Apple even provides documentation for helping developers port JITs to macOS on ARM. Skyler used a method described in the documentation that would change the mapped memory between Writeable when emitting code to Executable when executing code. S…
No / yes / only once. It's just an mprotect(2) call to change the page from R+W to R+X. It needs to happen between the JIT being done creating a hunk of code and the first execution. Basically: allocate a page, write generated machine code to the page, change page to executable, patch page in (so the code gets invoked instead of either interpretation or a baseline compiler). I'm sure you can be smarter about it and i…
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#67Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#68I recently wanted to play the original Paper Mario, but sadly it's not available on Switch, only Wii U. So I decided to go the emulator route. Dolphin is so good that Paper Mario runs better as a Wii U Virtual Console ROM under Dolphin than it does as an N64 ROM under Project 64.
Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021
#69How well does dolphin run on Rpi 4 now?
Raspberry Pi hardware is way, way too weak.
I figured with Rpi improvements (kernel/settings) and dolphin improvements, it was time to ask if it's going better now. Everyone seems negative (without data) here though.