More actions
Flycast Vita | |
---|---|
File:Flycastvita.jpg | |
General | |
Author | Rinnegatamante |
Type | Console |
Version | 1.1 |
License | GPL-2.0 |
Last Updated | 2022/10/25 |
Links | |
Download | |
Website | |
Source | |
Flycast Vita is a port of flycast, popular multiplatform Dreamcast emulator maintained by flyinghead. It's based on the standalone version of the emulator modified with added features to fasten the emulation compared to a regular vanilla port of the emulator.
Requirements
- CFW Enso 3.60 or Enso 3.65
- libshacccg.suprx
- kubridge.skprx v.0.2 or higher
- fd_fix.skprx OR repatch_ex.skprx
Installation
- Download .vpk from here and install via VitaShell.
How to install DC bios
- Flycast does have an HLE bios which works decent enough in most cases however for best accuracy and compatibility, it's suggested to use a real Dreamcast bios with it. You can use your own dumped bios by placing it inside ux0:data/retroarch/system/dc named as dc_boot.bin and dc_nvmem.bin.
- When launching a game, if you get the Dreamcast logo, it means the bios has been properly installed. If you get only the Sega logo, it means you're still using the HLE bios.
NOTE: When installing the emulator, BE SURE to set gl1 as video driver in RetroArch frontend. Basically, first install the vpk, then launch it and set gl1 as video driver. Then close it from Close Retroarch option and then launch it again. You'll also need libshacccg.suprx to use this emulator. If you didn't already extract it, a comprehensive guide can be found here: https://samilops2.gitbook.io/vita-troubleshooting-guide/shader-compiler/extract-libshacccg.suprx
I also strongly recommend to disable V-Sync for best performances.
What has been done so far
CPU
- The current port does feature DynaRec for both main sh4 processor and arm7 processor (audio). Due to the lack of mmap/mprotect in vitasdk, currently MMU has been disabled thus causing slow code paths to be used in several instances inside the emu (eg: self modifying code checks and memory accesses).
- To mitigate the lack of MMU, three executables are bundled inside this release:
- Normal mode: Has self modifying code checks completely disabled (Best performances)
- Self Modifying Code (Performance): Has self modifying code checks only for 4 bytes per code block (Small tradeoff for better compatibility)
- Self Modifying Code (Accuracy): Has self modifying code checks for full code blocks (Best compatibility; this is the mode in which Flycast runs on other devices).
- In order to improve framerate, an huge downlock has also been set on the sh4 processor. (Roughly running on Vita at 40% its original clock)
GPU
- flycast renderer has been rewrote to use vitaGL at its best performances. The lack of mmap/mprotect caused texture caching to not work properly. To get rid of this issue, a slow path for texture caching has been added too that will perform hash checks on VRAM memory blocks once every 120 frames and to mark as dirty the linked textures to VRAM blocks that changed their contents. This is slower than original flycast approach but allows for games to properly update textures correctly.
What can be improved
- First off, if a working mmap/mprotect implementation will ever come in vitasdk, this will allow us to move to faster code paths in several places of the emulator, allowing us to have faster emulation in general.
- The libretro core also received some updates that offload some calculations from CPU to GPU that are not yet ported in the Vita build. (Mostly related to paletted textures, which not so many games use).
- There's also always room for optimization in the DynaRec as well as some stuffs may be made multithreaded in the future (eg. arm7 emulation).
Media
Screenshots
Tweaks & Issues
- The emulator seems to memleak (probably related to some issues clearing some cache during emulation) thus causing games to degrade in performances during long runs and eventually even crashing the emulator due to out of memory. We STRONGLY suggest to take savestates often in order to not lose progresses.
- Due to the nature of CHD and CDI dumps (compressed), GDI dumps must be preferred for best performances.
- It's recommended to use PAL dumps and to stick to TV Composite option for the Cable option. This will make games to run with 25 fps/50 fps as target (Like EU TVs at the time) instead of 30 fps/60 fps. Due to the lower fps target, games will run smoother with these settings.
- The new kubridge requires enso. If you don't have it, install it. It also has been tested only on 3.60 and 3.65 fw.
- Stick to as low amount of plugins as possible. kubridge requires a lot of memory to work as it should for Flycast which means having a lot of plugins can make it fail to allocate memory and thus causing a crash at boot of the emu.
Compatibility List
- The compatibility list can be found here: https://flycast.rinnegatamante.it/
- We STRONGLY RECOMMEND people to contribute to its population. You can contribute by reporting your game tests here: https://github.com/Rinnegatamante/flycast-vita-Compatibility/issues
Changelog
1.1
- Downstreamed to latest official Flycast commit. (BoxArts support has been disabled by default. It's recommended to enable it from emu.cfg solely if you have few roms cause, with a lot of roms, it will cause general instability in the emulator due to mem constraints).
- Added Fast GDRom Load option. (Faster loading times in games but may cause issues in some games).
v.1.0.3
- Replaced AutoPlugin2 warning with a check on kubridge versioning.
- Added a check for kubridge existence.
- Increased available memory for the emulator by 6 MBs.
- Fixed an error causing a crash when attempting to boot unsupported platforms roms. Now it'll nicely error instead.
- Added Fast Sorting option for Transparency Sorting for a faster but less precise sorting algorithm usage.
- Updated to latest vitaGL commit.
v.1.0.2
- Updated Livearea assets (Thanks to TheIronUniverse).
- Added support for microphone.
v.1.0.1
- AutoPlugin2 check is now just a warning where end users accepts to send help requests for any issue on whose in charge to solve them and not the original authors of the software. It won't prevent anymore from booting the software.
v.1.0
- First Release.
Credits
- flyinghead for the amazing emulator and for his constant help addressing key issues with the Vita port and suggesting enhancements to get better performances off the emulator
- frangarcj for helping with fixes related to the RetroArch frontend
- TheIronUniverse for the Livearea assets used in this release