DSVita: Difference between revisions
From GameBrew
More actions
No edit summary |
No edit summary |
||
| Line 21: | Line 21: | ||
A very early experimental version of DS console emulator for ARM32/PS Vita. | A very early experimental version of DS console emulator for ARM32/PS Vita. | ||
This runs most games, however consider: | |||
*3D rendering | *3D rendering: | ||
*2D rendering is | **Polygons and their textures are drawn, however no lighting or other shading (e.g. toon) are implemented. | ||
*ARM7 HLE will not work with most games | **Games which swap screens every frame for displaying 3D on both screens at the same time, will flicker heavily. | ||
**Disable it if certain games don't boot further, get struck, crash or have any | *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. | |||
== Installation == | == Installation == | ||
| Line 49: | Line 55: | ||
==Media== | ==Media== | ||
'''DSVita Ace Attorney''' ([https://www.youtube.com/watch?v=qIdUFbej4dc Willi Ye]) <br> | '''DSVita Ace Attorney''' ([https://www.youtube.com/watch?v=qIdUFbej4dc Willi Ye]) <br> | ||
<youtube width= | <youtube width="640">qIdUFbej4dc</youtube> | ||
==Changelog== | ==Changelog== | ||
'''v0.6.0''' | '''v0.6.0''' | ||
* Fix right audio channel | * Fix right audio channel. | ||
* Implement hardware fastmem for writes | * Implement hardware fastmem for writes. | ||
* Implement bios sqrt | * Implement bios sqrt. | ||
* Read vram in render thread | * Read vram in render thread. | ||
* Accelerate all fixed point matrix operations with neon | * Accelerate all fixed point matrix operations with neon. | ||
* Implement auto frameskip for 3d geometry engine | * Implement auto frameskip for 3d geometry engine. | ||
* Don't exit guest context when handling interrupts or idle loops | * Don't exit guest context when handling interrupts or idle loops. | ||
* Speed up jit assembly generation | * Speed up jit assembly generation. | ||
* Increase cartridge cache size | * Increase cartridge cache size. | ||
* Implement Wifi in HLE | * Implement Wifi in HLE. | ||
* Add option for partial HLE Arm7 | * Add option for partial HLE Arm7. | ||
* Speed up sound mixing | * Speed up sound mixing. | ||
* Speed up gfx fifo cmds queuing | * Speed up gfx fifo cmds queuing. | ||
* Fix 3d polygon clipping | * Fix 3d polygon clipping. | ||
* Implement missing 3d texture sampling | * Implement missing 3d texture sampling. | ||
* Fix CPU register store when switching between modes | * Fix CPU register store when switching between modes. | ||
* Fix excessive jit block invalidations | * Fix excessive jit block invalidations. | ||
* Fix ROMs limit in menu | * Fix ROMs limit in menu. | ||
* Implement sound capture | * Implement sound capture. | ||
'''v0.5.0''' | '''v0.5.0''' | ||
* Implement fast mem for reading with kubridge | * Implement fast mem for reading with kubridge. | ||
* Implement software fast mem for writing | * Implement software fast mem for writing. | ||
* Accelerate 3d operations with neon | * Accelerate 3d operations with neon. | ||
* Accelerate audio sampling with neon | * Accelerate audio sampling with neon. | ||
* Faster JIT compilation | * Faster JIT compilation. | ||
* Implement lookup tables for I/O ports operations | * Implement lookup tables for I/O ports operations. | ||
* Faster ROM word lookups | * Faster ROM word lookups. | ||
* Remove polygon clipping | * Remove polygon clipping. | ||
* Run scheduler inside guest context | * Run scheduler inside guest context. | ||
* Use batch I/O operations for DMA and ldm/stm | * Use batch I/O operations for DMA and ldm/stm. | ||
* Reset jit blocks in chunks | * Reset jit blocks in chunks. | ||
'''v0.4.0''' | '''v0.4.0''' | ||
* Jit rewrite | * Jit rewrite. | ||
** Blocklinking | ** Blocklinking. | ||
** Return stack buffer optimization | ** Return stack buffer optimization. | ||
* Implement 3d tests | * Implement 3d tests. | ||
* Improve Arm7 hle compatibility | * Improve Arm7 hle compatibility. | ||
'''v0.3.1''' | '''v0.3.1''' | ||
*Change ux0:dsvita to ux0:data/dsvita (normal vpks don't have permission to create directories/files at the root). | *Change ux0:dsvita to ux0:data/dsvita (normal vpks don't have permission to create directories/files at the root). | ||
'''v0.3.0''' | '''v0.3.0''' | ||
* Implement vram display (some games use that mode for cutscenes) | * Implement vram display (some games use that mode for cutscenes). | ||
* Implement saving | * Implement saving. | ||
* Enable shader cache (long loading times will only happen once) | * Enable shader cache (long loading times will only happen once). | ||
* Increase game compatibilities | * Increase game compatibilities. | ||
* New UI | * New UI. | ||
'''v0.2.0-alpha''' | '''v0.2.0-alpha''' | ||
* Basic 3D rendering (still very broken). | * Basic 3D rendering (still very broken). | ||
| Line 109: | Line 115: | ||
* [https://github.com/Xiro28/DesmumePSPExperimental DesmumePSPExperimental] for ARM7 HLE implementation. | * [https://github.com/Xiro28/DesmumePSPExperimental DesmumePSPExperimental] for ARM7 HLE implementation. | ||
* [https://github.com/pret/pokediamond pokediamond] for ARM7 HLE implementation. | * [https://github.com/pret/pokediamond pokediamond] for ARM7 HLE implementation. | ||
* [https://github.com/DenSinH/DSHBA DSHBA] Copied some PPU hardware acceleration implementation (Thanks for xiro28 linking me the repo) | * [https://github.com/DenSinH/DSHBA DSHBA] Copied some PPU hardware acceleration implementation (Thanks for xiro28 linking me the repo). | ||
* [https://github.com/Rinnegatamante/vitaGL vitaGL] 2D hardware acceleration wouldn't be possible without it | * [https://github.com/Rinnegatamante/vitaGL vitaGL] 2D hardware acceleration wouldn't be possible without it. | ||
* [https://www.coranac.com/tonc/text/toc.htm Tonc] GBA PPU documentation | * [https://www.coranac.com/tonc/text/toc.htm Tonc] GBA PPU documentation. | ||
* [http://problemkaputt.de/gbatek-index.htm GBATEK] GBA/NDS documentation | * [http://problemkaputt.de/gbatek-index.htm GBATEK] GBA/NDS documentation. | ||
* @TheIronUniverse for livearea assets | * [https://github.com/bythos14/kubridge kubridge] For fastmem implementation. | ||
* @TheIronUniverse for livearea assets. | |||
== External links == | == External links == | ||
Revision as of 05:23, 30 March 2025
| DSVita | |
|---|---|
| General | |
| Author | Grarak |
| Type | Handheld |
| Version | 0.6.0 |
| License | GPL-3.0 |
| Last Updated | 2025/03/24 |
| 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 or other shading (e.g. toon) 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.
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
Media
DSVita Ace Attorney (Willi Ye)
Changelog
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.