Homebrew SNES9x for Old 3DS

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,233
Country
Brazil
How does Super Mario RPG run on a o3ds?

It doesn't
Like what @nl255 said. Super Mario RPG requires the SA-1 chip, an additional 10 MHz processor running side-by-side the main SNES CPU. The old 3DS has already almost hit its limits emulating the SNES CPU running at 3.58MHz. Emulating the SA-1 will be too slow on the old 3DS.

Dynarec won't be something that I'll invest time to do. So, yea, no possibility at all. :)

Btw I just tried Pilotwings... It seems to run quite well... Not sure if the ground textures look right though.
 
  • Like
Reactions: nl255 and Philip3ds

Diego Liberal

Old School Gamer
Newcomer
Joined
Dec 7, 2012
Messages
53
Trophies
1
Age
34
Location
São Paulo
XP
239
Country
Brazil
Woah woah woah!
Had to login here after literally months away of posting to say how great this emu was :D
Keep up the good work! Just a bit more work on the sound and i call it best snes emu for 3ds.

I enjoyed the text menu, they were simple and intuitive, don't say it is ugly... i liked :)
(It also saves resources lol)
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
v0.3 is now available for download. You can find it on the first post of this thread in a while...

Some of the changes:
- Some minor mode 7 optimisations
- Bug fixes for games like Mortal Kombat II, Eye of the Beholder, Mr. Nutz and probably a number of other games. They were broken due to a bug in the optimised version of the port. With this fix, overall game compatibility should improve.
- Bug fixed to make Final Fantasy Mystic Quest running (but the spinning logo doesn't show)
- Improved menu design, and a top screen logo.
- You can now place your ROMs in different folders other than where the .3dsx file is!
- Fixed top right texture problem in Thunder Spirits opening logo.
- Frame rates for PAL/NTSC ROMs based on the ROM's region.
- Some other bug fixes here and there...

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

Forgot to mention, I haven't go around to making a CIA compatible version. I feel stupid... but I have trouble setting up a CFW on my old 3DS. :shy: So I put my priorities elsewhere.

Btw, does anyone know how I can change the title of this thread?
 

Attachments

  • snes9x_3ds-v0.3.zip
    523.1 KB · Views: 981
Last edited by bubble2k16,

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,207
Country
Canada
Btw, does anyone know how I can change the title of this thread?
Report the first post and ask for a title change with the title you want. A moderator might see it and change it for you.
 
  • Like
Reactions: bubble2k16

AtlasFontaine

Well-Known Member
Member
Joined
Jul 18, 2015
Messages
1,095
Trophies
0
Age
26
Location
Venezuela-Zulia.
XP
865
Country
Venezuela
v0.3 is now available for download. You can find it on the first post of this thread in a while...

Some of the changes:
- Some minor mode 7 optimisations
- Bug fixes for games like Mortal Kombat II, Eye of the Beholder, Mr. Nutz and probably a number of other games. They were broken due to a bug in the optimised version of the port. With this fix, overall game compatibility should improve.
- Bug fixed to make Final Fantasy Mystic Quest running (but the spinning logo doesn't show)
- Improved menu design, and a top screen logo.
- You can now place your ROMs in different folders other than where the .3dsx file is!
- Fixed top right texture problem in Thunder Spirits opening logo.
- Frame rates for PAL/NTSC ROMs based on the ROM's region.
- Some other bug fixes here and there...

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

Forgot to mention, I haven't go around to making a CIA compatible version. I feel stupid... but I have trouble setting up a CFW on my old 3DS. :shy: So I put my priorities elsewhere.

Btw, does anyone know how I can change the title of this thread?

Mario Kart can go now to 55-58 fps using frame skip 4 :O (still has black background outside the road).
Star Fox now works a little bit longer, it crashed in the map before, now it does in the map but after the dog talks to you.
DKC2 Still a little big buggy.
Yoshi's Island still black screening after selecting a save file.
Earthbound works pretty good (With some sounds issues).

And the GUI looks very nice :)

Another thing, if you want to put a CFW on your 3ds I recommend you to watch plailect's guide.
 
Last edited by AtlasFontaine,

nooby89

A normal member with a stupid alias
Member
Joined
Aug 18, 2015
Messages
1,625
Trophies
0
XP
648
Country
Canada
@bubble2k16 Hey. :D Hum, you know on BlargSNES, there is few screens ratios, so on your emulator, will you add some other screen ratios with futures versions ?
 
Last edited by nooby89,
D

Deleted User

Guest
Great work btw. If you are taking suggestions, a return to homebrew laucher/exit button would be great. Unless there is already a way, as I always resort to shutting down the console.

If not, still little slowdowns/sounds issues on more demanding games like DKC2 or FFVI, but it is really looking great so far. Even the Chrono trigger unofficial sequels work, whereas they don't even start on blargsnes.
 

TimX24968B

"That guy"
Member
Joined
Oct 28, 2015
Messages
1,403
Trophies
0
Location
Nowhere
XP
399
Country
United States
Snes9x for Old 3DS / 2DS Version 0.3 Released

TL;DR version:

To use:
1. Copy the Snes9x_3ds.3dsx into the \3ds\snes9x\ on your SD card.
2. Place your SNES ROMs into your SD card into any folder (for v0.3 and above)
3. Go to your Homebrew Launcher (through Cubic Ninja) and launch the snes9x_3ds emulator.

When in-game,
1. Tap the bottom screen for the menu.
2. Use Up/Down to choose option, and A to confirm.
3. Use Left/Right to change between ROM selection and emulator options.

Feedback and bug reports are welcome. Help with development is also welcome!

Compatibility List:

Please help to contribute to the list:
http://wiki.gbatemp.net/wiki/Snes9x_for_3DS

screenshot.png

-------------------------------------------------------------------------------------------------------

Longer version, for those interested in the read:

I've spent over 4 months heavily optimising Snes9x for the 3DS (more specifically the old 3DS or 2DS). I think it's reached a point where I can release it. Chose Snes9x v1.43 with the hope that compatibility will be better.

Many SNES games run at 60fps on the old 3DS with this emulator. But the old 3DS, being old, has a terribly low under-powered CPU, so at some time the frame rates can still fall to 40fps or lower when the on-screen effects get heavy. Frame skips can help to keep the frame rate high (though it may not hit the full frame rate)

Optimisations:
1. Loop unrolls and appropriate global register uses.
2. Aggressive inline of innermost loop functions and memory load/store functions.
3. Merged structs.
4. Generally optimised some 65816c instructions to avoid saving to global variables
(if they are not going to be used at all, Snes9x does this a lot!)
4. SPC700 catch up only at HBlank, and when reading to/from $214x registers.
5. Caching of BRR samples
6. Use of the 3DS GPU for hardware acceleration
7. Use of the 3DS GPU hardware for some computation related to tile flips / texture coordinates.
8. The hardware rendering was derived from the original Snes9X software renderer.
Thus, they don't scale very well during very heavy HDMA effects.
9. DSP runs off concurrently and independently on the syscore thread.
Even without syncing with the 65816c/SPC700, it produces reasonable sound and music.

What's supported:
1. Graphic modes 0 - 4 (even offset-per-tile modes), and mode 7.
2. Save states!
3. Currently uses CSND for audio. So your entry point to home-brew must be able to use CSND.
(if you can play BlargSNES with sound, you should be able to play Snes9X_3DS with sound)
4. Frame skipping
5. Full screen
6. PAL (50fps) / NTSC (60 fps) frame rates.
7. Navigation of ROMs in different folders.

What's missing / needs to be improved:
1. Sound interpolation / echo (will not be supported)
2. Some sound samples sound very wonky (don't know why)
3. Hi-res support (will not be supported)
4. All the other add-on chips. (not likely to support in the future)
5. Mosaics. (will not be supported)
6. Turbo buttons (subsequent versions)

Credits to:
1. Snes9x team for the fantastic SNES emulator
2. StapleButter for his work on BlargSNES.
Some shader-related optimisations ideas came from him.
Will likely rely on his codes for Mode 7 implementation too!
3. Author of SF2D library. Some codes for hardware acceleration evolved from here.
4. Authors of the Citra 3DS Emulator team. Without them, this project would have been extremely difficult.


If you are a developer, you are always welcome to help. Source codes are available at:
https://github.com/bubble2k16/snes9x_3ds/tree/master/source
I tried the .cia version from retroarch, and it seemed to run slower than blargsnes for some games, such as megaman x and super castlevania 4. How do they compare between this one and blargsnes?
 
Last edited by TimX24968B,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    @HiradeGirl, I dont have one of those but gbarunner2 in twilight menu works quite decently for me
  • Psionic Roshambo @ Psionic Roshambo:
    Don't get me wrong GBA absolutely had some great games but overall the sound and graphics just meh to me
  • K3Nv2 @ K3Nv2:
    The remastered crash bandicoot was pretty decent ngl
  • HiradeGirl @ HiradeGirl:
    @Xdqwerty I had a NDS long ago, but L and R broke very fast.
  • HiradeGirl @ HiradeGirl:
    My sister had a N3DS XL and it suffered the same fate.
  • Xdqwerty @ Xdqwerty:
    @HiradeGirl the L button barely worked at all in the dsi i previously had
  • Xdqwerty @ Xdqwerty:
    my dad bought me a dsi identical to that one
  • K3Nv2 @ K3Nv2:
    That could be an easy fix without even opening it with some ipa maybe unless the entire button broke
  • HiradeGirl @ HiradeGirl:
    That´s why I never got any handheld before the Switch.
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, thats why patches exist
  • K3Nv2 @ K3Nv2:
    Ds games are best played on a DS emulation is fine but having actual hardware is better obviously
    +1
  • K3Nv2 @ K3Nv2:
    Or N3ds/2Ds
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, or most "gimmicky" consoles
  • K3Nv2 @ K3Nv2:
    Nah the dual screen makes them better because that's how they were developed for
    +1
  • HiradeGirl @ HiradeGirl:
    Wii U is also great.
  • HiradeGirl @ HiradeGirl:
    For DS games.
  • HiradeGirl @ HiradeGirl:
    Also, 3DS games through NTR streaming on Wii U.
  • HiradeGirl @ HiradeGirl:
    It's very cool.
  • HiradeGirl @ HiradeGirl:
    Even playable.
  • K3Nv2 @ K3Nv2:
    If you can have main game on big screen and touch lay out on wiiu tablet I can see that
  • Xdqwerty @ Xdqwerty:
    @HiradeGirl, I have a broken o3ds xl
  • Psionic Roshambo @ Psionic Roshambo:
    Phones worked great for DS emulation with DraStic and a controller that held your phone
  • Psionic Roshambo @ Psionic Roshambo:
    But sadly that's coming to an end
  • Xdqwerty @ Xdqwerty:
    @Psionic Roshambo, atleast I think the latest version's apk is archived somewhere
    +1
  • K3Nv2 @ K3Nv2:
    Yeah it works great but it's the obvious Ds factor you loose from it it's not like playing atari games on atari because Nintendo actually use to give a reason to buy their hardware
    K3Nv2 @ K3Nv2: Yeah it works great but it's the obvious Ds factor you loose from it it's not like playing atari...