throbber
ypéemedicéls
`HfiAqa.5 P4 (Periodicals)
`LPG :
`the independent guide to
`rgfimrpersenal computers
`E6:1'
`figanfaeg 1937
`gfiecéfived 0n: 12419~86
`“MERIAM LIBRARYr—CSU,_EHICD
`§J.@3;aauaa”--~i.-
`.whwy
`
`
`
`
`
`
`LUMI: {a N U M BER l
`\IUARY I3. I987
`
`The AT
`Clone
`i‘rom IBM
`
`Connectivity: _
`1BM Token-ng
`Report Card
`-
`
`Removable
`Hard Disks:
`rhree
`Bernoulli
`Challengers
`
`'
`
` A~~GA2INE ‘
`
`001
`
`ServiceNow's Exhibit No. 1006
`
`

`

`Epéemeeicéle‘
`leAqe.5 P4 (Periodicals)
`{PC :
`the independent guide to
`RIBM'Persenal computers
`El':">:1'_
`-
`Egan 13, 1937
`”Received on: 12#19~se
`EMERIAM LIBRARYF—CSU, GHICO
` # —
`
`
`
`
`
`
`1.9.
`:1
`
`3
`
`
`.
`
`i
`
`; j:
`
`AGAZINE
`
`Lowe NUMBER l
`quan/I3.I987
`
`The AT
`Clone
`From I BM
`
`Connectivity: _
`lBM Token-ng
`Report Card
`-
`
`Removable
`Hard Disks:
`Fhree
`Bernoulli
`Challengers
`
`'
`
`i
`
`,. ThirdAnnual
`Best and ”first:
`
`002
`
`ServiceNow's Exhibit No. 1006
`
`

`

`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 I I I I I I I I I I I I I I I I I I I I I I I
`
`
`
`lfyoo use Word Perfect. MS-Wurtl.Q&A.
`I Pfiiiii‘fiifig‘iiiif.”h333%.“?
`I need Cruise Control'5_Screen Runner. the
`high-performance. adjustable-speed cursor.
`I Cruise Controi's namesake I'enture takes the
`drudgery out olpaging through dot: base
`I records. long documents, and large
`spreadsheets. It lets you repeat any ltey.
`I hands-iree— at the speed ofyour choice.
`And there's more. A Chronorueter "types"
`the time or date into your application at the
`current cursor posiiion. The keyboard-
`epntrulled Screen Dimmer
`rotects your
`privacy. The r
`rammab eAulo-Dlmrner
`extends the H e 0 your display screen.
`Corn atlltle with thousand: DI today's
`opo or program. including Lllghtnln
`uperKey, and Readyt. Uses on y 3K AM.
`For DDS 2.0 Dr later. Not copy-protected.
`No risk. 60-day money-back guarantee.
`
`..
`
`Cruise.
`Control
`From now until 1281186:
`Only $29.95.
`Call now to order by credit
`card (VISAIMCIAII):
`201-366-4445
`Or. mail $29.95 plus $3.50
`shipping and handling to:
`
`Revolution
`
`With all the recent hoopla over performance.
`it's Ironic that two of the PC's er onomlc
`deficiencies have been overlook! — its slow
`cursor. and the tendency ofihe cursor to
`remain in motion (run-on) alter a cursor key
`has been released. Finally. the solution—
`Croise Control?" from Revolution Saltware.
`Cruise Conlrol is a new productivity tool for
`serious PC users. It boosts cursor speed.
`typieally by 3-5x. It eliminates annoying
`cursor run-on. And it adds hoods-free
`cursor navigation to any application.
`If you use 1.2-3.5ymphony. dBASE, Reflex.
`or Paradox. you need Cruise Control's Anti-
`Skid Braking. Here‘s who! the leader of one I
`botus our! group said about Cruise Control:
`“fine: I used It. I' worried it! Excellent idea.
`Very pmrri'ml. One affine best program
`ever rent to urfiar review! "
`
`...Williitm Lulu-e
`PUBLISHER...
`
`
`
`...Bill Mauhroni:
`
`BXECUTIVE EDITORS Slut-Iowan] LulsoSimone. PouISDrnenun
`
`
`
`
`WESTOOAST EDi'I‘OR.
`...Stewan Alsop
`
`
`
`Gus Venditto
`SENIOR EDITOR...
`
`
`TECHNICAL eono
`.Crnin L.Suuk
`
`.Greg Pnaoicic. Pool B. Rm:
`nssrsrnnr MANAGIN
`.ljndn Look
`
`MANAGER. OOPY eon-
`
`
`nssocuwe emcee.
`.IemilerdeJDng. Cherle.Golriberg. Iv-II-lil Kleinman
`
`.Poul M. Sulford
`STAFF some .......
`
`
`
`enooucrion eonon
`.Diane D'Angelo
`nostrrnm moons .....
`Vittoria Danol'f, Carole Oo'ldnieln. Mill Jone-i. Immhnn K. Molnltin. PI‘
`Olowaez. AnnOvodow
`
`
`SENIOR EDITORIALASSISTANT.............
`M. Stephanie Ricks
`
`
`
`EDITORIAL ASSISTAM'S ......................
`Ruben amen. Peggy Gavan. minions Dksng. Joseph R. Pullout-o. Do
`Willmmmennilerlolnu
`
`....Ills Knlllel
`BUSINESS MANAGER
`
`
`
`PROOFREADERS .....
`Michael Cohn. Dovldk. Warren
`RECEPTIONIST........-..
`.IrioLI-llhhr
`
`
`
`...Richsrd Amour. Funk I. Dert'ler. Jr" John Dinkinsfirl. John C. Dvorak. ii
`CONTRIBUTING EDITORS .....
`Hart. Sleve Holmer. Jamel Langdell. Slepheh MIAMI. PEIEI NDflDfl.
`'
`
`
`Peuold. Winn 1,.Rooeh. Jim Seymour. M. David Stone. lured Taylor
`
`....Duvid Baker
`
`
`ASSISTANT TO THE EDITOR ........
`...Lciis Clifford
`ASSISTANTTO'I'HE PUBLISHER...
`
`
`
`SENIOR ART DIRECTOR .............
`.....Maryflsl‘.
`
`
`”Chord Kunkel
`TECHI‘IICAL ART DIRECTOR .
`
`
`..Tmey 1. Grant
`.
`ASSOCIATE ART Dream-on”
`
`
`..Mu‘iano Niciru
`ART EDITOR ......
`
`
`
`..Lourie Wme
`GRAPHIC DESIG
`
`
` ASSISTANT ART DIR “Denna Flatltin
`..Nsuiie Che. Susan McGuire
`
`
`..FriednT. Smallwood
`
` DIRECTOR. PC LABS ............... ..WiIIiamG. Wong-
`
`TECl-WICALSUPPORT SPECIAL!
`Chules Rotlrigoe:
`
`
`LAB SERVICES MANAGER
`ulieen O'Brien
`
`PROJECT LEADERS .............
`oe Deapodltu. Bill O‘Brien. Phil Rose
`
`
`
`
`INVENTORYCONI'RDLTECHI‘J ClAN..
`Leon Newman
`
`
`David Rivera
`RECEPTIONIST .
`
`
`MARKETING DIRECTDRRonm Schoenberg
`
` "Jessica Remy
`PUBLIC RELATIONS MANAGER
`
`..Itimberly Humphries
`
`
`
`PUBLIC RELATIONS ASSISTANT .....
`SiNGLE cow snLt-zs oozecmn
`...............o..o Mime
`..Carol seamen.
`nereiLsaLEs owner-mo MANAGER .
`
`...CharlesMast
`CLRCULA‘I'iON MANAEER .........
`
`
`
`.. .Ro‘bert Smuhl
`CIRCULATION COORDINATOR
`Susan DePierru
`SENIOR AD. FRODUCTION MANAGER ...
`
`
`AD. PRODUCTION MANAGER........
`...Wendy Guidsrnin
`
`
`...Susan Livoti. Lilo Solomon
`AD. PRODUCTION ASSISTANTS .....
`
`...Eve Hiodcm. Harbor-altos:
`EDH'DRLAL PRODUCTION COORDINATOR-5
`PRODUCTION SYSTEMS ........................................Melvin Foiler-Poemh. Linda Harms. Peggy Pennelln
`
`
`ADVERTISING OFFICE ..........................................One Park Avenue. New York. NY IUOliSI. (ll!) $03-$00
`
`
`EFF-DAVIS PUBLISHING COMPANY
`
`......Kenneth H. Koppel
`
`.. .Peul Choolt
`
`SENIOR VICE PRESIDENT. MARKETING
`
`Baird Davis
`VICE PRESIDENT.OPERA'I'IONS........
`
`
`
`.loltn VIM-hos
`VICE I’RESIDENT. CONTROLLER...
`
`
`Herbert Stern
`
`VICE PRESIDENT. CREATIVE SERVICES
`Alicia Marie Ivan;
`
`
`...
`VICE PRESIDENT. CIRCUM'I'ION
`James Runaley
`VICE PRESIDENT. CIRCULATION SERVICES.
`
`
`Ann Pollolt Adelmnn
`
`VICE PRESIDENI'.MARKETING SERVICES
`
`VICE PRESIDENT.DEVELOPMENT .
`Seth Alpert
`
`
`
`
`VICE PRESIDENT ..............
`Hugh Tietien
`
`
`
`ausmess MANAGER ..
`Gary A. Oustalron
`...................Waller-LTei-leeltl
`PRODUCI'IDN ornecm
`
`ZIFF COMMUNICATIONS COMPANY
`
`
`
`
`
`
`
`_
`'
`
`"
`
`‘
`
`:,
`
`.
`
`_
`
`I
`.
`
`Chairman Philip B. Kerstin! President Kennelh H. Koppel Senior Viee President Philip Sine Vice Presidents Laurenoe Usoin. Willi
`lips. I. Malcolm Morrisjioven C. Feinrnnn Treasurer Selwyn I. 'I‘oubman Secret-w Bertram A. Abrams
`pcnmd...” r..r..:.........a..¢. MBM-onmdardl'rrmlfwflifle ammo-mu: “WBIIMU-Wmhlulxu um rumors-ammo ennui l-
`mam... sa._wn.m.m.umn pm... mm rare-Madman Min summon-moment»: m-.-rivhhnarmtanmmmm an: M t '4:
`m. in twin. second-Gm pat... phi-(New Vulnfl‘f inure-u .. room moraines. eon-romeo. mum win wen-mam. no. no: we meet“
`Stiller!“ and anon-50mm Ow Puliltve..Ne-r't’rfl. HY touts. Handel (Illl 503-6753. Markinglllii ”Him. for wwnpuu lnqulrln Ind "rule-r. uriIeuPL‘N ‘-‘
`
`.
`
`003
`
`ServiceNow's Exhibit No. 1006
`
`

`

`' FEATU R ES
`
`COMPUTERS
`
`The AT Clone from IBM
`
`SOFTWARE
`Multidimensional
`
`
`
`COVER STOR"tr
`
`
`
`lBM's $3.995 PC-XT
`
`Model 286. page [55
`
`The Best of 1986 [And Some
`of the Worst)
`An entire year‘s worth of PC
`products and developments
`gets summed up in this sharp-
`eyed. personal glance
`backward by the editors and
`writers of PC Magazine ... l l5
`
`Abort, Retry, Ignore
`BiltHowom’l An industry that
`slavishly reproduces bugs in the
`name ofcompatibility richly
`deserves its own set of error
`
`messages. PC Magazine
`provides some fitting rejoinders
`to the year's flubs and
`foibles ....................... 152
`
`
`
`
`
`3-.
`PC With
`Iii-I Wald-immuni-
`W “mills-MI!"
`.wavmsmmeIi-w ll
`immlmiilm
`munch-u n
`a
`.
`.
`|_.l.ll|nllp-
`rung-mum-
`u lumen-In truism-In.”
`."il'flWqu-ut‘“we'd"
`m hi
`t
`unhin- human
`Ila
`scammed...
`“macaw-mama
`
`
`
`
`
`
`
`Wt'th. Roach! The IBM PC-
`XT Model 286 is a .
`hardworking but costly
`addition to Big Blue‘s product
`line. Is there a market segment
`that will find the 286‘s assets
`
`equal to its price tag? ...... I55
`
`CONNECTIVITY
`
`Making Connections: The
`IBM Token-Ring Network
`Frank J. Derfler. Jr. J The IBM
`Token-Ring Network should be
`able to lay claim to being the
`new industry standard. A
`critical shortcoming stands in
`its way ...................... 227
`
`HARDWARE
`
`Stretching the Standard:
`Seven New EGA Boards
`Charles Petzoidt The more-
`adventurous manufacturers in
`the EGA market—Video—"l,
`
`Quadram, Tseng Laboratories.
`Paradise Systems, and
`lDEAssociates—are Forging
`ahead with boards that both
`
`mimic and improve on the IBM
`original, with higher?
`resolution video modes and
`
`some unique software
`features ...... ................ [65
`
`Drawing a Bead on Bernoulli
`Winn L. Rosct’t/ Fast data
`
`access speeds. more hard disk
`storage space. greater data
`security. and improved
`performance are the hallmarks
`of today‘s cartridgesbased hard
`disk systems. Amcodyne‘s
`PhD. Sysgen’s DuraPak, and
`lDEAssociates’ Diskit 2 Plus
`
`are challenging the Bernoulli
`Box as the premier solution to
`
`=
`
`-...._...‘........
`
`Spreadsheets: Giving be
`to Your Data
`...ui-su
`Marvin Bryant The
`sophisticated nature of toda)
`business environment derri.‘
`
`more than a traditional two?
`dimensional spreadsheet c...-
`provide ......................' '
`
`Electronic Thesauri: Four
`Ways to Find the Perfecti-
`Word
`"-:
`Robin Ruskin! If your copy
`Roget's Thesaurus is gettiii
`more dog-cared (tattered, l
`
`worn) by the day, then it 111'
`
`be time far you to check cu
`(look into, investigate) its.
`
`various (many. sundry)
`2
`electronic incamations. .. i
`i
`
`
`;:'..'\ i.1‘..'.\‘.r'-".J--Jt‘.
`
`l '
`
`
`
`
`'l
`GRAPHICS
`2
`
`-J. J
`CAD at Any Price
`Giemt Hart! Does the dram i
`
`price spread ($80 to $8, I 'll *
`among the four packages . ,l
`review—AmoSketclr.
`EaryCAD. cacti/me, an‘l'"
`MirroC‘adam—pamllel
`comparable spread in
`performance? . .
`.
`.
`.
`.
`. .....-
`
`'3
`
`'j c
`SERVICES
`MSR: A New Approach
`Software Support
`3
`l
`Barbour Krasttofi‘iwm't
`i-
`'
`Support Resource’s
`AnswerLine, help with _.--
`
`'
`
`l
`
`]
`
`-
`E
`
`004
`
`ServiceNow's Exhibit No. 1006
`
`

`

`PRODUCI'! ‘v‘ ['1' Y
`PC LAB NOTES
`Hands-On Reviews: Tandy,’s
`A Quick Look at
`tODUEX and 3000141.; Seny's
`QuickBASIC
`3Pietro-1302 Muitiscan
`Trimitrorn monitor;
`Ethan Witter/Explore the speed
`and power of Version 2.0 . 235
`WordTech's Quicksilver;
`iiitits/tuitisoft's PC SIJPEI‘KWIR;
`"inMathSon's MothCAD; the
`0' .Tops PCato-Mac network;
`3“"Lifetree‘s Words cit Figures;
`-' 3Broderbund‘s For-Caimnent;
`MR Relational Report Writer
`“1' for dBASE; in Quick Looks,
`ii Hotshot and ColorMngic . . .33
`
`PROGRAMMING!
`UTILITIES
`Files Fly with DIREX
`Steve HolzuerlRemove the
`
`drudgery of file directory
`management; add protection to
`selected files ................ 295
`
`. VIEWPOINTS
`. LETTERS TO
`I‘MPC MAGAZINE ............ 15
`
`9 PC ADVISOR
`
`SPREADSl-[EET CLINIC
`
`Jared Taylor/Add a notepad to
`reference cells. write BASIC
`programs with 1‘2—3, and make
`decorative borders ......... 309
`
`3n: VsnciirloiHelp in adding
`”RAM beyond 640K to a
`‘ompaq and in sharing word
`rocessing files between [BM
`C and Wang systems ....... 27
`
`TURBO POWER USER
`Neil J. RubenkinglConvert
`variables into strings and
`modify Turbo to been at
`compilation errors ......... 313
`
`ROM THE sorrows
`GREEN
`
`ill MuchronciSmalI-System
`nobbery ..................... 61
`DIIN C DVORAK
`hainframes—Here to
`Imsitay ........................... 67
`minside Traci-t ................. 69
`
`’ETER NORTON
`nd he Software Revolution,
`'311 l ......................... 75
`
`...|1M SEYMOUR
`lesktop Publishing. Myths
`m1 Realities ................. 35
`
`TEPHEN MANES
`MiI'Vhatever Happened to
`'rgflnomics? ................ 91
`
`t‘twlTEWART ALSOP
`,_,.lhePower Desi-t .......... 107
`
`USER-TO-USER
`
`Poui SomersoniA utility to
`check available RAM and a
`
`program that write protects
`your hard disk .............. 3 19
`
`rt: TUTOR
`Charlies PelaoldlSet colors in
`
`1 2—3.. Release 2, and program
`in BASIC with PC
`compatibles ................. 325
`
`
`DIRECT MARKETING
`CONNECTION .......... 330
`READER SERVICE
`CARD ...................... 33?
`MARKETPLACE ....... 34S
`PRODUCT INDEX ...... 3615
`INDEX TO
`ADVERTISERS .......... 368
`COMING UP ............. 369
`Cover Photograph:
`Raeanne Giovanni
`
`
`
`WHAT’S INSIDE
`
`
`
`In many industries, 5 years is
`hardly long enough to lockto
`even the barest of standards.
`Everyone from users to vendors
`to the press argues over subjects
`ranging from keyboard layout
`to user interfaces to graphics
`protocols. But as we take an-
`other year—end look at the mi-
`‘
`.
`Crocomputer business, it’s evi-
`Pc ”'35 Bencmmk Tci‘s‘l'o
`dent that traditions, if not standards, abdund.
`in this third annual best-of—the-year issue, the editors and writ-
`ers of PC Magazine get personal about the products and industry
`trends of 1986. We spend most of the year objectively evaluating
`products. This:5 cm traditional chance to add a healthy dose of
`subjectivity to the magazine Turn to page 1 15 for a no-holds-
`baired look at the best and worst of 1986.
`
`at
`'1
`
`Another tradition at PC Magazine is ensuring that our bench-
`mark tests are absolutely current with the rapid pace ofteehnology.
`For years, users everywhere have relied on the tests to provide
`quantitative, comparative, and repeatable measurements. In this
`issue, we are introducing Release 4.0 of our benchmark test series,
`whicli contains some familiar beachmark tests and new File Ac—
`cess, BIOS Disk Seek, and DOS Disk Access tests.
`The new BIOS Disk Seek test supersedes the popular Disk Ac-
`cess benchmark test from Core International. Both tests report hard
`disk random seek time, the most common hard disk performance
`measurement. But our new DOS Disk Access test avoids size limi-
`tations and uses DOS calls to access disk sectors directly. It differs
`from the BIOS Disk Seek test in that it will work with any DOS
`disk. This lets us campare a wider variety of devices, from RAM-
`disks to write-once, read—mostly (WORM) laser disks.
`lt‘ s difficult to switch tests because users want to compare new
`results with the old. With this'to mind we' re now retesting existing
`industry--standard products, particularly the iBM PC, XT. and AT,
`to provide a consistent set of bees-level comparisons.
`We uSed the new benchmark tests to evaluate IBM's new PC-
`XT Model 286 and removable hard disks for two articles in this is-
`sue: ”The AT Clone from lBM“ on page 155 and ”Drawing a
`Bead on Bernoulli“ on page 217.
`And in the PC Magazine tradition of giving readers the fastest
`hands—on evaluations of hot new products._ we review Sony‘s
`CPD-1302 Multiscan monitor and Tandy's $799 lDOOEX computer.
`We encourage all readers to obtain a copy of the PC Labs
`Benchmark Test Series, Release 4.0. You can download the tests
`from the PC Magazine interactive Reader Service by calling (212)
`6961-0360000 or 1,200 bps. no parity. 8 data bits.
`1 stop bit) or
`contact PC Labs at One Park Avenue, New York, NY 10016.
`[Iii
`
`.
`
`005
`
`ServiceNow's Exhibit No. 1006
`
`

`

`
`
`l QUICK LOOK AT
`oUlCKBASIC
`
`1"}ASIC has long been the not-so-royal road to learning programming. A veteranprogronaner
`hows why Microsofi’s QuickBASIC 2 .0 should be the new standard.
`
`
`ith the release of Version 2 of
`
`the QuickBASIC compiler,
`Microsoft has created their most
`5 wilvanced BASIC ever. Yet for all of its
`ii:lower and speed, QuickBASlC (already
`iallecliollalely dubbed QBZ)ls remarkably
`1easy to use. The editOr integrated into the ‘
`ilpackage facilitates compiling programs in
`:iiflfilflflly. where they may be tested and run
`iflmmediately (see accompanying sidebar
`ft‘lnterpreted vs. Compiled BASIC"). The
`ilompiler can also be directed to send its
`willttput to disk either as an .OBJ file for
`fill parale linking. or as a complete .EXE
`l'fiimgl‘am.
`iii But the most impressive advances in
`,QuickBASIC over BASICA and earlier
`illusions of the BASCOM compilers are
`like fundamental additions to the language
`illself. These are not just a few small im-
`ilprovementsma new dialect so to speak—-
`ibut and up to a truly fabulous implementa—
`lion of the BASIC language. BASIC has
`rill: ways been the easiest language of all to
`, and this latest version includes more
`Ili'lfiatures, more raw speed and more power,
`Tillhile making programing easier than
`'err. In this article, we will look at ways to
`:QXplCllt some of these new functions, and at
`iitfgw QuickBASIC tips and techniques as
`In the past, some programmers have
`Ilcriliclzed BASIC for its lack of ”struc-
`1‘ Wm." favoring C or Pascal instead. No
`Ii'llbt many dislike it merely because it‘s
`i1».'casy to use. After all ifprogramming a
`libmputer can be that easy, then it might
`‘Usesome ofits mystique But that' sexact-
`
`ming—real programming—accessible to
`millions of people. With this latest release,
`there is no reason to ever apologize for us-
`ing BASIC.
`.
`One of QuickBASIC's strongest points
`is its support for a modular programming
`style. True procedures may be created,
`multiline If/ThenlElse blocks are allowed,
`and line labels instead of numbers are sUpv
`ported. Rather than identifying each line
`with a number, as in the past, sections of
`code may be given names. Instead of
`
`GOSUB 1200
`
`QuickBASIC lets you use
`
`Gosub Print.Heading
`
`PRODUCII[VI1Y INDEX
`. PC LAB NO’I‘ES
`QuickBASIC.2. D: faster and more
`pOWBrful than BASIC—end easier.
`PRO GRAMMINCIUTILITIES
`DIREX manages files more quickly
`and easily than DOS.
`SPREADSHEET CLINIC
`BASIC data entry with 1-2 -'3. a cell-
`specific notepad; better .borders.
`TURBO POWER USER
`
`on a compatible, and .PIF files.
`
`A compilation error alannlconverting
`variables into strings; custom color.
`USER-TO-USER
`
`Write-protect tab simulator for hard
`disks and faster diagnostics.
`PC TUTOR
`Colors in 1-2-3, running GW-BASIC
`
`Other improvements QuickBASIC
`adds to regular BASIC include the abilities
`to use multiline functions. large arrays and
`programs (limited only by the PC '5 memo—
`ry), long strings, and local variables, plus
`network and EGA stipport. and a terrific
`manual that includes numerous examples.
`In fact, QuickBASIC can do so many
`things that regular interpreter BASIC ei-
`ther can‘t do or is impossibly slow at, that
`it is sure to become the new standard. And
`
`on top of all this, it is readily available by
`mail for substantially less than its $99 list
`price. Let‘s take a closer look.
`
`MULTILINE FUNCTIONS It’s certain—
`
`ly not difficult to imagine how multiple
`program lines within a function definition
`could be uSeful, but this new form presents
`other interesting possibilities as well. For
`example, a function may now actually do
`something instead of merely calculating a
`result. Suppose, fer example, that a pro-
`gram needs to count the number of lines
`contained in several different text files.
`
`Using this new capability and a few local
`variables, each file could be examined
`with a single statement.
`
`Line.Count x PnCount: (File. Narne$l
`
`A suitable function definition might be
`Written as shown in Figure 1.
`Notice how the assignment of a value to
`the function name is performed separately,
`at the end of the definition. (Of course.
`QuickBASIC also supports the old method
`of defining functions, as well.)
`
`006
`
`ServiceNow's Exhibit No. 1006
`
`

`

` I PC LAB NOTES
`
`does, this new capability can be a big help.
`For example, ifiThen testing may now be
`included within a function definition. in
`
`the past, the truth of an argument had to be
`determined by complicated and often devi-
`ous means. Consider a function that will
`
`convert a single letter to uppercaso. The
`old way or doing this would be something
`like that shown in Figure 2.
`In the old method, the ”truth of"
`whether X$ is a valid lowercase letter is
`
`first multiplied by 32 and is then added to
`the original ASCII value of X34. Of course,
`you would normally subtract 32 to convert
`a character to uppercase. But in BASIC.
`
`Def. FnCounttF.Name$l
`Static x: X3
`x = 9
`
`Open F.Name$ For Input An #1
`While Not Eofil)
`x = X + 1
`
`Line Input; #1. xt-
`Wand
`Clone
`FnCount = x
`End Def
`
`'looal variables
`'initialize counter
`
`'oPEn upeoified file
`'until it ends
`'add 1 for each line
`'go to the next line
`
`'asaign the count:
`
`Figure 1 : A typical QuickBASiCfunction definitionfor counting lines in textfit’as.
`
`Def snapstx$J=Chr$tAecta$t + 32‘* (as => "a" and as <- “z"))
`
`
`
`Figure 2: The convolutedflittctiott required under oldBASIC to convert t2 letter to uppercase.
`
`i
`
`
`
`I
`
`I Program statements in
`
`QuickBASIC can be made
`to continue onto subse—
`
`quent lines by using an
`
`underscore, contributing
`
`greatly to readability.
`
`when a condition is true, it results in a mi-
`nus one. Contrast that mess with the equiv-
`alent QuickBASIC procedure. First you
`define the function (see Figure 3). Then, to
`capitalize a character. you simply invoke
`the function thus:
`
`X3 = FnUpblxbi
`
`Further, since multiple program lines may
`be used, it‘s not hard to design a functirm
`that capitalizes all the letters in a string (see
`
`Notice in Figure 4 how program state-
`ments in QuickBASIC can be made to
`continue onto subsequent lines by using an
`underscore. This can contribute greatly to
`a program's readability, which is much of
`what QuickBASIC is all about. These
`“logical lines" may be up to 32,767 Chara
`actors long,
`though I wouldn‘t want to
`
`oer snapstxst
`If X$ 2) "a" And X$ (= "z" Then 35 = Chr$(ASCKX$)-3ZI
`FnUp$ = X$
`End Def
`
`Figure 3: The equivalent QuickBASICfunction.
`
`Def FnUp2$iX$i
`Static X. Temps
`For: x = 1 To LentX$l
`Temp$ = Mid$tx$r x, ll
`If Temp$ -> “a." And Temps <- “'2" Then _,
`uiestxs. a. 1}
`
`Next
`Fnflp2$ - xs
`End Def
`
`Figure 4:51 similar Q32function to uppercase all letters in a string.
`
`
`= Chr$tAaciTemp$l - 32)
`End Sub
`For x = moundlbuttuny)
`'t‘o UEoundtDuntmy)
`
`Sub Get.HaxtDummyl1) . D) Static
`Static x
`D = B
`
`Next
`
`If Dummytxi
`
`> D Then D n Dummylxl
`
`Figure 5: Using the new QuickBASiC‘firnr-tions Mount! and UBaund.
`
`,
`
`process six different arrays during the
`course of a program,
`the same routine
`would have been needed that many
`times—coded once foreach different array
`name. Now a single routine can be reused,
`with the appropriate array specified when
`it is called. Let's take a closer look at how
`this works.
`
`ever received a “Retum Without (3051113
`error because your main program 'fcl
`into" the beginning of a subroutine. yo“ “-
`appreciate this feature. The second-411d
`more powerful—advantage is that vii-ti
`ables and arrays may now be passed [0 r
`subprogram by name.
`
`
`
`
`
`007
`
`ServiceNow's Exhibit No. 1006
`
`

`

`[NTERPRETED VS. COMPILED BASIC
`
`
`list of words it knows. Only then can it
`decide what you‘re asking it to do.
`DOS’s interpreter is contained in the pro-
`gram CONNANDCOM.
`People who want to learn program-
`ming, however, usually begin by using
`the BASIC interpreter that comes with
`their PCs. This version of BASIC com-
`prises two parts: a text editor that lets you
`enter and edit program instructions, and
`an interpreter that reads those instinc-
`tions and then performs them. As the
`program progresses, each command en-
`countered must be examined sequentially
`and converted into actions that the PC
`
`cart actually execute. When the interpret—
`er encounters a statement it doesn't un-
`
`
`
`efcre high-level languages such as
`FORTRAN, COBOL, and BASIC
`ere invented, programmers had to com—
`unicate with their cemputers directly in
`shine language, the computer‘s native
`ngue. If you‘ve ever examined the list-
`g for a sophisticated assembly lanr
`age program, you have some apprecia-
`on of what is involved.
`But early computers didn’t even have
`gamblers. Thus, besides having to deal
`with each bit and byte in the computer’s
`emory directly. programming also re—
`; 5i uired using binary numbers instead of
`. lira-tore helpful mnemonics, such-as (2MP,
`i DEC, and MOV. This fact alone ac-
`iyeounts for the enormous rise in the popu-
`larity of aspirin during the early 19405
`d 195%.
`High-level languages were developed
`in allow programmers to perform com-
`i'. nllcated tasks using English-like com-
`If-gl' ands. Since computers can really un—
`iE- . Island only strings of binary numbers,
`cli,ltowever humanly comprehensible
`it. statements such as Print AS or Y =
`risinGt) must be transformed into aseries
`of steps denoted by binary digits. Thus a
`‘ {high-level language is really just a special
`.!l.type of translator. In fact, there are two
`i””types of language translators: interpreters
`iE:land compilers.
`'Hos’s turner-amen Even if
`fl, ouve never fired up BASIC, youve ac~
`"‘ ally had contact with an interpreter—
`i".the one built into DOS. When you type
`DIR or FORMAT. for example, DDS
`i.compares what you‘ve typed against a
`l'tt, you would use a “dummy“ array
`iame to describe the action the routine will
`Derfonn. But when the program finally ex-
`routes, the array that'is passed to it will be
`lJiJcrated on instead.
`i You could call the subprogram with
`
`Call Get.Max[Array(l. Max)
`rhere Array( ) is the array to be searched,
`ind Max. returns holding the value of its
`largest element. Since an entire array is be
`
`search for variables can prove to be a real
`liability. This is where compilers come
`into the picture.
`Unlike an interpreter, a compiler per-
`'fon-ns its translations all at once, ahead of
`time. It takes extra time up front—that is,
`befcre the program nine—to do this, but
`when the program is finally executed, it
`really files. All of the BASIC commands
`have been translated into the equivalent
`machine language instructions, and any
`refrences to variables have been convert~
`
`ed to actual memory addresses.
`
`COMPILER
`
`DISADVANTAGES
`
`There are, however, some disadvantages
`with many compilers, making tltem cum-
`bersome to use-Generally, using a com-
`piler means that the program mttst first be
`written with a text editor and then saved
`
`derstand, you get the all—toc-familiar
`“Syntax error" message.
`The important point to realize here is
`that each of these instructions is translat-
`ed as the BASIC program is running.
`This takes time. BASIC maintains atable
`
`to disk. Next, the compiler must be start-
`ed and the name of the source program
`specified. A total" time is then spent wait—
`that contains each and every possible
`ing around for the program to be convert-
`command and punctuation symbol, and
`ed. And don't forget the extra step that is
`it must constantly search through this ta-
`required to link the program with the lan—
`ble to find matches with the sequence of
`guage '5 library routines. And, of course,
`program instructions while the program
`nobody writes a program perfectly the
`itself is running. Further, every time you
`first time either, so you 'end up editing,
`use a variable, another table containing a
`saving, compiling, linking, testing,
`list of all their names must be searched
`editing, saving, compiling.
`.
`.
`.
`and updated, as necessary.
`This is where QuickBASIC really
`this ongoing
`For simple programs,
`shines. It provides an environment that is
`translation overhead is not a big deal. Af-
`very much like that of an interpreter, yet
`it creates programs that run like blazes. A
`ter all, who out there really cares if it
`takes One or ten thousandths of a second
`program may be edited, compiled, and
`tested within seconds, without ever hav—
`to perform a calculation? But when many
`calculations are involved, Continually
`ing to leave that friendly environment.
`~—-Ethan Winer
`having to decipher each instruction and
`
`rentheses are used, as opposed to a specific
`element number. Within the subprogram,
`however, you instead Specify the number
`of dimensions contained in the incoming
`array (see Figure 5).
`Notice the new functions LBound and
`
`UBound, which return the lower and upper
`array bounds. The lower will be either 0 or
`1, depending on your use of Option Base.
`The upper will be the size to which the ar-
`
`the newly added Static function. When
`used in conjunction with a subprogram
`name, Static defines that subprogram as
`being nonrecitrsive. (Microsoft states that
`for now, using Static is mandatory, which
`implies that they are working on a recur-
`sive capability.)
`The second use of Static declares a vari-
`
`able to be both local and permanent. Nor-
`mally, temporary variables are created and
`
`008
`
`ServiceNow's Exhibit No. 1006
`
`

`

`USING METACOMMANDS
`
`
`
`
`
`
`
`
`named Get.Key, the same label in an in-
`cluded program will cause a conflict.
`(Remember. the entire program ends up
`being combined—$lnclude is merely for
`your convenience.) Further. if an includ-
`ed routine usos arrays, all relevant Dim '
`statements in the main program must be- .
`placed before the $lnclude is used.
`
`MORE METACOMMANDS The two
`other metaconirnands—$Static and $Dy-
`namiC—tell QuickBASIC how to allo-
`cate space for numeric arrays. When
`SStatic is encountered during compila-
`tion. QuickBASlC permanently sets
`aside memory for all subsequent dimen-
`sioned arrays. Thus
`'
`fist-attic
`Dim Arrayitfififll
`
`'a permanent array
`
`When you use $Dynamic, on the other
`hand. you tell QuickBASIC that it is to
`dimension and create numeric arrays at
`run time as they are needed. Normally.
`Dim is not an executable command. but
`
`rather an instruction to the compiler
`about how to allocate memory. Howev—
`er. any Dim statements that occur after a
`$Dynamic metacomrnand will be execut-
`able. Thus
`
`' $Dynetnic
`Dim Arrayltiist!)
`
`'to be creatEd ll“:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`_
`
`.
`
`
`
`
`
`
`
`
`
`
`etacorrunands are instructions to
`
`the Compiler (as opposed to BA-
`SIC commands) that you can place with-
`in your program. QuicchASlC currently
`recognizes three such metacommands,
`each of which is embedded within a re-
`
`mark and begins with a dollar sign (5).
`. My favorite is $Include, which allows
`you to merge a previously written section
`of code into a program when it is com
`piled. When using the BASIC interpret-
`er. by contrast, if you have created a li-
`brary of often-used routines, each must
`be merged manually into the program,
`and you mus: be very careful to avoid
`conflicting line numbers. Of course. with
`QuickBASIC, line numbem are a thing
`of the past. But $Include is particularly
`helpful because it avoids having to merge
`at all. You just specify the name of the
`program to bring in. and QuickBASIC
`does the rest. Here's an example:
`' Program.Bae - J.‘ Q. Public
`De‘fint A '-
`Z
`Dim Amountlllfilfl)
`' SInclude:
`'Averagea.eae'
`' $Inc1ude:
`'ErrHand1.Bas'
`' $Include:
`' IORout in. Bas'
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(program continues)
`
`
`
`
`
`
`'- PC LAB NOTES
`
`be set aside permanently. which guarand
`tees that it will retain its previous value if
`the subprogram is reentered later. We
`don’t really care in this example because
`our X is simply a temporary counter, but
`for other applications it is important to un-
`derstand the difference.
`
`Usually. variables in a subprogram (ex-
`cept those passed in the Call) are consid-
`ered both local and temporary. To share
`variables between a sub- and a main pro-
`gram without requiring them to be explicit—
`ly passed. you would declare them as
`Shared instead of Static within the subpro- -
`
`BLOCK-STRUCTURE!) IFITHENI
`ELSE One of the things I always envied
`about PaScal was the Begin and End block
`that could follow an If statement. When a
`
`series of steps should be performed if a
`condition is true, BASIC would require
`you to say. “If this is not true, then skip
`over the following code.‘ ' A minor incon-
`venience maybe, but it doesn’t truly reflect
`the logic ofwhat is happening, which goo
`program code should.
`_
`-
`With the block If/Then structure, multi-
`
`ple statements may be executed—span-
`ning many separate lines if you like—and
`with multiple levels as well. Figure 6 of—
`fers a typical example.
`To define an If clause as allowing mul-
`tiple lines. Then must be the last statement
`on the line, and the end of the block must
`be marked with an End If. In the example
`
`Emmi FACT FILE
`
`CIRCLE EDN HEADER SEHNCE CARD
`
`Nficmsoft Corp.
`Itifll l NEBdth Way
`Box 9701'?
`Redmond. WA 9807}
`97 l 7
`(800) 426-9400
`(206) SBZ-BCIBO
`
`'51
`
`$99
`reaper
`Requires: 256K RAM. at least one floppy
`dist: drive [mo recommended). IBM PC.
`AT. XT or compatible. DOS 2 .U or later.
`In Short: An interestive. iii—memory BASIC
`
`
`
`Any code in the named files will be
`read in from disk when the program is
`Although not explicitly stated in th6
`QuiokBASIC manual. $Dynamic and
`compiled. When using $Include. howev—
`
`
`er. you must avoid conflicting variable
`$Stati¢ may be used freely throughout a
`
`
`program. as various arrays are being (16-. .
`names or line labels in the included pro-
`
`
`fined—Ethan Witter
`grants. If the main program has a routine
`
`
`
`
`
`
`
`If xs = "goat: cheese" Then
`Print X$
`GC =I BC + 1
`If it$ = “candied yams" Then
`Print Y$
`C! = C! + 1
`Else Print “Sorry, no yams today."
`CY = a
`End If
`Else Print
`
`
`
`
`
`
`
`
`“Goat: cheese wasn't: found."
`
`
`
`
`
`
`
`
`009
`
`ServiceNow's Exhibit No. 1006
`
`

`

` _~
`
`."J
`
`-
`
`._
`
`-
`
`'
`
`-‘ _-..'
`.
`‘-
`' v
`s3_{."‘."'t.
`tritigr-‘ftrttar-tri
`"
`'I
`
`" "1'
`‘ H's-.14.!
`
`lw'.
`
`USING ASSEMBLY LANGUAGE WITH QUICKBASIC
`
`3i
`
`ASIC has always allowed access to
`external routines written in assembly
`language, but QuickBASlC makes the
`process easier than

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