Skip to content

Commit 4e023c3

Browse files
Merge pull request #23 from NathanNeurotic/codex/perform-repository-cleanup-and-bug-hunt
Add comprehensive beta testing checklist
2 parents 8ef8392 + 82950d7 commit 4e023c3

1 file changed

Lines changed: 92 additions & 0 deletions

File tree

BETA_TEST_CHECKLIST.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
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

Comments
 (0)