Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
DSVita
General
AuthorGrarak
TypeHandheld
Version0.6.1
LicenseGPL-3.0
Last Updated2025/03/31
Links
Download
Website
Source

A very early experimental version of DS console emulator for ARM32/PS Vita.

This runs most games, however consider:

  • 3D rendering:
    • Polygons and their textures are drawn, however no lighting, any other shading (e.g. toon) nor shadow volumes are implemented.
    • Games which swap screens every frame for displaying 3D on both screens at the same time, will flicker heavily.
  • 2D rendering is mostly complete:
    • Mosaic and some window objects (you will see black screens or silhouettes) are not implemented.
  • ARM7 HLE will not work with most games:
    • Disable it if certain games don't boot further, get struck, crash or have any issues.
    • There are other emulation modes like PartialHle or PartialSoundHle. You can pick them if full HLE breaks anything.
  • Auto frameskip is always used:
    • Games will feel choppy, you will most likely hover around 15 fps, even if they run at full game speed.
  • No scanline rendering, thus games that update VRAM mid frame will not render correctly:
    • Not many games do this, however games that do use it for scrolling texts.

Installation

Downoload the latest vpk from releases and install it through VitaShell.

Install libshacccg.suprx, follow this guide.

Install kubridge.skprx from releases.

It's recommend overclocking your Vita to 500MHz, by default they are unchanged.

Create the folder ux0:dsvita and put your roms there.

Screenshots

DSVita-01.png

DSVita-02.png

DSVita-03.png

DSVita-04.png

Media

DSVita Ace Attorney (Willi Ye)

Changelog

v0.6.1

  • Ignore invalid gx cmds (fixes freeze in Final Fantasy XII: Revenant Wings).
  • Fix wifi rx buffer overflow.
  • Small 3d speed up.
  • Fix 3d texture transformations.
  • Improve HLE compatibility (Mario Kart, Castlevania: Dawn of Sorrow, Super Mario 64, Need for Speed: Underground 2).
  • Some 3d drawing fixes.

v0.6.0

  • Fix right audio channel.
  • Implement hardware fastmem for writes.
  • Implement bios sqrt.
  • Read vram in render thread.
  • Accelerate all fixed point matrix operations with neon.
  • Implement auto frameskip for 3d geometry engine.
  • Don't exit guest context when handling interrupts or idle loops.
  • Speed up jit assembly generation.
  • Increase cartridge cache size.
  • Implement Wifi in HLE.
  • Add option for partial HLE Arm7.
  • Speed up sound mixing.
  • Speed up gfx fifo cmds queuing.
  • Fix 3d polygon clipping.
  • Implement missing 3d texture sampling.
  • Fix CPU register store when switching between modes.
  • Fix excessive jit block invalidations.
  • Fix ROMs limit in menu.
  • Implement sound capture.

v0.5.0

  • Implement fast mem for reading with kubridge.
  • Implement software fast mem for writing.
  • Accelerate 3d operations with neon.
  • Accelerate audio sampling with neon.
  • Faster JIT compilation.
  • Implement lookup tables for I/O ports operations.
  • Faster ROM word lookups.
  • Remove polygon clipping.
  • Run scheduler inside guest context.
  • Use batch I/O operations for DMA and ldm/stm.
  • Reset jit blocks in chunks.

v0.4.0

  • Jit rewrite.
    • Blocklinking.
    • Return stack buffer optimization.
  • Implement 3d tests.
  • Improve Arm7 hle compatibility.

v0.3.1

  • Change ux0:dsvita to ux0:data/dsvita (normal vpks don't have permission to create directories/files at the root).

v0.3.0

  • Implement vram display (some games use that mode for cutscenes).
  • Implement saving.
  • Enable shader cache (long loading times will only happen once).
  • Increase game compatibilities.
  • New UI.

v0.2.0-alpha

  • Basic 3D rendering (still very broken).
  • Display emulation stats on top right of screen.

v0.1.0-alpha

  • First Release.

Credits

  • NooDS was used as reference. A lot of code was taken from there.
  • melonDS for ARM7 HLE implementation and jit optimizations.
  • DesmumePSPExperimental for ARM7 HLE implementation.
  • pokediamond for ARM7 HLE implementation.
  • DSHBA Copied some PPU hardware acceleration implementation (Thanks for xiro28 linking me the repo).
  • vitaGL 2D hardware acceleration wouldn't be possible without it.
  • Tonc GBA PPU documentation.
  • GBATEK GBA/NDS documentation.
  • kubridge For fastmem implementation.
  • @TheIronUniverse for livearea assets.

External links

Advertising: