Skip to content

Storage media optimization and file formats

This section describes methods for fitting a versatile library onto a 250 GB SSD while maintaining maximum compatibility and performance.

  1. FILE FORMATS AND PACKING TECHNIQUES

1.1 Wii Architecture (.wbfs) Wii games often contain a significant amount of "null data" (padding) with which the original physical disc is padded for compatibility. * Compression technology: Games are converted from ISO to .wbfs (Wii Backup File System). * Benefit: File size is reduced by 20-50% on average. For example, many Nintendo games only take up a fraction of the original 4.37 GB size. * Tool: Wii Backup Manager (automatic transfer and size optimization).

1.2 GameCube native playback (Scrubbed ISO) Unlike Wii games, GameCube games run through Nintendont, which requires the .iso file extension for native execution.

  • Packing technique: "Scrubbing" or "Trimming". The method identifies the actual data from the disk image and removes unused empty space while still maintaining the integrity of the file structure.
  • Goal: 30 carefully selected games, the total size of which is kept below the 25 GB budget.
  • Note: Some games (like F-Zero GX) are almost full of data, so the saving is minimal, while others (like Animal Crossing) shrink up to 90%.

1.3 PlayStation 1 emulation (.pbp)

The WiisXRX emulator uses the .pbp compression format developed by Sony for the PSP handheld console.

  • Compression technology: ZLIB-based compression (Compression level 9).
  • Multi-Disc Support: Multi-disc games (such as Metal Gear Solid or Final Fantasy VII) are combined into a single .pbp file.
  • Benefit: Saves space by approx. 30–40% and automates the replacement of virtual disks in the emulator.

1.4 Retro Archives (Full ROM Sets)

Managing thousands of small files is a critical point for an SSD's file system and search speeds.

  • C64 (Vice Wii): .d64 (disk image) and .t64 (tape) formats are used.
  • NES/SNES/MD: Games are primarily stored as .zip files, while the emulator supports direct reading.
  • Performance Observation: 32KB Cluster size is critical; it minimizes the "slack space" that occurs when small 2-16 KB files are stored on a large disk.

  1. Estimated space distribution (Projected Usage)
Section Games (pcs) Estimated Size Format Strategy
Wii Master Library 60 140 GB .wbfs WBFS Manager
GameCube Essential 30 25 GB .big Scrubbed / Trimmed
PS1 Classics 30 18 GB .pbp Level 9 Compression
Retro Sets (Full) 5000+ 12 GB .zip / .d64 Optimized Cluster Size
Nand / System - 5 GB - Virtual Console (WAD)
Free space (Buffer) - 50 GB - Wear Leveling & Safety

  1. Directory structure (SSD Root)
    β”œβ”€β”€ wbfs/               # Wii-pelit (Pelin Nimi [ID])
    β”œβ”€β”€ games/              # GameCube-pelit (Pelin Nimi [ID]/game.iso)
    β”œβ”€β”€ wad/                # Virtual Console & WiiWare -asennukset
    └── roms/               # Emulaattoreiden ROM-tiedostot
        β”œβ”€β”€ psx/            # PS1-pelit (.pbp)
        β”œβ”€β”€ c64/            # Commodore 64 (.d64, .t64, .tap)
        β”œβ”€β”€ snes/           # Super Nintendo
        β”œβ”€β”€ nes/            # NES
        └── [muut jΓ€rjestelmΓ€t alla olevan taulukon mukaan]

ROM directories for retro and game consoles

Year Device Directory Path (SSD Root) File format
1977 Apple II /roms/apple2/ .do, .dsk
1977 Commodore PET /roms/pet/ .prg, .d64
1979 Atari 800 /roms/atari/ .atr, .xfd
1980 VIC-20 /roms/vic20/ .prg, .d64
1982 Commodore 64 /roms/c64/ .d64, .t64, .crt
1982 ZX Spectrum /roms/zx/ .szx, .z80, .tap
1983 Nintendo NES /roms/nes/ .nes
1983 MSX Standard /roms/msx/ .rom, .mx1, .mx2
1984 Amstrad CPC /roms/amstrad/ .dsk
1984 Commodore +/4 /roms/plus4/ .d64, .prg
1985 Amiga 500 /roms/amiga/ .adf, .whd (and /bios/)
1985 Commodore 128 /roms/c128/ .d64, .g64
1988 SEGA Mega Drive /roms/megadrive/ .md, .bin
1990 Nintendo SNES /roms/snes/ .smc, .sfc
1994 PlayStation /roms/psx/ .pbp, .chd, .cue/.bin
1996 Nintendo 64 /roms/n64/ .z64, .n64
2001 GameCube /games/[Game Name]/ game.big
2006 Wii (Host) /wbfs/[Game Name]/ .wbfs, .big

Notes

  • The search paths are shown from the root of the SSD
  • In GameCube and Wii games, one folder per game
  • Amiga WHDLoad often requires a separate /bios/ directory

  • Technical findings & Configuration

4.1 File system

  • Format: FAT32. (Primary compatibility with Nintendont and Homebrew)
  • Cluster Size: 32KB. (Minimize space loss in small files)
  • Finding: Prevents space wastage for thousands of small C64 files while still maintaining performance for large image files.

4.2 Controller interfaces

  • Primary: Wii Remote + Classic Controller Pro.
  • Input: USB keyboard on the back panel for commands from emulated computers. (C64, VIC20, A500, etc.)

4.3 Audio emulation (C64)

  • Engine: ReSID. Let's investigate the ability of the Wii's PowerPC processor to model the MOS 6581 sound circuit in real time in an SSD-based environment.

🧰 Tools used

  • GUIFormat: SSD initialization.
  • Wii Backup Manager: .wbfs manager. (FAT32 32KB)
  • GC ISO Tool: Compression of disc images. (Scrubbing)
  • PSX2PSP v1.42: .PBP conversions. Convert PS1 disc images to .pbp format.