Homebrew blargSnes -- SNES emulator for the 3DS (WIP)

Status
Not open for further replies.

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,870
Trophies
2
XP
29,143
Country
United Kingdom
Looking forward to seeing the latest progress too :)

Today I tried Williams Arcade's Greatest Hits, it plays fine but none of the games except Sinistar have any sound. This seemed unusual, any ideas? Was wanting to play Defender, pew pew pew!
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
Looking forward to seeing the latest progress too :)

Today I tried Williams Arcade's Greatest Hits, it plays fine but none of the games except Sinistar have any sound. This seemed unusual, any ideas? Was wanting to play Defender, pew pew pew!

There are a couple of more games with no sound: Doremi Fantasy, Märchen Adventure Cotton 100%, Raiden Trad, Super Turrican II. I would LOVE to have sound on these four games :) Super Turrican II actually plays surprisingly well, but with no sound!



EDIT: DiscoStewSM: About Fix to tile flicking. I have mainly noticed that problem in some special areas in a couple of games. There are probably some in SGnG. Then they are on level 2 in pop n twinbee as I mentioned before. I noticed that the water levels in Super Mario Allstars, SMB1, has the same tile flicking as the water stage in pop n twinbee. It seems to be some kind of graphical effect thing that the SNES are capable of..
 

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
There are a couple of more games with no sound: Doremi Fantasy, Märchen Adventure Cotton 100%, Raiden Trad, Super Turrican II. I would LOVE to have sound on these four games :) Super Turrican II actually plays surprisingly well, but with no sound!



EDIT: DiscoStewSM: About Fix to tile flicking. I have mainly noticed that problem in some special areas in a couple of games. There are probably some in SGnG. Then they are on level 2 in pop n twinbee as I mentioned before. I noticed that the water levels in Super Mario Allstars, SMB1, has the same tile flicking as the water stage in pop n twinbee. It seems to be some kind of graphical effect thing that the SNES are capable of..


Background tiles should never flicker, as on an actual SNES, the time it takes for rendering each scanline is constant for them. Sprites are the variable factor here (since you could have a bunch of sprites intersecting a single scanline or none at all), and anything contributing to more pixels per scanline than allowed basically gets cut off. However, this makes more of a tearing effect because of the cutoff with the scanline limit of cycles for sprite rendering, so some games incorporate flickering, alternating which sprites are visible so the load is reduced. You see this constantly on the NES, but that's also because there's a limit to the number of sprites that can be rendered (64 I think, and their only sizes are 8x8 and 16x8). I'll need to check out pop-n-twinbee to see if the problem is still there.

Edit:

Ok, just tried that level, and from what I could tell, whatever flicker you saw before is not there anymore. However, it is choppy, but this is because of it changing the background positioning per scanline to give it the wavy look. To pull this off, each scanline has to be rendered differently, resulting in needing around 8 time as many polygons to fill in an 8-pixel high area. Nothing can really be done about that atm.
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
Figure now is a good time as any.

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

Hardware-assisted Mode 7 - Under various circumstances, the GPU will go and render Mode 7 sections instead of handling them with software rendering. This means that in many cases where graphic fps would drop may not anymore. Perspective Mode7 won't see much of a change because of changes per scanline, but expect others to demonstrate an improvement, even up to 60fps. Still messing around with it as some cases are shown to be slower, so it is set as a WIP.

Fix to tile flicking - A problem with the vertex data alignment was causing an issue where in some cases, various background and sprite tiles would flicker. this has been corrected (as far as I can tell).

Mid-frame Color 0 rendering - I think this needs a visual to help explain it.
7NUHPmE.png


This is not the same as StapleButter's attempt at mid-frame palette changes under hardware rendering. This only affects Color 0, which no tile uses as it is not just the transparency color, but is also the backdrop color. So, in this example, any tiles that were showing up as black before will still be black, but if the backdrop shows color changes, you'll notice it.

And of course, this is currently working with the latest ctrulib build. No official release has been made at this time.

I forgot to say YAY! DKC looks perfect with the corrected background :)

For mode 7 improvement, then perhaps Axelay will run smoothly? :)
 

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
I forgot to say YAY! DKC looks perfect with the corrected background :)

It's not perfect. If you notice, it alternates between black silhouettes and whatever color the backdrop is. That is because the black is meant to be tiles that are affected by changes in the color palette per scanline. Instead, they are black because that is the last color(s) assigned to the palette before rendering begins (starting at scanline 224 or 240, having gone from top to bottom). Attempting to get that work would require having to separately render each section, reconverting the tiles each time because of the change in the color palette (the GPU does not support paletted textures as far as we know). With how much time that would require, it would just be best to do that in software, which is slow to say the least.
 
  • Like
Reactions: SLiV3R

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
It's not perfect. If you notice, it alternates between black silhouettes and whatever color the backdrop is. That is because the black is meant to be tiles that are affected by changes in the color palette per scanline. Instead, they are black because that is the last color(s) assigned to the palette before rendering begins (starting at scanline 224 or 240, having gone from top to bottom). Attempting to get that work would require having to separately render each section, reconverting the tiles each time because of the change in the color palette (the GPU does not support paletted textures as far as we know). With how much time that would require, it would just be best to do that in software, which is slow to say the least.


So, there's no hope in games being rendered properly at full speed, like, ever? Maybe the 3DS isn't as powerful for full speed Snes emulation as we hoped.:unsure:
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
My thoughts about possible future fx chip emulation:

1. There are around 15 different special chips. That fact alone would scare most of us away.
2. Many chips were only used in 1-3 games.
3. First priority should be SA1 imo. That chip is used in 26 games. Many of them are really good games also! (Jikkyō Oshaberi Parodius, Kirby Super Star, Kirby's Dream Land 3, Super Mario RPG: Legend of the Seven Stars etc..)
4. After the SA1 chip there are not that many chips that would be worth the trouble to emulate. I would say 2-4 other chips.
5. Super FX GSU-1, Super FX GSU-2, CX4 and DSP-1.

But this is probably for the blargSNES 2.0 version :)


My highest wish for 1.4 though is second screen power off during game play. Perhaps you could copy Gameyob 3DS code for that function?
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
My thoughts about possible future fx chip emulation:

1. There are around 15 different special chips. That fact alone would scare most of us away.
2. Many chips were only used in 1-3 games.
3. First priority should be SA1 imo. That chip is used in 26 games. Many of them are really good games also! (Jikkyō Oshaberi Parodius, Kirby Super Star, Kirby's Dream Land 3, Super Mario RPG: Legend of the Seven Stars etc..)
4. After the SA1 chip there are not that many chips that would be worth the trouble to emulate. I would say 2-4 other chips.
5. Super FX GSU-1, Super FX GSU-2, CX4 and DSP-1.

But this is probably for the blargSNES 2.0 version :)


My highest wish for 1.4 though is second screen power off during game play. Perhaps you could copy Gameyob 3DS code for that function?


Don't forget the SDD-1, OBC-1, and the S-RTC chips, though they were used in many games :P
 

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
So, there's no hope in games being rendered properly at full speed, like, ever? Maybe the 3DS isn't as powerful for full speed Snes emulation as we hoped.:unsure:


never.jpg


3DS homebrew, imo, is still in its infancy, and compromises had to be made on how things are done based on what we have access to. There is still a lot we don't know, and what we don't know may hold the secrets to pushing emulation forward. I mean, take a look at the various 3D Sega Classics, or some other retail games that utilize emulation on the 3DS. If I understand correctly, not only is the emulator that's made for games like Sonic expanded to do things the original Mega Drive couldn't do (meaning the games themselves are also changed to take advantage of them), but it's also compatible with the unaltered versions of such games. One of the main problem we have is that the SNES is built with utilizes color palettes that can change per scanline, so we have to convert the graphics to direct-color formats to use them, yet I feel that these games used by commercial 3DS emulators are also using palettes, and the emulators running them have the access needed to process them in a more timely manner (and not simply doing what we're doing).

All I can say is that we need to wait until more is uncovered.
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,184
Trophies
2
XP
33,715
Country
Mexico
never.jpg


3DS homebrew, imo, is still in its infancy, and compromises had to be made on how things are done based on what we have access to. There is still a lot we don't know, and what we don't know may hold the secrets to pushing emulation forward. I mean, take a look at the various 3D Sega Classics, or some other retail games that utilize emulation on the 3DS. If I understand correctly, not only is the emulator that's made for games like Sonic expanded to do things the original Mega Drive couldn't do (meaning the games themselves are also changed to take advantage of them), but it's also compatible with the unaltered versions of such games. One of the main problem we have is that the SNES is built with utilizes color palettes that can change per scanline, so we have to convert the graphics to direct-color formats to use them, yet I feel that these games used by commercial 3DS emulators are also using palettes, and the emulators running them have the access needed to process them in a more timely manner (and not simply doing what we're doing).

All I can say is that we need to wait until more is uncovered.

Oh please don't make me start:


Never gonna give you up,
Never gonna let you down,
Never gonna run around and desert you, blargSNES! <3
 

loco365

Well-Known Member
Member
Joined
Sep 1, 2010
Messages
5,457
Trophies
0
XP
2,927
Well,considering it has last about four months since the latest build was released, the 2.0 thing won't happen in a visible future
(Maybe we will see NX released sooner than that).

Well, considering DiscostewSM has been working on it as of late, I'm sure you can... Take the source and build it? That could give you a few updates over 1.3.
 
  • Like
Reactions: the_randomizer

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
Well, considering DiscostewSM has been working on it as of late, I'm sure you can... Take the source and build it? That could give you a few updates over 1.3.


The thing though is that while I have been working on it, it hasn't done anything for compatibility like a lot of people would want. That type of work is, quite frankly, beyond my scope because I know very little regarding emulation. What I do know is how to take the processed data (should it be correct), and interpret it to how it should be presented, such as with graphics (and even a little bit of audio).
 

davhuit

Well-Known Member
Member
Joined
Nov 23, 2005
Messages
994
Trophies
0
XP
550
Country
France
So, there's no hope in games being rendered properly at full speed, like, ever? Maybe the 3DS isn't as powerful for full speed Snes emulation as we hoped.:unsure:


Well, the few games I played/tried seemed to run at fullspeed, or near at least because I didn't noticed the difference. About rendering, except maybe Higan, even PC emulators aren't perfectly accurate so it's not a big problem.

Personally, 99% of the games running like the actual compatibles ones would be enough for me, personally (you'll always have games with problems, that's sure).
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
Well, the few games I played/tried seemed to run at fullspeed, or near at least because I didn't noticed the difference. About rendering, except maybe Higan, even PC emulators aren't perfectly accurate so it's not a big problem.

Personally, 99% of the games running like the actual compatibles ones would be enough for me, personally (you'll always have games with problems, that's sure).

90 % would be enough for me :)
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: