ps2homebrew/Open-PS2-Loader
GitHub: ps2homebrew/Open-PS2-Loader
开源的 PS2/PS3 游戏加载器,支持从 USB、网络、内置硬盘等多种媒介加载 ISO 游戏和自制软件。
Stars: 2771 | Forks: 365
版本类型
Open PS2 Loader 包中包含了同一 OPL 版本的几种类型。这些 类型包含的功能或多或少。 | 类型(可以是组合) | 描述 | | --------------------------- | --------------------------------------------------------------------------------------- | | `Release` | 常规 OPL 版本,包含 GSM, IGS, PADEMU, VMC, PS2RD Cheat Engine 和家长控制。 | | `DTL_T10000` | 用于 TOOLs (DevKit PS2) 的 OPL | | `IGS` | 带有游戏内截图 功能的 OPL。 | | `PADEMU` | 带有 DS3 和 DS4 手柄模拟 的 OPL。 | | `RTL` | 支持从右向左语言的 OPL。 |
如何使用
OPL 在 HDD、SMB 和 USB 模式下使用以下目录树结构: | 文件夹 | 描述 | 模式 | | ------ | ---------------------------------------------------- | ----------- | | `CD` | 用于 CD 介质上的游戏 - 即蓝底光盘 | USB 和 SMB | | `DVD` | 用于 DVD5 和 DVD9 镜像(如果文件系统支持 +4GB 文件) | USB 和 SMB | | `VMC` | 用于虚拟记忆卡镜像 - 从 8MB 到 64MB | 所有 | | `CFG` | 用于保存每游戏的配置文件 | 所有 | | `ART` | 用于游戏封面图片 | 所有 | | `THM` | 用于主题支持 | 所有 | | `LNG` | 用于翻译支持 | 所有 | | `CHT` | 用于作弊文件 | 所有 | | `APPS` | 用于 ELF 文件 | 所有 | OPL 会在您首次启动并启用您喜欢的设备时自动创建上述目录结构。 对于使用 APA 分区方案格式化的 HDD,OPL 将读取 `hdd0:__common/OPL/conf_hdd.cfg` 中的配置项 `hdd_partition` 以用作您的 OPL 分区。 如果未找到配置文件,将创建一个 128MB 的 `+OPL` 分区。如果您希望使用/创建不同的分区,可以编辑该配置。 OPL 创建的所有分区都将是 128MB(不建议扩大分区,因为这会破坏 LBA,如有需要,请删除并使用 uLaunchELF 手动以更大的尺寸重新创建)。 HDD 也可以格式化为 exFAT 以避免 2TB 的限制。请参阅下文 `HDD` 部分了解有关此配置的更多详细信息。
USB/MX4SIO/iLink
支持的文件系统: EXFAT(自 OPL v1.2.0 beta - rev1880 起)和 FAT32,两者都使用 MBR 分区表 游戏文件*理想情况下*应该逐个文件或对整个驱动器进行碎片整理。 如果您选择使用 FAT32 文件系统,大于 4GB 的游戏必须使用 USBExtreme 格式(参见 OPLUtil 或 USBUtil 程序)。 我们**不**推荐使用任何碎片整理程序。最好的碎片整理方法是 - 将所有文件复制到 PC,格式化 USB,然后将所有文件复制回去。 一旦再次面临碎片整理问题,请重复此操作。
SMB
要通过 SMB 协议加载游戏,您需要在主机或 NAS 设备上共享一个文件夹(例如:PS2SMB),并确保其具有完全的读写权限。USB Advance/Extreme 格式是可选的 - 使用上述文件夹结构支持 *.ISO 镜像。
HDD
对于 PS2,支持 48 位 LBA 内置 HDD。HDD 可以格式化为: - 带有 PFS 文件系统的 APA 分区(最高 2TB) - OPL 将在 HDD 上创建 `+OPL` 分区。为避免这种情况,您可以在 `hdd0:__common:pfs:OPL/conf_hdd.txt` 位置创建一个文本文件,其中包含首选分区名称(例如 `__common`)。 - 带有 exFAT 文件系统的 MBR 分区(最高 2TB)或 GPT 分区(无限制) - 文件应连续或同步添加以避免碎片。例如,一次拖放一个文件,或确保文件按顺序添加。 - 为 exFAT 文件系统格式化驱动器时,请确保 `分配单元大小` 设置为 `默认值`。
APPS
有两种方法可以将应用程序添加到 OPL。 ### conf_apps.cfg 方法(传统) 由用“=”符号分隔的两部分组成\ 其中,第一部分由将出现在您的 OPL 应用程序列表中的名称组成。\ 第二部分由 ELF 的路径组成。 开始: 1. 创建一个名为 `conf_apps.cfg` 的文本文件。 2. 在此文件中,输入您希望出现在应用程序列表中的名称,后跟“=”符号。 3. 输入设备标识符 (对于 USB 设备,它将是 `mass:`,对于记忆卡,它将是 `mc:`,其他设备以此类推)\ 最后是所需 ELF 的路径 结构应如下所示: ``` My App Name=mass:APPS/MYAPP.ELF ``` 让我们以 OPL 本身为例: ``` OPL=mass:APPS/OPNPS2LD.ELF ``` 使用此方法,ELF 不需要位于 APPS 文件夹中,但将它们保存在那里有助于保持一切井井有条。 conf_apps.cfg 文件必须位于您的记忆卡上的 OPL 文件夹中。\ 或者位于存储设备的根目录下 ### title.cfg 方法 同样由两部分组成,或者更确切地说,两行 其中,在第一行我们输入将出现在应用程序列表中的名称,在第二行我们输入 ELF 开始: 1. 在 APPS 文件夹中,创建一个以您要添加的 ELF 命名的新文件夹 2. 在这个新文件夹中,放置 ELF 并创建一个名为 `title.cfg` 的文本文件。 3. 在该文件中,添加以下说明: ``` title=My App Name boot=MYAPP.ELF ``` 再次以 OPL 为例: ``` title=Open PS2 Loader boot=OPNPS2LD.ELF ``` 我想强调的是,在此方法中,ELF 文件和 title.cfg 文件必须位于 APPS 文件夹内的一个文件夹中。
作弊
OPL 接受 PS2RD 格式的 `.cht` 文件。每个作弊文件对应一个特定的游戏,必须存储在您设备的 `CHT` 目录中。 作弊被构造为十六进制代码,并带有适当的标头作为描述以识别其功能。 您可以通过 OPL 的图形界面激活作弊。导航到游戏设置,启用作弊并选择所需的模式。 ### 作弊模式 * 自动选择作弊: 此模式将自动启用并将您的 `.cht` 文件中的所有作弊代码应用于您的游戏。 * 选择游戏作弊: 启用后,启动游戏时将出现作弊选择菜单。您可以浏览菜单并为此启动会话禁用不需要的作弊。`Mastercode` 无法禁用,因为应用任何其他作弊都需要它们。
NBD 服务器
OPL 现在使用 [NBD](https://en.wikipedia.org/wiki/Network_block_device) 服务器来共享内置硬盘,而不是 HDL 服务器。 NBD 是[正式文档化](https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md)的,并作为协作开放标准开发。 服务器的当前实现基于 [lwNBD](https://github.com/bignaux/lwNBD),请前往那里贡献 NBD 代码本身。 使用 NBD 的主要优势是客户端将以类似于直接连接驱动器的方式将驱动器公开给您的操作系统。 这意味着任何在直接连接时适用于该驱动器的实用程序都应该以相同的方式适用于 NBD。 OPL 目前仅支持导出(共享)PS2 的驱动器。 您可以使用 `hdl-dump`、`pfs-shell`,甚至直接在十六进制编辑器中编辑磁盘。 例如,要使用 `hdl_dump` 将游戏安装到 HDD: * 使用您选择的客户端连接(取决于操作系统) * 运行 `hdl_dump inject_dvd ps2/nbd "Test Game" ./TEST.ISO` * 断开客户端连接。 要在 OPL 中使用 NBD 服务器: * 获取最新的测试版(OPL 1.1.0(当前稳定版)在 NBD 服务器中存在一些错误) - 转到 [Releases](https://github.com/ps2homebrew/Open-PS2-Loader/releases) 部分并获取最上面的那个。 * 确保 OPL 配置了 IP 地址(静态或 DHCP)。 * 打开菜单并选择“Start NBD server”。准备就绪后,它应该会将屏幕更新为显示“NBD Server running...” * 现在您可以连接以下任何 NBD 客户端。 ### nbd-client 支持:Linux,[带有 WSL 和自定义内核的 Windows](https://github.com/microsoft/WSL/issues/5968) nbd-client 需要 nbd 内核支持。如果未加载, `sudo modprobe nbd` 即可。 列出可用的导出: ``` nbd-client -l 192.168.1.45 ``` 连接: ``` nbd-client 192.168.1.45 /dev/nbd1 ``` 断开连接: ``` nbd-client -d /dev/nbd1 ``` 您通常需要 sudo 才能在 root 环境下运行这些命令,或者 将您的用户添加到正确的组,通常是“disk”。 ### nbdfuse 支持:Linux,带有 WSL2 的 Windows 列出可用的导出: ``` nbdinfo --list nbd://192.168.1.45 ``` 连接: ``` mkdir ps2 nbdfuse ps2/ nbd://192.168.1.45 & ``` 断开连接: ``` umount ps2 ``` ### wnbd 支持:Windows [WNBD 客户端](https://cloudbase.it/ceph-for-windows/)。 安装,重启,打开提升的(具有管理员权限)[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) 连接: ``` wnbd-client.exe map hdd0 192.168.1.22 ``` 断开连接: ``` wnbd-client.exe unmap hdd0 ``` ### Mac OS 不支持。
ZSO 格式
从版本 1.2.0 开始,OPL 支持 ZSO 格式的压缩 ISO 文件。 要处理 ZSO 文件,此存储库的 pc 文件夹中包含一个 python 脚本。 它需要 Python 3 和 LZ4 库: ``` pip install lz4 ``` 将 ISO 文件压缩为 ZSO: ``` python ziso.py -c 2 "input.iso" "output.zso" ``` 将 ZSO 解压缩回原始 ISO: ``` python ziso.py -c 0 "input.zso" "output.iso" ``` 您可以将 ZSO 文件复制到与 ISO 相同的文件夹中,OPL 将检测到它们。 要安装到内置 HDD,您可以使用最新版本的 HDL-Dump。
PS3 BC
目前,仅支持 [PS3 向下兼容](https://www.psdevwiki.com/ps3/PS2_Compatibility#PS2-Compatibility) (BC) 版本。因此仅支持 [COK-001](https://www.psdevwiki.com/ps3/COK-00x#COK-001) 和 [COK-002/COK-002W](_URL_13/>) 主板。支持 USB、SMB、HDD 模式。 要运行 OPL,您需要一个运行 PS2 标题的入口点。您可以使用任何东西(例如 Swapmagic PS2),但首选带有最新 Cobra 的自制固件。注意:只有 CFW 支持 HDD 模式。
给开发者的一些说明
Open PS2 Loader 需要 [**最新的 PS2SDK**](https://github.com/ps2dev/ps2sdk)
OPL 存档
自 2021 年 7 月 5 日起,分发到此存储库发布部分的每个 OPL 构建都将上传到 [Mega 帐户](https://mega.nz/folder/Ndwi1bAK#oLWNhH_g-h0p4BoT4c556A)。您可以通过单击此自述文件顶部的 mega 徽章来访问该存档
常见问题
### OPL 在 Logo 或灰屏死机 有时 OPL 在加载由旧版 OPL 构建生成的配置文件时会死机。 ### 游戏在白屏死机 ### OPL 启动时不显示任何内容