2. posts
  3. new-emulator-byuu

New Emulator: byuu

New Emulator: byuu2020-01-31 00:08:04

Okay, so this'll be a large announcement. For now, I'm asking that you keep the news to my own circles and not submit it to news aggregators, please. I want to have something tangible to show people first.

I've started on a new emulator project. Well, specifically a new user interface.

byuu emulator preview

The goal is to share the emulation cores from higan, but create a new UI that focuses on ease-of-use in the same way bsnes does. bsnes was highly successful, and resulted in literally dozens of important bug reports and subsequent fixes to my SNES emulation core, which benefited higan very much as well. Already, bsnes contributions have surpassed higan by ~40% and it has grown to be my predominant project in spite of being only one emulator core.

If higan's other cores are to have a future, they need community support and interest from other developers to help out. There's simply no way I can devote ten years of my life to all 23 other cores in higan the way I have with the SNES core. I'm only one person and no one lives long enough for that. I desperately need help with my Sega CD emulation, for instance, but higan's UI is getting in the way of that.

As I've explained in the past, I want higan to emulate everything possible. Yet every additional edge-case feature higan adds complicates the creation of an easy-to-use UI. Try and create a recursive Tower of Power stack with any other Sega Genesis emulator, for instance. Or try connecting two Super Scopes, a mouse, and another Multitap to a base Multitap in any other SNES emulator. Crazy edge cases? Definitely. Worth preserving? To me, yes.

But for 99% of use cases (just loading and playing a game), it complicates the emulator too much. So I'm creating a new emulator that will exclude the most extreme cases, and in return produce an emulator that's as easy to use as bsnes.

From the start, it will be a standard desktop-style UI, but in the long-term, my hope is to create a hybrid UI that can be used on the desktop with a keyboard and mouse or on a TV with just a gamepad. But perhaps I'm getting too ambitious here.

higan and bsnes development will continue as normal. This will just serve as something of an intermediary between the two. bsnes still needs to exist as a hard-fork emulator, in order to add speed-hacks and enhancements beyond what the original hardware was capable of, things that are contradictory to the goals of higan. I will however likely use this opportunity to renew interest in trying to speed up higan cores without sacrificing accuracy. bsnes has helped me come up with many new tricks for that, which I believe I can apply to the upstream higan emulation projects now.

Of course, a new emulator needs a new name. As per my previous post, I've recently started on my final attempt at a Bahamut Lagoon fan translation. Starting on this project for the first time in 1998 is where my pseudonym byuu originally came from. I kept the name for 22 years since to symbolize its meaning, "(to make a) mistake", as a reminder that no one is perfect, including me, and that we grow from our mistakes. With the looming completion of my final dream from childhood, I've simply outgrown the name.

If you consider higan is named after one of my favorite SNES JRPG protagonists (from Tengai Makyou Zero), and considering the established connection between my name and accuracy, byuu seems the most fitting name I could think of. And I already have the perfect name recognition, domain, logo, and even company registration ready for it to boot!

Of course that leaves open the question of what to call myself. Once the project is launched, I'll start going under my own name. Although you can always keep calling me byuu if you want.

If you'd like to track the progress, I've set up a new Twitter account where I'll post periodic status updates.

Expect a release some time in 2020.

Thanks everyone! Here's hoping byuu will be as much of a success as bsnes was!


Permalink1 Comment


FitzRoyX2020-02-10 09:59:32Nice to see you are making a mouse ui with fast-as-possible loading. I think this would also be a good time to experiment with global mappings as well. Stretch goal: not having to define 20 paths.

The idea of scanline renderers for all cores is also high on my list. My 4ghz proc struggles to maintain 60fps on your gba core. We've always known that dot-based crushes fps for basically no compatibility benefit. Timings and mappings are what wreak havoc on compatibility. I wouldn't make dot-based anything but a compile-time option.