Releases: zxkrizz/niwPSPtoPC
Release list
niwPSPtoPC v1.1.0
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 plus
SHA256SUMS.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.
niwPSPtoPC v1.0.1
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: v1.0.0...v1.0.1
niwPSPtoPC 1.0.0
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.