Description
BCD runs Windows games on iPhone and iPad. It requires iOS 18 or later and JIT. Installation and game compatibility information: https://github.com/thebcd69/bcd-games
Change Log
**BCD is in alpha:** an early stage of development, before beta. Many games run, many do not yet, and things can break between builds. When a game fails, please send a log.
## ✨ New
• **Performance overlay, redone.** Choose Off, 1, 2, 3, 4 or Custom in the in-game menu (Display), on the game's page or in Settings › Graphics. Layout 1 is a single FPS figure; 4 is a full report with a frame-time graph, 1% lows, memory against the iOS limit, the JIT pool and thermal state. Custom lets you pick the readings, the place, the size and the opacity. It stays clear of the touch controls and sits in the black bars when the picture leaves room. Off by default.
• **Screenshots.** In-game menu › Tools › Take a screenshot keeps the game's own picture in Files and Photos. Send Log can include a small copy (about 100 KB).
• **When a session ends unexpectedly**, BCD asks once at the next start whether to send its log.
• **Input:** a key bar (Alt+Tab, Alt+Enter, Win, Esc, Del, F1-F12, Ctrl/Alt/Shift latches); gyro aiming; turbo buttons and macros; players 1-4 with per-player rumble; a radial menu, an aim zone and multi-finger gestures; touch-control colours and PlayStation symbols; Apple Pencil as a precise mouse; a controller-type choice (Xbox, DualSense, generic); a Paste key for iPad clipboard text; the mouse wheel scrolls.
• **In-game menu:** pause and resume, a list of open windows, a task page with memory and the JIT pool, a magnifier, sharp or smooth picture filtering, and log tools with ready-made debug settings.
• **Game page:** Windows version, built-in or the game's own DLLs, quick launch options, CPU translation presets, simple fixes (INI and registry values), Wine desktop size, theme and wallpaper, a start delay, a second program and window rules, save backups (by hand or when the game closes; restore asks first), and Help with this game: a guided run that ends in Send Log, and feedback on how a game ran.
• **MIDI music** now plays (older games were silent).
• **Windows desktop › Start menu:**
- **BCD Tests:** system info, RAM 2-12 GB (it stops before iOS would close BCD), JIT pool, CPU, disk, network, DirectX 8/9/10/11/12, DirectDraw, frame time, display modes, sound, video, MIDI, controller and input tests, and "Run all tests".
- **BCD Tools:** Task Manager, Command Prompt, Notepad, Registry Editor, Wine configuration, Control Panel, Uninstall a program, Game Controllers.
- **BCD Runtimes:** XNA 4.0, PhysX, OpenAL and the DirectX June 2010 files, downloaded from their makers on request.
- **7-Zip** (without RAR support).
• **Battle.net and the EA app** are back in the Launchers tab (experimental).
## Other improvements
> **Tried one of these games on an earlier build? Reset its settings first.** A game keeps the settings it had until you reset them, so without this it may start with the old ones that failed. On the game's page: **Options › Recommended settings › Reset to Recommended**, then check that **Options › Auto-tune › Auto-tune this game** is on, and start the game again.
These fix failures found in the logs you sent with Send Log since 0.1.600. Each fix targets the error a log showed; most could not be tested on a device yet, so a game may now get further and still stop at a later point. If it does, please send a new log: it names the next problem.
• **64-bit Direct3D 9:** a game that uses nothing newer now draws through DXMT by default (it failed before for lack of OpenGL). PICO PARK, Don't Starve Together and A Hat in Time have recommended settings for it.
• **Direct3D 8** games can draw through Direct3D 9. Grand Theft Auto III, Max Payne 2, POSTAL 2 and Hotline Miami get it in their recommended settings.
• **GTA V Legacy from the Epic Games Store** (and Rockstar's store) has recommended settings of its own.
• **The Adventures of Elliot:** recommended settings for its large program.
• **EA app (experimental):** fixed child browser-window layering so the sign-in and library view stays above the outer window frame, guarded thread cleanup when TEB addresses are reused, and fixed 32-bit games launched from the EA app receiving an empty `PEB32` when a 64-bit background service started first.
• **Blur and The Secret of Monkey Island: Special Edition:** fixed the Direct3D 9 fullscreen `CreateDevice` failure (`D3DERR_INVALIDCALL`) reported in logs when a game passes an uninitialized refresh rate or a saved desktop resolution outside the device's enumerated display modes.
• **Megabonk, Big Walk and Vampire Survivors:** fixed the Unity IL2CPP crash reported in logs when a thread reads an object's method table while the garbage collector has the low mark bit set on its class pointer.
• **Naruto Shippuden: Ultimate Ninja Storm 3 Full Burst:** fixed the crash after naming the player reported in its log when a Visual C++ thread-naming exception (`0x406D1388`) reaches second-chance handling in a 32-bit session.
• **Warcraft II: Battle.net Edition and Pro Evolution Soccer 2013:** fixed the fault-storm guard ending sessions during valid self-modifying-code (`NtProtectVirtualMemory`) cycles reported in logs.
• **The Elder Scrolls V: Skyrim Special Edition and Mewgenics:** fixed debugger-less JIT pool allocation retrying the same overlapping address range when the first candidate lands inside the guest executable window.
• **DiRT 3 Complete Edition:** fixed Steam direct start picking `DXSETUP.exe` under `_CommonRedist` instead of the game's executable.
• **Amnesia: Rebirth and Aniimo:** added opt-in `glu32.dll` and `tdh.dll` system DLLs and Auto-tune rules for the missing-DLL startup errors reported in logs (OpenGL support is still unavailable for Amnesia: Rebirth).
• **Supermarket Together, Halo: The Master Chief Collection, Muv-Luv and Far Cry 3:** updated Auto-tune rules and recommended settings for the startup errors reported in their logs.
• **LEGO City Undercover:** fixed the invalid Metal colour-format path reported in its logs, which caused iOS to close BCD.
• **Slay the Spire 2 and Quaver:** Auto-tune can now try a targeted workaround after a matching startup failure. The workaround is off by default and is applied to that game's settings.
• **Portal:** Auto-tune now recognises a specific crash with Native ARM64 Direct3D 9 and can try emulated Direct3D 9 for that game.
• **Mewgenics:** clearer Auto-tune diagnosis when SDL cannot create an OpenGL window. OpenGL support is still unavailable.
• **Windows desktop:** corrected the graphics and decoder defaults used by the built-in 64-bit DirectX 9, DirectX 8 and 64-bit video tests.
• **Steam:** choose a game's language before downloading; download and install sizes on the game's page; cloud saves always over HTTPS, with a switch to turn Steam Cloud off.
• **Logs:** a summary line at the end of each session (average FPS, lows, peak memory), and an optional performance trace.
• **Safer prefix import:** archive entries that point outside the prefix are refused.
**Known issue:** Frame generation with MetalFX upscaling can make the graphics driver stop the game after a minute or two. Turn Frame generation off for now.
Install help, game reports and ideas: join the BCD-Games Discord.
**BCD.ipa**: the unsigned IPA, for sideloading with SideStore, AltStore or LiveContainer. It needs iOS 18 or later and JIT; the README has the details.
**BCD-source.tar.xz**: the complete source of this build with all its submodules (GPL-3.0).
Version
0.1.611 (611)
Last Updated
October 26, 2026