melonDS 0.8.1 is out, and that fixes some of the issues that were discovered in 0.8 (mostly stupid oversights, heh), but also adds a few other features and fixes. Let's see.

Input upgrade

The input code has been reworked to be more pleasant to deal with, especially with regards to adding hotkeys. In less nerdy terms, what does this mean?

It is now possible to map keys with modifiers, like Ctrl+Z or Shift+R or even combinations like Ctrl+Alt+Q. It is worth noting that during mapping, you should use left-hand Ctrl/Alt/Shift keys for these mappings. However, ingame, both sets of keys should work. This feature may not be too useful for DS input, but it should be more handy for hotkeys. It is also possible to delete a key mapping by pressing the Backspace key during the mapping process.

I have also been upgrading joystick support. You can now choose which joystick to use, and can map axes to buttons/hotkeys.

The twist to this is that I liked the old "axis maps to DS dpad" feature, and how it could be used alongside regular button/hat controls. I didn't want to lose the ability to use both, but I also wanted to make it, well, not a hardcoded mapping. So instead, you can map both a button/hat direction and an axis to each control. When mapping a joystick control, pressing a button/hat direction keeps the axis mapping intact, and vice-versa. You can delete both mappings by pressing Backspace during the mapping process.

The aforementioned axis support should also be able to support analog triggers, which are typically exposed as axis controls.

I also added support for multiple hat controls.


OSD

This new, optional feature shows some short, temporary status messages onscreen. For example, when loading or saving savestates, pausing, resuming...

The idea is to give some visual feedback about these operations, rather than, say, have savestate loads just appear to do nothing because the slot is empty.

You can disable the OSD if you find it to get in the way.


New hotkeys

You might remember that some early melonDS versions had a secret hardcoded fast-forward hotkey. This seems to have appeared in version 0.3, but eventually disappeared with the UI revamp in version 0.5.

Well, now, with Ace4896's contribution, this feature is back with a proper hotkey mapping. There is also a 'toggle' hotkey that enables or disables the framerate limiter.

I also added hotkeys for pausing and resetting emulation.


OpenGL fixes

Several of the crashes and rendering errors that appeared in 0.8, stemming from the new OpenGL support, have been fixed in this version.

I also added a little hack to support line triangles in OpenGL, and a preliminary implementation of edge marking, which you can see demonstrated in one of the screenshots above.


There's also a bunch of little fixes and optimizations, as usual. Enjoy!


melonDS 0.8.1, Windows 64-bit
melonDS 0.8.1, Linux 64-bit

If you're feeling generous, if you want to help us take this OpenGL renderer further: here's our Patreon

http://melonds.kuribo64.net/comments.php?id=93