Homebrew SNES9x for Old 3DS

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,498
Country
United States
Been a while since I last viewed this thread. A lot has happened, like a new job and such.....
I believe Bubble has said that SNES9x 3DS doesn't support the mosaic effect to in order to keep the emulator's speed up.
Actually the mosaic effect isn't supported with the 3DS's GPU.
You are correct Fate. The GPU doesn't support it, at least not directly. A method to approach it though would be to render each layer separately to its own buffer sized down, then size it back up when applying to the main buffer. But of course these extra steps and use of the GPU puts more load on it. I can tell you right now that if the 3DS had a few programmable pixel/fragment shaders, most of these visual issues would have been completely non-issue. Too bad it only has programmable vertex/geometry shaders.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Been a while since I last viewed this thread. A lot has happened, like a new job and such.....


You are correct Fate. The GPU doesn't support it, at least not directly. A method to approach it though would be to render each layer separately to its own buffer sized down, then size it back up when applying to the main buffer. But of course these extra steps and use of the GPU puts more load on it. I can tell you right now that if the 3DS had a few programmable pixel/fragment shaders, most of these visual issues would have been completely non-issue. Too bad it only has programmable vertex/geometry shaders.

I've also toyed in my mind just doing vertical mosaic-ing. That is, we stretch the vertical parts of the layer but disregard the horizontal. But I never really got around to doing it. It probably doesn't look good anyway.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,498
Country
United States
I've also toyed in my mind just doing vertical mosaic-ing. That is, we stretch the vertical parts of the layer but disregard the horizontal. But I never really got around to doing it. It probably doesn't look good anyway.
For what it's worth, that's how it's done with Mode 7. Horizontal is disabled. The transitions in Super Ghouls n Ghosts in the 4th level demonstrate this.
 

WiisleyU

Well-Known Member
Member
Joined
Jun 9, 2016
Messages
219
Trophies
0
Age
39
XP
333
Country
Brazil
Unfortunately even the Snes9xGx on Wii is not updating, the 4.3.7 MSU-1 Mod stopped before adding even Wii U GamePad support.
 

Darksabre72

Blue Falcon
Member
Joined
Nov 26, 2016
Messages
652
Trophies
0
XP
1,865
Country
United States
Snes9x for Old 3DS / 2DS Version 1.21 Released (21 Nov 2017)

Snes9x for 3DS is an SNES emulator for your old 3DS / 2DS. It runs many games at full speed (60 fps). It supports games that use CX4 chip (Megaman X2/X3), the SDD-1 chip (Star Ocean, Super Street Fighter 2 Alpha), DSP chip (Super Mario Kart). It also runs games that use the SA-1 chip (Super Mario RPG, Kirby's Dreamland), SuperFX chip (Yoshi's Island, Star Fox etc) but these games run with plenty of frame drops. It has a much high compatibility than existing SNES emulators on the 3DS because it uses Snes9x 1.43 as a base, and is a good alternative if your existing emulators cannot play all the games.

It also runs better on the New 3DS. Games that slow on the Old 3DS will benefit from the higher clock speed that the New 3DS offers! (In some New 3DS set ups you may have to manually force the clock speed up to enjoy the performance boost)

3dsx version:
1. Copy the Snes9x_3ds.smdh, Snes9x_3ds.3dsx, Snes9x_3ds.smdh and snes9x_3ds_top.png into any folder on your SD card. (Both files must be in the same folder)
2. Place your SNES ROMs into your SD card into any folder (for v0.3 and above)
3. Go to your Homebrew Launcher and launch the snes9x_3ds.3dsx emulator.

CIA version:
1. Use your favorite CIA installer to install snes9x_3ds.cia into your CFW.
2. Place your SNES ROMs inside any folder.
3. Copy snes9x_3ds_top.png to ROOT of your SD card.
4. Exit your CIA installer and go to your CFW's home screen to launch the app.

Inside the Emulator:
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.
4. You can quit the emulator to your homebrew launcher / your CFW's home screen.

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


Features:

1. Graphic modes 0 - 7.
2. Save states of up to 4 slots.
3. Uses CSND for audio.
4. Frame skipping
5. Full screen
6. SDD1 chip (Star Ocean, Super Street Fighter 2 Alpha works)
7. DSP-1 (Pilotwings works well / Super Mario Kart / Ace o Nerae)
8. CX4 (Megaman X2/X3 runs well)
9. SA-1 (Super Mario RPG, Kirby Dreamland: slow on old 3DS. runs well on new 3DS)
10. SuperFX (Yoshi's Island: slow on old 3DS. runs well on new 3DS)
11. Runs faster on new 3DS.

Not Available / Problematic:

1. Minor sound issues.
2. Mosaic effect and mid-frame palette update problems - we use the 3DS hardware for speed; but we have to give up these two features for it. Most games work well without it. If you game's colours look funny, go to the Settings and try changing the palette options.
3. Resume from sleep mode

screenshot.png

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


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
will there ever be a msu-1 for 3ds?
 

bluhacks

Well-Known Member
Newcomer
Joined
Feb 8, 2018
Messages
62
Trophies
0
XP
277
Country
United States
I like how there's a snes emulator for old 3ds yet Nintendo didn't bother to and instead uses the New systems so they can waste our money.
 

Deleted member 424658

Annoying Weaboo Girl
Member
Joined
Jun 4, 2017
Messages
499
Trophies
0
Age
24
Website
www.reddit.com
XP
677
Country
United States
I like how there's a snes emulator for old 3ds yet Nintendo didn't bother to and instead uses the New systems so they can waste our money.
Nintendo wants accuracy for emulation. It's the same reason that DK64 wasn't made as VC for Wii. It's technically doable but it'd have graphical issues, sound issues, and even more speed issues than the original release had..
 

granville

GBAtemp Goat
Member
Joined
Aug 24, 2007
Messages
5,102
Trophies
1
Age
35
Location
Orlando, Florida
XP
3,088
Country
United States
Nintendo wants accuracy for emulation. It's the same reason that DK64 wasn't made as VC for Wii. It's technically doable but it'd have graphical issues, sound issues, and even more speed issues than the original release had..
Based on the compatibility lists for VC injection on the original Wii, Nintendo's own emulators seems far from "accurate" themselves. When you try to inject different roms into SNES VC files, significant amounts are unplayable or extremely glitchy. N64 is even worse, most of the system's library doesn't work. Even Wii U VC (especially for N64 and DS) still has problems with rom injection.

I imagine Nintendo uses a lot of game-specific tweaks and hacks to get them working properly. But these tweaks also break other games, and those also have to be individually hacked and tweaked. VC does not have universal compatibility.

I'm not a programmer and don't have access to or understanding of Nintendo's VC emulators. But given rom injection's mixed results, I wouldn't necessarily assume Nintendo's base emulator is inherently much better (if any) than an old SNES9x. I would think theoretically it's possible to get similar results with SNES9x as the basis. Again making lots of hacky per-game tweaking (at the expense of breaking many other games) to get them working similarly well to Nintendo's VC.
 
Last edited by granville,

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,498
Country
United States
Based on the compatibility lists for VC injection on the original Wii, Nintendo's own emulators seems far from "accurate" themselves. When you try to inject different roms into SNES VC files, significant amounts are unplayable or extremely glitchy. N64 is even worse, most of the system's library doesn't work. Even Wii U VC (especially for N64 and DS) still has problems with rom injection.

I imagine Nintendo uses a lot of game-specific tweaks and hacks to get them working properly. But these tweaks also break other games, and those also have to be individually hacked and tweaked. VC does not have universal compatibility.

I'm not a programmer and don't have access to or understanding of Nintendo's VC emulators. But given rom injection's mixed results, I wouldn't necessarily assume Nintendo's base emulator is inherently much better (if any) than an old SNES9x. I would think theoretically it's possible to get similar results with SNES9x as the basis. Again making lots of hacky per-game tweaking (at the expense of breaking many other games) to get them working similarly well to Nintendo's VC.
Seeing as how it takes a really powerful computer to get full-on emulation (as seen with higan), it's why Nintendo chose to go with the game + tailored emulator pack for their VC. With emulators like SNES9x, we're willing to deal with its issues that crop up, no matter how rare, because it's free, as are the games in the way we can get them.
 

Deleted member 424658

Annoying Weaboo Girl
Member
Joined
Jun 4, 2017
Messages
499
Trophies
0
Age
24
Website
www.reddit.com
XP
677
Country
United States
Based on the compatibility lists for VC injection on the original Wii, Nintendo's own emulators seems far from "accurate" themselves. When you try to inject different roms into SNES VC files, significant amounts are unplayable or extremely glitchy. N64 is even worse, most of the system's library doesn't work. Even Wii U VC (especially for N64 and DS) still has problems with rom injection.

I imagine Nintendo uses a lot of game-specific tweaks and hacks to get them working properly. But these tweaks also break other games, and those also have to be individually hacked and tweaked. VC does not have universal compatibility.

I'm not a programmer and don't have access to or understanding of Nintendo's VC emulators. But given rom injection's mixed results, I wouldn't necessarily assume Nintendo's base emulator is inherently much better (if any) than an old SNES9x. I would think theoretically it's possible to get similar results with SNES9x as the basis. Again making lots of hacky per-game tweaking (at the expense of breaking many other games) to get them working similarly well to Nintendo's VC.
The emulator is accurate for each separate game it's packaged with. You buy each game separately on the eShop, not buy an emulator and launch each game through it.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: It's not like they're complaining that their Slurpee is 99% ice or something, but if the...