.;This MIC file is used to put CSM plotting software into FORLIB version 7 .GOTO 'A REPLAC::.;REPLAC:: Replace DEC plot routines from distributed FORLIB.REL .;DEC:FORLIB version 7 has plotting routines in this order: .; FORPSE=PAUS.,STOP. (last module before plotting routines) .; CAXIS =CAXIS (AXIS using CHARACTER variables) .; AXIS =AXIS (Does not have entry point AXES) .; LINE =LINE (Draws lines) .; SCALE =SCALE (Sets scaling factor) .; FORPL2 (zero length module) .; PLOTF =PLOTF (Fenorian character set) .; PLOTC =PLOTC (Cyrillic character set) .; PLOT =MKTBL,NUMBER,PLOT,PLOTS,SETABL,SYMBOL,WHERE .; PLOT.A=PLOT.A (Ascii (lineprinter) character set) .; PLOTCD=PLOTC (dummy PLOTC definition for SYMBOL) .; PLOTFD=PLOTF (dummy PLOTF definition for SYMBOL) .; MTHCPX (first module after plotting routines) .DIRECT/SLOW .REL PLTUNV,PLOT,SYMBOL,CPLOT1,CMISC1,DEC:FORLIB.V7 .COPY PLTLIB.REL=PLTUNV.REL,SYMBOL.REL,PLOT.REL .R MAKLIB *;Don''t delete CAXIS until after a new routine is written *DSK:FORLIB=DEC:FORLIB.V7/DELETE:(AXIS,LINE,SCALE,PLOT) ;Must remove PLOT first *;Insert CSM modules before FORPL2 *FORLIB=FORLIB/MASTER:FORPL2,CPLOT1/INSERT ;Routines which call PLOT *FORLIB=FORLIB/MASTER:FORPL2,PLTLIB/INSERT ;PLOT and other routines *FORLIB=FORLIB/MASTER:FORPL2,CMISC1/INSERT ;Miscellaneous CSM routines *FORLIB=FORLIB/DELETE:(PLTUNV,FORPL2,PLOTF,PLOTC,PLOT.A,PLOTCD,PLOTFD) *FORLIB=FORLIB/INDEX *FORLID.MAP/POINTS=DEC:FORLIB.V7 ;Old entry points *FORLI7.MAP/POINTS=FORLIB ;New entry points */EXIT .R FILCOM *FORLIB.SCM=FORLID.MAP,FORLI7.MAP *^Z .TYPE FORLIB.SCM ;New entry points .DELETE FORLID.MAP,FORLI7.MAP .VERSION FORLIB.REL=SYS:FOROT7 ;Set version number in .RBVER .IF(ERROR).DIRECT SYS:FOROT? .IF($B="").MIC RETURN .'B 'C .MIC RETURN UPDATE::.;UPDATE:: ;Use PLTUNV.REL, PLOT.REL, and SYMBOL.REL .DIRECT SYS:FORLIB ;Replace all 3 REL files .COPY FORLIB.REL=SYS:FORLIB.REL .DO FORPLT PLTUNV,NOINDEX .DO FORPLT PLOT,NOINDEX .DO FORPLT SYMBOL,INDEX .MIC RETURN EXTRAC::.;EXTRAC:: Extract CSM modules from SYS:FORLIB .R MAKLIB *CPLOT1=SYS:FORLIB/EXTRACT:(SCALE,AXES,LOGAXS,GRID,LINE,DASHLN,GRIDER) *CMISC1=SYS:FORLIB/EXTRACT:(RANGE,RUNTIM,MAXMIN,ALLOC,QSORT,FIBSRH,ILLMEM) .DIRECT PLTUNV,PLOT,SYMBOL,SETSYM,CPLOT1,CMISC1 .MIC RETURN PLTUNV::.;PLTUNV:: ;Replace dummy modules from PLTUNV.REL .DIRECT/SLOW PLTUNV.REL .R MAKLIB *FORLIB=FORLIB/MASTER:(IPLOT,PLOTS,CRSHRS,ERASE,FACTOR,GETWIN,ISETAB,MSETAB,- *NEWPEN,OPRTXT,PAUSEP,PLOT.,PLOTCH,PLOTOF,PLOTOK,PLOTON,ROTATE,SETWIN,SUBWIN,- *WHERE,XHAIRS),- * PLTUNV/REPLACE:(IPLOT,PLOTS,CRSHRS,ERASE,FACTOR,GETWIN,ISETAB,MSETAB,- *NEWPEN,OPRTXT,PAUSEP,PLOT.,PLOTCH,PLOTOF,PLOTOK,PLOTON,ROTATE,SETWIN,SUBWIN,- *WHERE,XHAIRS) */EXIT .IF ($B="NOINDEX") .MIC RETURN .GOTO INDEX PLOT::.;PLOT:: ;Replace modules from PLOT.REL .DIRECT/SLOW PLOT.REL .R MAKLIB *FORLIB=FORLIB/MASTER:PLOT,PLOT/REPLACE:PLOT */EXIT .IF ($B="NOINDEX") .MIC RETURN .GOTO INDEX SYMBOL::.;SYMBOL:: ;Replace modules from SYMBOL.REL .DIRECT/SLOW SYMBOL.REL .R MAKLIB *FORLIB=FORLIB/MASTER:(NUMBER,SYMBOL),- * SYMBOL/REPLACE:(NUMBER,SYMBOL) *FORLIB=FORLIB/MASTER:SETSYM,SETSYM/REPLACE:SETSYM */EXIT .IF ($B="NOINDEX") .MIC RETURN .GOTO INDEX INDEX::.;INDEX:: ;Use MAKLIB to index FORLIB.REL .R MAKLIB *FORLIB.REL=FORLIB/INDEX *FORLIB.MAP=FORLIB/POINTS */EXIT .VERSIO FORLIB=SYS:FOROT7/NAME:NEW .DIRECT FORLIB ;End of FORLIB.MIC