PlayStation Vita
PlayStation Vita Port | |
Latest Released Version | 2.8.1 |
Supported Audio Options | MP3, OGG, FLAC, Uncompressed |
Additional Webpage(s) | None |
Maintainer(s) | cpasjuste, rsn8887 |
Packager(s) | cpasjuste, rsn8887 |
Forum | Port Forum |
Status | Maintained |
First Official Version | 2.0.0 |
ScummVM has been ported to the Sony PlayStation Vita by Cpasjuste. The information contained on this page is based on readme-psp2.md.
Installation
Prerequisites
- A homebrew enabled PlayStation Vita console. Detailed jailbreaking instructions can be found online.
- At least one ScummVM supported game. The list of compatible games can be seen here: https://www.scummvm.org/compatibility/
- The page Where to get the games references some places where those games can be bought. Demonstration versions for most of the supported games are downloadable on https://scummvm.org/demos/
Installing
Configuring Games
The user manual describes how to add games to ScummVM and launch them: User Manual
Notes
Saves are written to the ux0:/data/scummvm/saves folder.
Controls
Game Controller Mapping: | |
Button | Action |
---|---|
Left stick | Mouse |
R + Left stick | Slow Mouse |
Cross | Left mouse button |
Circle | Right mouse button |
DPad | Keypad "Cursor" Keys (useful for character motion in Sierra games) |
R + DPad | Diagonal Keypad "Cursor" Keys |
L Trigger | Game menu (F5) |
R Trigger | Shift (used to enable Mass Add in menu) |
Square | Period '.' (used to skip dialog lines) |
R + Square | Space ' ' |
Triangle | Escape (used to skip cutscenes) |
R + Triangle | Return |
Start | ScummVM's global in-game menu |
Select | Toggle virtual keyboard |
R + Select | AGI predictive input dialog |
Front Panel Touch Controls, always enabled (from version 2.1.0): | |
Touch | Action |
short single finger tap | Move pointer to finger position and left mouse button click |
short second finger tap while holding one finger | Move pointer to first finger position and right mouse button click |
single finger drag | Move pointer directly with finger |
dual finger drag (long second finger tap while holding one finger) | Move pointer while left mouse button is held down (drag'n'drop). The pointer directly follows the first finger. The drag is ended when the last finger is removed. |
triple finger drag (long second and third finger tap while holding one finger) | Move pointer while right mouse button is held down (drag'n'drop). The pointer directly follows the first finger. The drag is ended when the last finger is removed. |
Back Panel Touch Controls, enabled via Touchpad Mouse Mode option (from version 2.1.0): | |
Touch | Action |
short single finger tap | Left mouse button click |
short second finger tap while holding one finger | Right mouse button click |
single finger drag | Move pointer indirectly with finger, pointer speed can be adjusted in control settings |
dual finger drag (long second finger tap while holding one finger) | Move pointer while left mouse button is held down (drag'n'drop). The pointer motion is affected by the first finger. The drag is ended when the last finger is removed. |
triple finger drag (long second and third finger tap while holding one finger) | Move pointer while right mouse button is held down (drag'n'drop). The pointer motion is affected by the first finger. The drag is ended when the last finger is removed. |
Notes:
- For multi-touch gestures, the fingers have to be far enough apart from each other, so that the Vita will not erroneously recognize them as a single finger. Otherwise the pointer will jump around.
- Real bluetooth mice and keyboards work on the Vita and are supported by ScummVM. This was tested working with Jelly Bean BT keyboard and mouse combo ASIN:B06Y56BBYP and with the standalone Jelly Comb Bluetooth Wireless Mouse ASIN:B075HBDWCF. Not all bluetooth keyboards or mice pair successfully with the Vita. Use settings->devices on the Vita home screen to try and pair your devices.
- Touch control mode can be changed via the option "touchpad mouse mode" in options->controls.
- The front touch always uses a direct mode, where the mousepointer jumps to the finger position (like on a mobile phone screen).
- When "touchpad mouse mode" is off, the rear touch is disabled.
- When "touchpad mouse mode" is on, the rear touch is enabled in addition to front touch. The rear touch uses an indirect mode, where the finger can be far away from the pointer and still move it, (like on a laptop touchpad). The pointer speed setting in options->controls affects how far the pointer moves in response to a finger movement on the rear panel.
- The advanced option "frontpanel_touchpad_mode=false" in scummvm.ini can be changed with a texteditor to "frontpanel_touchpad_mode=true" . This forces the front panel into an indirect mode similar to the rear panel. If this option is set, the pointer does not jump to the finger anymore.
- The two finger drag is useful for Full Throttle to bring up the action menu, and in the menu to use the scroll bar in the game list. It works in the following way: holding down two fingers for a while initiates a drag'n'drop where the left mouse button is being held down. The first finger affects mouse motion during the drag, the second finger can be removed without affecting the drag. When the last finger is removed, the left mouse button is released and the drag is over. Note the second finger can be anywhere, it doesn't have to be close to the first finger, and it doesn't have to be put down simultaneously with the first finger, either.
- Typical usage of dual finger drag and drop in Full Throttle: Hold down one finger over an object. Then hold down a second finger somewhere on the screen for a little bit to initiate a dual finger drag. This brings up the action menu. Now let go of the second finger. The dual-finger drag continues since one finger is still down. Select an action with the first finger, and let go of the first finger to end the drag.
- There is also a three finger drag that causes the right-mouse button to be held down, instead of the left one. It might be useful for some games.
Building From Source
This port of ScummVM to the Vita is based on SDL2. It uses the open source SDK VITASDK.
The dependencies needed to build it are:
- The toolchain from https://github.com/vitasdk/vdpm
- zlib, libpng, libjpeg-turbo, libogg, libvorbis, flac, curl, openssl, freetype, from https://github.com/vitasdk/vdpm
- libmad from https://github.com/Cpasjuste/libmad-psp2
- SDL2 from https://github.com/rsn8887/SDL-Vita
- ScummVM from https://github.com/scummvm/scummvm
- The fbo branch of libvita2d from https://github.com/frangarcj/vita2dlib/tree/fbo/libvita2d , copied under new names libvita2d_fbo.a in $VITASDK/arm-vita-eabi/lib and vita2d_fbo.h in $VITASDK/arm-vita-eabi/include. The renaming is necessary to prevent conflict with the official vita2d lib that comes with the VitaSDK.
- The pre-compiled gtu release of vita-shader-collection from https://github.com/frangarcj/vita-shader-collection/releases, copy all headers to $VITASDK/arm-vita-eabi/include and the library libvitashaders.a to $VITASDK/arm-vita-eabi/lib
Once all the dependencies are correctly setup, an installable package can be obtained from source by issuing the following command:
./configure --host=psp2 && make psp2vpk
Disclaimer
Unauthorized distribution of an installable package with non freeware games included is a violation of the copyright law and is as such forbidden.
Thanks
- Xavier from consoleX for donating a ps vita device
- xerpi for initial SDL2 port
- VITASDK and henkaku developers