Homebrew SNES9x for Old 3DS

sorabora

Well-Known Member
Member
Joined
Dec 8, 2016
Messages
368
Trophies
0
XP
1,527
Country
United States
I tried searching (here and elsewhere); apologies if these have been asked and answered:
  • Is it possible to enter the bottom screen menu with a button press instead of touching the screen? If not, it would be handy feature to add.
  • Is it possible to set In-Frame Palette Changes to "Enabled" as a universal default? Or is that something I should never do anyway?
  • Same thing as above but with SRAM Auto-Save Delay and "Disabled" as a universal default? And again as above, should I? I don't fully understand this option despite searching on it. I did find someone posting that turning this off or at least changing to 60 seconds saves the life of the SD card because it's not writing to the card as often. I obviously have no idea what I am talking about, hence the question.
Thanks @bubble2k16 and all.
 

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Not likely either. Ctrulib 1.2 changes quite a lot things, especially the most important GPU libraries.

Does v1.2.0 help fix the Home/Sleep functions?

Maki-chan helped to migrate Snes9x for 3DS to ctrulib. Turns out it wasn't as difficult. I'll try to merge it into the master branch over the weekend.

I tried searching (here and elsewhere); apologies if these have been asked and answered:
  • Is it possible to enter the bottom screen menu with a button press instead of touching the screen? If not, it would be handy feature to add.
  • Is it possible to set In-Frame Palette Changes to "Enabled" as a universal default? Or is that something I should never do anyway?
  • Same thing as above but with SRAM Auto-Save Delay and "Disabled" as a universal default? And again as above, should I? I don't fully understand this option despite searching on it. I did find someone posting that turning this off or at least changing to 60 seconds saves the life of the SD card because it's not writing to the card as often. I obviously have no idea what I am talking about, hence the question.
Thanks @bubble2k16 and all.

For entering the menu by tapping on the touch screen, I'll keep it that way. There are no other keys that I can use on a 3DS for activating the menu, since the SNES needs to use the same set of keys. A key combo is out of the question for me since it actually makes it more difficult to use.

In-Frame Palette Changes

As for In-Frame Palette Changes, it's disabled by default because it runs much faster for all games. Only a few handful of games require Enabled (Wild Guns, Judge Dredd, Secret of Mana, Kirby Superstar are a few that I can think of).

Auto SRAM Saving

Most games save to SRAM (the emulated battery-powered RAM to store save games) only when you save your game within the game, and only then the emulator will be triggered to write the contents of the SRAM to the SD card, within 1-2 seconds. So after the save is complete, you can safely shutdown your 3DS. At other times, when nothing is saved.

However, some games make use of SRAM not only to store save games, it also uses it for in-game logic. This means these games will constantly write to SRAM, and constantly trigger the emulator to write to SD card. And since writing to SD card is really really slow, it will slow down the emulation experience. So this setting exists precisely because of this reason: to tell the emulator to delay or turn off entirely the writing of SRAM to SD card so that games that constantly write to SRAM can will not be interrupted by the save to SD cards so often.

Prolonging the life of the SD card was not the main intention of having this setting, but a bonus benefit. Most games don't save to SRAM, so leaving it with the default value doesn't really affect game speed nor your SD card's life. And only a small handful of games uses the SRAM so generously causing slowdowns (some Super Mario World hacks, Treasure Hunter G, Final Fantasy Mystic Quest). If you game experience slowdowns because that blue colored message "Saving SRAM to SD Card" keeps appearing, change the Auto-save interval to 60 seconds, or disable it entirely. But be sure to tap on your bottom screen to force the emulator to save any updates to the SRAM to SD card before powering off your 3DS, otherwise you may risk losing your in-game saves.
 
Last edited by bubble2k16,

DominoBright

Well-Known Member
Member
Joined
Sep 21, 2009
Messages
315
Trophies
1
Age
41
XP
2,548
Country
United States
Might be a bug. Can you share which games have this problem?
In FF4 just before I saved a second time, in Super Mario Kart after finishing two cups then choosing a track in Time Trial, then finishing a Time Trial run, and random parts in Kirby Super Star. And that was just this test. Before, it would be brought up at seemingly random times during those games and others.

So I guess what I'm saying is... All of them. Or at least the ones that have save files.
 

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
@bubble2k16 is possible turn off debug (botton screen ) in githup build 3dsx version?
Nice that you guys are trying. :) If you want the fastest build, go to 3dssnes9x.h and uncomment the 2 #define lines;

// Uncomment this to convert before releasing this to remove
// all the debugging stuff.
//
#define RELEASE

// Uncomment this to use 2 point geometry shaders on a real 3DS.
//
#define RELEASE_SHADER

I'm still fixing up a few bugs that seems to have come about due to the optimization. I'm looking into those before the release.
 
  • Like
Reactions: angelhp

hyprskllz

Well-Known Member
Member
Joined
Apr 19, 2016
Messages
628
Trophies
0
XP
2,251
Country
Indonesia
The newly merged 1.00 cia is really great. Already tested some heavy games with it.
Secret of Mana (U): The opening scene where many birds are flying doesn't lag anymore, with contant 60 fps.
Star Ocean (U): The previous 0.80 version has constant 1-2 frameskip during gameplay, now the frameskip only occurs during loadings.
Super Mario RPG (U): Runs full speed with no noticeable frameskips. :lol:
Super Mario World 2 Yoshi's Island (U): Has some minor glitches and 30 frameskips on the main menu with the rotating island, but doesn't affect gameplay and very playable. :D
Tested Star Fox too, it's playable with 5-20 frameskips.
I'm using N3DS with A9LH and Luma 6.6.
Cheers, @bubble2k16 . :grog:
 
Last edited by hyprskllz,

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
How do i get codes for the cheat file? Battletoads is impossible without 99 lives lol

For now you will have to enter the cheat codes using a Windows version of Snes9x 1.43, then copy the .CHT file into your SD card for the 3DS version.

I'm toying with the idea of loading off cheats via a text file and translating it into Snes9x's .CHT format (instead of creating a full-blown cheat editor in the emulator). I don't think I will want to create a complicated user interface with a full keyboard input for this plus all the add / delete / sorting functions, certainly not in the 3DS coding environment. I will like to close this project and move on to something else soon. :)

The newly merged 1.00 cia is really great. Already tested some heavy games with it.
Secret of Mana (U): The opening scene where many birds are flying doesn't lag anymore, with contant 60 fps.
Star Ocean (U): The previous 0.80 version has constant 1-2 frameskip during gameplay, now the frameskip only occurs during loadings.
Super Mario RPG (U): Runs full speed with no noticeable frameskips. :lol:
Super Mario World 2 Yoshi's Island (U): Has some minor glitches and 30 frameskips on the main menu with the rotating island, but doesn't affect gameplay and very playable. :D
Tested Star Fox too, it's playable with 5-20 frameskips.
I'm using N3DS with A9LH and Luma 6.6.
Cheers, @bubble2k16 . :grog:

Nice! glad you like it. :) By the way, a number of sound issues (not all) are fixed because the whole SPC700 + DSP core from Snes9x v1.51 has been transplanted in. It is more accurate than the v1.43 sound cores. Some of the Clay Fighter and Mortal Kombat sounds are fixed. It also should now sound more like a real SNES because of the use of Gaussian Intepolation, except from time to time there's some occasional static.

If you happen to be building the CIA yourself using devkitPro r46 + libctru 1.2, there is a serious problem (it runs on New 3DS at Old 3DS speeds). But if you just used the latest CIA off GitHub, then it shouldn't be an issue. :)
 
Last edited by bubble2k16,

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
For now you will have to enter the cheat codes using a Windows version of Snes9x 1.43, then copy the .CHT file into your SD card for the 3DS version.

I'm toying with the idea of loading off cheats via a text file and translating it into Snes9x's .CHT format (instead of creating a full-blown cheat editor in the emulator). I don't think I will want to create a complicated user interface with a full keyboard input for this plus all the add / delete / sorting functions, certainly not in the 3DS coding environment. I will like to close this project and move on to something else soon. :)



Nice! glad you like it. :) By the way, a number of sound issues (not all) are fixed because the whole SPC700 + DSP core from Snes9x v1.51 has been transplanted in. It is more accurate than the v1.43 sound cores. Some of the Clay Fighter and Mortal Kombat sounds are fixed. It also should now sound more like a real SNES because of the use of Gaussian Intepolation, except from time to time there's some occasional static.

If you happen to be building the CIA yourself using devkitPro r46 + libctru 1.2, there is a serious problem (it runs on New 3DS at Old 3DS speeds). But if you just used the latest CIA off GitHub, then it shouldn't be an issue. :)
Wait, what you mean is that this emulator will move aside from snes9x? That is nice, I'm exited to se the new name of the project and hopping for new features (perhaps msu1 (? Dreaming is free [emoji28])

Enviado desde mi SM-J111M mediante Tapatalk
 

hyprskllz

Well-Known Member
Member
Joined
Apr 19, 2016
Messages
628
Trophies
0
XP
2,251
Country
Indonesia
For now you will have to enter the cheat codes using a Windows version of Snes9x 1.43, then copy the .CHT file into your SD card for the 3DS version.

I'm toying with the idea of loading off cheats via a text file and translating it into Snes9x's .CHT format (instead of creating a full-blown cheat editor in the emulator). I don't think I will want to create a complicated user interface with a full keyboard input for this plus all the add / delete / sorting functions, certainly not in the 3DS coding environment. I will like to close this project and move on to something else soon. :)



Nice! glad you like it. :) By the way, a number of sound issues (not all) are fixed because the whole SPC700 + DSP core from Snes9x v1.51 has been transplanted in. It is more accurate than the v1.43 sound cores. Some of the Clay Fighter and Mortal Kombat sounds are fixed. It also should now sound more like a real SNES because of the use of Gaussian Intepolation, except from time to time there's some occasional static.

If you happen to be building the CIA yourself using devkitPro r46 + libctru 1.2, there is a serious problem (it runs on New 3DS at Old 3DS speeds). But if you just used the latest CIA off GitHub, then it shouldn't be an issue. :)
yeah, i noticed the music in Secret of Mana sounds broken before 0.90, but you already fixed it on 0.90, so i didn't report it here. There's still some 'click' sound in SoM during gameplay (it's on 0.90 anyway, haven't checked in 1.00). :lol:
I just nabbed the CIA off from github, so i guess it's fine.
Tbh, i'm hoping you will optimize the performance for Star Fox, but the decision is yours. :)
Looking forward to your next project. :grog:
 
Last edited by hyprskllz,

bubble2k16

Well-Known Member
OP
Member
Joined
Jul 25, 2016
Messages
467
Trophies
0
XP
2,118
Country
Senegal
Wait, what you mean is that this emulator will move aside from snes9x? That is nice, I'm exited to se the new name of the project and hopping for new features (perhaps msu1 (? Dreaming is free [emoji28])

Enviado desde mi SM-J111M mediante Tapatalk

Yup I think it's in a good enough state to close the project (hence the v1.0 number), aside from small bugs, and maybe the static problem in the sound in some games, and the not so pretty UI. I'm still doing some small work on the UI to make it look a little bit more modern. The current state is functional, but looks super boring. And I haven't figured out the problem with BS * games, and some other ROM hacks... but I don't really intend to for now. As for MSU-1 support, I'll probably leave this to other devs who are keen.

I was thinking of doing some work on PSX emulation (running on the new 3DS obviously)... but I'm not quite sure how far I can go.The RetroArch version doesn't seem satisfactory yet for now. Did think about contributing to Retroarch (I have both old and new A9LH-ed 3DSes! :) ), but I have my reservations about the scale and compatibility with other systems. But, yea, I'm still scouting around. Would appreciate some feedback from everyone here too. :)

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

So the .CIA on GitHub from 10 hours ago is good? Or is it using o3ds speeds?

Sent from my Nexus 6 using Tapatalk

Yea it's good :) Runs at New 3DS speeds if I recall correctly. Just tested it last night till late.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: bye