{"id":25872112,"url":"https://github.com/nathanneurotic/uopl","last_synced_at":"2026-02-09T21:17:27.720Z","repository":{"id":280228546,"uuid":"930383966","full_name":"NathanNeurotic/uOPL","owner":"NathanNeurotic","description":"Unofficial Open PS2 Loader by @Krahjohlito","archived":false,"fork":false,"pushed_at":"2025-03-01T16:33:52.000Z","size":2286,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"uOPL-1","last_synced_at":"2025-03-02T05:32:51.714Z","etag":null,"topics":["loader","open","opl","pops","ps1","ps2","unofficial","uopl"],"latest_commit_sha":null,"homepage":"https://www.psx-place.com/resources/abandoned-unofficial-open-ps2-loader-uopl.1523/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"afl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NathanNeurotic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-10T14:50:57.000Z","updated_at":"2025-03-01T01:34:41.000Z","dependencies_parsed_at":"2025-03-02T05:32:58.319Z","dependency_job_id":"b692440c-b225-4953-9c88-9023b63b8332","html_url":"https://github.com/NathanNeurotic/uOPL","commit_stats":null,"previous_names":["nathanneurotic/uopl"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanNeurotic%2FuOPL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanNeurotic%2FuOPL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanNeurotic%2FuOPL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NathanNeurotic%2FuOPL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NathanNeurotic","download_url":"https://codeload.github.com/NathanNeurotic/uOPL/tar.gz/refs/heads/uOPL-1","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241476394,"owners_count":19968905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["loader","open","opl","pops","ps1","ps2","unofficial","uopl"],"created_at":"2025-03-02T07:38:20.561Z","updated_at":"2026-02-09T21:17:27.666Z","avatar_url":"https://github.com/NathanNeurotic.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unoffical-Open-PS2-Loader\n\nCopyright 2013, Ifcaro \u0026 jimmikaelkael\u003cbr/\u003e\nCopyright 2024-2025, KrahJohilto, Wolf3s and Ripto\u003cbr/\u003e\nLicensed under Academic Free License version 3.0\nReview the LICENSE file for further details.\n\n[![CI](https://github.com/NathanNeurotic/Unofficial-Open-PS2-Loader/actions/workflows/compilation.yml/badge.svg?branch=uOPL-1)](https://github.com/NathanNeurotic/Unofficial-Open-PS2-Loader/actions/workflows/compilation.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/99032a6a180243bfa0d0e23efeb0608d)](https://www.codacy.com/gh/NathanNeurotic/Unofficial-Open-PS2-Loader/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=NathanNeurotic/Unofficial-Open-PS2-Loader\u0026utm_campaign=Badge_Grade)\n[![Discord](https://img.shields.io/discord/652861436992946216?style=flat\u0026logo=Discord)]([https://discord.gg/CVFUa9xh6B](https://discord.gg/hFRysYVReu))\n\n## Introduction\n\nU-Open PS2 Loader (u-OPL) is a 100% Open source game and application loader based on [OPL](https://github.com/ps2homebrew/Open-PS2-Loader) for\nthe PS2 and PS3 units. This version uses stable features that at the moment was not merged plus unique features.\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e Changes in uOPL \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\n  * uOPL uses a slightly older build environment in an attempt to increase stability, more akin to OPL r2049\n  * Multi USB works without issues (workaround)\n  * ATA HDD support ala grimdoomers fork\n  * UDPBD support (as a build variant) ala tihmstar \u0026 el_isra forks (untested) - likely needs more work\n  * Favourites Menu\n  * Optional per-game Neutrino core loading for increased compatibility\n  * Additional Mode 7 ala Neutrino (works with both Neutrino and OPL core)\n  * Legacy apps paths with `mass:` work\n  * Two new built in themes `\u003cuOPL\u003e` \u0026 `\u003cuOPL-CF\u003e`\n  * Additional theme options\n  * Debug builds have the option to send LOGs to a BDM device\n  * Disable all button for cheats selection menu\n  * Cancel pending ART requests at launch (should stop a crash that occurs when traversing the games list quickly and suddenly launching a title)\n\n### Neutrino Support\nNeutrino needs to be stored on either `mc0:NEUTRINO/neutrino.elf` or `mc1:NEUTRINO/neutrino.elf` with the usual setup of `config` and `modules` subfolders.\u003cbr\u003e\nIn game settings you will find an option `Loader Core` with the options of `\u003cOPL\u003e` or `Neutrino`\u003cbr\u003e\u003cbr\u003e\nSupported devices: `USB` `MX4SIO` `HDD (ATA)` `iLink` `UDPBD - untested` `HDD (APA) - untested (seems hit \u0026 miss for some games)`\u003cbr\u003e\u003cbr\u003e\nNeutrino does not support:\u003cbr\u003e\n`ZSO Format` `USBExtreme Format` (Will result in `\u003cOPL\u003e` core being used instead even if `Neutrino` is selected)\u003cbr\u003e\n`PADEMU` `GSM` `Cheats` (Will result in `Neutrino` still being used however these features will not be applied because Neutrino uses a diffrent sets of modules than OPL and u-OPL)\u003cbr\u003e\u003cbr\u003e\nGet [Neutrino](https://github.com/rickgaiser/neutrino/releases)\n\n### Additional Theme Options\nThese are all optional and will use default values if omitted.\n\n| Key                         | Description                                                                                                          |\n| --------------------------- | -------------------------------------------------------------------------------------------------------------------- |\n| `wsX`                       | Sets theme element posX position in widescreen (avoids the need for seperate 4:3 and 16:9 theme cfgs)                |\n| `skip`                      | If enabled will skip rendering of StaticImage types if there is no currently selected item                           |\n| `reflection`                | If enabled will render a reflection of GameImage or Coverflow types (not recommended for faked perspective images)   |\n| `plasma_blend_color`        | Optional secondary blend colour for plasma (now you can mix bg \u0026 blend colour, previously it was only bg \u0026 black)    |\n| `Coverflow`                 | New type will render 3 covers at a time, works with overlays and reflection etc                                      |\n| `aligned=2`                 | New value for \"aligned\" to right justify                                                                             |\n| `use_settings_bg=1`         | If enabled all menus will display `settings_bg.png` from your theme instead of traditional plasma for the background |\n\n\u003cimg src=\"previews/uOPL.png\" height=\"300\" /\u003e\n\u003cimg src=\"previews/uOPL-CF.png\" height=\"300\" /\u003e\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e Release types \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nOpen PS2 Loader bundle included several types of the same OPL version. These\ntypes come with more or fewer features included.\n\n| Type (can be a combination) | Description                                                                             |\n| --------------------------- | --------------------------------------------------------------------------------------- |\n| `Release`                   | Regular OPL release with GSM, IGS, PADEMU, VMC, PS2RD Cheat Engine \u0026 Parental Controls. |\n| `DTL_T10000`                | OPL for TOOLs (DevKit PS2)                                                              |\n| `IGS`                       | OPL with InGame Screenshot feature.                                                     |\n| `PADEMU`                    | OPL with Pad Emulation for DS3 \u0026 DS4.                                                   |\n| `RTL`                       | OPL with the right to left language support.                                            |\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e How to use \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nU-OPL uses the following directory tree structure across HDD, SMB, and\nUSB modes:\n\n| Folder | Description                                          | Modes       |\n| ------ | ---------------------------------------------------- | ----------- |\n| `CD`   | for games on CD media - i.e. blue-bottom discs       | USB and SMB |\n| `DVD`  | for DVD5 and DVD9 images (if filesystem supports +4gb files) | USB and SMB |\n| `VMC`  | for Virtual Memory Card images - from 8MB up to 64MB | all         |\n| `CFG`  | for saving per-game configuration files              | all         |\n| `ART`  | for game art images                                  | all         |\n| `THM`  | for themes support                                   | all         |\n| `LNG`  | for translation support                              | all         |\n| `CHT`  | for cheats files                                     | all         |\n\nU-OPL will automatically create the above directory structure the first time you launch it and enable your favorite device.\n\nFor HDD (APA) users, OPL will read `hdd0:__common/OPL/conf_hdd.cfg` for the config entry `hdd_partition` to use as your OPL partition.\nIf not found a config file, a 128Mb `+OPL` partition will be created. You can edit the config if you wish to use/create a different partition.\nAll partitions created by OPL will be 128Mb (it is not recommended to enlarge partitions as it will break LBAs, instead remove and recreate manually with uLaunchELF at a larger size if needed).\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e USB/MX4SIO/iLink/HDD (ATA) \u003c/b\u003e \u003c/summary\u003e\n\n\nGame files should be *ideally* defragmented either file by file or by whole drive.\nGames larger than 4GB must be stored on a device formatted with exFAT, or if the device is using FAT32, the USBExtreme format must be used (see OPLUtil or USBUtil programs).\nWe do **not** recommend using any defrag programs. The best way for defragmenting - copy all files to pc, format USB, copy all files back.\nRepeat it once you faced defragmenting problem again.\n\n\u003e NOTE: partial file fragmentation is supported (up to 64 fragments!) since OPL v1.2.0 - rev1893\n\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e SMB \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nFor loading games by SMB protocol, you need to share a folder (ex: PS2SMB)\non the host machine or NAS device and make sure that it has full read and\nwrite permissions. USB Advance/Extreme format is optional - \\*.ISO images\nare supported using the folder structure above.\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e HDD (APA)\u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nFor PS2, 48-bit LBA internal HDDs up to 2TB are supported. HDD should be\nformatted with the APA partition scheme. OPL will create the `+OPL` partition on the HDD.\nTo avoid this, you can create a text file at the location `hdd0:__common:pfs:OPL/conf_hdd.txt`\nthat contains the preferred partition name (for example `__common`).\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e Cheats \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nOPL accepts `.cht` files in PS2RD format. Each cheat file corresponds to a specific game and must be stored in the `CHT` directory on your device.\nCheats are structured as hexadecimal codes, with proper headers as descriptions to identify their function.\nYou can activate cheats via OPL's graphical interface. Navigate to a games settings, enable cheats and select the desired mode.\n\n### cheat modes\n\n  * Auto Select Cheats:  \nThis mode will enable and apply all cheat codes in your `.cht` file to your game automatically.\n\n  * Select Game Cheats:  \nWhen enabled a cheat selection menu will appear when you launch a game. You can navigate the menu and disable undesired cheats for this launch session. `Mastercode`s cannot be disabled as they are required for any other cheats to be applied.\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e NBD Server \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nOPL now uses an [NBD](https://en.wikipedia.org/wiki/Network_block_device) server to share the internal hard drive, instead of HDL server.\nNBD is [formally documented](https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md) and developed as a collaborative open standard.\n\nThe current implementation of the server is based on [lwNBD](https://github.com/bignaux/lwNBD), go there to contribute on the NBD code itself.\n\nThe main advantage of using NBD is that the client will expose the drive to your operating system in a similar way as a directly attached drive.\nThis means that any utility that worked with the drive when it was directly attached should work the same way with NBD.\n\nOPL currently only supports exporting (sharing out) the PS2's drive.\n\nYou can use `hdl-dump`, `pfs-shell`, or even directly edit the disk in a hex editor.\n\nFor example, to use `hdl_dump` to install a game to the HDD:\n\n  * Connect with your choosen client (OS specific)\n  * Run `hdl_dump inject_dvd ps2/nbd \"Test Game\" ./TEST.ISO`\n  * Disconnect the client.\n\nTo use the NBD server in OPL:\n\n  * Grab the latest beta version (OPL 1.1.0 (current stable) has some bugs in the NBD server) - go to the [Releases](https://github.com/ps2homebrew/Open-PS2-Loader/releases) section and grab the one at the top.\n  * Ensure OPL is configured with an IP address (either static or DHCP).\n  * Open the menu and select \"Start NBD server\". Once it's ready, it should update the screen to say \"NBD Server running...\"\n  * Now you can connect with any of the following NBD clients.\n\n### nbd-client\n\nSupported: Linux, [Windows with WSL and custom kernel](https://github.com/microsoft/WSL/issues/5968)\n\nnbd-client requires nbd kernel support. If it isn't loaded,\n`sudo modprobe nbd` will do.\n\nlist available export:\n\n```sh\nnbd-client -l 192.168.1.45\n```\n\nconnect:\n\n```sh\nnbd-client 192.168.1.45 /dev/nbd1\n```\n\ndisconnect:\n\n```sh\nnbd-client -d /dev/nbd1\n```\n\nYou'll generally need sudo to run this commands in root or\nadd your user to the right group usually \"disk\".\n\n### nbdfuse\n\nSupported: Linux, Windows with WSL2\n\nlist available export:\n\n```sh\nnbdinfo --list nbd://192.168.1.45\n```\n\nconnect:\n\n```sh\nmkdir ps2\nnbdfuse ps2/ nbd://192.168.1.45 \u0026\n```\n\ndisconnect:\n\n```sh\numount ps2\n```\n\n### wnbd\n\nSupported: Windows\n\n[WNBD client](https://cloudbase.it/ceph-for-windows/).\nInstall, reboot, open elevated (with Administrator rights) [PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7.1#how-to-start-windows-powershell-on-earlier-versions-of-windows)\n\nconnect:\n\n```sh\nwnbd-client.exe map hdd0 192.168.1.22\n```\n\ndisconnect:\n\n```sh\nwnbd-client.exe unmap hdd0\n```\n\n### Mac OS\n\nNot supported.\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e ZSO Format \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nAs of version 1.2.0, compressed ISO files in ZSO format is supported by u-OPL.\n\nTo handle ZSO files, a python script (ziso.py) is included in the pc folder of this repository.\nIt requires Python 3 and the LZ4 library:\n\n  ```sh\npip install lz4\n```\n\nTo compress an ISO file to ZSO:\n\n  ```sh\npython ziso.py -c 2 \"input.iso\" \"output.zso\"\n```\n\nTo decompress a ZSO back to the original ISO:\n\n```sh\npython ziso.py -c 0 \"input.zso\" \"output.iso\"\n```\n\nYou can copy ZSO files to the same folder as your ISOs and they will be detected by u-OPL.\nTo install onto internal HDD, you can use the latest version of HDL-Dump.\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e PS3 BC \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nCurrently, supported only [PS3 Backward Compatible](https://www.psdevwiki.com/ps3/PS2_Compatibility#PS2-Compatibility) (BC) versions. So only [COK-001](https://www.psdevwiki.com/ps3/COK-00x#COK-001) and [COK-002/COK-002W](https://www.psdevwiki.com/ps3/COK-00x#COK-002) boards are supported. USB, SMB, HDD modes are supported.\n\nTo run u-OPL, you need an entry point for running PS2 titles. You can use everything (Swapmagic PS2, for example), but custom firmware with the latest Cobra is preferred. Note: only CFW supports HDD mode.\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e Some notes for DEVS \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nOpen PS2 Loader needs the [**latest PS2SDK**](https://github.com/ps2dev/ps2sdk)\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e u-OPL Archive \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\nSince 05/07/2021 every u-OPL build dispatched to the release section of this repository will be uploaded to a [mega account](https://mega.nz/folder/Ndwi1bAK#oLWNhH_g-h0p4BoT4c556A). You can access the archive by clicking the mega badge on top of this readme\n\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e \u003cb\u003e Frequent Issues \u003c/b\u003e \u003c/summary\u003e\n\u003cp\u003e\n\n### u-OPL Freezes on logo or grey screen\n\n Sometimes u-OPL freezes when loading config files made by older u-OPL builds.\n\u003e hold __`START`__ while u-OPL initializes to make it skip the config loading, then, you can save your own settings.\n\u003e fixing the issue.\n\n### Game freezes on white screen\n\n\u003e Main game executable could not be found. Either game is fragmented or image is corrupted\n\n### u-OPL does not display anything on boot\n\n\u003e You may have selected a Video Mode which your TV does not support. Hold Triangle and Cross while u-OPL initializes to reset your video mode to \"Auto\".\n\n\u003c/p\u003e\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathanneurotic%2Fuopl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnathanneurotic%2Fuopl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathanneurotic%2Fuopl/lists"}