Releases: OverkillLabs/PSPRecomp-Vulkan
Release list
macOS + Windows (experimental)
macOS (Apple Silicon) is a normal release. Windows is experimental.
How to play
You need your own copy of the game, extracted to a folder called PSP_DATA.
macOS (macOS 13 or later)
- Unzip
VCSNative-macOS.zipand double-click VCSNative. The first time, macOS asks whether to open an app downloaded from the Internet: click Open. (On recent macOS versions, if it only offers "Done", open System Settings > Privacy & Security and click Open Anyway.) - Click Choose... next to Game folder and pick your
PSP_DATAfolder (it can be anywhere, including an external drive). Play stays greyed out until the game files are found. - Press Play.
Windows 10/11 (64-bit)
- Unzip the whole
VCSNativefolder somewhere you can write to (notProgram Files). - Put your
PSP_DATAfolder right next toVCSNative.exeandVCSLauncher.exe. - Double-click VCSLauncher.exe and press Play. If Windows shows "Windows protected your PC", click More info and then Run anyway. You need a graphics driver with Vulkan 1.1 support (the normal NVIDIA, AMD and Intel drivers include it).
The optional texture pack is a separate download; install it from the launcher's Quality page.
New features
- macOS: one self-contained app.
VCSNative.appnow contains the launcher, the game and every library it needs (FFmpeg, SDL, Vulkan loader, MoltenVK) - macOS: choose where your game is. The launcher has a Game folder picker; the game files can live anywhere, including an external drive, and nothing is copied. Play stays greyed out until the game files are found.
- macOS: settings, saves and textures are kept in
~/Library/Application Support/VCSNative, so the app itself stays sealed and updating it never touches your saves. - Control prompts that match your device. The game's on-screen button prompts show your real keyboard and mouse controls, or Xbox button names when you use a controller. Turn it off with "Show control names in prompts" to get the original PSP button names.
- Windows launcher: Window, Rendering, Quality, Controls, Addons and Performance. It edits
VCSNative.iniandProperShaders.iniin place, keeps comments and line endings, and lets you choose the GPU, present mode, swapchain and worker threads. - Swapchain presentation on Windows through Vulkan instead of CPU readback. Videos and loading screens use it too, and the CPU readback path remains as a fallback.
- GPU selection on Windows: discrete GPU first, then most video memory.
PSPRECOMP_VULKAN_DEVICEaccepts an index or part of a name. - Windows system tuning: 1 ms timer, above-normal priority, EcoQoS opt-out, MMCSS "Games", per-monitor-v2 DPI awareness, discrete-GPU hints for NVIDIA and AMD, a VRAM-aware texture budget, and a startup CPU-feature check with a clear message.
- Swapchain resize: minimise, maximise and resize are handled.
- Raw-input mouse camera on both platforms. Each frame's movement is converted once, proportionally, with no stick-style curve. The cursor is confined to the game window on Windows.
- Camera options in the macOS launcher: a new Camera section with camera on right stick, invert camera Y, mouse sensitivity (default 50) and look-up limit (default 40°). The Windows launcher has the same options.
- Look-up limit (
PedCameraUpLimitDegrees): the on-foot camera tilt limit is now adjustable, with a default of 40° (the game's own stop is 45°). - Draw distance: World objects and model detail switch are capped at 3× (defaults: World 3.00, LOD 3.00). Vehicles and pedestrians are always 1×, so their sliders are removed and old ini values are ignored.
Bug fixes
- Cutscene audio stutter and desync on both platforms. ATRAC3+ files with 280- or 376-byte frames (all cutscene dialogue and the CITY tracks) were treated as ATRAC3, so the game consumed the stream at double speed and played silence for the second half of cutscenes.
- HUD and field of view: the Vulkan backend showed a 480×272 crop of the 512×320 frame, which magnified the view and HUD. It now presents the whole frame, like the original DX12 renderer.
- HUD at every aspect ratio (16:9, 21:9, 32:9, 4:3, 16:10, 5:4, tall): the widescreen factor is restored to the original clamp and the HUD uses the original symmetric X correction. The layout follows window resizes.
- Windows audio drift: if audio falls more than about 140 ms behind, the sink drops the stale part and restarts. Lagging streams snap forward with a short gap instead of drifting.
- Sun-lit surface relief option removed everywhere (shader, config, both launchers) because it looked broken.
- Controllers: a deflected stick always wins over the mouse, and stick handling is more accurate (proper dead zone).
- Black screen with the texture pack. A texture that animates its palette was stored again every frame, so graphics memory grew to 10 GB or more within a couple of minutes and the picture went black. Identical textures are now shared and replacement-texture memory is capped, so memory stays flat.
- Graphics on their own thread (Vulkan). Display lists now run on a separate thread by default and texture uploads no longer stall the game, which keeps busy scenes inside the frame budget.
- Windows: cursor escaping the game. The mouse pointer could drift onto a second monitor during play, and the next click landed on another window. It is now kept inside the game window while the game is in front.
- Draw distance: the macOS launcher shows only World objects and Model detail switch.
- macOS: "damaged" message on downloaded builds. The app now carries a valid signature seal, so macOS no longer reports a downloaded copy as damaged.
Windows: experimental
The Windows build is experimental and still has performance issues in some situations, such as the busiest parts of the city and while driving. These will be addressed in a later update.
Downloads
VCSNative-macOS.zip: macOS build (Apple Silicon)VCSNative-Windows-experimental.zip: Windows build (experimental)VCSNative-TexturePack.zip: optional texture pack
VCSNative macOS v1.0.4 Beta (Apple Silicon)
Changelog (since v1.0.3)
Graphics (on by default; each can be turned off in the launcher or ini)
- Added 3-pass SMAA 1x anti-aliasing (replaces FXAA when enabled).
- Added a Vice City sky palette: the flat sky and distance fog now follow the in-game clock (pink dawn and dusk, teal days, violet nights). Weather keeps its grey-outs.
- Added a time-of-day colour grade, AMD CAS sharpening and an anti-banding dither (ProperShaders.ini).
- Volumetric clouds are now on by default (about 2ms of GPU time per frame), restyled to match the sky palette and weather.
- Bloom is now on by default, widened and warm-tinted.
- The "Vice Neon" colour grade is now on by default, with saturation and contrast eased (1.18 and 1.05) so it stays natural.
- The draw-distance patch is now on by default.
- Textures now get a full mip chain for sharper distant surfaces.
- Added an optional VHS filter (tape wiggle and colour smear), off by default. Toggle in the launcher (Quality → Post effects) or
[VHS] Enabled=trueinProperShaders.ini.
Textures (optional)
- Optional built-in upscaler and surface detail exist as ini options (
[Textures] Upscale,Detail), off by default. - Added an optional higher quality texture pack:
VCSNative-TexturePack.zip(7,021 textures, about 613 MB) is attached to this release as a separate download and is not part of the game zip. To install it, openVCSLauncher.app→ Quality → Texture pack → Install… and choose the zip, then restart the game. Uninstall removes it. Without the pack the game looks exactly as before.
Changes
- Draw-distance limits: world and model detail capped at 6x, vehicles and pedestrians capped at 2x (higher values made them despawn). Default world distance is now 6x.
Notes
- Vulkan GE backend only. No effect on a default Windows DirectX12 build.
Native macOS ARM (Apple Silicon) build of GTA: Vice City Stories via a
Vulkan/MoltenVK GE backend, ported from jessicanataliagta's original
Windows/DirectX12 PSPRecomp VCS profile.
What's in this release
VCSNative.app— the game itselfVCSLauncher.app— a native settings GUI forVCSNative.ini
(display/resolution, rendering, addons), with per-setting explanationsVCSNative-TexturePack.zip— optional higher quality texture pack (separate download; install it from the launcher)
Requirements
- macOS 13+ on Apple Silicon (M1 or newer)
- Your own legally obtained copy of GTA: Vice City Stories PSP game data
(not included — see the main README for how VCSNative finds it)
Use
- Download and unzip.
- Place your own decrypted
PSP_DATAfolder inside VCSNative.app>MacOS. - Open
VCSLauncher.appto configure settings, then hit Play — or launch
VCSNative.appdirectly to use whateverVCSNative.inialready has.
WARNING: DO NOT use GPU hardware transform, as it is not yet functional and will lead to rendering issues (now off by default).
If macOS says the app cannot be opened run this command in terminal "xattr -cr (drag app here)" and press Enter for both VCSNative.app and VCSLauncher.app
VCSNative macOS v1.0.3 Beta (Apple Silicon)
Changelog
New graphics options (off by default)
- Added raymarched volumetric clouds, ported from ProperShaders/CloudWorks.
- Off by default. Toggle in the launcher (Quality → Volumetric clouds) or
[VolumetricClouds] Enabled=trueinProperShaders.ini. - Vulkan GE backend only. No effect on a default Windows DirectX12 build.
- Adds approximately 2ms of GPU time per frame when enabled.
Native macOS ARM (Apple Silicon) build of GTA: Vice City Stories via a
Vulkan/MoltenVK GE backend, ported from jessicanataliagta's original
Windows/DirectX12 PSPRecomp VCS profile.
What's in this release
VCSNative.app— the game itselfVCSLauncher.app— a native settings GUI forVCSNative.ini
(display/resolution, rendering, addons), with per-setting explanations
Requirements
- macOS 13+ on Apple Silicon (M1 or newer)
- Your own legally obtained copy of GTA: Vice City Stories PSP game data
(not included — see the main README for how VCSNative finds it)
Use
- Download and unzip.
- Place your own decrypted
PSP_DATAfolder inside VCSNative.app>MacOS. - Open
VCSLauncher.appto configure settings, then hit Play — or launch
VCSNative.appdirectly to use whateverVCSNative.inialready has.
WARNING: DO NOT use GPU hardware transform, as it is not yet functional and will lead to rendering issues (now off by default).
If macOS says the app cannot be opened run this command in terminal "xattr -cr (drag app here)" and press Enter for both VCSNative.app and VCSLauncher.app
VCSNative macOS v1.0.2 Beta (Apple Silicon)
Changelog
Rendering
- Vehicle/pedestrian model-detail (low-poly → high-poly) switch distance is now a separate setting from the Vehicles/Pedestrians spawn-range multipliers, with its own launcher slider ("Model detail switch")
- World draw-distance scaling now also applies to clump-type objects, previously excluded
- Bloom's sampling kernel changed from a 13-tap uniform average to a 25-tap weighted Gaussian
- FXAA anti-aliasing now searches along detected edges to determine blend strength, instead of using a fixed 3×3 neighborhood
Native macOS ARM (Apple Silicon) build of GTA: Vice City Stories via a
Vulkan/MoltenVK GE backend, ported from jessicanataliagta's original
Windows/DirectX12 PSPRecomp VCS profile.
What's in this release
VCSNative.app— the game itselfVCSLauncher.app— a native settings GUI forVCSNative.ini
(display/resolution, rendering, addons), with per-setting explanations
Requirements
- macOS 13+ on Apple Silicon (M1 or newer)
- Your own legally obtained copy of GTA: Vice City Stories PSP game data
(not included — see the main README for how VCSNative finds it)
Use
- Download and unzip.
- Place your own decrypted
PSP_DATAfolder inside VCSNative.app>MacOS. - Open
VCSLauncher.appto configure settings, then hit Play — or launch
VCSNative.appdirectly to use whateverVCSNative.inialready has.
WARNING: DO NOT use GPU hardware transform, as it is not yet functional and will lead to rendering issues (now off by default).
If macOS says the app cannot be opened run this command in terminal "xattr -cr (drag app here)" and press Enter for both VCSNative.app and VCSLauncher.app
VCSNative macOS v1.0.1 Beta (Apple Silicon)
Changelog
Performance
- Batch/state-change coalescing for the GPU render loop
- Memoryless/tile-resident depth buffer on Apple Silicon
-O3optimization level for the game-logic interpreter (previously-O2)- NEON-accelerated vertex transform math
- Native Vulkan swapchain present path, now the default presentation path (replaces the previous CPU-readback/SDL present path); includes handling for the software/video-present path alongside it
- Frame rate locked to 60
Rendering defaults
- GPU hardware transform now defaults off (still available as an opt-in toggle)
New graphics options (all off by default)
- Bloom (Vulkan only)
- FXAA anti-aliasing (labeled as FXAA, not SMAA)
- "Vice Neon" color grading preset, tunable
- Texture sharpening (unsharp-mask)
Quality of life
- World draw distance increased (8x); vehicle/pedestrian draw distance at a moderate multiplier
- Metal HUD toggle in the launcher
- Launcher UI and tooltips added for all settings above; debug/validation environment variables forced off on launch
Native macOS ARM (Apple Silicon) build of GTA: Vice City Stories via a
Vulkan/MoltenVK GE backend, ported from jessicanataliagta's original
Windows/DirectX12 PSPRecomp VCS profile.
What's in this release
VCSNative.app— the game itselfVCSLauncher.app— a native settings GUI forVCSNative.ini
(display/resolution, rendering, addons), with per-setting explanations
Requirements
- macOS 13+ on Apple Silicon (M1 or newer)
- Your own legally obtained copy of GTA: Vice City Stories PSP game data
(not included — see the main README for how VCSNative finds it)
Use
- Download and unzip.
- Place your own decrypted
PSP_DATAfolder inside VCSNative.app>MacOS. - Open
VCSLauncher.appto configure settings, then hit Play — or launch
VCSNative.appdirectly to use whateverVCSNative.inialready has.
WARNING: DO NOT use GPU hardware transform, as it is not yet functional and will lead to rendering issues (now off by default).
If macOS says the app cannot be opened run this command in terminal "xattr -cr (drag app here)" and press Enter for both VCSNative.app and VCSLauncher.app
VCSNative macOS v1.0.0 Beta (Apple Silicon)
Native macOS ARM (Apple Silicon) build of GTA: Vice City Stories via a
Vulkan/MoltenVK GE backend, ported from jessicanataliagta's original
Windows/DirectX12 PSPRecomp VCS profile.
What's in this release
VCSNative.app— the game itselfVCSLauncher.app— a native settings GUI forVCSNative.ini
(display/resolution, rendering, addons), with per-setting explanations
Requirements
- macOS 13+ on Apple Silicon (M1 or newer)
- Your own legally obtained copy of GTA: Vice City Stories PSP game data
(not included — see the main README for how VCSNative finds it)
Use
- Download and unzip.
- Place your own decrypted
PSP_DATAfolder inside VCSnative.app>MacOS. - Open
VCSLauncher.appto configure settings, then hit Play — or launch
VCSNative.appdirectly to use whateverVCSNative.inialready has.
WARNING: DO NOT use GPU hardware transform, as it is not yet functional and will lead to rendering issues
If MacOS says the app cannot be opened run this command in terminal "xattr -cr (drag app here)" and press Enter for both VCSNative.app and VCSLauncher.app
Built from source at commit de03b9a.

