Author Topic: Good emulator for SNES and AM?  (Read 7165 times)

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Good emulator for SNES and AM?
« on: October 14, 2020, 03:32:21 PM »
There's a couple of SNES roms I'd like to add to my system, and I'm using ZSNES. That works on my other cabinet, which has a horizontal monitor. But this one has a vertical monitor...

I found the -v parameter, which sets the video mode. However it changes the screen resolution on my system in general, so when I exit the game my monitor resolution has changed.

I'm wondering if anyone knows a way around this?

Or is there some other SNES emulator people recommend?

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #1 on: October 14, 2020, 03:44:14 PM »
Take a look at the AM plug-ins ResFix and/or RotationControl. They might help.

bionictoothpick

  • Sr. Member
  • ****
  • Posts: 320
  • He who laughs lasts.
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #2 on: October 14, 2020, 04:53:22 PM »
Have you used retroarch?

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #3 on: October 14, 2020, 04:55:47 PM »
I haven't used Retroarch. Isn't it a front end, like Attract Mode?

If so that wouldn't work, I'm trying to use it from within Attract Mode.

Or am i wrong about that?

bionictoothpick

  • Sr. Member
  • ****
  • Posts: 320
  • He who laughs lasts.
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #4 on: October 14, 2020, 05:10:20 PM »
No, it has a frontend, but you'll never see it if you use retroarch with attractmode.

Also very powerful if you want to take the time to learn some of its abilities for overlays and such.


Basically you download it, use the interface to install a "core" for snes emulation.

Then edit your emulator cfg to use retroarch...

Something like this:

executable           c:\RetroArch\retroarch.exe
args                 -L cores\snes9x_libretro.dll "[romfilename]"
rompath              ..\..\..\Games\Super Nintendo Entertainment System\
romext               .zip;.7z;.fig;.smc
system               Super Nintendo Entertainment System
info_source          thegamesdb.net
artwork    fanart          ../../am/scraper/snes/fanart
artwork    flyer           ../../am/scraper/SNES/flyer
artwork    marquee         ../../am/scraper/SNES/marquee
artwork    snap            ../../am/scraper/SNES/snap
artwork    wheel           ../../am/scraper/SNES/wheel


wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #5 on: October 14, 2020, 08:22:44 PM »
Well I haven't been successful with Retroarch yet. I'm on Linux, and here's the contents of my retroarch.cfg file:

Code: [Select]
executable           retroarch

# this line sets the "core". For example the snes9x core.
#args                   -L /usr/lib/x86_64-linux-gnu/libretro/nestopia_libretro.so "[romfilename]"
args                   -f -v -L /usr/lib/x86_64-linux-gnu/libretro/snes9x_libretro.so "[romfilename]"
 
rompath              $HOME/.attract/nintendo/roms/
romext               .zip;.7z;.fig;.smc
system               Super Nintendo Entertainment System

#info_source          listxml
info_source          thegamesdb.net

artwork    cabinet         $HOME/.attract/mame/cabinets
artwork    flyer           
artwork    marquee         $HOME/.attract/mame/marquees
artwork    snap            $HOME/.attract/mame/videos;$HOME/.attract/mame/snap
artwork    wheel           

I ran retroarch and manged to install a few "cores", including one for the SNES. There are a few. I was then able to manually load a ROM.

But I haven't been able to run a ROM from commandline. Here's the command that Attract is running when I launch a ROM:

Code: [Select]
retroarch -L /usr/lib/x86_64-linux-gnu/libretro/nestopia_libretro.so "/home/wrybread/.attract/nintendo/roms/The Legend of Zelda.smc"

That fails silently though.

I don't imagine anyone has any tips?

Edited to add: aha, adding the -v (verbose) option to the commandline gets some details about the failure:

Code: [Select]
wrybread@wrycade:~$ retroarch -v -L /usr/lib/x86_64-linux-gnu/libretro/nestopia_libretro.so "/home/wrybread/.attract/nintendo/roms/The Legend of Zelda.smc"
[INFO] RetroArch 1.9.0 (Git 5e551dd92b)
[INFO] [Overrides]: Redirecting save file to "/home/wrybread/.config/retroarch/saves/The Legend of Zelda.srm".
[INFO] [Overrides]: Redirecting save state to "/home/wrybread/.config/retroarch/states/The Legend of Zelda.state".
[INFO] === Build =======================================
[INFO] CPU Model Name: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
[INFO] Capabilities:  MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2 AES AVX AVX2
[INFO] Built: Aug 10 2020
[INFO] Version: 1.9.0
[INFO] Git: 5e551dd92b
[INFO] =================================================
[INFO] [CORE]: Loading dynamic libretro core from: "/usr/lib/x86_64-linux-gnu/libretro/nestopia_libretro.so"
[INFO] [Overrides]: No core-specific overrides found at /home/wrybread/.config/retroarch/config/Nestopia/Nestopia.cfg.
[INFO] [Overrides]: No content-dir-specific overrides found at /home/wrybread/.config/retroarch/config/Nestopia/roms.cfg.
[INFO] [Overrides]: No game-specific overrides found at /home/wrybread/.config/retroarch/config/Nestopia/The Legend of Zelda.cfg.
[INFO] [Environ]: SET_VARIABLES.
[INFO] [Remaps]: remap directory: /home/wrybread/.config/retroarch/config/remaps
[INFO] [Overrides]: Redirecting save file to "/home/wrybread/.config/retroarch/saves/The Legend of Zelda.srm".
[INFO] [Overrides]: Redirecting save state to "/home/wrybread/.config/retroarch/states/The Legend of Zelda.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: PERFORMANCE_LEVEL: 6.
[INFO] [CONTENT LOAD]: Loading content file: /home/wrybread/.attract/nintendo/roms/The Legend of Zelda.smc.
[INFO] Did not find a valid content patch.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SYSTEM_DIRECTORY: "/home/wrybread/.config/retroarch/system".
[libretro INFO] Custom palette path: /home/wrybread/.config/retroarch/system/custom.pal
[libretro WARN] custom.pal not found in system directory.
[libretro INFO] NstDatabase.xml path: /home/wrybread/.config/retroarch/system/NstDatabase.xml
[libretro WARN] NstDatabase.xml required to detect region and some mappers.
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[INFO] SET_GEOMETRY: 256x224, aspect: 1.306.
[ERROR] [CONTENT LOAD]: Failed to load content
[INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [CORE]: Unloading core..
[INFO] [CORE]: Unloading core symbols..
[INFO] [Core Options]: Saved core options file to "/home/wrybread/.config/retroarch/config/Nestopia/Nestopia.opt"
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

Maybe I'm just not running the right core... What core do people recommend for SNES?
« Last Edit: October 14, 2020, 09:12:03 PM by wrybread »

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #6 on: October 14, 2020, 08:41:27 PM »
That core is for NES. Try snes9x. You can read about the cores here https://docs.libretro.com/library/snes9x/

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #7 on: October 14, 2020, 09:11:30 PM »
Thank you! I needed to change the arg line to:

args                   -f -v -L /usr/lib/x86_64-linux-gnu/libretro/snes9x_libretro.so "[romfilename]"

I edited my answer above for the next person who comes this way.

Running now, and looks fantastic.

I don't imagine you have any advice for how to edit the key assignment? I ran a game and hit F1 and hit Controls, but nothing I do seems to make any difference. Also looking for how to set my joystick button as the exit key.

« Last Edit: October 14, 2020, 09:13:48 PM by wrybread »

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #8 on: October 14, 2020, 09:28:43 PM »
Nevermind the above, got it all working, phew. Not the easiest program to figure out but looks really good.

Now if I could only figure out which button in Retroarch is the jump button in Mario Brothers I'll be all set... More diving into menus.

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #9 on: October 14, 2020, 09:40:54 PM »
The best/smartest thing to do is to get the correct retroarch "autoconfig" file designed for your joystick/controller/etc. If one doesn't exit you can make one pretty easy. Take a look in the /retroarch/autoconfig folders to see if you can find a match or run "Makefile" from that directory to create your own. This give you the most flexibility to use many different controllers without having to make changes. It also leaves all the original retroarch settings in place.

You can also use the RetroArch GUI/FE to configure the inputs.
Settings-->Input-->Input Hotkey Binds
Settings-->Input-->Input User 1 Binds
Settings-->Input-->Input User 2 Binds

You can also manual modify your controls in the retroarch.cfg file with a text editor.

P.S. If you do decide to use the retroarch GUI, make sure the you set retroarch to save configuration changes before making changes (and maybe turn it back off when your done to avoid accidental changes). Also, the hotkeys are where you set the game exit.

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #10 on: October 14, 2020, 09:54:10 PM »
Phew, why so complicated? I had to give up on it once I realized there was no way (I think) to unmap a key if you make a mistake in the gui, other than editing the config file. It 's like a parody of a bad user interface and design. At least that's my thinking now, maybe I'll feel better about it after some sleep.


progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #11 on: October 14, 2020, 10:01:33 PM »
There are so many settings and changes you can make in RA which makes it extremely powerful but also makes it complex. That's why the autoconfig files are the way to go. I recommend making as few changes as possible until you understand how it works. It might be tough at first but understand that RA can emulate almost anything and once you have one system setup you can very quickly and easily setup any other system. A lot of people use it as their only emulator since the settings can be global or per core. I love that my controls for the games, save states, rewind, pause, etc. are the same whether I'm using SNES, NES, Genesis, SMS, etc.

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #12 on: October 14, 2020, 10:11:16 PM »
I don't think my issues with it have to do with it's complexity, just it's clunkiness. Mapping keys is hilariously terrible. And the fact that there's no way to remove a key assignment after pressing the wrong key other than closing the utility and editing the config file says a lot.

I can't use an autoconfig since I'm using a joystick encoder in an arcade cabinet, not an off the shelf joystick, so my button assignments are all non standard.

I'll give it another try tomorrow. I have a feeling editing the config file directly will make things much easier.
« Last Edit: October 14, 2020, 10:13:45 PM by wrybread »

progets

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1271
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #13 on: October 14, 2020, 10:25:24 PM »
Read about your options here https://docs.libretro.com/guides/joypad-autoconfiguration/

You can make your own autoconfig file. Just use jstest to figure out what each button is and then create the text file that defines what they do.

wrybread

  • Sr. Member
  • ****
  • Posts: 100
    • View Profile
Re: Good emulator for SNES and AM?
« Reply #14 on: October 14, 2020, 10:27:44 PM »
Is there an advantage to doing that versus just editing the config file directly?