Skip to content
github-actions[bot] edited this page Oct 26, 2026 · 1 revision

USB Mass Storage

USB flash drives, hard disks and card readers are the most flexible storage Launchstation supports: application library, file transfers, PS2 ISOs for Neutrino, POPStarter VCDs and Ember games can all live on a FAT32 or exFAT USB disk.

What is supported

  • Filesystems: FAT32 and exFAT through the BDM/FatFs stack. Each partition of a drive becomes its own logical unit.
  • Units: up to ten logical units, MASS 0 to MASS 9 (usb0:…usb9: internally, shown as mass0:… in paths and breadcrumbs). The console itself has two ports; a hub is needed for more drives.
  • Hot-plug: attaching or removing a drive while the dashboard runs refreshes the device cards and plays the connect/disconnect sound (after a two-second settling period at start-up so boot-time mounts stay silent). Cached results are used for drawing; no USB I/O happens while the screen is being drawn.
  • Also on USB: a USB keyboard (Settings > Input > USB keyboard) shares the same host controller. The optional DS3/DS4 build adds its own USB/Bluetooth controller drivers.

Using USB

  1. Plug the drive in. If Auto-start USB storage is on (Settings > Storage & devices > Start devices automatically, default off) USB is ready when the dashboard opens. Otherwise the device card reads Not connected (dim) until you open it.
  2. Open MASS in the Files tab device cards. Launchstation loads the USB drivers (USB host, BDM, BDM file system, USB mass storage), then probes up to four times, 0.6 s apart. It accepts the first drive and waits a short time for a second.
  3. When drives are found there is one card per logical unit (MASS 0, MASS 1…, status Ready). If none is found the card reads Connect a USB storage device.

The USB card also appears with a legacy alias mass: (the first available unit). Do not hard-code mass0:: attach order, partitions and other BDM devices (MX4SIO, iLink) all take numbers from the same massN: namespace.

Using USB for games

Content Layout
Applications mass:/APPS/<app>/ and mass:/BOOT/<app>/ are scanned by default for the Home application library (one sub-folder deep).
PS2 ISO (Neutrino) Any folder; Neutrino can be on the same disk in /neutrino/ (or on a memory card). Backend usb.
PS1 VCD (POPStarter) POPS/*.VCD at the root; POPS/POPSTARTER.ELF is found automatically.
PS1 CUE/BIN/EXE (Ember) <folder>/games/<Game>/ with ember.elf and bios.bin in the folder above games. USB gets a dedicated remount hand-off.

Stability notes

  • Every USB filesystem probe is a synchronous call to the PS2’s I/O processor. Retries are bounded, but a single call that blocks inside the driver cannot be timed out safely by the main CPU.
  • If the controller’s analog light goes out and animation stops during USB start, the IOP (or PAD/SIO2 session) is stalled. That is a driver/hardware stall, not necessarily a Launchstation reset.
  • Two bus-powered drives can exceed the console’s USB power budget; use a powered hub.
  • Do not unplug a drive while writing. Copy errors name the numeric driver code.
  • Launchstation loads the USB host driver before the BDM filesystem modules and uses the pre-rewrite usbd host driver, which avoids a lock-up seen with the newer one on some consoles. Intermittent first-access freezes on setups with many attached devices are still under investigation; see the USB stability audit.
  • USB can be started together with HDD, exFAT HDD, iLink and UDPFS. MMCE and MX4SIO can also coexist with USB; only MMCE and MX4SIO exclude each other.

Diagnostics

Tools > USB unit diagnostics shows the cached logical-unit mask with no I/O, or probes unit 0 or unit 1 one at a time. Each manual probe could freeze a failing console; use it deliberately. Logical usb0:/usb1: numbers do not identify physical ports.

Troubleshooting

  1. “No USB storage device was found”. Check the drive is FAT32/exFAT and has a partition table the console can read; try one drive at a time and a different port.
  2. Second drive missing. It may enumerate after the probe window. Use Check again on the USB card, or attach it before opening USB.
  3. A path with a remembered unit number fails. Re-pick the unit from the device list; numbering follows attach order.
  4. Freezes at start. Boot with only one drive, try a powered hub, and record whether MMCE/MX4SIO/UDPFS were started first. Include the exact build hash.

Clone this wiki locally