Important: This information applies to legacy PCs running the Microsoft Windows 95 operating system. ACPI-based systems must comply with the requirements defined in the ACPI specification. For information, see the OnNow home page.
Windows 95 OSR 2 has built-in support for the APM 1.2 BIOS and the OnNow features represented by the revised hardware requirements.
One of the goals for OnNow in OSR 2 is to improve the functionality and usability of suspend/resume. Achieving this requires improvements in both the BIOS and the operating system. In addition to improving the BIOS resume time, the system maker can take one important step to help eliminate a confusing and time-consuming function of the operating system during resume: completely saving and restoring the full context of the graphics subsystem prior to suspend in order to eliminate an entire reset and repaint of the display at resume time.
Background: In Windows 95, when the operating system resumes from a suspend, by default it completely resets and repaints the display. This process not only confuses the user, but can add additional delay to the resume time. Although it is possible to override this behavior and eliminate the reset, testing found that many BIOSs were not preserving the frame buffer and register set adequately, so the operating system display driver would not perform correctly after resume unless it was reset.
For this reason, the reset and its delay were left in as the default. However, some OEMs designed their BIOSs to save the frame buffer and every register in the graphics controller, and then fully validated their BIOS design to prove that they could successfully remove the reset in the preinstallations. Once validated, the reset was easily removed by adding an entry to the Software key in the registry. In terms of an entry for the driver INF file, this key can be specified as HKR,Default\ResumeReset,,,0.
Design and Validation Technique. To take advantage of the OSR 2 resume usability optimizations in this year's PCs, system makers should take the following steps during design and validation to ensure that the display reset can be removed successfully:
1. Design: Ensure that the BIOS completely saves the status of every single register in the video controller and restore them all properly on resume. Notice that the operating system driver uses all of the controller's registers, even if the BIOS does not.
2. Validation: Completely test suspend/resume with the video controller. For every resolution and color depth combination the controller supports, and for every output configuration (LCD, external, and dual), do the following:
Make sure that the "reset on resume" feature is disabled. (In the Display Control Panel, click Settings, click Advanced Properties, and click Monitor. Then turn off "Reset monitor on suspend/resume.")
Suspend and resume the computer. Then verify that the video controller works properly:
a) Check that colors on the desktop and menus remain the same
b) Open a folder and confirm that icons still paint correctly.
With the design adequately validated, you can use the Windows 95 OEM Preinstallation Kit tools to make the above change to the registry.