Medal of Honor: European Assault PC Port
PC port of Medal of Honor: European Assault
- RecompilationPort Type
- boodyandmustafaDeveloper
- 5 Nov 2026Page Updated

Details
- Developer
- boodyandmustafa
- Port Type
- RecompilationA tool translated the game's original machine code into C automatically, which was then built as a native PC program.
- AI Use
- Mostly AI-builtThe project says: “which wrote and reverse‑engineered most of this port's code interactively with the author.” Source
- Source Code
- GitHub
- xboxrecomp (Tool)
- GitHub
- Page Updated
Platform Support
- Windows
Screenshots
DEFAULT.XBE, the DATA folder and EAGLRM.O, unpacked from your disc. Windows 10 or 11 64-bit and a DirectX 11 graphics card.Overview
Medal of Honor: European Assault PC Port is an unofficial native Windows port of EA Los Angeles’ 2005 Xbox shooter by boodyandmustafa. The game’s program is statically recompiled into a 64-bit PC executable with the xboxrecomp toolkit, while sound and video code derived from xemu stands in for the console’s chips. It is a beta, and only the US release of the game is supported.
The download includes the recompiled program but none of the game’s data: players copy the files from their own disc into its folder. The port’s own code, launcher and tools are published under the MIT licence; the recompiled game code is not.
It renders with Direct3D 11 at 16:9 and up to 4K, with anti-aliasing, a wider field of view, a longer draw distance and high frame rates. It adds native mouse aiming and key rebinding, controller rumble, sharper redrawn fonts, adjustable blood and screen effects, a grenade timer, an optional stamina bar and extra enemies, and mods for textures, sounds, weapon stats and difficulty. Menus and the launcher come in English and Arabic. The developer says Claude Code wrote and reverse-engineered most of the code with them. A separate ReShade add-on is also offered.
How to Set It Up
- Download the zip and extract it to a folder you can write to (not Program Files).
- Copy your game’s
DEFAULT.XBE,DATAfolder andEAGLRM.Ointo thegamefolder. A disc image can be unpacked with xdvdfs or another Xbox ISO extractor. - Run
Launcher.exe. Once the Play tab shows green checks, pick your settings and press Play. - The first start of each area compiles shaders, so short stutters are expected. F1 opens the port’s settings during play.
Advertisement
Download Medal of Honor: European Assault PC Port
What's new in v0.9.10.9.1-beta
Medal of Honor: European Assault - PC Port 0.9.1-beta
Unofficial PC port made by statically recompiling the game (Xbox, USA / NTSC-U). No game files are included - you need your own copy (put DEFAULT.XBE, the DATA folder and EAGLRM.O in the game folder, then start Launcher.exe). The port’s source code is now published (MIT) in the source folder of the repository.
SHA-256 of the zip: 66f13ca485b7de9a54b85be491d27b9e563a5b542bb2a71f7a12f8aef3c40a53
What’s new
Faster — measured, same PC, same settings
A/B test of the 0.9.0-beta executable against this one (RTX 4060, 165 Hz cap, same level, same route):
| 0.9.0-beta | 0.9.1-beta | change | |
|---|---|---|---|
| Median frame rate | 131 fps | 161 fps | +23% |
| Slowest 10% of the time | 89 fps | 145 fps | +63% |
| Median 1% low | 94 fps | 107 fps | +14% |
In the heaviest places of the author’s test (where 0.9.0 dipped to 80–125 fps) the new build stays above 150. Gains depend on your PC; the busiest scenes gain the most. What changed inside:
- The whole game code is built with profile-guided optimisation, trained on real play.
- The cached register and memory base addresses are loaded once per function instead of before almost every memory access, in all 21,741 recompiled functions.
- The game thread gets priority in the emulated CPU lock: a worker no longer holds it for milliseconds (waits fell from 5–6 ms to under 1 ms per frame).
- Environment-variable lookups answered from a per-thread cache (they were hit on every frame).
- A hitch watchdog and a per-second
[FRAMES]line inplay_log.txt(frame times, lock waits) so a stutter can be traced from a bug report. - The developer diagnostics (AI probes, shot and projectile logs, aim measurement) are compiled out of the player build, so they cannot cost a frame.
Gameplay fixes
- Karabiner 98k (and the whole fast-rifle class) now hits what the crosshair is on at 60 fps and above. At high
frame rates the game dropped the camera-kick term from the bullet’s direction, so the bullet left about 2° too high
and passed over enemies at range, while at 30 fps it was fine. The direction is now the same at every frame rate.
It applies to the player’s bullets with a fast muzzle speed (the Karabiner and rifles that share its class), not
to machine guns or pistols.
RECOMP_AIM_FIX=0turns it off. - Weapon mods: the scanner no longer reads
mods\weapons\README.txtas if it were a weapon file. - Grenade timer (new, on by default, switchable): a small circle at the side of the screen counts down the seconds from the moment a grenade’s pin is pulled or it is thrown.
New options (in the launcher and in the in-game Recomp Settings, English and Arabic)
- Enemy count (heavy, experimental) — x2 to x5 times the enemies that spawn points create (reinforcements and respawns). Takes effect at the next mission load, can cost frames, and can be turned on or off per difficulty (Recruit, Veteran, Elite, Hero) with four extra switches.
- Stamina bar — a yellow sprint bar above the adrenaline meter that drains while you run; when it is empty you return to walking speed and it refills after a few seconds. Sprint speed, duration and recovery time are options.
- Blood colour — Original / Crimson (the new default) / Dark red / Custom with Hue, Saturation and Brightness rows and a colour square. The on-screen splatters keep their own colour.
- Model detail (level of detail for every model by distance): Game (the original) / Higher / Highest. Higher and Highest draw the better models farther away, so they can cost frames.
- Replaced textures — On/Off while playing, to compare the game’s pictures with yours instantly.
- Dump textures is now Off / PNG / DDS. DDS replacements are read by the port itself (uncompressed 24/32-bit and DXT1/3/5, old or DX10 header).
…
66f13ca485b7de9a54b85be491d27b9e563a5b542bb2a71f7a12f8aef3c40a53
f18893702064b6130720edd6220712c7484e7da2f613e5cbe72a2e96067c65d1
d6f6b149d24cdabeb853d26243a42f9fe3711b547a1c73d04b302afbe4c74f5a
