PS1: output PSN-style game folders (EBOOT.PBP + KEYS.BIN + DOCUMENT.DAT)

This commit is contained in:
2026-09-07 16:20:39 -04:00
parent 4d5c48cb94
commit a9c371c221
4 changed files with 77 additions and 27 deletions
+7 -7
View File
@@ -4124,13 +4124,13 @@ class MainWindow(QMainWindow):
if system == "videos":
dest_dir = psp_root / "ISO" / "VIDEO"
elif system == "ps1":
# PS1 EBOOTs install to /PSP/GAME/<folder>/EBOOT.PBP.
folder = item.get("serial") or item.get("name") or "PS1"
folder = "".join(c for c in folder if c not in '/\\:*?"<>|').strip() or "PS1"
dest_dir = psp_root / "PSP" / "GAME" / folder
log.info("copying ps1 eboot to psp: %s -> %s", item["path"], dest_dir / "EBOOT.PBP")
self.queue.enqueue(transfers.FileCopySource(item["path"]), dest_dir,
{"dest_name": "EBOOT.PBP"}, item.get("name") or folder, kind="psp-install")
# PS1 EBOOTs install as a whole game folder under /PSP/GAME.
src_folder = Path(item["path"]).parent
dest_dir = psp_root / "PSP" / "GAME"
log.info("copying ps1 game to psp: %s -> %s", src_folder, dest_dir / src_folder.name)
self.queue.enqueue(transfers.TreeCopySource(str(src_folder)), dest_dir,
{"dest_name": src_folder.name}, item.get("name") or src_folder.name,
kind="psp-install")
return True
else:
cat = "".join(c for c in (self._iso_category or "").strip() if c not in "/\\")