Homebrew [Release] (A newer) Sonic CD (2011) 3DS Port

legaiaflame

Well-Known Member
Newcomer
Joined
Nov 21, 2008
Messages
70
Trophies
1
XP
766
Country
United States
Sorry about that guy. Lately, this subforum has been crawling with lazy/snark replies to people with questions, it's kinda sad.

Anyway, yeah this port works great in Citra. I actually used to use it from time to time with my old 3D monitor and apart from a couple of special stage backgrounds being a bit buggy in 3D, it looks and plays really good otherwise. You should be able to just put dspfirm.cdc into the Citra user folder at /sdmc/3ds/ and then also create the "SonicCD" folder (no spaces) in /sdmc/3ds/ with the Data.rsdk inside of it. Once that's done, both 3DSX and CIA versions should work as intended. With the CIA version, are you using File -> Install CIA?
Where do I get the dspfirm.cdc file? I made the folders put Data.rsdk and SonicCD.3dsx in the /sdmc/3ds/SonicCD. I launched the game and it had no sound. Is that because of the missing dspfirm.cdc file? Also, which folder do I put the dspfirm.cdc in?

Post automatically merged:

Nevermind I had to get the dspfirm.cdc file from the 3ds folder on my Modded 3DS SD card. Then I put that in the Citra /sdmc/3ds/ folder on my PC and loaded the game and it works now with sound and everything!! Thanks so much for your help!!

Don't know how you would get this file though without modding your 3DS and Dumping the DSP firmware. Since the file was already on my SD card I just dragged it off onto my PC and put it into the Citra folder stated above.
Post automatically merged:

So I just did a full playthrough using the Citra emulator (playing it in 3D with my Oculus VR headset) and a playthrough with my modded 3DS and both were near perfect. Having the mobile version of the Sonic CD Data.rsdk file is essential so the Special Stages have visible floors. If not, or if you use the Steam/PC version of the file the floors will be incomplete from a distance and unplayable.


3DS playthrough:

Looked great in 3D, played perfect! The special stages look awesome in 3D! And a lot of the layered backgrounds really pop out in 3D!


Citra Emulator Playthrough in 3D (Merged Splitscreen) with Oculus or any VR Headset: (How I did it)

Note: You can use this method with any 3DS game running on Citra with Virtual Desktop.

Using Voxels instructions above you can play this in the Citra emulator and with a VR Headset in 3D. Launching the game from Citra using the SonicCD.3dsx file works but you won't be able to save. But if you take the SonicCD.cia file and use a program called (Batch CIA 3DS Decryptor.bat) to decrypt it into SonicCD-decrypted.cci, and launch that, you can launch the game using that file and you will be able to use save states like normal.

Just make sure within the Citra user folder (in the emulator go to file, Open CItra Folder to find the location) at /sdmc/3ds/SonicCD, put the dspfirm.cdc in the 3ds folder (Or you won't have any sound) and put the Data.rsdk, SonicCD.3dsx, and SonicCD-decrypted.cci in the SonicCD folder. You have to make the 3ds folder and SonicCD folders yourself.

To get the 3D working in your VR Headset your headset needs to be connected to your PC. When connected to your PC, Start Virtual Desktop (separate app you can buy in Steam or Oculus), start the Citra emulator and game in split screen (Split screen mode will be in Citra settings), and then merge the screens together with Virtual Desktop. When you launch the game remember to launch it from the SonicCD folder you made within the sdmc folder.

Getting the dspfirm.cdc Sound File:

To get the dspfirm.cdc file, the only way I know is to drag it off of your 3DS modded SD card from the 3ds folder and drag it onto your PC and into Citra's 3ds folder. If anyone knows an easier way to get this let us know.
 
Last edited by legaiaflame,
  • Like
Reactions: Voxel

ManyMilesAway

New Member
Newbie
Joined
Jul 29, 2020
Messages
4
Trophies
0
Age
24
XP
66
Country
Canada
My B button keeps pausing the game, which is obviously not ideal. Messing with the controls in settings.ini didn't help either, and I can't find any info about it in this thread. Any help? This is also happening with the Sonic 1 and 2 ports. I fixed it for Sonic 1 and 2 by using pre-SEGA forever APKs, but this is still happening with Sonic CD 1.0.6


[Keyboard 1]
; Keyboard Mappings for P1
Up=1073741888
Down=-2147483520
Left=536870944
Right=268435472
A=1
B=2
C=2048
Start=8
[Controller 1]
; Controller Mappings for P1
; Extra buttons can be mapped with the following IDs:
; CONTROLLER_BUTTON_ZL = 16
; CONTROLLER_BUTTON_ZR = 17
; CONTROLLER_BUTTON_LSTICK_UP = 18
; CONTROLLER_BUTTON_LSTICK_DOWN = 19
; CONTROLLER_BUTTON_LSTICK_LEFT = 20
; CONTROLLER_BUTTON_LSTICK_RIGHT = 21
; CONTROLLER_BUTTON_RSTICK_UP = 22
; CONTROLLER_BUTTON_RSTICK_DOWN = 23
; CONTROLLER_BUTTON_RSTICK_LEFT = 24
; CONTROLLER_BUTTON_RSTICK_RIGHT = 25
Up=0
Down=1
Left=2
Right=3
A=4
B=5
C=6
Start=8
; Deadzones, 0.0-1.0
LStickDeadzone=0.300000
RStickDeadzone=0.300000
LTriggerDeadzone=0.300000
RTriggerDeadzone=0.300000
 
Last edited by ManyMilesAway,

legaiaflame

Well-Known Member
Newcomer
Joined
Nov 21, 2008
Messages
70
Trophies
1
XP
766
Country
United States
My B button keeps pausing the game, which is obviously not ideal. Messing with the controls in settings.ini didn't help either, and I can't find any info about it in this thread. Any help? This is also happening with the Sonic 1 and 2 ports. I fixed it for Sonic 1 and 2 by using pre-SEGA forever APKs, but this is still happening with Sonic CD 1.0.6


[Keyboard 1]
; Keyboard Mappings for P1
Up=1073741888
Down=-2147483520
Left=536870944
Right=268435472
A=1
B=2
C=2048
Start=8
[Controller 1]
; Controller Mappings for P1
; Extra buttons can be mapped with the following IDs:
; CONTROLLER_BUTTON_ZL = 16
; CONTROLLER_BUTTON_ZR = 17
; CONTROLLER_BUTTON_LSTICK_UP = 18
; CONTROLLER_BUTTON_LSTICK_DOWN = 19
; CONTROLLER_BUTTON_LSTICK_LEFT = 20
; CONTROLLER_BUTTON_LSTICK_RIGHT = 21
; CONTROLLER_BUTTON_RSTICK_UP = 22
; CONTROLLER_BUTTON_RSTICK_DOWN = 23
; CONTROLLER_BUTTON_RSTICK_LEFT = 24
; CONTROLLER_BUTTON_RSTICK_RIGHT = 25
Up=0
Down=1
Left=2
Right=3
A=4
B=5
C=6
Start=8
; Deadzones, 0.0-1.0
LStickDeadzone=0.300000
RStickDeadzone=0.300000
LTriggerDeadzone=0.300000
RTriggerDeadzone=0.300000
Using the mobile version of the Data.rsdk does indeed make the B button pause the game. It didn't really bother me as I just made sure to avoid pressing it. It's probably something to do with how it was configured to work on cell-phones and tablets. We probably can't change that without going into and making changes to the code.

But we absolutely need to use the mobile version of the Data.rsdk file though for this port, or the special stages and Tidal Tempest will be all messed up.
 
  • Like
Reactions: raxadian

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +2
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
  • AncientBoi @ AncientBoi:
    I don't pirate them, I Use Them :mellow:. Like I do @BigOnYa 's couch :tpi::evil::rofl2:
    +1
  • cearp @ cearp:
    @BakerMan - you can still "own" digital media, arguably easier and better than physical since you can make copies and backups, as much as you like.

    The issue is DRM
  • cearp @ cearp:
    You can buy drm free games / music / ebooks, and if you keep backups of your data (like documents and family photos etc), then you shouldn't lose the game. but with a disk, your toddler could put it in the toaster and there goes your $60

    :rofl2:
  • cearp @ cearp:
    still, I agree physical media is nice to have. just pointing out the issue is drm
  • rqkaiju2 @ rqkaiju2:
    i like physical media because it actually feels like you own it. thats why i plan on burning music to cds
  • cearp @ cearp:
    It's nice to not have to have a lot of physical things though, saves space
    +1
    cearp @ cearp: It's nice to not have to have a lot of physical things though, saves space +1