Overview: Why STEP 5 Requires a DOS or Windows XP Runtime
Siemens STEP 5 is the classic ladder logic and statement list programming environment for the SIMATIC S5 PLC family (S5-90U, S5-95U, S5-100U, S5-115U, S5-135U, S5-155U). The original programming package was distributed as a 16-bit DOS executable set (S5-DOS, order number 6ES5 848-7CA00) with a Windows 3.1/3.11 front-end shell. Later releases (STEP 5 V6.6 and the optional ProTool/ProAgent add-on) target Windows 95, 98, NT 4.0, and Windows XP SP3 but still launch the core S5 components from a DOS command window that is not resizable and that returns to a fixed 80x25 character cell when maximized.
This behavior is by design: the S5 programming kernel uses direct DOS interrupts (INT 21h, INT 10h) and direct parallel-port I/O for the AS511 serial converter. Modern 64-bit Windows releases block those paths, and Windows Vista and later remove the NTVDM subsystem entirely. A virtualized Windows XP (or pure DOS) guest is the only supported way to run STEP 5 on current hardware, and VMware Workstation / Player / Fusion are the most common hypervisors in automation shops because they keep the host fully isolated from the legacy OS.
Prerequisites
| Component | Minimum | Recommended |
|---|---|---|
| Host CPU | Intel Core 2 Duo or AMD Athlon X2 with VT-x / AMD-V | Intel Core i5/i7 8th gen or newer, VT-x and EPT enabled |
| Host RAM | 4 GB total (1 GB allocated to XP guest) | 16 GB total (2 GB allocated to XP guest) |
| Host OS | Windows 10 21H2, macOS 10.15, Linux kernel 5.x | Windows 11 23H2, macOS 14, Linux kernel 6.6 LTS |
| Hypervisor | VMware Workstation Player 17.0 (free for personal use) | VMware Workstation Pro 17.6.4 or VMware Fusion 13.5 |
| Guest OS | Windows XP SP3 32-bit | Windows XP SP3 32-bit with KB958215 and KB969898 |
| STEP 5 media | Original 3.5" floppy set or ISO image of S5-DOS V6.6 | Same, plus the S5W.exe Windows shell installer |
| Free disk | 8 GB | 20 GB (NTFS, fixed allocation) |
Choosing the VMware Edition
Broadcom currently distributes three VMware products relevant to legacy automation workloads. Pick by use case, not by feature count.
| Edition | License | Snapshot support | Multiple VMs | Use case |
|---|---|---|---|---|
| VMware Workstation Player 17.6 | Free for personal, paid Pro license optional | No (read-only in free mode) | One at a time | Single XP guest on an engineer's laptop |
| VMware Workstation Pro 17.6.4 | Per-seat commercial license | Yes, unlimited | Yes, configurable | Maintenance bench, multiple OS revisions (XP, NT 4.0, DOS) side by side |
| VMware Fusion 13.5 | Personal or commercial license | Yes | Yes | macOS host (Intel Mac or Apple Silicon with translation layer) |
Apple Silicon (M1/M2/M3) Macs cannot run x86 Windows XP guests natively in Fusion 13.5; use an Intel Mac or a Windows host. The community-published VMware Workstation 17.6.4 Windows XP guest reference documents the exact settings matrix used here and is a useful companion document for the install sequence below.
Host Hardware Virtualization Configuration
VMware Workstation and Player require hardware-assisted virtualization to be exposed by the host firmware. Confirm before installing the hypervisor.
- Reboot the host and enter BIOS/UEFI setup (Del, F2, or F10 depending on vendor).
- Locate
Intel VT-xorAMD-Vand set to Enabled. - On Intel systems, also enable
VT-d(directed I/O) if you plan to use a physical USB programming cable passed through. - Disable
Hyper-V,Windows Hypervisor Platform,Windows Sandbox,Credential Guard, andCore Isolationon Windows 11 hosts. These Windows hypervisors claim VT-x exclusively and prevent VMware from starting virtual machines. - Boot the host and verify with the VMware
vmware-checkvmcommand (Workstation Pro) or the Player About dialog. Both must reportVirtualization enabled.
Hyper-V and Virtual Machine Platform features are increasingly enforced by default. If VMware Workstation reports "VMware Workstation and Device/Credential Guard are not compatible", disable them with:bcdedit /set hypervisorlaunchtype offDism /Online /Disable-Feature:Microsoft-Hyper-V-AllDism /Online /Disable-Feature:VirtualMachinePlatformthen reboot.
Creating the Windows XP Guest
Use a fresh, pre-allocated NTFS virtual disk. Thin provisioning combined with Windows XP's lack of TRIM awareness can cause the .vmdk to fragment badly over time.
- Open VMware Workstation Pro 17.6.4 and choose File → New Virtual Machine → Custom (advanced).
- Select Installer disc image file (ISO) and point to your Windows XP SP3 ISO. If you have the original CD, select Installer disc instead.
- Set Guest OS to Microsoft Windows and Version to Windows XP Professional. VMware does not list XP in Workstation 17; pick Windows XP Professional (32-bit) from the legacy list or use Windows 2000 as a fallback (the kernel and HAL differ but the S5W installer runs identically).
- Allocate 1 GB RAM (the XP kernel will not see more than 4 GB regardless).
- Set processors to 1 and cores per processor to 1. XP is not SMP-aware; assigning multiple cores triggers the XP HAL to spin on missing APIC vectors.
- Set the network adapter to Host-only (VMnet1). Bridged networking exposes the legacy OS to the production LAN and is a security risk.
- Create a new virtual disk: SCSI or IDE, capacity 20 GB, Allocate all disk space now, Store virtual disk as a single file.
- Finish the wizard, then edit the VMX file and append:
monitor_control.restrict_backdoor = "TRUE"monitor_control.enable_svm = "TRUE"svga.vramSize = "16777216"
These stop the VMware tools backdoor driver from interfering with the AS511 COM-port handshake.
Power on the VM. Press F2 inside the BIOS screen of the VM (the VM has its own 2-second boot menu) and set the CD-ROM as the first boot device. Run a normal XP setup, then install VMware Tools 11.3.5 (the last build with XP guest support) from VM → Install VMware Tools.
Importing an Existing Physical XP Installation
If your maintenance bench still has a physical Windows XP workstation with a licensed STEP 5 install and a calibrated PC adapter (e.g. 6ES5 734-1BD20), the disk-to-VMDK conversion preserves licensing and custom symbol libraries. The most reliable conversion path is:
- Use
disk2vhd(Sysinternals) on the physical XP host to create a VHDX image of the system partition. Power down the XP host first; online VSS is unreliable on XP. - Copy the VHDX to the VMware host and convert it to VMDK with
qemu-img convert -f vhdx -O vmdk -o adapter_type=ide source.vhdx target.vmdk. - Create a new VM in Workstation as in the previous section, but select Use an existing virtual disk and point to the converted VMDK.
- Boot the VM. The first XP boot will detect the new HAL; let XP re-detect Plug and Play devices and reboot twice.
- Re-activate Windows by phone. The hardware fingerprint change is detected by the XP activation server (which Microsoft no longer operates), so you must call the activation IVR line and read the new installation ID.
Installing Siemens STEP 5 in the XP Guest
- Mount the S5-DOS installation media as the virtual CD-ROM.
- From an XP command prompt, navigate to
D:\INSTALL(or your media drive letter) and runINSTALL.EXE. The installer is text-mode and runs entirely inside the 80x25 DOS window. - Accept the default installation directory
C:\S5. Avoid paths with spaces; the S5W shell does not quote them and will fail on program launch. - When prompted for the COM port, select COM1 unless you are using a USB-to-serial adapter on COM2. STEP 5 maps the COM port to a fixed I/O address (3F8h for COM1, 2F8h for COM2); this address is set in the VMX:
serial0.present = "TRUE"serial0.yield = "TRUE"serial0.fileName = "auto-detect" - Run
S5W.EXEto verify the Windows shell launches. The 80x25 DOS sub-window inside S5W is normal; do not try to resize it. - Apply the STEP 5 V6.6 update by running
SETUP.EXEfrom the update media. This step replaces the S5W shell with the modern Common Dialogs wrapper and is required for online connection to S5-155U CPUs.
DOS Window Behavior and Full-Screen Considerations
The S5W shell launches S5.EXE inside a Win32 console window. The console window inherits the 80x25 cell size from %SystemRoot%\System32\cmd.exe and cannot be resized live because S5.EXE queries the screen geometry once at start and re-queries the Win32 console only on window-creation events.
If a full-screen, borderless display is required:
- Set the XP console properties (right-click the title bar → Properties → Layout) to Width 80, Height 25, Window size: 80x25, and uncheck Let system position window.
- In the VMX, set
svga.maxWidth = "1024"andsvga.maxHeight = "768"so VMware always opens the guest display at a fixed resolution. The S5W shell will then fill the entire screen with its 80x25 character cells at 12x24 pixel font. - If you need a true full-screen DOS environment (for example, to run
S5-DOSstandalone against a parallel port AS511), install FreeDOS 1.3 in a second VMware guest and skip Windows entirely. Configure the parallel port in the VMX:parallel0.present = "TRUE"parallel0.fileName = "auto-detect"parallel0.bidirectional = "TRUE"
Shared Folders and USB Passthrough
Two I/O paths matter for moving STEP 5 projects between the XP guest and a modern host: shared folders (for S5 program files) and USB passthrough (for the AS511 cable).
Shared Folders
- With the VM powered off, open VM → Settings → Options → Shared Folders.
- Click Add, browse to the host folder (for example
D:\STEP5_PROJECTS), and enable Always Enabled and Map as a network drive in Windows guests. - Assign drive letter
Z:to keep STEP 5 path statements short. - Inside XP, the shared folder appears as
\\vmware-host\Shared Folders\STEP5_PROJECTS. The S5W project save dialog can browse this path directly.
USB Passthrough for the AS511 Cable
- Plug the Siemens USB-to-serial adapter (6ES5 734-1BD20 or 6GK1 551-1AA00) into the host.
- Open VM → Removable Devices → [adapter name] → Connect (Disconnect from Host).
- XP detects the FTDI or Siemens-proprietary USB-serial chip and assigns a COM port (typically COM3 or COM4).
- Inside STEP 5, set the online interface to that COM port. The handshake (DTR, RTS, DSR) follows the AS511 protocol; no extra driver is required inside XP beyond the one VMware Tools injects.
usb.restrictDefaultPM = "FALSE" to the VMX. This disables USB selective suspend inside the guest and prevents the AS511 handshake from breaking after a few minutes of idle.VMware Workstation 25H2 3D Acceleration Issue and Workaround
Starting with the Workstation 25H2 release (May 2025), VMware switched the default 3D graphics renderer from the legacy vmwgfx driver to the dx11 (DirectX 11) host backend. Windows XP, Windows Vista, and Windows 7 guests do not have a DirectX 11 user-mode driver, and the legacy vmwgfx path is no longer compiled into the 25H2 hypervisor build. The result is black or flickering screens, lost mouse capture, and a hang inside S5W.EXE when the shell tries to redraw the project tree.
Workarounds, in order of preference:
-
Downgrade the hypervisor. Workstation Pro 17.6.4 (build 24810009) is the last build with full XP guest support and the
vmwgfxlegacy renderer. The community-published VMware Workstation 17.6.4 Windows XP guest reference lists every required setting and is the recommended baseline for STEP 5 deployments. -
Disable 3D acceleration per VM. Edit the VMX and set:
mks.enable3d = "FALSE"svga.enable3D = "FALSE"
This forces the guest to use the XP GDI software renderer. STEP 5 does not require hardware 3D, so performance is unaffected. - Pin the XP VM to 16-color VGA. Inside the XP guest, set Display Properties → Settings → Color quality to Medium (16-bit) or Low (8-bit). The 32-bit color path is what triggers the 25H2 fallback to the DirectX 11 backend.
-
Run the VM in Fusion 13.5 on a macOS host. Fusion 13.5 still ships the
vmwgfxdriver and is unaffected by the Workstation 25H2 change.
Verification and Testing
Run the following checks in order. If any step fails, do not proceed to a live PLC connection.
-
XP boot integrity. The XP desktop must appear within 60 seconds. A hang on
agp440.sysorvga.sysindicates a 3D acceleration conflict; reapply Workaround 2 above. -
COM port enumeration. Open Device Manager → Ports (COM & LPT). The USB-serial adapter must appear as
Silicon Labs CP210x(Siemens 6ES5 734-1BD20) orFTDI USB-SERIAL CH340(clone cables) with a COM number between 1 and 9. STEP 5 only supports COM1 to COM4 in the legacy shell; remap in Advanced → COM Port Number if needed. -
STEP 5 offline test. Launch
S5W.EXE, create a new project, and save it toZ:\TEST.S5D. The save dialog must list the shared folder. If the save fails with "Path not found", the VMware shared folder service is not running; restart it withnet start vmhgfs. -
STEP 5 online test against a simulator. Use the AG 90/95/115U simulator or a known-good S5-95U on the bench. From S5W, choose PLC → Online → Test. The CPU must report
RUNorSTOPwithin 3 seconds. A timeout indicates a bad AS511 handshake; check the DTR/RTS jumpers on the cable. - Project round-trip. Open the project in the host editor (Siemens STEP 7 V5.7 with the S5 import converter, or a third-party S5D reader), confirm the symbol table matches, and re-save. The round trip proves the shared folder transport is intact.
Troubleshooting Matrix
| Symptom | Likely cause | Fix |
|---|---|---|
| XP boots to black screen after VMware upgrade to 25H2 | DirectX 11 host backend incompatible with XP GDI | Set mks.enable3d = FALSE or downgrade to 17.6.4 |
| S5W shell opens but program list is blank | Project path contains spaces or non-ASCII characters | Move project to C:\S5\PROJ and use 8.3 short paths |
| Online connection times out after 30 s | AS511 cable on wrong COM port | Verify in Device Manager; remap to COM1..COM4 |
| Shared folder does not appear in XP Explorer | VMware Tools not installed or version mismatch | Install VMware Tools 11.3.5 from the VM menu |
| USB cable disconnects after host sleep | USB selective suspend | Add usb.restrictDefaultPM = FALSE to VMX |
| "VT-x is not available" on VM start | Hyper-V or WSL enabled on host | Disable Hyper-V per the Windows 11 25H2 steps above |
| STEP 5 installer reports "Insufficient privileges" | XP UAC disabled but installer launched as standard user | Log in as Administrator, or right-click and choose Run as |
Reference: Useful Configuration Snippets
The following VMX additions bundle all the Workstation 17.6.4 recommendations for an XP STEP 5 guest. Save them at the end of the .vmx file before first boot.
monitor_control.restrict_backdoor = "TRUE"
monitor_control.enable_svm = "TRUE"
svga.vramSize = "16777216"
svga.maxWidth = "1024"
svga.maxHeight = "768"
mks.enable3d = "FALSE"
svga.enable3D = "FALSE"
serial0.present = "TRUE"
serial0.yield = "TRUE"
serial0.fileName = "auto-detect"
parallel0.present = "TRUE"
parallel0.fileName = "auto-detect"
parallel0.bidirectional = "TRUE"
usb.restrictDefaultPM = "FALSE"
usb.generic.allowHID = "TRUE"
Why does STEP 5 only run inside a non-resizable DOS window?
The S5W shell is a Win32 console host that launches S5.EXE, a 16-bit DOS executable using direct INT 10h and INT 21h calls. The console inherits the 80x25 cell size from cmd.exe at creation time; the S5 kernel does not re-query the geometry. This is by design and cannot be fixed from inside STEP 5. Set the console layout to 80x25 in XP and use a fixed VMX resolution to make the window fill the screen.
Can I run STEP 5 on an Apple Silicon Mac?
No. Apple Silicon (M1/M2/M3) does not provide x86 hardware emulation, and VMware Fusion 13.5 for ARM hosts does not support x86 Windows XP guests. Use an Intel Mac with macOS 12 or earlier, a Windows host with VMware Workstation Pro 17.6.4, or a Linux host with QEMU/KVM as alternatives.
Which VMware version is the last one with Windows XP guest support?
VMware Workstation Pro 17.6.4 (build 24810009) is the last release that ships the legacy vmsgfx 3D driver, the Windows XP version of VMware Tools (11.3.5), and the COM/parallel-port redirector that STEP 5 requires. Workstation 25H2 drops the vmwgfx path and breaks XP, Vista, and Windows 7 guest display drivers.
Do I need a full DOS install or is Windows XP enough?
Windows XP is enough for online programming over a USB-to-serial AS511 adapter. A native DOS install (MS-DOS 6.22, PC-DOS 7.0, or FreeDOS 1.3) is only required if you must drive the AS511 converter through a physical parallel port from a very old PC adapter. The XP COM port redirector handles the USB-to-serial case correctly and is the simpler deployment path.
How do I migrate a physical XP workstation with STEP 5 into a VM?
Power down the physical host and use Sysinternals disk2vhd to capture the system partition as a VHDX. Convert the VHDX to VMDK with qemu-img convert -f vhdx -O vmdk -o adapter_type=ide source.vhdx target.vmdk. Create a new VM in Workstation Pro, attach the converted VMDK to an IDE controller, boot, let XP re-detect Plug and Play devices, and re-activate Windows by phone. Preserve the original product key and STEP 5 license sticker for the activation call.