Homebrew Sonic CD Port Released

  • Thread starter Thread starter MarioKartFan
  • Start date Start date
  • Views Views 53,668
  • Replies Replies 117
  • Likes Likes 18
I just tried it out and it seems to be working well, I only did the first area and I'm using a New 3DS. I did notice some minor frame lag, but since the audio is still being played at a constant rate it's not that noticeable. The best thing about this is it has widescreen support and your able to change the sound track between the US and JPN version in the main menu. Plus if you're using the data.rsdk from the Steam port it's only 75MB compared to emulating the ROM which is about 600MB, which is nice if you don't have a lot of space on your SD card.

Excited to see what's ahead.
 
  • Like
Reactions: RocketRobz
To run the game, you will need the Data.rsdk file from the PC release of Sonic CD extracted to your 3DS's SD Card at /3ds/SonicCD. The game will not run without this file.
Good, samething with PSVita version, great ;) but all SonicCD APK i found on internet, there is no Data.rsdk file, i don't know why :(
 
Last edited by chronoss,
  • Like
Reactions: RocketRobz
Checked out the latest alpha release today (on my N3DS). This is really impressive. There is some very minor hitching that occurs intermittently when you are moving really fast. But it's remarkably smooth for an alpha release. The sound is excellent. The controls are tight, and the first four levels played extremely well.

Bonus stages are a hot mess, but that's already known. I'm sure the GPU work that @HiSaturnV is implementing will help a great deal.
 
@HiSaturnV Thanks so much for the port it works great! I did notice tho that the banner for the game beeps instead of playing the jingle, I got the wav file from the source code you released on Github and modified it in Audacity so it would be under 3 seconds, stereo, 32000 hz, and 16 bit pcm and now it works! I had the same problem with the super mario 64 3ds port banner since it seems the 3ds has a bunch of arbritary requirements for banners :P

I'm not able to upload it on here and I have no idea how to use github otherwise I would have tried sending it to you through there.
 
  • Like
Reactions: SaturnSH2x2
@HiSaturnV Thanks so much for the port it works great! I did notice tho that the banner for the game beeps instead of playing the jingle, I got the wav file from the source code you released on Github and modified it in Audacity so it would be under 3 seconds, stereo, 32000 hz, and 16 bit pcm and now it works! I had the same problem with the super mario 64 3ds port banner since it seems the 3ds has a bunch of arbritary requirements for banners :P

I'm not able to upload it on here and I have no idea how to use github otherwise I would have tried sending it to you through there.
Stereo, 32000 Hz, under 3 seconds, and 16-bit PCM? I know a little bit of Audacity, so I'll modify the WAV with that in mind and update the repo.
 
Loving this so far! Working about as good as I expected on my New 3DS XL. Wish it had the actual icon from the Whitehead builds, though, so it'd look more official, but that's a nitpick.
 
  • Like
Reactions: bonkmaykr
Had my first hard crash today. Was loading a special stage. There was some serious graphic corruption in the background and then bam. Would have posted this to github, but not seeing an issues area for this project.
 
  • Like
Reactions: SaturnSH2x2
Update on stuff: I've made some progress on the hardware renderer. Tiles seem to partially work; there's a lot of incorrect and buggy tile placement that I need to iron out, however. Palette cycling isn't implemented at this point in time. Also, there's a memory leak somewhere that causes the game to crash after a few levels that I need to get rid of at some point.

Here's an image of the hardware renderer running in Citra:
2021-02-17-124547_562x631_scrot.png


Testing on a N3DS at 268MHz, the frame rate isn't quite 60 FPS. It seems to show a slight improvement over the software renderer, but it's not where I'd like, exactly; admittedly, the current tile rendering code is just the software rendering code modified slightly to deal with 16x16 tiles, so there's still a lot of room for improvement. For now, though, I want to focus on getting tiles to work properly, then optimize from there.

For those that are curious, the updated code is on the 3ds-hw branch on GitHub, so you can compile it yourself, but in it's current state, this isn't worth a release.

Had my first hard crash today. Was loading a special stage. There was some serious graphic corruption in the background and then bam. Would have posted this to github, but not seeing an issues area for this project.
Out of curiosity, how did you enter the Special Stage? Was it through normal means, or through the Dev Menu?
 
Sorry to be that guy everyone, but, does "hardware renderer" mean there's hope for o3ds? or completely the opposite?
You're fine. "Hardware renderer" just means that the game uses the GPU for rendering graphics, whereas "software renderer" means that the CPU does everything. Because of this, the software renderer runs pretty slowly on O3DS models.

I'm working on the hardware renderer with the hopes that it'll improve performance on O3DS models, as well as fix the special stages, which lag pretty heavily, even on N3DS. Like I said, though, it's pretty rough right now, so I'm going to need to work on optimizing it a bit.

Currently, the hardware and software renderers are separated by preprocessors in the code, meaning that the type of renderer used is determined at compile time and can't be changed unless you change the preprocessor variable and recompile everything. At some point, I plan to change this so that the decompilation can switch between hardware and software renderers at runtime; this way the N3DS can use the software renderer for everything except the special stages, and the O3DS can just use the hardware renderer for everything.
 
This question will obviously be very stupid.
But already having Sonic 1,2,3, N & CD, could someone make a level editor that combines all these games?
 
  • Like
Reactions: Hinikah
It's a shame that it doesn't work on the Old 3DS, I won't be able to test it, but it's nice to see that the 3DS scene is still very active.

--------------------- MERGED ---------------------------

I ain't off tryin' to be too much of an asshole here or anything, but it's important to understand that not everything is gonna be able to run on the dated hardware that is an old-3DS model. That's my real point here, I understand why so many people own old models instead of new ones and I ain't mockin' those who own the old ones, moreso just trying to say that yeah, some homebrew just ain't gonna shake on the old system, especially when the 3DS scene is dying and there's a lack of interest in optimizing homebrew hard enough to run well on the old one.
I think anyone here understands that the 3DS is not strong enough to run certain things, I don't think it's an excuse to be an asshole.

Back to the post, HiSaturnV's work is exceptional, I am happy to see that he plans to improve the performance of the port for Old 3DS at some point, this will make it much more accessible and I will be happy to be able to test it.
 
  • Like
Reactions: Hinikah

Site & Scene News

Popular threads in this forum