TL;DR

A hobbyist reverse-engineered and ported Microsoft Windows 2 to the non‑IBM Apricot PC/Xi, overcoming driver and video-format hurdles. The work required stub drivers, binary relinking, and custom tools to get Windows 2 to boot in an emulator, opening the door to classic Windows applications on the machine.

What happened

The author, who owns an Apricot PC/Xi — an Intel 8086-based British machine that is not IBM PC‑compatible — set out to run a more modern graphical environment on it. An existing Apricot port of Windows 1 provided a starting point, but that distribution used a "fast boot" bundle (WIN100.BIN and WIN100.OVL) rather than separate driver files, so the original device drivers were not directly reusable. Using Microsoft’s Windows Driver Development Kit as a reference, the author implemented stub keyboard, mouse and system drivers and then tackled the display problem. The Apricot’s display is a nonstandard 50×25 graphics mode with a 16×16 font, which broke assumptions in reference display drivers. Rather than fully reverse‑engineering the driver, the author extracted and recombined code fragments from the fast‑boot files, wrote a custom relinking tool (NExus-relink) and a combine utility, patched NE header offsets, and succeeded in booting Windows 2 under emulation with a working display and mouse handling quirks.

Why it matters

  • Demonstrates that legacy, non‑PC architectures can still run historical Windows releases with careful driver work and binary reconstruction.
  • Expands usable software options for Apricot owners by enabling a path to run Windows-era applications on rare hardware.
  • Highlights preservation challenges when original distributions omit modular driver files and rely on combined binaries.
  • Shows the value of community tooling and reverse-engineering for maintaining access to computing history.

Key facts

  • Apricot PC/Xi is powered by an Intel 8086 CPU and was among the first Western machines with a 3.5" floppy drive.
  • The PC/Xi model shipped with a 10 MB Rodime RO352 3.5" hard drive.
  • Apricot systems run MS‑DOS (versions 2.0–3.20) but are not IBM PC‑compatible, limiting available software.
  • The Apricot software catalogue is small (under 300 MB) and only a couple of graphical word processors existed historically for the platform.
  • Windows 1 for Apricot had been preserved but was distributed only as a fast‑boot bundle (WIN100.BIN and WIN100.OVL) without separate driver files.
  • The author used the Windows Driver Development Kit references to create stub keyboard, mouse, and system drivers.
  • Apricot’s display uses a 50×25 graphics mode with a 16×16 font, which is incompatible with many reference video drivers.
  • Parts of the Apricot display driver in WIN100.OVL matched a Hercules driver, enabling a relinking approach rather than full reimplementation.
  • The author created a custom relinking tool (NExus-relink) and a combine utility, patched NE header entries, and booted Windows 2 in MAME emulator.
  • Windows 2’s driver architecture is similar enough to Windows 1 that the kernel required no patches to boot on the Apricot.

What to watch next

  • Whether the author or others will complete a native Apricot DISPLAY.DRV that fully supports the machine’s display hardware.
  • Progress toward a more ambitious Windows 3 port, which the author noted would need SYSTEM.DRV, DISPLAY.DRV, KEYBOARD.DRV, MOUSE.DRV and ideally COMM.DRV.
  • The project repository on sr.ht for source code, tools (like NExus-relink), and installation instructions — not confirmed in the source if additional binaries or installers will be published.
  • Community tests on real Apricot hardware or in different emulators; the author recommends an Apricot PC, PC/Xi or Xen with at least 512 kB of RAM for trying the port.

Quick glossary

  • Apricot PC/Xi: A British personal computer from the 1980s based on the Intel 8086 CPU; it used early 3.5" floppy drives and was not IBM PC‑compatible.
  • Windows DDK (Driver Development Kit): A Microsoft toolkit that provides reference code and headers for developing device drivers for Windows.
  • WIN100.BIN / WIN100.OVL: Files produced by the Windows SETUP 'fast boot' process that combine the kernel and system drivers into bundled executable and overlay components.
  • NE (New Executable) format: An executable file format used by early Windows versions to organize code segments, entry tables and relocations.
  • DISPLAY.DRV: The Windows display driver module responsible for initializing video hardware and drawing the graphical user interface.

Reader FAQ

Did the author get Windows 2 running on the Apricot?
Yes — the author reports booting Windows 2 under emulation and produced screenshots showing a working display.

Can this port run Microsoft Word and Excel on the Apricot now?
Not confirmed in the source.

What hardware or environment is needed to try the port?
The source recommends an Apricot PC, PC/Xi or Xen with at least 512 kB of RAM to try the port.

Is the Apricot display fully supported, including the mouse cursor?
The display was made to work for Windows 2, but the article describes quirks (the cursor is handled by the video driver) and that full native display driver work was abandoned for now.

Windows 2 for the Apricot PC/Xi (and Word, and Excel, and so much more) by Nina Kalinina, December 27th, 2025 (rev. 1.01 2025-12-27) I bought my first Apricot PC about…

Sources

Related posts

By

Leave a Reply

Your email address will not be published. Required fields are marked *