1.0.5 NOW AVAILABLE!
What is Project Lunar?
Project Lunar is a fully fledged modification tool for the SEGA Mega Drive / GENESIS Mini. It allows users to add games, mods and ports whilst also including a large array of extra features and quality of life improvements. It consists of an on console payload and bespoke desktop application for the PC and is extremely easy to use.
Project Lunar feature list
- Add your own selection of SEGA Mega Drive/Genesis ROMS to your console with use on the stock UI
- Manage your games, mods and configs via purpose built desktop PC application
- Full NAND backups before any customisation
- RetroArch bundled with Genesis GX Plus & PicoDrive. (MS,GG,MD,32X, MEGA CD support) (Also capable of playing other consoles by adding additional RetroArch cores)
- Performance tweaks and boosts (fix lag issues) (1.0ghz > 1.344ghz, ZRAM compression, DRAM SWAP)
- NAND (console only) and USB support
- OTG support
- exFat, NTFS, FAT32 filesystem support
- Extended gamepad compatibility
- USB2 and USB3 device support
- Customisable boot menu with built-in additional option menu & network manager.
- Ability to autoboot to selected boot items. (i.e. boot directly to stock UI)
- Additional third-party controller support
- Automatic Error recovery system (automatically reload to bootmenu if Stock E error occurs)
- Launch boot menu or RetroArch from the Stock UI
- EmulationStation support (optional mod package, USB only)
- ‘Fix’ stock scanlines by toggling smoothing off within stock emulator
- Bundled Wi-Fi support (Realtek 8188eu + 8187)
- RA MD mini cores downloadable via RA using network adapter
- RA scraper and EmulationStation scrapers work using network adapter
- SSH/SFTP via RDNIS support
- Boot menu, splashscreen and music are all customisable
- Additional mod package support
Project Lunar Desktop App features
- Easy to use interface to allow installation/removal of PL on console, and console management.
- Bulk addition of ROMS
- Zipped ROM support (.zip)
- New MegaDrive/Genesis games integration is totally seamless in stock UI, with a scraping function providing description, cover art, spine, release year, developer, players, icons, etc. for (almost) every game.
- Automatic IPS patching within desktop app
- ScreenScraper, TheGameDB scraper support. (Scrape all the details, cover art, and metadata for your games online when adding them)
- Automatic spine art generator. If spine art doesn’t exist, PL will generate it for you
- Mod management. List, add and remove consoles mod via the mod management tool
- Customise stock UI/Emulator features
- Interactive assistant to assist users with the install of Project Lunar
- Easy sync to either NAND or USB
- Recovery mode (for console repair situations)
- Automatic update checks. Every time game manager is opened, it will check for console updates online.
Project Lunar 1.0 caveats
- Bluetooth support is 80% done, however we want to improve support with broadcom bluetooth devices to extend compatibility. Due to this we have delayed releasing it until 1.1
- Xinput and SONY HID drivers are bugged. This means xbox based input devices are not properly working and PS4 controllers (when connected with USB) produce lag in the default emulator. This is something that is being worked on and an update will be pushed out when it’s available.
- Individual game selection for sync within desktop is not supported within 1.0. It will be added ASAP
Features to come in 1.1 (or) future rolling update
- Folder support. Technically we can implement folders as of 1.0, however we want to do it right and integrate it as seamless as possible.
- Launch different console games from stock UI
- Custom command “executors” per game. Again, executors are available within 1.0 meaning that you can run any emulator, app or command from the stock UI. This can be done via scripts on the command line however desktop integration will be available in 1.1
- Bluetooth support
- Desktop app sync via Wi-Fi/Ethernet. This is also available as of 1.0 but we want to improve it. It is also capable of handling multiple consoles on the same network.
Requirements to use Project Lunar
- A micro USB cable capable of data transfer (Not cable that shipped with the system)
- Windows 7/10
- MacOS/Linux *
How to use Project Lunar / Documentation
Below is a list of detailed documentation on each subject. (Click to open in a new tab)
- How to install Project Lunar
- How to install Project Lunar for MacOS/Linux
- How to use Project Lunar (Basics of adding games)
- How to use the built-in rom patcher in Project Lunar
- How controllers are mapped in Project Lunar
- How to add extra controller mappings in Project Lunar
- Advanced Documentation (WIP)
Video How-To Tutorials
Below is a collection of “how-to” videos that should help you install/use Project Lunar
(English) Restalgia
Checkout his other great videos like How to setup Emulation Station or How to add Sega CD games
(English) ETAPRIME
(Spanish) LaNaveRetro
(French) RetroJeux
Latest Version Feature List
1.0.5 Project Lunar feature list
- Overhauled Stock Savestates (fixed some flaws with the stock M2 code in terms of save states. This is important as it allows for proper folder integration moving forward. We have also laid the foundation work so we can manipulate the SRAMs in the future)
- Added Desktop UI executor support. This allows you to run any console emulator from the stock UI. When adding a game, you can select what RA core you wish to use to run it. We also extended the scraper support to allow for all consoles. This means you can now add problematic Mega Drive games to run via RA like Hyperstone Heist or add 32x and Mega CD iso games to the stock UI.
- If scraped box art is horizontal (i.e. SNES EU/US box art) rotate it automatically so it fits better on the stock UI
- Added .7z compressed rom support. (You can add .7z ROMs)
- Added compress ROM addition support. When adding a ROM not intended for the stock emulator, you can chose to have it uploaded compressed.
- Added Stock Emulator “Pixel Perfect Mode” option. This will dynamically resize the game screen depending on what the emulator wants it to be instead of force stretching it. (Golden Axe is a good example)
- Added “Force theme” option. You can now force a specific region background theme for the stock UI whilst retaining your language. I.e. Japanese theme but with English text. (Please note if you force US from a EU console you will get missing boxart as the EU console doesn’t come with all the artwork for some reason)
- Added save state repair. If you have had an issue with save states disappearing into random games etc, you can now run the save state repair by clicking: Tools > Advanced > Fix misplaced save-states (This will also clean up your NAND of any left over save states where the ROM doesn’t exist any more.
- Cleaned up uninstall where a file would be left over on uninstall.
- Overhauled the main menu save handling (008) so you no longer need to reset your menu settings (i.e. language) when installing/uninstalling.
- Added .SMD support
- Fixed and re-added The Games DB scraper so you now how two options
- Added performance improvements for ScreenScraper. (Also add some reliability fixes)
- Added workaround fix to allow install if NAND flag incorrectly set.
- Numerous bug fixes
Where to Download
Legal Notice – Please note, by downloading and using this software, you are doing so at your own risk. Neither ModMyClassic, nor it’s affiliates will not be held responsible for any damages to your property when using this software.
(Please note, we updated the installer to be a multi 32/64bit installer and to resolve some other issues. Because of this, the installer won’t fully remove the old PL desktop app from your desktop. You can leave it as is but if you want to and it won’t cause issues, or you can uninstall the desktop app via control panel and install the latest version. This won’t be an issue moving forward. If you chose to uninstall then install, we always recommend to install on top of previous install! Otherwise you will have to copy over your lunar_data
to the new install directory.)
(Please also note, if your anti virus flags the installer as a virus, this is a false positive! We are working to work out a way to solve this but some anti virus providers are flagging it as a virus because of the bundled allwinner FEL driver.)
(New! In the interim, Defkorns has made his own Project Lunar games export and import tool to backup your PL config and games and import them. You can find it here)
Downloads – Release page
Mega Drive Mini RetroArch cores – Download here
Project Lunar IPS M2Engage patches – Download here
Credits
(In alphabetical order)
- CompCom – Developer
- Cyanic – Developer
- Defkorns – Developer & Chief UAT Tester
- Enderling – Graphics & UI Design
- Fred_PJ – Graphics & ES Sound Artist
- Swingflip – Developer
- TulioAdriano – Developer
- Wraith – Developer
- Z-10 – Boot Menu Sound Artist
- ScreenScraper – Website
- TheGameDB – Website
- Team Shinkansen – FEL lib
Special thanks to HoneyLab, XorLoser and the Project Lunar testers: DefKorns, Darkdev1, Advokaten, Milenko, AyanamiRei0, defenceplox, FaithLes, Fred_PJ, Gorez, harland_mct, Hidalgator, Iain_YX, Kaliezel, MeteK, Restalgia, Ropen, shintoz, spannernick, UNBREAKABLE, Lodmot
Troubleshooting
Q. I am stuck waiting for reboot! What gives!?
A. This is usually due to reconfiguration or conflict with your desktop OS. Usually installing the bundled driver and trying a different USB cable fixes it, however if not. You can try the following:
- Press Win+R and type
ncpa.cpl
- Check if you have a network adapter that says “Remote RNDIS”. If you don’t, it’s a driver problem. Press F4 on the main window, open the driver folder and install it.
- If you have a “Remote RNDIS” network adapter and you have a VPN, disable it.
- If that’s not the case, temporarily disconnect your internet (unplug Ethernet or disconnect from WiFi). If that solves the problem, your home network is mis-configured and you should get that fixed.
Q. I keep getting install errors/cannot back up console
A. Try a different USB cable and/or USB port, we have had reports in the past of weird behavior which turned out to be down to bad USB cables. Also try with nothing connected to the console and only the USB cable.
Q. The install was successful but after install, my PC won’t detect my console!?
A. This is likely because you are trying to connect your console via FEL mode (holding RESET on boot). You only need to boot into FEL for the initial install or for recovery. For normal operation, you just need to connect your console to the pc and turn it on normally without holding RESET.
Q. I pressed SYNC on the desktop app and now when I select PL from the boot menu I get a black screen! (Music will sometimes still play)
A. This is usually because of a bad sync. Before you disconnect your console from the PC after syncing make sure to turn the console off properly. Usually re-syncing the console via the desktop app will resolve the issue. If issue persists remove the last added games and try syncing again.
Q. I don’t know what I have done, every time I try to load stock UI I get a black screen!
A. This is likely due to a bug or some scenario we haven’t programmed for. Please note that your console is safe. We effectively rebuild and patch the stock UI files dynamically on the fly and load them on top of your stock files. When the black screen appears its because of an issue with the newly generated files. (Not your stock files!) If you are stuck with a black screen and you tried troubleshooting as much as possible. Load and produce the black screen, connect to the console via SFTP/SCP and grab the project_lunar.log file from /tmp and send it over for further analysis.
Q. When I try to run <insert name here> Mega Drive rom from the stock UI, I get an “E<X> Please shutdown error”
A. This is due to the fact the ROM is not supported by the stock emulator. Please refer to the compatibility list.
Q. I plugged in my USB and it won’t work!? (Sometimes the console may just freeze when using USB)
A. You need to make sure that your USB is formatted NON MBR. Also you need to make sure you have an active partition on the USB otherwise you will get weird issues. To set an active partition on your USB if you are having issues:
- Press WIN+R to open RUN box, type
diskpart
- Type
list disk
(diskpart will list all the disks you have installed) - Type
select disk X
with X being the right number. - Type
list partition
- Type
select partition X
with X being the right number. - Type
active
- Type
exit
Q. I synced with Project Lunar and every time the stock UI opens (even after playing a game) I get the language select menu
A. This is because you have a badly formatted main menu save. We have to rewrite a chunk of the Stock UI code to fix some bugs with the stock code which only allows X amount of games (differs between region console) Because of this fix to the stock code, the old main menu save is NOT compatible with the patched stock UI. On Uninstall and install we remove that save which forces the stock UI to recreate the main menu save file in the new format. Sometime though (especially when using USB) this might go wonky. If so, follow the following instructions. (If you use USB storage make sure the USB is plugged in port 1 or 2 in the console directly)
- Make sure you have the latest desktop app version
- SYNC with Project Lunar
- Open up puTTY (download if need) and SSH to console. Details in FAQ
- copy and paste each line one by one with the console plugged in and on and run them (make sure USB is connected)
project_lunar toggle_usb_mounts 0 rm -f /rootfs_data/data_008_0000.bin rm -f /rootfs_data/meta_008_0000.bin rm -f /media/mega_drive_saves/data_008_0000.bin rm -f /media/mega_drive_saves/meta_008_0000.bin sync && restart
Q. Help I think I have bricked my console!
A. This is technically not possible, so don’t panic! One of our main concerns during development was safety. Because of this, we ensure that a full NAND partition backup is carried out before any modifications take place. On top of this we included a recovery/staging image which will boot your console even if your NAND partitions are completely empty and also a fail safe recovery system, which will directly flash raw backup images to your NAND partitions. (For extreme emergencies only!)
Because we don’t adjust any of the partition table on the NAND or OOB data and make minimal adjustments to the rootfs, the mod is as safe as we could make it whilst giving as much flexibility and functionality as possible. Because we only write to areas of the NAND that are partitioned, the ultimate fail safe will allow you to flash the raw partition images back to the NAND partitions.
This being said, the stock UI is very complicated so if there is a single error due to a bug you might get issues. Please contact us on the #sega-support channel here and one of the team or devs will try and help you resolve your issue.
FAQ
Q. I am stuck waiting for reboot! What gives!?
A. This is usually due to reconfiguration or conflict with your desktop OS. Usually installing the bundled driver and trying a different USB cable fixes it, however if not. You can try the following:
- Press Win+R and type
ncpa.cpl
- Check if you have a network adapter that says “Remote RNDIS”. If you don’t, it’s a driver problem. Press F4 on the main window, open the driver folder and install it.
- If you have a “Remote RNDIS” network adapter and you have a VPN, disable it.
- If that’s not the case, temporarily disconnect your internet (unplug Ethernet or disconnect from WiFi). If that solves the problem, your home network is mis-configured and you should get that fixed.
Q. My console won’t respond on the PC when I have it plugged in via an OTG adapter
A. This is expected. The OTG redirects the DATA lines from the passthrough, make sure when syncing with the pc, you connect the console directly into the pc without any adapters inline.
Q. My PC won’t recognize my console? (Even if you have used hakchi in the past with another console)
A. Originally the driver for Allwinner FEL was hardcoded to Nintendo NES/SNESC. This has since changed from Hakchi and to minimize issues with users and using multi consoles/solutions, we also use the updated version of the “classic” driver. You will need to install the driver bundled with the Project Lunar Desktop App and then your console should work fine.
Default location: C:\<USR>\AppData\Local\ModMyClassic\Project Lunar Desktop UI\lunar_data\driver\classic_driver.exe (replace <USR> with your desktop username)
Q. My PC won’t detect my console even after installing the driver!?
A. Make sure you are not using the Micro USB cable supplied with the SEGA Mega Drive. It doesn’t contain data lines and is only capable of power! Try a Micro USB from a different device
Q. I just want to boot straight to stock UI/RA/something else, I don’t to boot to the boot menu?
A. This is easily done. When first installed the console will boot automatically to the boot menu. All you need to do from here is to hover over your selected boot choice, (Project Lunar for stock UI) and press start. The next time you boot the console it will auto-boot to your selected element.
Q. I set my console to auto-boot to X and I want to access the boot menu?
A. When the console is starting and before it auto boots your selected boot choice, an auto-boot screen will display for one second. During this auto-boot screen press B (or equivalent) on your controller to interrupt the auto-boot and display the boot menu.
Q. How many games can be on the stock UI screen at one time?
A. At stock speeds, (1.0ghz) approximately 60 extra games will cause the stock UI start to lag however it is subjectively perfectly usable. At 100 extra games the stock UI will lag too much to be usable. Increasing the clock speed to 1.344ghz will alleviate the lag and render times. When we include folder support, this issue should effectively go away.
Q. I don’t want RetroArch on my console, can I remove it so I can add more games?
A. Short answer is no and there is a good reason why. To keep Project Lunar as simple and safe as possible, we don’t interfere with the stock console’s partition table and therefore use a normally unused partition for the on console base modifications including a slimmed down RetroArch client (which is extendable). This partition isn’t available for use by the stock emulator and therefore removing it wouldn’t provide any extra usable space for extra games, save states or additional add-ons. The RetroArch client was purposefully made so it’s extremely lightweight with the option of being extended if the end user wishes to do so.
Q. I just installed Project Lunar and without doing anything it says I have 163mb (or less) available of 170mb without USB storage?
A. Project Lunar will install and utilize the same partition as the stock emulator uses for save states. If you have any save states already on the console it will take up space on the partition (approx 850kb per save). With a completely fresh set up, the stock console utilizes 7mb of the partition.
Q. I just hit SYNC without any custom games and I just lost 15mb available space on my NAND!
A. As of 1.0, this is an unfortunate requirement. We have to effectively re-upload 120 of the stock artwork resources to rootfs_data along with the extra custom game artwork. This is because the Stock UI (M2engage) is hard coded to only accept one resource stream. However this won’t be the case in future revisions as we plan to remove the need to re-upload the stock 120 artwork images by rewriting more of the stock UI code to allow for multiple resource streams. When we add this feature you should find yourself with ~15mb freed up when you SYNC.
Please note this ~15mb requirement is a one off. So technically it’s (163mb – ~15mb) = available space on NAND. Each game will take up to 2mb on average. The 15mb requirement will disappear in future builds.
Q. I want to use USB storage, how do I do that?
A. You can plug the USB into one of the front USB ports before you power the console or during runtime. The USB will automatically mount, initialize and set up for use with Project Lunar. If you want to use the USB with OTG, once synced, shut down console and plug USB into OTG adapter.
Q. What rom formats are supported?
A. As of 1.0 only Mega Drive games are technically supported with the file formats of (.md, .gen, .bin, .zip)
Q. I am getting slow down/audio desync/input lag, how can I fix that?
A. Make sure you have all the performance tweaks enabled within the options menu. All performance tweaks are enabled by default apart from the 1.00ghz > 1.344ghz clock speed option.
Q. What is the SSH/SFTP details and login?
A. IP address: 169.254.215.100, Port: 22, User: root, Pass: (No password!)
Q. What is the deal about the 1.344ghz clock, is it safe? Is it classed as overclocking?
A. Yes and it’s not overclocking!!! It’s relatively safe however we accept ZERO responsibility for any damage caused to your console. The only reason we don’t enable this option by default is because it’s the end user’s responsibility. That being said. The 1.344ghz is fully stable and the chip is technically rated with an absolute maximum of 1.5ghz at 1.5volts. When clocked at 1.344ghz the voltage is set to 1.46volts, well within the chip’s tolerances for both frequency and voltage. However due to differences during manufacturing between chips, your console might run hotter than others. The safe limit for the chip should not exceed 80c and we have implemented a throttle facility to throttle the CPU back to 1.0ghz if the SoC temperature hits 68c. If the throttle engages, it will be logged and will last the duration that the console remains switched on. Theoretically this should never happen and isn’t something we have encountered during the hours of testing however safety is one of our main priorities.
P.s. Contrary to belief, clocking the CPU to anything below the chip’s absolute maximum frequency or voltage is not overclocking! You can read more about it here: https://linux-sunxi.org/Cpufreq#.22Overclocking.22
Q: I added a game and the image doesn’t fill the screen (downscaled).
A: Try to change the Rom Region on Project Lunar to Force USA (NTSC)
Q. What USB Ethernet/Wi-fi adapters are supported?
A. We bundle a limited number of drivers due to size restrictions, however we have always targeted any adapter running the Realtek 8187/8188EU chipset. We have a limited number of extra chipsets supported within an “extended network driver pack” available here: (coming soon) It should be noted that any generic USB2.0 Ethernet adapter should work without issue too.
Q. How do I change my options and configuration?
A. You are able to access and change console options like performance tweaks on the boot menu by pressing B (Or equivalent). You can also access the on console network management tool by pressing C (Or equivalent).
Q. I run MacOS/Linux, How can I use this?
A. There is currently a big ongoing project which is 100% compatible with MacOS/Linux/Windows however in the meantime you will be required to run it in a virtual environment using Virtualbox until the PL module is completed in the separate project.