Repository navigation
Console iLINK ID
In a PS2 game's Compatibility settings, Console i.LINK ID optionally replaces the eight-byte console identifier returned by the native OPL engine's CDVDMAN. Enter exactly 16 hexadecimal digits, for example 0123456789ABCDEF. Digits are in response-byte order, without reversal. Saving uses uppercase. Empty or 0000000000000000 uses the real console ID and removes the override.
The per-game CFG key is $ILinkID. Existing CFG files need no migration. Invalid input is rejected before settings are applied. An invalid manually edited value shows a localized launch warning explaining the ignored override and real-console-ID fallback, records a diagnostic, and uses the real console ID. Each launch initializes all eight bytes, preventing inheritance from the previous game.
The field is editable for PS2 ISO rows, including when Neutrino is selected: MMCE can fall back to native OPL for an unsupported format or missing runtime. Only an actual native OPL launch applies the ID; Neutrino ignores it. The field is disabled for PS1/POPSTARTER and ELF/Apps rows. The separately pinned RA/ORBIT runtime is unchanged. It does not change the existing Disc ID/DNAS setting, a storage drive's identity, firmware, or IEEE-1394 bus configuration.
The requester proposes using this for console-bound game content. Source and host checks verify the ID response; content decryption and game compatibility are NOT TESTED on hardware. This is not a demonstrated fix for Tales of Rebirth.
Reference behavior: ps2max32/neutrino at 1bff25bcfa02e192f5b35cadbe53648786813974: a nonzero configured ID succeeds without SCMD 0x12; zero uses hardware.
The implementation adds eight bytes to the common launch block. EE patching and every embedded CDVDMAN backend must be rebuilt together. It adds no IOP allocation, thread, polling, or per-frame work. Native GCC measurements show sceCdRI growing from 104 to 232 bytes of code.
Host coverage executes parsing, UI normalization, native responses, default hardware status, null status pointers, GUID/model helpers, next-game reset, backend layouts and patch-zone restore. Console acceptance must compare returned IDs with/without the setting, launch a second game unset, and separately test any console-bound content using backed-up copies.
Start here
- Getting started
- Fresh-start defaults
- Installation and first boot
- Releases and packages
- Launch diagnostics
Storage and networking
- USB, MX4SIO and iLink
- MMCE
- Internal HDD: APA and exFAT
- PSX DESR DVR (experimental)
- PC CARD CompactFlash (experimental)
- SMB (moved to Network)
- Network: SMB, UDPFS and UDPBD
- HTTP
- NBD server
Games and features
- Game image formats: ISO, ZSO, CHD and CSO
- Neutrino core
- PS1: POPStarter and Ember
- Per-game settings
- Virtual memory cards
- File Manager
- GSM video modes
- In-game reset
- Cheats
- PADEMU
- RetroAchievements
- Apps
Interface and customization
- Settings reference
- Controls
- Coverflow
- Favorites
- Game library: All Games, Recent, Hide and Delete
- Theme engine
- Languages
- Japanese / Unicode game titles
Help and reference
- Troubleshooting
- ZSO format
- Backward-compatible PS3
- Credits and sources
- Features in other forks
- Notes for ps2sdk
- Project overview
Detailed references
- Documentation index
- Interface screenshots and capture workflow
- Test builds and diagnostics
- Launch diagnostics by package, core and transport
- Learning across PS2 loader projects
- VMC creation and recovery
- PC CARD CF implementation reference
- DESR DVR implementation reference
- Per-game console i.LINK ID
- Per-game parental lock
- SIO2MAN hook compatibility
- APA hard disk safety and code 402
- Autolaunch and global settings
- Folders, parental lock and audio
- Language maintenance
- HTTP server conformance tools
- APA recovery tool
- Setup questions and reporting launch failures
- Editions and build configurations
- Automatic VMC creation
- Compressed PS2 images: ZSO, CSO and CHD
- Favorites storage, staged saves and recovery
- CFG titles in game lists
- RA watch-list and snapshot budgets
- Maintaining the documentation
- Where every setting lives