All posts by Mod My Classic

Project Lunar 1.1 Update news

As promised here is a bunch of screenshots and videos showcasing a bunch of features that have already been implemented within the 1.1 update.

**1.1 Features included and already implemented**
– Added native seamless folder and sub folder support
– Added fast boot option (If stock UI set to autoboot and fast boot enabled… Bypasses the autobooting screen on start up)
– Overhauled stock save system
– Added Save State optimisation (new & existing savestates will automatically optimise down to 50% of the size and are still compatible with stock systems)
– Added native delete save state feature in the start menu
– Added new built in error handling system for native UI + emulator. Any errors will generate on screen detailed error messages and automatically restart the UI
– Removed the Boot Menu and RetroArch “games” from the game view
– Added quit to boot menu key combo to stock UI. (Press start on UI and you will be asked if you want to quit to UI)
– Added extended and advanced option menus to stock UI
– Added BGM and sound effect volume adjustment. (You can adjust stock UI BGM and SFX volume in 25% increments 0-100%)
– Added snap to settings option (button combo to move cursor to settings button)
– Added full theme switching option (switch between JPN,EUR,US themes)
– Added UI controller de-bounce toggle (fix the double press sensitivity on menu)
– Added ability to switch default MD emulator (BlastEm, GenesisPlusGX, PicoDrive, M2Engage)
– Added run via RetroArch option (when game selected, press C to load with RetroArch)
– Added custom FPS counter for M2engage (different colour options available)
– Added debug menu option. (Secret key combo to display STDOUT/STDERR logs)
– Re-implemented M2Engage (stock emulator) SEGA Master System support (TBD if it will be ready for 1.1)
– Added folder selection screen to the stock UI
– Added verbose version information to the stock UI option menu
– Reworked the filter/overlay system for stock Emulator
– Rewrote the stock UI/Emulator to be multi threaded to load faster
– Rewrote asset handling and optimised cache handling within UI and Emulator for better performance
– Rewrote all the stock UI game handling code to now be fully dynamic instead of M2 hardcoded
– Rewrote a bunch of animation functions and cleaned up a bunch
– Rewrote a chunk of the UI code to run more efficiently giving more performance
– Fixed a M2 oversight which reloads the font assets every frame (60fps) on stock UI. Increasing performance
– Added on the fly .M decryption and decompression to volatile memory
– Added custom ModMyClassic library with function classes to allow developers to manipulate the stock UI easily. (Add your own popups, splash screens, UI menus etc)
– Added new and customisable full 720p backgrounds to stock emulator (added bundled, SOR, MegaDrive Neo BG and Project Lunar backgrounds) up to 3 custom slots available
– Added new and customisable overlay/filters to stock emulator (added bundled HD 720p scanlines and scanline+Glass filter) up to 3 custom slots available
– Added new and customisable bezels/frames to stock emulator (added SEGA Genesis, Mega Drive and NOMAD bezels) up to 3 custom slots available
– Fixed a ton of M2 bugs…
– Plus a whole bunch more

Videos: (Some of these videos I meant for internal review only and some of the videos I mistakenly recorded my music in so headphone warning just in case)

Random Screenshots:

https://cdn.discordapp.com/attachments/663006457012289536/718577297120297041/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/718574353184456825/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/718559114816651294/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/718573305254248498/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/718574009578422272/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/718573639187955742/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/718573487501082724/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/704710950556532806/Scene_1_2020-04-28_16-09-14.jpg

https://cdn.discordapp.com/attachments/663006457012289536/704696046340669520/unknown.png

https://cdn.discordapp.com/attachments/533580746317627393/704692847429025882/unknown.png

https://cdn.discordapp.com/attachments/663006457012289536/701191129399558205/unknown.png

Project Eris 0.9 Pre-Release is now live!

After a lot of requests and a long break, Project Eris, the spiritual successor to BleemSync/MMC PlayStation Classic reboot project is now live for pre-release testing! (Public release should follow within a week as long as there is no issues!)

What is Project ERIS?

Project ERIS is based on BleemSync 1.2/1.3 and underwent dramatic refactoring and cleanup. (Estimated about 80% of the scripts were refactored!) Project ERIS comes with a ton of new features, fixes, optimisations, ports, emulators, and much more!

The main purpose for Project ERIS is to be completely solution agnostic. This is to allow users/mods/developers to customise/build and develop their own deployments and mods. PE is fully functional out the box, however it now comes with a fully fledged mod system (same system as Project Lunar) which allows users to add and remove any additional ports/mods or apps wanted.

We hope that opening this up will allow for users or devs to add their own contributions and additions to benefit the community as a whole.

What is new in Project ERIS v BleemSync 1.2/1.3?

  • Dramatically improved and refactored the codeset and debloated
  • Consolidated, improved, and simplified install/update/usage
  • Dedicated Desktop App (*)
  • Huge number of stability fixes
  • Greatly reduced boot load times
  • All the Graphics and audio is overhauled
  • Emulation Station bundled (Properly configured and set up)
  • New .mod system (Same system as Project Lunar)
  • On Console Folder & Game manager (Manage your folders with an easy to use UI)
  • Proper Folder support with folders on stock UI
  • Added ability to launch different console games on the Stock UI
  • New kernel with number of fixes and improvements
  • New and improved fast kernel flashing system (FAT32 2nd USB stick no longer required to update Kernel.)
  • CIFS network mount support
  • Bluetooth support (generic $2-5 bluetooth adapter support)
  • Overhauled network support with improved wifi management UI
  • New Boot menu (like Project Lunar)
  • New latest RetroArch build with fixes and improvements
  • .CHD PCSX support
  • Optimised RA PCSX build (improved performance)
  • Automatic Drag n’ Drop system improved. Just add games to USB folder and go. (9000+ artwork, game and db included)
  • Extra additional controller support
  • Added customised rendering library to allow for extra port support
  • Plus more!

Ports, Apps, Mods galore!

As stated above, the main goal for Project Eris is to allow for users to customise and build their own ports and mods for the PlayStation Classic and make it as easy as possible. To kick start this initiative, we implemented our new .mod engine, rebooted some of our old port projects, and ported some new ones.

We are happy to announce the following line up of optional mods and ports available for PE as of first release:

Quake 3 Arena, OpenLara (Improved!), Enhanced OutRun, Diablo 1, Duke Nukem 3D, Half Life 1, Wolfenstein 3D, Wolfenstein 3D SOD, DraStic, PPSSPP Standalone (fully dedicated and featured PSP emulator)

Also currently in the pipeline, we are working on TWO advanced DOOM engines along with a BRUTAL DOOM counterpart, including a modified Brutal Doom mod specifically for console play and the amazing IDKFA soundtrack by Andrew Hulshult.

We also have a bunch of other ports being worked on, and we are working with other developers to get some more ports available. You can also check out all the source and examples of how the ports are put together at our Ports gitlab project here: https://gitlab.com/modmyclassic/ports

Project ERIS desktop app on it’s way!

We have teamed up with the talented pascl who created the desktop app pbPSCReAlpha who is currently working with us to form the new incarnation of the Project Eris Desktop App! We are very excited about this and happy to have him on the team. A lot of people wanted a dedicated desktop app for BleemSync originally and now we will have one specifically for Project Eris.

Whilst the desktop app will not be ready for release at the same time as the initial release of Project Eris, it’s currently being worked on as you read this and here are some WIP screenshots of it in action.

Things to note / pre-FAQ

  • BleemSync UI is NOT included by default as of the initial release of Project Eris. It will be supplied as a separate .mod package which you can install on to your console
  • When Project Eris is released, we will archive the old BleemSync page and redirect it to here
  • Project Eris WILL migrate your bleemsync USB sticks and on console modifications to PE format. Not EVERYTHING is/can migrate but what ever isn’t migrated will be left untouched on the USB for human intervention
  • FAT32 formatted sticks are NO longer supported! This is mostly to prevent data corruption. You ONLY require a FAT32 formatted stick if you are installing on a completely vanilla PlayStation Classic. (If you previously installed BleemSync on console, NTFS and exFAT drives should still work fine)
  • Custom Kernel is NO LONGER optional. There is an automatic fast kernel flashing routine built into the boot loader on the USB and will detect if you need to update your custom kernel or not and auto fast flash accordingly. It WON’T flash the custom kernel if there is no kernel backups present on the USB to prevent any issues. (Backups are automatically done first thing on boot if not present)

 

Looks great! Where/When can you get a copy?

Development for 0.9 is complete and has undergone unit testing. Project Eris is currently in Pre-Release testing (UAT) which should last a week. As long as there is no issues with the build it will be pushed publicly along with all the source for everyone to use.

You can ask questions or discuss the upcoming release at the #sony-lobby in the MMC discord here: https://modmyclassic.com/discord

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

Project Lunar 1.0.0 has landed.

It’s been over 3 months of LONG days and nights but Project Lunar 1.0.0 is now officially live and available for all!

We know many of you would have wanted this release sooner but we wanted to ensure the first release was ready, and we could provide a safe and more-stable solution from the onset. (With a crap ton of features of course!)

 

WHAT TO EXPECT

With all of the hours of development and testing, does this mean 1.0.0 is bug free? Of course not! Is it safe? Absolutely. Is it stable? Yes. (…as long as it is used in the way that is expected!)

With 1 ½ months spent debugging, testing and 100+ people testing this release with 1000s of installs and uninstalls with no major fires we have covered a lot of ground… But, we are not able to cover every single permutation and possible installation scenario. Expect a bug or two to crop up with the public release.

Project 1.0.0 should be considered a Public BETA. Please set your expectations accordingly.

Now that is out the way… We are super happy with the outcome and while there is still a long way to go with Project Lunar, and more exciting features we wish to implement, we are glad we can finally share our work to the public.

 

SUPPORT + HELP

We have archived and cleared the #sega-support channel in our discord in preparation for the masses of the questions and queries. PLEASE BEAR WITH US! It’s still the holidays and someone will try and respond to you as soon as they can.

Please ensure any support questions or general inquiries are posted in the #segasupport channel of the ModMyClassic discord so we can deal with it in one location. This is your best chance of getting help quicker!

Please also note that it’s 99% impossible to brick your console. If you blindly go crazy trying all manner of things, you might find yourself needing some more advanced help from the devs or testers. If this happens don’t panic. As stated previously, 99% of potential bug issues can be sorted. Bring your description of your problem and ask in the support channel. Wait patiently and someone will try and resolve your issue ASAP.

One final note, please read the FAQ and troubleshooting sections of the Project Lunar page as they will likely answer your question, before posting in the discord. We’ll try to document any further common topics as they arise.

 

HOW TO USE / DOWNLOAD

Before you download Project Lunar, we highly recommend you read through the documentation and FAQs to ensure you fully understand how Project Lunar works. We have also provided a full feature run down which covers:

  • What is included in 1.0.0
  • What is NOT included in 1.0.0
  • What is planned/WIP for 1.1.0

Please read them here:

https://modmyclassic.com/project-lunar/#Project_Lunar_feature_list

https://modmyclassic.com/project-lunar/#FAQ

https://modmyclassic.com/project-lunar/#How_to_use_Project_Lunar_Documentation

There are also a few initial tutorial videos which can be found below:

https://modmyclassic.com/project-lunar/#Video_How-To_Tutorials 

Once you read the how-to documentation and are ready to proceed, you can find the download links here:

https://modmyclassic.com/project-lunar/#Where_to_Download

 

ONE MORE FINAL NOTE

We would like to thank everyone for their patience and support while we have been slaving away on this project. We would also like to make a HUGE thank you to the supporters of ModMyClassic and Project Lunar.

We hope you have a great time with Project Lunar and have as much fun with it as we did making it for the community.

ModMyClassic + The Project Lunar team

 

Now™ Project Lunar is in RC1 testing!

After effectively 3 months of non-stop work and sleepless nights, Project Lunar has officially hit 1.0.0 RC1! We will be providing Project Lunar 1.0 RC1 for closed public testing this Monday. (16 December 2019 (TODAY))

This closed public testing and early access will be made available to supporters of MMC and up to 10 other candidates. (more info below). We anticipate that the RC1 test period will last 2 weeks.

In the very unlikely scenario that there are no overwhelming reports of bugs, (Project Lunar is version 1.0.0 so we expect a few of them!) we will release the public 1.0 release to everyone early. This also means if there are a TON of issues during public testing that cannot be addressed during the two-week RC1 testing period, the RC1 testing period will be extended.

If you wish to be part of the additional 10 RC1 testers (on a once they are gone, they are gone basis) please react to announcement message in the MMC discord #lunar-news with the “Project Lunar” emoji. Those 10 people will be randomly and fairly selected this coming Wednesday.

We have had a team of over 30+ people testing the payload & desktop app builds over the last month and while the devs and testers feel the tool is stable, we are not able to account for every single permutation and scenario. There will be a period of bug fixes when PL hits shelves. Please remember this project is effectively only three months in the making!

With that said, we are happy with the outcome of the tool and nearly every feature we hoped for managed to make into the 1.0 release. We have a few more issues with additional features we are working out that we couldn’t fix in the timelines we have been aiming for and a few things that we decided to postpone till after 1.0 release, however, this list is minimal.

We want to be as transparent as possible, so along with this release and feature list, we will be clearly providing the caveats and shortcomings of Project Lunar 1.0 and our roadmap for the next release.

We would like to thank you all for your patience and support. We really hope that you will be able to enjoy our work and that you will be able to get some more enjoyment from your mini.

ModMyClassic + The Project Lunar Team

SEGA Mega Drive / Genesis (Project Lunar) Hack Update Part 6

Hi all, this is a quick blog update as one of us is away for a few days so we wanted to get a blog update out before hand.

To summarise what key features that have been done recently:

– Internal (NAND) only mod finalised and working

-External Storage mod finalised and working

– Multi firmware support added (if running USB, you can run upto 9 different region/custom firmwares)

– Memory optimisation working. (More performance and less crashes)

– Desktop App development underway.

– Editing and removal of stock 40 roms will NOT be supported on first release. (It will be added in, in a future release)

Now to touch on a few subjects in more detail…

Yes, there will be an internal only mod available as of the first release. We heard you loud and clear so we prioritised this feature and it’s now working.

External media is now working too with external savestates. Below will be a small screenshot outlining how we plan on it working.

We have also provisioned the functions to delete savestates however we haven’t made an interface for it yet as we are still undecided how to implement this feature.

Due to high demand, we added in the ability to load in / patch in upto 9 custom/stock region firmwares on your console safely.

This means if you had 4 different region firmwares you can switch between them on the usb or even have a mix of stock and custom set ups which can be run from your console. These firmwares are selectable from the options menu on console.

We just finished the memory optimisation to go along with the CPU tweaks.

This involves adding 122MB ZRAM compression and an optional 255mb SWAP memory sponge if you are using external media.

This will give you minor increases in performance in memory intensive loads and the swap also ensures that any memory leaks/ static loads get adsorbed by the SWAP instead of the DRAM or ZRAM ensuring you are able to squeeze as much as you can out of the memory. This also comes with the added benefit of less OOM crashes.

The desktop app is under development as we speak. We currently have two desktop apps being worked on in parallel with the first release app being windows based. (Cross platform will come in future release of the second desktop project)

Lastly a somewhat negative point. To confirm, the first release will NOT support the removal or swapping of the original 40 stock roms, only the addition and managing of extra roms will be initially supported. This is due to the huge complexity of managing this process with the stock UI  and it is going to cause too much grief and potential pit falls for the initial release. We rather limit the scope a bit and have the project more refined/stable before adding in more complex features.

Thanks again for the continued support and patience. As we said before, we don’t intend to be the first but we hope that we get it right the first time and give you guys a good experience from the word go.

ModMyClassic

Screenshots of region swapping on a JPN console:

How savestates on external media will work:

Memory optimisation in effect:

SEGA Mega Drive / Genesis (Project Lunar) Hack Update Part 5

Hi all this is a bit of a clarification post more than an update post. However before you read on any further, please watch this video…

Yes, that’s booting directly to stock menu, with extra elements added to stock menu, all running from NAND. (Courtesy of Cyanic)

We are aware it’s completely 50/50 between the people who want the “completely stock + extra games” approach vs the people who want to be able to customise their mini to get the most of it.

We understand this and we are trying our best to cater to everyone’s wants and needs.

Therefore we put together a quick FAQ of recent comments and questions we have had over the last week which will hopefully answer your questions.

I don’t want to boot to a boot menu! I just want to boot directly to the stock UI 

That’s fine! The boot menu is designed so you have access to extra config options on console like adjust the CPU clock speed, enable SSH/SFTP and hopefully in the future, a savestate manager where you can actually delete save states! However…

On first boot after install, you can just set whatever item to boot directly to. (Stock UI, RA, maybe Emulation Station?) and then on every reboot you will boot directly to that element.

The above screen is a mock however this should give you a good idea what to expect.

Also if you need to boot to the boot menu after setting auto boot to stock UI… you can hold a button on boot to boot up boot menu.

This should make everyone happy, if you have it set to boot directly to stock UI you wouldn’t really know it’s been modified otherwise!

I don’t want to plug in a usb I just want it to run from internal storage!

That’s fine too. Storage is limited though and currently after the mod and RA install, we are hoping you will have approx 190mb for roms/cores/savestates. (This is what we are aiming for and could very much change by RC1 so don’t hold us to it!)

This will mean you will be using all of the rootfs_data partition on the NAND which original purpose was for savestates. If you use all the space you won’t be able to save any more. However we believe this is the best solution that caters for all.

I want the full experience with OTG and external usb. Is this possible?

Not a problem, OTG still needs some more testing but external storage is working fine. No power restrictions like the PSC either. You should be able to plug a usb stick in one of the ports or otg adapter. (You can also use a usb hub on either otg or front ports)

When the stick is inserted, project lunar will auto detect, mount and then overlay it self on top of the existing NAND partitions effectively increasing the available storage completely eliminating the worry about disk space.

Why can’t it just be like the (S)NESC and just drag and drop

If only. Unlike the (S)NESc where you could effectively dump a rom on the NAND and upload a .desktop file with an execute command…Or the PSC where you upload the rom, intercept the launch request and upload index data to an internal db…The Mega Drive mini is a lot more complex…

This is why. You are looking at the UI, emulator, configs, elements and roms within 3 files. That’s it. The data is also encrypted and compressed using M2’s own proprietary methods just to make life difficult. Any data/roms being fed back into the emulator also needs the same encryption and compression otherwise it will refuse to load.

So to give an idea on just adding one rom to the stock UI, we need to:

  • Extract the data file
  • Decompress the data files
  • Decrypt the data files
  • Inject need rom
  • Dynamically modify and rewrite parts of the Stock UI code
  • Add the artwork into an artwork file
  • Add to the file index data relating to rom
  • Re-encrypt all the data files again
  • Compress the data files
  • Bundle the data files

And this is generalising the process! Needless to say this is a lot more complicated than what we have worked with in the past however we have got it working and currently working on it. The end user should hopefully not even know this whole process is taking place in the background

How much internal storage is available?

We are hoping 190mb as explained above.

How will the hack work?

It’s still TBD. The general idea is that you plug your console into the pc holding the reset button, run our desktop program which will backup and install and then you are good to go.

This is a separate project from hakchi and will be it’s own module. (Please take note above about the complexity of the mod. Because of this we are effectively having to create tools from scratch)

This desktop UI will most likely be primitive but easy to use on first release. It will eventually become more fully fledged as we progress and the intention is that it will eventually become a single module of a multi platform tool in the future.

TL;DR, it’s not going to be all singing and dancing on day one but it will be easy to use and functional. We have a roadmap and a vision, given enough time and support we will endeavour to make it as good as we can for you all.

When is it coming out?

When it’s ready. There is no deadline and we are in no rush to be the first either. We will be posting updates as and when we can to keep you all updated. However when we near RC1 we might go radio silent whilst we concentrate, eat pizza and work till the early hours to make it RC viable.

Right now there is at least one dev working on the project 24/7 so we are currently working as hard as we can!

Can you send me the roms/artwork?

No! Please, please, please stop asking. We do not endorse or encourage the distribution of copyrighted materials. It’s against the law. We write OSS and we honour the companies who put out these devices and don’t wish to get in trouble with them.

Lastly…

THANK YOU! The support from everyone has been overwhelming and generally super positive. We also appreciate your patience and we hope we can give you all some extra enjoyment out of your mini in the future.

P.s please note whilst we want as many features available on release as possible. Everything is subject to change, elements might get cut or delayed due to time constraints etc. Same goes for internal storage and hack method, until we put the project through it’s paces it’s unknown if we have thought about every issue/problem.

Bonus screenshots and video



 

SEGA Mega Drive / Genesis (Project Lunar) Hack Update Part 4

RE-enabling Debug mode, re-implementing hidden features, hidden ROMs on consoles  (with complete rom listings for EUR/JPN/US), POC adding elements to Stock UI

Today’s update will be a mass dump of screenshots and one liners of things that were dumped on the discord as and when they were discovered. We have currently been working on rewritting aspects of the stock UI and injecting them back into M2Engage to re-enable some hidden features and things.

Full ROM lists for the JPN/EUR/US consoles

Turns out there are hidden roms on the JPN and EUR consoles! Full listings are below (We are still waiting to dump the ASIAN version)

https://prnt.sc/pgev30 < These are the 50hz ROMs on the EU console. (Funnily enough if you changed the language to JPN for example, it will likely play the 60hz versions of the roms…

https://prnt.sc/pget2f < EU MD rom list

https://prnt.sc/pgetbx < JP MD rom list

https://prnt.sc/pgetnx < US MD rom list

Re-enabling DEMO mode

Turns out they left DEMO mode in there. Enabling it limits you to 10 games, deactivates automatic game demos, menus and save/loading.

Re-enabling DEBUG mode

 

Unfortunately (at least based on the dumps from day 1 retail units) the NAND is missing the main debug menu but enabling it still enables a bunch of other debug features. One of which shown above with the build datetime for M2engage and contents. There is also a bunch of button tests that show up with the pause menu when playing games.

Manipulating the UI/Adding more elements

https://cdn.discordapp.com/attachments/624309568654147584/631183832758091798/image0.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631213065278455815/image0.jpg

Here we are setting the transparency for the pop up windows (Which IMO look a lot better with semi transparency!) and adding extra rows to the title select to allow for more elements. It turns out by default M2 hardcoded the UI to only allow a hardcoded number of titles on the title select screen. This is something we will need to patch out and most likely rewrite (because the code is somewhat crap) to allow a dynamic number of elements on the title screen. However as a POC this is promising stuff.

Re-enabling a bunch of hidden features (Jukebox, multiplayer, leaderboards, debug menu and more)

Pre-warning not a lot of this stuff is usable, atleast in the hacked in state which we re-enabled it however it’s fully navigatable and animated. Given some extra time and effort it is very possible to not just re-enable some of this stuff but maybe actually make it fully functional.

A lot of people asked what button combination this was. (It wasn’t one) We had to recode a bunch of the UI to re-enable it. Also there appears to be a SECRET_MENU. We ran out of time to look into it further but it seems to enable options to enable and toggle a SECRET WALLPAPER and 3D MODE FILTER. We have no idea if this works and we doubt the SECRET WALLPAPER asset still exists but it’s cool it’s there.

Oh there is a very strong indication that the port of M2engage used on the mini is based off the one used by M2 on their XBOX360+PS3 Classic Collection series as there is a LOT of the xbox 360 code still there.

https://cdn.discordapp.com/attachments/624309568654147584/631212828497412096/image0.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631212829747445762/image1.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631212831152406528/image3.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631212825213272068/image7.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631212824521343026/image5.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631212823594139659/image9.jpg

https://cdn.discordapp.com/attachments/624309568654147584/631212831903055903/image8.jpg

That’s it for now. Hope you enjoyed this post

ModMyClassic

p.s. if you haven’t already please subscribe to our main subreddits and discord to keep up to date with any updates. (It  helps us out alot, but please don’t feel obliged to!)

SEGA Mega Drive / Genesis (Project Lunar) Hack Update Part 3

 

Hi all, just a small update on the project as we are still being asked for more news. Because we are busy with the project, this will be just a small (unstructured) blog update. We will just bullet point things that have happened since the last blog post so apologises on the quality of post.

  • Things are full steam ahead as have now gotten our hands on the EUR/JPN/US models and have managed to dump them all and learn all of their secrets and stuff we needed to know. Yay!
  • We are still working on the best way to inject the mod. We have a Custom Kernel almost there so that’s currently still being worked on.
  • Currently a lot of work is being piled into the payload (the meat of the hack) so far we have coded up and tested:
    • Enabling RNDIS – Added SSH + SFTP support
    • Added fully loaded busybox
    • Enabling NAND RW access
    • Disabling ROOT password
    • ZRAM Compression optimisation
    • Fixed the clock speeds to 1.344ghz
    • Added MOTD + other ssh helpful stuff
    • Full kernel backup and FileSystem backup
    • On console repartitioning and FS setup for more internal storage
    • Added RetroArch 1.7.9 with working gamepad support
    • Other stuff and things
  • We did a full test run with the 1.344ghz clocking by leaving a MD mini clocked at 1.344ghz running for 48hours running rom demos via the stock m2engage emulator. We never exceeded 48c and SSH+SFTP remained open without crash so we believe this is more than viable and safe to use. (That being said we won’t take any responsibility for any damage it may cause and it will be an optional toggle if you wish to use the “Blast Processing” mode.)
  • We asked the members on the discord for a couple of games that had lag spikes in and we recorded a couple of videos running them at 1.344ghz and it appears the lag went away. You can find those videos here:
  • To Answer a people regarding 32x and Mega CD. Yes it’s possible and feasible, here was a demo of 32x games running on the MD mini at stock 1.0ghz for a base level test. (We was going to do a megaCD one too but had bad image at the time)

So, there is a lot going on right now and the project is still underway so please don’t panic if we aren’t posting updates everyday. Again we aren’t going to rush this, set any deadlines or make any big promises. If we are the first people to release a hack then great, however that’s not our aim, our aim is to get something out that on day 1, people will be able to appreciate.

If you haven’t already, jump in the discord where you can discuss about the Megadrive or ask any of the devs questions here: https://discordapp.com/invite/8gygsrw it’s also nice to have the community discussing and keeping the chat rooms buzzing!

Lastly two open questions for you all…

  • Check our the ASCII logo above image. Can you do better with our Project Lunar logo? The requirements is that it must be ascii, max 38 char wide and 12 lines high. Send them in comments below!
  • If you also check the screenshot you will also see the available space on the NAND as it currently stands in MB. It’s not a lot… Also each save state can take upto 850kb and it works out to 3/4 of the DATA partition. We want to offer a no USB solution however our gut feelings is that it would be safer and easier (also ware out the nand less) if we did a small payload on console and have the roms/cores/ra loaded on a USB in a number of ways:- USB drive via OTG cable out back
    – USB drive via one of the front ports (limited to one controller)
    – USB drive via a hub in either OTG or front portI know this is a downer for some however due to the layout of the nand OOTB and how the stock UI/Emu operates it won’t give us much of leg room to work with. This being said we will still endevour to make internal only a viable solution. The question is…Is this a big game killer for you? If so let us know. If it turns out all of you only want internal only then we will look into this with more urgency.

Thanks again for all your support!

ModMyClassic

SEGA Mega Drive / Genesis (Project Lunar) Hack Update 2

Back due to popular demand, this is project update part 2 on our initial findings on the SEGA Mega Drive/Genesis mini. We are going to share any information and show a couple of bits that have taken place since the last update. Before we start, I assume you noticed our new kick ass project logo above. We love it and hope you do too.

Underclocked SoC, what the hell?

This has been talked about online a lot since we posted about it, so just some clarifications and facts. The SoC is either a rebranded/clone Allwinner A33. The A33 is the same SoC as the Allwinner R16/A23, the same SoC used in the NESC/SNESC.

The max rating for the Allwinner A33/A23/R16 is 1.5ghz quad core with a maximum of voltage of 1.5v. As shown here (direct from the R16 Datasheet):

The current clock scaling governor is set to ‘performance’ but is clocked at 1008000khz (1ghz). The config actually states for the SoC scaling max to be 1344000khz (1.3ghz) (the same as the SNESC/NESC) however it doesn’t reach that limit. The boot clock is set to 1008000khz and it doesn’t reach the 1.3ghz limit. This is shown here with us running the internal stress testhttps://i.imgur.com/9wiabAo.jpg

The bottom line is that we don’t know exactly why they did this as 1.3ghz is well within the theoretical (safe zone) of the chip and the power draw on the SoC should be well within safe limits too. The config also states the max freq clock should be 1.3ghz but it never clocks up to that. We hope to fix this as best we can in the hack so it at least mimics the same performance as the (S)NESC.

There are a number of performance tweaks that we will make when the hack is made available (Will be made optional!), this should help with the current emulation issues due to performance bottle necking. However, we also intend to make it so you can launch a different SEGA Genesis emulator from the stock UI, which we know should perform a lot better then it does currently.

There is only 256mb of RAM is that a problem?

Yeah kind of. The way the emulator/ui works right now is that it effectively decrypts and decompresses the assets directly into volatile memory, this is also a potential bottle neck. However, there are some things we are working on to overcome this and tweak the RAM configuration. Also toying with the idea of dumping the assets to tmpfs on the NAND but that will reduce NAND life so we are still looking into the best plan of attack on this.

Will the hack run 32x and Mega CD games?

Yes. As stated before we will look in to the launching of a different SEGA emulator from the stock UI which will allow the running of 32x and Mega CD games. This will be powered by picodrive likely.

Can you run your own apps/RetroArch/other emulators on it?

Yes. We did this a couple days after release, testing our boot programs and other arbitrary apps. RetroArch easily runs on the console, as it can effectively use the same build as the (S)NESC and cores. However, we set up a specific SEGA MD mini build target which builds the cores and RA against the SEGA MD libraries which are pulled directly from the console for good measure. This brings us nicely to the next topic…

The SEGA Mega Drive mini appears to be capable of 1080p

Don’t get too excited though! It appears there is a downscaling service on the console that is responsible for downscaling down from 1080p to 720p. This is different from what we have seen before from other classics where they natively run at 720p out the box. Technically the SoC is capable of 1080p but we have NO idea how well emulation would run at 1080p instead of 720p. (The assumption is not very well!)

This was a bit of a surprise when we was loading our test SDL2 app on the console using a 720p image and SDL2 FULLSCREEN settings below:
https://cdn.discordapp.com/attachments/499532327869743125/626350319260925963/HpBHMJch.png

(Excuse the old logo! This is when we was running our own programs on the console only a couple days into dev)

Right now, it’s unknown at this time how well the system would perform running at such a high resolution or if it’s even something that is feasible but an interesting find nevertheless

Potential Cut Mega Drive Music player + Intended ROMS discovered

Cyanic was digging through and found what seems to be the index array for what seems to be a cut music player intended for the SEGA Mega Drive mini. It looks like it would take tracks from particular secton of the ROMS on the console and play them back. On this file it also lists a number of ROMS that didn’t end on the console. Maybe these are ROMS they intended for the console but couldn’t get licenses for it?

You can check it out for yourself here

Where are you with the hack? Whats the ETA?

SPOILER: There is no ETA. Progress has been slow as we still don’t all have a test unit to physically work on however due to a select few very generous people (you know who you are!) we were able to order a JPN MD Mini on express delivery that should be here in a few days so this should help development a lot. (Plus we can dump and analyse the JPN rootfs)

We now have all the components we require for the hack and have set up all our remote build environments and automated dev ops for the project. Meaning that we are now in the process of testing and putting together the injector and payload.

The OSS provided by SEGA wasn’t 100% complete or capable of compiling OOTB, so we have had to make some educated guesses/reverse engineering in some places to make it work. However we have now successfully reproduced the Kernel and U-Boot and are putting together a custom flash image and testing it.

What can you expect?

We are still posting stuff on the developments channels so make sure to jump on the discord to make sure you are kept up to date with stuff, you can also ask us any questions about development there.  (https://discord.me/modmyclassic)

p.s. Please don’t ask us for dumps of the console or ROM dumps as these are copyrighted materials and it’s against the law for us to distribute them. We only provide free to to use software and don’t distribute copyrighted content!

Lastly, we do not intend to rush this project and it will be made publicly available when it’s ready. This might mean that constant updates might become fewer but development on this as well as our other projects is 100% in motion.

Lastly we want to thank you all for your patience and continued support.

ModMyClassic.

Oh we are setting up an internal group youtube here: https://www.youtube.com/channel/UC5lypn3oCL1LxBNBfo5OLMA

Please give it a follow as we will post videos of stuff on here moving forward and it helps us out.