Heimdall 2 Native is an unofficial Windows 11 modernization layer for Heimdall 2: Into the Hall of Worlds (PC CD-ROM, 1994). It launches the original game directly in a native window—without exposing a DOS prompt, installer, or emulator menu—and adds modern video, audio, mouse, keyboard, and Xbox controller support.
| Native launch | CRT presentation |
|---|---|
![]() |
![]() |
The repository and downloadable releases contain no playable original game program or extractable game asset library. You must own the PC CD version and import its maps, artwork, text, and music from your own disc image on first launch.
- One native x64 Windows executable, built with Visual Studio and Direct3D 11.
- The compatibility engine is embedded and invisible to the player.
- Full-height scaling at the current window or display resolution.
- Edge-aware reconstruction, restrained sharpening, and a configurable CRT simulation with scanlines, phosphor mask, glow, and halation.
- Sound Blaster/AdLib sound effects and lossless FLAC CD music at unity gain.
- Modern keyboard controls, captured relative mouse input, and full XInput controller support.
- V-synchronized flip-model presentation and stable fullscreen switching.
- Save states in addition to the original game's own save system.
- Experimental engine-backed horizontal expansion. It reveals more room data rather than stretching the picture; unsafe screens automatically retain the original view while the room compatibility audit continues.
- 64-bit Windows 11.
- A Direct3D 11-capable graphics adapter.
- A legally owned PC CD image of Heimdall 2.
Use a BIN/CUE image whenever possible. Mixed-mode CDs store music outside the ISO data track, so a plain ISO can import the game but cannot contain the original CD audio tracks.
- Download the latest release and extract the whole archive to a writable folder. Do not run the executable from inside the ZIP file.
- Start
Heimdall2Native.exe. - On first launch, select your
.cuefile (recommended) or data-only.iso. - Wait while the wizard extracts the game and converts CD audio to lossless FLAC. The imported files stay inside the release folder.
- The game starts directly. You do not need to run its DOS installer.
Later launches use the imported files automatically. The installation is portable: move the entire folder together and it will continue to work.
| Action | Keyboard and mouse | Xbox controller |
|---|---|---|
| Move / turn | W A S D |
D-pad |
| Attack | Q |
Right trigger |
| Defend | E |
Left trigger |
| Throw / cast | Space |
X |
| Operate / give | F |
Y |
| Point | Mouse | Right stick |
| Left / right click | Mouse buttons | A / B |
| Pause | P |
Menu |
| Game Escape action | Esc |
View |
| Toggle fullscreen | Alt+Enter |
— |
| Release captured mouse | Ctrl+F10 |
— |
| Save / load state | Ctrl+F5 / Ctrl+F9 |
— |
Click the game once to capture the mouse. The Windows pointer is hidden only inside active gameplay and returns when capture is released or the window loses focus. When the original game exits, the native window exits with it.
See the complete controls guide for input details.
- Music is missing: re-import from the original
.cueplus all referenced.binfiles. An ISO has no CD audio. - The importer cannot find a track: keep the CUE and BIN files together and do not rename only one of them.
- The CRT effect fails to load: keep
dxgi.dll,ReShade.ini, and the completereshade-shadersfolder beside the executable. - Windows warns about the download: public builds may be unsigned. Verify that the archive came from this project's release page before choosing to run it. Administrator rights are not required.
- Mouse capture is unwanted: press
Ctrl+F10; click the game to recapture.
Install Visual Studio 2022 with Desktop development with C++ and a Windows
SDK. Open Heimdall2Native.sln and build Release | x64, or use:
.\build-release.ps1To build and assemble a complete playable directory in one operation:
.\build-release.ps1 -RuntimeDirectory C:\Games\Heimdall2The project uses MSVC only; WSL, MinGW, and a separate compatibility-core build are not part of the build or user installation. Authored code, scripts, and shader modules stay below 300 lines per file and are commented for readers who are new to C++ and emulation projects.
- Architecture
- Rendering and scaling
- Disc import
- Audio and CD track routing
- Engine hooks and expanded view
- Development guide
- Roadmap
- Packaging public releases
- Third-party components
The source is licensed under GPL-2.0-only because the executable embeds DOSBox Pure. Third-party components retain their own notices, documented in docs/THIRD-PARTY.md.
This is an unofficial preservation and modernization project. Heimdall, Heimdall 2, and all original game content belong to their respective owners. The small screenshots above document interoperability; the executable cannot use them as game data.

