Browse Prior Art Database

Method for Controlling the Hardware Level Zero Timer Value for an IBM PC Application

IP.com Disclosure Number: IPCOM000038399D
Original Publication Date: 1987-Jan-01
Included in the Prior Art Database: 2005-Jan-31
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Grafe, RJ: AUTHOR [+3]

Abstract

A method is described to determine and restore the value of the hardware level zero timer used by various PC applications in order to support the Suspend/Resume process and maintain normal system function. The IBM Personal Computer (PC) makes use of a programmable timer counter that has several write-only registers. The PC makes use of timer 0 in the system to generate the main timer interrupt that controls time of day, system delays, etc. The normal value of this timer is approximately 18.207 times a second. The timer is programmed with a value to count down from; when this value reaches zero an interrupt is generated. Some PC applications modify the system level zero time value to increase the rate of interrupt to control interfaces, play music, etc.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Method for Controlling the Hardware Level Zero Timer Value for an IBM PC Application

A method is described to determine and restore the value of the hardware level zero timer used by various PC applications in order to support the Suspend/Resume process and maintain normal system function. The IBM Personal Computer (PC) makes use of a programmable timer counter that has several write-only registers. The PC makes use of timer 0 in the system to generate the main timer interrupt that controls time of day, system delays, etc. The normal value of this timer is approximately 18.207 times a second. The timer is programmed with a value to count down from; when this value reaches zero an interrupt is generated. Some PC applications modify the system level zero time value to increase the rate of interrupt to control interfaces, play music, etc. The PC application normally chains into the level zero interrupt and passes every Xth interrupt along to the system, where X is the number of times the counter speed has been increased. Operating systems and applications that suspend/resume applications need to read and restore this write-only timer value in order for the system to function properly while it is suspended (time of day, diskette operations, etc.). When the user suspends an application, an Application Selector chains in a special high speed timer level zero interrupt routine. This routine keeps track of the maximum timer level read for three consecutive timer ticks. After 3 consecutive ticks, the maximum value is saved for the resume step. The high speed interrupt routine catches...