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,488
Country
United States
Thanks for bringing this to my attention. I've heard on the translucency problems, but never saw it for myself until you made those screens, that is. Thank you for that.

Technically we'll have to generate 2 screens, one with the odd pixels, the other with the even pixels and blend them together to achieve the same TV effect (and this time without the flickering). But I'll have to think of how to handle this efficiently.

Here is my thought on it. You have a main screen and sub screen targets, yes? And you render to those as decided by active layers and such? Wouldn't you just normally render the screens, then do a full-blown average blend of the two for the final result? The way "pseudo hi-res" works from my perspective, it alternates between main and sub screen pixels as half-pixels. If both had only layer 0 active, then you'd see layer 0 with nothing to make it look special, but if layer 1 was also active on just one screen, layer 0 would look no different, but layer 1 would appear translucent because only one screen is actually shown as visible for it. If the other screen also had layer 1 active, then it would look normal. Basically, if you just do a full-blown average as "(main + sub) / 2", it should do the trick.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Here is my thought on it. You have a main screen and sub screen targets, yes? And you render to those as decided by active layers and such? Wouldn't you just normally render the screens, then do a full-blown average blend of the two for the final result? The way "pseudo hi-res" works from my perspective, it alternates between main and sub screen pixels as half-pixels. If both had only layer 0 active, then you'd see layer 0 with nothing to make it look special, but if layer 1 was also active on just one screen, layer 0 would look no different, but layer 1 would appear translucent because only one screen is actually shown as visible for it. If the other screen also had layer 1 active, then it would look normal. Basically, if you just do a full-blown average as "(main + sub) / 2", it should do the trick.

Yup that's pretty much what I have in mind. I can already generate the odd/even pixels, except now they alternate between two frames (hence the flicker). I simply have to render both odd/even pixels in a single frame into the main+sub screens and blend them together.

But because I want to avoid generating 2 lists of separate vertex buffers to the 3D hardware, I'm going to have to update my shaders slightly to do the heavy work of 'shifting' between odd/even pixels while using the same vertex buffer twice. Saves tonnes time on the 3DS main ARM CPU.

I'm actually already doing this for the non hi-res screens in v0.80, if a BG or the OBJ layer is rendered to both main/sub screens, I only create 1 vertex list. Just have to tweak it for the hi-res, and hi-res will look so much better!

Yes it does.

Great! I'll have a look. Thanks!
 
Last edited by bubble2k16,

Shin Akuma

Well-Known Member
Member
Joined
Sep 29, 2006
Messages
206
Trophies
1
XP
665
Country
Greece
just something i realised
I use Cia version of 0.80 and if i dont touch the screen to enter the emulator menu and then i press the home button when i get back to the the game(resume from the OS) i get a white screen only but the game keep playing with sounds. to revert this i have to press the screen to get the emulator menu and then press B to get back in game. is it normal?
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
just something i realised
I use Cia version of 0.80 and if i dont touch the screen to enter the emulator menu and then i press the home button when i get back to the the game(resume from the OS) i get a white screen only but the game keep playing with sounds. to revert this i have to press the screen to get the emulator menu and then press B to get back in game. is it normal?

Yea, the CIA doesn't really play well with the Home / Sleep functions. Yet. :rofl2:

I'll see if something can be done about it.
 
  • Like
Reactions: Michierusama

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
^The problem is that games like TopGear3000, Star Fox may run on SNEmulDS better than on my O3DS, since i can force the homebrew to use 133mhz :/, and i really want to play Kirby Super Star on my 3DS, it will be a race, Who is gonna be faster, Snes9xO3DS gonna run Kirby SuperStar at 60Fps or Nds-Bootstrap/TWLoader gonna run Kirby Super Star Ultra? :D lol
But yeah, i really wanna play TopGear and KirbySuperStar :(
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
^The problem is that games like TopGear3000, Star Fox may run on SNEmulDS better than on my O3DS, since i can force the homebrew to use 133mhz :/, and i really want to play Kirby Super Star on my 3DS, it will be a race, Who is gonna be faster, Snes9xO3DS gonna run Kirby SuperStar at 60Fps or Nds-Bootstrap/TWLoader gonna run Kirby Super Star Ultra? :D lol
But yeah, i really wanna play TopGear and KirbySuperStar :(

I did only the CPU core for SnemulDS, and that CPU core has very very poor compatibility overall, it has bugs everywhere. And many games do not run or run properly. In addition to that, there are layering problems brought about by the limitation in the DS's graphics hardware.

Ironically, it *may* run the Top Gear games better because of 8-bit colors for sprites and backgrounds, allowing better emulation of the in-frame palette changes (required for the lane markers on the road). That's because a DS/GBA's graphics hardware is much closer to an SNES than a 3DS hardware is, despite the difference in layering support. I don't know how Nintendo manages to "emulate" this in-frame palette change part on the 3DS with its TWL firmware, but given that the DS CPU doesn't really have to be emulated, they can probably devote a lot of CPU power to emulate the graphics in software.

But SnemulDS will never play Star Fox or Kirby Super Star because it doesn't emulate the Super FX and the SA-1 chip. You will just get a black screen for both these games. :) Even if we program SnemulDS to emulate these chips, my gut feel is that 133MHz is still too slow to emulate these games at full speed.
 

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
^Wow thanks for answering man :D, you think that someday Snes9xO3ds may run Kirby Super Star at full speed? i would love to see that, but i think that i'm gonna wait for the nds-bootstrap be more complete to run Kirby Super Star Ultra actually, and man, the DS has GOOD emulators, i got emulating Neogeo on NeoDS and PCE-CD games on NitroGrafx at full speed, on a O3DS,i would never get that on emulators on RetroArch, and i think that the TWL_FIRM and AGB_FIRM function like WII U, WII and NGC retro-compatibility, maybe there's a part of the CPU of 3DS that is actually a DS CPU, that also has a GBA part on it, because definitly 3DS would be capable of emulating a DS in any way.
 

Burrumon

Member
Newcomer
Joined
Sep 25, 2016
Messages
6
Trophies
0
Age
42
XP
50
Country
Cote d'Ivoire
doesn't run full speed on my N3DS. Do i also have to turn on N3DS clock?
Luma last update fix a issue similar to yours:
  • Fixed the New 3DS CPU patch affecting titles which already make use of the higher CPU clock and L2 cache (New 3DS exclusive titles and others like Smash Bros and Pokemon S/M). If "Clock" or "L2" are selected, these titles will now retain their normal (Clock + L2) setting.
Maybe that was the problem or maybe is an issue still unresolved. BTW are you using the last version of Luma?
 
Last edited by Burrumon,

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
^Wow thanks for answering man :D, you think that someday Snes9xO3ds may run Kirby Super Star at full speed? i would love to see that, but i think that i'm gonna wait for the nds-bootstrap be more complete to run Kirby Super Star Ultra actually, and man, the DS has GOOD emulators, i got emulating Neogeo on NeoDS and PCE-CD games on NitroGrafx at full speed, on a O3DS,i would never get that on emulators on RetroArch, and i think that the TWL_FIRM and AGB_FIRM function like WII U, WII and NGC retro-compatibility, maybe there's a part of the CPU of 3DS that is actually a DS CPU, that also has a GBA part on it, because definitly 3DS would be capable of emulating a DS in any way.

Kirby Super Star uses SA-1 so it's not likely to run full speed unfortunately.

As for the other emus, it's a matter of whether any dev wants to devote time to porting these emus to take advantage of the aging Old 3DS hardware. To shed some light, it took me almost 9 months to get to here. In those DS days, high-powered smartphones were practically non-existent. Now with fast mobile phones and a New 3DS... Getting new hardware is probably the easier way. :)
 

vander263

Well-Known Member
Member
Joined
Jan 21, 2017
Messages
177
Trophies
0
Age
33
XP
52
Country
Brazil
^Yeah, your emulator is the best out there for the 3DS, i would tell that 9 months is little for a emulator of this level, it's a shame that the O3DS hardware cannot run Kirby Super Star, the only thing that i can hope on is TWLoader development now, and TopGear3000 we will ever see it fullspeed on O3DS?
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
^Yeah, your emulator is the best out there for the 3DS, i would tell that 9 months is little for a emulator of this level, it's a shame that the O3DS hardware cannot run Kirby Super Star, the only thing that i can hope on is TWLoader development now, and TopGear3000 we will ever see it fullspeed on O3DS?

Oh I realized Top Gear 3000 is also an SA-1 game. So yea... it's likely going to stay at this current speed.
 

hyprskllz

Well-Known Member
Member
Joined
Apr 19, 2016
Messages
628
Trophies
0
XP
2,221
Country
Indonesia
Luma last update fix a issue similar to yours:
  • Fixed the New 3DS CPU patch affecting titles which already make use of the higher CPU clock and L2 cache (New 3DS exclusive titles and others like Smash Bros and Pokemon S/M). If "Clock" or "L2" are selected, these titles will now retain their normal (Clock + L2) setting.
Maybe that was the problem or maybe is an issue still unresolved. BTW are you using the last version of Luma?
i thought there was a new update, but it's still 6.6.
And yes, i'm on the last stable release.
 

jAquaD

Well-Known Member
Newcomer
Joined
Jan 10, 2016
Messages
57
Trophies
0
Age
36
XP
79
Country
United States
Can you configure your controls through the emulator settings? I can't seem to find any option that lets you change your button assignments.
 

LunarXDiviner

Well-Known Member
Member
Joined
Nov 17, 2016
Messages
104
Trophies
0
Age
34
XP
131
Country
United States
If the frameskip could be increased to 5 or 6 I could absolutely tolerate the horrible colors Kirby Superstar displays on this emulator. It's quite a show.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
If the frameskip could be increased to 5 or 6 I could absolutely tolerate the horrible colors Kirby Superstar displays on this emulator. It's quite a show.

You can try to go to settings to enable inframe palette changes. It should fix the colors problem.

Frame skipping wouldn't help much in SA1 games. The bulk of the time is used to emulate the SA1 processor and this cannot be skipped. So frame skips, which skips drawing the screen, won't help much.

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

Can you configure your controls through the emulator settings? I can't seem to find any option that lets you change your button assignments.

No plans for now.
 
Last edited by bubble2k16,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Sicklyboy @ Sicklyboy: Welp I'm off to best buy because I figured out how to shove another 14tb hard drive in this server 😂