home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************/
- /*****************************************************************************/
- cP Ver 4.3 by Chris Conger
- July 31, 1994
- /*****************************************************************************/
- /*****************************************************************************/
-
- cP is a DATA PLOTTING PROGRAM capable of plotting TWO DIMENSIONAL DATA in both
- LINEAR or LOG space. The program runs from the CLI or from Workbench and
- REQUIRES KICKSTART 37 or higher to run. There is no limit to the number of
- points that the program can load except the amount of ram on your system.
- There is also no limit to the number of sets. cP creates a PUBLIC SCREEN,
- so you can open other applications on its' screen. This version of cP sports
- an AREXX interface for almost any function.
-
- /*****************************************************************************/
-
- What next?
-
- This is the last release of cP. Any new release will be a total rewrite and
- allow support for HDF/NetCDF type files. The name will change then also.
-
- /*****************************************************************************/
-
- Whats New?
-
- 4.3)
-
- Now does delta measurement when mouse select button is pressed and dragged.
- cP will now attempt to CLONE the DisplayID of WORKBENCH thus allowing cP
- to work well with RTG type display boards. Added rexx commands TEXT and
- VERTTEXT to allow user placed text on screen display. Mostly for printing.
- Fixed bug in NOFN display which didn't center display when more than one
- data set loaded. Fixed old bug in LogAxis that caused display to move out
- one decade on redraw sometimes due to precision problem. Little of this and
- that. Added UnZoom menu selection.
-
- 4.2)
- cP now stores all its numbers as double precision
- CrossHair feature for Identify Measurements
- Identify/CrossHair option can have significant digits set by menu/CLI/ENV
- Position Locking for CrossHair with spacebar
- Single column data will load with x = line number.
- Old draw break criterion changed to Realtime option (see below)
- Distribution now includes 020/881 version again by request
- Fixes bug where endless loop could occur when clicking grid if no sets were
- ever loaded
- 4.1)
- Fixes enforcer hits during Workbench launch (I don't do that very often)
- 4.0)
- Arexx, Printing, Better redraw, and lots of other stuff
-
- /*****************************************************************************/
-
- EXAMPLE COMMAND:
-
- > cP SAMPLE.#?
-
- /*****************************************************************************/
-
- cP reads an ENVIRONMENTAL VARIABLE at startup which can be used to change the
- default values of the settings. The NAME of the var is CPCONFIG. Any options
- given on the command line will override the environmental variable.
-
- EX:
- > setenv cpconfig "ID=32768 FONT helvetica SIZE 9 GRID SETDEF W=1000"
-
- /*****************************************************************************/
- /*****************************************************************************/
-
- The template for BOTH command line and envvar is:
-
- FILES=WILD/M,LX=LOGX/S,LY=LOGY/S,GRID/S,SYM/S,ID=DISPLAYID/N/K,FONT/K,FS=SIZE/N/K
- LORES/S,HIRES/S,LACE/S,SETDEF/S,W=WIDTH/N/K,H=HEIGHT/N/K,P=POINTS/N/K,T=THIN/N/K
- D=DEPTH/N/K,MONO/S,CPANEL/S,NOFN=NOFNBOXES/S,OB=OPENBEHIND/S,MYNAME/K
- XLAB/K,YLAB/K,TITLE/K,REALTIME/S,SD=DIGITS/N/K
-
- /*****************************************************************************/
-
- FILES - This can be multiple args and includes WILDCARD patterns. The files
- must be ASCII NUMBERS DELIMITED BY WHITESPACE OR COMMAS. cP will ignore
- numbers after the first two colums. cP will also ignore text lines so
- that you can place a header in the file. See file sample.asc to see the
- format.
-
- /*****************************************************************************/
-
- LOGX - Switch to turn log XAxis on. If any values are less than or = to zero,
- sets back to LINX. ( Can't do log negative ). X HOTKEY.
-
- /*****************************************************************************/
-
- LOGY - Switch to turn log YAxis on. If any values are less than or = to zero,
- sets back to LINY. ( Can't do log negative ). Y HOTKEY.
-
- /*****************************************************************************/
-
- GRID - Switch to turn on the grid. G HOTKEY
-
- /*****************************************************************************/
-
- SYM - Draw x SYMBOL AT EACH POINT. Amiga S hotkey.
-
- /*****************************************************************************/
-
- ID=DISPLAYID - ID number of the TYPE DISPLAY you wish to create.
-
- Default is HIRES LACE.
-
- EXAMPLES:
- ID=4 -> LORES LACE 320*400
- ID=32768 -> HIRES 640*200
- ID=0 -> LORES 320*200
- ID=32804 -> SUPERHIRES LACE 1280*400
-
- /*****************************************************************************/
-
- FONT - Name of the font to use for the display. The default is topaz.
- cP adds '.font' to the string.
- EX: FONT helvetica SIZE 12
-
- /*****************************************************************************/
-
- SIZE - Size of the font. Default 8. No more Max size
-
- /*****************************************************************************/
-
- LORES - Lores screen
- HIRES - Hires screen
- LACE - combine with either LORES or HIRES this function OR's
- the LACE key over DISPLAYID and LORES/HIRES.
-
- /*****************************************************************************/
-
- SETDEF - Makes the new cP screen the DEFAULT PUBLIC SCREEN.
-
- /*****************************************************************************/
-
- W=WIDTH - Set screen width in pixels. cP will open a VIRTUAL autoscroll screen
- if WIDTH is wider than display.
- EX. W=1800
-
- H=HEIGHT - Set screen height in pixels. cP will open a VIRTUAL autoscroll
- screen if HEIGHT is taller than display.
- EX. H=800
-
- /*****************************************************************************/
-
- P=POINTS - Max Points to load in each set
-
- /*****************************************************************************/
-
- T=THIN - depopulate set by number
- EX. THIN=3 loads every third point
-
- /*****************************************************************************/
-
- D=DEPTH - Screen depth in bitplanes.
- DEPTH=1 mono, DEPTH=2 four colors, DEPTH=3 eight colors,
- DEPTH=4 16 colors. If you have two sets use DEPTH=3 more
- than two use DEPTH=4. One data set looks good either D=1 or D=2
-
- MONO - black and white display. GREAT FOR BIG VIRTUAL SCREENS. Same as D=1.
-
- /*****************************************************************************/
-
- CPANEL - toggles CONTROL PANEL on or off. default on. Amiga-C hotkey
-
- /*****************************************************************************/
-
- NOFN=NOFNBOXES - dont place file name boxes on side of screen
-
- /*****************************************************************************/
-
- OB=OPENBEHIND - Opens Screen BEHIND ALL OTHER SCREENS
-
- /*****************************************************************************/
-
- MYNAME - SETS WINDOW, PUBLIC SCREEN and REXX PORT NAMES to this. OpenScreen
- will fail if name already exists.
-
- EX: MYNAME JoMama
-
- /*****************************************************************************/
-
- XLAB - Label for xaxis
- YLAB - Label for yaxis
- TITLE - Label at top
-
- EX: XLAB "Pullin NoseHairs"
-
- /*****************************************************************************/
-
- REALTIME - This switch tells cP that data is increasing. With large data sets,
- the redraw time after a zoom can be improved with this option. cP
- will break from the draw loop for each set if it believes the data
- is offscreen. If x values are declining at any point in the data
- don't set this option.
-
- /*****************************************************************************/
-
- SD=DIGITS Number of significant digits for CrossHair Measurements
-
- /*****************************************************************************/
- /*****************************************************************************/
-
- /*****************************************************************************/
-
- HOTKEYS
- X toggles lin / log axis for x values
- Y toggles lin / log axis for y values
- R Redraws screen
- A Add file
- K opens Kill requester
- F Full view
- Z Zoom
- G toggles grid on/off
- H Turns CrossHair on (spacebar locks x in Xhair)
- Q Death
-
- arrow keys page scroll virtual screens
-
- /*****************************************************************************/
- /*****************************************************************************/
-
- AREXX
-
- cP now is almost entirely CONTROLABLE from AREXX. The program opens its rexx
- port as CPLOT_REXX? where ? is a posssible number added because multiple cP tasks
- are running. If lauched with the MYNAME arg, the REXX port will be arg.
-
- /*****************************************************************************/
-
- OPEN [FILENAME] Empties SetList and reads datafile
- ADD [FILENAME] Reads datafile
- PRINT Dump to PRINTER; Works best with Big Virtual Screens and MONO
-
- FEED Send FormFeed after print
- NOFEED No FormFeed after print(use to stack multiple plots on one page)
-
- SCREENTOFRONT
- SCREENTOBACK
-
- FULL Autoscales and redraws screen
- REDRAW Redraw screen
- ERASE Erase screen NO redraw
-
- LINX Set XAxis to lin
- LOGX Set XAxis to log
- LINY Set YAxis to lin
- LOGY Set YAxis to log
-
- SYM Draw SYMBOLS
- NOSYM
- CPANEL Control Panel ON
- NOCPANEL
- GRID
- NOGRID
-
- XMIN <#> Specify Zoom or ZoomOUT
- XMAX <#>
- YMIN <#>
- YMAX <#>
-
- POINTS <#> Max number of points to read from each file
- THIN <#> DEPOPULATE while reading
- DELAY <#> SLEEP for # 50ths of a second , DOS Delay();
-
- XLABEL <label> XLAB also works
- YLABEL <label> YLAB also works
- TITLE <title>
-
- TEXT <xpos> <ypos> <my text string>
- VERTTEXT <xpos> <ypos> <my text string>
-
- /*****************************************************************************/
- SAIC VERSION ONLY
-
- REXX COMMANDS
-
- LOGO [ON|OFF] Display company Logo mostly for printing
- RHP <FILENAME> <CHANNEL> Unpack binary file channel
-
- CLI COMMANDS
- C=BINARY/F/K Load binary channels
-
- /*****************************************************************************/
-
- The archive contains both IEEE math and 020/881 versions. I find about
- 20% improvement in draw speed for the 020/881 version on my A3000.
- Also included is source code so you can recompile for whatever CPU and
- math which you may like. There arn't many comments in the source, and I
- don't really consider them to be great example code. Anyhow feel free
- to use any of the functions in your own programs.
-
- /*****************************************************************************/
-
- SAIC and Chris Conger take no responsibility for any damage which this program
- might cause to your system, use at your own risk.
-
- /*****************************************************************************/
- /*****************************************************************************/
-
- This program is BeerWare - if you like it go and buy yourself a beer :-)
- it's source code and executable are PUBLIC DOMAIN
-
- I really would like to receive mail from people who use cp just so that I have
- some idea what level of use it gets. Does anyone use cP ???
-
- Chris Conger
-
- INET - congerc@abqa.saic.com
-
- c/o SAIC
- 2109 AirPark Rd. SE
- Albuquerque, NM 87106
- /*****************************************************************************/
- /*****************************************************************************/
-
- ,_mmms ,z gz ,_mmm.
- iW~ ]@ g@K i@` mA~ M@
- 8W. ,Wf8D ,@!,@!
- VMW_ iW~ @[ WP WP
- _. 8D ,d@mmm@[ dA ]@ _.
- @b__mP`,Wf -@| i@` !@b_gWf`
- '~~~ ~` '~ ~` '~~`
-
- /*****************************************************************************/
-
-