RetroArch/Libretro Thread: PS Vita Edition! Nightlies Included

Discussion in 'PS Vita - Hacking & Homebrew' started by SeongGino, Aug 5, 2016.

  1. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    Welcome to the (semi)official RetroArch/Libretro cores thread for PS Vita
    ("I THINK I got the right subforum this time" Edition!)



    For those new to Libretro and RetroArch, you can read about what the Libretro API is here, as well as a general explanation of RetroArch as a whole here! Feel free to ask more in the thread!

    Small disclaimer: Make sure you are on Firmware 3.60 with the latest HENkaku Ensō exploit! Refer to the official Enso homepage for further information before reporting bugs!

    If any bugs are present in any of the Libretro cores or exist within the RetroArch UI itself on the PS Vita, and are not acknowledged in the main post, please report them here. The goal of the article is to provide as much information on what works and doesn't work currently alike on the PS Vita port of RetroArch and the Libretro cores.


    Latest Stable Builds: RetroArch v1.6.4 (Click me to download now!)
    Once downloaded, extract whichever .vpk core you'd like to use (explained below) or the All-In-One package which includes ALL cores in one executable, and install as usual via molecularShell/VitaShell. Configuration and data files are maintained in ux0:data/retroarch.
    RetroArch is currently signed as a "safe homebrew"; this means folders such as "pspemu" will NOT be accessible through RetroArch! It is highly recommend to create a folder for ROMS in ux0:data/retroarch/ROMS

    Sidenote: Initial "Quick Menu" combo is "L3 + R3" (Opposing bottom corners of the front touch screen). You can change this from Main Menu -> Settings -> Input -> Menu Toggle Gamepad Combo. (Thanks for the idea, user Shinigami Kiba!)

    Latest Nightly Builds: http://buildbot.libretro.com/nightly/playstation/vita/ (Link remains for legacy purposes and curiosity cravings, these may or may not be as stable as the recommended downloads!)


    Changelog:
    • 08/07/2017: 1.6.4 release build for PlayStation Vita (And other consoles) has been released! No Vita-specific fixes/changes of note. More information regarding the update can be found here.


    Current Available cores (package name/emulator name/emulated console):


    Current Performance: Thanks for the suggestion, Chesskid1!
    Reminder, these are estimations and are not to judge overall performance of each core or RetroArch as a whole. Notable exceptions to each rule will be noted.

    Consoles
    Atari 2600 (Stella): Fullspeed.
    Atari 7800 (ProSystem): Fullspeed.

    Genesis (Genesis Plus GX): ~60fps, consistent.
    Genesis (PicoDrive): ~60fps, same as Genesis Plus GX.
    Genesis 32X (PicoDrive): To be tested.
    NES (FCEUmm): 60fps, consistent (This IS the NES, after all... (^^;; )
    NES (Nestopia): ~60fps; in case of incompatibilities, use FCEUmm.
    PC Engine (MednaFen): ~60fps on HuCard games, ~60fps on Super CD-ROM2 games.

    PlayStation (PCSX Re-ARMed): HEAVILY dependent on game, expect anywhere from 60fps in 2D-based games to 30fps in some 3D-based titles.
    SNES (Snes9x 2005): ~55fps - 60fps on standard games, ~50fps on SuperFX-powered games.
    SNES (Snes9x 2005+): ~50fps - 60fps on standard games. Frame drops compared to Regular '05 Snes9x are noticeable, however, on select games.
    SNES (Snes9x 2010): ~40fps on standard games; recommend using Snes9x 2005 instead.
    Sega Saturn (Yabause): Basically nonfunctional, Proof-of-Concept only.
    Vectrex: ~50fps, however this is fullspeed for Vectrex.


    Computer Systems
    MS-DOS (DOSBox): Functional, fairly slow, however; mapping instructions here.
    ZX81 (81): ?

    ZX Spectrum (Fuse): Full speed.

    Handhelds

    Atari Lynx (Handy): ~60fps
    Game Boy (Gambatte/TGBDual): ~60fps.
    Game Boy Advance (gpSP): ~45-50fps, generally above half-speed, incompatible with certain games (Examples: Super Monkey Ball Jr., Payback, etc...); recommended using VBA Next instead.
    Game Boy Advance (VBA Next): ~55-60fps, consistently better performing than gpSP in pure 2D games. Expect less in pure 3D titles (Examples: Super Monkey Ball Jr., Payback, etc...).
    Neo-Geo Pocket (Color) (MednaFen): ~60fps

    Virtual Boy (MednaFen): ~25fps-30fps.
    WonderSwan (Mednafen): 60fps on WonderSwan, ~30fps to 60fps for WonderSwan Color.

    Arcade Systems

    Final Burn Alpha: Varies by ROMset, generally better performance than MAME however.
    CPS1 (Final Burn Alpha): 60fps, consistent.

    CPS2 (Final Burn Alpha): 60fps, consistent.
    Neo-Geo (Final Burn Alpha): 60fps, consistent.

    MAME 2000 (0.37b5): Varies by ROMset, generally full speed in most cases, possibly slower than FBA yet slightly more accurate(?).
    MAME 2003 (0.78): Varies by ROMset, generally half-speed, if not slower; recommend using Final Burn Alpha or MAME 2000 (0.37b5) instead.

    Engine Ports

    2048 (The mobile phone game): Working.
    Cave Story (NXEngine): Fullspeed.

    DOOM (PrBoom): Fullspeed. However, using "Linear" filtering on anything but fog will drop framerates to half-speed.
    Quake (TyrQuake): With default pak0/pak1.pak, 40fps-50fps, adjustable in settings. Recommended use Rinnegatamante's VitaQuake instead.


    Current Bugs:

    Global
    Rewind/Fast Forward currently cause sporadic performance hitches on Genesis Plus GX (Requires further investigation).
    Individual Core installation may overwrite another random installed Libretro Core. Be weary of this, as it's a sign that the nightly set installed has added/removed a core.

    Core Specific
    nxengine_libretro: Collecting Health Expansions halts the game (Application Crash). Mileage may vary?
    genesis_plus_gx_libretro: SegaCD Redbook audio hangs when suspending/pausing the application. Attempting to load game assets in the same game afterwards soft-locks the game (Virtual CD is ejected?) Thanks for the report, wolven9!
    vecx_libretro: Sound pitch is an octave lower than original hardware?
    desmume_libretro: Cannot load Application (Vita System Error code "C1-2569-2")
    fuse_libretro: Cannot load more than one ROM in a single session (Application Crash). To change/reset a game, a complete reload of the core is necessary (As "Reset" restarts the virtual ZX Spectrum; NOT re-loading the game).

    Fixed Issues/Bugs

    Please note that these bugs are currently a non-issue or fixed as of the latest Stable/Nightly builds. These remain purely for historical purposes and are not indicative of current state of RetroArch/Libretro cores.



    Bios Files Required (Place in ux0:data/retroarch/system):
    DOOM (PrBoom): prboom.wad (PrBoom system file, place in same directory as DOOM .WADs) (Can be obtained here).
    Sega Genesis/Mega Drive (Genesis Plus GX/PicoDrive[?]): Sega CD (bios_CD_E.bin, bios_CD_J.bin, bios_CD_U.bin).
    NES/Famicom (FCEUmm): DISKSYS.ROM (Famicom Disk System BIOS only).
    Neo-Geo (FBA): neogeo.zip (SNK Neo-Geo BIOS, must contain UniBIOS as well, place in same directory as ROMsets).
    PC-Engine (MednaFen): syscard3.pce (TG16 CD-ROM System Card ver. 3.00).
    PlayStation (PCSX ReARMed): SCPH550X.BIN (PlayStation BIOS). "X" stands for 0, 1, or 2, depending on region

    Game Boy Advance (Required for gpSP only): gba_bios.bin (Game Boy Advance BIOS).

    Final Burn Alpha/MAME disclaimer: Final Burn Alpha uses a different ROMset from the NJEmu PSP emulators, I.E. CPS1PSP/CPS2PSP/MVSPSP (Those use MAME 0.12x series ROMsets). MAKE SURE you are using the Final Burn Alpha v0.2.97.30 ROMsets with FBA. ONLY USE MAME/NJEmu ROMsets with MAME itself, NOT Final Burn Alpha!



    Extras (For Legacy Purposes):
    Warning: This is less likely to apply for the latest releases, but remains for legacy purposes and curiosity sating. Do not try these with the current releases, until further notice!



    Thread is WIP. If you have any concerns, leave a post or message me.
    Credit where credit's due to all the users who have assisted with RetroArch/Libretro, the Vita ports, and everyone who provides unofficial fixes, advice, and assets for use with Vita RetroArch/Libretro. Thank you!
     
    Last edited by SeongGino, Aug 8, 2017


  2. snk4ever

    snk4ever Member

    Newcomer
    38
    3
    May 22, 2006
    France
    Very useful post, thank you !

    For core specific bugs, I couldn't get prboom to run on 04/08 build. Using the same WAD that works with the Vita port of Doom, I am taken back to the RGUI when selecting it.
     
    Last edited by snk4ever, Aug 5, 2016
  3. jimmyleen

    jimmyleen GBAtemp Maniac

    Member
    1,160
    198
    Feb 28, 2016
    We need this to be pinned! Hurry!
     
  4. z3ro

    z3ro Advanced Member

    Newcomer
    54
    20
    Oct 26, 2015
    United States
    Ohio
    Whoo! I'm so very glad to see this. One more day until I can join the HENkaku elite. :D
     
  5. sj33

    sj33 GBAtemp Addict

    Member
    2,704
    1,710
    Oct 22, 2013
    Japan
  6. bache

    bache GBAtemp Advanced Fan

    Member
    694
    292
    Sep 28, 2009
  7. laharl22

    laharl22 GBAtemp Advanced Maniac

    Member
    1,553
    162
    Dec 19, 2014
    France
    Dynarec are enabled on latest nigthtly?
     
  8. wolven9

    wolven9 GBAtemp Advanced Fan

    Member
    826
    164
    Sep 23, 2010
    United States
    The end of the world
    genesis_plus_gx_libretro has an issue with Sega CD where the audio screws up if you suspend the app
     
  9. wintermute808

    wintermute808 Member

    Newcomer
    31
    16
    Dec 2, 2013
    United States
    Worth noting that with this nightly (08/05) FCEUmm (SVN) is able to load zipped files without crashing.
     
    Last edited by wintermute808, Aug 5, 2016
    wolven9 likes this.
  10. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    To be fair, the original owner had a point, and I will acknowledge that the thread in question is a tad redundant.
    However, I made this for the discrete purpose of actually listing bugs and fixes and Q/A in one neat location, rather than being a simple discussion thread.

    Okay, it's still a discussion thread too, but y'know. (^^;;
     
    niuus, bache and wolven9 like this.
  11. wolven9

    wolven9 GBAtemp Advanced Fan

    Member
    826
    164
    Sep 23, 2010
    United States
    The end of the world
    Yeah I prefer this thread, it solved all my problems in the OP
     
  12. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    Thanks to user Chesskid1 (And further inspired by original 3DS RetroArch thread) for the reminder, Core Performance Estimations have been added to the OP.

    If you could help test on individual game performance/exception ROMs for each core, it would be greatly appreciated.
    (Gonna need a special thanks soon...)

    (Haaah, double posting)
    Will investigate this further. Seems like a legitimate issue, however and will note until further explanation is found.

    I can semi-confirm this:
    PrBoom requires the latest prboom.wad file inside of ux0:/data/retroarch/cores/system.
    However, I tested, and while it does seem to LOAD Doom.wad (Black screen for more than five seconds), the application crashes soon after.

    Myth now Confirmed, now listing under core bugs.
     
    Last edited by SeongGino, Aug 5, 2016
    niuus and wolven9 like this.
  13. wolven9

    wolven9 GBAtemp Advanced Fan

    Member
    826
    164
    Sep 23, 2010
    United States
    The end of the world
    Neo-Geo works great but has bad slowdown in Metal Slug (I think this is a retroarch issue in general though)
     
  14. wintermute808

    wintermute808 Member

    Newcomer
    31
    16
    Dec 2, 2013
    United States
    The slowdown across all iterations of FBA have always occurred with the Metal Slug series because the original MVS and AES hardware experienced slowdowns on those titles as well. At the time of Metal Slug titles releasing on the original SNK hardware, the boards at the time were pushed to their limits on metal slug titles and these slow downs would occur on the arcade machines when many sprite animations would occur on screen (explosions, super fast movements, etc...)

    Retroarch FBA cores showing the slowdown on metal slug is actually indicative of how faithfully they emulate the hardware.
     
    Last edited by wintermute808, Aug 5, 2016
  15. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    Can confirm this.
    Metal Slug (Especially 2, for... some reason.) titles always had slowdown issues, so this is indicative of rather faithful emulation on the Vita without adding slowdown of it's own.
    If you want to see in real time how the game is performing, I recommend going to RetroArch -> Settings -> Video -> Display FPS and setting it to on to see if the slowdown is the GAME or the EMULATOR.

    On a side note: Play Metal Slug X. That's why it exists, because vanilla MS2 had such bad slowdown and a few game bugs. (^^; I'm not paid by SNK to say this... I'm just a fan~
     
    Last edited by SeongGino, Aug 5, 2016
    wolven9 likes this.
  16. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    I have since confirmed Doukutsu Monogatari (Cave Story) currently has character info and inventory mishaps, and is now tagged tentatively under "unplayable." Requires further investigation.
    Polar Star doesn't crash the game, but Health Expansions do?

    Update:
    Tested DOSBox core, unusable at the moment, so now tagged under "Unplayable" tentatively.
     
    Last edited by SeongGino, Aug 5, 2016
  17. romain337

    romain337 Advanced Member

    Newcomer
    68
    19
    Jan 7, 2016
    France
    Paris
    You talk about this version of metal slug http://blog.system11.org/?p=1442 ?
    Maybe a modified ROM can be found somewhere
     
    Last edited by romain337, Aug 5, 2016
  18. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    We are talking about Vanilla MS2, not any patched version. Besides, I'm not sure FBA will allow patched ROMs to run without it being logged in the database first, as MAME-based emulators are picky about CRC32 mismatches and such.

    On a side note, thread's been updated. Lots of clones of existing cores has been released so far, and the OP describes what is cloned. Our first new core, however, PocketSNES, has been released (Along with it's clone).
     
  19. wolven9

    wolven9 GBAtemp Advanced Fan

    Member
    826
    164
    Sep 23, 2010
    United States
    The end of the world
    Repeated use of fast forward (and posibly rewind) can mess up genesis_plus_gx_libretro and create continual stutter. Deleting the retroarch.cfg fixes the problem. Even using fast forward on other cores before hand seems to have the same effect when you boot up Genesis plus gx. Also current nightly of Neo Geo is missing the core controls in the quick menu???
     
  20. SeongGino
    OP

    SeongGino Your Average Seong

    Member
    451
    217
    May 20, 2015
    United States
    Jersey, Jersey
    Can confirm this is the case on both fb_alpha and fbalpha2012 revisions. And while the controls on Neo-Geo isn't a problem (At least compared to CPS1/2 where the control setup/variations are more jarring), this is still something to note.
    I'll give it until the next nightly before I report this as a bug since it's so minor.

    Also, if I recall on 3DS, I think Rewind/Fast Forward are currently bugged on the portable Libretro ports. Will add this to the thread (Most likely why it's not mapped by default).
     
    Last edited by SeongGino, Aug 5, 2016