A lot of people are coming in to chat and asking about the progress of the SEGA Mega Drive / Genesis Mini hacking. We thought it would be helpful to list out the progress, the facts and any information that we currently know and what our intentions are.
Before we begin… Can it be hacked? Yes (In theory). Just give us some time to create something that is end user friendly and doesn’t require soldering wires to the board like Frankenstein.
What’s happening right now?
Development on the hack is difficult due to the European shipping delay so not all of the devs have their hands on the device yet. We have effectively been working remotely on the hack with only 2-4 of the devs physically having the device. However we are approximately 48 hours in and we have full access to the console, decrypted the internal data packages and learnt a lot already.
A user friendly hack is possible in theory and work has started on it as we speak. We are currently codenaming the hack project within MMC “Project Lunar” named after SEGA M2 codename for the mini “Project Moon”
When is the hack going to be available?
How long is a piece of string? There are currently two key components missing which we are currently working on obtaining. Once we have those then we will be able to build a custom kernel and u-boot based off SEGA’s OSS. Once we’ve done that we’ll need to actually write up the hack so you can easily add stuff into the interface itself and not just gain access to the device.
We won’t be applying any deadlines to ourselves but we are going full speed on the hack and will be posting updates on progress as and when they arrive.
Who is responsible for hacking it/timeline?
- HoneyLabs and NV on the first day managed to locate the UART lines and gain root access to the device and dump the kernel
- Cyanic dumped the RootFS and decrypted the alldata package
- MMC devs are currently working on build tools, customising the kernel and u-boot and writing up some hack scripts for the console
How powerful is it, what is it capable of?
The SEGA Mega Drive mini is a near identical copy of the (S)NESC in terms of specs and SoC. Meaning anything the (S)NESC is capable of running. The SEGA Mega Drive mini will run it at similar performance.
Can I put it in FEL and run Hakchi on it?
Yes and no. However Don’t try it. It’s true that the SoC used on the SEGA Mega Drive mini (A33 Allwinner) is the of the same spec of the (S)NESC’s R16 Allwinner. However the U-boot and kernel used on the SEGA Mega Drive uses a different config and different build. Therefore the flashing tools WILL work but you run the risk of flashing kernels/u-boots to the console that will NOT WORK. We have had a couple people try this to no avail already in the discord.
There is a strong possibility you will screw your system. Especially if you don’t know what you are fully doing.
Lastly even if you get it in to recovery, the way the UI/Emulator/Roms work on the Mega Drive is completely different than the (S)NESC so you wouldn’t be able to do anything with it.
Please just wait and be patience.
Where can I get involved/watch/chat about the developments?
We have set up a dedicated section in the discord for all chat regarding the Mega Drive. We also made our Development Chat publicly visible so you are able to watch developments as and when they happen. You can find the discord link here: (fixed link) https://discord.gg/8gygsrw
Wheres the code?
SEGA Mega Drive public Repo: https://gitlab.com/modmyclassic/sega-mega-drive-mini
- Kernel Repo – https://gitlab.com/modmyclassic/sega-mega-drive-mini/sega-mega-drive-z7213-linux-kernel
- U-Boot Repo – https://gitlab.com/modmyclassic/sega-mega-drive-mini/sega-mega-drive-u-boot-v2011.09
- Project Lunar Hack Repo (private at the moment whilst it’s put together) – https://gitlab.com/modmyclassic/sega-mega-drive-mini/project-lunar
- Docker build env (private at the moment whilst it’s put together) – https://gitlab.com/modmyclassic/docker-autodevops-buildenvs/mmc-sega-build-docker-image
TL;DR, what do we know?
- The SoC is a cheap clone of a Allwinner A33. https://linux-sunxi.org/A33
- The USB cable supplied is POWER ONLY. You will need your own USB with data to connect it to PC
- The Front USB ports are locked down to only a few speicifc gamepads and usb hubs. USB memory sticks will not work. (We will change this when we build the new kernel/u-boot)
- It is the same specs as the (S)NESC
- To boot the console in FEL and connect it to the PC you need to hold the reset button and plug it in to the PC
- There are two secret test modes that can be enabled using an official 3 button and 6 button gamepad. (PM one of us if you have this combo so we can get some notes)
.rodata:00017280 00000047 C 1P: A+B+C+START = Stress Test\n1P: START + 2P: X+Y+Z = USER Mode change
- A full list of roms available (on the us release at least) is here: https://pastebin.com/8dkqF3Um
- We have a full dump of the rootfs
- The emulator used on the Mega Drive is m2engage. It’s closed source and also supports emulation of other consoles. It’s the same emulator used on the Wii U Virtual Console
- All the data for roms and scripts for the UI are encrypted and compressed on the NAND. We have decrypted it
- There are scripts available which directly interact with the UI meaning that customising the UI should be easy
- To put custom content on the console using the stock UI will require decrypting, decompressing the payload, modifying, recompressing, encrypting and uploading. A new hack tool is being developed to handle this.
- DMESG Log – https://pastebin.com/brXcJwXv
- UART Pads – https://cdn.discordapp.com/attachments/561896394697211924/624109168273522718/unknown.png
Images and stuff
UART locations
BOXART files
If you have any questions, please just ask in the discord and we will try and answer any questions you might have
40 Comments