Homebrew [Release][N3DS] Sonic 1 & 2 (2013) Decompilation port

  • Thread starter Thread starter JeffRuLz
  • Start date Start date
  • Views Views 106,753
  • Replies Replies 143
  • Likes Likes 27
What dsp file?
You would run the dsp dumping app.
Thanks! However, JeffRuLz has never said anything about that.
Lets take a look at that guide. https://3ds.hacks.guide/finalizing-setup

During this process, we also setup programs such as the following:

  • FBI (installs CIA formatted games and applications)
  • Anemone3DS (installs custom themes)
  • Checkpoint (backs up and restores save files for 3DS and DS games)
  • GodMode9 (multipurpose tool which can do NAND and cartridge functions)
  • Homebrew Launcher Loader (launches the Homebrew Launcher)
  • DSP1 (allows homebrew applications to have sound) <---- that right there is a pretty dang important piece of programming that IS needed.
  • ctr-no-timeoffset (removes the rtc offset so that the home menu and rtc timestamps match)
Right from the guide I said you needed that app since it allows sound for homebrew and as yours does not, its a troubleshooting step to see if it was done or if it may be something else. DO NOT skip that step and do dump that file.

https://github.com/zoogie/DSP1/releases/tag/v1.0
 
Last edited by lone_wolf323,
  • Like
Reactions: MarioKartFan
Hey, great work. Just wanted to point out, that the rgb565 to bgr8 conversion which you are doing here is not required https://github.com/JeffRuLz/Sonic-1...blob/main/Sonic12Decomp/platform/3ds.cpp#L109
You can just simply set the rgb format of the top screen using https://libctru.devkitpro.org/gfx_8h.html#ab8bc89eb1ea35a06bfb0c3e1ffbf2996. Also the gfxFlushBuffer call is unnecessary i think since you are modifying the full framebuffer anyways.
Interesting. I noticed Saturn did something like that for their Sonic CD port.
 
  • Like
Reactions: Hinikah
As for these ports: I foolishly said we didn’t need these because of the excellent M2 releases. But even in early alpha these are amazing. The widescreen alone is such a deprive way to play and it scales so perfectly to the 3DS screen. Great work!!!
 
This is so cool, a shame that it's not playable on the Old 3DS and I won't be able to test it, but it's still pretty cool to see that someone made this port.

I hope someone will port to the Wii U soon.
 
Gave it s quick shot yesterday. I was surprised how much fun I had all of the sudden with an older Sonic game on handheld. Even though I played Sonic 2 on a real Mega Dive in the 90s, I never made it far.
Widescreen alone is total game changer for these games.

The special stage I played was a bit janky but pretty playable. Having future mod support for 1, 2 and maybe 3 (A.I.R) following, is pretty exciting. I'm glad they are made it on the 3DS somehow.
So thanks!
 
  • Like
Reactions: RocketRobz
I made a new release to merge the changes made in the PC version's new v1.1.1 update.
The screen drawing function has been optimized thanks to @Kartik's advise. It gives a very small performance boost in the special stages.
I removed the useless touch screen buttons from the main menu.
Also the select button can now be used to pause the game.
 
I made a new release to merge the changes made in the PC version's new v1.1.1 update.
The screen drawing function has been optimized thanks to @Kartik's advise. It gives a very small performance boost in the special stages.
I removed the useless touch screen buttons from the main menu.
Also the select button can now be used to pause the game.
Have you tried different optimization levels? Right now, its compiled at -O2, maybe try -O3 or -Ofast? Might provide a very slight performance boost.
 
I tried both and I didn't notice any difference.
Bummer.
The next thing i can think of is to somehow have the rendering done directly to the screen framebuffer, instead of rendering to internal framebuffer which we then copy to the screen framebuffer.
 
Bummer.
The next thing i can think of is to somehow have the rendering done directly to the screen framebuffer, instead of rendering to internal framebuffer which we then copy to the screen framebuffer.
Possibly, but because the 3DS's frame buffer is rotated sideways you'd have to reposition every pixel, including the ones that get drawn over.
I doubt that software performance will ever be good enough to run on the old 3DS, and Saturn is working on hardware rendering which will make any more optimizations obsolete.
 
@JeffRuLz alright two more questions, sorry if i have been a bother
Do you have plans to add in mod support and do you have plans to clean up the main menus? or would that be too complicated to do?
 
@JeffRuLz alright two more questions, sorry if i have been a bother
Do you have plans to add in mod support and do you have plans to clean up the main menus? or would that be too complicated to do?
I don't plan on adding any additional mod support that's not already in the PC version. If it's missing a feature from the PC version then I'd like to know.

I've thought about making a prettier main menu but it wasn't a serious consideration.
 
  • Like
Reactions: DSoryu
@JeffRuLz I have a serious problem. I am addicted to your port of Sonic 2. I just completed the entire game on 1.1.1 this morning. It runs excellently on the New 3DS with the latest version seeming to address all dropped frames outside of the special stages. I am hoping that you and @HiSaturnV can figure out hardware rendering so that we can get full speed special stages. But you know what? I can't complain. Despite playing the M2 "port" for years, I haven't actually beaten Sonic 2 since the 90s. Once you've played with widescreen, the normal 4:3 ratio seems too small for a game this fast.

Great work. Many thanks. I love that 2021 has seen a number of quality releases already!
 
  • Like
Reactions: RocketRobz
I don't plan on adding any additional mod support that's not already in the PC version. If it's missing a feature from the PC version then I'd like to know.

I've thought about making a prettier main menu but it wasn't a serious consideration.
There are hacks being released right now. However I think it's for the decompilation and not the official PC version on Steam (That's what I assume you mean by PC version)
https://gamebanana.com/gamefiles/14760
 
The official steam version of 1/2 is just genesis roms in an emulator, that has nothing to do with this project. It is indeed the PC version of decompilation that is being discussed.
 
  • Like
Reactions: JeffRuLz

Site & Scene News

New Hot Discussed User Submitted