Releases: AlphaSystemsPL/PSVitaJS
Release list
0.5.1 – Hardware Compatibility & Rendering Fixes
What's Changed
Fixed
- Fixed audio crackling and distorted playback on physical PS Vita hardware.
- Fixed native CommonDialog initialization on real PS Vita hardware.
- Fixed message dialogs, Yes/No dialogs and IME keyboard dialogs not appearing correctly on hardware.
- Fixed small font rendering looking jagged or inconsistent when the same font was used at multiple sizes.
- Fixed glyph caching so each font size now uses its own internal
vita2d_fontatlas instead of scaling glyphs rasterized at another size.
Improved
- Audio output now uses properly aligned double buffering.
- Improved audio thread scheduling for more stable playback on physical hardware.
- AppUtil and CommonDialog are initialized before the graphics subsystem.
- Improved native dialog error handling.
- Improved font rendering quality, especially for small UI text.
Compatibility
- No JavaScript API changes are required.
- Existing
Audio,DialogandFontcode remains compatible with v0.5.1. - Several issues fixed in this release were only reproducible on physical PS Vita hardware and were not apparent in Vita3K.
This release focuses primarily on hardware compatibility, audio stability, native dialogs and text rendering quality on real PS Vita systems.
Installation
Download vitajs-0.5.1.vpk below and install it on your PS Vita.
VitaJS is still experimental. APIs may change between releases and testing on real PS Vita hardware is recommended.
0.5.0 - Touch, audio streaming & native system APIs
VitaJS v0.5.0 significantly expands the native PS Vita APIs available from JavaScript, with new touch input, streamed audio.
What's new
-
Added the new
Touchmodule- front touchscreen support
- rear touchpad support
Touch.read()andTouch.peek()- convenient
Touch.front()andTouch.back()helpers - touch coordinates, force and touch IDs
- panel information
- sampling and force-mode controls
-
Added streamed audio playback
- WAV and OGG/Vorbis streams
- playback without loading the complete audio file into memory
- play, pause, resume and stop controls
- looping
- per-stream volume
- seeking
- playback position and duration queries
-
Expanded the
Systemmodule with application and device information- complete
param.sfomanifest access - title ID
- application title and short title
- application version
- category and content ID
- system language and language ID
- PS Vita / PS Vita TV model detection
isPSTV
- complete
-
Improved controller support through
Pads- new preferred
Pads.read()API - one controller poll returns buttons and both analog sticks
- controller port support
- rumble support
- controller battery information
- sampling mode controls
- additional controller and button constants
- new preferred
-
Updated VitaJS JavaScript/TypeScript declarations for the expanded runtime API
-
Expanded documentation and examples for the new native modules
Example
const music = Audio.open_stream("app0:/assets/music.ogg");
Audio.play_stream(music, 0.5, true);
const touch = Touch.front();
if (touch.count > 0) {
console.log(
touch.touches[0].x,
touch.touches[0].y
);
}
console.log(System.title);
console.log(System.language);
console.log(System.model);Installation
Download vitajs-v0.5.0.vpk below and install it on your PS Vita.
VitaJS is still experimental. APIs may change between releases and testing on real PS Vita hardware is recommended.
0.4.0 - Module System, Native Dialogs & Power APIs & QuckJS update
VitaJS v0.4.0
VitaJS v0.4.0 expands the runtime with a redesigned native module system, new PlayStation Vita system APIs and a modernized QuickJS core.
This release also improves ES module support and lays the groundwork for larger VitaJS applications built from multiple JavaScript files.
What's new
-
Upgraded QuickJS core to 2026-06-04
-
Redesigned native module registration and loading
-
Added automatic discovery of native VitaJS modules during build
-
Improved ES module support for JavaScript applications
-
Added the new
Appmodule- application exit
- launch parameters
- system event polling
- Vita information bar control
-
Added the new
Dialogmodule- native PS Vita message dialogs
- native IME / on-screen keyboard support
- UTF-8 / UTF-16 text conversion
-
Added the new
Powermodule- battery information and charge status
- battery health, temperature, voltage and cycle information
- CPU, bus and GPU clock information
- clock frequency control
- suspend, standby and display power controls
-
Fixed
Screen.draw_rectangle() -
Updated VitaJS JavaScript type definitions
-
Updated project configuration and documentation
-
Added a modular JavaScript mini-game example
Runtime improvements
Native VitaJS modules are now maintained through a centralized module definition system. New modules can be registered without manually updating multiple parts of the runtime bootstrap.
JavaScript source files are evaluated as ES modules, allowing applications to be split into multiple files using standard import / export syntax.
QuickJS
The embedded QuickJS runtime has been upgraded to the 2026-06-04 release while preserving VitaJS-specific module loading and PlayStation Vita path handling.
New native modules
The runtime now includes:
ScreenPadsFontAudioNetSystemAppDialogPowerstdos
Installation
Download vitajs-v0.4.0.vpk below and install it on your PS Vita.
VitaJS is still experimental. APIs may change between releases and testing on real PS Vita hardware is recommended.
0.3.0 - Fonts, Audio & Networking
VitaJS v0.3.0
VitaJS is an experimental JavaScript runtime for building games and homebrew applications for PlayStation Vita using QuickJS, VitaSDK and vita2d.
This release significantly expands the runtime with font rendering, game audio and native networking support.
What's new
- Added TTF/OTF font loading and rendering through
Font - Added WAV sound effects through the new
Audiomodule - Added native HTTP networking through
Net - Added GET, POST and generic HTTP requests
- Added network connection and local IP helpers
- Improved QuickJS native object handling
- Fixed font-related crashes on physical PS Vita hardware
- Improved compatibility with current VitaSDK / GCC toolchains
- Added JavaScript IntelliSense definitions through
vitajs.d.ts - Expanded documentation and usage examples
Available modules
Screen— 2D rendering and texturesPads— controller inputFont— font loading and text renderingAudio— WAV sound effects and mixingNet— HTTP networkingSystem— filesystem and system utilitiesstd/os— QuickJS standard APIs
Example
const texture = Screen.load_png_file("app0:/assets/test1.png");
const font = Font.load_font_file("app0:/assets/segoeui.ttf");
const sound = Audio.load_wav("app0:/assets/audio.wav");
Audio.play(sound);
Screen.start_drawing();
Screen.clear(15, 18, 24, 255);
Screen.draw_texture(texture, 200, 200);
Font.font_draw_text(
font,
30,
50,
0xffffffff,
28,
"Hello from VitaJS!"
);
Screen.end_drawing();
Screen.swap_buffers();Networking
The current Net API is synchronous:
const response = Net.get("http://192.168.1.20:3000/data.json");
if (response.ok) {
const data = JSON.parse(response.body);
console.log(data);
}Asynchronous / Promise-based networking is planned for a future release.
Installation
Download vitajs-v0.3.0.vpk below and install it on your PS Vita.
VitaJS is still experimental. APIs may change between releases and testing on real PS Vita hardware is recommended.