Switching to RetroArch Emulator

What emulators do you like best? Know any tips to make them run even smoother? Share your thoughts about emulators here!
Locked
User avatar
Mireille2015
Moderator
Moderator
Posts: 847
Joined: Mon Nov 20, 2017 7:50 pm
Location: USA TEXAS
Contact:

Switching to RetroArch Emulator

Post by Mireille2015 » Thu Oct 10, 2019 2:30 pm

****Dreamcade nor myself is responsible, if you damage your Replay or its contents****
This is at your own risk.


Before we start. Always ensure that you back up your C drive's contents and files. In addition, please note on how much space you have left on your C drive. If that means emptying trash, deleting files, roms or what not. For basic install of retroarch and cores for this project. Space needed is just under 700 MB. To take full advantage of Retroarch. You can easily achieve over 2 GB space. This is where another drive will help for storage. Either internal SSD or external drive. The microSD doest work well on the Replay

One Last Note. All we are doing, is just changing emulators. This will not affect any other features the Front End has to offer. Why RetroArch. Very simple. This program is widely used in other systems. Including Retropie. Makes controller set up easy (automatically) and has features where you can use overlays or shaders.

To make things easy and go smoother. I recommend using a keyboard and mouse. Text editor. ( I use NOTE++), 7z or winzip.

1. Download the latest version of Retroarch. It will be in a zipped format. You want the Download (64Bit) version under Windows 10 / 8 / 7
2. Unzip the file to your preferred method. The extracted files needs to be placed in a folder called RA
3. For this project. Place the RA folder in C:\emulators
4. Let's set up retroarch. Go to C:\emulators\RA\retroarch.exe. Once it has opened up, it will be in window mode. By using the keyboard, hit the right arrow key once. Hit the down arrow key once to Video and hit enter. Scroll down to “Start in Fullscreen Mode” and hit enter. Give it a moment. Now hit back space once. Scroll left or right until you see “Load Core”. Scroll down to “Online Updater” and hit enter. You should see Core Updater. And hit enter. You should see a list of various cores you can download. If you don’t know which core to use. Either you can download all the cores or can specifically search the ones you need. for this project. I will list some to aide.

SYSTEM_________________CORE NAME TO USED_________Libretro_______________________BIOS NEEDED
Atari 2600______________stella___________________stella_libretro.dll_________________No
Atari 7800______________prosystem ______________prosystem_libretro.dll_____________7800bios (U).rom
Atari Lynx______________handy___________________handy_libretro.dll________________lynxboot.img
Gameboy_______________gambatte_______________gambatte_libretro.dll______________(optional) gb_bios.bin
Gameboy Color__________gambatte_______________gambatte_libretro.dll______________(optional) gbc_bios or sgb_bios.bin
Gameboy Advance_______mGBA___________________mgba_libretro.dll_________________(optional) gba_bios.bin
NES____________________fceumm_________________fceumm_libretro.dll______________(optional) disksys.rom
SNES___________________snes9x2010______________snes9x2010_libretro.dll____________No
Virtual Boy______________beetle-vb_______________mednafen_vb_libretro.dll__________No
32X____________________picodrive________________picodrive_libretro.dll_____________(optional) 32X_G_bios.bin, 32X_M_bios.bin, 32X_bios.bin
Gamegear_______________genesis plus gx___________genesis_plus_gx_libretro.dll_______(optional) bios.gg
Genesis_________________genesis plu gx____________genesis_plus_gx_libretro.dll_______(optional) bios_MD.bin
Mastersystem____________picodrive________________picodrive_libretro.dll_____________(optional) bios_E.sms, bios_J.sms, bios_U.sms
Playstation______________pcsx rearmed____________pcsx_rearmed_libretro.dll_________scph101.bin, scph7001.bin, scph5501.bin, scph1001.bin
Turbografx-16____________beetlepce fast___________mednafen_pce_fast_libretro.dll____syscard3.pce
Vectrex_________________beetle vb________________vecx_libretro.dll_________________No

For additional info on the cores and bios for various systems, please check out this link. Extremely awesome stuff. go to the website and look on the right of the page!!
https://github.com/RetroPie/RetroPie-Setup/wiki/



5. Once you have finished downloading the cores you want, hit backspace, you should see Core Updater. Scroll down and be sure to update joypad profiles. Hit escape to exit retroarch.
6. BIOS. If you are lucky enough to find them. You will place the required bios in C:\emulators\RA\system. Good news is. The playstation 1 bios can be located in C:\emulators\psx\bios.

Once you have gathered all your bios, cores, and whatever roms you wish to play. Now its time to set up new config files to use. For this case it will be XML document. I will keep this plain and simple.

FOR ADVANCED USERS

In the front end mode. Scroll down / up to settings, hit enter and scroll up to
Add Emulator Wizard
, then hit enter. A small window should appear.
NOTE: For this demonstration, I will use the Genesis for the example.


Under the Machine Information Tab
Name = This is where you can name your console. For example Sega Genesis. This will appear on the menu selection.
Key= This is a special identifier for the system in XML. It can be found at C:\menu\gameinfo. For Sega Genesis, it would be megadriv.
Players= This wouldn't matter, but you can change it if you wish.
Loading Delay= This needs to be set at 10000. This will allow the front end give time to open the emulator and load the necessary core.
Roms Folder Name= This is where you store your particular roms for the system. Example roms/megadriv. Not actual location, example C:\roms\megadriv


Under Launch Settings Tab
Executable File= Location of the emulator. Example C:\emulators\RA\retroarch.exe
Arguments= This is extremely important. On how this is written. Retroarch uses cores to emulate various systems. This tells Retroarch what specific core to use.
EXAMPLE: to emulate Sega Genesis, -L cores\genesis_plus_gx_libretro.dll {gameFile}
You must fully type out the core's name. Which can be found C:\emulators\RA\cores or wherever you installed RA folder


Screenshot Settings Tab
Emulator Image File= This would be the location of the image for your particular system. Example Genesis C:\menu\machines\Genesis.png
Screenshot Folder= This is where the game snaps are located. Example Genesis C:\snaps\megardriv
Screenshot Bounds. This is how to place your system image on the X/Y axis and width/ heighth on the screen. For Genesis its x=66 y=265 w=330 h=247
Typically all consoles will have the same numbers, except hand held devices. You can go to C:\menu\users\_da\systems and find the original config settings as your guide for the screen shot numbers.
Default Screenshot= You can leave this one alone.


Buttons Tab
This last tab you can leave it alone.


Once you plugged in all the info, (even if you missed or don't know certain location or screenshot numbers, you can edit the XML later with text editor). Time to hit the save button. This file file is written in XML, you can name your console file. Example Sega-Genesis or Genesis.

The XML file you just created is located at C:\menu\users\_da\systems. If you need to change core name or edit the file, just use a text editor Notepad++.

NOTE:
This forum will not allow me to upload a XML file. So here are two examples on how it should look like.

For Sega Genesis

<?xml version="1.0" encoding="utf-8"?>
<machines>
<machine name="Sega Genesis" key="megadriv" players="2" loadingDelay="10000">
<roms location="megadriv/" />
<image file="C:\menu\machines\Genesis.png" />
<snaps location="C:\snaps\megadriv" />
<screenshot x="66" y="265" w="330" h="247" defaultImage="c:/default.png" />
<button name="dPad-up">D-Pad Up</button>
<button name="dPad-down">D-Pad Down</button>
<button name="dPad-left">D-Pad Left</button>
<button name="dPad-right">D-Pad Right</button>
<button name="select">Select</button>
<button name="start">Start</button>
<button name="lStick">Left Analog Stick</button>
<button name="rStick">Right Analog Stick</button>
<button name="button1">Button 1</button>
<button name="button2">Button 2</button>
<button name="button3">Button 3</button>
<button name="button4">Button 4</button>
<button name="button5">Button 5</button>
<button name="button6">Button 6</button>
<button name="button7">Button 7</button>
<button name="button8">Button 8</button>
<button name="button9">Button 9</button>
<button name="exit">Exit</button>
<button name="config">Config</button>
<button name="pause">Pause</button>
<launch executable="C:\emulators\RA\retroarch.exe" arg="-L cores\genesis_plus_gx_libretro.dll {gameFile}" />
</machine>
</machines>



For Super Nintendo

<?xml version="1.0" encoding="utf-8"?>
<machines>
<machine name="Super Nintendo" key="snes" players="2" loadingDelay="10000">
<roms location="snes/" />
<image file="C:\menu\machines\SNES.png" />
<snaps location="c:\snaps\snes\" />
<screenshot x="66" y="265" w="330" h="247" defaultImage="c:/default.png" />
<button name="dPad-up">D-Pad Up</button>
<button name="dPad-down">D-Pad Down</button>
<button name="dPad-left">D-Pad Left</button>
<button name="dPad-right">D-Pad Right</button>
<button name="select">Select</button>
<button name="start">Start</button>
<button name="lStick">Left Analog Stick</button>
<button name="rStick">Right Analog Stick</button>
<button name="button1">Button 1</button>
<button name="button2">Button 2</button>
<button name="button3">Button 3</button>
<button name="button4">Button 4</button>
<button name="button5">Button 5</button>
<button name="button6">Button 6</button>
<button name="button7">Button 7</button>
<button name="button8">Button 8</button>
<button name="button9">Button 9</button>
<button name="exit">Exit</button>
<button name="config">Config</button>
<button name="pause">Pause</button>
<launch executable="C:\emulators\RA\retroarch.exe" arg="-L cores\snes9x2010_libretro.dll {gameFile}" />
</machine>
</machines>



For any system you wish to emulate on Retroarch, and already exists on Replay by another emulator. Example Sega Genesis (uses MAME) or Super Nintendo (uses snes9x). YOU must delete or remove the original config files for that system found at (C:\menu\users\_da\systems) This will prevent confusion for the front end. Remember the original files are written in Configuration settings file.

Last thing to do is go to C:\menu\knownGames and delete everything. Very important you do this.

I hope this helps. Select and Start is still the command to exit.
Be sure to visit WheatPasta and me on Discord. Where we can respond quicker and get you resolved on your issue quickly!

Locked