Advice with emulators for Switch

vlahka

Noob Account
Dec 5, 2019
5
1
Australia
Hoping I can find some help or direction with my questions. I'm using the SX Pro to boot into the system before running Retroarch. I'm not connected to the internet for fear of Nintendo obliterating me in some way so I've been manually installing bios files and other stuff. This emulator wont pick up most of my MAME roms when I auto scan but I can manually load them. It also doesnt like most of my neogeo games and completely ignores my C64/Amiga roms.

I guess my question is in two parts. Firstly trying to find help with getting it to work normally (have scoured other sites and even youtube tutorials but nothings really helpful or I'm just too stupid). Failing that are there any other emulators that I can use to play C64/Amiga or other systems with for the switch. Thanks again for any help.
 

justsomedude

Noob Account
Nov 23, 2019
6
1
US
You picked the tricky cores, eh?

MAME roms can differ from version to version. You'll want to verify your ROM against the appropriate .dat file for that particular MAME core (dats are readily available on the libretro documentation site and retropi wiki). A single game in MAME can require many rom files such as:
bios rom
parent rom
child rom
chd

You can scan and rebuild your rom files using clrmamepro to the so-called full non-merged format which combines the bios, parent-dependencies and child roms all into a single file, so barring CHD those are ready to load without worry. Non-merged instead of full non-merged means it doesn't have a bios packed in (if required), but won't require a parent rom.

Scanning for MAME games in RetroArch is an absolute nightmare because of how many roms are shared between the large number of arcade cores (FBA/FB Neo cores, the many different builds of MAME). Conflicts can be avoided on PC when scanning by removing all the databases from RetroArch's database\rdb folder except the one you want to scan for, like MAME 2003, MAME 2003-Plus, etc. It's much faster to scan roms on a PC. You can then use your favorite text editor's search-replace feature to fix the path in the resulting playlist.lpl file.

-

Looks like RetroArch's Amiga dat is based off of SPS/CAPS' .ipf disk image format. Those are preservation-grade disk images with original copy protection intact and are not ideal for emulation unless you fancy keying in codes from code sheets and manuals. But even if you could scan...

Amiga emulation requires some setup and having prior knowledge of Amiga hardware and emulators is a big benefit. Adf files are standard floppy disk images. RetroArch can't automagically launch those files in a graceful manner. Normally when you set up a standalone Amiga emulator (UAE variants being the most popular) you configure the hardware of the emulated Amiga. What processor, how much chip/fast memory, how many disk drives and what kickstart/BIOS to use. Generally having an Amiga 500/2000 (OCS/68000/kick12,kick13 512KB+512KB or 1MB+0KB) and Amiga 1200 (AGA/68020/kick30,kick31 2MB+0KB) preset would cover most things. I believe there's a standalone port of UAE4all on the Switch which will give you a graphical interface comparable to PC emulators, but I couldn't tell you how performance compares to its RetroArch core counterparts.

The RetroArch UAE cores support loading UAE config files. There's a fairly easy to follow tutorial using a premade template if you're looking to get a start. It's made for RetroArch on another platform, and the shown adf template only covers OCS, but as long as you fix the paths in the template to correctly point to the kickstart and your adf files then it's a good starting point: - After that you could make your own template for ADF AGA games if desired.

A better, but much more involved solution is to use a PC Amiga emulator to make an Amiga Workbench hard drive image with WHDLoad installed using an AGA template with a good chunk of fast mem. WHDLoad is a piece of software that Amiga enthusiasts use to install and run floppy disk games on a hard drive. It removes the need to swap disks, fixes compatibility issues (many OCS games crash/guru error on AGA Amigas or newer kickstarts), and games often have additional features like bug/crash fixes and added/improved controller support (for example, most Amiga pads and sticks were 1-button, so many games used the dpad/stick down or space bar on the keyboard as a secondary. Some WHDLoad installs can remap those to 2nd joypad buttons, which few games support natively as 2-button pads/sticks were rare). You can then throw a WHDLoad frontend like TinyLauncher in your Workbench startup sequence so you can launch WHDLoad games straight after boot using only the joystick. There's gotchas along the way. Like Workbench 3.1 only supports <=4GB drives unless you patch or use a third-party filesystem. I remember it being a nightmare to get my actual A1200 working from an 8GB CompactFlash successfully (first couple filesystem fixes I tried seemed to work until I wrote data past the 4GB boundary).

-

C64 should launch no problem. The vice core autoloads launched disk (.d64) and tape (.tap) images, though with disks you'll have to deal with flipping and swapping emulated disks. It looks like RetroArch's included database for C64 games is based on .nib for disks, which like Amiga means copy protection hell (good luck using lenslok on the Switch screen lol) so you can either launch your files manually from the load content menu or build your own playlist from your list of files using a tool like RetroArch Playlist Editor https://www.marcrobledo.com/retroarch-playlist-editor/
 

vlahka

Noob Account
Dec 5, 2019
5
1
Australia
Thanks heaps for all that info. Truly appreciate it. From the looks of it I guess I'll just stick to using the pc for my C64 games. Or my c64mini. Just would have liked to have the portable screen for all my stuff. I'll have to figure out if the amiga is worth the effort too for the switch. I've used UAE in the past but retroarch is a fidly thing I'm not entirely comfortable with. I've never had issues using neogeo or Mame games on the pc. Extremely simple. But I dont get what I'm doing wrong on the switch. I grabbed an archive file off the net of all the arcade games available and went with that. I've left all the games themselves in their own zipped archives. I'm guessing this should be fine? I feel retroarch is just not compatible with my brain despite choosing the cores and games. The auto scan was a nightmare in itself as it took days to get through it.

One other question in regards to the psx ones. I've managed to get them working but I get a message at the start saying to use the right bios for stability. Pretty sure I'm using the only bios that will work with it. And the 2 games I wanted to get working seem to run just fine aside from that message. Is this something I should sort out or is it an ignore thing.
 

justsomedude

Noob Account
Nov 23, 2019
6
1
US
Depends on what version of MAME your ROM is for. If your game runs on the PC version of RetroArch using the MAME 2003-Plus core then it should run on the Switch using the MAME 2003-Plus core. ROMs matching newer MAME dats won't necessarily be compatible with older versions of MAME. That's not a RetroArch/Switch problem but a MAME thing in general.

If PCSX ReARMed is giving you the message 'No PlayStation BIOS file found - add for better compatibility' then you've either got HLE mode enabled as an override or the core didn't find a supported BIOS in RetroArch's system dir (supported bios are: scph101.bin, scph1001.bin, scph5501.bin, scph7001.bin). HLE mode has lower compatibility than using a real BIOS, but if your games seem to work just fine then you can disregard the message.
 

vlahka

Noob Account
Dec 5, 2019
5
1
Australia
Regarding the Mame rom.. If I can manually make it work on the switch by choosing the game and then the desired core, why would it fail to be listed after an autoscan? I'm thinking at this rate its probably faster to use the pc version to do some tests. As for the psx issue, I have those bins all gathered together. Do they need to be in a special folder for them to be noticed.
 

justsomedude

Noob Account
Nov 23, 2019
6
1
US
PlayStation games generally should just scan. That uses special scanning logic where it opens cue files and grabs the game's serial directly from the disc image contents (https://github.com/libretro/RetroArch/issues/7404) instead of plain hashing. Some early PSX games don't have the serial in the disc content (it boots psx.exe or something iirc) and there's at least one case where the developer accidentally typo'd their game executable name so it gets scanned as the wrong game.

In general, if your games fail entirely to scan then they don't match an entry in RetroArch games databases. That doesn't mean they won't work with RetroArch or its cores, just that RetroArch can't ID them. As I said, you can build playlists manually with other tools or do without playlists altogether and just load content directly. I tend to set my 'start directory' to the root of my roms folder and just load content. That would solve all your woes with platforms like C64. MAME though, you really want your ROMs to match against the core you're targeting.
 

vlahka

Noob Account
Dec 5, 2019
5
1
Australia
I started scanning them primarily because a few were failing to load and I wasnt sure why. Sometimes when a game would fail it would crash the SX Pro program and I'd have to reboot it up again. The paranoid part of me is a little afraid I might lock up my system with too much rom testing. Sadly looks like this plan wasnt completely good. Instead of being lazy and just throwing all the mame roms I have into the folder, its probably best I spend a few weeks going through them and selectively grabbing the ones I'm interested in, testing them on the pc then going to the switch.

Btw is it safe to update retroarch through the switch after I load up the SX Pro? I've seen some say yes and others say no. I thought at first it would only be a problem if you connected to the nintendo servers, but now I'm thinking staying off wifi completely might be smarter. If so then how would I manually add what I want to retroarch? I've seen little packs for it but I dont think they sport all the emulatored systems. Actually now that I think about it, would it work if I updated it on the pc and then just copied the updated core folder to the switch? Or would the program be doing some behind the scenes registry stuff too.
 

justsomedude

Noob Account
Nov 23, 2019
6
1
US
Don't think anyone will guarantee you won't get banned regardless of what measures you take, but SX Pro has its Stealth mode and then there's nintendo-blocking dns servers and programs (Incognito) to backup and wipe your emunand and sysnand of various identifying information. Nintendo could certainly sneak in a phone home to a previously unknown server sometime later down the road if they desired, and I'm unsure of the ways they could uniquely identify consoles outside of the information that Incognito wipes, but a console ban is an inevitable risk you'll have to take.

Anyways, you can update RetroArch cores manually offline by grabbing them from their buildbot server at http://buildbot.libretro.com/nightly/nintendo/switch/libnx/latest/ and overwriting the old ones.
 

vlahka

Noob Account
Dec 5, 2019
5
1
Australia
Thanks again for all your help. I'll put these cores on and experiment some more and see where the world takes me. If I stumble on something I'll pop right back :)