Project Lunar – Folders, multi console stock UI support inbound + Giveaway

Project Lunar – Folders, multi console stock UI support inbound + Giveaway

Post 1.0.0 Road Map – Folder Support, Multi Console support & Free Sega Genesis Mini Giveaway!

Hi everyone! We would like to thank everyone for their input and feedback. We feel we have had a very successful launch and the feedback we have been getting has been great, we officially had our busiest release ever! We have had in 72 hours since release: 2,800,000 hits on our front end site and approximately 60,000 installer downloads! To say this is mind blowing to us would be an understatement.

We have made three desktop updates fixing bugs since release. With only one issue remaining (savestates) and common user issues like users unable to install the app initially (waiting for reboot).

To touch on the “waiting for reboot” problem quickly, we identified an issue on the first release where it would make it more likely for users to receive the “waiting for reboot” problem, however, we have fixed it with the .44 release of the desktop app. If you still have issues and have not updated since then… Do so now! The other causes of this problem are the same as if you were to use the (S)NESC. We will set up a troubleshooting guide shortly to help people out but it would appear a lot of those issues are quietening down now so that is good.

So what’s next?

We are excited to tell you that we are already working on 3 major components:

  • Savestate overhaul
  • True folder support
  • External console support for stock UI

All these features are currently being worked on and will be rolled out asap within rolling updates very soon.

Savestate overhaul:

Since the release of PL 1.0.0 after some in-depth analysis, we have found a major flaw within M2’s stock savestate code. It would appear when the MD Mini software was being developed it was bolted on top of the SEGA Classics PS3/XBOX360 codeset and by a different team internally within M2. Because of this, they made a huge mistake with the savestates and how they are managed. (This flaw actually affects stock units and can corrupt saves!)

With this flaw in place, it means no one is able to make proper folder support and have the stock emulator working normally. It’s also causing some weird positioning of savestates issues for some users of PL 1.0.0.
True Blue doesn’t have this issue as they statically (and illegally) bundle all their ROM data files in to separate locations. Because these ROM data files don’t change the problem doesn’t exist; It only affects users who add and remove games. Go figure!

Good news though! After 10 hours of debugging and a lot of math (A LOT OF MATH!), we have finally worked out how to resolve the flaw and improve it. We also worked out the SRAM formatting so technically you should be able to export and import SRAM save files to and from the console at some point.
We are currently rewriting a good chunk of the stock code and logic to fix this problem. As soon as the issue is verified as fixed it will be rolled out immediately to all.

TRUE Folder support:

This is a big one. The reality is, we could have implemented folder support for 1.0.0 however we decided against it. Thank god we did, seeing as we only noticed the savestate flaw after release! The main reason we did this is because the folder method would have sucked.
In summary, the bad solution is:

  • Detect a button combo/game selection and close the m2engage program
  • Redirect the m2engage binary to a different ROM data file and indexing file
  • Reload the m2engage binary as if it was just booting up

Why does this suck? Mainly because it’s not fluid and not versatile.
You are effectively closing the program, reloading the data and then waiting at least another 5 seconds in between “folder” transitions whilst staring at a black screen. This is basically “pseudo” folders. We want to take it a step further.

We are currently rewriting a chunk of the stock UI code to allow multiple “pages” within the UI. This means we will be able to construct multiple pages that contain their own index arrays and assets, instead of having to close the app, reload, then start the app with a new data set. We will aim to manage the whole process within the stock UI and have it refresh without the need to reload. Meaning that it will all be animated and seamless as possible with minimal wait time.

It should be noted proper folder support along with stock m2engage emulator support (with adding/removing games) will not be possible until someone overhauls the stock savestate system.

Work has already been carried out on this and shouldn’t take very long to implement. We are currently waiting on the savestate overhaul to finish to continue. In the meantime we are mocking folder artwork for the console. Below are some mock ups (ARTWORK IS NOT FINAL!):

https://cdn.discordapp.com/attachments/625743493406523403/661705971759841373/unknown.png

https://cdn.discordapp.com/attachments/625743493406523403/661706170418855967/unknown.png

Multi console support for the stock UI

https://cdn.discordapp.com/attachments/405372357298094082/661629155938402331/unknown.png
As stated before, a lot of this code was actually coded into Project Lunar 1.0.0. We delayed it so we could concentrate on day 1 bug fixes and QOL improvements. Now we are effectively near the end of the 1.0.0 bug fixing, we are going to roll out the multi console support for the stock UI in a rolling update coming very soon.

This will mean that you can add any console game you want, be able to use the scraper on it and easily select what RetroArch core you would like it to be run from. It means you will be able to play any other console from your stock UI and have it look, feel and function like normal but have RetroArch powering the emulation in the background from the stock UI.

https://media.discordapp.net/attachments/625743493406523403/661697460678164480/unknown.png

Small other features being added in upcoming rolling updates:

  • Addition of Stock UI BootMenu/RA item toggle
  • Theme toggle: Switch between JPN and US/EUR themes with currently selected language
  • Couple more QOL fixes and improvements to the Mod Manager
  • EmulationStation tighten up, make it easier to use and add items

And lastly…

To celebrate a successful launch and the coming of the new year. We are giving away a FREE SEGA Genesis Mini!

All you need to do is to react to this announcement post link in the discord with the project lunar emoji and you will be entered in the draw to win a free SEGA Genesis Mini (US model).

Entries close on the 31st of January. So make sure you jump in the discord server and react to that post to be entered.

Final note:

Thanks again for everyone’s kind words and support in these recent days. As always we are available for support on the discord server and if you need any help just ask and we will try our best to get to you as soon as we can!

ModMyClassic + The Project Lunar team

Mod My Classic