Project ideas from Hacker News discussions.

Show HN: PS2 games statically recompiled to WebAssembly

📝 Discussion Summary (Click to expand)

1. Technical approach to recompilation
The discussion frequently focuses on how the PS2 is being recompiled—using AOT translation of EE code, cycle‑budget timing, JIT for unseen VU micro‑programs, and bit‑exact modeling of PS2‑specific float behavior and pipeline flags.

“It isn't cycle‑accurate… EE code is translated AOT, and each block subtracts its instruction count from a cycle budget. Interrupts, timers, DMA and vblank are events on one emulated clock, delivered at block boundaries…” – deadxwarrior

“VU programs are not really part of the executable… I record each microprogram the first time its uploaded and compile it AOT, and in the browser I JIT any program I haven’t seen to wasm.” – deadxwarrior

“The pipeline details games actually observe are modeled: MAC/status/clip flags become visible four instructions late… PS2 floats… are done bit‑exact.” – deadxwarrior

2. Legal and ethical implications
Many commenters debate whether recompiling games constitutes piracy, the impact on studio incentives, and the legality of distributing such tools.

“With the slew of recomps these days enabled by AI, how much incentive is there for a game studio to pour their heart, soul and money in a product when it can be easily ‘stolen’ and shared for free…?” – Elizer0x0309

“It's been 27 years since Napster. People are still making albums and movies. I don't think piracy moves the needle in any meaningful way…” – goosejuice

“Look at a graph of music industry earnings… because of piracy and the transition to digital… it changed everything in every meaningful way.” – Laremere

“I actually developed the project to play my own game dumps remotely via VPN from my home server; making it publicly available is not legal and will be consequences:)” – deadxwarrior

“As legal as archive.org collection of DOS games playable in browser… but defunct game studios rarely sue.” – Xirdus

3. Nostalgia for original hardware quirks
A recurring theme is the sentimental value of the PS2’s loading screens, controller feel, and audio cues—elements that users miss when playing via modern recomps.

“Who would want to play Gran Turismo without long CD loading screens?” – eluusive

“That's easy enough to simulate… pause the game manually… make a sandwich… take the dog out… then use the bathroom before resuming.” – ssl-3

“Or without the very‑much‑needed hold‑your‑breath moment at startup… you get a ~1 second moment… before you hear the ‘viump’ that tells you everything is OK.” – embedding‑shape

“Even using the original PS2 or PS3 controller… doesn't really reproduce the same smooth acceleration/brake curve of the PS2.” – easyThrowaway

“Right analog should be accelerate and brake. Analog buttons were always a bad idea…” – suprjami

“And you lose the acoustic error handling too: one seek noise meant resolve(), another meant reject().” – styleio


🚀 Project Ideas

Generating project ideas…

PS2‑WASM Recompiler as a Service

Summary

  • A hosted tool that lets users upload their own PS2 ISO and receive a ready‑to‑play WebAssembly build that runs in the browser, handling timing‑sensitive hardware via cycle budget/event delivery and offering configurable analog‑pressure mapping for modern controllers.
  • Core value proposition: instant, zero‑install PS2 gaming on any device with a web browser, preserving original gameplay feel while removing the need for local emulation setup.

Details

Key Value
Target Audience Retro gamers, Steam Deck owners, and low‑end PC users who want browser‑based PS2 play without configuring emulators.
Core Feature AOT recompilation of EE/VU code to WebAssembly, cycle‑budget timing model, JIT for unseen VU microprograms, and a UI for mapping PS2 pressure‑sensitive face buttons to analog triggers/sticks with adjustable curves.
Tech Stack C++ recompiler → WebAssembly (via Emscripten), wgpu/WebGPU for rendering, SDL2 for input, IndexedDB for caching ISO data, optional Node.js backend for upload handling.
Difficulty Medium
Monetization Revenue-ready: freemium (free base builds, paid priority queue & custom controller profiles).
#### Notes
- HN users praised the existing web‑hosted recomp but noted the need for better timing handling and analog pressure support (deadxwarrior: “When one does depend on timing, it shows up as a specific bug I can fix”; easyThrowaway: “Even using the original ps2 or ps3 controller… doesn't really reproduce the same smooth acceleration/brake curve”). This service directly addresses those pain points.
- By providing a one‑click upload‑and‑play experience, it lowers the barrier for users who currently need to build their own ISO conversion (deadxwarrior: “you currently have to convert your own ISO on a PC”).

PS2 Pressure‑Button Adapter & Configurator

Summary

  • A USB host adapter (Arduino‑based or using a USB host shield) that reads the original PS2 controller’s pressure‑sensitive face buttons and translates them to configurable analog outputs (triggers, stick axes, or custom curves) for use with PCSX2, web‑based recomps, or native ports.
  • Core value proposition: restores the nuanced acceleration/braking feel of GT/NFS games on modern hardware without requiring users to guess mapping hacks.

Details

Key Value
Target Audience PCSX2 users, web‑recomp players, and racing‑sim enthusiasts who miss the pressure‑sensitive face buttons of the original PS2 controller.
Core Feature Firmware that samples the PS2 controller’s analog button values, applies user‑definable curves (linear, exponential, custom lookup), and outputs standard HID gamepad reports; accompanied by a cross‑platform configurator app (Electron/Tauri) for saving profiles.
Tech Stack Arduino Pro Micro (or ESP32‑S2) with USB Host Shield, C++ firmware, Electron/Tauri configurator (TypeScript + React), optional udev rules for Linux.
Difficulty Low
Monetization Hobby (open‑source hardware schematics + firmware; optional pre‑built kits sold via Tindie).
#### Notes
- Commenters lamented the loss of pressure sensitivity: “Even using the original ps2 or ps3 controller… doesn't really reproduce the same smooth acceleration/brake curve” (easyThrowaway) and “It gets wonky if you press both analog triggers at the same time” (easyThrowaway). This adapter gives a faithful, tunable solution.
- The discussion also mentioned using a GMIX or G29 wheel to map triggers, but noted the hassle; a dedicated plug‑and‑play adapter removes that friction and could be bundled with the web‑recomp service for a seamless experience.

Legacy‑GPU PS2 Recompiler Target

Summary

  • A recompiler backend that emits WebGL 1.0 / OpenGL 2.1 compatible shaders and reduces draw‑call complexity, allowing PS2 games to run at low resolutions on legacy integrated graphics (e.g., Intel GMA 950, early Atom netbooks) while maintaining playable frame rates.
  • Core value proposition: brings PS2 recompilation to the lowest‑end hardware that modern emulators abandon, extending the library of playable titles to netbooks and older laptops.

Details

Key Value
Target Audience Owners of netbooks, old laptops, and low‑end SBCs who want to play PS2 games without upgrading hardware; also users targeting WebGL 1.0 environments.
Core Feature Optional “legacy mode” in the recompiler that simplifies vertex/fragment shaders, uses fixed‑function pipeline where possible, and offers resolution scaling (e.g., 256×224) with configurable texture filtering.
Tech Stack C++ recompiler backend, WebGL 1.0 via Emscripten, OpenGL 2.1 desktop path, optional Vulkan fallback for newer devices; build system using CMake.
Difficulty Medium
Monetization Hobby (open‑source); potential sponsorship from hardware‑preservation grants.
#### Notes
- Users asked for targeting GL 2.1 on ancient Intel iGPUs: “I wish they could somehow target GL 2.1 video cards (ancient Intel iGPU's) so legacy users like me could play most of the games on an n270 netbook” (anthk). This idea directly satisfies that request.
- By providing a low‑GL path, the recompiler can also run on browsers that only support WebGL 1.0, expanding accessibility beyond modern WebGPU‑capable devices—a point raised in the debate about targeting older APIs (Narishma vs pjmlp).
- The approach mirrors the community’s desire for “clean‑room” recomps that can run on modest hardware without sacrificing legality, as the output remains user‑generated from their own ISO.

Read Later