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

Status
Not open for further replies.

Idaho

Well-Known Member
Member
Joined
Oct 3, 2013
Messages
884
Trophies
1
Age
29
XP
1,413
Country
France
hey guys, I heard that it is now possible to have sound on ninjhax for the n3DS, will you guys implement it in your emu?

Edit: indeed, it is already implemented in Gameyob ^^
 

Shadowtrance

Well-Known Member
Member
Joined
May 9, 2014
Messages
2,493
Trophies
0
Location
Hervey Bay, Queensland
XP
1,807
Country
hey guys, I heard that it is now possible to have sound on ninjhax for the n3DS, will you guys implement it in your emu?

Edit: indeed, it is already implemented in Gameyob ^^

Indeed it would be great :)

I tried adding libkhax to [user]DiscostewSM[/user]'s version, it compiled fine but i obviously did something wrong because i got no sound :( (totally noob with programming). haha

And yeah i just tried Steveice10's version of gameyob, it has sound! Woo! haha
 
  • Like
Reactions: Idaho

Bonny

Well-Known Member
Member
Joined
Dec 8, 2008
Messages
825
Trophies
1
Location
Bavaria
XP
2,084
Country
Germany
Used blargSnes for the first time yesterday with my Gateway. The green marked games from the Comp.-List are really working fine, but no sound with gateway :glare:

What steps are reqired to install the emu as cia?
 

logg

Well-Known Member
Member
Joined
Dec 10, 2014
Messages
257
Trophies
0
Age
30
XP
306
Country
United States
Used blargSnes for the first time yesterday with my Gateway. The green marked games from the Comp.-List are really working fine, but no sound with gateway :glare:

What steps are reqired to install the emu as cia?
Use FBI or Big Red Menu to import cias which you have stored on your sd card.
 

Arisotura

rise of melonism
OP
Member
Joined
Dec 5, 2009
Messages
839
Trophies
1
Age
30
Location
center of the Sun
Website
kuribo64.net
XP
2,498
Country
France
Any chance for blargSnes to get sound through Ninjhax on New 3DS like Gameyob?
GameYob can do that? Details would interest me. So far I haven't seen any DSP interaction code in it. If it uses CSND, it'll have the same restrictions as blargSNES.


I wish I could work on blargSNES some more. I have exam shiz to get done, and I'm working on other projects, so eh.

Last time, I tried supporting midframe palette changes in the hardware renderer, but there were issues with it. Basically need to come up with a better way of detecting whether graphics actually have to be recalculated; the current way caused all the tiles to be trashed and recalculated every frame, which kinda defeats the point of the hardware renderer.

Will also take a while to get used to all the changes DiscostewSM did in the meantime, heh :P Apparently he got it working with latest ctrulib, so that's one task out of the way. Might also improve the blargGL layer or get rid of it entirely, dunno.

Something worth trying would also be redesigning the hardware renderer to avoid switching framebuffers unless necessary. Will probably help performance.


But eh, something new I could also work on would be expansion chips. Or savestates.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
GameYob can do that? Details would interest me. So far I haven't seen any DSP interaction code in it. If it uses CSND, it'll have the same restrictions as blargSNES.


I believe it uses Myria's libkhax to gain kernel access on Ninjhax to give itself access to CSND now, so there shouldn't be any restrictions in that regard.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,499
Country
United States
GameYob can do that? Details would interest me. So far I haven't seen any DSP interaction code in it. If it uses CSND, it'll have the same restrictions as blargSNES.


I wish I could work on blargSNES some more. I have exam shiz to get done, and I'm working on other projects, so eh.

Last time, I tried supporting midframe palette changes in the hardware renderer, but there were issues with it. Basically need to come up with a better way of detecting whether graphics actually have to be recalculated; the current way caused all the tiles to be trashed and recalculated every frame, which kinda defeats the point of the hardware renderer.

Will also take a while to get used to all the changes DiscostewSM did in the meantime, heh :P Apparently he got it working with latest ctrulib, so that's one task out of the way. Might also improve the blargGL layer or get rid of it entirely, dunno.

Something worth trying would also be redesigning the hardware renderer to avoid switching framebuffers unless necessary. Will probably help performance.


But eh, something new I could also work on would be expansion chips. Or savestates.


The midframe palette changes would be so much simpler if the GPU supported paletted textures......the only possible solution I understand that may work is the use of bump mapping with palette-like reflection samplers to mimic paletted textures like we'd want them to work, but there's no way of knowing if that can work without access to that kind of capability. I don't even know the first thing to set that up. But, assuming it does work, I could see hardware rendering performance skyrocket, at least with normal modes.

To be honest, I'd keep the blargGL layer, if to at least hold all the information needed per update phase.

I'm still working on the "you-know-what", and I think I found a better way of handling it as well as compensating for the missing parts. Not quite ready to test though.
 

mvmiranda

Well-Known Member
Member
Joined
Oct 29, 2013
Messages
1,457
Trophies
1
Location
Brazil, Sao Paulo
Website
www.gamemod.com.br
XP
1,673
Country
Brazil
All you really need to do is include libkhax and run "khaxInit". It gains kernel access through memchunkhax and patches SVC access to allow the current thread access to all SVCs. It also patches the PID to 0, reinits SRV, and patches it back, in order to gain access to all services.

That's really cool!
 

Arisotura

rise of melonism
OP
Member
Joined
Dec 5, 2009
Messages
839
Trophies
1
Age
30
Location
center of the Sun
Website
kuribo64.net
XP
2,498
Country
France
Interesting, although the idea of embedding a firmware-dependent kernel hack into a userland homebrew feels a little odd to me.


On this topic, here's an idea that could be interesting, although I won't be trying it for a while.

It is estimated that on the 3DS, shit would run atleast 2x faster if it was running on the bare metal, without all the services and extra shit. This is worth experimenting I guess.

I think blargSNES could mostly be made to run that way without touching its codebase.

It would need a way to start on the ARM11 as the first process, but still have the ARM11 kernel and ARM9-side system, basically like a FIRM launch. Or start normally, but gain kernel access and kill all the services. blargSNES would then be compiled with a minimalistic ctrulib-compatible layer that interfaces with the hardware.

It would likely be faster than it is now. And as a bonus, could use CSND in all situations. Could do whatever it wants with the HOME button, no broken APT shit getting in the way. Might even get fancy and use the DSP (blargSNES doesn't really need it, but who knows).
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: You can make a post on the DS forum about your findings, and they'll do their best to respond...