Live data from Hacker News

Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

dolphin-emu.org

61–69 of 69 posts

Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

#61
post #60

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…

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

#62

Earlier 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…

No. Two amazing emulators got sued out of existence - and paved the way for legal existence of hundreds of emulators since.

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

#63

Earlier 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…

After this sony hired the emulator devs to work for sony for their own emulator (which consists of bleem code). Money wins :)

Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

#64
post #50

>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.

Rosetta is an emulator, though.

Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

#65
post #60

Earlier 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

I haven’t tested on a Mac recently, but I’m pretty sure that mprotect will change the base page permissions but SPRR will continue to apply (and you’ll need to call pthread_jit_write_protect_np).

Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

#66
post #8

>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…

Reusing pages is usually how most emulators work, as doing what you describe is essentially a memory leak.

Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

#68
post #10

I 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.

I feel like that makes a lot of sense. You're getting the N64 emulation for free from Nintendo there. Of course, Dolphin has to be good enough to emulate the emulator correctly, but somehow seems easier than emulating a complex native GC/Wii game.

Re: Dolphin Emulator - Dolphin MEGA Progress Report: April and May 2021

#69
post #5
post #2

How well does dolphin run on Rpi 4 now?

Raspberry Pi hardware is way, way too weak.

There is a 2019 video where there is some "mixed" success with gamecube on Rpi 4 https://www.youtube.com/watch?v=l4TyYU9Xhcs

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.

Post reply on HN