Homebrew SNES9x for Old 3DS

coinblock

Well-Known Member
Member
Joined
Sep 4, 2015
Messages
254
Trophies
0
XP
287
Country
It's kind of hard to believe there's no decent NES emulator on the old 3DS.
What's the FPS like for FCE?

Yeah, it's pretty strange. NesDS is probably the best option for O3DS users at the moment, lol. As for FCE, I don't have a working O3DS at the moment, but the last time I tried FCE on it was a few months ago, I seem to recall it running around 30-40FPS. Not exactly playable at any rate.
 

ArtemisM

Kupo for Kupo Nuts
Member
Joined
Apr 14, 2010
Messages
316
Trophies
0
XP
794
Country
United States
What's the FPS like for FCE?

It's not too bad, but it isn't really up to snuff. I honestly think the NES emulator for the original DS on my R4 runs better. If you were to optimize it for o3DS, I'm sure performance could improve dramatically, with less effort than SNES9x
 
Last edited by ArtemisM,

ArtemisM

Kupo for Kupo Nuts
Member
Joined
Apr 14, 2010
Messages
316
Trophies
0
XP
794
Country
United States
@bubble2k16 If/when you start on an NES emulator, I wouldn't mind doing testing for you. Also, regarding the 3D slider implementation that others have been giving feedback on (what with the other SNES emulators having a better implementation), will you have a look at that at some point or are you more or less wrapped up on that? Not complaining, just curious is all :) Because, truth be told, it makes SNES/NES games look gorgeous when implemented properly.
 
Last edited by ArtemisM,

sieroi

Well-Known Member
Member
Joined
Apr 29, 2015
Messages
147
Trophies
0
Age
37
XP
857
Country
@bubble2k16 If/when you start on an NES emulator, I wouldn't mind doing testing for you. Also, regarding the 3D slider implementation that others have been giving feedback on (what with the other SNES emulators having a better implementation), will you have a look at that at some point or are you more or less wrapped up on that? Not complaining, just curious is all :) Because, truth be told, it makes SNES/NES games look gorgeous when implemented properly.

...Is there really a substantial difference between the current 3D slider implementation and RetroArch's? I'm not seeing it.

(New 3DS here.)
 

ArtemisM

Kupo for Kupo Nuts
Member
Joined
Apr 14, 2010
Messages
316
Trophies
0
XP
794
Country
United States
...Is there really a substantial difference between the current 3D slider implementation and RetroArch's? I'm not seeing it.

(New 3DS here.)

With the current one, you have to look pretty much straight-on in order to get the ideal image sharpness (at least on o3DS)
 

Canzah

Well-Known Member
Member
Joined
Jul 8, 2012
Messages
492
Trophies
0
XP
1,410
Country
United Kingdom
A small handful of games may look better (?), since they assumed that the TV was never able to display the leftmost and rightmost 8 pixels. From, example, Energy Breaker did something crazy by clipping the left and right 8-pixels of all its backgrounds, but yet the backdrop color shows through, making it look like this (without the cropping).

energy-breaker-j-b001-bmp.78009


A number of other games leave behind 'buggy' artifacts on the sides of the screens because they assumed that most TVs will cut them off anyway. And old TVs also cut out the top and bottom pixels too. Personally, I never liked cropped pixels anyway. But I figured if I added such an option, I would crop it both ways for games such as Energy Breaker. And instead of 3 other options to crop horizontally only / crop vertically only / crop both horizontally and vertically, and multiply that by 2 for fit and fullscreen, I went for crop (both horizontally and vertically) for fit, and another one for fullscreen.

Yes, an NES emulator will be easier and more manageable. Of Nestopia, and FCE, which is the better performer in terms of speed?

Thanks for the explanation, I actually wasn't aware there were games that assumed stuff on the sides would get cut off. No biggie for me anyway since all I use is the 4:3 and no stretch modes depending on games. Was just curious what the logic behind cropping sides was since it seems like an unintentional bug to me, glad to know you did it intentionally.

As for Nestopia vs FCE, I think they both run equally bad on O3DS (the RetroArch implementations at least) however based on some quick testing I did right now with those games I mentioned earlier, FCE has better performance.
Furthermore Nestopia seems to struggle with booting the first of Gokuden games while it works fine on FCE, and if that wasn't enough Nestopia doesn't seem to produce accurate colors in Castlevania.
So I'd say FCE, besides it seems to be more in line with what others have requested in the last couple of posts.

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

It's kind of hard to believe there's no decent NES emulator on the old 3DS.
What's the FPS like for FCE?
It is indeed hard to believe but that is the reality. NesDS (the NES emulator for DS) literally runs better than any of the 4 on O3DS (VC, and RetroArch's Nestopia/FCE/QuickNES). Framerate wise, I tested in couple of games and on average FCE seemed to have about 13 more FPS than Nestopia (average of about 20 in Nestopia vs average of about 33 in FCE).

On a side note, it's also worth noting there isn't a good Super Game Boy/Game Boy/Color emulator on 3DS either. GameYob on DS works flawlessly, but the 3DS GameYob port has been abandoned for a good year now and the sound is completely broken in it with all kinds of crackling, static and even framerate not being up to snuff. And the VC emulator doesn't support SGB emulation so forget about color in games like Metroid 2 (unless you use a romhack) or the Generation 1 Pokemon games (Red/Green/Blue) that aren't Yellow. This also includes the famous Pokemon Brown (a prequel to Prism) romhack which also doesn't have color without SGB's palette emulation. As you might know, Super Game Boy was a SNES addon that also came with pre-programmed dynamic palettes for some Game Boy games, those included Metroid 2 and the Generation 1 Pokemon (of which Brown is also a romhack of).
So perhaps if you weren't interested in NES you could check GameYob's 3DS source and see if you could improve the performance and fix the sound.

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

...Is there really a substantial difference between the current 3D slider implementation and RetroArch's? I'm not seeing it.

(New 3DS here.)
There is a very substantial difference, you probably didn't notice because you put the slider all the way to the max. Run RetroArch and then adjust the slider very, very slowly a little bit and you will notice that it actually has 3 different states of the faux 3D, with the last one being the "merged screens" technique as we currently have in SNES9x. The reason we're asking about this is because the 1st and 2nd states don't suffer from having to look dead-on at the screen to get the sharper image and don't suffer from the merged screens bleeding. First one being a softer image, while second state being the sharp pixels one which is what we're after.
 
Last edited by Canzah, , Reason: Fixed typo.

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
^That's not too hard to believe, NitroGrafx runs PCE-CD games perfectly on TWLoader on forced TWL mode, full 60 fps on my O3DS
 

AtlasFontaine

Well-Known Member
Member
Joined
Jul 18, 2015
Messages
1,095
Trophies
0
Age
26
Location
Venezuela-Zulia.
XP
865
Country
Venezuela
Well, the bad perfomance on the retroarch cores is probably because they're being ported straight up from the source, there are no specific optimizations or speedhacks to the 3ds implemented onto them, still, there are cores that run well in O3DS and Perfect on N3DS (picodrive , Quicknes..), and the rest somewhat okay'ish on the N3DS like PCSX, this one lacks of hardware renderer but works decent on the N3DS thanks to the Dynarec. Taking all of this into account I think there is a lot of room for improvement for all the cores for the 3ds. The problem is that there are only 2 people working on the 3ds and both consider that the other platforms are of higher priority.
 
Last edited by AtlasFontaine,

Canzah

Well-Known Member
Member
Joined
Jul 8, 2012
Messages
492
Trophies
0
XP
1,410
Country
United Kingdom
still, there are cores that run well in O3DS and Perfect on N3DS (picodrive , Quicknes..),
The point is there is nothing good for O3DS owners. QuickNES is straight up garbage that is beaten by the old as hell NesDS for DS in, to be honest, both accuracy and performance which says a lot since NesDS isn't an accurate emulator in the slightest.
Besides pretty sure the reason Bubble even started this was to make a good SNES emulator for O3DS specifically, since N3DS already has the VC.
 
Last edited by Canzah,

AtlasFontaine

Well-Known Member
Member
Joined
Jul 18, 2015
Messages
1,095
Trophies
0
Age
26
Location
Venezuela-Zulia.
XP
865
Country
Venezuela
The point is there is nothing good for O3DS owners. QuickNES is straight up garbage that is beaten by the old as hell NesDS for DS in tbh accuracy and performance.
Besides pretty sure the reason Bubble even started this was to make a good SNES emulator for O3DS specifically, since N3DS already has the VC.

I agree with this, even though Quicknes runs "good" on the O3DS the emulation is awfull, and the same can be said about the other cores. At least we can use DS mode emulators in the meantime :)
 
Last edited by AtlasFontaine,

sieroi

Well-Known Member
Member
Joined
Apr 29, 2015
Messages
147
Trophies
0
Age
37
XP
857
Country
There is a very substantial difference, you probably didn't notice because you put the slider all the way to the max. Run RetroArch and then adjust the slider very, very slowly a little bit and you will notice that it actually has 3 different states of the faux 3D, with the last one being the "merged screens" technique as we currently have in SNES9x. The reason we're asking about this is because the 1st and 2nd states don't suffer from having to look dead-on at the screen to get the sharper image and don't suffer from the merged screens bleeding. First one being a softer image, while second state being the sharp pixels one which is what we're after.

Is this an O3DS issue? I've been sat here for the past five minutes trying to detect any substantive difference in viewing angles with no luck. The effect you describe just doesn't exist on my (IPS) New 3DS XL- it's identical from all angles.

As for the sharpness point? If there's a difference, it's absolutely tiny- I just tried what you described in RetroArch dozens of times, and I'm not even sure I noticed any shift at all.
 

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,464
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,316
Country
So that we're all on the same page about what is being talked about re: the 3D slider:
thanks to @Steveice10 for pointing me in the right direction, I was able to activate the 800x240 display mode for the top screen.

I have added some experimental display modes that can be selected with the 3D slider :

- 3D-slider OFF: normal mode.

- 3D-slider LOW: 800x240 mode: it looks a bit brighter, and cpu filters will look much better in this mode.

- 3D-slider MID: 400x240 mode: the display itself is still set @800x240, but each other pixel on a line is set to black, this looks similar to the 3D mode, just without the viewing angle limitations.

- 3D-slider MID to HIGH: 3D mode. the content is still in 2D, except for the menu popping up a bit.

http://buildbot.libretro.com/.aliaspider/2016-04-17_RetroArch_3dsx.7z
http://buildbot.libretro.com/.aliaspider/2016-04-17_RetroArch_cia.7z

EDIT: the 800x240 and 400x240 modes don't seem to work on n3DS currently, so this is only for o3DS until I can find out the cause.
So yeah, @sieroi, the RetroArch feature is broken on N3DS, you won't be able to see it as intended.

The four modes, as I understand it, are standard 2D (slider off), "3D" with parallax barrier disabled (i.e. 800-pixel-wide display, allowing for smoother scaling), "3D" with parallax barrier disabled and a black line drawn every second column (the one being asked for here) and standard 3D (parallax barrier enabled, but same image sent to both eyes--probably what Snes9x 3DS does currently).
 
Last edited by Vague Rant,
  • Like
Reactions: sieroi and DrkBeam

Canzah

Well-Known Member
Member
Joined
Jul 8, 2012
Messages
492
Trophies
0
XP
1,410
Country
United Kingdom
Is this an O3DS issue? I've been sat here for the past five minutes trying to detect any substantive difference in viewing angles with no luck. The effect you describe just doesn't exist on my (IPS) New 3DS XL- it's identical from all angles.
It is O3DS only feature for now. The faux 3D technique is not working on N3DS at the moment in RetroArch and I assume here as well.
 

WolfHeroEX

Well-Known Member
Newcomer
Joined
Apr 20, 2014
Messages
57
Trophies
0
XP
126
Country
United States
Anyone have news on whether or not building individual game CIAs is possible yet? Having the emulator itself is great, but I'd enjoy selecting a game on the home menu a lot more.

Sorry if this was already discussed, .CIA is too short of a term to search for.
 

BL4Z3D247

GBAtemp Stoner
Member
Joined
Oct 22, 2008
Messages
1,942
Trophies
0
Age
39
Location
I'm so high, I don't even know!
XP
1,229
Country
United States

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
It's not too bad, but it isn't really up to snuff. I honestly think the NES emulator for the original DS on my R4 runs better. If you were to optimize it for o3DS, I'm sure performance could improve dramatically, with less effort than SNES9x

And that's why I find it surprising that we have better options in the slower DS. :unsure:

So that we're all on the same page about what is being talked about re: the 3D slider:

So yeah, @sieroi, the RetroArch feature is broken on N3DS, you won't be able to see it as intended.

The four modes, as I understand it, are standard 2D (slider off), "3D" with parallax barrier disabled (i.e. 800-pixel-wide display, allowing for smoother scaling), "3D" with parallax barrier disabled and a black line drawn every second column (the one being asked for here) and standard 3D (parallax barrier enabled, but same image sent to both eyes--probably what Snes9x 3DS does currently).

Thanks I will have a look at Retroarch's implementation. :)

-----

Currently, been messing around with an experimental speed hack previously available in Snes9x called CPU_SHUTDOWN for SA1 games. Turns out that most of the SA-1 games don't fully utilise both processors to their maximum possible performance. We can take advantage of that by putting the SA-1 to sleep when it goes into a tight infinite loop (which performs no logic except to wait for the next frame, or for something else to happen), and wake it only when the main CPU triggers an event. So I'm taking that original Snes9x idea, modify it so that any hack will not impact performance on non-SA-1 games. Yes, it changes the timing accuracy of the SA-1 game... but hey, Snes9x was never timing accurate with the SA-1 in the first place. When I go live with this version, I'll probably provide an option to disable/enable speed hacks, just in case it corrupts some games. :)

Speed hacks are my last resort to optimization, since there might not be much else I can do (short of dynarec) to up performance on SA-1 games.

Looks ok, nothing wow-ish. It's slightly better that what I did previously with KDL and SMRPG. But with this hack, I could actually get Jikkyou Oshaberi Parodius running close to full speed on old 3DS. It runs 60 FPS most of the time, except when things get busy where it drops to 50-55 fps, but still fairly playable, at least to me. Dragonball Hyper Dimension runs at about 55 fps when the fight starts. Power Rangers Zeo was going at 57-59 fps. Kirby's Dreamland runs a little faster at 58-59 fps, but still slows down to 55 fps when your buddy appears and slows down more when things get busy.

This gives Old 3DS / 2DS users slightly more game options, as long as they find the dropped frames acceptable.

Problem is, this requires actually playing through each SA-1 ROM and checking out the execution addresses one by one. :) Fortunately, there aren't too many SA-1 games at all.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/ZpMdTnZkpRQ?si=Q2MI4UugoSYifY7G Neat