Skip to content

compilers: add MSVC - #2

Open
maci0 wants to merge 2 commits into
decompals:mainfrom
maci0:compilers/msvc
Open

compilers: add MSVC#2
maci0 wants to merge 2 commits into
decompals:mainfrom
maci0:compilers/msvc

Conversation

@maci0

@maci0 maci0 commented Aug 20, 2026

Copy link
Copy Markdown

Adds compilers/MSVC.md documenting the preserved Microsoft Visual C++ line (VC 1.0–11.0) and links it from the compilers index.

The page covers, in the style of the existing compiler pages:

  • Versions — the 16-bit Windows 3.x line (VC 1.0/1.5/1.52, Phar Lap DOS-extender, DOSBox) vs the 32-bit line (VC 2.0–11.0), with the full CL.EXE version matrix and the VC 6.0 service-pack story (12.00.8168 RTM→SP3, 12.00.8804 SP4+, SP1 payload not preserved).
  • Running MSVC — no native Linux build; wine/wibo for 32-bit, DOSBox for 16-bit, packaged as self-contained docker images (rebrew/msvc:<version>-<arch>) with a REBREW_RUNNER runtime switch; decomp.me hosts a subset under wibo.
  • Identifying an MSVC compiled binary — the version-detection heuristics: Rich header + linker version (pins exact SP), pre-6.0 linker-version mapping, msvcpX.dll imports, PDB S_COMPILE3, codegen fingerprints (/O1 vs /O2 wrappers, pre-6.0 constant-caching), diec.
  • Known quirks — the C1.DLL/C2.DLL WINEPATH trap, NE header offset vs Borland, TimeDateStamp determinism.
  • Where to get it — archaic-msvc / archaic-toolchains preservation orgs, decomp.me msvcwin9x releases, archive.org / WinWorld media.
  • Projects — decomp.me, rebrew's documented targets.

Facts are sourced from the rebrew/rebrew-toolchains docs (pinned sha256 manifests, provenance tables) and this session's verification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant