|
| 1 | +# PS2BBL Extended — Beta Tester Checklist |
| 2 | + |
| 3 | +Comprehensive pass/fail worksheet for verifying every IRX provisioning path and device combination on real hardware. Check off every item. Record **P/F**, console model/SCPH, ROMVER, and storage details for each row. |
| 4 | + |
| 5 | +## How to use |
| 6 | +- Build each configuration exactly as specified (toggle Makefile flags accordingly). Note whether IRXs are **embedded in the ELF** or **loaded externally** from memory card (`mc?:/SYS-CONF/`) or other media. |
| 7 | +- For external IRX tests, place modules at the indicated paths before boot. |
| 8 | +- Run on real consoles (fat, slim, Tool/DEX, DESR where applicable). Note HDD presence/partitioning, MX4SIO card type, MMCE/SD wiring, and USB devices used. |
| 9 | +- For runtime-enabled stacks, verify both the **config enable key** and the **driver load result**. |
| 10 | + |
| 11 | +## Common external IRX paths |
| 12 | +- `mc0:/SYS-CONF/USBD.IRX` |
| 13 | +- `mc0:/SYS-CONF/BDM.IRX` |
| 14 | +- `mc0:/SYS-CONF/BDMFS_FATFS.IRX` |
| 15 | +- `mc0:/SYS-CONF/USBMASS_BD.IRX` |
| 16 | +- `mc0:/SYS-CONF/PS2DEV9.IRX` |
| 17 | +- `mc0:/SYS-CONF/POWEROFF.IRX` |
| 18 | +- `mc0:/SYS-CONF/PS2ATAD.IRX` |
| 19 | +- `mc0:/SYS-CONF/PS2HDD.IRX` |
| 20 | +- `mc0:/SYS-CONF/PS2FS.IRX` |
| 21 | +- `mc0:/SYS-CONF/MMCEMAN.IRX` |
| 22 | +- `mc0:/SYS-CONF/MX4SIO_BD.IRX` |
| 23 | +- `mc0:/SYS-CONF/XFROMMAN.IRX` |
| 24 | +- For runtime dev9-less UDPTTY: also stage `NETMAN.IRX`, `SMAP.IRX`, `PS2IP.IRX`, `UDPTTY.IRX`. |
| 25 | +- Use `mc1:/SYS-CONF/` duplicates where noted. |
| 26 | + |
| 27 | +## Core USB stack (HAS_EMBED_IRX vs external) |
| 28 | +- [ ] **Embedded USB**: `HAS_EMBED_IRX=1`, no external IRX present. Verify mass:/ mount, device hotplug, and boot of `LK_AUTO` target from USB. |
| 29 | +- [ ] **External USB (mc0)**: `HAS_EMBED_IRX=0`, place `USBD.IRX`, `BDM.IRX`, `BDMFS_FATFS.IRX`, `USBMASS_BD.IRX` in `mc0:/SYS-CONF/`. Confirm load, mass:/ visibility, and launch path. |
| 30 | +- [ ] **External USB (mc1 fallback)**: Same as above, files only on mc1. Confirm fallback works. |
| 31 | + |
| 32 | +## Baseline pads/MC (no optional drivers) |
| 33 | +- [ ] **ROM pad/MC drivers**: `HOMEBREW_IRX=0`, `HAS_EMBED_IRX=1`, all optional stacks off. Confirm pad input, MC access, logo timeout boot. |
| 34 | +- [ ] **Homebrew pad/MC drivers embedded**: `HOMEBREW_IRX=1`, embedded IRX objects. Confirm pad/MC operation and config read. |
| 35 | +- [ ] **Homebrew pad/MC external**: `HOMEBREW_IRX=1`, strip embedded pad IRX, stage `SIO2MAN.IRX`, `MCMAN.IRX`, `MCSERV.IRX`, `PADMAN.IRX` in `mc0:/SYS-CONF/`. Boot with/without mc0 inserted to verify failure reporting. |
| 36 | + |
| 37 | +## HDD stack combinations (embedded vs external) |
| 38 | +- [ ] **Embedded HDD full stack**: `HDD=1`, `HAS_EMBED_IRX=1`, DEV9 present. Confirm `hdd0:` status, `pfs0:` mount, `HDD_ENABLE` key ignored (always on), and loading ELF from `hdd0:__sysconf:pfs:/PS2BBL/CONFIG.INI`. |
| 39 | +- [ ] **Embedded HDD without PS2FS (negative)**: Temporarily remove `ps2fs_irx` from build; expect mount failure with clear error. |
| 40 | +- [ ] **External HDD stack (runtime)**: `HDD_RUNTIME=1`, `HDD=0`, `HAS_EMBED_IRX=0`; place `PS2DEV9.IRX`, `POWEROFF.IRX`, `PS2ATAD.IRX`, `PS2HDD.IRX`, `PS2FS.IRX` on `mc0:/SYS-CONF/`. Confirm `HDD_ENABLE=1` triggers load; verify pfs mount and unmount behavior. |
| 41 | +- [ ] **External HDD fallback mc1**: Same as above but only mc1 populated; verify load. |
| 42 | +- [ ] **Runtime HDD without PS2FS (negative)**: Omit `PS2FS.IRX` externally; expect controlled failure message, no crash. |
| 43 | + |
| 44 | +## MX4SIO combinations |
| 45 | +- [ ] **Embedded MX4SIO BD**: `MX4SIO=1`, `HAS_EMBED_IRX=1`, FILEXIO included. Confirm detection of `sdc` device, `massX:/` mount, and config search path enablement. |
| 46 | +- [ ] **MX4SIO external (runtime)**: `MX4SIO_RUNTIME=1`, stage `MX4SIO_BD.IRX` in `mc0:/SYS-CONF/`. Test `MX4SIO_ENABLE=1` and `MX4SIO_ENABLE=0` in CONFIG.INI (ensure path disables when zero). Repeat with only mc1 populated. |
| 47 | +- [ ] **MX4SIO + HDD embedded**: `MX4SIO=1 HDD=1 HAS_EMBED_IRX=1`. Verify both `massX:/` and `pfs0:/` simultaneously and config search ordering. |
| 48 | +- [ ] **MX4SIO runtime + HDD runtime external**: `MX4SIO_RUNTIME=1 HDD_RUNTIME=1 HAS_EMBED_IRX=0`; all IRX on `mc0:/SYS-CONF/`. Confirm both stacks load via CONFIG enables and co-exist. |
| 49 | +- [ ] **MX4SIO negative (no card)**: Build with `MX4SIO_RUNTIME=1`, set `MX4SIO_ENABLE=1`, boot without MX4SIO adapter; confirm graceful failure message and continued boot. |
| 50 | + |
| 51 | +## MMCE combinations |
| 52 | +- [ ] **Embedded MMCE**: `MMCE=1`, `HAS_EMBED_IRX=1`. Confirm `mmce0:/`/`mmce1:/` mount, config search enablement, and ELF load from SD. |
| 53 | +- [ ] **MMCE external (runtime)**: `MMCE_RUNTIME=1`, place `MMCEMAN.IRX` on `mc0:/SYS-CONF/`. Test `MMCE_ENABLE=1/0`, repeat with only mc1 populated. |
| 54 | +- [ ] **MMCE + HDD embedded**: `MMCE=1 HDD=1 HAS_EMBED_IRX=1`; verify simultaneous `mmce` + `pfs` access. |
| 55 | +- [ ] **MMCE runtime + HDD runtime external**: `MMCE_RUNTIME=1 HDD_RUNTIME=1 HAS_EMBED_IRX=0`; confirm both load via CONFIG enables. |
| 56 | +- [ ] **MMCE negative (no SD)**: Runtime build with `MMCE_ENABLE=1`, no SD inserted; confirm clean error path and no hang. |
| 57 | + |
| 58 | +## XFROM combinations |
| 59 | +- [ ] **XFROM runtime (external only)**: `XFROM_RUNTIME=1` (module always external). Place `XFROMMAN.IRX` on `mc0:/SYS-CONF/` and test `XFROM_ENABLE=1/0`; repeat with only mc1 populated. |
| 60 | +- [ ] **XFROM + HDD runtime**: `XFROM_RUNTIME=1 HDD_RUNTIME=1 HAS_EMBED_IRX=0`; verify both stacks load and config search order updates (`xfrom:/PS2BBL/CONFIG.INI`). |
| 61 | +- [ ] **XFROM negative (no module present)**: `XFROM_RUNTIME=1`, omit `XFROMMAN.IRX`; ensure visible failure and continued boot. |
| 62 | + |
| 63 | +## USB logging stacks (optional) |
| 64 | +- [ ] **UDPTTY embedded**: `UDPTTY=1 HAS_EMBED_IRX=1 DEV9_NEED=1`. Confirm network bring-up and log reception. |
| 65 | +- [ ] **UDPTTY external**: `UDPTTY=1 HAS_EMBED_IRX=0`; place `NETMAN.IRX`, `SMAP.IRX`, `PS2IP.IRX`, `UDPTTY.IRX` on `mc0:/SYS-CONF/`. Verify log output. |
| 66 | +- [ ] **PPCTTY embedded**: `PPCTTY=1 HAS_EMBED_IRX=1`. Confirm UART log output. |
| 67 | + |
| 68 | +## PSX-DESR (PSX=1) combinations |
| 69 | +- [ ] **PSX build, embedded core only**: `PSX=1 HAS_EMBED_IRX=1`, no optional stacks. Confirm PS1 driver init, DVD player init, and DESR-specific IOP reset flow. |
| 70 | +- [ ] **PSX + MX4SIO embedded**: `PSX=1 MX4SIO=1 HAS_EMBED_IRX=1`. Confirm `massX:/` availability and PSX pad/MC behavior. |
| 71 | +- [ ] **PSX + MX4SIO runtime external**: `PSX=1 MX4SIO_RUNTIME=1`, stage `MX4SIO_BD.IRX` on `mc0:/SYS-CONF/`; test enable/disable keys. |
| 72 | +- [ ] **PSX + MMCE embedded/runtime**: Repeat the two MMCE cases above with `PSX=1`. |
| 73 | +- [ ] **PSX + HDD runtime external**: `PSX=1 HDD_RUNTIME=1`, external HDD IRX on `mc0:/SYS-CONF/`; verify enable key and pfs mount. |
| 74 | + |
| 75 | +## CHAINLOAD mode |
| 76 | +- [ ] **CHAINLOAD embedded IRX**: `CHAINLOAD=1 HAS_EMBED_IRX=1`, verify automatic boot of `CHAINLOAD_PATH` (`mc?:/BOOT/PAYLOAD.ELF`) and fallback to `mass:/RESCUE.ELF`. |
| 77 | +- [ ] **CHAINLOAD external USB**: `CHAINLOAD=1 HAS_EMBED_IRX=0`, stage USB stack externally; confirm chainload still succeeds. |
| 78 | + |
| 79 | +## External path variations (all stacks) |
| 80 | +For each runtime/external test above, also verify: |
| 81 | +- [ ] Modules only on `mc1:/SYS-CONF/` (mc0 empty). |
| 82 | +- [ ] Mixed: core USB on mc0, optional stack IRX on mc1. |
| 83 | +- [ ] Absence case: CONFIG requests enable but module file missing — verify clear on-screen error, boot continues. |
| 84 | + |
| 85 | +## Reporting |
| 86 | +For each checklist item, capture: |
| 87 | +- Build flags used (exact make invocation) |
| 88 | +- Console model/SCPH and region |
| 89 | +- Storage/adapter details (HDD model, SD card type, MX4SIO adapter rev, USB stick model) |
| 90 | +- Config source resolved and final CONFIG.INI contents for runtime enables |
| 91 | +- Observed behavior (mount success, device listing, ELF launch, error texts) |
| 92 | +- Pass/Fail result |
0 commit comments