Hacker News new | past | comments | ask | show | jobs | submit login
Dolphin Emulator: Progress Report February, March, and April 2023 (dolphin-emu.org)
221 points by thepbone on May 21, 2023 | hide | past | favorite | 53 comments



Dolphin is an impressive piece of software. And I always enjoy reading their thorough progress reports.

I still have my old Wii laying around, with all my old Wii and GameCube games. I followed the dumping guide on dolphin’s site (and a wii hacking guide) and it was shockingly simple. I successfully dumped my entire Wii and GameCube library. And even backed up the Wii onboard memory to dolphin on my PC. And even got dumps of my GameCube memory cards. Dolphin now exactly matches my physical wii, including the complete home menu and all game saves.

I was surprised that all of this was possible. I click a button in dolphin and it’s exactly the same as my wii. All the Miis are there, all of the channels. Main difference is that I can swap disks with a click. I was shocked at how simple doing all of this was. The hardest part was just swapping disks and coming back every 15 minutes to swap another disk.

I didn’t really play these games anymore on the wii, and I don’t play them in dolphin now either, but it does give me comfort that I could go back and keep playing if my Wii finally bites the dust. I can connect my original Wiimotes via Bluetooth too. It’s really impressive what the dolphin team has done. It’s identical to my console. I could plug my pc into the TV and set the resolution lower and you probably couldn’t tell the difference.


I've done the same... I think I had hacked the Wii long ago just because I could, back when a save that used a really long horse name in The Legend of Zelda: Twilight Princess to do a buffer overflow was the usual process. Was still in a good place to dump discs many years later, though.

The only snag in my having a really nice library from the dumping method was that I'd sold a bunch of my games by then.


If you want to do release notes, these are quite the goal to copy. Explain the issue, what the developer did to solve it, and what is now enabled. Probably the best I’ve ever read and I’ve not used dolphin in a decade, but I still read each one.


I think while useful as release notes, the much more important aspect is that it recognizes and highlights the contributions of individual developers.


Is that scalable to real stuff though? At work we pretend out stuff is perfect and nobody is going to put their name on fixes because they are now the next support person for said fix. Open source has no expectation of support.


Seems like a culture problem more than a scaling problem.


Unreal Engine could be said to do "real stuff" and their release notes are quite similar and very expansive. There is no names attached to anything, if I recall correctly, but otherwise the release notes they do are similar.


Release notes for unreal are auto generated from commit messages. Before the release, you are expected to go through your changes and exclude/clean up any commit messages, and tag them with a major and minor category. Tech writers (I believe) handle the "top of the page" docs.

Source: I worked for epic and contributed to a few engine versions.


I am not sure it gets more real than a emulator. This is putely a question of organization and how much you care about explaining your releases.


Of course it is, Dolphin is very real and great. The stuff your arrogant self does however, probably doesn't matter anyway.


Of course it is the cost is a fixed overhead per-bug. It may be expensive, but it is scalable.

Plus on an open source project it may be a great way to attract more developers and document how the software works internally which may pay for itself.


Dolphin is amazing. I remember its progress performance-wise. It used to use multiple cores at high load, which to me was understandable, because it emulated a gamecube after all. But at some point they found some intermediate language optimization and performance became superb. I was then able to run it on a nowadays rather weak laptop at low cpu load to play Metroid Prime flawlessly.


So is Yuzu, which nearly flawlessly emulates the switch and whose community had the new Zelda game running before the game even launched.

I wonder if Nintendo cares enough to do something differently with future consoles - nobody is able to emulate playstation games well, even many generations ago.


Even Nintendo isn't petty enough to sink billions into R&D'ing a novel architecture to ruin the prospect of emulation for a couple a few hundred thousand people at most.


The more likely avenue is they continue to use commodity hardware, but keep refining their security model to make it harder to dump and decrypt the games in the first place. They got really close to nailing it with the Switch, but were undone by the Tegra bootloader exploit completely and irrevocably breaking the root of trust on early batches, however beyond that one bug the systems security has held up extremely well. No firmware released in the last five years has been jailbroken without leveraging the bootloader exploit, which is desirable since only Switches sold in the first year or so of release are vulerable to the bootloader bug, and none of the versions with upgraded specs (die shrunk original model, OLED model, lite model) are vulnerable.

If they manage to avoid a repeat of the bootloader exploit next time, it's going to be an uphill struggle more akin to attacking the Playstation and Xbox.


> No firmware released in the last five years has been jailbroken without leveraging the bootloader exploit

It's worth noting that the desire to break these firmwares are much lower since the bootloader exploit exists. I'm sure people would be looking much harder otherwise.


That is true, but SciresM has exhaustively reverse engineered the latest Switch kernels from end to end and stated confidently that there's nothing there to exploit. It's a tiny microkernel so auditing the entire thing is actually feasible, nothing like the enormous potential attack surface of the Playstations FreeBSD kernel.

https://twitter.com/SciresM/status/1486787208333774848

"I don't expect another software hack to release ever for the switch." - the person with probably the deepest knowlege of the Switch OS outside of Nintendo


There is one other glitch recently discovered that affects all Switches; the Tegra X1 has no protections against voltage glitching attacks. Therefore, a mod chip (or RP2040) can cause a power drop at the right moment and bypass the signature check, and reboot and try again a few times if it didn’t work.

Most likely a Tegra X1 successor would (like modern security chips) have circuitry to detect such glitching and force an automatic reboot if it occurs.


Yeah, Microsoft got blindsided by voltage glitching on the 360 and they went on to implement a watchdog system in the XB1 which forces a reboot if it detects voltages, clocks or temperatures going out of sensible ranges. They also audited their first stage bootloader to ensure that even if you manage to sneak one glitch past the watchdog, the code is structured such that any single branch going the wrong way won't lead to a compromised state. The combination of those has successfully prevented any such attacks from happening again.

Voltage glitching is the kind of play you only get to make once unfortunately.


A I understand it, the PS3, Xbox 360, and PS4 have been broken by hackers. The Xbox opened its platform to unsigned code removing a big incentive for hackers to break the system. I’m expecting the PS5 to be hacked first.


The PS4 was hacked intermittently, which is what I meant by uphill struggle. The exploits are the "bottom up" variety starting in usermode and escalating up to patching the kernel, which can be fixed by firmware updates, so if you're not sitting on an old firmware you're out of luck. They've also never managed to escalate to the root of trust, which means you can't exploit vulnerable firmware X and then update to a pre-rooted non-vulnerable firmware Y like you could on the PS3 - you're stuck on firmware X and will eventually get locked out of newer game releases that need Y or newer.

Without the bootloader exploit the Switch would have been a similar story - firmwares up to 4.10 were hacked in much the same way the PS4 was hacked, but that has very limited usefulness. I don't think you could have decrypted Tears of the Kingdom using such an old firmware.


You can enable developer mode ($20) on the Xbox series S/X and install (UWP) emulators. The Xbox also has pluton on the die so it's a lot harder.


I've heard there are power glitching exploits (Picofly, Hwfly) for newer Switches including OLED.


i softmodded my ps4 to run pirate copies.


Stopped reading at ‘Nintendo isn’t petty enough.’

I guess you’re not involved with the fan gaming or fan content communities, whatsoever? :3

Nintendo is the textbook definition of petty with their copyright. It’s honestly brutal and disappointing. I much prefer SEGA’s strategy, even if they’re not perfect, either.


Trust me, they are ABSOLUTELY petty enough. They ruined a man’s life in part because he had the last name of “Bowser”. (Yes, I know the case is more complex, but there were bigger fish to fry and Gary was only tech support.)

The problem is, and why we’ll never see this, is because Nintendo is highly risk-averse after the Wii U, and unlike tacking a second monitor on (which is relatively cheap), building a custom architecture is expensive and raises major problems, like we saw with Sony grabbing IBM’s CELL architecture. It was amazingly powerful, but difficult to code for and rather expensive to use, which made adoption difficult for devs.

Though on the flip side, Nintendo would have much stronger first-party titles, which frankly sell most Switches anyway. I do still believe it’s unlikely due to cost though.


Oddly enough - a lot of PS3 games are running on PC pretty well, but there's no PS4 emulator despite the fact that the PS4 is x64 based.


PS3 games are running a lot better than they had been, that’s true. However the CPU needed is, last I checked, still rather beefy.

PS4 actually has some emulators as of last year. Originally it was just Spine, but now we have fpPS4, a more advanced open source Free Pascal-based emulator.

Wiki page summarizing the current state of PS4 emulation: https://emulation.gametechwiki.com/index.php/PlayStation_4_e...

ModernVintageGamer showing off fpPS4: https://www.youtube.com/watch?v=012PptHgl3s


> They ruined a man’s life in part because he had the last name of “Bowser”.

Doug Bowser could have said no to being CEO of NoA.


You'd think that. But Nintendo is incredibly petty when it comes to YouTube strikes and prosecution of people pirating 30 year old games.


Do you know if Dolhpin devs makes money out of it ? I ask because their progress reports are so professional that I wonder where they find the time/energy to do them :-)


There are ads on the site, but not enough that I'd expect them to cover much more than hosting.


For sharp bilinear, if you set the multiplication factor higher, it approaches nearest-neighbor. And, if the resolutions are very close, you still get softening on half the screen


Where do people get the ROMs? For research purpose.


The only legal way is to dump them from your own hacked Wii.



Archive.org


I wonder why people contribute to these stand alone emulators rather than making mess work? I'd be very interested in the reasoning


MAME/MESS has different goals; in particular, it strives for accuracy first and foremost. Hacks that reduce accuracy but improve playability and/or performance are generally not accepted by MAME, AFAIK, whereas something like Dolphin would have tons of them. (MAME is fundamentally a preservation project; the fact that you can actually play the games is secondary.)


I don't know about mess. Is it an emulator collection? Dolphin is a Gamecube emulator. Would that be a good addition to mess?

Maybe one good reason is to constrain project goals in scope.


It's an emulator collection but their goal is perfect compatibility over any effort to optimize performance. As an example, with MAME (the arcade counterpart of MESS), when trying to emulate analogue circuits, they'd rather strive for near perfect emulation via very expensive maths operations rather than just use a first or second order approximation.

So a significant portion of what makes Dolphin so good would be rejected from MESS on principle. That isn't an inherently bad thing because MESS/MAME isn't really intending to be efficient & "fun" but rather is an archival project designed to allow perfect reproduction of the works indefinitely into the future.


>> It's an emulator collection but their goal is perfect compatibility over any effort to optimize performance.

Then I can easily see why Dolphin would have no interest in joining such a project; what with the incredible focus on and borderline unbelievable achievements with performance they’ve made.

Totally different projects, totally different goals.


MESS is a low level emulator. Dolphin is not. Low-level emulation of consoles even like the N64 is mostly infeasible at the moment. MESS works as designed, and doesn't use "speed hacks" or other performance optimizations, by design.


What an odd comment. Why would they integrate with MESS? At a glance MESS wouldn't provide anything of use.


Would MESS provide anything useful to an emulator of modern (21st-century) 3D consoles like the GameCube and Wii? Would MESS help or hinder in supporting the use of physical Wii Remotes? Could MESS support netplay between users of the emulator on different computers (as Dolphin does)? Could it support integration between GameCube and GBA (as Dolphin does)?


The mame architecture is not friendly to dynarec which is necessary for GameCube and wii.


Because MAME is effectively an emulator for arcade games and dolphin is a state-of-the-art console emulator? It is generally not be possible to get the level of fidelity and performance of a custom emulator out of a general-purpose framework like MAME.


RetroArch has become the more popular multi-emulator system, and many emulators have now been integrated into it.


I know its difficult to be objective, but could you somehow explain in which way it is more popular ? I ask because I'd be happy to contribute my emulator as a core to RetroArch but I'll do it only if I know it will increase the number of my users significantly (which will be quite easy to be honest :-) ).


> I know its difficult to be objective, but could you somehow explain in which way it is more popular ? I ask because I'd be happy to contribute my emulator as a core to RetroArch but I'll do it only if I know it will increase the number of my users significantly (which will be quite easy to be honest :-) ).

It's so obviously true that it's difficult to know where to begin "proving" it. I guess the easiest way is to refer to all the emulation-adjacent projects which essentially rely on RetroArch for the majority of their intregations. LaunchBox can spin up any emulator, but by default it recommends (and auto-configures) RetroArch for all RA-compatible systems. RetroAchievements.org used to only support a few standalone emulators, but once it added RetroArch it blew up in popularity and nowadays the documentation basically just points you to RetroArch. There are entire hardware platforms like RetroPi that rely on RetroArch. The list goes on and on.

It's impossible to do almost anything in the emulation ecosystem without bumping headfirst into RetroArch at every turn.


Ok, that's rather convincing :-)


Which emulator is that? Posting it on hn would probably also increase the number of users :)


perhaps related to MESS not existing for several years, idk.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: