throbber
Ulllted States Patent [19]
`Silen et al.
`
`[54] METHOD AND APPARATUS FOR DISPLAY
`CONTROL BOOTUP
`[75] Inventors: Bradley A. Silen, Sausalito; Lorenzo
`Cotton, Tracy; Mark I)_ Moore, P2110
`Alto all of Calif.
`’
`[73] AssigneeZ Compaq Corporation Corporatiom
`Houstom TeX-
`[21] Appl. No.: 08/866,393
`.
`_
`[22] Flled'
`May 30’ 1997
`[51] Int. c1.7 ...................................................... .. G06F 9/44
`-
`[52] US. Cl. ............................................... .. 713/2, 713/200
`713/2 200 1
`[58] Field of Search
`652 653 £86’
`’
`’
`
`’
`
`’
`References Cited
`U.S. PATENT DOCUMENTS
`2/1997 Deckys et al. ........................ .. 395/135
`5/1998 Uehara et a1. ........................ .. 395/284
`
`[56]
`
`5,600,766
`5,754,798
`
`US006049871A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,049,871
`Apr. 11, 2000
`
`5,774,652
`6/1998 Smith .................................... .. 713/200
`5,809,230
`9/1998 Pereira .................................. .. 713/200
`P 1' imary Examiner—Dennis M- Butler
`Attorney, Agent, or Firm—Jenkens & Gilchrist
`[57]
`ABSTRACT
`A computer system includes a display control apparatus for
`preventing the display of certain characters during the
`bootup sequence prior to transfer of control to an operating
`system. The control may be instituted Without signi?cantly
`augmenting the basic input/output system memory require
`ments using a terminate and stay resident driver to cause
`certain interrupts Which Would Otherwise result in screen
`dis la s to cache the screen dis la characters. The screen
`P Y
`P Y
`display characters maybe displayed upon user command if
`elected. The computer system is sensitive to a variety of
`conditions Which require restoration of the screen display
`including situations Which require user key input and the
`failure of the operating system to initiate Within a certain
`period of [mm
`
`19 Claims, 3 Drawing Sheets
`
`( BIOS )
`
`LOAD
`MS-DOS
`DRI
`IER
`
`CAPTURE
`INTERRUPTS
`
`SET UP
`BIOS DATA
`
`QUERY
`CONFIG
`S
`Fl
`
`SWITCH
`GRAPHIC
`MODES
`
`EXHIBIT 2001
`
`

`
`U.S. Patent
`
`Apr. 11,2000
`
`Sheet 1 0f 3
`
`6,049,871
`
`2o\
`CPU
`
`2s\
`L2 CACHE
`
`HOST BUS
`24\
`
`30
`
`k
`V
`MEMORY
`
`CONTROLLER _ BRIDGE
`
`/28
`
`.
`%
`I
`
`34\
`
`BRIDGE
`
`PCI BUS 36\
`
`CONTROLLER
`VIDEO MEMoRY
`\ 37
`r33
`
`______ __
`
`— DISPLAY
`
`/32
`38\
`
`.
`
`.
`
`44
`46
`
`48 if KEYBOARD
`
`CIRCUIT
`
`52
`
`14\
`___R_°M___
`12\ BIOS ‘PP-(gr ‘6
`
`ISA BUS
`
`MOUSE
`
`_| r50
`39\
`IDE
`INTERFACE
`
`40
`
`22
`[18
`
`FIG. 1
`
`EXHIBIT 2001
`
`

`
`U.S. Patent
`
`Apr. 11, 2000
`
`Sheet 2 0f 3
`
`6,049,871
`
`( BIOS )
`
`LOAD
`MS- DOS
`DRIVER
`
`CAPTURE
`INTERRUPTS
`
`SET UP
`BIOS DATA
`
`66\ 1 QUERY
`CONFIG
`FILES
`68 \
`SWITCH
`GRAPHIC
`
`MODELS 0
`
`FIG. 2
`
`EXHIBIT 2001
`
`

`
`U.S. Patent
`
`Apr. 11,2000
`
`Sheet 3 of3
`
`6,049,871
`
`on
`i @
`
`mm;
`00
`
`mm
`
`oz
`
`02
`
`mm;
`
`02
`
`mm;
`
`@105
`
`m 9 Hz_
`
`moi
`oz
`
`mmohmmm
`
`Cm;
`
`@N
`
`m. 6.5‘
`
`EXHIBIT 2001
`
`

`
`10
`
`15
`
`35
`
`45
`
`25
`
`6,049,871
`2
`1
`A variety of interrupts may be detected to facilitate
`METHOD AND APPARATUS FOR DISPLAY
`control of the bootup display. For eXample, the terminating
`CONTROL BOOTUP
`step may include the step of detecting an interrupt Which
`BACKGROUND OF THE INVENTION
`occurs When the operating system, such as WindoWs®,
`completes initialiZation. Similarly, the method can include
`This invention relates generally to booting a computer
`the step of pausing the interrupting step When a boot
`system.
`program requests a user key input.
`Modern personal computers typically include a set of
`In accordance With still other aspects of the present
`built-in softWare routines called the basic input/output sys
`invention, a method may include the step of determining the
`tem or “BIOS.” The BIOS controls many important func
`time betWeen the interrupting step and time When an oper
`tions of the personal computer such as hoW it interprets key
`ating system completes initialiZation. The interrupting step
`strokes, hoW it puts characters on the screen, and hoW it
`may be terminated if a predetermined time period is
`communicates With other devices.
`exceeded after the interrupting step begins Without eXecu
`The BIOS typically instructs the computer to test itself
`tion of the operating system program.
`In accordance With another aspect of the present
`every time the user turns it on. To do this, the BIOS uses a
`poWer on self test (“POST”).
`invention, a computer system includes a central processing
`unit and a storage device, communicable With the central
`When a personal computer starts, it typically ?rst enters
`processing unit. The storage device may contain a basic
`What is called “real mode”. The computer accesses a special
`input/output system. A display control device is adapted to
`memory location holding program instructions including a
`prevent display of screen characters by the basic input/
`jump instruction pointing to the BIOS code. Initially, the
`output system.
`BIOS instructs the system microprocessor to run through all
`the knoWn components of the system and to determine
`The display control device may include a DOS device
`Whether they are operating properly. NeXt, any eXpansion
`driver. In addition, a timer may be provided for timing the
`amount of time before an operating system begins operation
`boards Which have been installed are checked, and
`thereafter, the microprocessor begins the actual bootup
`in the computer system. The system may also include an
`apparatus for terminating the operation of the display control
`process. During the bootup process, the BIOS code instructs
`the microprocessor to jump to a section of code instructing
`device When a given period of time has passed.
`the microprocessor hoW to read the ?rst sector of the system
`The display control device may include an element Which
`?oppy, hard disk drive, or CD-ROM drive. The micropro
`terminates the operation of the display control device When
`cessor then loads the operating system from the disk to start
`it is necessary to receive a key input from the user. A
`actual computer operations.
`mechanism may store the screen characters that are not
`Once the operating system has been loaded and is
`displayed as a result of the operation of the display control
`device.
`operating, the BIOS may continue to contribute to the
`operation of the computer. It may do this through routines
`The storage device may be a read only memory, and the
`computer system may further include a system memory. The
`that programs can access to facilitate commonplace com
`puter functions, such as reading key strokes, timing events
`basic input/output system may be stored in the read only
`memory such that the basic input/output system may be
`or putting characters on a screen. Through the use of such
`BIOS routines, programmers can create complex programs
`shadoWed in said system memory. The screen characters are
`Without being concerned about these underlying functions.
`then stored in the system memory. A device is adapted to
`In WindoWs®-based computer operating systems, the
`automatically display the screen characters in response to a
`user input.
`Windows@ operating system starts only after a DOS boot
`sequence is completed. There is typically a time lag betWeen
`Among the advantages of the invention is the ability to
`When the user turns the computer on and the time When the
`control the bootup display screen. This means that one can
`control the graphics Which are displayed prior to the time
`Windows@ program takes over.
`When the operating system is fully initialiZed. This Would
`During this DOS/WindoWs® booting sequence, an
`alloW one to display graphics Which are advantageous, for
`attached monitor Will typically display information concern
`ing the booting sequence, and then indicate (through a
`eXample, to a computer manufacturer, such as information
`Windows@ “splash screen”) When the Windows@ operating
`about the computer manufacturer, instead of the default
`bootup display. In addition, the ability to control the bootup
`system is loading.
`display screen enables the user to eliminate some of the
`SUMMARY OF THE INVENTION
`information Which is currently displayed Which may be
`In accordance With one aspect of the present invention, a
`meaningless or irritating to some users. Some embodiments
`method for booting a computer system involves initiating a
`of the system may provide the ability to cache the informa
`machine boot program. The machine boot program is altered
`tion Which Would otherWise have been displayed. The user
`can then selectively display the cached bootup display
`to prevent a certain screen display.
`information, as desired. The system also advantageously
`The method may also include the step of loading a driver
`alloWs the output generated by the bootup program to be
`into memory and hooking the driver onto an interrupt vector
`table. The driver loading may be terminated at some point in
`displayed. There are a variety of instances When this Would
`be desirable. For eXample, display may be returned When a
`time. The driver may be maintained in the interrupt vector
`user’s key input is necessary. Similarly, control over the
`table. One type of driver Which is useful as the driver in this
`computer display screen may be terminated When the oper
`method is a DOS device driver.
`ating system is not initialiZed after a given period of time.
`Other variations may involve trapping outputs that Would
`Under such circumstances, a variety of problems may have
`cause characters on the screen to be displayed prior to the
`time When the operating system is eXecuted. Information
`arisen Which the computer user may have no Way to diag
`nose Without the display information.
`may be stored corresponding to the prevented screen dis
`plays. The information corresponding to the prevented
`Other advantages Will become apparent from the folloW
`ing description and from the claims.
`screen displays may be displayed upon request.
`
`55
`
`65
`
`EXHIBIT 2001
`
`

`
`10
`
`15
`
`25
`
`35
`
`3
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is an exemplary schematic of a computer system.
`FIG. 2 is a How chart showing a booting display method.
`FIG. 3 is a How chart showing additional functions of a
`booting display method.
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`As shoWn in FIG. 1, a computer system 10 has a collec
`tion of ?rmWare programs often called a basic input/output
`system (BIOS) 12. Typically, BIOS 12 includes a subgroup
`of programs knoWn as the poWer on self test program
`(POST) 16. BIOS 12 may be stored in read only memory
`(ROM) 14. HoWever, unlike typical computer systems, the
`POST 16 may be expanded to include routines stored outside
`ROM 14 on hard disk drive 18.
`Executing a portion of POST program 16, central pro
`cessing unit (CPU) 20 determines Which routines 22 from
`hard disk 18 are needed by other parts of POST program 16,
`and transfers these routines 22 to a system memory 24 Where
`routines 22 may be executed. Routines 22 may be accom
`panied in system memory 24 by a “shadoWed” copy of BIOS
`12. Because CPU 20 can execute code faster from system
`memory 24 than from ROM 16, in a technique called
`“shadowing”, CPU 20, during the initial stages of POST
`program 16, transfers a copy of BIOS 12 to system memory
`24 Where BIOS 12 is thereafter executed.
`Computer system 10 may include a level tWo (L2) cache
`26 coupled to a host bus 28, along With CPU 20. Also
`coupled to host bus 28 are system memory 24 and system
`memory controller/host bridge 30. Computer system 10 may
`include a peripheral component interconnect (PCI) bus 32
`Which may be interfaced to an industry standard architecture
`(ISA) bus 33 via a PCI-ISA bridge 34. Also coupled to PCI
`bus 32 is a display controller 36 Which controls display 38.
`Video memory 37 may be included With display controller
`36. ROM 16 is coupled to ISA bus 32, along With an
`intelligent device electronics (IDE) interface 39, Which may
`control hard disk drive 18 and CD-ROM drive 40.
`Computer system 10 may further include an input/output
`circuit 42 Which can provide a parallel port 44 and a serial
`port 46. The input/output circuit 42 can also receive inputs
`from a keyboard 48 and a mouse 50. U0 circuit 42 also
`interfaces a ?oppy disk drive 54 to computer system 10.
`When computer system 10 is ?rst turned on, control of the
`system is governed by POST program 14. POST program 14
`detects and checks all devices in the computer system. At the
`completion of POST program 14, control of computer
`system 10 is typically transferred to an operating system
`such as the Windows@ softWare, Which is loaded from hard
`disk drive 18.
`To direct BIOS 12 to the location of the operating system,
`a boot record is stored in a predetermined location on hard
`disk drive 18. The boot record contains a partition table
`identifying the location and siZe of partitions of hard disk
`drive 18. One of these partitions contains a boot sector,
`Which has program code for transferring the operating
`system from the hard drive to system memory 24. Besides
`the partition table, the boot record also includes program
`code for checking the integrity of the partition table and
`loading the boot sector into system memory 24.
`In order to control display 38 during the bootup process,
`While the BIOS is in control of the system, bootup display
`driver 54 (an MS-DOS device driver) operating in the real
`mode can be used. This driver can be considered akin to a
`
`6,049,871
`4
`terminate and stay resident (“TSR”) driver Which loads as a
`device driver. Bootup display driver 54 is a bundle of code
`that implements a series of operations and then terminates.
`It includes a nonresident section 56 and a resident section
`58. Nonresident section 56 has the code to load and set up
`the bootup display program. It checks to see if the program
`has been installed, and sets up any con?guration
`information, redirects interrupts and then exits, leaving the
`code resident. The resident section 58 checks for activation,
`and executes routines if activated. Bootup display driver 54
`uses the loWest available memory. After it has been used, the
`resident section 58 stays resident in memory. Additional
`information about terminate and stay resident drivers can be
`found in “Write TSRs NoW” by Jim Ras, published by
`WordWare Publishing, Inc., incorporated by reference. But it
`should be noted that While TSRs are loaded and executed by
`command.com, Which processes Autoexec.bat, MS-DOS
`device drivers are loaded from Con?g.sys before command
`.com starts processing the Autoexec.bat ?le. Thus, DOS
`device drivers of the type used herein are not, strictly
`speaking, considered TSRs.
`Bootup display driver 54 may be loaded from disk drive
`18 under command from Con?g.sys into system memory 24.
`Once loaded, the nonresident loader portion 56 of bootup
`display driver 54 is terminated. Next, the driver hooks its
`resident section 58 onto an interrupt in an interrupt vector
`table located in system memory 24. The interrupt handling
`routines in resident section 58 stay resident even after the
`non-resident section 56 has been terminated. Bootup display
`driver 54 can be reactivated thereafter.
`As explained in more detail beloW, When bootup driver 54
`sees certain interrupts it takes control. When one of these
`particular interrupts occurs, computer system 10 locates the
`appropriate routine to handle the interrupt, typically by
`multiplying the interrupt number for that interrupt by four
`and using the result as an address to the interrupt vector table
`stored in system memory. Each address in the vector table
`typically points to a BIOS routine that handles the corre
`sponding interrupt. When one of the particular bootup
`display interrupts occurs, the bootup display driver 54 can be
`activated once it has been hooked onto that particular
`interrupt.
`For example, if hooked into BIOS interrupt 10, and that
`interrupt is detected, bootup display driver 54 traps all
`attempts to display characters onto display 38. These char
`acters are stored instead in a display cache 59 in system
`memory 24. In this Way, the bootup characters are prevented
`from being displayed on the screen. At the same time, the
`bootup characters can be restored and vieWed if desired, for
`example, if a user Wishes to see the character information
`Which occurs during the bootup process. In addition, if
`certain problems arise, the system operator may get useful
`information from the bootup display. By employing a pre
`determined key sequence on keyboard 48, the boot
`characters, stored in display cache 59, can be displayed on
`display 38.
`Thus, bootup display driver 54 hooks onto bootup inter
`rupts and Wrests certain controls from BIOS 12 Without
`requiring any signi?cant alteration of the BIOS program
`itself. By hooking bootup display driver 54 into the interrupt
`vector table, BIOS 12 responds in its usual fashion, but a
`different display result occurs. For example, an interrupt
`Which normally corresponds to an error condition can be
`used by bootup display driver 54, hooked into the particular
`space in the interrupt vector table occupied by that interrupt,
`to, in effect, silence BIOS program 12, by storing its bootup
`display characters in display cache 59 instead of displaying
`them on display 38.
`
`45
`
`55
`
`65
`
`EXHIBIT 2001
`
`

`
`10
`
`15
`
`35
`
`45
`
`25
`
`6,049,871
`6
`5
`Thus, bootup display driver 54 can take control of bootup
`interception so that the display screen information stored in
`execution during certain interrupt conditions, creating dif
`display cache 59 may be displayed alloWing the user to ?nd
`ferent effects from those originally programmed in BIOS 12.
`out What has gone Wrong.
`HoWever, bootup display driver 54 should also obey certain
`Bootup display driver 54 is loaded by the Con?g.sys
`responsibilities. For example, if another piece of code has
`program, preferably before anything else. Thus, it blanks
`been hooked into the interrupt vector table before bootup
`display 38 before the other drivers start displaying informa
`display driver 54 inserts itself into the table, bootup display
`tion. HoWever, some users may ?nd it desirable to load
`driver 54 should take the address of the replaced code in
`another driver ?rst.
`order to pass execution onto the prior inserted code.
`Cached display screen data may be displayed When a
`OtherWise, the start up sequence could end improperly With
`predetermined key sequence is used during the bootup
`bootup display driver 54.
`process. The cached display information is then transferred
`Another responsibility of bootup display driver 54 is that
`to display 38 so that the user can consider the information.
`once bootup display driver 54 has been inserted into the
`Bootup display driver 54 recogniZes the predetermined
`interrupt vector table, bootup display driver 54 should not
`sequence key actuation, retrieves the cached display infor
`remove itself. This is because other code might insert itself
`mation from system memory 24, and displays it on display
`into the interrupt vector table as Well, after bootup display
`38. After computer system 10 shuts doWn, the data cached
`driver 54 has been inserted. This neW code may become
`in system memory is disposed.
`dependent upon the presence of bootup display driver 54
`In some implementations it may be desirable to make the
`code and Without it might generate an error condition. Thus,
`display screen absolutely black during bootup. This may be
`When it is no longer necessary for bootup display driver 54
`done by a call to the video controller 36 to turn off its video
`to operate, it may be advantageous to bypass bootup display
`output. After bootup display driver 54 terminates and cedes
`driver 54 With a ?ag.
`control to the operating system, video controller 36 can be
`To successfully control the screen display, bootup display
`turned back on automatically. Use of this technique can
`driver 54 should handle a series of conventional interrupts
`insure that legacy devices do not address video memory 37
`that support the operation of the system. For example, in a
`and display information on display 38, regardless of the
`Windows@ operating system embodiment, control should be
`operation of bootup display driver 54. Another option is to
`transferred to the Windows@ operating system When Win
`?ll a video display buffer With information corresponding to
`doWs® launches (e.g., With the issuance of interrupt 2F).
`a completely black screen and to load that information into
`Once WindoWs® launches, the bootup information is no
`video controller 36.
`longer relevant and control of the bootup information is
`Another technique for taking control of the display screen
`super?uous. Therefore, bootup display driver 54 recogniZes
`during the bootup process is to use an extension to the
`interrupt 2F and ceases operations, alloWing Windows@ (or
`bootup process. Such an extension can be contained in the
`another operating system) to control the screen display.
`BIOS; hoWever, in many systems, there is little available
`Conventional interrupts may also need to be recogniZed
`room in the BIOS and additional usage is undesirable. In
`When a program asks the user to log in and bootup display
`such cases, the necessary code can be stored in a hard drive
`driver 54 should then trap BIOS keyboard interrupt 16.
`18 and accessed as an extension to POST program 16.
`Suppression of the conventional screen display can then be
`Techniques for accomplishing this are disclosed in US.
`patent application Ser. No. 08/778,391, titled “Expanding
`paused so that necessary information can be displayed to
`prompt the user to input necessary information. For
`Firmware,” ?led in the names of Mark J. Altendorf, et al. on
`Dec. 31, 1996, incorporated by reference.
`example, When a user leaves a ?oppy disk in the ?oppy disk
`drive When starting the Windows@ program, an interrupt
`The operating system splash screen can also be inter
`reports that the inserted ?oppy disk is not the boot ?oppy
`cepted. The splash screen is an initially-displayed screen
`disk, and requests that the boot ?oppy disk be inserted and
`typically shoWing the name of the operating system. By
`a key struck, or else the program Will not continue. In order
`intercepting the splash screen, a computer manufacturer, for
`to prompt the user to comply, this information should be
`example, can control the screen display up to and including
`provided via display 38 in response to the appropriate
`the point When the operating system is actually running. In
`interrupt during the bootup process.
`Windows@ applications, the splash screen may be blanked
`by setting the boot delay equal to Zero and the boot GUI
`Although the screen display can be controlled in any
`number of system con?gurations, sometimes display control
`equal to one in msdos.sys. It is also possible to alter logo.sys
`may be undesirable. For example, if something goes Wrong
`in Windows@ Which is the bit map ?le for the logo. The
`during the bootup process, the user may never be able to
`logo.sys bit map ?le may be replaced With an empty ?le or
`With another desired display.
`determine that a problem has arisen if the normal screen
`display has been cached instead of displayed. As a failsafe
`Referring to FIG. 2, a bootup display method begins With
`default, a timed “bail out” can, if the operating system is not
`the initiation of BIOS 12. An MS-DOS device driver is then
`loaded Within a certain amount of time, delete the screen
`loaded (step 60). Bootup display driver 54 captures a series
`interception operation of bootup display driver 54 and alloW
`of BIOS and DOS interrupts to effect the text interception
`normal screen display. For example, if a given amount of
`process (step 61). The pertinent interrupts can include BIOS
`time passes from the time bootup display driver 54 loaded
`interrupts 10, 1C, 16, and 9, and DOS interrupts 21 and 2F.
`Without the Windows@ program starting, the cached screen
`Interrupt 10 is the BIOS video interrupt used to prevent text
`display data may be automatically displayed.
`screen Writes to the display screen. Interrupt 1C is a BIOS
`timer interrupt Which may be used to time animated graphics
`The timer (Which may be a “dead man” type timer system)
`can be implemented by hooking to timer interrupt 1C. A
`or to implement a failure mode timeout. Interrupt 16 is a
`BIOS keyboard interrupt useful in monitoring user keyboard
`certain number of times per second, a bit is generated for use
`activity, and to exit the bootup display accordingly. Interrupt
`as a DOS clock. Bootup display driver 54 interrupts 1C to
`9 is a BIOS keyboard controller interrupt Which catches
`count the time elapsed, and When the time exceeds a preset
`interrupts possibly missed by interrupt 16. Interrupt 21 is a
`amount of time (e.g., 90 seconds), it terminates display
`
`55
`
`65
`
`EXHIBIT 2001
`
`

`
`25
`
`6,049,871
`8
`7
`DOS interrupt used to monitor other programs/drivers’
`and sets interrupt 2F When the user hits the escape key, by
`other keyboard activity, or by timeout, as discussed above.
`attempts to read the keyboard. Interrupt 2F is a DOS
`Bootup display driver 54 remains memory resident, since
`interrupt used to monitor the Windows@ initialiZation. Addi
`tional information about BIOS and DOS interrupts can be
`there is usually no practical Way to unload an MS-DOS
`driver after other drivers have subsequently been loaded,
`found in a number of sources such as the “PC Programmer’s
`Guide to LoW-Level Functions and Interrupts” by Marcus
`because of interrupt linkages. As a result, about 5 k of
`Johnson, published by SAMS Publishing, incorporated by
`unusable memory may result, including 2 k of video cache
`buffer space. HoWever, bootup display driver 54 can be
`reference.
`structured to permit most of the initialiZation routine to
`Several data locations in the BIOS data area may be
`relinquish memory space after the driver loader phase is
`modi?ed to conceal the fact that the text screens have been
`complete. This can result in substantial savings of memory,
`intercepted and cached (step 64). Speci?cally, these data
`especially considering the potential siZe of an initial video
`locations may be changed to re?ect standard VGA, color
`graphic animation routine.
`capable, text mode.
`As discussed above, screen information sent to video
`Next, the con?guration ?les are queried (step 66), by
`display 38 by interrupt 10 may be intercepted and stored in
`opening and parsing tWo con?guration ?les. The graphics
`system memory, for example in a memory buffer. Since a
`modes in the bootup display method may con?ict With the
`text screen normally holds approximately tWo kilobytes of
`default WindoWs® bootup splash screen. The presence and
`information, a relatively small buffer is all that is needed.
`setting of these con?guration ?les prevent con?icts from
`When the user or other program activity requires termination
`taking place. The graphic modes are sWitched (step 68) to
`of bootup display driver 54, it can restore the display graphic
`change the video graphic display mode in preparation for
`mode to text and dump the buffered text to screen (step 88).
`loading the bootup graphics if any, inserted in place of the
`Bootup display driver 54 monitors keyboard related inter
`normal bootup display.
`rupt calls (step 84) and counts the density and frequency of
`Referring to FIG. 3, a graphic color animation used during
`such calls. The timer interrupts can be used in the density
`the bootup sequence may be loaded (step 70). Timers may
`count. Some programs periodically sample keyboard inter
`be used to manage the loading and color progression display
`rupts to monitor user input activity and any user attempt to
`of the inserted graphics. A graphic bit map may be loaded
`abort a process. Bootup display driver 54 can trap and
`from a hidden partition on hard drive 18 into video memory
`prevent any such infrequent monitoring from erroneously
`37.
`terminating any substituted bootup graphics.
`Atimer estimates the bootup delay of the user’s particular
`While the present invention has been described With
`system using interrupt 2F. The delay estimate may be saved
`respect to certain embodiments, those skilled in the art Will
`on hard disk 18 for use in subsequent boot cycles to time the
`appreciate a number of modi?cations and variations, the
`progression of a graphic color animation. The delay estimate
`scope of Which are limited only by the following claims.
`is made on each boot cycle and saved.
`What is claimed is:
`The text interception process monitors a number of
`1. A method for booting a computer system comprising
`events. For example, BIOS interrupt 10 is monitored (step
`the steps of:
`72) to prevent text screen Writes to the display screen 38. If
`initiating a machine boot program;
`interrupt 10 is detected, the text data is cached (step 74).
`altering said machine boot program to prevent characters
`BIOS interrupt 1C is also monitored (step 76). If detected,
`generated during execution of said machine boot pro
`a timer is incremented (step 78). A check is made to
`gram from being displayed;
`determine Whether the display time has been exceeded (steps
`prior to execution of an operating system controlling said
`80 and 82). This is important When loading graphic infor
`computer system, trapping characters for display; and
`mation for timing the color progression of a displayed
`returning to execution of said machine boot program.
`animation. In addition, a check is made (step 82) to deter
`2. The method of claim 1, further comprising the step of:
`mine Whether too much time has passed since bootup
`responsive to the step of altering said machine bootup
`display driver 54 initially loaded, indicating that something
`program, storing information corresponding to said
`in the booting process has failed. In that case, the text
`characters generated during execution of said machine
`display is restored (step 88). Operation of bootup display
`boot program.
`driver 54 is then terminated.
`3. The method of claim 2, further comprising the steps of:
`Also, interrupts 16 and 9 are checked, since they monitor
`retrieving said stored information corresponding to said
`keyboard activity. If keyboard activity occurs, indicating
`characters generated during execution of said machine
`that the user Wants the suppressed display information, the
`boot program; and
`information is restored (step 88) and a bypass of normal
`displaying information corresponding to said characters
`bootup display driver 54 operation occurs.
`upon request.
`Also, interrupt 21 is detected (step 86). If so, the sup
`4. The method of claim 1, further comprising the step of
`pressed display information is restored for the same reason
`terminating the altering of said machine boot program When
`discussed above.
`an operating system begins execution.
`Finally, a check is made to determine Whether the Win
`5. The method of claim 4, Wherein said operating system
`doWs® initialiZation has begun (step 90). If so, the bootup
`comprises a Windows@ operating system.
`display driver 54 proceeds to terminate (step 92).
`6. A method of claim 4, Wherein said terminating step
`Bypass mode (step 92) involves setting all captured
`includes the step of detecting an interrupt Which occurs
`When the operating system begins execution.
`interrupt handlers into a bypass mode, Which may be accom
`plished by setting an internal ?ag variable, Where each
`7. The method of claim 4, further comprising the step of
`interrupt handler checks this ?ag. Each handler does nothing
`determining the time betWeen said detecting an interrupt
`if the bypass ?ag has been set. Bypass mode (step 92) may
`step and the time When the operating system begins execu
`be instigated when Windows@ begins started initialiZation
`tion.
`
`65
`
`15
`
`35
`
`45
`
`EXHIBIT 2001
`
`

`
`6,049,871
`10
`9
`8. The method of claim 7, further comprising the step of
`basic input/output system may be shadoWed in said system
`terminating said interrupting step When a predetermined
`memory, said screen characters being stored in said system
`time period is exceeded after said interrupting step begin
`memory, and said computer system further including a
`Without execution of said operating system.
`device adapted to automatically display said screen charac
`9. The method of claim 1, further comprising the step of
`ters in response to a user input.
`16. A method for controlling a computer display in
`pausing the altering When the boot program requests a user
`key input.
`communication With a computer system, the method com
`prising the steps of:
`10. A computer syste

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket