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

Status
Not open for further replies.

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
All of that was on my TODO list anyway, so go ahead. The idea of coloring folders differently is a nice one. I also thought about something else: repurposing the titlebar to show the current directory (or full path as much as possible) rather than 'blargSNES 1.2'. I'd lose the version display, but I thought about somehow integrating it into the splashscreen.
 

kraan

Well-Known Member
Newcomer
Joined
Dec 12, 2014
Messages
84
Trophies
0
Age
34
Location
Merowe
Website
www.matsindia.wordpress.com
XP
95
Country
Tested your Emulator out yesterday, some things I noticed;

-Final Fantasy II (EU) works perfectly, although I haven't played it extensively.
-Mario Kart won't load
-Can't seem to find the menu/a way to safely close the HB application. The only way to leave the game is to power off the 3DS. Might be something I'm missing though.

Anyway, great job, love to see what the updates have in store ;)

EDIT: It's possible that I have the 1.1 build. I downloaded this emulator over a week ago, I'm downloading the 1.2 build as we speak. If these problems still arise I'll let you know ;)
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,515
Country
United States
Tested your Emulator out yesterday, some things I noticed;

-Final Fantasy II (EU) works perfectly, although I haven't played it extensively.
-Mario Kart won't load
-Can't seem to find the menu/a way to safely close the HB application. The only way to leave the game is to power off the 3DS. Might be something I'm missing though.

Anyway, great job, love to see what the updates have in store ;)

EDIT: It's possible that I have the 1.1 build. I downloaded this emulator over a week ago, I'm downloading the 1.2 build as we speak. If these problems still arise I'll let you know ;)


Mario Kart won't work because it uses a special chip that hasn't been implemented yet.

Interestingly enough with the unofficial build I'm running with (the one I've made my implementations with, not the one on Github), Earthworm Jim 2 works with a repeated "!! SPC IO MIRROR READ 44" message, runs a little slow (because of the messages), and screwed up sound effect (like how ZSNES does).
 

kraan

Well-Known Member
Newcomer
Joined
Dec 12, 2014
Messages
84
Trophies
0
Age
34
Location
Merowe
Website
www.matsindia.wordpress.com
XP
95
Country
Mario Kart won't work because it uses a special chip that hasn't been implemented yet.

Interestingly enough with the unofficial build I'm running with (the one I've made my implementations with, not the one on Github), Earthworm Jim 2 works with a repeated "!! SPC IO MIRROR READ 44" message, runs a little slow (because of the messages), and screwed up sound effect (like how ZSNES does).


Sounds promising ;) Can't wait for a working MK!
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,251
Country
Canada
Mario Kart won't work because it uses a special chip that hasn't been implemented yet.

Interestingly enough with the unofficial build I'm running with (the one I've made my implementations with, not the one on Github), Earthworm Jim 2 works with a repeated "!! SPC IO MIRROR READ 44" message, runs a little slow (because of the messages), and screwed up sound effect (like how ZSNES does).

earthworm jim 2 behaves the same with git builds I use.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,515
Country
United States
Been working on that ROM menu. Here's what I have so far.

- Directory support. Folders and up directory ("/..") shown in yellow. Root has no up directory.
- Folders and games alphabetized (folders first, games second).
- Replaced the title and version number on bottom screen with the current directory starting from root. Will crop to full directories if full directory path is too long.

TODO

- Examine if directory name is too long to fit in the reserved space, and crop as needed. (done)
- Save current directory to the ini file upon starting a game or exiting the emulator.
 

Loke

Well-Known Member
Member
Joined
Jan 7, 2014
Messages
321
Trophies
0
XP
702
Country
Netherlands
@StapleButter
I reread the first post for small question but wasn't able to find the answer.. I know it's somewhere in the threat but it grows quite fast. What is the rom limit? I got all snes games on my pc but I remember someone saying there's a limit..

Also would you mind edit the first post with the rom limit?

Thanks and keep the amazing work up!

@DarkFlare69
Thank you for the video. I've checked some in the past but it was in early testing.. After I watched your video I'm gonna install this emulator ASAP. The game ran much better then i expected!
 

DarkFlare69

Well-Known Member
Member
Joined
Dec 8, 2014
Messages
5,147
Trophies
2
Location
Chicago
XP
4,752
Country
United States
@StapleButter
I reread the first post for small question but wasn't able to find the answer.. I know it's somewhere in the threat but it grows quite fast. What is the rom limit? I got all snes games on my pc but I remember someone saying there's a limit..

Also would you mind edit the first post with the rom limit?

Thanks and keep the amazing work up!

@DarkFlare69
Thank you for the video. I've checked some in the past but it was in early testing.. After I watched your video I'm gonna install this emulator ASAP. The game ran much better then i expected!
No problem, just don't judge my skills at Super Mario World xD. It also ran much better than I expected. It's nearly perfect at this point. Many games run at 95 - 100% speed.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,515
Country
United States
So I'm at the point of doing the saving of the current directory, but I'm honestly not sure if that would be a good idea, or how I should do it. Should it only save the current directory through the config window like the rest of the settings, or should I go with my original plan of saving when launching a game or exiting the emulator? The former may make it confusing for people as it doesn't become an automatic feature, but it'll only write to the ini on request there. The latter may be more wanted, but it'll write each time a game is launched or the emulator is exited. Some people may like having a "base" directory, which the former idea would allow and the latter would not.

Anyone have any ideas, or should I just drop this idea and have the emulator always start in a specific directory, like "/snes" which is what it does now? Dropping the idea won't remove directory support. You'll still be able to navigate through them.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,515
Country
United States
Writing a string to the ini file is simple, but loading a string requires a little bit of a change to the format. My testing has shown that "%[^\t\n]" works, in that it'll continue reading characters until it reaches the tab or newline characters. The entries end with the newline character.

For the time being, I decided to have it save the directory only when launching a game. Decided not to include when you exit the app. Upon launching the app, if the ini is missing, the save directory path entry is missing, invalid, or thedirectory doesn't exist, the system will default to the root directory.
 

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
Oh, nice thing. Didn't know you could do that.


In the meantime, I'm trying to speed up GPU processing. I reduced the resolution from 400x480 to 400x240, graphics look pretty much the same and that shaved off 1ms. This optimization will not be applicable if 3D is used, though.

I moved the border texture and final screen vertices to VRAM. The speed gain from this can be measured but it's small, 40 microseconds or so.

I still wonder whether I should apply it to the hardware renderer, because most of the data there is dynamic. The time taken by DMA transfers might outbalance the performance gains, even though DMA transfers are fast (around 200MB/s from what I measured). But on the other hand, this might also speed up the CPU side by reducing contention between the CPU and the GPU.
 

MarkDarkness

Nocturnal
Member
Joined
Dec 17, 2009
Messages
1,412
Trophies
2
XP
3,241
Country
Poland
Been working on that ROM menu. Here's what I have so far.

- Directory support. Folders and up directory ("/..") shown in yellow. Root has no up directory.
- Folders and games alphabetized (folders first, games second).
- Replaced the title and version number on bottom screen with the current directory starting from root. Will crop to full directories if full directory path is too long.

TODO

- Examine if directory name is too long to fit in the reserved space, and crop as needed. (done)
- Save current directory to the ini file upon starting a game or exiting the emulator.
I mentioned before and it's still something very relevant to me that we can customize the lower screen more. A minimalistic approach like GameYob's is what would click for me, for example. I'm sure other people prefer different things. But a big blue screen is perhaps not ideal.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,515
Country
United States
Well, good news everyone. Smea said that he is updating Ninjhax tomorrow, along with something else to allow larger executable files!


Indeed. Not just bigger executables, but also executable/writable pages for dynarec. I can see this being used for something like a PS1 emulator. Could this benefit BlargSnes to not only speed up the base emulation, but allow for room involving special chips without needing the extra cores of an N3DS?
 

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
Indeed. Not just bigger executables, but also executable/writable pages for dynarec. I can see this being used for something like a PS1 emulator. Could this benefit BlargSnes to not only speed up the base emulation, but allow for room involving special chips without needing the extra cores of an N3DS?

I know it's definitely going to help with GBA emulation. ARM to ARM isn't entirely too difficult, but the main problem was that we couldn't set pages executable, and we will be able to soon. I'm definitely excited to see what I can get gpsp to do with it.
 
  • Like
Reactions: Idaho

kraan

Well-Known Member
Newcomer
Joined
Dec 12, 2014
Messages
84
Trophies
0
Age
34
Location
Merowe
Website
www.matsindia.wordpress.com
XP
95
Country
A few findings;

-I got an error when I tried to start Doom on the SNES emulator, it said report to staplebutter. Don't have a screen of it right now but can try to get one if you need it.
-Trying to start Chrono trigger destroys everything, freezing up forcing to hard reset console.

Indeed. Not just bigger executables, but also executable/writable pages for dynarec. I can see this being used for something like a PS1 emulator. Could this benefit BlargSnes to not only speed up the base emulation, but allow for room involving special chips without needing the extra cores of an N3DS?


God a PS1 emulator would make me drool, but right now I'd already be happy with a sped up GBA emulator. Very excited to see what will happen with the ninjhax update.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Longer battery life cooler temps and faster! What's not to like lol (probably expensive as hell)
  • AncientBoi @ AncientBoi:
    [checks my dildo(s) batteries, coolant and lube] :O [promptly replaces them] :D
    +1
  • BigOnYa @ BigOnYa:
    Lol not even for sale yet to public, and already sold out. I'd like to get one but ill wait for the hype to calm down.
    +1
  • a_username_that_is_cool @ a_username_that_is_cool:
    I'm pretty sure I wasn't on GBAtemp at all yesterday, whenever I tried to go onto the website I got an unexpected database error
  • BigOnYa @ BigOnYa:
    We all teamed together and decided you needed a day off, so we blocked you.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    No one expects the database errors!!!
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Hey a thought occurred to me... If they are unexpected database errors, are there expected database errors?
    +1
  • K3Nv2 @ K3Nv2:
    @BigOnYa, that's just a pre-order term to make the product look better it's not sold out
    +1
  • K3Nv2 @ K3Nv2:
    Never expect a website to last 24/7 it's like section 8
  • BakerMan @ BakerMan:
    good afternoon fellas
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Gotten tag!
  • Psionic Roshambo @ Psionic Roshambo:
    Gutten lol
  • Psionic Roshambo @ Psionic Roshambo:
    Autocorrect isn't always correct
  • BakerMan @ BakerMan:
    however,sad news today, although idk if i can say it bc it relates to a rom site
  • BigOnYa @ BigOnYa:
    Rom or Ram site? Cause there's a big difference
  • BakerMan @ BakerMan:
    rom,like game files
  • BakerMan @ BakerMan:
    know what? to paraphrase sonic: "no GBAtemp rule in the universe is gonna stop me"
  • BakerMan @ BakerMan:
    vimm's lair had to remove a bunch of games because of nintendo, sega, and lego
  • BigOnYa @ BigOnYa:
    Got taken down? Another one bites the dust
  • BakerMan @ BakerMan:
    not taken down, but had to remove a bunch of games
  • K3Nv2 @ K3Nv2:
    Sirloin sounds good tonight
  • BakerMan @ BakerMan:
    yeah it does
    BakerMan @ BakerMan: yeah it does