Skip to content

tzbkk/ps2-ready

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PS2 FHDB 无光驱安装工具集

PS2 SCPH-50006 + Matrix Infinity 直读 + 无光驱 + 无 FMCB 记忆卡 → HDD 启动方案。

目录结构

ps2/
├── scripts/              所有脚本
│   ├── baidu_pan_dl.py       百度网盘批量转存 + 下载 + 解压
│   ├── convert_images.sh     mdf/bin/cue/chd → ISO 批量转换
│   ├── inject_all.sh         hdl_dump 批量灌盘 (断点续灌)
│   ├── fix_failed.sh         修复灌盘失败的游戏
│   ├── download_art.py       OPL 封面批量下载 (xlenore/ps2-covers)
│   ├── fix-mbr.sh            写 MBR + 建 APA 分区 + 灌 FHDB
│   └── restore-mbr.sh        一键写回 uLaunchELF 引导
├── docs/
│   ├── manifest.md           90 款游戏清单 (含 redump.org 精确大小)
│   └── links.example.txt     分享链接文件模板
├── tools/                第三方工具 (gitignored)
│   └── FMCB/                 FMCB 安装器
├── LICENSE
└── README.md

环境变量

所有脚本通过环境变量配置路径,不硬编码任何机器特定值:

# 必须
export ISO_DIR=/run/media/hxue/XXXXX/PS2   # ISO 存放目录
export PS2_DEV=/dev/sdb                     # PS2 硬盘设备

# baidu_pan_dl.py 必须
export BAIDU_BDUSS='你的BDUSS'
export BAIDU_STOKEN='你的STOKEN'
export ARCHIVE_PASSWORD='解压密码'

# 可选 (有默认值)
export HDL_DUMP=/tmp/hdl_dump/hdl_dump      # 默认从 PATH 找 hdl_dump
export PFSSHELL=/tmp/pfsshell               # 默认从 PATH 找 pfsshell
export LOG_DIR=/tmp                         # 日志输出目录

依赖

sudo apt install aria2 unrar p7zip-full bchunk mame-tools mdf2iso genisoimage
pip install requests

工具从源码编译:

  • hdl_dumpgit clone https://github.com/ps2homebrew/hdl-dump && make
  • pfsshell — PS2 APA/PFS 分区管理

完整流程

1. 初始化 PS2 硬盘 (FHDB 安装)

export PS2_DEV=/dev/sdb
export MBR_IMG=/path/to/__mbr.raw
export FHDB_DIR=/path/to/fhdb-files
export PFSSHELL=/path/to/pfsshell

sudo bash scripts/fix-mbr.sh

硬盘装回 PS2,用 FMCBInstaller 安装 FHDB,再装回电脑继续灌游戏。

2. 批量下载游戏

export BAIDU_BDUSS='xxx'
export BAIDU_STOKEN='yyy'
export ARCHIVE_PASSWORD='oldmanemu.net'
export ISO_DIR=/run/media/hxue/XXXXX/PS2

python3 scripts/baidu_pan_dl.py \
  --share-url 'https://pan.baidu.com/s/xxxx' \
  --share-pwd 'abcd' \
  --manifest docs/manifest.md \
  --phase download

下载到 tmpfs (/tmp/ps2_tmp) → 解压到 ISO_DIR → 自动删压缩包,不会写 NVMe。

3. 转换非 ISO 格式

export ISO_DIR=/run/media/hxue/XXXXX/PS2
bash scripts/convert_images.sh

自动转换 mdf/bin/cue/chd → ISO。

4. 灌盘

export PS2_DEV=/dev/sdb
export ISO_DIR=/run/media/hxue/XXXXX/PS2
export HDL_DUMP=/tmp/hdl_dump/hdl_dump

sudo bash scripts/inject_all.sh

自动检测 CD/DVD,断点续灌,失败的记录到日志。

5. 下载 OPL 封面

export ISO_DIR=/run/media/hxue/XXXXX/PS2
# 可选: 直接输出到 U 盘
# export ART_DIR=/run/media/hxue/U盘/ART
# export ART_3D=1   # 3D 封面 (默认 2D)

python3 scripts/download_art.py

扫描每个 ISO 的 startup ID → 从 xlenore/ps2-covers 批量下载封面。

传到 PS2:

  1. ART/ 目录拷到 FAT32 U 盘
  2. uLaunchELF → mass: 选 ART → R1 Copy → hdd0:+OPL → Paste
  3. OPL Settings → Art → HDD

问题记录

症状 原因 解决
开机黑屏 FHDB 1.9xx 与直读内核补丁冲突 按住 START 禁用直读 → reset
反复读盘 MBR 扇区 0 指针未更新 bash scripts/restore-mbr.sh
安装器黑屏退出 lang/ 目录 检查 FMCBInstaller 目录结构
.7z 解压失败 文件实为 RAR5 (后缀不可信) 脚本已按 magic bytes 自动判断
灌盘 "no startup" ISO 损坏或非标准格式 用 bchunk 转换后重灌
OPL 封面不显示 文件名与 startup ID 不匹配 脚本自动从 SYSTEM.CNF 提取 ID

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors