RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Portable Game Station/emulationstation's forward slashes not working with fbalpha_libretro.dll

    Scheduled Pinned Locked Moved Help and Support
    portable gamestemulationstatiofbalphaforward slasheswindows 10
    4 Posts 1 Posters 1.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rubenjavier
      last edited by

      Hello,
      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 <path> 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

      Thanks in advance
      best regards

      R 1 Reply Last reply Reply Quote 0
      • R
        rubenjavier @rubenjavier
        last edited by

        sorry I had a typo and cant edit the previous post

        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
        (path to rom with forward slashes)

        Thanks in advance
        best regards

        1 Reply Last reply Reply Quote 0
        • R
          rubenjavier
          last edited by

          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

          1 Reply Last reply Reply Quote 0
          • R
            rubenjavier
            last edited by

            Hello @jrassa
            I think I've found whats missing,
            int the 2015 version of emulationstation from Aloshi where the slashes where fixed (unstable branch), you can see that he uses an extra function called make_preferred() on the ROM_RAW string

            https://github.com/Aloshi/EmulationStation/blob/unstable/es-app/src/SystemData.cpp
            const std::string rom_raw = fs::path(game.getPath()).make_preferred().string();

            He also uses this funcion on a windows ifdef on the same file
            #ifdef WIN32
            // windows escapes stuff by just putting everything in quotes
            return '"' + fs::path(path).make_preferred().string() + '"';
            #else

            The function make_preferred() from Boost is the one that fixes the slashes
            https://theboostcpplibraries.com/boost.filesystem-paths

            Thanks in advance
            Best regards

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.