What I’ve Been Working On Lately: Three Projects, Three Different Milestones
A major Vulkan FastPath update, nine months of SeedlessDS reconstruction, and my first RetroAchievements experiment on Game Bub.
Hey everyone!
A lot has been happening behind the scenes, so I wanted to share a broader progress update.
But before getting into everything, I also have something exciting to announce:
WatermelonDS is getting a new Patron-only test build tomorrow.
This build will give paid Patrons early access to the latest WatermelonDS improvements, including the recent work on Vulkan performance and audio stability.
It is still a test build, so your feedback will be especially important in helping me identify what still needs work before the next public release.
Now, onto the rest of the update.
Three projects have taken most of my development time lately: pushing WatermelonDS FastPath much further, getting SeedlessDS closer to a major reconstruction milestone, and starting a new RetroAchievements experiment on Game Bub.
WatermelonDS , Major Vulkan FastPath Progress
Vulkan FastPath has made a major leap in both stability and performance.
In my current test set:
In my current test set, devices using a Snapdragon 8 Gen 2 are now reaching full speed in every 3D title I've tested so far at 8× internal resolution.
Devices using a Snapdragon 865 are reaching full speed at up to 6× internal resolution.
For games that target 60 FPS, this means a stable 60 FPS under those test conditions.
I also fixed the main audio crackling issue that appeared whenever emulation slowed down, and implemented several audio functions that were still missing from the current implementation.
FastPath is still experimental, and results can vary depending on the device, GPU driver, game, and settings. There are still bugs to solve, but this is by far the strongest and most stable it has been so far.
Game Bub , The First RetroAchievements Proof of Concept
A new device has joined my workbench: Game Bub!
My unit finally arrived, and I have already implemented the first pieces needed for RetroAchievements integration in GBA games.
Right now, Game Bub can:
Bring up its Wi-Fi connection.
Log in to RetroAchievements.
Hash the loaded game.
Identify the matching RetroAchievements game ID.
Report the game as active on the user’s RetroAchievements profile.
The next major test is the important one: triggering and verifying a real achievement unlock.
This is not complete RetroAchievements support yet, but the core communication and game-identification flow is already working on the actual device!
SeedlessDS , Nine Months of Decompilation and Reconstruction
The SeedlessDS decompilation and reconstruction effort has now been underway for nine months, and I am getting very close to completing the main reconstruction stage.
This is a huge milestone, but it does not mean an immediate public release.
Before any release can be considered, the reconstructed codebase still needs cleanup, stabilization, documentation, extensive testing, and a careful review.
Even so, after nine months of work, finally seeing the end of the main reconstruction stage is incredibly exciting.
The goal remains to make the reconstructed SeedlessDS codebase available when it is genuinely ready.
What still comes next
Code cleanup
Stabilization
Full release of src code!
Which One Should I Show Next?
I would love to know which project you want to see in a deeper post or video first:
A WatermelonDS FastPath benchmark and comparison.
A SeedlessDS decompilation and reconstruction dev diary.
A Game Bub RetroAchievements demonstration.
Leave your choice in the comments!
And don't forget: the new WatermelonDS test build will be released tomorrow exclusively for Patrons.
Your support is what helps fund the tools, test hardware, and development time behind projects like these. Patrons also receive early test builds and a direct voice in what I focus on next.
Thank you so much for being here and for continuing to support my work.
- Sapphire 💙
Comments (17)
Late to the party, but dang, your output is AMAZING and holding up a corner of the community. Since everyone went DS-wild this past month on retro consoles, I imagine your projects have been getting more attention. Personally I am so excited to see what is next for SeedlessDS!
Wish for a fix for periodic stutters, when retroachievement enabled, please!
Thanks for reporting. To narrow it down: which device and game, does the stutter go away with RetroAchievements off, and is it hardcore or softcore mode? Also try the new test build, the audio and Vulkan changes may already affect this. If it still stutters, a MelonDualLog captured during one of the stutters would help me find it!
We are Game Bub 🍒
Yes we are!
It’s amazing to see you’ve already got a working concept for Retro Achievements on the Game Bub - I received mine early this week and I’ve been having an absolute blast with the device, but the addition of RA support would truly make this the ultimate modern GBA for me. I’d love to help test, if the opportunity arises! Keep up the amazing work!
Thank you! Glad the Game Bub is treating you well. Right now it is a proof of concept on my own unit and the next step is getting a real achievement unlock to register. Once I have something stable enough to share I will post a tester call here, so keep an eye on the feed. Which GBA games are you playing on it most? That helps me pick what to test first.
Are you planning to add support for a frame generator (LSFG) to Watermelonds, similar to what the Drastic Switch, ARMSX1/2/3 and eden did?
It is on my radar. Not before Vulkan and audio are solid, but I have looked at how those projects did it and it is doable. No timeline yet. Which device would you use it on? That helps me know what hardware to test against when I get there.
I want to see watermelon ds fast path video first. Is the new test build going to have the issue with not detecting the second screen on the pocket nova with the second screen fixed by any chance?
I saw your report on the test build post, where you are already running Black 2 on the Nova with the second screen at 8x, so it looks like this build behaves better there. If the second screen is now detected every time, tell me, because I want to know if it still fails sometimes. If it still drops out, Nova firmware version and a MelonDualLog from that moment would help a lot!
Man I wish there was a way to add retro achievements to the Analogue Pocket like the game bub.
Same wish here. The Pocket runs on FPGA cores rather than an emulator I can modify, so it is a very different job, but I have already asked Analogue for a development unit. If I get one and it turns out to be doable, I will absolutely look into it. No promises yet, I need the hardware in hand first.
Personally, I'd like a video dedicated to Vulkan Fastpath and what it does for emulation. At the moment I don't really know what it does so I just have it turned off for my SD 8Elite phone.
Good question, and you are not the only one. FastPath skips or merges work the DS does, not to drop anything, but to avoid doing the same job twice, and that is where the speed comes from. You have a point and thats why the toggle is going away: it was confusing, so it will just be on by default from the next build. On an 8 Elite you have plenty of headroom, so turn it on now and if a specific game misbehaves with it, tell me which one.
1
Noted, thank you!
