This paper describes two programs ("Age Depth Plot" and "Age Maker") written by the author for the .... sonal computer â Apple's Macintosh. What is so special ...
Age Depth Plot and Age Maker: Age Modeling of Stratigraphic Sections on the Macintosh Series of Computers Dave Lazarus Geologisches Institut, ETH Zurich ETH-Zentrum CH-8092 Zurich, Switzerland
Summary Age-depth plots are a common method for summarizing stratigraphic data for a geologic section, and expressing a model for the sedimentation history of the section. While the basic data for such a plot are age and depth, many of the assumptions that underlie general purpose x-y plotting and curve-fitting pro grams do not apply to age-depth plots — special-purpose programs are needed. This paper describes two programs ("Age Depth Plot" and "Age Maker") written by the author for the Macintosh series of computers (Plus through Quadra) and specifically designed for creating age-depth plots of Deep Sea Drilling Project and Ocean Drilling Program holes. Features of the programs include the ability to read stratigraphic data directly in core-section, interval format, interactive mousedriven creation of a line of correlation (age model), creation of new age estimates for data points, and object-oriented, high-resolution graphics display of strati graphic datum levels, paleomagnetic, and core recovery information. The pro grams are available at no charge from the author. •^iostratigraphy, to nonspecialists in the C ^ r subject, may seem to be a rather simple F j field, requiring little more than an abiliШЯ0 ty to identify fossils and the willingness to argue endlessly about the definition and nomenclature of stratigraphic zones. Biostratigraphy in practice is a complex endeavor, involving cooperative efforts by many special ists, and a great deal of data synthesis and interpretation. Biostratigraphy plays a critical role in many areas of historical geology. Ever more detailed, accurate age information is needed by the petroleum industry, paleoceanographers, paleoclimatologists, paleobiologists and other researchers. The role played by biostratigraphy in his torical geology has evolved over the years. Originally, biostratigraphic analysis produced only relative age information, generally sum marized in the form of a stratigraphic column with zonal assignments. As methods of abso lute age calibration became widespread how ever, the goal of stratigraphic studies has shifted more and more to "dating" geologic materials, and, in more continuous sections, to developing "age models" — generally a line (the "line of correlation") on an age vs. depth plot purporting to give the relationship between depth in section and absolute chrono logic age. Data used to construct such plots can be of several different types. Isolated individual samples may provide, via biostratigraphic or
isotopic methods, an age range for that sample (Figure la). In sections that are more or less continuously fossiliferous, the first and last occurrences of fossil forms may be used to provide datum levels, which have been cali brated previously by a variety of methods in other sections (Figure lb). In addition to corre lation methods based on discrete zones or events, continuously varying parameters, such as stable isotope composition of sediments, may be measured and the pattern matched to the known historical pattern of variation via a "mapping function" (Martinson et al., 1982). This last method requires very detailed sam pling and well-known reference patterns for correlation, and its use so far has been largely ls restricted to late Pleistocene sections with d O stratigraphy.
DSDP, ODP, CD-ROM and Syntheses
The Ocean Drilling Program and its prede cessor, the Deep Sea Drilling Project, have played a major transforming role in strati graphic research over the last three decades. Numerous, more-or-less complete, strati graphic sections from the deep sea floor have been used to continuously refine and recali brate biostratigraphic, magnetostratigraphic, and stable isotope stratigraphy for much of the Cenozoic (Berggren, 1972; Berggren et al, 1985). Much of the key data collected by DSDP GEOBYTE
FEBRUARY 1992/7
Figure 1: Stratigraphic correla (3) (2) (1) tion using zones (a) or events (b). Both diagrams show strati А В С D • graphic section (1) with 10 unequally spaced samples; bios zl tratigraphic range chart (2) showing occurrence (black dots) AB z2 in the 10 samples for species 'A' through V; zones or events (3) z3 with known ages (subscripted letters 'z' and 'e'); and corre 7.4 sponding age-depth plots (4). Example 'a' illustrates a poorly D fossiliferous section, where the z5 presence of a species provides на information for zonal assignment, • but the absence of a species may b. be due to poor preservation or A В С D other local effects, and thus can "•-г-тН • not be used as an age indication. i l l • Each sample assigned to a zone •Wi el • *•' • • 1 •' plots as a horizontal bar with a Ж • • length equal to the duration of e2 • • • the zone on the age depth plot. lUjrj • • • Example 'b'illustrates a more i e3 TJTJTJ continuously fossiliferous sec • e4 tion, where both presence and • • I!I!I!I — - • e5 absence of species are used as — • • age information. Each first or last • occurrence of a species in the section is assumed to reflect a chronologically useful 'event', which has been calibrated else have been released in computer-readable for where to geologic age (age val mat on CD-ROM (National Geophysical Data ues 'eVto W in columns 3 and Center/Joint Oceanographic Institutions CD4). The precise location of each event within the original section ROM set, volume 1, available from NCDC, 325 Broadway, Boulder, CO 80303 USA). Sedimenis limited only by the spacing of samples within the section, and tologic, paleontologic, and many other types of data from more than 1,000 holes are readily this interval between samples accessible and ripe for synthesis. Our research bracketing the event plots as a group at the ETH is attempting one such syn depth uncertainty in the corre thesis, specifically looking at the global history sponding age-depth plot (4). of the fossil plankton to better understand the Note how the greater density of fossil data in b' vs 'a' provides a interplay between environmental change and evolution. To compare data between widely more precise age model for the section. Although not shown, it is separated sites and compute absolute rates of change, we need to calculate ages for our sam possible to represent on ageples using a standardized age scale and con depth plots 'events' of the type shown in 'b\ where the age cali sistent set of age models for all the sections we bration itself is somewhat uncer wish to study. This information cannot be extracted directly from the DSDP-ROM because tain (i.e., has an age error only rough stratigraphic data are encoded, associated with it). In these cases, age and depth uncertain based not on a single age scale, but on whatev er age scales were current when the original ties can be plotted together as a reports were published. These age scales have rectangular box. changed many times during the course of the drilling program (see Harland et al., 1990, for a review). Although many of the holes drilled by dsdp are not particularly useful for our pur poses, having been discontinuously cored or drilled in nonfossiliferous material, we need to develop new age models for more than 100 different holes (with the possibility of hun dreds more in the future), and compute ages for hundreds of thousands of samples. We also wish, as an adjunct to our study, to reestimate the age calibrations for all the strati graphic datum levels used, and to analyze the variation in age of each datum from site to
(4) Age
SS
2а Age
__£
Г *
№
Ш
8/GE0BYTE FEBRUARY 1992
~i—i—r el
e2
e3
e4
eS
site. This type of analysis is being used to improve global stratigraphic resolution in biostratigraphy (Johnson and Nigrini, 1985; Hills and Thierstein, 1989). Attempting such tasks using only paper and pencil is impracti cal, and, for reasons explained below, no exist ing computer programs met our requirements. We decided to write new programs to assist us in our work.
Program Requirements Age depth plots and their lines of correla tion may, at first glance, appear to be only a minor variant of a standard x-y plot, thus amenable to computerization using "off the shelf" general-purpose x-y plotting and curvefitting packages. In practice however, both the data and the line of correlation are sufficiently unique in their properties as to require a spe cial program. While some programs exist for this type of work, they usually are imbedded within much larger, more expensive software packages tailored for use by the petroleum industry. Furthermore, many commercially available programs are based on Shaw's (1964) "composite section" technique, which is fun damentally different from an age-depth plot. Shaw's method is essentially a plot of depth vs. (cumulative) depth (not age); and continu ally expands (maximizes) biostratigraphic ranges. Marine microfossil ranges in deep-sea sections often are already over-expanded due to reworking, so an averaging method is more appropriate. We also needed programs that would run on our standard within-group per sonal computer — Apple's Macintosh. What is so special about stratigraphic data
and a line of correlation? First, stratigraphic data, as explained above, may come in several different forms — individual samples with an age range, first and last appearances of species, generally with a depth range from the two samples above and below the inferred event, and datum levels such as magnetic polarity reversals, which may be plotted at any one of several ages, depending on the preferred match to the reference reversal pattern. The "error bars" on these data differ from those of most measurements: each generally has a different range, and, at least for biostratigraphic first and last occurrences, there is no central expectation for the location of the "true" value — a line of correlation can be drawn equally well through the middle or through one end of the error bar. Nor are all the data of equal value. Most stratigraphers know from experience that some datum levels are more reliable than others (although no two stratigraphers are likely to agree completely which are which!). The line of correlation is also unusual because, while it must be monotonic, it generally contains intervals of different slope, and most difficult of all, hiatuses — intervals of precisely zero slope. For all of these reasons, we decided that our programs should let the stratigrapher control the positioning of the line of correlation. For simplicity in programming, we also decided to let the line be represented by linear segments between user-drawn control points, together with hiatuses at levels chosen by the stratigrapher. This is the common convention in the literature in any case. Other general requirements included the ability to plot at any scale of resolution desired, and to be able to create revised age estimates by projecting stratigraphic data onto the line of correlation. In some cases, it is not necessary for a user to create a new age-depth plot and line of correlation — all that is needed is to use a previously published line of correlation to estimate ages for samples. Thus we decided to separate age-depth plotting and drawing a line of correlation from the work of converting sample depths into age estimates. The first two functions are implemented in the program "Age Depth Plot"; the last is implemented in "Age Maker." For our work with DSDP/ODP sites, we also wanted to plot paleomagnetic polarity data, together with the reference polarity scale, and display actual core position and degree of sediment recovery within each core. Because most biostratigraphic data in the published volumes are recorded not in meters below seafloor (depth in section, abbreviated mbsf), but in the format "core, core section, interval within section in centimeters," we needed some way to convert this format quickly into depth in section. Finally, because we would be plotting data for several different microfossil groups, and other types of stratigraphic data on the same plot, we needed color to help differentiate different types of data. We decided not to duplicate functions readily available in commercial software. Thus there is no direct data entry, no "clean-up" tools to improve the appearance of the plot.
and no statistical analysis capability. Word processors, drawing programs, and statistics packages are used for these tasks. The Macintosh makes it easy to move files into and among the different types of programs.
Implementation The Macintosh has a reputation for excellent graphics — and for being difficult to program. Professional programmers typically study "Inside Macintosh" and write code in "C" using MPW — a Unix-like shell. I did not want to spend months learning these professional tools. The solution was to forgo the full Mac interface, and use True BASIC for coding (True BASIC, Inc., Hanover, NH). This advanced, almost Pascal-like structured BASIC interpreter/compiler provides excellent support for graphics applications (including several scientific graphics subroutine libraries, one of which was used in this project), and runs on most brands of personal computers. Enough of the Mac interface is supported by True BASIC (file dialog boxes, mouse queries, PICT file operations, etc) to make the programs' interfaces and output tolerable, while program development remains relatively easy. One does not need to know anything about typical Macintosh programming concepts such as pointers, graphports, handles, memory management, or much else covered in "Inside Macintosh." There are limitations — some implemented features of the Mac environment are a bit buggy and the programming tools provided by True BASIC, such as the editor, cross-referencing utility, and debugger, are rather primitive. However, they are sufficent for relatively small projects like this one, with around 1,000 lines of executable code. The finished programs were compiled into intermediate "p-code," and bound into stand-alone, double-clickable applications. Speed (often a problem with interpreted languages like BASIC), does not appear to be a problem. The programs run reasonably quickly even on a Mac Plus. Reading a large data file on a Mac Plus takes less than a minute, and redrawing a plot takes about half a minute. On an fx, file reads and replotting take at most a few seconds. Interactive mouse-driven graphics, even on a Plus, show no discernable lag — dragged lines follow the cursor smoothly. Although I do not know the details of the implementation, I assume that at least part of this speed is due to True Basic's use of system calls to Apple's Quickdraw.
Age Depth Plot—Data Files Three data files (one of which is optional) are read by the program and used to create an age-depth plot. A fourth data file containing a previously created line of correlation can be read in once the plot is created. The first file contains core-depth information in the form core number, core top, core bottom — all in meters below sea floor (mbsf). ODP and DSDP have used a standard convention for marking cores into sections and intervals, and the program uses this information to conGEOBYTE FEBRUARY 1992/9
Figure 2: Example plot of DSDP Hole 574, showing line of correla tion tool palette (upper left cor ner), magnetic reference scale (bottom), core locations (on right), and magnetic polarity data (on left). Cores are marked every 1.5 meters by a tick indicating boundaries between sections. Tool palette is used to modify line of correlation, drawn in green. Selection is similar to that of a normal Mac drawing program clicking on the desired box selects the 'tool' and high-lights the box, which then remains high-lighted until the operation is completed or canceled by clicking outside the plot window. Option 'o'drags an existing point,'+'adds a new con trol point,'-' deletes a control point, 'H' adds a hiatus over the interval dragged (inserting two control points in the process), and F deletes the tool palette and exits curve-drawing mode. On the plot, each group of data are shown with both a different sym bol and a different color. The graph also shows the source of stratigraphic data in lower right, date of plot in upper right, and indicates in lower left whether the current line of correlation has been saved to a file. Paleomagnetic reversal reference scale and geomagnetic anomaly names along bottom of figure are always plotted by program, and are based on Berggren et al (1985).
10/GEOBYTE FEBRUARY 1992
i Depth Plot of Hole 574
н
-20
I
D
q
A
V
M
D
-40
-60
-80
i
LOC file: none
3
6 Age (Ma)
vert sample names given in core-section-inter val format into mbsf. The DSDP CD-ROM con tains core depth and recovery information for all holes, so to make life a bit easier for the user, pre-made core-depth files in the format used by the program were created for all DSDP holes that recovered more than a single core. Similar files were made for all ODP holes (up to Hole 800 ), using master files provided by ODP'S database group. The Mac operating sys tem has problems with large numbers of files within a single folder, so these files are orga nized into several folders — more than 1,000 files in all. These core-depth files are com pressed to fit on one 800K floppy for distribu tion of the progam, while the program is distributed on a second floppy. The second file read by the program con tains stratigraphic data. The file format (Table 1) allows data to be entered with age range, depth range, or both. This format is general enough to handle age estimates for isolated samples, and biostratigraphic first and last appearances within the same file. Depths may be recorded in mbsf or core-section interval format. The program uses string search and substring functions to parse each data line. This imposes some restrictions on the data for mat. For example, because standard Hole 800 convention uses a comma to separate the cen timeter within section value from the core and section, commas cannot be used to delimit data fields — tab characters (the standard Mac field delimiter) are required. On the other hand, BASIC is generally very forgiving about string and numeric formatting, with no length limits on field values. For example, the com ment field provided for each data line, in prin ciple, can be of any length or content desired. Two other fields are present. The group field is used to assign a plot symbol and color for the value. At present, these are assigned auto
5
8
Slral Data from:574 2 14.3.91 DBL comments
matically by the program, with a new group created whenever a new symbol is encoun tered in the group field. A last field ("Plotcode") contains a string that can be used to annotate the data values in the plot. The third, optional, file can contain paleomagnetic or other polarity interval data (Table 2). The data format is top depth, bottom depth, and color number. Each line of data is plotted as a box in the specified depth interval and filled with the color indicated (1 is black, i.e., normal polarity, 2 white or reversed). Up to eight colors can be specified, so it is possible to plot other data than paleomagnetic polarity — for example, a set of differently colored boxes representing different lithologies. Ideal ly, one would like to specify pattern, but True BASIC does not support patterns on the Mac. The fourth data file type contains the con trol points defining a previously created line of correlation (Table 3). These files can be read by the program after the plot is created.
Plot Options Once the data files are read, the program enters an endless loop. The user is prompted for plot scales, and the plot (example figures 2 and 3) is produced. The program waits for a command (pressing a single key on the key board), carries out the request, and updates the plot. This continues until the user ends the program by pressing "E." A copy of the cur rent plot is always maintained on the clip board and saved when the program is terminated. The initial plot includes a straight line for the line of correlation, drawn between the minimum and maximum values for age and depth. (It should be noted that the basics of the plot — the axes, axes labels, symbol plotting, and legend are produced by the x-y plotting subroutine from True Basic's scientific
Age Depth Plot of Hole 278 D
-100
ф
R
д
о
BGoc
-120 D e P t h
-140 BPIa BCYDA
m
b
-160
TAMSP,
STRANG*
s f
THEVE
*L lT iDoe b
J*" Q __ТГ Sna TPHTI
BHEVE Bote
A
tNd
-180
-200
10 A-
ИМ
4
6
8
10
Age (Ma) LOC lite: none
Slrat Data from:27B 2 May 13 91 DBL from Cenop summry sheet; 'Chen thesis p234; !KeanyL2
subroutine library. Therefore it was necessary to write graphics code for only those portions of the plot that are not standard features of a simple x-y graph — such as cores, magnetics reference scale, "error bars," and line of corre lation.) Options exist for modifying the appearance of the plot — a different scale can be specified, allowing the user to zoom in or out to view the data at whatever resolution is needed. The plotcodes from the data file can be displayed, a grid at user-specified tick intervals added, and the color display changed to black and white. This last is needed to enable printing on B&W-only printers — True BASIC otherwise will output stipple patterns for the colors, making line graphics hard to see. A second set of options lets the user view the underlying data more clearly. The strati graphic data file can be listed on the screen, as can the control points in the current line of correlation. A "query mode" opens a window that reports the location of the mouse clicks in terms of age, mbsf, and core-section interval, and the distance in age and depth from the previous mouse click. A third set of options is used to modify the line of correlation. These options are packaged into an interactive tool palette similar to those of a drawing program, and are accessed by typing "C" for curve mode. Tools for adding, moving and deleting control points are pro vided, together with a tool for adding hiatus es. The program limits drags and additions to prevent inversions in age, and maintains zero slope when dragging hiatuses. The line of cor relation is stored internally as a set of age, depth point pairs. Surprisingly little code was needed to implement interactive drawing in True BASIC — less than 200 lines in all, including the code that manages the palette. Line dragging is sim
ple — a call to the toolbox via a True BASICsupplied subroutine sets the Mac pen in Quickdraw's "invert pixel" mode. A simple loop (Figure 4) then queries mouse position and status, and if the button is still down, draws the current line position twice — the first shows as a dark line on the light back ground of the plot, while the second draw erases the first. Because the pen inverts pixels rather than overwriting them, where the line overlies previously drawn data, the first draw inverts to the complementary color, while the second draw inverts the inversion, restoring the original pixel colors. The loop then returns once more to poll the mouse. The effect of this is a shimmering line that sweeps non-destructively across the screen, following the cursor. A last set of options is for output. A "Pict" format graphics file of the current plot can be saved. The line of correlation can be saved to a file (Table 3), or a previously created line read into the program, becoming the current line of correlation. A new stratigraphic data file can be created, with the age(s) recomputed for each event based on the depth(s) of the event in the section, and on the line of correlation drawn by the user. If such age estimates are compiled for a large number of sections, it is possible to perform statistical analyses of datum reliability.
Figure 3: Example plot of interval within DSDP Hole 278. In this example, data labeling has been turned on to identify points, and the line of correlation includes a significant hiatus. Core recovery is incomplete, as indicated by gaps between cores. No useful paleomagnetic data are available from this early, rotary drilled hole. This hole illustrates the dif ficulty in using a 'canned' approach to determining a line of correlation. The relatively large scatter in the data values requires careful evaluation by the stratig rapher drawing the line of corre lation. In this case, substantial revisions have occurred in Antarctic microfossil taxonomy and stratigraphy since the initial DSDP report was first published, and thus some scatter in the data are not surprising. The radiolarian event'BCYDA'(base Cycladophora davisiana) for example, in contrast to the other radiolarian events shown on the figure, was not known to have stratigraphic value when the range chart data were compiled by the shipboard specialist, and its position within the section may not be accurately deter mined. Note also the seemingly large age discrepancy between the reported age and line of cor relation for the diatom event 'tNd'. It is more likely that, despite the small depth error bar shown for this event, the true position of the event is slightly higher in the section - at the hia tus at 167 mbsf. No real world section is truly continuously fos siliferous for all species in all samples. Ecologic restriction, preservation problems, and sam ple size limitations all conspire to create occasional gaps in rangechart data. Data sources - Houtz etai, 1974; Jenkins, 1974; Edwards and Perch-Nielsen, 1974; Chen, 1975; Keany and Kennett, 1974; and unpublished radiolarian data of the author.
Age Maker Age maker is a relatively simple program with no graphics and no options. It reads a line of correlation file, a core-depth file, and sample depth values from a data file. Depth values in the input file may be in mbsf or coresection interval format — one item per line. The output file contains the depth values as input, and two new columns with depth val ues in mbsf and age values, all with tab sepaGEOBYTE FEBRUARY 1992/11
Table 1: Stratigraphic data file for Hole 574 (only a subset of the data are shown). 'R'stands for radiolarian, '0'for diatom, and W for magnetic reversal bound ary datum; T for top (local extinction of a species), 'B' for bottom (local first appearance of a species). In this example, the extent of age errors are unknown for the stratigraphic events, and thus only a single age value is entered for each event. If a new 'projected ages' file were to be made from this input data file, the 'TOP DEPTH' and 'BOTTOM DEPTH' values for each entry would be projected onto the line of correlation, and the resultant computed values for 'YOUNG AGE' and 'OLD AGE' would be written to the new file. If this new file were then plotted by the pro gram, each datum on the plot would be represented by a rect angular box corresponding to the age and depth uncertainties in the data values. Note the mixed use of numerical values and core-section interval values for depth in section. Note also that the entries for magnetic reversals ('M' values) are based on the matching of specific magnetic polarity intervals in the section to the standard paleomagnetic ref erence scale, and are thus (unlike the biostratigraphic data) subject to revision depending on the age model and matches chosen. Radiolarian data from Nigrini (1985), Johnson and Nigrini (1985), and Labracherie (1985); diatom data from Barron (1985); paleomagnetic data from Weinreich and Theyer (1985).
14.3.91
DBL
from blue book, John. Nigrini 85; pmag picks as in
574 L85 GROUP R R R R
NAME PLOTCODE Г Stylatractus universus TSYUN В Collosphaera tuberosa BCOTU В Pterocorys hertwigii BPCHE T Anthocyrtidium angulareTACAN
R R R M M M
В Liriospyris parkerae T Didymocyrtis prismata В Giraffospyris toxaria Olduvai Olduvai Gauss
BLIPA DCPR BGITO T2N1 B2N1 T2AN1
M M D D D
3A/chron 5 5/chron 11 top R.praebergonii top A.e. f.lanceolata base T.convexa v.convexa top Cestodiscus peplum
ВОТ
DEPTH
16.25 15.8 16.5 1.66 1.88 2.47
192.27 182.19 197.18 2-3,30 2-3,130 2-5,105
197.18 187.14 202.16 2-3,55 2-4,5 2-5,130
B3AN2 T5N1 tRp tAel ЬТсс
5.89 8.92 1.85 3.2 3.6
6-4,5 9-6,10 1-CC 3-2,75 3-4,75
6-4,30 9-6,35 2-CC 3-4,75 3-CC
tCp
14.2
20-СС
21-2,43
Summary and Conclusions An interactive graphics program for plot ting age-depth data and developing a line of correlation was written for the Macintosh series of computers, and includes features spe cific to DSDP/ODP holes. A second program reads line of correlation files created by the first program (or independently by the user) and converts depth data into age values. These programs make age-depth model creation and age calculation for samples fast and easy," making large-scale syntheses of deep-sea drilling results more feasible. Program devel opment time was minimized by using a mod ern BASIC, and commercially available scientific graphics subroutines. Programming the Mac to make effective use of it's graphics power requires no special "Macintosh pro gramming" skills.
The author wishes to thank the many scientists, computer specialists, and others who have worked so hard for so many years to create the DSDP database; True BASIC'S technical support staff for solving obscure problems promptly (and for free); Drs. Martin Casey and Wilfred Winkler for reviewing an earlier draft of this manuscript, and my micropaleontologic colleagues at the Geologisches Institut, for collating some of the microfossil data shown in figures 2 and 3, and for testing earli er versions of this program. Support for this work was provided by Swiss National Fonds grant num ber 20-28984.90.
4 68 8 1
TOP DEPTH
4.48 4.48 5.25 5.25
rators. This output file can be imported direct ly into most Macintosh spreadsheets, graph ing, and database programs.
0 0 0 1
OLD AGE
2.41 2.41 4.48 4.48
Acknowledgements
12/GEOBYTE FEBRUARY 1992
)№ G AGE
Table 2: Paleomagnetic polarity interval data for Hole 574, in the format: top depth, bottom depth, and polarity (1-normal, 2-reversed). Gaps in certain depth intervals, such as between 49 and 75 mbsf, are due to dis turbed sediments with uninterpretable polari ty values. 00.00 05.00 07.92 08.92 11.67 15.80 16.89 18.46 23.86 26.32 27.52 28.67 30.42 30.92 31.47 33.57 40.42 43.90 44.10 47.17 47.80 48.50 75.40 76.60 77.70 78.22
05.00 07.92 08.92 11.67 14.10 16.89 18.46 23.86 26.32 27.52 28.67 30.42 30.92 31.47 33.57 40.42 43.90 44.10 47.17 47.80 48.50 49.20 76.60 77.70 78.22 84.00
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1
DO WHILE s=l ! s is mouse status, l=button down GET MOUSE x,y,s IF x>array(p-1,1) AND xabs(array(p-1,2)) AND abs (y)