Lemuroid 1.17.0

lemuroid_1_17_0

It has been ages since I last wrote on this blog, but Lemuroid 1.17.0 is finally out and that deserves a post.

Headline changes:

  • Added microphone support for Nintendo DS (MelonDS only)
  • Deprecated DeSmuME, now replaced by MelonDS
  • Completely redesigned touch controls
  • Added immersive mode with dynamic background color (as you can see in the pic)
  • Make autosave more robust
  • Slightly improved HD mode
  • Added quicksave/quickload gamepad shortcuts
  • Added support for 16Kb pages
  • Updated all cores and databases
  • Various UI/UX improvements

A lot of work also went under the hood to modernize the app: the mobile UI is now 100% Jetpack Compose (TV is still pending) and the controls have been completely redesigned.

You can grab it on Google Play, Github and F-Droid alongside the usual channels.

One reason this version stayed in beta for a while was the return of an old Samsung multitouch issue caused by Samsung Game Booster. The new controls made it affect more users, so I worked with Samsung to blacklist the app there and also moved it to a different Google Play category to be extra safe.

Another common issue was missing saves when the app was closed from the recent apps screen. To avoid broken save files, the normal save flow was intentionally skipped in that case. Lemuroid now tries to save whenever it goes into the background, with safeguards to keep that reliable even if the app is killed shortly afterwards.

On a personal note, a lot has changed this year, including cofounding GCast with a dear friend to bring low-latency mobile game casting (retro games included) to the TV. That has made my open-source time a bit tighter, but hopefully this Lemuroid refactoring will make future updates easier to ship.

Enjoy!

CUT3 Released

release_screenshot

Hi everyone,

Over the past few months, I’ve been working on enhancing the CUT algorithms in Lemuroid. For those unfamiliar, CUT (Cheap Upscaling Triangulation) is a family of upscaling techniques that transform pixelated games, giving them a modern HD appearance.

I started this quest by completely rewriting CUT2, making it faster and significantly better at handling antialiased edges. This brings noticeable improvements to modern games and in games with mixed 2D and 3D content, like the classic Final Fantasy titles on PSX.

Building on that, I developed a new variant, CUT3. While slightly slower, CUT3 has the ability to approximate edges at any angle, improving shapes especially in retro games.

I’m sharing a demo web app where you can see the new shaders in action. It showcases how the filters look on a wide range of games, from the 8-bit era to modern titles.

As always, the code is available on GitHub under the GPL3 license. Feel free to check additional details or use it in your own open-source projects.

These enhancements are already available in Lemuroid 1.16.2, so make sure to update the app and let me know what you think.

Enjoy more games in HD!

Lemuroid 1.15.0

release_screenshot2

Dear fellow readers,

It has been a long time since I last wrote here, but I’m back with some exciting news.

Lemuroid 1.15.0 is out and comes with major improvements to the HD mode.

I’ve spent the last few months working on a new upscaling algorithm, called unsurprisingly CUT2, which improves interpolation and handles edges at 30°, 45° and 60° degrees.

Feel free to check more screenshots and details on the CUT Github page.

If you prefer, you can still use the older version by toggling “Advanced Settings -> Prefer Legacy HD Mode”.

As always, you can grab the latest Lemuroid version, with updated cores and database, on Google Play, Github and F-Droid.

Cheers!

Lemuroid 1.13.0

It’s finally time for a new Lemuroid release. It took a while, but I promise you 1.13.0 was worth the wait.

There are three main changes:

  • New Material You UI: The UI now follows the new Material You guidelines, and if you own an Android 12 device, will change style depending on your background.
  • Beta Support for 3DS: The Libretro guys recently polished and updated the Citra core, and porting it to Android was quite straightforward. It’s still pretty barebone and deprived of settings, but already serviceable.
  • Direct Load: Some changes to cores were required, but now Lemuroid is able to load games directly from storage, without copying them to the cache directory. This means that PSX, PSP and 3DS games, which are usually quite big, load instantly when not compressed.

If that’s not enough, here’s a list of smaller changes:

  • Add support for external keyboards
  • Add support for gamepad and device rumble
  • Opening game menu now requires a long press
  • Slight improvements to touch controls layout and behaviour
  • Expose sync save button
  • Update all cores and game database
  • More fixes

The update will be shortly available on Google Play, Github and F-Droid.

Enjoy!

cool-retro-term 1.2.0

layouts

These last few months have been particularly busy for me, both from a personal and professional perspective. My open-source time was reduced to basically zero, but I feel like I’m slowly getting back on track.

I decided to revisit an old friend, which was desperately in need for some love, so I’m very proud to announce version 1.2.0 of cool-retro-term.

Here you can find the changelog:

  • Migrated QtQuickControls from 1.x to 2.x
  • Fixed a lot of issues with MacOS build
  • Added support for blinking cursor
  • Added sub-pixels rasterization
  • Updated qtermwidget engine
  • Updated many fonts to the latest version

As always, you can grab it from the GitHub Release page.

Cheers!