Kodi Community Forum
ROMs - Not working, need some guidance. - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Program Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=151)
+---- Thread: ROMs - Not working, need some guidance. (/showthread.php?tid=327292)



ROMs - Not working, need some guidance. - kjparenteau - 2018-01-18

I am new to Kodi, but not to XBMC.  Originally I began with the original Xbox, modded with the Executer3 chip, and from there I was able to run ROMs for SNES, NES, N64, and Sega Genesis.  Then moved to XBMC on the PC as movies and large storage became popular, but never could get my ROMs to work right on the PC.  Then changed to Plex for a while using FreeNAS for storage and the Plex plugin, paired with Roku at the TV. Now I want more of an all in one experience, so I am re-visiting XBMC now known as Kodi, but I am a little lost with getting the ROMs to work and I know it can be done but the steps I am following on various threads, and Retroarch, etc., are not working...  Here's my setup, and what I need help with...

Dell OptiPlex 9020 SFF (Small Form Factor)
Windows 10 Professional 64 Bit
CPU:  Intel Core i5-4570 @ 3.2GHz
RAM:  16 GB
Video:  Radeon HD 7750 1GB
Remote:  Logitech Harmony Elite (PC has a bluetooth adapter)
Gaming:  Xbox One Wireless Adapter for Windows with 2 Xbox One wireless controllers

Ideally I would like a menu on the front right next to Movies that says "Games" and from there I can choose SNES, NES, N64, Sega Genesis, or PC.  My main interest right now is SNES ROMs and will expand from there.  Once I select the platform, I want to see all my ROMs with their wallpaper, box covers, etc., then when I enter the ROM, it loads full screen in the best settings I can use for my system, then when I exit the rom, it dumps back to the ROM selection area.  However, I can't figure out how to load the list of ROMs first off, and second, automagically pull art like the movies and TV shows do.  I would prefer to not load a separate app, but if i need to, I can.  What am I doing wrong?

If there is someone else who has a setup like what I am seeking using the latest Kodi on Windows?  I would greatly appreciate some assistance.  Not sure if the skin makes a difference, but again, I am new to this.  Been out of the XBMC / Kodi area for several years now and could use some help to make it the best all in one solution so I can ditch my original Xbox and Plex.

Thank you in advance,
Kevin


RE: ROMs - Not working, need some guidance. - malte - 2018-01-18

If you want to have artwork and all you will need to install an addon that does the job for you. Kodi 18 (Leia) will have Game support but without a library at the beginning. See this subforum for more info about RetroPlayer.

Afaik there are three gaming addons in the pit:
- Advanced Emulator Launcher
- Inernet Archive ROM Launcher
- Rom Collection Browser

IARL will connect you to the ROM section of the Internet Archive, AEL and RCB will work with the roms that you already have and scrape some meta info and artwork. All three are able to launch external emulators (like RetroArch) or work together with RetroPlayer.

I would suggest the following route (as this is the way I am doing it atm):
- get in touch with RetroArch and try to setup some emulators outside of kodi
- choose one of the three addons above and use this together with RetroArch or any other emulators of your choice
- when Kodi Leia is stable, maybe switch from RetroArch to RetroPlayer (still using one of the addons above)
- when Kodi M,N,O,P, ... has a game database maybe switch from addon to integrated library

To get a Games section on your home screen, you will need a skin that supports customizing your home menu. Then you can configure it to launch your game addon from home screen.


RE: ROMs - Not working, need some guidance. - kjparenteau - 2018-01-18

Thank you for your response.  I did get Retroarch to work somewhat...  It only lists a handful of ROMs in my folder, not sure what the difference is for the ROMs, but the file extension is the same.  I don't really care too much about what emulator is used, just whatever is easiest and performs the best ultimately.

Through trial and error, I was messing with Advanced Emulator Launcher and i can see all the games listed through that Kodi addon, but none of them will launch when I select it.  I thought I set the right paths for Retroarch, but again, this is new to me and I have already spent hours trying to make it work, but not having much success...

Can you please expand a little more on Advanced Emulator Launcher or Rom Collection Browser on how to set it up with Retroarch?  I feel like it's going to be something really dumb that I am just simply missing.

Thank you,
Kevin


RE: ROMs - Not working, need some guidance. - malte - 2018-01-19

Preparation in retroarch:
- Start Retroarch
- Go to "Load Core"
- Go to "Download Core..."
- Select a core for SNES

In AEL or RCB it is the easiest way to edit the config files manually (assuming that you already created them with the addon). You will find them in kodis "userdata/addon_data" directory in the addon specific folder.

In AEL it is the file "categories.xml" and in RCB "config.xml".

You will need to specifiy the path to RetroArch and the parameters. On my system it looks like this:

AEL
Code:
<application>C:\Users\<your username here>\AppData\Roaming\RetroArch\retroarch.exe</application>
<args>-c "C:\Users\<your username here>\AppData\Roaming\RetroArch\retroarch.cfg" -L "C:\Users\<your username here>\AppData\Roaming\RetroArch\cores\bsnes_mercury_accuracy_libretro.dll" -f "$rom$"</args>

RCB
Code:
<emulatorCmd>C:\Users\<your username here>\AppData\Roaming\RetroArch\retroarch.exe</emulatorCmd>
<emulatorParams>"%ROM%" -c "C:\Users\<your username here>\AppData\Roaming\RetroArch\retroarch.cfg" -f -D -L "C:\Users\<your username here>\AppData\Roaming\RetroArch\cores\bsnes_mercury_accuracy_libretro.dll"</emulatorParams>

You need to replace the paths to your RetroArch installation and the dll of the core that you downloaded in the steps above.

I usually need to specify the path to a configuration file. Otherwise RetroArch won't launch. I have created config files for every emulator to specify different paths for savestate files and other stuff. But you can just use the same file for all emulators at the beginning.


RE: ROMs - Not working, need some guidance. - Wintermute0110 - 2018-01-19

First, thanks a lot Malte for your help.

@kjparenteau I will try to complement Malte's advice in the case you want to use AEL. Remember you also have RCB and IARL as alternatives and that you can have the three of them installed in Kodi. Each plugin has its strong and weak points so maybe it's worth trying all of them and then start using the one you like most.

First, it is important to keep stuff organised. I recommend you use a directory layout like this:
 
Code:
C:\ROMs\nintendo-snes\ -> place SNES ROMs here
C:\ROMs\nintendo-gb\ -> place Game Boy ROMs here

C:\AEL-assets\nintendo-snes\ -> SNES artwork directory
C:\AEL-assets\nintendo-gb\ -> GB artwork directory

In AEL, the quickest way to setup your launchers is to use the wizard (context menu, "Add new launcher"). Just focus on introducing the launcher name, the application (Retroarch executable), artwork directory, and ignore the arguments. Once you have created you launcher, then open the context menu, "Edit Launcher", "Save launcher XML configuration". This will create a file like this:
Code:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<advanced_emulator_launcher_configuration>
<launcher>
<name>32X (Fusion)</name>
<category>root_category</category>
<year>1994</year>
<genre>Fifth generation console</genre>
<developer>SEGA</developer>
<rating>2</rating>
<plot>The 32X is an add-on for the Mega Drive/Genesis video game console.</plot>
<platform>Sega 32X</platform>
<application>E:\Emulators\Fusion364\Fusion.exe</application>
<args>&quot;$rom$&quot; -gen -auto</args>
<args_extra />
<ROM_path>E:\AEL-stuff\AEL-ROMs\sega-32x\</ROM_path>
<ROM_ext>32x|zip</ROM_ext>
<path_title>E:\AEL-stuff\AEL-assets\sega-32x\titles\</path_title>
<path_snap>E:\AEL-stuff\AEL-assets\sega-32x\snaps</path_snap>
<path_boxfront>E:\AEL-stuff\AEL-assets\sega-32x\boxfronts</path_boxfront>
<path_boxback>E:\AEL-stuff\AEL-assets\sega-32x\boxbacks</path_boxback>
<path_cartridge>E:\AEL-stuff\AEL-assets\sega-32x\cartridges</path_cartridge>
<path_fanart>E:\AEL-stuff\AEL-assets\sega-32x\fanarts</path_fanart>
<path_banner>E:\AEL-stuff\AEL-assets\sega-32x\banners</path_banner>
<path_clearlogo>E:\AEL-stuff\AEL-assets\sega-32x\clearlogos</path_clearlogo>
<path_flyer>E:\AEL-stuff\AEL-assets\sega-32x\flyers</path_flyer>
<path_map>E:\AEL-stuff\AEL-assets\sega-32x\maps</path_map>
<path_manual>E:\AEL-stuff\AEL-assets\sega-32x\manuals</path_manual>
<path_trailer>E:\AEL-stuff\AEL-assets\sega-32x\trailers</path_trailer>
<Asset_Prefix>32X</Asset_Prefix>
<s_icon>E:\AEL-stuff\32X_icon_1.jpg</s_icon>
<s_fanart>E:\AEL-stuff\32X_fanart_1.jpg</s_fanart>
<s_banner />
<s_poster>E:\AEL-stuff\32X_poster_1.jpg</s_poster>
<s_clearlogo>E:\AEL-stuff\32X_clearlogo_1.png</s_clearlogo>
<s_controller />
<s_trailer />
</launcher>
</advanced_emulator_launcher_configuration>

Then, you can edit this XML file to suit your needs (in Windows I recommend you use Notepad++). Note that the really important fields to configure are: <name>, <application>, <args>, <ROM_path>, <ROM_ext>. The rest of the files correspond to metadata and artwork and are completely optional. The format of the XML is well documented here. Once you are happy with the configuration, then open AEL settings, I/O tab, and select "Import XML Launcher configuration". Select to overwrite the launcher configuration. Note that if you do some mistake you can edit the XML file and reimport the changes again.

Note that once you are confident with the XML format you do not need to use AEL wizard at all. Just create a new XML file, edit it to your needs, and import it in AEL to create the launcher.

It is worth checking the AEL asset library. It has a lot of artwork for your launchers as well as more than 50 XML configurations for a lot of emulators. Most of the XML are for Linux, but keep in mind that the launcher arguments are the same for all operating systems, the only thing that changes is the directories. In particular, for Retroarch once you configure one platform the other platforms are really easy, the only thing that changes is the emulation core you use. Also, once you get familiar about configuring MAME/Retroarch in AEL it will be very easy to setup another plugin like RCB or IARL.

Last, in AEL the skin you use is very important. If you use default Estuary you will only display the ROMs Boxfront and Snap and no metadata (only plot). In order to see all the artwork and metadata then you need to use an skin that supports AEL. See the AEL thread for more information about skins with AEL support.