A from-scratch native Windows port of the registered v1.1 MS-DOS release of Hocus Pocus. No DOS emulator required.
Hocus Native recreates the original game as a Win32 application while retaining its levels, movement, menus, saves, sound effects, music, demos, and gameplay rules. The project covers all 36 levels in the registered game, from E1L1 to E4L9.
Important
This repository and its releases contain no original commercial game
data. You must own the registered game and provide your own registered-v1.1
HOCUS.EXE and HOCUS.DAT.
- What works
- Requirements
- Build and run
- Controls
- Cheat menu
- Widescreen, High FPS, and fullscreen
- Asset extraction
- Verification and documentation
- Credits and license
- All four episodes and all 36 registered levels
- Original piracy, Apogee, and registered-title startup sequence
- Story, help, credits, endings, results, and high-score entry
- Original title/credits/demo attract cycle with all five recorded demos
- All nine DOS-compatible save slots
- Walking, jumping, collision, elevators, teleporters, switches, and keyed gates
- Crystals, treasures, health, firepower, keys, super shots, and laser shots
- Destructible walls, projectiles, spark trails, enemies, and bosses
- Level messages, crystal tips, death, restart, and completion sequences
- Registered-v1.1 event, enemy, timing, random-number, and camera rules
- Native Win32 rendering and input; DOSBox is not used
- Original VOC sound effects and MIDI music through Windows services
- Optional joystick support
- Borderless fullscreen with
Alt+Enter - Selectable 16:9, 21:9, and 32:9 gameplay with additional world visibility
- Optional interpolated High FPS mode
- Static C/C++ runtime linkage—users do not need to install runtime libraries
Ctrl+Alt+F1cheat menu with persistent toggles and level select
For exact parity qualifications and native additions, see the parity audit.
You need:
- Windows and either MSVC or MinGW-w64
- CMake 3.20 or newer
- Ninja
- Your own registered-v1.1
HOCUS.EXEandHOCUS.DAT
Place both original files in the repository root before configuring the build:
hocus-native/
├── HOCUS.EXE
├── HOCUS.DAT
├── CMakeLists.txt
└── src/
The filenames are case-insensitive on Windows. Shareware, altered, or missing executables are rejected.
Open PowerShell in the repository directory:
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failure
./build/hocus_native.exeThe build embeds your HOCUS.DAT in hocus_native.exe and copies the required
HOCUS.EXE beside it. The finished game therefore needs these two files in the
same directory:
hocus_native.exe
HOCUS.EXE
HOCUS.DAT is not required beside the finished executable because your copy is
embedded during the build. Do not redistribute the resulting executable: it
contains commercial game data from your copy.
To create a local ZIP package:
cmake --build build --target packageAn existing HOCUS.SAV may be placed beside the executable. Otherwise, the
game creates a compatible blank save when you first save. Before modifying an
existing DOS save, Hocus Native creates a one-time backup.
| Action | Default control |
|---|---|
| Move | Left / Right Arrow |
| Jump | Space |
| Fire | Ctrl |
| Interact, read messages, or aim upward | Up Arrow |
| Lower a movable elevator | Down Arrow |
| Scroll the viewport | Page Up / Page Down |
| Pause menu | Esc |
| Toggle fullscreen | Alt+Enter |
| Open cheat menu during play | Ctrl+Alt+F1 |
Use the Arrow keys and Enter to navigate menus. Any key advances startup
screens while preserving the Apogee and registered-title sequence.
Press Ctrl+Alt+F1 during a level. Use Up/Down or keys 1–6 to select an
entry, then press Enter or Space. Press Esc or Ctrl+Alt+F1 to close the
menu.
| Entry | Effect |
|---|---|
FEELGOOD |
Full health and invincibility |
BLAKE |
Infinite silver and gold keys |
QUARK |
Permanent rapid fire |
BANANA |
Infinite laser shots |
JUMP IN MID-AIR |
Jump again while airborne; the camera follows vertically and ejects Hocus from embedded floors |
CHAPTER/STAGE SELECT |
Warp to any level from E1L1 through E4L9 |
The four original typed cheat codes remain available as one-shot effects.
WIDESCREEN MODE appears on the main menu with shortcut W. Activating it
cycles through OFF, 16:9, 21:9, and 32:9. These modes use 320×200,
356×200, 467×200, and 711×200 logical framebuffers respectively, drawing
progressively more map, entity, and projectile space on both sides rather than
stretching the image. The original status bar remains centred exactly once,
with solid-black side panels. Enemy encounters retain their original
player-contact trigger timing in every aspect ratio. Menus, startup screens,
story pages, and other original artwork remain at their unmodified 320×200
dimensions. The setting persists in HOCUS_NATIVE.CFG.
HIGH FPS MODE appears on the main menu with shortcut F. When enabled, it
presents up to 125 interpolated frames per second while leaving the original
fixed-step physics, enemy logic, timers, random stream, and demos unchanged.
The setting persists in HOCUS_NATIVE.CFG.
Press Alt+Enter at any time to toggle borderless fullscreen. Alt does not
activate the Windows system menu.
The optional extraction tool validates your EXE and DAT, exports all 652 archive entries, converts supported formats, and writes typed metadata for all 36 levels:
python tools/extract_assets.pyOutput is written beneath assets/, which Git intentionally ignores because it
contains copyrighted data from your copy.
The test suite covers archive and rendering rules, gameplay behavior, standalone runtime imports, registered-executable validation, recovered executable tables, the extraction pipeline, and the parity ledger.
| Document | Contents |
|---|---|
| Architecture | Binary facts, asset layout, and port boundaries |
| Executable analysis | MZ-aware disassembly and control-flow map |
| Gameplay reconstruction | Instruction-level gameplay evidence |
| Parity audit | Function ledger, matches, and native qualifications |
| Laser audit | Complete laser-shot behavior audit |
| 1.1.1 release notes | Widescreen and floor-recovery update |
| 1.0 release notes | Initial release highlights and validation |
Hocus Native is an unofficial fan project and is not affiliated with or endorsed by Moonlite Software or Apogee Entertainment. See CREDITS.md for the original-game credits, port credits, purchase links, and legal notice.
The original Hocus Native source code is available under the
MIT License. That license does not apply to Hocus Pocus or any
original game content. Never commit or redistribute HOCUS.EXE, HOCUS.DAT,
HOCUS.SAV, extracted assets, or locally built binaries containing game data.