Port upstream standalone commit fef2b38 so Step 1.x exposes only MPC105 and Step 2.x only MPC106. Keep bridge selection tied to hardware stepping even when the Libretro CPU-frequency override is active, and remove obsolete per-game PCI overrides.
On Android 16, fopen on /storage/emulated/0/ paths is blocked by scoped
storage for apps without MANAGE_EXTERNAL_STORAGE. Add a memory-based
GameLoader constructor that accepts raw XML bytes, then in LibretroWrapper
read Games.xml via the libretro VFS interface (which bypasses the restriction).
If VFS open fails, fall back to the bundled_games_xml bytes embedded in the
binary. This makes the core self-contained and load-capable on Android without
any manual file setup.
Negotiate RETRO_ENVIRONMENT_GET_VFS_INTERFACE (level 1) in retro_init()
and route all ZIP archive I/O through the frontend's VFS when available.
Falls back gracefully to direct fopen64 on frontends that don't support VFS.
- vfs_ioapi.cpp: zlib_filefunc64_def bridge backed by retro_vfs_interface
- GameLoader: SetZipFilefunc() static setter; uses unzOpen2_64 when set
- LibretroWrapper: wires VFS filefunc before GameLoader::Load()
- libretro_cbs.h: exports g_vfs_interface
Required for libretro buildbot submission.