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

Status
Not open for further replies.

LWares87

Well-Known Member
Member
Joined
Oct 19, 2008
Messages
1,706
Trophies
0
Location
Colchester, England
XP
565
Country
United Kingdom
Just for Halloween, i wanted to play Super Ghouls n' Ghosts.

Although... it has graphical problems in-game though, where you can only see the HUD part of the screen. What confuses me, is that the pre-rendered custscenes and the menus come up alright though. :S

Edit: I know this actually isn't in the pipeline as yet, but... have you thought of what you're going to have playing as the channel sfx yet?
 

RowanDDR

SNES Lover
Member
Joined
Apr 13, 2006
Messages
258
Trophies
0
Location
London
XP
963
Country
StapleButter, just an idea: dim the bottom screen (darker font?) when emulation is in progress. Otherwise its a little distracting when playing at night. You have more critical things to work on I'm sure but there you go just an idea. :)
 
  • Like
Reactions: MarkDarkness

loco365

Well-Known Member
Member
Joined
Sep 1, 2010
Messages
5,457
Trophies
0
XP
2,927
> have you thought of what you're going to have playing as the channel sfx yet?

Probably the default sound because I'm a lazy ass.

If you want people to submit various sounds, I can convert the best one for you if you don't have the necessary applications.
 

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
I'd rather the drama around that leak doesn't invade this thread ;)


Speaking of sound, there are just too many issues with trying to run the SPC700+DSP on the syscore.

It worked well on the DS because they stayed somewhat in sync, even though there was no explicit sync between the two. Basically each CPU spent most of its time emulating its core and all was good.

It's not the case on the 3DS. The syscore spends most of its time running the 3DS kernel, and the appcore spends most of its time emulating the PPU.

While on the SPC side, a timer can be used to ensure consistent timings, timings on the CPU side aren't going to be anywhere near consistent.


SPC700 will be emulated on the appcore, the 'proper' way (not exactly proper because timing will be gross but a lot better). At the cost of some performance, but I'm positive the impact will be minor.

Maybe the DSP can be emulated on the syscore with carefully designed syncing.


Blah, sidetracked again. I also want to work on graphics rendering.
 

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
I'd rather the drama around that leak doesn't invade this thread ;)


Speaking of sound, there are just too many issues with trying to run the SPC700+DSP on the syscore.

It worked well on the DS because they stayed somewhat in sync, even though there was no explicit sync between the two. Basically each CPU spent most of its time emulating its core and all was good.

It's not the case on the 3DS. The syscore spends most of its time running the 3DS kernel, and the appcore spends most of its time emulating the PPU.

While on the SPC side, a timer can be used to ensure consistent timings, timings on the CPU side aren't going to be anywhere near consistent.


SPC700 will be emulated on the appcore, the 'proper' way (not exactly proper because timing will be gross but a lot better). At the cost of some performance, but I'm positive the impact will be minor.

Maybe the DSP can be emulated on the syscore with carefully designed syncing.


Blah, sidetracked again. I also want to work on graphics rendering.


My apologies, just an idea on how it could be done is all :P But it seems that there are other ways to do it, which is good. My question is will the 3DS be powerful enough to support FIR filtering, Gaussian and ADSR?
 

Pox

Well-Known Member
Member
Joined
Sep 12, 2014
Messages
151
Trophies
0
Age
33
XP
159
Country
I tried to run Chrono Trigger: Crimson Echoes on my red GW, but no luck wouldnt even start it and I had to press power off button to exit.
 

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 thing to know. I'll look into it.


Regarding the SPC700, I changed it to run somewhat synchronously to the main CPU. There is some slowdown, but not too much (I'm positive the hardware-assisted renderer I'm planning will help with that anyway).

SPC700 is ran every scanline, which is a good compromise. Running it less often doesn't give a visible speedup, indicating that the cost of switching between the CPU and the SPC is minimal. And this way, most of the abnormally long loading times or pauses caused by SPC700 code/data uploads last less long, closer to the original thing.

Now looking for a good way to offload DSP mixing to the syscore.
 

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
Hah, it's done.


Sound is still a bit noisy though. I guess it's because of the transitions between buffers. Don't quite know how to handle them cleanly with CSND or if it's possible at all.

lolSNES didn't have that issue because mixing and playback had the exact same timing (both based on the system clock). It's impossible to achieve such a level of precision on the 3DS, sadly.


Increasing the buffer size reduces noise but also increases latency.


Oh well, this will do for now. Time to work on more fun things. (read: hardware-accelerated PPU)
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,908
Trophies
2
XP
29,670
Country
United Kingdom
Awesome. In an entirely not-asking-for-ETA kind of way, do you have an idea of at what point in this exciting progress you might squeeze out another release? :)
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: https://youtu.be/5eLWoy0fFkc?si=1vvQ_2zAUlF1ThoD