How Windows 98 Handled CRT Refresh Rates

Microsoft Windows 98 managed CRT monitor refresh rates through a combination of display adapter drivers, Plug and Play monitor identification, and a conservative safety fallback system. Because cathode-ray tube (CRT) displays produced visible, eye-straining flicker at low frequencies and could suffer physical hardware damage if driven past their operational limits, Windows 98 balanced user customization with strict hardware safeguards. This article explores how the operating system detected monitor capabilities, exposed refresh rate controls in the interface, and dealt with common challenges like the dreaded 60 Hz fallback bug in full-screen applications.

Monitor Detection and DDC Standards

In Windows 98, refresh rate handling depended heavily on whether the attached CRT monitor supported the VESA Display Data Channel (DDC) standard. Newer CRT monitors communicated their Extended Display Identification Data (EDID) to the graphics card, identifying the monitor's model and its maximum horizontal and vertical scan frequencies. Windows 98 used this data to populate a "Plug and Play Monitor" profile and automatically filter out unsupported, potentially damaging refresh rates.

Older, non-DDC CRT monitors were categorized generically as "Standard Monitor" or "Default Monitor." Because the operating system had no reliable way to query the analog display's physical limits, it restricted available modes to safe base standards to prevent burning out the monitor’s deflection circuitry or flyback transformers. To unlock higher frequencies like 75 Hz, 85 Hz, or 100 Hz on legacy hardware, users had to manually install manufacturer-provided .INF driver files that detailed the display's exact timing capabilities.

The Display Properties Interface

Users adjusted refresh rates via the classic Display Properties applet:

  1. Right-click the desktop and select Properties.
  2. Navigate to the Settings tab and click Advanced.
  3. Under the Adapter tab, access the Refresh rate drop-down menu.

The options available in this menu varied based on the installed graphics card drivers:

  • Adapter Default: Forced the graphics card's BIOS baseline, which almost universally ran at 60 Hz.
  • Optimal: Instructed Windows 98 to read the monitor’s EDID and select the highest safe refresh rate supported by both the display and the adapter at the chosen resolution.
  • Explicit Rates: Displayed specific frequencies (such as 60 Hz, 72 Hz, 75 Hz, 85 Hz, or 100 Hz).

Selecting a new rate initiated a 15-second confirmation dialog. If the CRT monitor lost sync, showed an "Out of Scan Range" error, or displayed a scrambled image, the user could simply wait, and Windows 98 would automatically revert to the previous working setting.

The 60 Hz DirectX Glitch

A major operational quirk in Windows 98 was its interaction with full-screen games and direct hardware access. While a user might configure the Windows desktop to run smoothly at 85 Hz, launching a DirectX, DirectDraw, or OpenGL game at a different resolution often forced the graphics card to reset to the video BIOS default of 60 Hz.

Windows 98 lacked a native global refresh rate locking mechanism. Because playing fast-paced games under severe 60 Hz CRT flicker caused significant eye fatigue, power users relied on vendor-specific driver utilities (such as NVIDIA's Coolbits or 3dfx tools), third-party programs like PowerStrip and RefreshLock, or custom monitor .INF overrides that completely deleted 60 Hz modes from the operating system's registry to force higher timings.