Homebrew SNES9x for Old 3DS

TheGag96

Well-Known Member
Newcomer
Joined
Feb 1, 2016
Messages
45
Trophies
0
Age
26
XP
101
Country
United States
The idea has been brought up even with blargSNES, but there are issues with doing it. Location and size of the texture cache is one of them. The amount of polygons for a single frame is another. It all amounts to the GPU becoming the bottleneck, imo, enough to where the game may not even run at 60fps. that's not including that not all games could handle 3D very well, as some are designed in a way that could cause "cracks" to form at the seams of tiles.

That's not to say it's impossible. It just requires a lot of work, and a different method to rendering. Based on StapleButter's work, we have a working method to render a luminous texture (typically used for bumpmapping) as if it's a 256-color paletted texture with optional transparency. A thread I made some time ago requested help for anyone that understands bumpmapping to see whether it's possible to "rotate" the palette LUTs in either the vertex/geometry shader. If it could, then that would immensely help in the effort. It would reduce the "cache" by a LOT, allowing this cache to be transferred to VRAM in much less time, and because it would be in a paletted form, changes in the palette would be easier to handle, with no need t

Could you fill me in a little bit more as to how the rendering works? Was it that each tile in each layer was made up of two polygons or something...? If you could separately render each layer to a texture with this new method like you said, wouldn't depth be just a matter of recopying the layer onto each buffer at slightly different points on-screen? Or am I totally off? (thanks lol)
 

tabnk

Well-Known Member
Member
Joined
Jan 20, 2016
Messages
290
Trophies
0
Age
41
XP
1,669
Country
United States
Try it on my O3DS, it work pretty well :). Better speed than the catSFC on DsTwo card.

Keep up the good work.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,103
Country
Senegal
@KJ1 - I doubt I will add an option to turn off the 3DS from the menu. :) Doesn't seem like it's absolutely necessary, not at this point.

@TheGag96 - Yes it's pretty much what you said. But other than drawing things twice (which means rendering will end up being slower), there are other problems related to SNES's layers. Tiles in each layer can have two priorities... meaning some tiles in a same layer appear at a lower depth, some higher. And then other layers and sprites interleave in between. I find that it may actually look a little disorienting when some of these tiles from the same layer appear near to you than others.

I don't know, but I think I am just giving excuses, because I don't think this is something I will want to venture into. :rofl2:

But if anyone wants to try, source codes are available! :)
 
Last edited by bubble2k16,

Clydefrosch

Well-Known Member
Member
Joined
Jan 2, 2009
Messages
5,952
Trophies
2
XP
4,409
Country
Germany
Just tried it myself (USA ver), it works smoothly and without any issues. Though it says 59.8 fps (30 skipped), don't really know what that means.
it means it has to skip drawing about every other frame to reach a speed of 60fps, making animations look just a little choppy. though that shouldn't be that big a deal for a game like that.
 

KJ1

Old Member
Member
Joined
Nov 2, 2014
Messages
1,060
Trophies
0
XP
2,003
Country
India
@KJ1 - I doubt I will add an option to turn off the 3DS from the menu. :) Doesn't seem like it's absolutely necessary, not at this point.

@TheGag96 - Yes it's pretty much what you said. But other than drawing things twice (which means rendering will end up being slower), there are other problems related to SNES's layers. Tiles in each layer can have two priorities... meaning some tiles in a same layer appear at a lower depth, some higher. And then other layers and sprites interleave in between. I find that it may actually look a little disorienting when some of these tiles from the same layer appear near to you than others.

I don't know, but I think I am just giving excuses, because I don't think this is something I will want to venture into. :rofl2:

But if anyone wants to try, source codes are available! :)
Yup, you are right! Keep up the good work btw!
 

TheGag96

Well-Known Member
Newcomer
Joined
Feb 1, 2016
Messages
45
Trophies
0
Age
26
XP
101
Country
United States
@TheGag96 - Yes it's pretty much what you said. But other than drawing things twice (which means rendering will end up being slower), there are other problems related to SNES's layers. Tiles in each layer can have two priorities... meaning some tiles in a same layer appear at a lower depth, some higher. And then other layers and sprites interleave in between. I find that it may actually look a little disorienting when some of these tiles from the same layer appear near to you than others.

I don't know, but I think I am just giving excuses, because I don't think this is something I will want to venture into. :rofl2:

But if anyone wants to try, source codes are available! :)

Ah, I see. Stuff like this is as never as simple as it seems lol! :S I wonder if this method would work better on something like an NES emulator, though it might have that interleaving stuff too...
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,103
Country
Senegal
@mqk9999 - Thanks! But I am good, just busy with work that also involves a heavy dose of development too. :) v0.63b didn't require a lot of coding, so it's still good.

Besides, apart from compatibility issues with patched ROMS and sound problems (which the original Snes9x 1.43 also has issues with), I think there's only 1 issue with high importance left in this port that I have to resolve: sprite layering.
 

CrashMidnick

Well-Known Member
Member
Joined
Jul 22, 2015
Messages
645
Trophies
0
Age
40
XP
2,429
Country
France
@CrashMidnick - You might want to give this version a go to see if you can repro the DKC tile corruption problem. Keep me posted.

I played about half an hour and it seems to be fixed :) Many thanks Bubble ! I need to check with my Girl Friend's 3DS, it seems that the fix is slowing down DKC1, I will install the 0.62 and check FPS before telling something wrong ;)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Skelletonike @ Skelletonike:
    3h left until work finishes, bah
  • Skelletonike @ Skelletonike:
    link doesn't work
    +2
  • Skelletonike @ Skelletonike:
    1H left, such a slow week.
  • Sonic Angel Knight @ Sonic Angel Knight:
    Okay, I had spaghetti :P
  • SylverReZ @ SylverReZ:
    Hope they made lots of spaget
  • K3N1 @ K3N1:
    Chill dog
  • SylverReZ @ SylverReZ:
    Chilli dog
  • Skelletonike @ Skelletonike:
    Damn, I'm loving the new zelda.
  • xtremegamer @ xtremegamer:
    loving the new zelda, i started a game, it was so fucking good, so i
    am waiting on my friend to get home so we can start a new one together
  • Skelletonike @ Skelletonike:
    I just dislike that they don't let me choose the voices before the game starts. Happened with botw as well, had to change to japanese and restart.
  • K3N1 @ K3N1:
    But the important question is can you choose gender
  • Skelletonike @ Skelletonike:
    Same way you can choose Gerald's gender.
  • Skelletonike @ Skelletonike:
    *Geralt, damn autocorrect.
  • Psionic Roshambo @ Psionic Roshambo:
    But can he be trans? Lol
  • K3N1 @ K3N1:
    Zelda transforms into link
  • Psionic Roshambo @ Psionic Roshambo:
    Link I'm not the princess your looking for.... *Pulls a crying game*
  • K3N1 @ K3N1:
    *skirt up* it's exactly what I always wanted
  • Skelletonike @ Skelletonike:
    Just scanned all my zelda amiibos, took a while but didn't get anything that cool, did get the lon lon ranch hylian fabrics though.
  • Skelletonike @ Skelletonike:
    It was pretty funny when I scanned wolf link and got a shit load of meat.
  • K3N1 @ K3N1:
    @Skelletonike, btw I ran that custom for mgs4 on the deck I'm amazed it got that far in game
  • K3N1 @ K3N1:
    Plug in*
    K3N1 @ K3N1: Plug in*