- Joined
- Jan 29, 2021
- Messages
- 52
- Reaction score
- 205
- Trophies
- 0
- Age
- 26
- Website
- saturnsh2x2.xyz
- XP
- 583
- Country

It's Sonic Mania. On your (New) 3DS.
This port is based on the recent decompilation done by Rubberduckycooly and Chuli (stxtic).
Current Version: v1.1.0
- Game now runs on engine version v5U, however, without v3/v4 Legacy support. This engine version is referred to as v5C internally.
- Dev menu now displays extra information regarding memory usage, as well as if the game is running on a N3DS.
- Audio thread now runs on core 1, with support for asynchronous file loading, alleviating microloads during gameplay and resulting in speedup in certain sections (start of Studiopolis Act 2, parts of Flying Battery Act 1). Additionally, the game no longer suffers from delayed audio.
- Engine now supports loading assets from an external RomFS file.
- Loading times improved significantly while using the Data file. Thanks to @davidgfnet for using setvbuf on Data file accesses. Additionally, all static object files and sprite bin files are cached. Loading times are ~30-40 seconds on initial boot, and ~5-10 seconds on stage load, however, YMMV.
- Port now incorporates more or less the latest version of both the RSDKv5 decomp and Mania decomp (thanks @Mefiresu and @c08oprkiua).
- Game now boots on O3DS. However, don't expect full-speed frame rates. A Citro2D/3D backend is still planned to get performance up to speed.
- Dev menu now displays extra information regarding memory usage, as well as if the game is running on a N3DS.
- Audio thread now runs on core 1, with support for asynchronous file loading, alleviating microloads during gameplay and resulting in speedup in certain sections (start of Studiopolis Act 2, parts of Flying Battery Act 1). Additionally, the game no longer suffers from delayed audio.
- Engine now supports loading assets from an external RomFS file.
- Loading times improved significantly while using the Data file. Thanks to @davidgfnet for using setvbuf on Data file accesses. Additionally, all static object files and sprite bin files are cached. Loading times are ~30-40 seconds on initial boot, and ~5-10 seconds on stage load, however, YMMV.
- Port now incorporates more or less the latest version of both the RSDKv5 decomp and Mania decomp (thanks @Mefiresu and @c08oprkiua).
- Game now boots on O3DS. However, don't expect full-speed frame rates. A Citro2D/3D backend is still planned to get performance up to speed.
Setup Instructions
First, make sure you have the port installed, whether it be in .cia or .3dsx form.
Then, grab the Data.rsdk file from your legally obtained copy of Sonic Mania. This is easiest with PC versions of the game, where it'll be in the same directory as your game executable. From there, copy the file to your 3DS's SD Card at /3ds/SonicMania.
Alternatively, you can have the game load assets directly from a folder on your SD Card instead of from the Data.rsdk file; this is called Data Folder mode. Refer to this tutorial for learning how to extract the game's assets from your Data.rsdk file:
Once extracted, copy the Data folder to /3ds/SonicMania on your 3DS's SD Card. Load times are slightly better when running in Data Folder mode, so this option is recommended.
Then, grab the Data.rsdk file from your legally obtained copy of Sonic Mania. This is easiest with PC versions of the game, where it'll be in the same directory as your game executable. From there, copy the file to your 3DS's SD Card at /3ds/SonicMania.
Alternatively, you can have the game load assets directly from a folder on your SD Card instead of from the Data.rsdk file; this is called Data Folder mode. Refer to this tutorial for learning how to extract the game's assets from your Data.rsdk file:
Once extracted, copy the Data folder to /3ds/SonicMania on your 3DS's SD Card. Load times are slightly better when running in Data Folder mode, so this option is recommended.
Q&A
Is Old 3DS supported?
Old 3DS support is planned, but the port doesn't run on O3DS systems at the moment. This is due to issues with memory that need to be sorted out. A hardware render backend similar to Sonic CD's is also planned to hopefully get the game running at full speed, however, developing such a backend requires extensive rewriting of entire parts of the engine, and may take a while to reach a playable state.
Why are the load times so slow?
Mainly due to the 3DS's slow read speeds, as well as the Retro Engine's tendency to load in all assets at once on loading a new scene. Running the game in Data Folder can mitigate the load times somewhat.
Can I access the Dev Menu?
Yes, just make sure the following is in your settings.ini at /3ds/SonicMania:
From there, just press SELECT in-game.
Why is the menu text corrupted?
This is a bug with Data Folder mode. It's mostly harmless, as the rest of the game runs fine, however, working on getting this fixed for the next release.
Are mods supported?
Partially. Mods can be installed and run via Data Folder mode. This will work best with smaller-scale mods that only replace game assets like level layouts, sprites, music, and sound effects. Mods that make alterations to game object behavior likely won't run properly. Don't expect to run mods like Sonic Megamix Mania on 3DS.
Do videos work?
Not currently, but support is planned. You'll likely have to down-scale your videos manually, however.
Why can't I access the Plus DLC?
The decomp has no way of actually verifying that you've purchased the Plus DLC through the platform of your choosing. As such, the decomp developers have removed the DLC from their release builds, and I've opted to do the same. If you want to access the Plus DLC, you'll have to compile the port yourself.
Old 3DS support is planned, but the port doesn't run on O3DS systems at the moment. This is due to issues with memory that need to be sorted out. A hardware render backend similar to Sonic CD's is also planned to hopefully get the game running at full speed, however, developing such a backend requires extensive rewriting of entire parts of the engine, and may take a while to reach a playable state.
Why are the load times so slow?
Mainly due to the 3DS's slow read speeds, as well as the Retro Engine's tendency to load in all assets at once on loading a new scene. Running the game in Data Folder can mitigate the load times somewhat.
Can I access the Dev Menu?
Yes, just make sure the following is in your settings.ini at /3ds/SonicMania:
Code:
[Game]
devMenu=y
enableControllerDebugging=y
Why is the menu text corrupted?
This is a bug with Data Folder mode. It's mostly harmless, as the rest of the game runs fine, however, working on getting this fixed for the next release.
Are mods supported?
Partially. Mods can be installed and run via Data Folder mode. This will work best with smaller-scale mods that only replace game assets like level layouts, sprites, music, and sound effects. Mods that make alterations to game object behavior likely won't run properly. Don't expect to run mods like Sonic Megamix Mania on 3DS.
Do videos work?
Not currently, but support is planned. You'll likely have to down-scale your videos manually, however.
Why can't I access the Plus DLC?
The decomp has no way of actually verifying that you've purchased the Plus DLC through the platform of your choosing. As such, the decomp developers have removed the DLC from their release builds, and I've opted to do the same. If you want to access the Plus DLC, you'll have to compile the port yourself.
Screenshots
Downloads
Releases: https://github.com/SaturnSH2x2/RSDKv5-Decompilation/releases/tag/1.0
Nightlies: https://nightly.link/SaturnSH2x2/RSDKv5-Decompilation/workflows/3ds/master/sonicmania.zip
Source: https://github.com/SaturnSH2x2/RSDKv5-Decompilation/
QR
Special Thanks
Rubberduckycooly, Chuli/stxtic: For decompiling Mania in the first place, as well as for helping me out on a few things in REMS
Mephiles, @davidgf , c08oprkiua, smb123w64gb: for contributing to the port. smb123 in particular for assisting in getting the engine running on O3DS, davidgf for helping in reducing load times, and Mephiles and c08 for keeping the codebase updated with upstream while I was away
@JeffRuLz: For the RSDKv4 port (which was referenced in the process of porting Mania over)
Nintendo Homebrew Discord and the Retro Engine Modding Server: for also helping out with and testing the port
Attachments
Last edited by SaturnSH2x2,










