Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES)
-
I feel like this is a rudimentary question, but have you tried changing the emulators in runcommand menu for NES and SNES? Both systems have a bunch of emulators to choose from in Retropie... And then in each emulator there are multiple options which you can tweak (in-game RGUI menu/quick menu).
I find it kind of odd that you are overclocking a Pi3 for NES games.
As for Metal Slug... MAME/FBA has got you covered (and arcade is the orig platform...)
-
Some PSP games are just to much to run unfortunately.
-
@Concat , I have not changed the emulators too much.. I wasn't sure which was best to use, and I didn't want to use one that didn't seem to run RetroArch. I guess simply I need to play around with different emulators and see what happens? TBH I'm not even sure which one I am running right now, because when I first built the RetroPie, I tinkered and right away changed the emulator a few times, just to see what would happen/why there were different ones.
The in-game GUI (retroarch) doesn't seem to save when in-game, so I made all my changes inside the retropie menu, those stuck.
I wanted to specificaly overclock to make N64 run better, but I also had a curiosity if it would help the NES/SNES games as well, after reading this article (http://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/) so I questioned if overclocking was the root cause of even poor NES play.
-
Ah, so just so we are clear, you are more concerned with the accuracy of emulation for NES and SNES? Because in that case, generally speaking, the more accurate the emulation the more resource intensive it is.
If all you want is games that don't stutter, I highly recommend you try different emulators. Check out the wiki for each emulator and research them. With enough googling, you will start to get an idea of what emulator offers. Each one has options too remember...
In the end, you may just need to go game by game and specify which emulator to use for which game through trial and error. You can do this in the runcommand menu that shows up for a couple seconds before launching a game. If you already have box art for each game, when you launch the game the art shows up in place of the runcommand message.
As for saving in-game settings, you need to understand a couple of things about RetroArch:
- You can have emulator specific settings (setting is off by default - it's in the RGUI menu): When in the in-game menu and you save, it will save the settings for this emulator only.
- You can have ROM specific settings (setting is off by default - it's in the RGUI menu): When in the in-game menu and you save, it will save the settings for this ROM only.
- You can have global settings - this is what you changed via the retropie menu
- You can configure Retroarch to save on exit - settings is off by default
- When making a change, it's almost always a good idea to go to Save Configuration in Retroarch before resuming game or exiting.
In addition to all this, you can manually edit the config files to make changes to settings. It all sounds confusing, but it makes Retroarch very flexible on the settings front. Custom control schemes and shaders for specific roms etc. etc.
Finally, as for N64... good luck is all I can say. There are so many games that don't run very well, and many that have game breaking issues. It's very specific to the game, so if you are having an issue with a specific game, try researching it. You might find that overclocking isn't the solution. Some games have Cheats to make them work properly. You will also find that the standalone Mupen64Plus emulator has better performance than the RetroArch one (LR_Mupen64Plus = RetroArch). Again, change the emulator in runcommand when launching the game. You can also tweak the settings. Oh and the video driver for Mupen64Plus has a huge effect on the game's performance. It's all trial and error.
Personally I think these are all things you should do before resorting to overclocking. Maybe a mild overclock before you start optimizing every rom would be good.
Hope this points you in the right direction. My NES/SNES experience is pretty much flawless and I am just using the defaults. Might be a tale of rom-specific issues...
-
@scrappbrapp said in Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES):
@opensourcefan thanks for your reply. I partly agree with you, last night I did some digging on the forum, and on the retropie wiki, learned some /boot/config commands to enter for reduced input lag and other general changes.
Where was this thread? I am trying to reduce latency as well.
-
@tekn0 , I found alllllll of the information needed in the "overclocking" wiki. https://github.com/retropie/retropie-setup/wiki/Overclocking
Half way down look for the "improving input lag and delay" section. I'm not sure how much it helped.... I just "did as it said" and entered those commands. -
@Concat , thank you for taking your time with all that information. Lets see if I can touch each point.
First of all, my question is: Are ALL ROMS created equal? Is it a simple "copy the cartridge?" IE: is all the data information fully available inside the ROM, or are some files out there missing information from the original game? I'm kind of confused if the reason a ROM does not have accuracy, or is missing things like shadows, or certain sprites, or timing issues because the rom was poorly created, or because the emulator itself was not built to handle all the data the ROM has? IF all fingers point to the emulators, then I fully understand now. the data is THERE, but we just cannot fully take advantage of it, just quite yet. I'm just curious if all ROMS were not created equal, if my copy of one game differs from someone else copy of the same game.
As for retroarch, when I make changes in the GUI inside a game, I ALWAYS go to "Save config changes" before I exit back to game, but they NEVER stick... I started to notice this when I kept telling the GUI to turn off Vsync, run fullscreen, and disable windowed mode (I didn't know what these settings meant, but it just sounded easier to be fullscreen.)
I started to make the changes to the main menu retroarch GUI, and settings would change, and they stuck after I hit "save to config"
Ive seen the emulator and ROM specific settings when you hit a button just before the game starts, but I already admitted I haven't messed with them much. Some of them kind of confused me, and I didn't want to go about making random changes (I think one of them was "choose video resolution for rom" and it has about 5 choices.)
-The setting to save retroarch on exit is marked as on, but still doesn't seem to work. Other things also dont work like "save savestates and game saves in specific folders" ... I gave up on those options.
I think Im going to have to learn more about editing the retroarch/config, because I want to start to learn about how to use shaders, maybe get some of these settings to actually save.
I'm about to admit defeat for N64. I see now its going to be hard to deal with, it won't come easy. Maybe I will take your advice and go ahead and remove the overclock for now, until I can first understand the base of how to make things run smoothly.
As for running the emulator that does not use retroarch, what do I lose? Will I still be able to exit a game with the select/start buttons? What exactly do I give up if I dont use the retroarch emulator?
-
As far as I know, almost all of the issues point back to emulation not the roms. Some of the hardware processes are more difficult to emulate than others. If a game uses those processes, performance suffers... or some emulators may just be setup so they ignore those processes and you end up with missing details (but with better performance), or even game breaking issues. For example, Pokémon Snap is practically impossible to play on an N64 emulator due to game breaking issues in the emulation. N64 has quite a few compatibility issues. It comes down to the architecture of the N64 console and how difficult it is to emulate, and not the ROMs.
@scrappbrapp said in Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES):
Ive seen the emulator and ROM specific settings when you hit a button just before the game starts, but I already admitted I haven't messed with them much. Some of them kind of confused me, and I didn't want to go about making random changes (I think one of them was "choose video resolution for rom" and it has about 5 choices.)
Those are the settings available in runcommand. I believe they are the same as the in-game quick settings. I usually stick to the RGUI menu when tweaking things. The exception being the emulators that are not Retroarch Cores. Note that you sometimes need to APPLY the changes AND save them. Such is the case with shaders and cheats.
@scrappbrapp said in Am I overclocking my Pi3 for the right reasons? (Curious on how to tweak for SNES/NES):
I started to make the changes to the main menu retroarch GUI, and settings would change, and they stuck after I hit "save to config"
I think you need to make sure you have "ROM specific settings" selected in RetroArch. The reason it doesn't save is because you have this off by default, and the in-game menu won't save global settings. This setting is in retroarch... trust me. Find it in the menu (I think it's settings > configuration?), turn it on, then change something and save the config. Exit the game and start it again to test if the config sticks. When you load the game, I believe it even states which config it is loading. It should now load the config specific to that emulator.
If you want to make global changes to all emulators, then go through the retropie settings menu to launch retroarch without an emulator core loaded. Personally I have never manually edited a config file. Retroarch supports almost everything you want to do, save for some tricky controller config.
There's a lot of options to tweak performance... resolution being one of them. This is mainly why I suggest researching all of this before overclocking. if you're trying to run N64 in 1080p using a video driver that doesn't work well with the ROM... well overclocking is not going to help.
N64 emulation is very game specific. Some games run great. Others are a lost cause. It's just going to take time to sort out which ones you need to give up on :)
Finally, non-retroarch emulators might have save states and other things as well... I'm not really sure. They usually have their own config file, so try looking in there for hotkeys. I know for N64 the non-retroarch core is quite a bit better performance wise... which is why it's there I assume.
-
@Concat I am currently going through my retropie and playing with things... I have a few questions still: (I'm going to open up each of these menus as I type this post, just to I can be crystal clear, and give you as much specific information possible.)
First of all, is there a way to autosave ROM config and save files in separate folders than the ROMs themselves, just to keep things neat and tidy?
In retroarch (main menu>RetroPie>retroarch>settings>saving) I have "sort saves/savestates in folders" as "ON" but it still saves all emulator made files mixed in with the ROMs. I did notice that if I go to (main menu>RetroPie>retroarch>settings>directory) at the bottom of the list I see "Savefile Dir/Savestate Dir" and both are marked as "<Content dir>".To test out a theory, I made a folder inside of the "roms" main folder called "_ROM saves" (Underscore was to find the folder at the top of the directory), pointed both of these directories at this folder, and I went off to play a few games.
Right away I noticed that none of my saves were popping up, and new games with no prior saves were STILL making the save files inside of the ROM folders, but if I moved the save files to the "_ROM saves" folder, the game would then load up the save file. (I only tested SNES, so I assume this would still work for NES, but I could NOT get this to work for N64, as it would still save/load the files from the n64 ROM specific folder).
I also noticed that it seemed to make a file directory inside of the "_ROM saves" marked for which emulator was used... This seems like more of a pain than before, and I dont know how to undo it. (If you have any idea what all I am talking about/what I did, can you help me simplify it/set it straight?)
Also, you made a mention for ROM specific settings... Again, if I follow the path (main menu>retroarch>settings>configuration) I have "save configuration on exit" as "ON", yet it still won't save changed made inside of Retroarch while a game is running.
"Configuration per-core" & "Use per-game core options if available" are both set as "OFF" and I have not touched them because I dont know what they are. (If these are the settings you were talking about, I do not know that because the vocabulary used for these settings sounds confusing-to a noob like me, at least.)I did find if I went (main menu>retropie>Configuration Editor) it would open up a blue raspberry pi command screen where I could make lots of video/audio/etc type of changes based on specific consoles/emulators. It seems like a big in-depth system that I have not yet messed with, but is this one of the menus you were talking about?
-
@Concat update
ok so I'm starting to figure out a little bit of all this. I went back and changed it to "OFF" for "sort saves/savestates in folders" and now its saving and loading ROM data inside of that "_ROM saves" folder I made, without making multiple directories. Its just clumping all of NES/SNES together in that one folder, which I guess I am OK with.
Look like I have that problem taken care of.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.