作者存档:JMC47

Dolphin Progress Report: July and August 2022

The Summer tends to consistently be one of the busiest times for Dolphin's development. While sometimes the question is what do we put into the Progress Report, during the summer months it's usually how much can we fit into the Progress Report? This summer's congestion was then compounded by us blog staff having a few things we've been planning coming into fruition. Still, the show must go on, and we're here... albeit a bit delayed.

As such, we've got a huge smattering of changes to go over and many smaller ones that we couldn't quite fit in. macOS users in general will be able to rejoice with the addition of a brand new Metal backend brought to us by veteran developer TellowKrinkle. They also brought their graphics expertise to improve things for everyone, greatly reducing the remaining causes of shader based delays/stuttering when using Ubershaders. If you're looking for an easier way to setup a wide variety of controllers, a new SDL2 controller backend has been added for all OSes, and even brings native motion control support without the use of a DSU server to non-Linux operating systems. We also have a wide variety of emulation fixes, more graphics mods added, and the long awaited SD card "folder" feature!

All of that and it's our job to write about it. We've got our work cut out for us.

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: May and June 2022

It's been a very hectic two months. Dolphin's development builds officially dropped support for Windows 7, Windows 8, and Windows 8.1 in 5.0-16393 when the Windows buildbots were updated to use Qt6. If you read the last Progress Report, you'd know that Windows 7 was already on shaky terms due to rampant breakages, but it was Qt6 that finally ended the legacy operating systems. We wrote an entire article about this, so be sure to read that here if you haven't already.

But with loss, some new has also come. We now have a new builder for Windows on ARM! Dolphin has supported Windows on ARM for a couple of years now, but we haven't provided builds due to a lack of prospective users and a lack of space on the buildbot server. But times have changed - the buildbot has seen some upgrades with a new, bigger harddisk and shuffle2 has renovated parts of the infrastructure to make supporting Windows ARM64 builds easier. With those two hurdles out of the way, we've now configured our buildbot to provide Windows ARM64 builds on our Downloads page. We're not exactly sure how much use these builds will get, but we're hopeful for the future of the platform.

But by this point, you're probably as sick of hearing about the gives and takes of supporting various operating systems as we are of writing about them, so let's get to some emulation goodness. We've got some highly technical changes, including a new "Graphics Mod" system that allows modders and users to create graphical mods. If you're into the edge of emulation, we've also seen support for the annoying Datel Loader used for Action Replay discs and a few very odd unlicensed devices without needing an original GameCube BIOS or swapping to DSP-LLE. This is somewhat significant for reasons we'll get into later, because using real Action Replay discs does make a difference!

For those who love creative homebrew, we've also added support for the homebrew libasnd microcode to HLE audio, meaning that you no longer need to switch to LLE audio for many homebrew titles. We go into the details of all of this and more on this Dolphin Progress Report!

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Leaving a Legend: Saying Goodbye to Windows 7


With none of our active developers using Windows 7 as their primary OS, the userbase dwindling, and Windows 7 starting to meaningfully fall behind newer versions of Windows, it's going to become more and more likely that features are accidentally broken in Windows 7. Eventually, the differences between Windows 7 and newer versions of Windows may increase to the point where we drop support for the aged OS. We don't plan on purposefully breaking support, but, its days are numbered.

Windows 7 had a hell of a run. After the wide rejection of Windows Vista, Windows 7 set the bar for all Windows versions to come. It continued the technical advancements from Vista while righting most of its wrongs, all wrapped up in a friendly, reliable package. This combination was a tremendous success, and users loved Windows 7 so much that it had the longest support lifespan of any version of Windows - over 10 years!

Dolphin has been proud to support Windows 7 for its entire life, and then some. We've supported Windows 7 for 13 years, making it our longest supported single operating system version ever. However, all good things must come to an end. While Windows 7 was able to survive the release of Windows 8 and 8.1, Windows 10 finally provided another popular option, and users have moved on. With Microsoft ending support for Windows 7 a few years ago and more and more software abandoning it, supporting Windows 7 has become a liability for us.

After several months of breaking/restoring Windows 7 support, we've decided to drop support for Windows 7... and Windows 8 and 8.1. We did not take this decision lightly, but after evaluating the situation, we knew what had to be done in order to make sure we can keep working on Dolphin without having to make compromises.

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: February, March, and April 2022

After a long wait, the Progress Report is back! This time it wasn't so much from a lack of content, but from a lack of content creators. The past three months had illnesses hit one of our writers and the other had a very challenging move. Even with these major hurdles jumped, we're not even close to 100% yet. It's been a battle to get caught up with all of the big changes to Dolphin the past couple of months and because of that this report is a tad late.

Needless to say, there's only one way to start catching up, and that's to get to digging through the past three months of Notable Changes. Enjoy!

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: November and December 2021, January 2022

This year, we've hit an important milestone that's been in the works for nearly a decade. In late 2012, Sonicadvance1 began work on Dolphin's ARM JIT. Back then, there weren't any devices that had even a sliver of hope of running Dolphin close to full speed, but that wasn't really the goal. All he wanted to do was see if it could be done; it sounded like a fun, challenging project. However, as time passed the idea turned into more than just a passing curiosity. Users were more than happy to donate to cover the hardware cost of staying on the bleeding edge of a rapidly evolving ecosystem, allowing ARM development to flourish. By 2015, Sonicadvance1 astounded developers and the community alike with footage of Mario Kart: Double Dash!!'s time trial mode running close to full speed.

We've come a long way.

On that note, we're happy to announce that Dolphin's AArch64 JIT has finally reached feature parity with Dolphin's x86-64 JIT. This means that every PowerPC instruction that the x86-64 JIT supports along with every major JIT feature are now supported in the AArch64 JIT! And this is a great time for ARM in general, with each generation of processor pushing the boundaries and companies like Apple adopting the architecture for larger and higher power devices like their M1 Mac line. For those on mobile phones and tablets, Adreno powered devices provide decent enough graphics drivers to get a reasonable experience at this point. And with a critical bottleneck getting fixed just days ago, performance on Adreno GPUs has skyrocketed. You won't have to scroll far for that news, we promise.

But that's only the tip of the iceberg; we've had three months worth of changes pile up and some other important infrastructure news. We've improved the user experience on macOS significantly and restored support for older devices. In fact, enough has happened that we'll be detailing the status of Dolphin's macOS support near the end of the report.

And... we haven't even talked about any emulation fixes yet. The past three months have had tons of changes that would have normally been the highlight of a Progress Report. The three month gap between reports was not because of a lack of changes. Want to take Riivolution games on netplay? You can. Hate the EA VP6 bugs? Make them a thing of the past with a new option. Wish your favorite LogicOp game worked on GLES or MoltenVK? Odds are, it does now! The list goes on, but outlining everything would take way too long, so let's just dive in. Please enjoy the November, December, and January Progress Report!

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: September and October 2021

It's the beginning of the month and time for another Dolphin Progress Report! ...That line doesn't exactly work when it's midway through the month, huh? This Progress Report ended up being a very technically challenging report to write with several huge rabbit holes that go through the history of Dolphin and the games themselves. The first rabbit hole showcases TMEM, the GameCube and Wii's texture cache. Dolphin's approach to emulating this bit of the hardware has been to effectively ignore it exists. Trying to even begin to rectify the problems with this approach and explain the reasoning behind why it sort of wasn't emulated go very, very deep. This Progress Report also contains collaboration with the PCSX2 development team as they helped us understand some of the behaviors of Floating Point Math on the PlayStation 2. The fact that the PlayStation 2's floating point behaviors mattered to us for this Progress Report should tell you the kinds of things we were up against when writing up the changes.

If that wasn't enough, Dolphin also welcomed support for a wealth of mods through support for Riivolution. An easy to use GUI for launching Riivolution mods was added both to desktop Dolphin builds and Android. Speaking of Android, users may have noticed we pushed out an early beta last month. This beta was mostly to showcase and let users on the Play Store try out the newly finished Cheat GUI! We'll finally showcase that after a lengthy delay between when that extra beta was pushed and this Progress Report. While it's not related to Dolphin directly, Apple released the new M1 Max and we got our hands on one to see how it stacks up against the M1 with some rather interesting performance numbers at the end of the report.

With that out of the way, there's no point in delaying things any further. Please enjoy these rather lengthy Notable Changes!

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: August 2021

Many gaming communities over the years have reached out to thank emulator developers for their efforts. Emulators are an important part of many classic game communities and give players access to features like netplay multiplayer, modding, and savestates, while also opening up the doors to enhancements not possible on console. Sometimes it's simply more convenient to use an emulator that runs on your desktop, tablet, or phone rather than to dig out and hook up the original console every time you want to play one of your favorite games. However, it's important to state that our relationship with gaming communities is mutual, and without the help of players and fans, there's no way we could handle maintaining a library of thousands of games.

In this Progress Report, the gaming communities were the direct catalyst to many of the changes. They went on difficult debugging adventures, caught small issues that would be invisible to anyone who wasn't extremely familiar with the game, and even came up with patches to make games friendlier to emulator enhancements. All of these contributions, even if it's not code, are appreciated and help make Dolphin what it is today.

So, without further delay, let's get started with the August Progress Report! Enjoy.

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: June and July 2021

Emulation is often seen as this suspect gray area of gaming that is tolerated but always on the edge. There's a lot of negativity and questions around the merit and purpose of emulation. In contrast to that narrative, the overwhelmingly positive reaction to some of the features added the last few months, including heartfelt reactions from users, make all of the challenges and struggles so much easier.

As we drift further from the heyday of the GameCube and Wii, we've been seeing a greater impact not only on the past generations of gamers, but the current one. It was heartwarming to see long-time users able to play Four Swords Adventures with their kids or friends across the world. The gratitude we received from users finally able to try previously hard-to-access features in their favorite games was so appreciated. We love these games and consoles the same as you, and we want to make sure that they live on.

Sometimes with all the negativity in emulation, it's refreshing to have something that makes both the developers and the users happy. And while we'd love to revel in past accomplishments, there's still so much more work to be done. We graciously thank everyone for their kind words over the past few months, and hope you continue to enjoy using Dolphin Emulator. With that said, it is about time that we get started with the June and July Progress Report.

继续阅读

mGBA Integration: Introducing the Integrated GBA

Your eyes are not deceiving you. As of 5.0-14690, Dolphin now has mGBA directly built into it as a new way to handle Game Boy Advance connectivity with GameCube titles. For those who don't know, mGBA is the most renowned and accurate GBA emulator of this era and has been rapidly improving since its inception. Recently, we wrote about mGBA adding support for our TCP GBA protocol, but this is something completely new. With integration and synchronization work done by bonta, connecting your favorite GameCube titles with a Game Boy Advance for multiplayer and other bonus features is now greatly simplified. Dubbed the Integrated GBA, a stripped-down version of mGBA will boot up alongside Dolphin when set to one or more controller ports. These mGBA instances are clock-synced to GameCube emulation for impeccable connection stability. By bringing these two emulators together in one package, GBA connectivity features now work with popular features like savestates, input recordings, and netplay! All of this comes with the added bonus of improved performance and compatibility. If you don't believe us, check it out yourself!

Introducing the Integrated GBA!

继续阅读

Dolphin MEGA Progress Report: April and May 2021

After finishing up the macOS M1 article the blog staff took a little break. Then they saw the date.

Oh shi-

Upon looking at the actual changelog, however, something became readily apparent: this wasn't going to be just a Progress Report; this was going to be a MEGA Progress Report. The long rumored time era of developers merging everything at once had finally come to pass. We have graphical fixes for Super Mario Galaxy and Luigi's Mansion, crash fixes for Star Wars: Rogue Squadron III, Xenoblade Chronicles, Ultimate Spider-Man, The Legend of Zelda: Skyward Sword (AArch64), and new features that make playing games more pleasant! And about AArch64, there are a litany of optimizations and fixes that will change things across most of the library.

And we could go on: Bounding Box, Interpreter, GBA to GCN connectivity, GPU Syncing, Mouse Locking, and still more! There's even a lengthy dev diary at the end for good measure explaining how the great mystery of Pokemon Box's was finally solved. The only way to do it justice is to do it right. So buckle up and get ready for the April and May MEGA Progress Report.

继续阅读

欢迎在本文的论坛主题帖中参与讨论。