Homebrew SNES9x for Old 3DS

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,726
Country
Japan
i feel like the thread title should be changed to let people know this is open source and can be forked, at least now, while bubble is slowing down a bit
I think anybody with the knowledge to be able to fork this and continue working on it will be perfectly aware that Snes9x is open source.
 

RupeeClock

Colors 3D Snivy!
Member
Joined
May 15, 2008
Messages
6,497
Trophies
1
Age
34
Website
Visit site
XP
2,955
Country
V0.51 has been very nice for me on my N3DS, I've been playing Link to the Past on it.
It's nearly flawless, the only things are minor graphic issues such as specific rock shadows after using the map, or the "storm" ambient sound being pretty noisy.
That and the acknowledged lack of mosaic effect.

The thing I want fixed most of all though is the sleep mode sound-desync issue. Keep the system in sleep mode for too long and you get pretty bad sound desync.
I have to do things like save-states and closing the software to get around this.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
I've been doing some tinkering on the sound department. Turns out that the old 3DS is actually capable of producing full 32KHz with echo and interpolation in the 2nd core processor with no skipping, even when we are only given 30% of its power. Dumb me! :P

I originally optimised the sound to remove those echo and interpolation all for nothing! When my next release is out, we should be able to enjoy much better quality sound.

While I spend that time bringing the sound quality back, I'll probably make some simple fixes to reduce the sleep mode problem, by simply tapping on the menu and off, that should keep the sync back on track.

I will want to bring up the menu automatically when I detect sleep mode, but I can't really figure out how to do that yet. Any pointers is always appreciated.
 
Last edited by bubble2k16,

RupeeClock

Colors 3D Snivy!
Member
Joined
May 15, 2008
Messages
6,497
Trophies
1
Age
34
Website
Visit site
XP
2,955
Country
I've been doing some tinkering on the sound department. Turns out that the old 3DS is actually capable of producing full 32KHz with echo and interpolation in the 2nd core processor with no skipping, even when we are only given 30% of its power. Dumb me! :P

I originally optimised the sound to remove those echo and interpolation all for nothing! When my next release is out, we should be able to enjoy much better quality sound.

While I spend that time bringing the sound quality back, I'll probably make some simple fixes to reduce the sleep mode problem, by simply tapping on the menu and off, that should keep the sync back on track.

I will want to bring up the menu automatically when I detect sleep mode, but I can't really figure out how to do that yet. Any pointers is always appreciated.

That all sounds fantastic, really looking forward to when you can achieve this.
The 3DS is definitely capable of detecting when it is in sleep mode, I just have no idea with whatever homebrew libraries you're using have this implemented.
Games use it for open/close sound effects and other things, as well as music player modes if they find the headphones are inserted after all.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Well, I know I said I will take some time before the next release... but I am actually quite excited to release this because of the improved sound quality.

v0.6
- Default sound amplification to 2x
- Reduced GPU freezing problem after loading new ROMs / resetting too many times
- Resynchronise sound when you go into the menu (you can reset the sync this way after waking your 3DS from sleep mode)
- Improved sound sample rate to 32 KHz, and added echo and interpolation. The result is overall better sound quality
- Improved sync between SPC700 emulation and the DSP.
- Fixed Contra III Mode 7 EXTBG colors again.
- Enabled the SPC700 Envelope Height reading.
- Fixed Chrono Trigger music not resuming after any battle music or “sealed by mysterious force” music.

Not all sound emulation errors are fixed (things like repeating sounds in Clay Fighter, weird sound samples in Earthworm Jim 2, and sound problems in the Mortal Kombat series).

I am repeating myself, but sound quality is very much improved. (Although it could have been this way since day 1 :P, if you read my post above)

I had wanted to use BlargSNES's DSP core, thinking that it offers good performance over Snes9x's DSP core. But I had many problems integrating it I decided to give up. I went back to simply putting back Snes9x's echo + filters / interpolation implementations, and it worked surprisingly well.


But there's one problem I've observed since day 1. Secret of Mana has some serious screeching sound issues if you don't load it up as the 1st game immediately after you start the emulator. I have no idea why... The solution now is just to make sure you load the game as the 1st game.
 

Attachments

  • snes9x_3ds-v0.6.zip
    1.3 MB · Views: 746
Last edited by bubble2k16,

RupeeClock

Colors 3D Snivy!
Member
Joined
May 15, 2008
Messages
6,497
Trophies
1
Age
34
Website
Visit site
XP
2,955
Country
The v0.6 release is superb, the sound echo and interpolation makes Mega Man X sound so much better now. I tried comparing Launch Octopus' stage on both v0.6 and the official VC release and they're pretty close, no frame drops on my N3DS and great performance, same kind of in-game lag as the actual game has.
The storm ambient sounds and other sound effects in ALttP sound much better, and the touch screen menu resyncing audio after sleep mode is just wonderful.
Thanks very much for the work so far! This probably stands to be one of the best SNES emulators for the 3DS now.
 

Clydefrosch

Well-Known Member
Member
Joined
Jan 2, 2009
Messages
6,022
Trophies
2
XP
4,619
Country
Germany
feels like the sound in ff6 narshe isn't as bad anymore.
also feels like it got slight improvements with framerates during battle on o3ds.
mario kart eu runs fullspeed now from what i could tell. us version is running anywhere between 50 and 60 fps with frameskip disabled.

n3ds obviously running everything perfect now.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
@Louiskovskie - Not likely I'll do that 3D effect. :) If someone's willing to try, by all means.

@Ryuzaki_MrL - Oops. I've uploaded it. :)

@yoshinatsu - God... :rofl: If I'm forgiven that 3DS cannot generate this sound quality without a massive rewrite of the DSP core in assembly language. Also, a bulk of Snes9x is really the work of many others. I merely just ported it. :)



After this, I guess there's really one major problem left to fix: the sprite layering...

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

@RupeeClock - Yes, I think there's a way to detect sleep mode. I just don't quite know how to do it using libctru. :)
 

ironmaster49

Well-Known Member
Member
Joined
Aug 9, 2015
Messages
764
Trophies
0
XP
254
Country
@Louiskovskie - Not likely I'll do that 3D effect. :) If someone's willing to try, by all means.

@Ryuzaki_MrL - Oops. I've uploaded it. :)

@yoshinatsu - God... :rofl: If I'm forgiven that 3DS cannot generate this sound quality without a massive rewrite of the DSP core in assembly language. Also, a bulk of Snes9x is really the work of many others. I merely just ported it. :)



After this, I guess there's really one major problem left to fix: the sprite layering...

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

@RupeeClock - Yes, I think there's a way to detect sleep mode. I just don't quite know how to do it using libctru. :)
Is there any news on a bottom screen turnoff feature that will be really great for this emulator thanks! It just really annoys me for some reason, im just watching the fps the whole time and not the game. So two major problems to fix xD. Even SnemulDS has the option why not snes9x i really want it thanks if you are up to it.
 
Last edited by ironmaster49,

Michierusama

Well-Known Member
Member
Joined
May 13, 2014
Messages
583
Trophies
0
Location
GBAtemp
XP
361
Country
United States
Well, I know I said I will take some time before the next release... but I am actually quite excited to release this because of the improved sound quality.

v0.6
- Default sound amplification to 2x
- Reduced GPU freezing problem after loading new ROMs / resetting too many times
- Resynchronise sound when you go into the menu (you can reset the sync this way after waking your 3DS from sleep mode)
- Improved sound sample rate to 32 KHz, and added echo and interpolation. The result is overall better sound quality
- Improved sync between SPC700 emulation and the DSP.
- Fixed Contra III Mode 7 EXTBG colors again.
- Enabled the SPC700 Envelope Height reading.
- Fixed Chrono Trigger music not resuming after any battle music or “sealed by mysterious force” music.

Not all sound emulation errors are fixed (things like repeating sounds in Clay Fighter, weird sound samples in Earthworm Jim 2, and sound problems in the Mortal Kombat series).

I am repeating myself, but sound quality is very much improved. (Although it could have been this way since day 1 :P, if you read my post above)

I had wanted to use BlargSNES's DSP core, thinking that it offers good performance over Snes9x's DSP core. But I had many problems integrating it I decided to give up. I went back to simply putting back Snes9x's echo + filters / interpolation implementations, and it worked surprisingly well.


But there's one problem I've observed since day 1. Secret of Mana has some serious screeching sound issues if you don't load it up as the 1st game immediately after you start the emulator. I have no idea why... The solution now is just to make sure you load the game as the 1st game.

This keeps getting better!!! awesome job as always!!!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=pkYA4rALqEE