Y0oshi / lain-psx-decompiled
git clone https://github.com/Y0oshi/lain-psx-decompiled.git
v0.2.0 · 21d ago
Decompilation of Serial Experiments Lain (PlayStation) and a native Windows, macOS and Linux client
+1
stars, 24h · #9,515
+~7
stars, 7 days · #10,163
+134
stars, 30 days · #3,791
134
★ total · +6% this week
5
forks · 0 open issues
Star history (as recorded here)
LanguageC
LicenseMIT
Created2026-09-27 (25d ago)
Last push19d ago
Watchers4
OwnerUser
GitHub topics
Links
README excerpt
English | 日本語 This is a **decompilation** of ***Serial Experiments Lain*** (PlayStation, Pioneer LDC, 1998) and a **native client** for Windows, macOS and Linux built from it. The decompilation recreates the game's source code in C. Compiled with the original PsyQ toolchain, it rebuilds an executable byte-identical to the retail one. The native client runs the same code on a reimplementation of the PlayStation SDK, with no emulator. | Disc | Serial | Executable | SHA-1 of the data track (Redump) | |---|---|---|---| | Disc 1 | SLPS-01603 | `SLPS_016.03` | `6426fbdb45f27e089af650cddb8c41929c7890de` | | Disc 2 | SLPS-01604 | `SLPS_016.04` | `409668af454a0e0a33a71c1d22918d765e718608` | The rebuilt `SLPS_016.03` has SHA-1 `a0012634f82dd7fcc4ee5a3f97ddc052573b4815`. Disc 2's executable is identical. > [!IMPORTANT] > This repository and its releases contain **no game data**. Movies, voices, images, sounds, > text and data tables are read from your own dump of the two original discs. ## Playing 1. Dump both discs in Redump format (`.cue` + `.bin`). 2. Download the client for your system from Releases: | System | Package | First launch | |---|---|---| | Windows 10/11 (x64) | `Lain-windows.zip` | Run `lain.exe`. On a SmartScreen warning: *More info*, *Run anyway*. | | macOS (Apple Silicon) | `Lain-macos.zip` | Right-click `Lain.app`, *Open*. | | Linux (x86-64, glibc 2.35+) | `Lain-linux-x86_64.tar.gz` | Run `./lain`. Needs OpenGL 3.2. | The builds are not signed. 3. In the launcher, add both discs (file picker or drag and drop). The client verifies them and copies them into its data folder. 4. Choose window size, subtitles and options, then press **Play**. **F1** opens the in-game menu: display, volume, languages, key bindings, cheats and mods. | PlayStation | Keyboard | In Lain | |---|---|---| | D-pad | Arrow keys | Move the cursor, select a node | | ○ | V | Confirm, open a node | | × | C | Back | | △ | Z | Menu (load, save, ...) | | Start | Return | Continue, skip | Gamepads work as controller 1. Full controls and options: port/PORTING.md. ### Features | Feature | Details | |---|---| | Original behaviour | Game logic, timing and pacing match the PlayStation, measured on real hardware. | | Display | Resolution scaling, fullscreen, optional 60 fps motion interpolation at the original game speed. | | Subtitles and dubs | Plain `.srt`, `.ass` and `.ogg` folder packs. The launcher can download the laingame.net English fan subtitles from their source; none are bundled. | | Saves | Standard 128 KiB memory card images (`.mcd`), usable with emulators. | | Unused content | A launcher tab showing content on the discs that the game never uses, decoded from your own dump. See docs/findings. | | Mods | Replace pictures, text, voices, movies and game data, HD texture packs, Lua scripts that hook any game function, and native plugins, managed in the launcher's Mods tab. See MODDING.md. | ## Status | Part | State | |---|---| | Decompilation (`src/`) | All 321 gam