Homebrew SNES9x for Old 3DS

Canzah

Well-Known Member
Member
Joined
Jul 8, 2012
Messages
492
Trophies
0
XP
1,410
Country
United Kingdom
Ok. Well i think both snes9x and blargsnes use hardware rendering. Can you tell me the difference between them
As far as I know, this is essentially a port of Snes9x 1.43 from PC, naturally greatly modified.
Blarg is made from scratch from what I know, I could be wrong however.
 
  • Like
Reactions: NoNAND

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
As far as I know, this is essentially a port of Snes9x 1.43 from PC, naturally greatly modified.
Blarg is made from scratch from what I know, I could be wrong however.
I think blargSNES was based off of lolSnes.

A SNES emulator for the 3DS. If you have seen lolSnes, you know what to expect.
From blargSNES GitHub.
 

Knight of Time

Well-Known Member
Member
Joined
Apr 19, 2015
Messages
135
Trophies
0
Age
41
XP
1,288
Country
Canada
Well, I'm honestly surprised at how well Kirby's Dream Land 3 runs on the latest versions of SNES9x for 3DS (I'm still using an O3DS), but, is anything being done about the transparency issue this game has? I noticed that in levels with water (like 1-4), you can't see Kirby if he goes under the surface, so yeah, if a fix comes for that someday (even if it's at the cost of a little speed), that would be great to see.
 

Columbo2811

Well-Known Member
Member
Joined
Jul 19, 2015
Messages
1,399
Trophies
0
XP
1,064
Country
Well, I'm honestly surprised at how well Kirby's Dream Land 3 runs on the latest versions of SNES9x for 3DS (I'm still using an O3DS), but, is anything being done about the transparency issue this game has? I noticed that in levels with water (like 1-4), you can't see Kirby if he goes under the surface, so yeah, if a fix comes for that someday (even if it's at the cost of a little speed), that would be great to see.
Errrrm if you had actually read some of this page and the last page of this thread you would of seen this problem has been acknowledged.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Awesome dude! This app is great. It truly proves that o3dses can run snes games. Been playing with it for a while and it works great. Only tested super mario world mega man x amd alttp. All run at 60 fps.

We had to drop a number of stuff from this emulator: mosaic effect and in-frame palette changes. It's a limitation of using the 3DS GPU for rendering. We trade off speed for some acceptable loss in compatibility.

@bubble2k16 Before closing out the project, do you think you can add support for Satella View games?

I don't really know much about Satellaview games. I always thought they needed some connection to some server to download data, and I am not exactly sure how that can be done. If there's anyone who can point me to more info, I can try to look into it, but no promises. :)

For Satellaview games use blargSNES VC injections. I think he already mentioned there wasn't anything planned to further compatibility for Satellaview games as it would be too difficult.

You mean BlargSnes runs BS Zelda?

-----

The latest "nightlies" are available on Github.
https://github.com/bubble2k16/snes9x_3ds

This nightly fixes a few things:
- Kirby Dreamland 3's translucency problem. Yay!
- The squishing of games that use 256x239 resolutions. (I won't be fixing the 4:3 stretch for such resolution games as I don't yet know what should the actual ratio be for such games)
- Improved the hi-res modes to prevent flickering
- Minor revamp of the emulator UI. It's not complete, but I am working on it.

Appreciate any feedback.



Thanks! :D
 

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
You mean BlargSnes runs BS Zelda?
According to the compatibility list, blargSNES boots BS Legend of Zelda - Ancient Stone Tablets weeks 1 and 2 but you can't get past the main menu. Weeks 3 and 4 give you a black screen on boot, as well as the rest of the BS Zelda games. But it runs BS Chrono Trigger: Character Library, BS Chrono Trigger: Jet Bike Special, BS Chrono Trigger: Music Library, BS Dr. Mario, BS F-Zero Grand Prix 2, BS Kaizou Choujin Shubibinman Zero(no sound though), BS Radical Dreamers, BS Super Famicom Wars and BS Super Mario USA *(1, 2, 3 and 4 game)*.
 
Last edited by BL4Z3D247,

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,464
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,319
Country
The latest "nightlies" are available on Github.
Nothing terribly interesting to report, but Kirby's Dream Land 3 looks absolutely fantastic with the newly implemented translucency effect, thanks very much!

EDIT: I like the freshened up interface, the quit message was cute.

Unfortunately, I also have a minor bug to report:
0V6GDYu.png

Sprites seem to be getting cut off when they touch the top of the screen. Kirby is missing a bit of forehead, here.​
 
Last edited by Vague Rant,

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,512
Country
United States
According to the compatibility list, blargSNES boots BS Legend of Zelda - Ancient Stone Tablets weeks 1 and 2 but you can't get past the main menu. Weeks 3 and 4 give you a black screen on boot, as well as the rest of the BS Zelda games. But it runs BS Chrono Trigger: Character Library, BS Chrono Trigger: Jet Bike Special, BS Chrono Trigger: Music Library, BS Dr. Mario, BS F-Zero Grand Prix 2, BS Kaizou Choujin Shubibinman Zero(no sound though), BS Radical Dreamers, BS Super Famicom Wars and BS Super Mario USA *(1, 2, 3 and 4 game)*.
That's a lot of BS! :P
 

RupeeClock

Colors 3D Snivy!
Member
Joined
May 15, 2008
Messages
6,499
Trophies
1
Age
34
Website
Visit site
XP
2,999
Country
Just tried out the nightly v1.0b release with a few hi-res games, and these are pretty good results.
I tried out Kirby's Dreamland 3 (up to first boss), Marvelous: Another Treasure Island (fan translation), Seiken Densetsu 3 (fan translation) and Secret of Mana.
Kirby's Dreamland 3 played flawlessly as far as I could tell.

rqu8G3w.png

fcdgzD4.png

3hngqC8.png

YGselmJ.png

S6CbyJ8.png

IG8A9xf.png

hUsYMoD.png

WpDfwMS.png

OyEkLVJ.png

DwJteTC.png

ekHPhQQ.png

ysHEHs2.png

@Vague Rant Have you confirmed that this slight trim doesn't also occur on other emulators or the game running on original hardware?

@bubble2k16 I noticed that when making these screenshots, they get dumped into the same directory as the roms. This isn't great since it clutters the rom directory which already needs to store .srm files, etc. The filenames also aren't attached to the rom they were created from, and the timestamp used against them isn't clear, is it frames since snes9x was launched?
 
Last edited by RupeeClock,
  • Like
Reactions: BL4Z3D247

Canzah

Well-Known Member
Member
Joined
Jul 8, 2012
Messages
492
Trophies
0
XP
1,410
Country
United Kingdom
The squishing of games that use 256x239 resolutions. (I won't be fixing the 4:3 stretch for such resolution games as I don't yet know what should the actual ratio be for such games)
Your 4:3 isn't working properly to begin with, at least in versions up to 0.80, because it seems to just stretch to 4:3 but also full screen (as in vertically) while keeping aspect ratio, instead of just stretching the image horizontally into 4:3 from 8:7.
Anyway the proper 4:3 resolutions should be as follows:
For 224p resolution games: 299x224 for 4:3 aspect ratio
For 239p resolution games: 319x239 for 4:3 aspect ratio
Naturally I'm not sure how exactly the scaling works in the code but I hope you'll be able to figure out how to implement those proper 4:3 values.
 
Last edited by Canzah,

RupeeClock

Colors 3D Snivy!
Member
Joined
May 15, 2008
Messages
6,499
Trophies
1
Age
34
Website
Visit site
XP
2,999
Country
Your 4:3 isn't working properly to begin with, at least in versions up to 0.80, because it seems to just stretch to 4:3 but also full screen (as in vertically) while keeping aspect ratio, instead of just stretching the image horizontally into 4:3 from 8:7.
Anyway the proper 4:3 resolutions should be as follows:
For 224p resolution games: 299x224 for 4:3 aspect ratio
For 239p resolution games: 319x239 for 4:3 aspect ratio
Naturally I'm not sure how exactly the scaling works in the code but I hope you'll be able to figure out how to implement those proper 4:3 values.
Wouldn't it be easier to just draw to a 256x240 canvas internally regardless of the 224p/239p native resolution, and apply the 4:3 aspect ratio correction to the 256x240 canvas?
I though suppose that would mean you only widen the image, and ignore making it taller, which would mean you still get horizontal black bars.
So it would be a case of implementing different fill screen modes.
Fill screen (maintain 5:4 aspect)
Fill screen (maintain 4:3 aspect)
Fill screen (5:3 aspect, no black space)
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
@bubble2k16, I also see exiting v1.00b via the Home button now works accordingly. You're awesome. :yay:

Hmm, I have actually no idea what I did to make it work. :)


Sprites seem to be getting cut off when they touch the top of the screen. Kirby is missing a bit of forehead, here.​

I think, just maybe the first scan line is not supposed to be rendered. :) Seems like its documented in some of the online knowledge bases. I think I'll have to avoid rendering the first scanline then.


I noticed that when making these screenshots, they get dumped into the same directory as the roms. This isn't great since it clutters the rom directory which already needs to store .srm files, etc. The filenames also aren't attached to the rom they were created from, and the timestamp used against them isn't clear, is it frames since snes9x was launched?

Hmm... I actually merged in the code from one of the contributors of this feature. Never really thought about it. I'll probably add the ROM name to the screenshot then, and see if I can figure out putting the system's date/time with it. But I probably won't create them in a separate subfolder.

Your 4:3 isn't working properly to begin with, at least in versions up to 0.80, because it seems to just stretch to 4:3 but also full screen (as in vertically) while keeping aspect ratio, instead of just stretching the image horizontally into 4:3 from 8:7.
Anyway the proper 4:3 resolutions should be as follows:
For 224p resolution games: 299x224 for 4:3 aspect ratio
For 239p resolution games: 319x239 for 4:3 aspect ratio
Naturally I'm not sure how exactly the scaling works in the code but I hope you'll be able to figure out how to implement those proper 4:3 values.

Seems like what you want is only for the width to be stretched, but the final height to be retained as the original. Now, if you select 4:3 the final rendered output is always 320x240 - you can tell because the top screen looks about the same width as the bottom screen. Your method is likely to look better, so I'm willing to try to this.

But first I'll want to get the settings screen's UI updated.

Wouldn't it be easier to just draw to a 256x240 canvas internally regardless of the 224p/239p native resolution, and apply the 4:3 aspect ratio correction to the 256x240 canvas?
I though suppose that would mean you only widen the image, and ignore making it taller, which would mean you still get horizontal black bars.
So it would be a case of implementing different fill screen modes.
Fill screen (maintain 5:4 aspect)
Fill screen (maintain 4:3 aspect)
Fill screen (5:3 aspect, no black space)

Yup it's pretty much it. Everything is rendered to a base 256x224/239 texture. Then after that it's stretched and pasted on to the screen based on the configuration. It's just a matter of telling the GPU how much to stretch the final output to, so it's pretty easy.

That's a lot of BS! :P

I never expected myself to have to handle so much BS. :rofl2:
 

RupeeClock

Colors 3D Snivy!
Member
Joined
May 15, 2008
Messages
6,499
Trophies
1
Age
34
Website
Visit site
XP
2,999
Country
@bubble2k16 Cool, for screenshot's sake it'll be nice if they are at least alongside the rom filename they came from. A proper timestamp would also help eliminate the chance of accidentally overwriting an existing file.
Also neat to see the rendering works in a way I imagined it to.

I also noticed that the .cia version will still freeze the console if you put it into sleep mode whilst the software is suspended on the home menu. I hope that's something you can maybe fix someday along with the banner preview in FBI.

That reminds me, if you ever consider improving the .cia version, you could go the extra mile with a proper custom splash animation. There are more homebrew doing this like FBI and CTRX.
 
Last edited by RupeeClock,

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
They said that there will never be a good snes emulation on o3ds.
Then they said chip FX on o3ds will never happen.
Then they said that never and NEVER, the o3ds will NEVER (again) run Super Mario RPG.
And here we are, @bubble2k16, your work is just a MIRACLE, is pretty sadly you don't own a wiiu to support emulation on that scene, but your work on 3ds is just terrific!!!
Thanks a lot for this MIRACLE!

Enviado desde mi SM-J111M mediante Tapatalk
 

Michierusama

Well-Known Member
Member
Joined
May 13, 2014
Messages
583
Trophies
0
Location
GBAtemp
XP
361
Country
United States
Is it in one of the early stages of KDL3? Any kind soul can PM me the save states with that problematic levels? I haven't gotten that far in. :) Thank you!



What's interesting here is that the GBA shares some similar graphics hardware with the SNES (which was why we could get SnezziDS to run at all the DS - except for the missing priorities and a few other things the graphics hardware were practically 1-to-1 match). That means we could tap on the rendering routines I've done for SNES9x to be used on a GBA emulator (not the VC one). It is not likely to run full speed on an Old 3DS, but it can at least give some performance boost to an sufficiently accurate emulator and push the new 3DS. Which is the most accurate GBA emulator today? mGBA or gPSP? Or VisualBoyAdvance (which will require some work to port to 3DS)?

Then again, a GBA VC will run 100% full speed on an Old 3DS right? If only we could inject a menu and get it to boot a GBA ROM from any where in an SD card. :)

But then again, a PSX would be more interesting. Maybe, just maybe, it just needs slightly more work to get it to run at 60fps.

Argh... choices! :rofl2:
You should definitely work on a GBA emulator [emoji1]

Sent from my Nexus 6 using Tapatalk
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: https://www.youtube.com/watch?v=pA63mm5FnMo&embeds_referring_euri=https%3A%2F%2Flostmediawiki.com...