Homebrew SNES9x for Old 3DS

  • Thread starter Thread starter bubble2k16
  • Start date Start date
  • Views Views 880,230
  • Replies Replies 2,507
  • Likes Likes 147
Hi all, the current SNES9x emulator uses software to mix the sound samples and then passes it on to the CSND for playback.

I don't have enough knowledge of 3DS's DSP and IIR filters and all those digital signal processing stuff to be able to utilise it to the full extent.

But what can say is that the SNES's DSP sound mixing is emulated using the 3DS's 2nd processor core, which allows us to use about 30% of its time. At its max, this emulator is already using up about close to the 30% of the time given to us. So by simply offloading the sound mixing to the 2nd core, this has already given us a good performance improvement.

I am not sure if hardware-accelerating some of the sound emulation to the DSP will give us significant improvements in performance.

You can ask staplebutter about that, BlargSnes does use DSP on the .Cia build
 
Last edited by AtlasFontaine,
  • Like
Reactions: CeeDee
personally, i dont get why anyone would opt for that virtul console style of having one tile for every game in homemenu. when you can have a convenient list...


also, i didn't really notice before, but it seems like the latest release (as cia at least) seems to have fixed quite a bit of sound lag. scratching is still the same, but now its more accurate.

also, minor graphical bug in breath of fire 2, where if you walk down behind cave walls, your characters lower body disappear like they should, but the upper body doesnt.
similar tile/layer issues happen in a bunch of rpgs.

otherwise, the game runs fine once you get past titlescreen (30fps there) with some slowdown/frameskips whenever extra layers are used (like cloud shadows on the screen, rain, that effect when the screen turns dark at the start of battles)

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

@bubble2k16 I made some work on snes9x, nothing related to emulation though.

https://github.com/bubble2k16/snes9x_3ds/pull/1

This fixes a rather annoying flickering on menus, when the cursor reaches the bottom half of the screen.
It also adds a screenshot feature and now loads the top screen logo from romfs.

aesthetical fixes are always nice. and screenshot could be helpful for certain bug reports
 
  • Like
Reactions: piratesephiroth
I'm not aware of any examples of performance actually being improved by using DSP, however, The main benefit of using DSP is that it's actually designed for games, can process effects, doesn;t suffer from sync issues causing crackling etc, CSND is supposed to be used by the web browser, I believe.
 
i don't know if anyone's confirmed this but clock tower works (japanese). It's just that the colour palettes look messed up (looks like gb console) only for the title screen, intro screens and the screenshot cutscenes. the rest of the game looks and runs fine.
(images will come soon)
 
Last edited by GlitchyDavid,
also, minor graphical bug in breath of fire 2, where if you walk down behind cave walls, your characters lower body disappear like they should, but the upper body doesnt.
similar tile/layer issues happen in a bunch of rpgs.

otherwise, the game runs fine once you get past titlescreen (30fps there) with some slowdown/frameskips whenever extra layers are used (like cloud shadows on the screen, rain, that effect when the screen turns dark at the start of battles)

ok, scratch that, the system actually seems to crash once you try to encounter your first overworld enemies with ryu and bow. (the first battle as a child and the one against that dragon monster worked normally)

this may or may not only be the case in the retranslation
http://www.romhacking.net/translations/1384/
if someone else could give the original bof2 a quick try?

edit: tried it myself, the original us version crashes the emulator and 3ds when you enounter that dragon monster at the cave at the very beginning.
 
Last edited by Clydefrosch,
Q*Bert 3, a personal favorite of mine, runs beautifully. If you wanna add that to your compatibility list and it's not already there, go for it.

So, uh, maybe I missed this, but can you tell me how to escape to the main menu when you're done playing a game? Every button maps to its SNES equivalent and there doesn't seem to be a way to get out, short of Home.

EDIT: Oh, you press the touchscreen! D'oy! Well, Space MegaForce runs pretty well, aside from an intro which heavily relies on Mode 7 and is totally screwy as a result. You can forget about On the Ball/Cameltry; that ain't happenin'.
 
Last edited by ArugulaZ,
so has anyone had problems with the save state function?

its happened twice (on terranigma and on super mario all stars) to me now that i tried to load a save state and it would simply crash the game, forcing me to shut down the console. it happens again when trying again, so i guess the file corrupted during or after creation/overwriting.

just wanted to know if something similar has happened to others or if i have to worry about my sd card
 
so has anyone had problems with the save state function?

its happened twice (on terranigma and on super mario all stars) to me now that i tried to load a save state and it would simply crash the game, forcing me to shut down the console. it happens again when trying again, so i guess the file corrupted during or after creation/overwriting.

just wanted to know if something similar has happened to others or if i have to worry about my sd card

I haven't had any issues with save states myself, so far (using the 3dsx version on 2DS). I played through the entirety of Mega Man X using save states over the course of a few days and didn't experience any crashes while loading save states.
 
I've been working on the getting the sounds sound less scratchy, and it should be in next release. I've found a SPC timing bug that causes Chrono Trigger to get stuck after the intro's X-strike when it loops for a second time. Fixing it seems to lower the frame rate unfortunately, so I'll be spending some time to see what can be done to push the frame rate up a little.

@Clydefrosch - Thanks for the feedback on BOF2. I've made some changes and BOF2 will, at least, not crash. Haven't looked at the sprite issue yet though.

@Ryuzaki_MrL - Wow! Nice work! I tried some of the changes back into my local copy, but I'm having trouble with the ROMFS. The linker throws an error 199. Any ideas?

@DespyCL - Thanks for the save game. I believe I've found the problem and the next release should fix it. But the frame rate at the Glimmer's Galleon will still be slow, until I do some overhaul of the rendering.
 
I've been working on the getting the sounds sound less scratchy, and it should be in next release. I've found a SPC timing bug that causes Chrono Trigger to get stuck after the intro's X-strike when it loops for a second time. Fixing it seems to lower the frame rate unfortunately, so I'll be spending some time to see what can be done to push the frame rate up a little.

@Clydefrosch - Thanks for the feedback on BOF2. I've made some changes and BOF2 will, at least, not crash. Haven't looked at the sprite issue yet though.

thanks for your hard work. will definitely check back when the next update happens. i wonder if theres just a mixup at how the emulator arranges some layers that's only used in a few rpgs though?



I also added a few games to the compatibility list. power rangers works but crashes about 3/4 through level 3 (not sure if its with all rangers or just the blue one). also, it has a weird graphic glitch in the very top left corner, where the colors arent right in a small square. i noticed a similar thing in zelda alttp.
in that same game, the top most line of pixels seems to flicker a little too. could be that this was an overscan thing that no one noticed on old tvs though.

power rangers - the fighting edition runs normal fps wise, but when the actual fights start, graphics look completely messed up, like they do in street fighter alpha 2. thats probably a high res mode issue?

also, terranigma runs nice too, slows to 55fps on the mode 7 world map and the world map has some small artifacts on the left and right border though.
 
I've been working on the getting the sounds sound less scratchy, and it should be in next release. I've found a SPC timing bug that causes Chrono Trigger to get stuck after the intro's X-strike when it loops for a second time. Fixing it seems to lower the frame rate unfortunately, so I'll be spending some time to see what can be done to push the frame rate up a little.

@Clydefrosch - Thanks for the feedback on BOF2. I've made some changes and BOF2 will, at least, not crash. Haven't looked at the sprite issue yet though.

@Ryuzaki_MrL - Wow! Nice work! I tried some of the changes back into my local copy, but I'm having trouble with the ROMFS. The linker throws an error 199. Any ideas?

@DespyCL - Thanks for the save game. I believe I've found the problem and the next release should fix it. But the frame rate at the Glimmer's Galleon will still be slow, until I do some overhaul of the rendering.
Thanks for working so hard on this, csn't wait for the next update :)
 
So this is finally a thing. It took LONG. Well, better late than never.

Downloading the .cia right now. I'm excited to see it working, there's some games that i absolutely want to play on my 3DS

EDIT: Ok, tested it for a bit and i'm actually VERY impressed, save for a few oddities (such as the palette bugs with Chougi Ranbu Hen as i noted in the compatibility list) everything i tried runs near perfection. I hope you keep it up dude, i'm happy to see that we o3DS have not been abandoned.

I'm really thankful for this, i'll contribute to the compatibility list as much as i can.
 
Last edited by Osakasan,
@Ryuzaki_MrL - Wow! Nice work! I tried some of the changes back into my local copy, but I'm having trouble with the ROMFS. The linker throws an error 199. Any ideas?

It's working fine here, I'm using ctrulib 1.1.0 since snes9x_3ds won't compile on latest one.
Just pushed another commit, looks like I forgot to specify romfs path on makefile (still compiled fine before this though).
 

Site & Scene News

Popular threads in this forum