`
`I
`
`I"
`
`I
`
`[<<Previous Entry] [’‘’‘Up’‘’‘] [Next Entry>>] [Menu] [About The Guide]
`
`+ ———————————————————————————————————————————————————————— — —
`
`+
`
`The New Peter Norton Programmer's Guide
`to the IBM(R) PC and PS/2(R)
`
`By Peter Norton and Richard wilton
`
`First edition (C) 1985 by Peter Norton
`Second edition revisions (C) 1988 by Mic rosoft Press
`
`##
`##
`##
`##
`##
`##
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I ##
`##
`I
`I
`##
`I
`I
`##
`I
`I
`##
`I
`I
`##
`I
`I
`##
`I
`I+
`+ -------------------------------------------------------- - -
`#1;
`################=##############################################
`
`.
`
`.
`
`.
`
`. .. 1.89
`
`(19
`
`1991)
`
`Online resources provided by: http://www.ousob.com -- NG 2. HTML conversion by Dave Pearson
`
`some Depot®TonerDea|s
`
`Get The Toner You Need At A Price You Will Love. Hurry, Shop Now!
`
`
`
`1
`
`AMI Ex. 1019
`AMI EX. 1019
`
`EXHIBIT 2004
`
`IPR20l5-01094
`
`1
`
`
`
`saéesfomeio The Sma rter, SE in plo 2' CRM
`
`[<<Previous Entry] [""Up""] [Next Ent1'y>>] [Menu] [About The Guide]
`
`The New Peter Norton Programmer's Guide to the IBM(R) PC and PS/2(R)
`
`By Peter Norton and Richard Wilton
`
`(C) 1985 by Peter Norton
`First edition copyright
`Second edition revisions copyright
`(C) 1988 by Microsoft Press
`
`Peter Norton
`
`Peter Norton was reared in Seattle, washington, and was educated at Reed
`College in Portland, Oregon. Before discovering microcomputers, he spent a
`dozen years working on mainframes and minicomputers for companies
`including Boeing and Jet Propulsion Laboratories. when the IBM PC made its
`debut, Norton was among the first to buy one. Now recognized as a
`principal authority on IBM personal computer technology, he is the
`president of Peter Norton Computing, Inc.,
`a company that is a leader in
`developing and publishing PC utility software. Norton is also the author
`of the popular book Inside the IBM PC, now in its second edition from
`Brady Books.
`
`Richard wilton
`
`Currently a fellow in the Medical Informatics program at the University of
`California, Los Angeles, Richard Wilton earned an M.D.
`from UCLA and
`Completed his residency in pediatrics at the Childrens Hospital of Los
`Angeles. He has been programming computers Since the late 1966s and has
`worked with IBM mainframes as well as with various microcomputers. Wilton
`has written about
`IBM PC and P5/2 programming for BYTE, Computer Language,
`and The Seybold Outlook on Professional Computing. He is the author of
`PROGRAMMER'S GUIDE TO PC AND PS/2 VIDEO SYSTEMS, published by Microsoft
`Press.
`
`EXHIBIT 2004
`
`IPR2015—01094
`
`2
`
`
`
`Online resources provided by: http://www.ol1sob.com — NC 2 HTML conversion by Dave Pearson
`
`i‘e>
`
`I._ri
`
`EXHIBIT 2004
`
`IPR2015—01094
`
`3
`
`
`
`Computer & Tablet Sale
`
`Clearance Event — 50% Off Laptops, Desktops, & Tabletst Shop Now
`
`[<<Previous Entry] [""Up""] [Next Entry>>] [Menu] [About The Guide]
`
`the input oscillator to the system timer circuit has
`In all PCs and PS/2s,
`a frequency of 1.19318 MHz. On each cycle,
`the timer chip decrements the
`values in a set of internal 16-bit counters, one for each of the timer's
`output channels. when the value in a counter reaches 6,
`the chip generates
`a single output pulse on the corresponding channel, resets the count, and
`starts counting down again.
`
`when the ROM BIOS initializes the system timer, it stores a countdown
`value of 9 in the count register for channel 6. This means that the timer
`chip decrements the counter 216 times between output pulses on channel 9,
`so output pulses occur 1,193,180/65,536, or about 18.2 times per second.
`The output from timer channel 2 is used as the signal on interrupt request
`level 6 (IRQ6),
`so interrupt 68H occurs whenever channel 0 of the system
`timer counts down to B--that is, 18.2 times per second.
`
`The ROM BIOS contains an interrupt handler for interrupt 88H that
`increments a running count of clock ticks at 6a48:B06CH in the BIOS data
`area. This same interrupt handler also decrements the byte at @B46:694@H;
`if the value in the byte reaches 6,
`the interrupt handler issues a command
`to the diskette drive controller to turn off the diskette drive motor if
`it's on.
`
`The ROM BIOS interrupt BBH handler also issues software interrupt 1CH,
`which is intended for use in programs that want to be notified when a
`system timer tick occurs. A program can detect when each timer tick occurs
`simply by pointing the interrupt 1CH vector at O@@9:6G79H to its own
`interrupt handler. If you use an interrupt 1CH handler in a program,
`however, be aware that the ROM BIOS interrupt BSH handler does not allow
`subsequent clock-tick interrupts on IRQ6 to occur until your interrupt 1CH
`handler returns. If you install an interrupt 1CH handler, be certain that
`it doesn't keep IRQB disabled for too long or the system may crash.
`
`in programs that must
`The system timer tick and its interrupt are useful
`perform a simple task at a regular interval regardless of what else is
`
`EXHIBIT 2004
`
`IPR2015-01094
`
`4
`
`
`
`going on in the computer. The timer—tick interrupt has the highest
`priority of any of the hardware interrupts (except the nonmaskable
`interrupt), so the code in the corresponding interrupt GSH and 1CH
`handlers takes precedence over all other system software.
`
`the timer tick is used primarily in operating system
`For this reason,
`software and in memory—resident "pop—up" programs like SideKick or the
`Norton Guides. Such programs have their own timer-tick interrupt handlers
`that check whether it is time to pop up on the screen. These programs
`generally rely on the system timer tick to occur at the default frequency
`of 18.2 ticks per second.
`
`Because timer-tick function is so essential to the proper operation of the
`computer, you should change the output frequency of system timer channel 6
`only if you are careful to preserve the functionality of the ROM BIOS
`interrupt 68H handler. For example, BASIC uses the timer tick to measure
`the duration of tones created with the PLAY or SOUND command. However,
`because the standard rate of 18.2 ticks per second is not fast enough to
`provide the precision that some kinds of music demand, BASIC reprograms
`the timer to tick four times faster, which causes interrupt 98H to occur
`72.8 times per second instead of 18.2 times per second. when BASIC counts
`against the quadruple rate, it is able to more accurately reproduce the
`proper tempo of a piece of music.
`
`BASIC can do this because it has a special interrupt 98H handler that
`calls the default interrupt 68H handler on every fourth timer tick. This
`ensures that the usual interrupt 98H functions still occur 18.2 times per
`second. If you reprogram system timer channel 6 to a nonstandard rate,
`your program should use the same technique of preserving interrupt 88H
`functionality.
`
`is not
`the sound frequency generator,
`Programming system timer channel 2,
`as demanding, because no ROM BIOS or operating system functions rely on
`it. Before we cover the programming details, however, we'll describe some
`of the basic mechanics of creating sounds with a computer.
`
`“M9355
`
`Sign up for Office today and
`get your first month free!
`
`g
`
`A
`
`'_
`
`I
`
`f
`
`EXHIBIT 2004
`
`IPR2015—01094
`
`5
`
`
`
`EXHIBIT 2004
`
`IPR2015-01094.
`
`6