niwPSPtoPC changelog
v1.2.0 · Oct 7, 2026
niwPSPtoPC 1.2.0
niwPSPtoPC is now the **Ultimate Wireless and Wired Gamepad for PSP and
Windows**. Version 1.2.0 makes USB a supported transport alongside Wi-Fi and
keeps the same virtual Xbox 360 controller active while the user changes how
the PSP is connected.
Highlights
- connect through a PSP USB data cable without entering a code;
- connect through Wi-Fi with the existing five-character authorization code;
- choose USB or Wi-Fi from large selectors in both applications;
- switch USB -> Wi-Fi -> USB without restarting the PSP or Windows app;
- keep the PSP application open when a cable is removed or WLAN is unavailable;
- automatically select Microsoft's signed inbox WinUSB driver on Windows 10/11;
- recover a missing WinUSB application interface through a narrowly scoped, one-time UAC helper;
- use the same protocol, input ordering, safety timeouts and Xbox 360 mapping on both transports.
PSP interface
The PSP now opens on a dedicated USB/WIFI selector controlled with LEFT/RIGHT
and CROSS. WIFI is visibly disabled while the physical WLAN switch is off.
USB waits for a data cable and Windows enumeration without closing the
application. Wi-Fi continues to use the saved-profile selector, automatic PC
discovery and five-character code. CIRCLE returns to the transport selector
from setup screens, and holding L+R+START for 0.75 seconds returns there during
an active link.
Removing the USB cable releases held input and returns to the selector.
Windows interface
The connection card now starts with two large USB and Wi-Fi fields:
- USB shows a short cable/setup instruction and never asks for a code;
- Wi-Fi shows the pairing code field and Connect button;
- once connected, setup controls disappear and only the connection status and Disconnect remain.
Selecting another transport prepares it without immediately interrupting the
working link. Diagnostics have been reduced to a compact summary with a
separate detailed Connection Doctor.
Windows USB setup
The PSP reports the WINUSB compatible ID and the niwPSPtoPC device-interface
GUID through Microsoft OS descriptors. Windows 10/11 therefore uses its inbox,
Microsoft-signed winusb.sys; the release does not include or require an
unsigned kernel driver or Zadig.
On systems where Windows binds WinUSB but omits the application interface,
niwPSPtoPC can request one UAC confirmation, register the interface for that
specific PSP device instance, restart it and retry automatically. A different
physical USB port can create a separate Windows device instance and require
one additional confirmation.
See [Wired USB mode](../usb.md) for driver details and troubleshooting.
Installation
- Install the final signed ViGEmBus 1.22.0 driver on Windows.
- Extract
niwPSPtoPC-v1.2.0-Windows-x64.zipand runniwPSPtoPC.exe. - Extract
niwPSPtoPC-v1.2.0-PSP.zip. - Copy the complete
niwPSPtoPCdirectory toms0:/PSP/GAME/or, on PSP Go internal storage,ef0:/PSP/GAME/. - Keep
EBOOT.PBP,usbhostfs.prxandconfig.initogether. - Start both applications in either order and select the same transport.
Verify both downloaded archives against SHA256SUMS.txt from the same GitHub
Release.
Upgrading from 1.1.0
Replace both sides together:
- close the Windows application and replace
niwPSPtoPC.exe; - replace the complete PSP
niwPSPtoPCdirectory, including the newusbhostfs.prx; - retain a customized
config.inionly if its port and send-rate settings are still required; - start both 1.2.0 applications and choose USB or Wi-Fi.
The protocol remains version 2, but using a 1.2.0 Windows executable with the
matching PSP package is strongly recommended.
Tested hardware
The complete USB, Wi-Fi, hot-plug and transport-switching path has been
physically tested on a PSP-2004 and Windows 11. The existing Wi-Fi path has
also been exercised across multiple Windows games.
PSP-1000, PSP-3000 and PSP Go use the same supported application paths but
have not all been physically revalidated for this release. PSP Street/E1000
has no Wi-Fi hardware; USB-only operation is expected but remains unverified.
Known limitations
- a data-capable PSP USB cable is required; charge-only cables cannot work;
- Windows may request UAC once for each device instance or physical USB port;
- ViGEmBus is required and must be installed separately;
- ViGEmBus was retired by its maintainers and 1.22.0 is its final release;
- the Windows executable is not Authenticode-signed; use the published checksums and GitHub build-provenance attestations;
- the PSP exposes one analog stick and digital shoulder buttons, so a second analog stick and analog triggers cannot be emulated;
- Wi-Fi requires compatible 2.4 GHz PSP networking and a trusted LAN without client isolation;
- UDP input is not encrypted and must never be exposed to the Internet.
Release integrity
The public workflow rebuilds the Windows executable and PSP application from
the tagged commit, runs the automated Python and C suites, smoke-tests and
inspects the Windows package, verifies version consistency, creates SHA-256
checksums and publishes GitHub build-provenance attestations for the Windows
executable and both release archives.
v1.1.0 · Jul 30, 2026
niwPSPtoPC 1.1.0
Version 1.1.0 makes the PSP client substantially more energy-efficient and
resilient while expanding Windows diagnostics, recovery and release quality.
Highlights
Lower PSP power use
The PSP now uses its full 333/333/166 MHz clock profile only while starting,
joining Wi-Fi, discovering the PC or recovering a lost connection. After a
valid pairing acknowledgement it switches to 111/111/55 MHz for steady-state
controller streaming.
Ten seconds after pairing, the client turns off the LCD backlight without
suspending the console. Wi-Fi, controller sampling and UDP streaming continue
normally. SCREEN or HOME restores the saved brightness; the client also
restores it automatically before reconnecting or exiting.
The brightness functions are resolved dynamically through the CFW user bridge.
The EBOOT does not directly import the kernel display driver, preserving normal
user-mode homebrew loading. If brightness control is unavailable on a
particular CFW, controller streaming continues without automatic backlight
control.
Safer networking and automatic recovery
The PSP client now detects an access-point outage, closes the stale UDP socket,
reconnects with capped exponential backoff, recreates the socket and rediscovers
the Windows receiver. HOME remains responsive throughout recovery.
Pairing-ACK processing is limited to 32 datagrams per sender cycle. This keeps
malformed or hostile LAN traffic from trapping the PSP in an unbounded
nonblocking receive loop.
The documentation now covers compatible 2.4 GHz WPA2-PSK connections provided
by recent ARK-4 and ARK-5 CFW releases. niwPSPtoPC only requires a working PSP
network profile, an IPv4 address and local reachability to the PC. WPA3-only
networks remain unsupported, and Wi-Fi client isolation must be disabled.
More reliable Windows controller output
The virtual Xbox 360 target remains present across temporary PSP disconnects.
Inputs are neutralized after 0.5 seconds of silence, while the PSP session is
released after 1.75 seconds. Duplicate and out-of-order packets never roll
gameplay input backward.
Backend failures are classified and recoverable. The application performs one
delayed automatic retry and also exposes a manual retry without restarting the
UDP receiver.
Connection Doctor 2.0
Connection Doctor now combines protocol milestones with native Windows
diagnostics:
- active IPv4 interfaces and network profile category;
- UDP bind and packet-health metrics;
- matching Windows Firewall rule state;
- common VPN and client-isolation guidance;
- pairing, acknowledgement and virtual-gamepad milestones;
- a copyable diagnostic report.
The GUI also provides persistent settings for the bind address, UDP port and
optional PSP IPv4 allowlist.
Release and supply-chain hardening
The release pipeline now uses immutable GitHub Action commit pins, Dependabot,
cancellable branch CI, tag-to-version and tag-ancestry validation, build
provenance attestations and idempotent asset uploads. The Windows executable
contains and verifies a PerMonitorV2 manifest and version metadata sourced from
the product version.
Compatibility
- PSP-1000, PSP-2000, PSP-3000 and PSP Go with compatible CFW;
- PSP Street/E1000 is unsupported because it has no Wi-Fi hardware;
- Windows 10 or Windows 11 x64;
- ViGEmBus 1.22.0 for the virtual Xbox 360 controller.
ViGEmBus has been retired by its maintainers. Version 1.1.0 continues to use
its final signed Windows 10/11 release because it remains the backend required
by vgamepad.
Upgrade instructions
- Close the previous Windows application and exit the PSP client.
- Replace the complete
niwPSPtoPCdirectory underPSP/GAME. - Replace the Windows executable with the 1.1.0 build.
- Keep an existing
config.iniif it contains a valid UDP port and a send rate from 15 through 60 Hz. - Start either side first, select the PSP Wi-Fi profile and enter the new five-character pairing code in the Windows application.
No protocol or configuration migration is required. Version 1 packet decoding
remains available for diagnostics; current clients use protocol version 2.
Security
Use niwPSPtoPC only on a trusted local network. Controller packets are not
encrypted, and UDP port 47999 must not be forwarded to the Internet. If the PSP
firmware requires legacy WPA, use a dedicated or isolated SSID without access
to sensitive devices. Regardless of encryption, the PSP and PC must be allowed
to communicate directly.
Verification
The release consists of separate Windows and PSP ZIP archives plusSHA256SUMS.txt. Compare each downloaded archive against the published SHA-256
value before installation. GitHub build-provenance attestations are produced
for the Windows executable and release archives.
v1.0.1 · Jul 29, 2026
Key Changes
Version 1.0.1 focuses on PSP-PC connection stability and predictable controller behavior in games.
- The XInput virtual controller remains connected during brief transmission loss. After 500 ms, the input state is neutralized, and the PSP session is released only after 1.75 seconds.
- The new Connection Doctor shows the connection stages: UDP port, received packet, code compliance, sent ACK, and gamepad creation. It also checks ViGEmBus and suggests common issues with firewalls, public networks, and Wi-Fi client isolation.
- Added support for installing the PSP Go on ef0: and safe default settings when config.ini is missing. The PSP Street/E1000 remains unsupported due to lack of Wi-Fi.
- Send_rate is limited to a safe range of 15–60 Hz, and the GUI displays the actual frequency. - ACK traffic has been limited to 10 Hz and PSP screen refresh has been limited to state changes; a single server instance lock has been added.
- Protocol validation has been tightened (
reserved == 0) and theallowed_hostsconfiguration has been connected to the UDP listener. - The release process uses a single version source, a pinned PSPDEV, automated tests, an EXE smoke test, and archive verification.
Installation and Networking
Download the Windows x64 package and the PSP package separately. ViGEmBus is required on your computer. The PSP and PC must be on the same local network—a guest network with client isolation enabled will prevent connection.
Verification
The release has passed server testing on Python 3.12–3.14, C client testing, a fresh EBOOT.PBP build with PSPDEV pinned, and a build and smoke test of the Windows application. Stability has been further confirmed by testing on a physical device.
SHA-256:
104d21aea4014324f41082d7b9a5b0bab828d4c85903edabee7608be18da6fe1 niwPSPtoPC-v1.0.1-Windows-x64.zip fbf6eed0eb72bf1f01239b05617bc6d2d8eb61c9a2af64dc3ba60a0fbbac4085 niwPSPtoPC-v1.0.1-PSP.zip
Full changelog: https://github.com/zxkrizz/niwPSPtoPC/compare/v1.0.0...v1.0.1
v1.0.0 · Jul 29, 2026
niwPSPtoPC 1.0.0 is the first complete public release.
Highlights:
- turns a PSP into a wireless Xbox 360 controller for Windows
- automatically discovers the PC on the local network; no IP editing
- uses a five-character pairing code and locks control to one PSP
- includes final English pixel-art interfaces for Windows and PSP
- safely releases every control after 1.5 seconds without fresh input
- ignores duplicate and out-of-order states for gameplay
Downloads:
niwPSPtoPC-v1.0.0-Windows-x64.zip— Windows application, license and third-party noticesniwPSPtoPC-v1.0.0-PSP.zip— ready-to-copyPSP/GAME/niwPSPtoPCdirectorySHA256SUMS.txt— archive checksums
Important Wi-Fi security warning:
- the PSP requires a legacy WPA-PSK 2.4 GHz network and cannot use modern WPA2/WPA3-only networks
- WPA-PSK is obsolete and enabling it can weaken wireless-network security
- use a separate, isolated guest network or dedicated access point with no sensitive devices or data
- do not weaken the security of your primary home network solely to use this software
Other requirements:
- PSP with CFW/homebrew support
- Windows 10/11 x64
- ViGEmBus 1.22.0 installed separately
- PSP and PC on the same trusted local network
ViGEmBus has been retired by its maintainers. niwPSPtoPC uses its final signed Windows 10/11 release. The niwPSPtoPC executable itself is not code-signed, so Windows SmartScreen may display a warning; verify the archive against SHA256SUMS.txt.
