Giter VIP home page Giter VIP logo

win10_emulation_station's Introduction

EmulationStation configured for Windows

Script working

An auto-installer to set up Emulation Station correctly on a 64-bit version of Windows 10/11

Features

  • Uses an up to date version of Emulation Station from the Raspberry Pi branch
  • Auto populates emulators with public domain roms
  • Adds exclusive Windows only Emulators and Themes for the Switch, Wii-U and PS3
  • Auto installs a popular theme with support for adding 'Favorites'
  • Adds multiple useful shortcuts to the user's Desktop
  • Adds in a game content scraper which lives in (run %UserProfile%\.emulationstation\roms\scraper.exe)

Steps

  • Single one liner to install everything:
if (-Not (Test-Path C:\temp\es-setup)) { mkdir C:\temp\es-setup }; Set-Location C:\temp\es-setup\;Set-ExecutionPolicy Bypass -Scope Process -Force;[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;Invoke-WebRequest "https://github.com/Francommit/win10_emulation_station/archive/1.3.9.zip" -OutFile "emulationStation.zip";Expand-Archive .\emulationStation.zip;cd .\emulationStation; cd .\win*;.\prepare.ps1
  • Script complete when powershell spits out:
INFO: Setup completed

Installation GIF:

alt text

Troubleshooting

  • If you get an error saying "msvcr100.dll was not found" run choco install vcredist2010 -y from Powershell as admin
  • If the controller is not working in game, configure Input in Retroarch (%UserProfile%\.emulationstation\systems\retroarch\retroarch.exe)
  • PSX, PS2 and PS3 Homebrew Games won't load unless you acquire the bios's and add them to the bios folder (%UserProfile%\.emulationstation\systems\epsxe\bios and %UserProfile%\.emulationstation\systems\pcsx2\bios)
  • PSX, PS2 and PS3 also require manual configuration for controllers (%UserProfile%\.emulationstation\systems\epsxe\ePSXe.exe and %UserProfile%\.emulationstation\systems\pcsx2\pcsx2.exe and %UserProfile%\scoop\apps\rpcs3\current)
  • If the script fails for whatever reason delete the contents of %UserProfile%\.emulationstation and try again.
  • Emulation Station may crash when you return to it from a external progam, ensure your graphics drivers are up to date.
  • Launching a Retroarch rom may return you to ES, you're probably on a 32-bit verison of Windows and need to acquire seperate cores.
  • Powershell commands may fail, ensure your Powershell session is in Admin mode.
  • If Powershell complains about syntax you're probably somehow running a Powershell version lower than 5. Run 'choco install powershell -y' to update.
  • If you are using Xbox controllers and having trouble setting the guide button as hotkey, locate the file (%UserProfile%\.emulationstation\es_input.cfg and change the line for hotkeyenable to <input id="5" name="hotkeyenable" type="button" value="10" />
  • The script is now re-runnable, so if anything fails, re-run it and it'll pick itself back up if your internet has died half-way through
  • If you are unable to run script from context menu (right mouse button), revert default "Open with" to Notepad

Windowed Mode Execution:

alt text

Optional Features and Tips

  • If you prefer to run your scripts via context menu (right mouse button) but lack the abilitiy to run them in an admin session, you can just double-click the "powershell_run-as-admin.reg" file and accept the registry modification. It will add a new entry to the menu to do that easily.
  • If you use OneDrive to store your ROMs and saves, you can run the script onedrive.ps1 or you can modifify it to any other specific folder. Further instructions in comments
  • Some new themes shows videos: es-theme-crt
  • Script for easy scraping included. Just run and it will backup your gamefile.xml for each ROM folder and produce a new one with data from scrap services (if you have modified your ROM folder, please check before run)

Old Steps

  1. Run prepare.ps1 in an admin session of Powershell:
  • Powershell might restart your computer as some libraries require a restart, if so, simply re-run after your PC restarts)
  • You might need to change your Powershell execution policy, so run this instead of JUST prepare.ps1
  • Set-ExecutionPolicy Bypass -Scope Process -Force; .\prepare.ps1
  1. Launch Emulation Station and Enjoy

  2. Access your ROMS here %UserProfile%\.emulationstation\roms

Installation GIF old: alt text

Translations

Portuguese

Special Thanks

win10_emulation_station's People

Contributors

1632314 avatar diekatzchen avatar francommit avatar l33t5p34k3r avatar ngosang avatar prelias avatar stephenegriffin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

win10_emulation_station's Issues

Git should be installed (if not found perhaps)

Looks like git is required

NFO: Scoop not detected, installing scoop
Initializing...
Downloading scoop...
Extracting...
Creating shim...
Downloading main bucket...
Extracting...
Adding ~\scoop\shims to your path.
'lastupdate' has been set to '2021-03-06T16:34:23.8526451+00:00'
Scoop was installed successfully!
Type 'scoop help' for instructions.
INFO: Adding scoop bucket
Git is required for buckets. Run 'scoop install git' and try again.
INFO: Installing Citra Nightly
Couldn't find manifest for 'citra-nightly'.
Couldn't find manifest for 'ppsspp'.
Couldn't find manifest for 'yuzu'.

Downloader Doesn't Work

I had to re-write every line where you attempted to use a variable in a filepath, because whatever language where it's OK to jam things together with a plus sign, doesn't work consistently or well with PowerShell. Even after all of that, the downloading process never worked--I had to manually located and download each and every one of the files you referenced in your JSON file. I don't mess with JSONs normally, so I don't have any clue (nor do I have an patience left) to bother figuring out what went sideways with that part of the script. I'll upload a transcript of what happened when I ran the thing, and my code with all the changes--but after messing around with this nonsense that was supposed make things easy, ended up killing the better part of my day.

I'd recommend swapping out whatever you're writing PowerShell scripts in for Notepad++ and a an open PowerShell window. I snap one to either side of my screen in Windows 10, and it makes trying out lines of code as you go nice and easy. Even if you think something is gonna work in PowerShell, because you did almost the exact same thing, you still need to try it out, and watch how the colors change. I've literally had the exact same snippets of code, with ONLY the alias swapped in for the verbose cmdlet name and had stuff break--so you really have to fiddled with everything until you get them perfect. I know you were trying to get fancy with that JSON file, but I'd recommend loading everything into a plain text file, and running your script "ForEach" line in the file, or just straight up write out each line in long form. The less that can go wrong, the better.

Good luck, hope this helped.

prepare.ps1.txt
transcript1.txt

Script errors and goes into endless loop

HI Chris - looks like you have done some great work here, but this is where your script errors and goes into and endless loop of checking for the config file. I deleted files from the .emulation station folder and restarted based on our troubleshooting, but same result. Any ideas?

System ERROR:
The filename, directory name, or volume label syntax is incorrect.
& : The term 'C:\Users\Owner.emulationstation\systems\retroarch\retroarch.exe' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify
that the path is correct and try again.
At line:159 char:3

  • & $retroarchExecutable
  • + CategoryInfo          : ObjectNotFound: (C:\Users\Owner\...h\retroarch.exe:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
    
    

Checking for config file...
Checking for config file...
Checking for config file...
Checking for config file...

Here is the log file:
lvl2: EmulationStation - v2.0.1a, built Mar 8 2015 - 16:10:39
lvl2: Creating surface...
lvl2: Created window successfully.
lvl2: Checking available OpenGL extensions...
lvl2: ARB_texture_non_power_of_two: ok
lvl2: Loading system config file /etc/emulationstation/es_systems.cfg...
lvl0: es_systems.cfg file does not exist!
lvl0: Example config written! Go read it at "C:/Users/Owner/.emulationstation/es_systems.cfg"!
lvl0: Error while parsing systems configuration file!

Dolphin config path

Hey, most of all, I just wanted to say that you're an amazing human for making this. What a time saver!

Also, I thought I'd mention that I noticed WII/Gamecube games crashed immediately, so after looking into it, I found that the config file was pointing to the wrong folder name for the Dolphin core. The actual folder installed by the script was named Dolphin-Beta or something like that.

PSX2 emulator plugin directory address is incorrect

Plugins are not located within the directory? but they are there. The second I added where they are located, it was able to pull the information. However, the game still won't boot up. Some other directory still didn't work...

GC w/shield PS4 Controller

Got everything setup and working with moonlight and nvidia shield. all of the older retroarch roms work great through the shield with PS4 controller but I can't figure out how to get GC games to work with dolphin through the shield. games load controller does nothing

start + select button mapping don't seem to quit emulator

hi team,

setting the select button as the hot key, pressing start and select together doesn't seem to quit any emulator via EmulationStation.

I remapped the start and select keys directly in retroarch to test and it works okay

I hope it's not anything simple I am missing!

Cheers

Trev

minimal installation

the one liner to install everything is taking a lot of time to finish on my machine.

is it possible to perform a minimal installation, and download the emulators manually later?

UPDATE: as alternative i've found this fork: https://www.es-de.org/

BITS transfer fails in prepare.ps1 if via VPN

To be clear, I don't see this as an issue with your software, but you may want to consider making a note of it in the README? While my VPN was active, script execution would block here, repeatedly checking for a config file.

emultationStationError

The actual error was above (it failed to get RetroArch, saying no adapter was available, after successfully pulling down choco).

emulationStationError2

Overall, this script was super helpful; thanks for making it.

Write-ChocolateySuccess is deprecated

Got this message while using your script. Figured you should know about it. Full message is:
WARNING: Write-ChocolateySuccess is deprecated and will be removed in v2. If you are the maintainer, please remove it from your package file. It was right after installing directx.

Typo on my text

Chris

Thanks for accepting my PR!

By the way, I left a typo here too:

Portugês do Brasil

Correct: Português do Brasil

I loved your reorganization with the translation section

starting path in powershell could make a diff between success and failure.

FYI, I ran this from powershell as administrator (I'm no pro at this mind you). When I right clicked to run powershell as admin, powershell started default in the directory as system 32. First time I ran the script from that directory, not really paying attention and while it did process some, it ended up hanging up later on and I had to Ctrl-C to kill it.

I reran the script again as admin, but this time my starting directory in powershell was just my home directory, you know C:/Users/YourName/ and the script worked that second time. So where you start probably matters. I don't know if this is worth adding to the instructions or anything but just an FYI.

Playstation 2 Retrieve / Install not working?

Hey, love this script, it's great.

But it's not setting up PS2 - here's the message at install

 pcsx2-1.4.0-binaries.7z does not exist...Downloading.                                                                   
Start-BitsTransfer : The server did not return the file size. The URL might point to dynamic content. The               
Content-Length header is not available in the server's HTTP reply.                                                      
At C:\git\win10_emulation_station\prepare.ps1:44 char:9                                                                
 +         Start-BitsTransfer -Source $url -Destination $output
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-BitsTransfer], Exception
    + FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
   TransferCommand

and then later when it tries to configure it it also runs into problems because the file isn't there.

System ERROR:                                                                                                           
The system cannot find the file specified.                                                                              
Rename-Item : Cannot rename because item at 'C:\Users\kevar\.emulationstation\systems\PCSX2 1.4.0\' does not exist.     At C:\git\win10_emulation_station\prepare.ps1:173 char:1                                                                + Rename-Item -Path $ps2ExtractedPath -NewName "pcsx2"                                                                  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                      + CategoryInfo          : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException                              + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand                                                                                                                      

`

jrassa Build of EmulationStation is Crashy

As referenced in #5, I was getting a bum build of Emulationstation that I could fix by wiping ES and reinstalling from emulationstation.org. Odd thing was choco should be the same exact build.

I tracked the problem down to step 11, where the continuous integration build from @jrassa's GitHub is laid over top of the choco build. This build crashes for me. I dunno why, but the crash is in the ES binary itself, not in a call to another binary. BTW, this build is several months old - it looks like CI isn't functioning. A more current build may not have this problem.

I propose we remove step 11, or give a command line switch until we can figure out why the jrassa build is problematic.

Script errors and goes into endless loop - Cause found

Revisiting #2.

Looking at the script, we're waiting for emulationstation.exe to create a config file. This reminds me that before I came here, I had tried to install ES myself. Maybe I should let the script install it instead? So I uninstall ES from Apps and Features and try the script again. Still fails. Apparently, choco thinks it's still installed, so it doesn't reinstall.
So I ran the choco install with --force. And now the script gets past the config bit!
Conclusion: Step 3 needs work. ES can be missing, or ES can be present, but for whatever reason does not generate a config file. Both conditions should be handled.

Add more emulators and out-the-box settings

First of all, thank you for he script. It save me precious time.
After the changes I made in #13 , the installation in fine but there are things that don't work out-the-box.

PSX emulator:

  1. Bios is missing, It's ok
  2. First time I have to set up CPU overclock and other things in the ePSXe gui. => We could edit ePSXe config in the script
  3. I have to set up the controller in the ePSXe gui. => I don't know if it's possible to use the retroarch config (or emulestation config)

Retroarch controller:

  1. After configuring controller in Emulestation, I was expecting the controller to be working in all games. I had to open retroarch.exe and configure the controller again => I don't know if it's possible to reuse Emulestation configuration. I think RetroPie does that.

Other emulators:

  1. I installed libretro MAME and PCSX2 (Play2). => I can update the installation script if anyone is interested. The thing is, if we add more emulators some of them should be optional.

Is anyone interested in improving the script?

prepare.ps1 is not digitally signed

Thank you for your pretty awesome work -- it's amazing!

When running this on the current (for now) version of Windows 10 (May 2019), I get the following error:

prepare.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.

The workaround is pretty simple. In the same (elevated) PS prompt, simply run:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

... and then answer the prompt that yes, you really do want to do this.

jrassa Build of emulationstation's forward slashes not working with fbalpha_libretro.dll

Hello everyone, Im not really sure where to report this issue, maybe with some luck @jrassa will see it here.

This is all tested in windows 10 64bits and retroarch 1.7.1
as the title says, Portable Game Station with the emulationstation from march 12 https://github.com/jrassa/EmulationStation/releases is not working because even if the label have backward slashes, the lauch command writhes the path with forward slashes.
fbalpha_libretro.dll its the only core that is failing in my testing so far because of the slashes

this works:
C:\Portable-Game-Station.emulationstation\systems\retroarch\retroarch.exe -L C:\Portable-Game-Station.emulationstation\systems\retroarch\cores\fbalpha_libretro.dll M:\fba\mslug.zip

this does not work:
C:\Portable-Game-Station.emulationstation\systems\retroarch\retroarch.exe -L C:\Portable-Game-Station.emulationstation\systems\retroarch\cores\fbalpha_libretro.dll M:/fba/mslug.zip

I've tested nes, snes, atari, gb, gbc, mastersystem, megadrive, nds, n64 and those cores are working correctly with the forward slashes that emulationstation/Portable-Game-Station are forcing

Update:
For what I could find, its "%ROM_RAW%" not working correctly, in a post from 2015, ROM_RAW behaviour was changed to be able to write the slashes correctly according to the O.S. because VLC asked for this, but seems to be broken in this last version of emulationstation
https://emulationstation.org/news/?p=17

maybe something was changed in the emulationstation code because now all of the paths that show on the log have forward slashes an none have the O.S. backward slashes..
Also I have found that fbalpha_lobretro care only about the last slahs, the one just begore the rom name

this works:
C:\Portable-Game-Station>.emulationstation\systems\retroarch\retroarch.exe -L C:\Portable-Game-Station.emulationstation\systems\retroarch\cores\fbalpha_libretro.dll M:/fba\mslug.zip

this does not works:
C:\Portable-Game-Station>.emulationstation\systems\retroarch\retroarch.exe -L C:\Portable-Game-Station.emulationstation\systems\retroarch\cores\fbalpha_libretro.dll M:/fba/mslug.zip

Thanks in advance
best regards

just says checking for config file

During the install i get the following errors:
`puae_libretro.dll.zip does not exist...Downloading.
Start-BitsTransfer : The operation being requested was not performed because the user has not logged on to the
network. The specified service does not exist. (Exception from HRESULT: 0x800704DD)
At E:\win10_emulation_station-master\prepare.ps1:30 char:9

  •     Start-BitsTransfer -Source $url -Destination $output
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : NotSpecified: (:) [Start-BitsTransfer], COMException
    • FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.BackgroundIntelligentTransfer.Mana
      gement.NewBitsTransferCommand`

After that it just says checking for config file over and over. This is on Windows 10 pro

No entry for Game Boy (original) in es_systems.cfg

I guess it was just overlooked? This adds a separate list of games for that system. It's very similar to the code for the GBC. Paste it in after Gamecube:

<system>
        <fullname>Game Boy</fullname>
        <name>gb</name>
        <path>[CHANGE THIS TO YOUR ROMS DIRECTORY]</path>
        <extension>.gb .zip .ZIP .7z</extension>
        <command>C:\Users\[YOUR USERNAME]\.emulationstation\systems\retroarch\retroarch.exe -L C:\Users\[YOUR USERNAME]\.emulationstation\systems\retroarch\cores\gambatte_libretro.dll %ROM%</command>
        <platform>gb</platform>
        <theme>gb</theme>
    </system>

Weird sentence in README

Just read the README and tripped over this:

Optional Features and Tips

  • If you prefer to run your scripts using context menu (right mouse button) but lacks the abilitiy to run they on an admin session, you can just double-click "powershell_run-as-admin.reg" file and accept the registry modification. It creates a new entry on the menu to do that easily.

This seems weird. My best guess is you meant something like this:

Optional Features and Tips

  • If you prefer to run your scripts via context menu (right mouse button) but lack the abilitiy to run them in an admin session, you can just double-click the "powershell_run-as-admin.reg" file and accept the registry modification. It will add a new entry to the menu to do that easily.

retropie's "runcommand"

Hi,
Can we add the "runcommand" to this build? This comes in handy when you want a different emulator to launch a game, such as in the Arcade folder. You may want mame2013 to launch one game, but mame2010 to launch a different game, etc.
Thanks for considering.

[Improvement Request] Remove the '.' for scrappers.

Even on windows some programs such as skraper won't look in folders that start with a period. So I suggest that in your script you use mklink /s to symlink ".emulationstation" to "emulationstation". then generate the systems file to point to the "emulationstation" folder.

How to properly uninstall it?

Hi! I want to reinstall because of some errors in my first attempt.

Since the installation is based on script, how is the proper way of achieving a clean uninstall?

NES Games aren't responding

I noticed the NES roms aren't responding to controllers. The other systems seemed to be fine, but NES doesn't respond to the USB NES controller or the xbox one.

clean install on Win10 - msvcr100.dll was not found

Just ran the script to install on a fresh installation of Windows 10 Pro. Launching the Windows Emulation station shortcut on the desktop, I get ; emulatoinstation.exe - System Error The code execution cannot proceed because MSVCR200.dll was not found. Reinstalling the program may fix this problem." Basic googling for correcting this error suggests reinstalling visual C++2010 SP1 updates - which I did to no effect.

Launching a ROM sends me back to ES, on Win10 64 bit

As the title says, I'm running into an issue getting ES to actually launch any games. It's just showing my desktop for a second, and then returning right back to the game list in Emulation Station.

I'm running a 64 bit version of Windows 10, so not sure what the issue could be.

Cores-v1.0.0.2-64-bit.zip

The file is no longer available. Can this simple be remove from the list of files or will this missing file have an impact ?

Dolphin Emulator not starting

The Dolphin Emulator from the retroarch will not open from both emulationstation or retroarch. When the dolphin was started from retroarch, the whole thing freezes and won't respond.

scraper does not work

Here is the error I get:

ss: cannot parse response: "invalid character 'F' looking for beginning of value"

also, sselph's scraper does not compile for me using go.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.