Emulation

xrg

Golden Squire
180
59
An alternative is alsoLakka, which is basically a Linux distro dedicated to Retroarch (with the xmb UI). I don't have a Raspberry Pi still so don't know how easy it is to setup.

 

Noodleface

A Mod Real Quick
37,961
14,508
wtf why didn't this asshole pop up on google last night
Keep in mind I did this stuff very early on and was a "early adopter" of a lot of this stuff, so when I did it there was only the official stuff and that's it. Now that it's more well known you find half-assed guides all over the place.
 

Zaide

TLP Idealist
3,734
4,384
Noodle, the guide you linked was awesome. I've got the pi2 set up with the full nes/snes/Sega libraries working so far. We've been using ps4 controllers with USB cables but our plan is to get a legit arcade set up and build it right into our table so the buttons and such are flush with the surface. Debating on putting the screen in the table atm.
 

Intrinsic

Person of Whiteness
<Gold Donor>
14,213
11,595
Why isn't there any easy way to do this on my Intel NUC with XBMC? I saw one YouTube video of configuring ZSNES but it looked terribly complicated.
 

Intrinsic

Person of Whiteness
<Gold Donor>
14,213
11,595
Is there a way to get the DS3 working wirelessly or is cable required?

nm decided to not be lazy and read the site... Okay I'm in, ordered the damn thing
 

Intrinsic

Person of Whiteness
<Gold Donor>
14,213
11,595
Well that was pretty much one of the easiest technology related things ever. DS3 working with Bluetooth, SNES, NES, Sega. It took longer to decide which of the ROMs out of the 3k+ available in the no-intro pack I actually wanted.
 

xrg

Golden Squire
180
59
Here are a bunch of notes I originally made for a few friends trying to set up their own Emulation system (both gave up because they're computer newbs). I went back over it and cleaned/updated a few things. I think the average person here is probably more technically inclined than my friends, but there might be a few things in there that are useful and can save you some headaches.

Anyway, it's written from the point of view of running Emulation Station with Retroarch on Linux with an Xbox 360 controller. I removed ROM links/torrents as I assume they're against the rules.

General

  • Emulation General Wikicontains good information on judging which emulator/core you want to use. Often you're trading accuracy for speed, and in some cases features in a less accurate emulator might be more desirable than a more accurate one. Mednafen is a very accurate PSX emulator (passes more tests than even Sony's) and it generally runs well -- however it can only run at native PSX resolution which looks chunky and shitty.
  • Using savestates in conjunction with savegames (ie saving in-game) is risky and can cause dataloss. If you do use them together, it's usually a good idea to create a savestate immediately after a save game -- that way if the save game doesn't work, you can load the savestate and try resaving. VBA-M in particular I had issues (I use mGBA these days though and so far it hasn't ever failed to save). Also if you're not aware, it's best to rely on game saves longterm. Savestates can be rendered incompatible even updating the emulator. Game saves never change, and can even be shared so long as the emulators read the same file extension (which all emulators in Retroarch do).
  • Learning the basics of Unix command line is useful for general maintenance and doesn't take very long (less than an hour typically). You can do similar things in Windows with Powershell probably, but I haven't used Windows in several years so you're on your own there. Here are a couple free resources.
    Codecademy:Learn the Command Line
    Memrise:Shell-Fu



ROMS

  • There are various ROM-sets floating out there:
    - No-Intro is highly recommended. No-intro trims out a lot of the garbage Goodsets and some of the other sets tends to include, and aims to have the best working version of each unique ROM. Watch out for NES sets without headers if you use Nestopia though (I have no clue why some choose to do that).
    - Atari 2600 is probably the only major system that No-Intro doesn't support (I'm not sure why they don't). The Rom Hunter set at Atarimania effectively follows the same guidelines as No-Intro, and is a high quality set.
    - For disc systems, try to find Redump ROMs.Redump.orgis a giant database containing info on virtually all CD-Media. Even if they're named ReDump, they might be garbage because people go to incredible lengths to do stupid things (delete files or compress bins using obscure formats) -- but you can always check them against the database. If you dig hard enough you can usually find entire high quality ReDump sets that aren't packaged wrong.
  • ROM-sets typically include at least a copy for each region, as well as revisions, and anything else that warrants inclusion. I usually prune the set and remove everything except USA (FUCK YEAH!). If you're even moderately savvy on a command line this is pretty trivial to do. eg$ rm *\(Japan\)*will delete any files with the exact string "(Japan)" in the name, but not (USA, Japan) as it isn't an exact match. Rinse and repeat with whatever regions need purged. After weeding down the major ones, it's still a good idea to do a manual pass and remove things that aren't really games such as Game Genie, XBAND, BIOS files, Unlicensed garbage, etc.
  • If you only want to cherry pick the cream of the crop per system this wiki may help:http://vsrecommendedgames.wikia.com/...ded_Games_Wiki
  • Unlicensed games are always a tricky call. Tengen in the NES days was unlicensed but very common, and in the case of games like Tetris they made the superior version. In other cases the (Unl) copy will be identical to some other publishers licensed version, effectively leaving you with a duplicate game. Tengen in particular is so strange as it often will have a Licensed and Unlicensed version. It's a mess, and not even collectors seem to have reached agreement on what counts and what doesn't for a complete set. So, if they're easy to scrape data for I keep them otherwise I delete them.
  • Some games have multiple revisions/versions. Sometimes these are legitimate bug-fixes, but usually you won't be able to tell the difference. Some of the NES (Rev A) releases were apparently to make them incompatible with Game Genie (I don't know if that is actually true or not -- on emulators sometimes Game Genie codes don't work anyway). PSX often has multiple versions for "Greatest Hits" (v1.1) or they re-released in order to put different demos on the disc (Tomb Raider has a lot of versions with different demos on it). It varies system to system and game to game, but I personally just keep one version, favoring the original releases.
  • Multidisc PSX games on Mednafen need a playlist file to keep your memory cards straight. I create a playlist file for every PSX game even if they only have one disc. That way I can just point Emulation Station to the m3u files rather than a mixture of m3u and cue files. You can generate a playlist file pretty easily using the find command:
    $ find "Final Fantasy VII (USA)" -name "*.cue" > "Final Fantasy VII.m3u"
  • Most emulators allow you to zip the roms to save storage space. PPSSPP isos you can compress into cso files using a program called pspshrink and they seem to perform exactly the same in my testing. It's best to just check on a case-by-case basis for what file formats a particular emulator core accepts -- unfortunately some don't allow for compression at all (usually disc-systems unfortunately).



Data Scraping




Retroarch Config

  • This page is a good reference for sorting out which emulators/cores need BIOS files, as well as their specific name:ROMs and BIOSes
  • Some emulators can optionally use a BIOS or not. The mGBA core for example doesn't require a BIOS, but some games have problems without one (Phantasy Star Collection in particular). Usually if there is the option to run a BIOS it's a good idea to do so.
  • Mednafen PSX core is really picky about which BIOS you use. It wants scph5501.bin but it's usually difficult to find that specific one. Instead you can find scph7003.bin and rename it to scph5501.bin.
    To ensure you have the correct one run$ md5checksum scph5501.binand see if it gives the correct MD5 sum listed below. I don't recall the Japan and Europe BIOS as being difficult to find.
    scph5500.bin (MD5 sum: 8dd7d5296a650fac7319bce665a6a53c)
    scph5501.bin (MD5 sum: 490f666e1afb15b7362b406ed1cea246)
    scph5502.bin (MD5 sum: 32736f17079d0b2b7024407c39bd3050)
  • PPSSPP on Retroarch requires additional assets for save/load screens and things. I installed the standalone version of PPSSPP and then copy-paste the assets folder into retroarch > system > ppsspp but you might be able to download it with the Retroarch online updater (it's still pretty new and I haven't messed with it yet).
  • Bsnes requires some additional chipset roms in the System directory. SNES-bios.zip at emuparadise has what you need.List of Super NES enhancement chips - Wikipedia, the free encyclopediahas a list of the various chipsets as well as games that used them you can test from. eg to make sure DSP-1 is working, try running Pilotwings; SuperFX try StarFox; you get the idea.
  • bsnes-balanced (or bsnes-mercury-balanced) is adequate for most games at reasonable performance. The one game it doesn't handle correctly that bsnes-Accurate does is A.S.P. - Air Strike Patrol, and all it does in that game is not render the shadow under the plane.
  • Retroarch configuration is complicated, but I find it best to keep general default settings in Retroarch.cfg, and then append configs that override those defaults on a per system basis. I name them differently from the core name because Retroarch makes it infuriatingly easy to overwrite things on accident. An example from my launcher is:
    $ retroarch --appendconfig ~/games/configs/psx.cfg -L /usr/lib/libretro/mednafen_psx_libretro.so


Controllers

  • DS or Xbox controllers are usually the most popular. Some people suggest Xbox 360 Hori Pad Ex2 controllers because they have an additional two buttons which could make it easier to bind N64, Sega Genesis/Mega Drive, and Saturn. I don't have one myself, so can't vouch for them. I know that Xbox 360 wired controllers work out of the box with most Linux kernels -- they also have the shittiest dpad I've ever used so maybe the Xbone or something is a better buy these days.
  • Lightguns intended for use on a CRT typically won't work on HDTVs. If you're curious on the technicalities this video explains what is going on:The Way Games Work - NES Zapper - YouTube. There are someLightguns out therethat claim they do work on virtually any display but I'm not sure if they mean you can use it with NES Duck Hunt or not.
  • I recommend setting the default controller type for PSX to Dual Shock. Most games that support analog will autodetect and turn the sticks on, while games that don't will leave the sticks off. There are some exceptions that require manual intervention to turn the sticks on (Metal Gear Solid). The one thing you do not want to set the controls to is Dual Analog. If you have that set, some games that don't support analog controls won't receive any input (Descent is an example I'm aware of). I mainly only mention it because I spent hours trying to figure out why my controller worked in some games but not others, and that was the culprit.

----------------------------------------

FYI - these are systems I currently emulate (thus have experience with):

  • Atari 2600
  • Atari 7800 (I started to emulate this entirely to play Ninja Golf after seeing aCinemassacre video)
  • Atari Lynx
  • NES
  • SNES
  • Game Boy/Color
  • Game Boy Advance
  • Nintendo 64
  • Nintendo DS
  • Virtual Boy (lol)
  • Sega Master System
  • Sega Genesis/32X/Sega CD
  • Game Gear
  • Playstation
  • PSP
  • Turbografx 16
  • MAME (only like 5 games at the moment)
 

The Ancient_sl

shitlord
7,386
16
I've got time on my hands and you guys have piqued my interest in something I haven't done in awhile. I already have a computer hooked to my tv running windows 7 that I use as a whole-home dvr. I should be able to put bsnes or RetroArch on this machine and be good to go, right?
 

Tenks

Bronze Knight of the Realm
14,163
606
Here are a bunch of notes I originally made for a few friends trying to set up their own Emulation system (both gave up because they're computer newbs). I went back over it and cleaned/updated a few things. I think the average person here is probably more technically inclined than my friends, but there might be a few things in there that are useful and can save you some headaches.

Anyway, it's written from the point of view of running Emulation Station with Retroarch on Linux with an Xbox 360 controller. I removed ROM links/torrents as I assume they're against the rules.

General

  • Emulation General Wikicontains good information on judging which emulator/core you want to use. Often you're trading accuracy for speed, and in some cases features in a less accurate emulator might be more desirable than a more accurate one. Mednafen is a very accurate PSX emulator (passes more tests than even Sony's) and it generally runs well -- however it can only run at native PSX resolution which looks chunky and shitty.
  • Using savestates in conjunction with savegames (ie saving in-game) is risky and can cause dataloss. If you do use them together, it's usually a good idea to create a savestate immediately after a save game -- that way if the save game doesn't work, you can load the savestate and try resaving. VBA-M in particular I had issues (I use mGBA these days though and so far it hasn't ever failed to save). Also if you're not aware, it's best to rely on game saves longterm. Savestates can be rendered incompatible even updating the emulator. Game saves never change, and can even be shared so long as the emulators read the same file extension (which all emulators in Retroarch do).
  • Learning the basics of Unix command line is useful for general maintenance and doesn't take very long (less than an hour typically). You can do similar things in Windows with Powershell probably, but I haven't used Windows in several years so you're on your own there. Here are a couple free resources.
    Codecademy:Learn the Command Line
    Memrise:Shell-Fu



ROMS

  • There are various ROM-sets floating out there:
    - No-Intro is highly recommended. No-intro trims out a lot of the garbage Goodsets and some of the other sets tends to include, and aims to have the best working version of each unique ROM. Watch out for NES sets without headers if you use Nestopia though (I have no clue why some choose to do that).
    - Atari 2600 is probably the only major system that No-Intro doesn't support (I'm not sure why they don't). The Rom Hunter set at Atarimania effectively follows the same guidelines as No-Intro, and is a high quality set.
    - For disc systems, try to find Redump ROMs.Redump.orgis a giant database containing info on virtually all CD-Media. Even if they're named ReDump, they might be garbage because people go to incredible lengths to do stupid things (delete files or compress bins using obscure formats) -- but you can always check them against the database. If you dig hard enough you can usually find entire high quality ReDump sets that aren't packaged wrong.
  • ROM-sets typically include at least a copy for each region, as well as revisions, and anything else that warrants inclusion. I usually prune the set and remove everything except USA (FUCK YEAH!). If you're even moderately savvy on a command line this is pretty trivial to do. eg$ rm *\(Japan\)*will delete any files with the exact string "(Japan)" in the name, but not (USA, Japan) as it isn't an exact match. Rinse and repeat with whatever regions need purged. After weeding down the major ones, it's still a good idea to do a manual pass and remove things that aren't really games such as Game Genie, XBAND, BIOS files, Unlicensed garbage, etc.
  • If you only want to cherry pick the creme of the crop per system this wiki may help:http://vsrecommendedgames.wikia.com/...ded_Games_Wiki
  • Unlicensed games are always a tricky call. Tengen in the NES days was unlicensed but very common, and in the case of games like Tetris they made the superior version. In other cases the (Unl) copy will be identical to some other publishers licensed version, effectively leaving you with a duplicate game. Tengen in particular is so strange as it often will have a Licensed and Unlicensed version. It's a mess, and not even collectors seem to have reached agreement on what counts and what doesn't for a complete set. So, if they're easy to scrape data for I keep them otherwise I delete them.
  • Some games have multiple revisions/versions. Sometimes these are legitimate bug-fixes, but usually you won't be able to tell the difference. Some of the NES (Rev A) releases were apparently to make them incompatible with Game Genie (I don't know if that is actually true or not -- on emulators sometimes Game Genie codes don't work anyway). PSX often has multiple versions for "Greatest Hits" (v1.1) or they re-released in order to put different demos on the disc (Tomb Raider has a lot of versions with different demos on it). It varies system to system and game to game, but I personally just keep one version, favoring the original releases.
  • Multidisc PSX games on Mednafen need a playlist file to keep your memory cards straight. I create a playlist file for every PSX game even if they only have one disc. That way I can just point Emulation Station to the m3u files rather than a mixture of m3u and cue files. You can generate a playlist file pretty easily using the find command:
    $ find "Final Fantasy VII (USA)" -name "*.cue" > "Final Fantasy VII.m3u"
  • Most emulators allow you to zip the roms to save storage space. PPSSPP isos you can compress into cso files using a program called pspshrink and they seem to perform exactly the same in my testing. It's best to just check on a case-by-case basis for what file formats a particular emulator core accepts -- unfortunately some don't allow for compression at all (usually disc-systems unfortunately).



Data Scraping

  • Emulation Station's scraper is slow, and often cannot find a game no matter how well you search.sselph/scraperis an alternative that is considerably faster and scrapes via hashes rather than text strings so is more accurate.



Retroarch Config

  • This page is a good reference for sorting out which emulators/cores need BIOS files, as well as their specific name:ROMs and BIOSes
  • Some emulators can optionally use a BIOS or not. The mGBA core for example doesn't require a BIOS, but some games have problems without one (Phantasy Star Collection in particular). Usually if there is the option to run a BIOS it's a good idea to do so.
  • Mednafen PSX core is really picky about which BIOS you use. It wants scph5501.bin but it's usually difficult to find that specific one. Instead you can find scph7003.bin and rename it to scph5501.bin.
    To ensure you have the correct one run$ md5checksum scph5501.binand see if it gives the correct MD5 sum listed below. I don't recall the Japan and Europe BIOS as being difficult to find.
    scph5500.bin (MD5 sum: 8dd7d5296a650fac7319bce665a6a53c)
    scph5501.bin (MD5 sum: 490f666e1afb15b7362b406ed1cea246)
    scph5502.bin (MD5 sum: 32736f17079d0b2b7024407c39bd3050)
  • PPSSPP on Retroarch requires additional assets for save/load screens and things. I installed the standalone version of PPSSPP and then copy-paste the assets folder into retroarch > system > ppsspp but you might be able to download it with the Retroarch online updater (it's still pretty new and I haven't messed with it yet).
  • Bsnes requires some additional chipset roms in the System directory. SNES-bios.zip at emuparadise has what you need.List of Super NES enhancement chips - Wikipedia, the free encyclopediahas a list of the various chipsets as well as games that used them you can test from. eg to make sure DSP-1 is working, try running Pilotwings; SuperFX try StarFox; you get the idea.
  • bsnes-balanced (or bsnes-mercury-balanced) is adequate for most games at reasonable performance. The one game it doesn't handle correctly that bsnes-Accurate does is A.S.P. - Air Strike Patrol, and all it does in that game is not render the shadow under the plane.
  • Retroarch configuration is complicated, but I find it best to keep general default settings in Retroarch.cfg, and then append configs that override those defaults on a per system basis. I name them differently from the core name because Retroarch makes it infuriatingly easy to overwrite things on accident. An example from my launcher is:
    $ retroarch --appendconfig ~/games/configs/psx.cfg -L /usr/lib/libretro/mednafen_psx_libretro.so


Controllers

  • DS or Xbox controllers are usually the most popular. Some people suggest Xbox 360 Hori Pad Ex2 controllers because they have an additional two buttons which could make it easier to bind N64, Sega Genesis/Mega Drive, and Saturn. I don't have one myself, so can't vouch for them. I know that Xbox 360 wired controllers work out of the box with most Linux kernels -- they also have the shittiest dpad I've ever used so maybe the Xbone or something is a better buy these days.
  • Lightguns intended for use on a CRT typically won't work on HDTVs. If you're curious on the technicalities this video explains what is going on:The Way Games Work - NES Zapper - YouTube. There are someLightguns out therethat claim they do work on virtually any display but I'm not sure if they mean you can use it with NES Duck Hunt or not.
  • I recommend setting the default controller type for PSX to Dual Shock. Most games that support analog will autodetect and turn the sticks on, while games that don't will leave the sticks off. There are some exceptions that require manual intervention to turn the sticks on (Metal Gear Solid). The one thing you do not want to set the controls to is Dual Analog. If you have that set, some games that don't support analog controls won't receive any input (Descent is an example I'm aware of). I mainly only mention it because I spent hours trying to figure out why my controller worked in some games but not others, and that was the culprit.

----------------------------------------

FYI - these are systems I currently emulate (thus have experience with):

  • Atari 2600
  • Atari 7800 (I started to emulate this entirely to play Ninja Golf after seeing aCinemassacre video)
  • Atari Lynx
  • NES
  • SNES
  • Game Boy/Color
  • Game Boy Advance
  • Nintendo 64
  • Nintendo DS
  • Virtual Boy (lol)
  • Sega Master System
  • Sega Genesis/32X/Sega CD
  • Game Gear
  • Playstation
  • PSP
  • Turbografx 16
  • MAME (only like 5 games at the moment)
Can you expand on or list how you got the faster scraping working? No way am I sitting down and scraping all 850 SNES games.
 

Intrinsic

Person of Whiteness
<Gold Donor>
14,213
11,595

xrg

Golden Squire
180
59
Aye, that's a good tutorial that about covers it. I wasn't even aware of it, but I'm going to steal it and put it on that list.
 

The Ancient_sl

shitlord
7,386
16
I can't get Emulation Station to work properly with RetroArch. Right now I'm only trying to get it to run one game and it's failing.
My config:
<systemList>

<system>
<name>snes</name>
<fullname>Super Nintendo Entertainment System</fullname>
<extension>.smc .sfc .SMC .SFC</extension>
<path>E:\Tester</path>
<command>E:\Program Files\RetroArch_1.2.2\retroarch E:\Tester\ChronoTrigger.smc</command>
<platform>snes</platform>
<theme>snes</theme>
</system>

</systemList>

When I try to get it to run a game it just bails out, here is the relevant section:
lvl2: Attempting to launch game...
lvl2: getting volume as 36 ( from float 0.36)
lvl2: E:\Program Files\RetroArch_1.2.2\retroarch E:\Tester\ChronoTrigger.smc
lvl1: ...launch terminated with nonzero exit code 1!
lvl2: Creating surface...
lvl2: Created window successfully.
lvl2: EmulationStation cleanly shutting down.

The command lineE:\Program Files\RetroArch_1.2.2\retroarch E:\Tester\ChronoTrigger.smcworks fine on it's own.

Can anyone spot what I'm missing?
 

Noodleface

A Mod Real Quick
37,961
14,508
Try putting the ROM in a location where the entire folder path doesn't have a space in it (Program Files)
 

yimmien

Molten Core Raider
877
667
Do i just need one bluetooth adapter if i want to run two ps3 controllers wirelessly? Will it cause problems with a ps3 on the other end of the house? Any other cheap wireless controller recommendations would work too.