Skip to content

Latest commit

ย 

History

136 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Logo

OrbitPS2 Manager โ€” a modern, cross-platform way to manage your PlayStation OPL game collection.

Platform License Releases AUR

๐Ÿ“– About

OrbitPS2 Manager is an open-source, cross-platform desktop application for organizing your PlayStation 2 (and PlayStation 1) game library for use with Open PS2 Loader (OPL).

It was created to fill the gap left by OPLManager, which lacks macOS and Linux support. The goal isn't to replace OPLManager, but to offer an alternative โ€” one that's modern, intuitive, and built with technologies familiar to JavaScript developers.

Built with Electron + Angular, styled with Tailwind CSS & daisyUI. Cross-platform: Windows, macOS, and Linux.

image

โœจ Features

๐ŸŽฎ Multi-system library

  • Manage PS2 (DVD & CD), PS1, and APPS (homebrew) all in one place
  • System tabs with live counts, plus a search box, sort (by title or game ID), and grid / list view modes
  • Click any game for a rich details view โ€” cover, screenshots, region, format, size, and metadata
  • At-a-glance library stats: total games mounted and per-system counts
  • Recognizes UL (split / fragmented) games

๐Ÿ“ฅ Importing

  • PS2 DVD โ€” import ISO / ZSO images
  • PS2 CD โ€” convert CUE/BIN (including multi-track) to a single ISO
  • PS1 โ€” convert CUE/BIN/ZIP to VCD, with a choice of launcher style:
    • POPStarter (default) โ€” auto-generates a POPStarter launcher under APPS/
    • RiptOPL / POPSLoader โ€” drops the VCD straight into POPS//VCD/ with no separate launcher
  • APPS โ€” import homebrew ELF executables with a custom title
  • Automatic game-ID detection by scanning the disc image (no need to look it up manually)
  • Queued batch imports with live progress for long operations
Screenshot 2026-08-28 at 18 12 26

๐Ÿ–ผ๏ธ Artwork

  • Download cover, icon, and screenshot art (COV / ICO / SCR) for PS1 & PS2
  • Fetch art for a single game or for your entire library in one click
  • Sourced from the PSX / PS2 OPL Art Database

๐Ÿ—œ๏ธ Compression & conversion

  • Compress PS2 ISO โ†’ ZSO (LZ4) to save disk space โ€” single game or bulk the whole library
  • Decompress a ZSO back to ISO for a single game
  • Convert a PS1 VCD back to BIN/CUE for a single game
  • Optionally delete the original file after compression/decompression

โš™๏ธ Per-game configuration

  • Edit OPL per-game settings (CFG/<GAMEID>.cfg) directly from the UI
  • Set the display title, toggle compatibility modes, and assign VMC slots
  • Unknown / OPL-written keys are preserved

๐Ÿ’พ Virtual Memory Cards (VMC)

  • Create, list, and delete OPL-compatible virtual memory cards (8 / 16 / 32 / 64 MB)

๐Ÿงน File maintenance

  • Invalid-file detection for malformed or wrongly-named files
  • Bulk auto-correction โ€” discover game IDs and rename in one pass, with optional artwork download
  • Rename to convention โ€” switch between the legacy (GAMEID.Title.iso) and new OPL naming styles
  • PS1 launcher style conversion โ€” switch existing PS1 games between POPStarter and RiptOPL/POPSLoader layouts, per game or library-wide
  • Safe delete โ€” removes the game image, its artwork, and any paired PS1 launcher

๐Ÿ› ๏ธ Quality of life

  • Theme picker โ€” OrbitPS2 Dark, Light, follow-system, or the original Legacy look
  • Auto-reconnect to your last library on launch
  • Real-time logs viewer with verbose mode
  • Built-in update check
  • Window-close guard while an import is in progress

๐Ÿ’ป Installation

Grab the latest build from the Releases page.

On Arch Linux you can also use the AUR binary or AUR git packages (thanks to u/m0tic).

๐ŸชŸ Windows

  1. Download the .exe installer (or the portable .zip if you'd rather not install).
  2. Run it โ€” the installer walks you through setup; the .zip just needs extracting, then run OrbitPS2Manager.exe.
  3. If SmartScreen appears, click "More info" โ†’ "Run anyway" (the app is unsigned but 100% safe).

๐Ÿ macOS

  1. Download the .dmg for your architecture:
    • arm64 (Apple Silicon โ€” recommended and tested)
    • x64 (Intel Macs)
  2. Open the .dmg and drag OrbitPS2Manager to your Applications folder.
  3. Because the app is unsigned (but 100% safe), macOS quarantines it. Remove the quarantine flag by running this in your terminal:
    xattr -dr com.apple.quarantine /Applications/OrbitPS2Manager.app
  4. Run the app.

๐Ÿง Linux

  1. Download the .AppImage, .deb, or .zip (whichever suits your distro).
  2. For the AppImage: make it executable and run it. For the .deb: install it with your package manager. For the .zip: extract and run the OrbitPS2Manager binary.

๐Ÿš€ How-To Guide

1. Mount your library

On first launch you'll be asked to mount a directory โ€” this is your OPL root: an internal folder or an external / USB drive that OPL reads from.

  • Click Mount Directory and pick the folder.
  • If it isn't already an OPL layout, the app offers to create the required folders (CD, DVD, VCD, POPS, APPS, ART, CFG, VMC) for you.
  • Enable Reconnect on launch in Settings and the app will re-mount this drive automatically next time it starts.

Everything else in the app operates on the currently mounted directory. Switch drives anytime by mounting a different folder.

2. Browse the library

The Library page is your home base.

  • System tabs (PlayStation 2 / PlayStation 1 / Apps) filter the view; each shows a live count.
  • Use the search box, the sort dropdown (Name or Game ID, Aโ€“Z / Zโ€“A), and the grid / list toggle to find things fast.
  • Click a game to open its details view โ€” cover art, screenshots, region, format, size, and any available metadata.
  • Each game's โ‹ฎ menu exposes per-game actions: Fetch artwork, Game settings, Convert to ZSO / Convert to ISO (PS2), Convert to BIN/CUE (PS1), Convert launcher (PS1, POPStarter โŸท RiptOPL/POPSLoader), Rename, and Delete.
  • The โ‹ฎ menu in the top-right runs library-wide actions (see below).

3. Import games

Go to the Import page and follow the three steps:

  1. Pick the disc type:

    Type Accepts What happens
    PS2 DVD .iso / .zso Copied into DVD/
    PS2 CD .bin / .cue Converted to a single .iso in CD/
    PS1 / POPS .cue / .zip Converted to .vcd, plus a launcher (see below)
    App / Homebrew .elf Copied into its own APPS/ folder with a title.cfg launcher
  2. Set options:

    • Download artwork after import โ€” grabs cover/icon/screenshot automatically.
    • (PS2 DVD) Use new OPL naming โ€” saves as <Title>.iso instead of SLES_123.45.<Title>.iso; OPL reads the game ID from the disc's SYSTEM.CNF.
    • (PS1) Launcher style:
      • POPStarter (default) โ€” auto-generates a POPStarter launcher in APPS/; the game shows up under the Apps tab.
      • RiptOPL / POPSLoader โ€” puts the .vcd straight into POPS//VCD/ with no separate launcher; the game shows up under the PS1 tab.
    • (PS1, POPStarter style only) POPStarter prefix โ€” XX. for USB / MX4SIO, or SB. for an SMB network share.
  3. Select files & review โ€” add one or many files. The app auto-detects the game ID and name by reading each disc; if something can't be resolved it's flagged so you can fill it in manually. Click Import and watch the queued progress.

4. Download artwork

  • One game: use the game's โ‹ฎ โ†’ Fetch artwork.
  • Whole library: use the top-right โ‹ฎ โ†’ Download artwork for all games.

Art comes from the PSX / PS2 OPL Art Database and lands in the ART/ folder as GAMEID_COV / _ICO / _SCR.

5. Compress / convert disc images

ZSO is an LZ4-compressed disc image that saves space while staying OPL-compatible.

  • One game: โ‹ฎ โ†’ Convert to ZSO.
  • Whole library: top-right โ‹ฎ โ†’ Convert all PS2 ISOs to ZSO.

You can choose to delete the original .iso after a successful conversion.

Need to go the other way? Per-game actions let you undo a conversion:

  • โ‹ฎ โ†’ Convert to ISO โ€” decompresses a PS2 .zso back to a plain .iso.
  • โ‹ฎ โ†’ Convert to BIN/CUE โ€” converts a PS1 .vcd back to .bin/.cue.

These "convert back" actions are per-game only โ€” there's no library-wide bulk version.

6. Configure a game

Open โ‹ฎ โ†’ Game settings on any PS2 game (or a PS1 launcher) to edit its OPL .cfg:

  • Display title โ€” the name OPL shows instead of the filename.
  • Compatibility modes โ€” toggle OPL's per-game compatibility flags.
  • VMC slots โ€” assign a virtual memory card to Slot 1 / Slot 2.

Any other keys already in the file (DMA settings, etc.) are preserved untouched.

7. Virtual Memory Cards

On the Memory Cards page you can create a blank VMC (8 / 16 / 32 / 64 MB), see all existing cards, and delete ones you no longer need. New cards are formatted by OPL on first use. Assign them to games from each game's settings dialog.

8. Fix invalid / mislabeled files

The Invalid Files page lists images OPL wouldn't recognise (usually a non-standard filename).

  • Rename Tool (per file) โ€” enter the game ID and title manually, optionally fetching artwork.
  • Bulk Auto-Correction โ€” reads every invalid disc image (ISO directly, ZSO on the fly) to discover its game ID, then renames everything into the convention you choose (new <Title>.iso or old <GAMEID>.<Title>.iso), optionally fetching artwork as it goes.

9. Rename to a naming convention

Switch a single game (โ‹ฎ โ†’ Rename to convention) or your whole library (top-right โ‹ฎ โ†’ Rename all games to convention) between:

  • New โ€” <Title>.iso (OPL reads the ID from the disc)
  • Old โ€” <GAMEID>.<Title>.iso (maximally compatible with older OPL builds)

10. Switch a PS1 game's launcher style

If you change your mind after importing, you can convert existing PS1 games between launcher styles:

  • One game: โ‹ฎ โ†’ Convert launcher (on a PS1 entry or its POPStarter launcher).
  • Whole library: top-right โ‹ฎ โ€” Convert All PS1 games to RiptOPL/POPSLoader (from the Apps tab) or Convert All PS1 games to OPL/Popstarter (from the PS1 tab).

11. Settings, appearance, logs & updates

  • Settings โ†’ Appearance โ€” pick a Theme: OrbitPS2 Dark, OrbitPS2 Light, OrbitPS2 (follows your system), or the original Legacy look.
  • Settings โ†’ Library โ€” toggle Reconnect on launch and see your last mounted directory.
  • Settings โ†’ Logging โ€” enable Verbose logging.
  • Logs โ€” a real-time, in-app log viewer; turn on verbose mode when reporting an issue.
  • Updates โ€” Settings โ†’ Check for updates compares your version against the latest GitHub release.

๐Ÿ“ OPL folder layout

OrbitPS2 Manager reads and writes the standard OPL directory structure:

OPL_ROOT/
โ”œโ”€โ”€ CD/     โ€” PS2 CD-format games (.iso / .zso)
โ”œโ”€โ”€ DVD/    โ€” PS2 DVD-format games (.iso / .zso)
โ”œโ”€โ”€ VCD/    โ€” PS1 games (.vcd) โ€” RiptOPL/POPSLoader-style, launcher-free
โ”œโ”€โ”€ POPS/   โ€” PS1 discs (.vcd) and POPStarter launchers (.elf) + POPS VMCs
โ”œโ”€โ”€ APPS/   โ€” Homebrew apps (one folder each, with title.cfg)
โ”œโ”€โ”€ ART/    โ€” Artwork (GAMEID_COV.png, GAMEID_ICO.png, GAMEID_SCR.png)
โ”œโ”€โ”€ CFG/    โ€” Per-game OPL settings (GAMEID.cfg)
โ””โ”€โ”€ VMC/    โ€” Virtual memory cards (.bin)

Game IDs follow the PS2 format XXXX_###.## (e.g. SLUS_123.45); the region is derived from the prefix.

๐Ÿ“œ License

This project is licensed under the GNU General Public License v3.0 โ€” see the LICENSE file for details.

๐Ÿค Contributing

Contributions are welcome! Here's how you can help improve OrbitPS2 Manager:

Ways to Contribute

  • Bug Reports โ€” found an issue? Open a bug report with detailed steps to reproduce.
  • Feature Requests โ€” have an idea for improvement? Submit a feature request.
  • Code Contributions โ€” submit pull requests for bug fixes or new features.
  • Testing โ€” test new releases and provide feedback.

๐Ÿงฐ Development Setup

After cloning the repo, get a working dev environment in one command.

โšก Automated (recommended)

A setup script detects your OS, installs the required tooling (Node.js, Git, and binutils for Linux .deb packaging), and installs the npm dependencies for both the Electron root project and the Angular renderer.

macOS / Linux

./scripts/setup.sh

Windows (PowerShell)

powershell -ExecutionPolicy Bypass -File scripts/setup.ps1

If you already have Node.js installed, you can also just run:

npm run setup

The script uses your platform's package manager โ€” Homebrew on macOS; apt / dnf / pacman / zypper on Linux; winget (or Chocolatey) on Windows. Install the package manager first if you don't have one.

๐Ÿ”ง Manual

Prefer to do it yourself? Install these prerequisites, then install dependencies in both projects:

  1. Node.js 20.19+ (22 LTS or 24 recommended) and npm โ€” https://nodejs.org

  2. Git โ€” https://git-scm.com

  3. (Linux packaging only) binutils for the GNU ar tool, required to build the .deb.

    • macOS: brew install binutils
    • Debian/Ubuntu: sudo apt-get install binutils
  4. Install dependencies for both the root and Angular projects:

    npm install                          # Electron main process (repo root)
    cd angular && npm install && cd ..   # Angular renderer

โ–ถ๏ธ Running

npm run app:serve       # full dev mode: Angular dev server + Electron with hot-reload
npm start               # build once and launch
npm test                # Electron main-process unit tests (`src/services`)
cd angular && ng test   # run the Angular unit tests

๐Ÿ“ฆ Packaging

npm run package:win     # Windows (NSIS installer + portable ZIP)
npm run package:mac     # macOS (DMG, x64 + arm64)
npm run package:linux   # Linux (DEB, AppImage, ZIP)

Pull Request Process

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes and commit them with clear messages.
  4. Push to your fork and submit a pull request.
  5. Ensure your code follows the project's coding standards.

About

A modern, cross-platform way to manage your OPL game collection.

Resources

Contributing

Stars

113 stars

Watchers

6 watching

Forks

Releases

Contributors

Languages