PSVita Home
What's New
Homebrew
Plugins

flycast-vita v0.1 by Rinnegatamante
Last Release: Jan 7, 2021
Downloads: 2576

flycast-vita is a port of flycast, popular multiplatform Dreamcast emulator maintained by flyinghead. It's based on the libretro core version of the emulator, uses RetroArch as frontend built in a custom bubble (due to the fact it requires multiple executables for the best compatibility. A build inside RetroArch buildbot will come in the future too however).
Name Version Released Hits DL Link QR
flycast-vita v0.1 01/07/21 1270 Download QR
flycast-vita data v0.1 01/07/21 1306 Download QR
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).

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

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.
Name Version Released Hits DL Link QR