Systems

PC (x86 and x86-64)

x86 (32-bit) and x86-64

Built on
SwARc x86 core and Win32 platform module
Progress
SwARc platforms/win32 on main (commits)
Updated
2026-11-09

Windows games for x86 and x86-64 PCs, on SwARc’s x86 core and Win32 module (both on by default). The x86 core’s lifter translates their code to C++, and the Win32 platform module reads their PE images and reimplements the Windows, DirectX and middleware APIs they import: Win32 on POSIX and SDL3, Miles, Bink, DirectDraw/Direct3D 7, OpenGL 1.x, Direct3D 9 and D3DX 9, DirectSound, DirectInput and XInput, with Direct3D 11 and XAudio2 on the way for x64 games. Graphics run on SDL_GPU: Vulkan on Linux, native Metal on macOS.

The module is on SwARc’s main branch, in platforms/win32; its commits are the progress log.

It also carries the first native code shared between ports: the Visual C++ 6 runtime that games link statically (string and memory functions, 64-bit helpers, number parsing and formatting, the sprintf and sscanf engines, math intrinsics), reimplemented to match VC6 bit for bit. A port binds its EXE’s copies to it, and an oracle test checks each function against the lifted original. On the graphics device, every fixed-function draw carries its whole state, so a port’s native renderer can draw on the device directly, as CoD1’s back end does.

32-bit games run in a 4 GiB guest address space with the stdcall/cdecl HLE ABI; x64 games use the Win64 ABI, the UCRT and MSVCP140, and AVX.

The x86 core and Win32 are separate layers: the core knows no Windows, so the PS4 module builds on it without any Win32 code.

Ports

DS1-Rebuilt

Dungeon Siege (2002)

Playable

Single player plays from a new game to Wesrin Cross, with sound, music, voices and movies. Where SwARc was developed.

Updated 2026-11-10

CoD1-Reissued

Call of Duty (2003)

In game

The training level plays through to completion. Widescreen, Hor+ FOV, a scaled HUD and exact frame caps are in; the renderer's back end is native and draws on SwARc's graphics device.

Updated 2026-11-09

LSWTCS_Rebricked

LEGO Star Wars: The Complete Saga (2009)

In game

Menus, the cantina and several levels load and play, with keyboard and Xbox pad, paced at the display's refresh rate. Past the first chapter untested. The first Direct3D 9 user.

Updated 2026-11-10

Q2E

Quake II Enhanced (2023, x64)

Boots

The first 64-bit guest. Both binaries lift and pass their oracle tests; it runs from the entry point through engine startup.

Updated 2026-11-09

Recent commits

  1. Win32 CRT: VC6's _input, _fltin2 and atof natively
  2. Win32 CRT: VC6's 12-byte arithmetic in a file of its own
  3. gfx: no fixed-function state in the device
  4. opengl32: glLockArraysEXT and glUnlockArraysEXT to the context
  5. win32: d3d7 draws with DrawFf

All commits