First post, by shadowlight
AI assistance: this project was made with the assistance of Anthropic's Claude AI. The reverse engineering, the code, the tests and the documentation were produced with Claude under my direction, and I tested the results myself. Because the work was produced with AI assistance, it may contain errors that neither the AI nor I have found.
Disclaimer: the software is provided "as is", without warranty of any kind, express or implied. You use it entirely at your own risk. I accept no liability for any damage, data loss or other harm arising from its use. Please back up your game files and saved games before using it.
Hi everyone,
I'd like to introduce Sid Meier's Civilization 64bit (civ64). It's a native 64-bit Windows port of the original Sid Meier's Civilization for Windows, the 16-bit Windows 3.1 release (often called CivWin). It runs on Windows 10 and 11 like any other program, with no DOSBox, no winevdm/OTVDM and no virtual machine. It plays the original game from the opening credits to the end games. At any moment you can switch it to the graphics of the DOS version and back.
Version 1.0 is out (released on 18 October 2026): one civ64.exe to download, with a User Guide and the full project documentation. The links are below, and the work still planned is at the end of this post.
https://github.com/Buyukcaglar/Civ64
Download latest version: https://github.com/Buyukcaglar/Civ64/releases
To leave feedback or bug report, use github issues section: https://github.com/Buyukcaglar/Civ64/issues
Why
64-bit Windows can't run 16-bit Windows programs, so until now playing CivWin meant an emulator or a virtual machine. I wanted the same game to run as an ordinary modern program, with a few comforts added: a resizable window, a map that fills your screen, map zoom and the DOS look.
Goals
- Faithful, not a remake. The rules, the AI, the map generator, the random-number generator, the save files and the screens are the original's. Even the original's bugs are kept.
- Native. One 64-bit civ64.exe, no installation, using only standard Windows system libraries. The game logic runs as native code, not through a CPU emulator.
- Clean. civ64 contains none of the original game's files or bytes. It reads your own copy of the game at run time and checks that it is the exact supported release.
- Additions never change the game. Everything new (scaling, zoom, the DOS graphics) only changes what you see. Switching graphics or zoom never changes your game, the computer players, the random numbers or your saves.
How it was made
- The original civ.exe (a 16-bit Borland C++ program) was reverse-engineered from its machine code. All 1,065 of its functions were recovered as readable C, about 67,000 lines.
- The 699 game functions that can actually run were translated into portable C, about 124,000 lines. Each one was checked instruction by instruction against the original machine code: 137,887 instructions over 11 review rounds.
- The Borland run-time library (155 functions) was replaced by an exact re-implementation. 211 functions that nothing in the program can ever call were left out. In all, 91.5% of the original's code is ported, and every function that can actually run is either ported or replaced.
- The Windows 3.1 environment the game expects is re-created inside civ64: windows, dialogs, controls, 256-colour palette graphics, fonts, timers and 16-bit memory. A thin layer connects it to today's Windows.
- Scripted test games reach all 108 listed features: every menu command, every dialog, every title-menu branch, the advisors, the Civilopedia, diplomacy, the spaceship, the replay and the end games. With the DOS graphics, 104 of them are drawn the DOS way; the other 4 are Windows-only. Save files were tested against the original game, which wrote byte-identical files.
- Before the release, the full test runs and a memory-error check (AddressSanitizer) of the whole test suite were clean, a final audit left only minor documentation items open, and the original game files were verified unchanged.
Features
[HEADING=3]The whole original game[/b][/size]
- The intro, the title menu (Start a New Game, Load a Saved Game, Play on EARTH, Customize World, View Hall of Fame, Quit) and the Birth of Civilization sequences.
- The map, World Map and Status windows, the city screen and city view, all advisors and reports, the Civilopedia, diplomacy, the newspaper, the spaceship, the replay, the palace, the Hall of Fame and every end game.
- Palette cycling and fades, and sound from the game's own .wav files.
- Save compatibility. Saved games, the Hall of Fame, preferences and replays use the original formats. Your old .SAV files load in civ64, and civ64's saves load in the original.
[HEADING=3]Enhancements[/b][/size]
Window and scaling
- A resizable, maximizable window, plus full screen (Alt+Enter).
- Scale by whole multiples (sharp pixels with black borders), or fit to the window with a "nearest" or "sharp" filter.
- On the first start the window is the largest whole multiple of 640x480 that fits your screen, centred. After that civ64 remembers its position, size and maximized state.
- A window that would open off-screen (for example after a monitor was removed) is brought back.
- The title bar, window menu, About box and civ64's own messages follow Windows' light or dark mode.
- Closing the window during a game asks first, so a stray Alt+F4 doesn't lose your progress.
A map that fills your screen
- The intro, title, Birth and setup screens keep their original 640x480 picture. Once a game begins, the game's screen grows to the size of your window, so the map uses all of it. For example, a 1920x1080 window at double size gives a 960x540 game screen instead of 640x480.
- Resize, maximize or go full screen during play and the game screen follows at once.
Map zoom
- Half size, normal or double size: Ctrl+Shift+Minus, Ctrl+Shift+0 (or Ctrl+Shift+Home) and Ctrl+Shift+Plus, the mouse wheel over the map, or the window menu.
- The wheel zooms around the point under the mouse pointer. You can turn wheel zoom off in the window menu.
- At double size the view follows your active unit.
- At half size you see the game's view surrounded by the rest of the world. The surroundings are drawn from the game's state using the game's own map rules, and clicking one of those squares centres the map there.
DOS graphics profile
- Press Ctrl+Shift+Backspace (or use the window menu's Graphics submenu) at any moment, even in the middle of the intro or a turn, and civ64 shows the same game with the graphics of Civilization for DOS: its VGA art, palettes, fonts, menus and mouse pointer. Press it again to go back.
- The DOS intro has its credits over the panorama, the logo reveal and the dissolve, running at the DOS version's own pace. The Windows and DOS intros run on the same clock, so switching in the middle of the intro continues at the same moment.
- The DOS title box, the Birth of Civilization scenes with their colour cycling, the setup pages, the Customize World screens, the Hall of Fame and the DOS game's own Load and Save screens are shown as the DOS version draws them. The 320x200 pictures are scaled with the 4:3 shape of a DOS screen, or with square pixels if you prefer.
- During play the game keeps its Windows window layout, but the main map, the small World Map, the Status window and unit panel, the map's palette animation, the DOS menu bar (GAME, ORDERS, ADVISORS, WORLD, CIVILOPEDIA) and the message and question boxes are drawn the DOS way.
- The game's other screens are DOS too: the city screen, city view and founding a city, the production list, the advisors and World reports, the historian, the palace, the Civilopedia, discoveries, the newspaper, New Cabinet, diplomatic audiences, the spaceship and its arrival, the power graph, the replay, the rating, the conqueror ending and the nuclear explosion.
- The keys follow the DOS game as well: Alt+G/O/A/W/C for the menus, F1..F10 for the advisors and reports, the city screen's letter keys, and Escape where DOS has no Cancel button.
- A few Windows-only items keep their Windows form: file dialogs, system message boxes, the About box and Help. The Windows-only menus (Edit, City and Help) are in the Windows graphics.
- Switching is purely visual. Your game, the AI and your saves are the same in both profiles. civ64 remembers the profile you used last.
- This profile needs your own copy of the DOS version (see Requirements). Without it, civ64 plays normally with the Windows graphics.
Finding your game files
- Put a CivWin.zip (or Civ-Win.zip or Civ_Win.zip) of your game next to civ64.exe, or a CivWin folder. civ64 checks the files and extracts the ZIP to your user folder. If you later replace the ZIP, the game files are updated and your saves are kept.
- For the DOS graphics, use a CivDos.zip (or Civ-Dos.zip or Civ_Dos.zip) or a CivDos folder. civ64 reads it in place and never extracts or changes it.
- If nothing is found, civ64 asks you to locate the game's civ.exe or ZIP and remembers your choice. For the DOS files you can answer "not now" or "don't ask again", and use Graphics > Locate DOS files... in the window menu later.
Other details
- Two timing modes: classic (the default) paces the game like the original, and host follows your PC's real clock. Either way, world generation and the computer players' turns run at full speed.
- Typing follows your keyboard layout, and the numeric keypad gives digits whatever your NumLock state.
- civ64 writes nothing to the registry or WIN.INI. Saves, preferences and the Hall of Fame go to your game folder, and civ64's own settings go to %LOCALAPPDATA%\civ64\civ64.cfg.
Requirements
- Windows 10 (version 1607 or later) or Windows 11, 64-bit.
- Your own copy of Sid Meier's Civilization for Windows (the Windows 3.1 release), with all of its files: civ.exe, the .rsc and .wav files, civfonts.fon and the rest. civ64 checks the exact release: civ.exe must be 832,512 bytes with SHA-256 a66ec64020f10adb81613964f3d08a11ea278b6a5a060c8e49d1ea1fd3ba1788.
- Optional, for the DOS graphics: your own copy of Civilization for DOS, version 475.01 (CIV.EXE of 305,030 bytes). civ64 checks every DOS file it uses.
- No installer, no administrator rights and no extra runtime libraries.
Getting started
- Download civ64.exe from the latest release (link below) into a folder of its own.
- Next to it, put a CivWin folder containing a copy of your Civilization for Windows installation, or a CivWin.zip of it. Optionally, add a CivDos folder or CivDos.zip.
- Run civ64.exe.
Ctrl+Shift+Backspace: Switch between Windows and DOS graphics
Alt+Enter: Full screen on or off
Ctrl+Shift+Plus / Minus: Map zoom in (double size) / out (half size)
Ctrl+Shift+0 or Ctrl+Shift+Home: Normal map zoom
Mouse wheel over the map: Map zoom around the pointer
Click the icon at the left of the title bar, or right-click the title bar: The window menu: Full screen, Display (scaling, filter, 4:3), Map zoom, Graphics (profile, Locate DOS files), About
Any key during the opening credits: Skip to the title menu
Alt+F4 or the window's close button: Exit (during a game civ64 asks first; save through the game's File menu)
For power users, the command line options are: --data, --dos-data <dir|zip|none>, --graphics windows|dos, --zoom default|-1|0|+1, --fullscreen, --window WxH, --scale auto|1..8, --scale-mode integer|fit, --filter nearest|sharp, --aspect square|4:3 and --timing classic|host. The User Guide explains each of them.
Known differences from Windows 3.1
- Help: the original's .hlp help file can't be opened, because Windows 10 and 11 have no viewer for it. Help > Game Help shows a message saying so.
- Speed: the game isn't paced by the speed of a 1992 PC. classic timing uses fixed costs for the game's internal waits instead.
- Window details: Windows 3.1's own frames, menus and controls are redrawn by civ64, so small visual differences are possible.
- Same seed: civ64 seeds its random numbers from its start time, so the same game can't be replayed in step with the original.
- Every place where civ64 does not or cannot reproduce the original exactly is listed in the fidelity register (docs/FIDELITY.md in the repository).
Links
- Repository: https://github.com/Buyukcaglar/Civ64
- Latest release: https://github.com/Buyukcaglar/Civ64/releases/latest
- User Guide: https://github.com/Buyukcaglar/Civ64/blob/mai … s/USER-GUIDE.md
Licence and disclaimer
civ64's own code is released under the MIT licence, Copyright (c) 2026 Onur BUYUKCAGLAR. Sid Meier's Civilization, its program, art, sound and data belong to their owners. None of it is included, and you need your own copy of the game to play. This is a fan project and is not affiliated with or endorsed by Firaxis Games, 2K, Take-Two Interactive or MicroProse.
The repository currently holds the documentation and the release. The recovered C of the original program and the game core translated from it are readings of the copyrighted original, so they will not be published.
What's next
Version 1.0 is complete as described above. I'm still working through a manual checklist of the DOS screens, so fixes may follow. These additions are planned next, in this order:
- Windowless play. An optional mode, switchable on the fly in the window menu, for both graphics: during play the frames of the map, World Map and Status windows are dropped, and the three windows are joined into one picture. It has no scroll bars: the map moves as it does today, by clicking the World Map or the play map.
- Alternative music and sound effects. Put a MusicSfx folder or MusicSfx.zip next to civ64.exe with replacement .wav files named like any of the game's 24 sounds (opening.wav, wintune.wav, the leaders' themes, the sound effects and so on). Every valid file you supply is played instead of the original, and the rest come from the game. It is set up like the DOS files and can be turned off at any time with the window menu's Alternative music/soundfx item.
- 4:3 for DOS gameplay. A new window-menu item that applies the DOS monitor's 4:3 shape to the whole DOS game screen during play as well: the menu bar and menus, the boxes, the World Map, the play map, the Status window and every DOS window. The existing item will be renamed to show that it covers the DOS intro screens.
- CRT scanlines. An optional scanlines filter, on or off in the window menu, for both graphics. It has one fixed setting, modelled on the scanline filter of the DOSBox Pure Unleashed project (scanlines only, normal gaps, sharpest, no curvature), and it follows civ64's 4:3 choices.
- The source code. As the last task, civ64's independently written code will be published in the repository: the Windows 3.1 environment and the Windows host, the run-time library replacement, the presentation (scaling, map zoom, the DOS graphics), the tests and the build scripts. On its own it does not build a playable game, since the game core stays private.
Feedback, bug reports and screenshots are very welcome. I'd especially like to hear from anyone who still remembers how things looked on real Windows 3.1 hardware, or on the DOS version.