Homebrew SNES9x for Old 3DS

  • Thread starter Thread starter bubble2k16
  • Start date Start date
  • Views Views 884,539
  • Replies Replies 2,507
  • Likes Likes 147
A turbo function would be awesome too. For those annoying grinds.
@bubble2k16
Any chance we have option to save emulator config in next release? to save fullscreen, frame configuration...

Everytime I start snes9x I put in fullscreen before load a game and the emulator freeze.

Is it possible to add an auto fire/auto hold configuration too?
according to first post, turbo buttons will eventually be implemented
 
Running the latest release of this awesome port on my 2DS and it appears that NHL 94 works without freezing and at a steady 59 FPS, albeit with a few minor graphical issues. (See image example below)

Graphical bug:
azvAAUy.png
Gameplay:
ogyTlWs.png
I don't have much time as of right now, but I'd really like to contribute to the compatibility list for this emulator so I'll do my best to really test these games when my schedule clears up this weekend.
How exciting. This is exactly what o3DS/2DS users need.
 
v0.34 is released with the following changes:

- Mode 7 minor performance improvements and update to draw Super Mario Kart's grass outside of the racing track. Thanks to Discostew for pointing out what's missing.
(Somehow my CIA v0.34 still draws a black area, and I don't know why! :wacko: )
- Taking of screenshot now only captures the upper screen.
- Option of forcing frame rate to 50 FPS / 60 FPS / or based on the selected ROM's region.
- Additional screen scaling option to 320x240.
- Fixed the crashing problem when selecting options without any ROM running
- Fixed DKC1 piracy problem (seems there was a bug in my version of Snes9x v1.43)
- Improved the logic to save SRAM to SD card about 1-2 seconds after your game was saved in the emulator.

Some other problems that came out of this release:
- Out of this world's in-game screen is flickering badly. Will see what I can do.
- CIA version of Super Mario Kart still refuses to draw the outside-of-track area. Will see what I can do in the next release.

Again thanks to all for the testing and suggestions. There are still so many things I want to do. :)

I'll also have a look at NHL94 to see what's causing the corruption.

--------------------- MERGED ---------------------------

@JMSMORIARTY - Which part of Earthbound has sound delay of 1.5 seconds? That's a lot... and so far, other than the horrible noises, I don't experience any sound delays. :)

@Osakasan - Yes DKC1 is now fixed! :)

@yoshinatsu - BlargSNES in many ways has been an inspiration and proof that SNES emulation is possible on 3DS. This port of Snes9x wouldn't probably have taken off if BlargSNES was never there. Although I would have hoped that StapleButter had opted to port Snes9x right from the beginning instead of using his original core. I guess he never knew how possible it might have been. And I never knew I could have gotten Snes9x (with very little hand-coded assembly language) so far to this playable, but rather imperfect state.

I wouldn't mind if StapleButton or Discostew wants to take part in the dev work for this emu.

And yes, turbo buttons will be great, but so many other issues have come up since then. :) I'll just prioritise those I think is really important.
 

Attachments

Last edited by bubble2k16,
--------------------- MERGED ---------------------------

@JMSMORIARTY - Which part of Earthbound has sound delay of 1.5 seconds? That's a lot... and so far, other than the horrible noises, I don't experience any sound delays. :)

I wouldn't mind if StapleButton or Discostew wants to take part in the dev work for this emu.

i noticed that the emulator starts delaying sound by 1-2 seconds when you close the lid and reopen it later, or sometimes after switching games a lot.
once i'm done with going through a9lh, i'll check earthbound too, but i think sound runs pretty good when you start the emulator and game freshly.

also, yeah, if you guys were to team up, god knows what'd be possible
 
I wouldn't mind if StapleButton or Discostew wants to take part in the dev work for this emu.
If it wasn't for needing to spend time in other areas of my life, I'd probably help, though my familiarity of SNES9x is not nearly as good as with blargSNES. For what it's worth, I've been thinking a lot about how to improve rendering, and various discoveries found could make it come to light. To be honest though, I think StapleButter has moved on, and since I mainly deal with PPU implementations and some SPC, until he decides to jump back in, the emulation core of blargSNES is likely to stay as it is.
 
@bubble2k16 It wasn't Earthbound failure, when you close and open the 3DS (screens) the sound delay appears, but if you close and open again a few times, it gets normal again.
 
@AtlasFontaine - That's really really odd. It works fine on my 3dsx version. Will have a serious look into this. Hahaha... ;):rofl2:

@Clydefrosch, @JMSMORIARTY - Oh yes, I know closing the lid causes some problems with the sound. :) Haven't gone around to fix that yet.

@DiscostewSM - I do have a few ideas to improve rendering too. My idea is to pre-construct a set of 33 vertices per line of tiles, each having their x,y screen coordinates already fixed. Then, we could adjust their x,y offsets using an updated projection matrix / or simply using a uniform. Also, some games draw the same set of tiles to the main and sub-screen. If we could simply just re-draw the same set of vertices in the other screen, that will surely save some time.

But I understand about having to get on with life. :) Writing emulators is tough.
 
Last edited by bubble2k16,
Loving the UI- so, so much more intuitive than RetroArch's 3DS port.

Shame echo/reverb support's out of the question- a fair few games suffer pretty badly from its absence. Understand why it's been pulled, of course- it's a relatively minor thing to sacrifice for a speed boost.

Still, it's remarkable that it works so well in the first place- bravo! This is really, really impressive work.
 
Last edited by sieroi,
You don't know how much respect i have for you man, thank you so much for putting hours of effort into this project :)
 
I've a feeling I know what's the problem with the black grass... It's probably because my code did not set the GPU's border color state, causing the border color of the texture for the track to appear as a full solid black color instead of a transparent color. As a result, the solid black color ended up masking all the grass textures that was drawn behind it.

It worked on my Grid Launcher, maybe, just maybe, because it was already set to a transparent color when my Launcher starts up. That's why I could see the grass textures (and in the earlier versions, a yellowish background color).

Ok, I've gotten a little too technical. In English: I'll probably roll out a hot fix when I can confirm that my fix works on my real 3DS, once I get home tonight. :D
 
v0.35 released.

Some minor fixes:
  • Fixed Super Mario Kart grass area texture outside of the track. This fix should work for all cases.
    Would appreciate if someone could test and confirm that I've nailed the problem. :)
  • Some minor performance and UI adjustments
 

Attachments

I can confirm that the texture issue is fixed, but there are still some issues regarding freezing and out-of-bounds detection that you might already be aware of.

rrzXHa7.png
 

Site & Scene News

Popular threads in this forum