Lemuroid 1.11.0

This wanted to be a minor release, but a few important features slipped in, so say hi to Lemuroid 1.11.0.

There are a couple of new platforms, Neo Geo Pocket / Color and Sega CD, but the main focus has been on quality:

  • The disk scanning procedure is now way more robust, especially with cue/bin files
  • Multi-track disks are now properly supported
  • Single gamepads can be disabled (very important when strange TV remotes take the lead)
  • New translations on Crowdin (thank you very much guys!)
  • Nearly every core has been updated to the latest Libretro version
  • Some bugs and crashes have been fixed

Last, but definitely not least, this release also improves on tilt input. This feature was introduced a year ago only for sticks, but after a lot of thinking, I decided to extend it to more controls.

Tilt input improvements

While touch controls are designed to be used with thumbs, physical gamepads allow more simultaneous actions. Let’s take a look at how you shoot in the first Resident Evil game:

  • You keep your right index on R1 to raise your gun
  • You aim using your left thumb on the DPAD
  • You shoot with your right thumb by pressing X

This is basically impossible to achieve with two fingers, but the tilt sensor can act as your third one. If you triple tap together L1 and R1 (or L2 and R2), Lemuroid will calculate the rest position and map left and right tilt motions to L1 and R1 respectively, so you’ll be able to aim just by tilting your device to the right.

This maps very well for many other games. You’ll finally be able to simultaneously shoot and strafe while playing DOOM or shift gears Gran Turismo. Ah, and If you triple tap exactly in the middle of the DPAD you’ll also be able to play Pokemon games with just one hand. Please give it a go, I’m eager to hear your feedback.

Thank you Supporters

I’d also take the opportunity to thank all the people who supported and are supporting Lemuroid. It’s great to see that people genuinely appreciate the 18 months of work I’ve put into this project and decided to give something back. You guys are awesome!

Cheers!

Lemuroid 1.10.0

Hi guys, it’s been a while since I posted here, but that doesn’t mean the work on Lemuroid stopped, on the contrary. I’m pretty proud to announce that version 1.10.0 is out, and it’s bigger than it looks.

It comes with major reworkings in a few key areas so let me just give you the highlights:

Added support for three new (old) platforms: PC Engine, Atari 7800 and Atari Lynx.

Cores are now downloaded on demand. After you scan your library Lemuroid will just take a look at your games and settings and only download the cores it requires. This, together with some additional optimizations, reduced the download size of the application to just 6MB. Each core will require an additional download from 100KB up to a few MB.

On some consoles, it’s now possible to choose between different gamepads types and different touch controls. This means that you can now switch between Standard or DualShock for PSX, 3 or 6 buttons for Genesis and 4 or 6 buttons for Arcade.

The application is now fully localizable on crowdin, with translations for Italian and Portuguese (BR) already included (thank you guys, you were really fast). Feel free to follow that link if you want to contribute your own language or proofread the work of others.

Added the possibility to support me via in-app purchases. Lemuroid is and always will be completely free, with no Ads or any feature blocked behind a paywall, but if you enjoy it and want to ensure its future development you can now do so in just one click.

The rest of the changes are under the hood. Cores and databases have been updated, and many application libraries have been updated or replaced. A bigger refactoring also landed, which brought faster and smoother game loading.

Have fun with it!

Lemuroid 1.8.0 with MelonDS and MAME2003-Plus

Hello fellow readers,

To celebrate the first year of Lemuroid, I’ve published a new version with two major features: improved Nintendo DS emulation (with MelonDS) and MAME 0.78 support (with MAME2003Plus).

For almost a year we survived using DeSmuME, but now that MelonDS has made some huge steps forward with version 0.9, including a dynamic recompiler for 64bit CPUs and many optimizations, it’s time for some changes.

I submitted a few patches to fix the Android port, added some firmware emulation options, and integrated the Drastic open-source BIOSes. Add a few of bug-fixes on top and stir for a month of tests and you’ll get a Nintendo DS emulator that is twice as fast.

We really need to thank Arisotura and her team. They worked very hard on the project, but we can finally enjoy a great open-source DS emulator on Android.

Some of my patches are still waiting for an upstream approval, but rest assured, as soon as these are merged you’ll be able to reap the benefits also in RetroArch.

The integration of MAME2003 Plus was a lot more straightforward, requiring only some slight changes to LibretroDroid.

Since we’re talking about big news: Lemuroid is also available on F-Droid. It’s a special version deprived of every Google library, which also downloads cores on demand.

Here you can find a complete changelog of Lemuroid 1.8.0:

  • New Nintendo DS core (MelonDS)
    • ~2x the performances of DeSmuME
    • Saves and States are not compatible with DeSmuME
    • Enable it from Settings -> Change Cores -> MelonDS
  • Add support for MAME2003 Plus core
    • Support MAME 0.78 romsets
    • Use full non-merged ROMs for auto-detection
  • Redesigned game menu Improved
  • Improved touch controls customization experience
  • Improved Arcade and MD/Genesis gamepad layouts
  • Fix possible crash when saving/loading games (thanks you Nicholas)
  • Fix directory scanning on Chromecast with Google TV (thank you vicviper74)
  • Many more tiny changes

As always, huge thanks to all the people who are supporting Lemuroid through tests, feedbacks or donations.

Enjoy!

Lemuroid 1.7.1 with fast-forward and quality

This last month I’ve been very busy drafting the release of 1.7.0, and later 1.7.1 for bonus bug fixing.

The biggest work went towards redesigning audio, which now runs on a separate thread and reduces glitches by imperceptibly accelerating and decelerating playback speed. This can’t make up for weak hardware running modern consoles, but it surely improves one of the biggest issues affecting Lemuroid. I’ll probably write a separate blog post about this. It was a very interesting and challenging problem.

The second most important change is fast-forward support. The most requested feature is here, and you can finally farm at double speed.

Something else happened in this release. It’s the first time Lemuroid (and LibretroDroid) received non-trivial external contributions, so a big thank you goes to Roberto and Tyler for their efforts.

And now for dessert, a lengthy changelog:

  • Add fast-forward option
  • Add mute option
  • Reimplemented audio from scratch to be more robust to glitches
  • Fix potential crash when loading PSP games
  • Fix screen flickering with some PSP games
  • Fix crash while playing Drill Dozer on GBA
  • Change n64 resolution to the original 320x240
  • Exposed dynamic recompiler option for PSX (Enable it for better performances)
  • Updated games database
  • Fix issues with some PSP games running too fast
  • Fix missing trigger events with some gamepads
  • Fix missing gamepads events in some scenarios
  • Fix wrong aspect ratio with Genesis games
  • Improved error handling with clearer messages
  • Small fixes and improvements

A big thank you to the people who are supporting Lemuroid with code, donations, and testing. You’ve been amazing.

Enjoy!

Lemuroid 1.6.0 with many improvements

Finally! I’m very happy to announce Lemuroid 1.6.0, with nothing particularly shiny but many many quality of life improvement, especially for PSX and Android TV:

  • Added support for chd and cue/bin format (PSX)
  • Added support for multi-disk games with m3u playlists (PSX)
  • Added support for favorites on Android TV
  • Improved LCD filter which now looks sharper
  • Allow changing display filter (Smooth, Sharp, LCD or CRT)
  • Improved scanning performances (on my directory it’s around 3 times faster)
  • Cores are now bundled within the application (read afterwards for details)
  • Many small tweaks and improvements

You’ll find the update on Google Play or Github.

A lot of work went into the scanner, which is now able to handle bin/cue files and m3u playlists for multi-disk games. This should make the majority of PSX ROMs compatible with Lemuroid.

Another heavily requested feature by the community was a sharper image filtering. The default bilinear filtering doesn’t always look good, especially on TVs when using the LCD shader. The nearest neighbour filtering has its own set of issues when scaling by non integer factors, causing inconsistent pixel sizes throughout the image. The best solution I found is a sharper bilinear filtering by sampling pixels in a smarter way. Try it out and let me know what you think!

Why are cores now bundled within Lemuroid? Because Google Play blocked updates for Retroarch for downloading untrusted executable code. Lemuroid did the same and it’s a real security concern, so after a few failed attempts with Dynamic Features, I decided to bundle cores with Lemuroid. This increased the download size from 6Mb to around 25Mb but should make it compliant.

And that’s all the news this month, excluding that Lemuroid was removed and reinstantiated on Google Play for an mysterious policy violation, the hacker attack to the Libretro servers and the guy who tried to sell GBA games using a Lemuroid clone.

Yeah. It was a quiet month…

If you are enjoying Lemuroid and appreciating my work, you can support my endeavours here.

Cheers!