: *********************************************** MENU Version 1.0 --> DATA MANAGEMENT, GRAPHIC DESIGN & GRAPHIC DISPLAY LOADER (c)1982 Zenith Data Systems *********************************************** : ' FGR:BGR: : ()"y5";: O::G "menu.bas": n():y  these wild routines draw little graphics ( all coordinates are in Row(1-24),Col(1-80) 2 < F (c)1982 Zenith Data Systems P Z let's goR d ,:" ":: x:::ESC$(): D$( ),D( ),P( ): L: initialize color or b&w scheme n : J  : J ,(J)( ): J x:DEF FNP$(R,C)=ESC$+"Y"+CHR$(31+R)+CHR$(31+C) ' position _ at (r,c)3}"R",,"what.fil": #,  AS DUMMY$, AS TIML$: ,:TIML(TIML$):: KEYOUTTIML(CCCOLORS():RS:CS:COLOR.STARTCC: T$()"B":T$()"S":T$()"P":T$()"L": T$()"M":TY$()"Bar ":TY$()"Side ":TY$()"Pie ": TY$()"Line ":TY$()"Pies ":FI$()"Data1 ":FI$()"Year82 ": FI$()"Sales80":FI$()"World81" : T$()"T":T$()"D":TY$()"Trend":TY$()"3d ": TI$()"Sales Trend ":TI$()" Expenses ":TI$()" XYZ Inc. ":TI$()"Total Sales ":TI$()" Income " :TI$()"Sales Growth":YS:XS:DXXS:DYYS : TI$()"1st Quarter":: lens in pixelsD f COLORS() CCCOLORS()} TYPE$"L" ,  :draw axesXXXSuz:X1X:YY1YS #{(): J X1X1XS)\}:Y1YYS)\}\() Y1 Y1Y1L~: k (X,Y),,CC: (X,Y)(X1,Y1),CC:XX1:YY1: J: (X,Y),,CC: (X,Y)(X,(YSRS)33 ),CC: C1CC: :PAINXX:PAINYY:PAINSCC:PAINEC1:  :  9, TYPE$"T"  :  : COLORS() CCCOLORS()  : ,o6XXXSuz:X1X:YY1YS #{(): J @X1X1XS)\}:Y1YYS)\}\()J Y1 Y1Y1L~: JK J PXX1:PYY1 T (X,Y),,CC:XX1:YY1: J: (X,Y),,CC:3Y (PX,PY)(X,Y),COLORS()=h Gr ^ TYPE$"S" X :CONu{:  : draw axesXXG : :X1CSYXS:YI*:YRSYI:Y1YYI J  :X1CSLXS(XSGA)():YYYI:Y1YYI:  : J SX TYPE$"P"  : COLORS() CCCOLORS()~bXMCS(XS):YMRS(YS):: centers lRAD(XMCS)L:XMXM:YMYM:DEG1()333L} v (XM,YM),RAD,CC,Y,DEG1,:C1CC:  :circle & new colorPAINXXMRAD:PAINYYM:PAINSCC:PAINEC1: : (XM,YM),RAD,C1,DEG1,,: : COLORS() CCCOLORS()PAINXXMRAD:PAINYYM:PAINSCC:PAINEC1:   TYPE$"D"  BOX$()"c=colors(cb%);l=bx10%;u=by%;r=bx10%;c=colors(0);nl1c=colors(cb%);bl=bx10%;e=bx20%;r=bx10%;ng=bx20%;d=by%;g=bx20%;u=by%;c=colors(0);nd1c=colors(cb%);bd=by%;"BOX$()"u=by%;nl=bx10%;ne=bx20%;bd=by%;"::CB%CC: COLORS() :: 7 crease color#PC%CC: :5paint color7BX10%(CECS)LBY1%(RSRE)^BX20%BX10%pBX15%BX10%((CS)BX10%,(RS)),COLORS()::set graphics cursor X BY%BY1%(()L}): BY%BY1%  BOX$()3PAINX:PAINY:PAINSPC%:PAINECB%: : (,)T  BOX$():"br=bx15%;": X:k  TYPE$"B" *  :draw axes4 :Y1RSYSeff:XI@: J  :XX:X1XXI:YRS(YS()L)> :XX@: JH :MULTI :SYM:SXMX:STCCC:RAD:YMSYM:XMSXM: J  :XMXM:DEG1(),L: (XM,YM),RAD,CC,Y,DEG1,:C1CC: PAINXXMRAD:PAINYYM:PAINSCC:PAINEC1: 8 (XM,YM),RAD,C1,DEG1,,:CCSTC: PAINXXMRAD:PAINYYM:PAINSCC:PAINEC1: T J XMSXM:YMYM$\ Jb (X,Y)(X1,Y1),CC,B: : box onlyLINXX:LINYY:LINX1X1:LINY1Y1:LINCCC: : : filled in boxXCS:YRS:X1XXS:Y1YYS: : : bordort COLORS()  CCCOLORS(): : CCCOLORS(( (CC) )): : color rotation schemeOLDCCCC:XCSXSu}:X1CSXSL:YRSYSk: Y1RSYSeff:  :x axis &3XCSXSu}:X1CSXS~:YRSYSL}:Y1RSYSgff: : CCOLDCC: :y axisn x:BGRCOLORS(): : : ready for menu template : :  ,: "-->Press ";: ,?: "-->Press ";: ,": "-->Press ";:   ,:"Demonstration -->Press ";_BGRCOLORS(): : ,: " Zenith Data Systems' "; ,: " Z-100 ";! ,: " Business Graphics Demonstration ";: ,: " Version 1.0 ";: BGRCOLORS(): 9 J 2:A$: Js ,: "Data Management";: ,=: "Graphic Design";  , : "Graphic Displays"; (,)(,),COLORS(),B CCCOLORS(): (9,<)(,),CC,B (8,)(M,),CC,B=  (,)(4,),CC,B: .: /.BGRCOLORS(): : ,: "Press Function Key Indicating ";: ,: " Your Choice ";:BGRCOLORS(): / : : J  : D$(J): J:  :  0 ()"y5";()"x1";:BGRCOLORS(): : ,: ;" Enter your choice (F1-F4) or to END> ";: BGRCOLORS():  4COUNTCOUNT: COUNTTIML  : A$: A$"" A(A$): > : ()pz  : %!5 ,=: ()L| 6 : 4/!6 4z!> A : ()"y1":: : A A ();: 4!H A ' : data!R A  N : design!\ A 0u : draw!f A  :continuous demo! 4]" :N3(()):T: J N3: D$(J): D$(J)D$(J)( , ):D(J)()H:TTD(J): J" USA,CANADA,EUROPE,ASIA,USSR,MEXICO" J  : J,: " ";: J: N3 D$()D$(N3)" ,: "Desc. Value %";# ,: "Total " "#####.#";T@# J N3:P(J)D(J)Td: J# J N3: J,: (D$(J),); " ####.# ##.#";D(J),P(J)# J# 4$LINX:LINY:LINX14:LINY1:LINCCOLORS(): : RS:CS:YS:XS: TY(()):TYPE$(T$(TY),)Y$ TY CE4:CS:RE:RS$ ,:: "TYPE OF GRAPH> ";TY$(TY);$ ,:: "DATA FILE> ";FI$(N3);$  ,:: "TITLE> ";TI$(TY);: ,#: ;TI$(TY);$ :RS:CS:W%:"R",,"what.run", :"R",,"what.fil", : #,  AS A$, AS N$: ,:N(A$)% #,  AS A$: #,  AS B$: J  N: ,J: A$B$: ,J: J% ,:TYPE$(A$,(A$,"."),):: TYPE$%o&' Data Management Subroutines for Z-100 GraphicsQ&' (c)1982 ZDS, Inc. Written by Jack R. Frank 5/6/82v&$' l::ESC$():KEYOUTz&.' DESC$(d),D(d),L$(d),F$( ):CCCOLORS():ESC$;"y5";&8':DEF FNP$(R,C)=ESC$+"Y"+CHR$(31+R)+CHR$(31+C)' cursor positioning0'=' t' : init color/b&w scheme and fill color 1'?'BGRCOLORS(): : ,: ()"p";" Data Management routines "()"q": ,f(B' "Enter Your Choice:";: , : "--> Create a new data file";: , : "--> Modify existing data file";:  , : "--> Print data file";: , : " --> EXIT"(L' ESC$"y5";:COUNT: ,: " Press Function key indicating your choice> ";)V'A$:COUNTCOUNT: COUNT : : A$"" V' : A(A$)K)`' A  : A A ();: L')j' A * : A . : A 2 : 5*t' L:BGRCOLORS(): : ESC$"y5";: ESC$"x1";: x:CCCOLORS():LINX:LINY:LINX1:LINY1:LINCCC: COLORS() : :W*~'CCCOLORS(( (CC)  )):** t':BGRCOLORS(): : ,: "Create New Data File";d++ ,:MODE:CURLEN: CURPRM$"Enter name for new file or EXIT ": CURDEF$"": P: (FINSTR$) FINSTR$"exit" FINSTR$"EXIT" ' : FLE$FINSTR$".DAT"+ + (FINSTR$,".") (FINSTR$," ") 3);();"NO spaces or periods!";:: +++ *+:"I",,FLE$:: , + ();" File already exists. Shall I overwrite it? ";: :A$JRF$: A$"Y" A$"y" A$;: 4+ : A$"N" A$"n" A$;: + : ( );(N, );( );:  +,*+ 4+/-4+ ,: (M, );::MODE:CURLEN: CURMIN:CURMAX:CURPRM$"Number of data items (maximum=20)": P:NRECFINVAL .9+BGRCOLORS(): : x:"Data Descriptions and values will now be entered.": "Press after each line to continue with the next item.": "Errors can be corrected after all items have been entered.":u.>+ J NREC:CURLEN:MODE: CURPRM$"Enter Description for item #"(J): P: DESC$(J)FINSTR$.H+MODE:CURLEN:CURMINz:CURMAXz: CURPRM$"Enter value for "FINSTR$: P:D(J)FINVAL9/R+ J::"********** Data Entry Complete **********";: OLDFLE$"": J : J: &//. t'::BGRCOLORS():FGRCOLORS(): : : ,: "Modify Data File";/. ,:: "*.DAT"^0.MODE:CURLEN: ( );( );:CURPRM$"Enter name of file or EXIT": CURDEF$"": P: FINSTR$"EXIT" FINSTR$"exit" ' : FLE$FINSTR$".DAT"0. (FINSTR$,".") (FINSTR$," ") 3);();"Do not enter .DAT !";:: .0.NREC: / ::"I",,FLE$11/ () &/ : NRECNREC: #,DESC$(NREC):#,D(NREC): /1/CRBE: ();: J , : (J%)% J / : ( );3);(, );( );3);"File not found";1/ J: CRBE,3:" ";: CRBE,: ..2&/ x: ::BGRCOLORS(): : : ,$: ;"Modify Data";s2+/TOTAL: J NREC:TOTALTOTALD(J): D(J)  TOTAL : J!30/ J NREC: J,: "##) Description> ";J;: DESC$(J);: J,2: "Value> ######.#######";D(J);: TOTAL  " (###.#%)";D(J)TOTALd : )35/ J3:/ CURDEF$"": ,:CURPRM$" Enter item number to change (99 if done)":MODE:CURLEN:CURMIN:CURMAXc: P: FINVALc ]/ : FINVALNREC ();: :/ : JFINVAL4D/ ,: (N, );( );: ,y4N/CURLEN:MODE: CURDEF$DESC$(J):CURPRM$"Description": P:DESC$(J)FINSTR$*5X/ , : (N, );( );:MODE: CURLEN:CURMINz: CURMAXz:CURPRM$"Enter new value or ": CURDEF$(D(J)): P:D(J)FINVAL: &/45]/ t'5b/ ,: " Shall I save changes (Y/N)? ";: :A$JRF$: A$: A$"N" A$"n" v/ : A$"Y" A$"y" g/ : (): b/6g/" ** Saving file> ";FLE$;" **"6l/ /: "O",,FLE$: J NREC: );J;( );: #,DESC$(J):#,D(J): J: :" Data Output Completed.": J : J: ' 7v/:" File not saved. Returning to menu...": J : J: 'i7/: (): "Error during file output. Check diskette and retry.": J : J: '72 t':BGRCOLORS(): : ,: "Print Data File";x82 ,: "*.DAT"::MODE:CURLEN: ( );( );:CURPRM$"Enter name of file or EXIT": CURDEF$"": P: FINSTR$"EXIT" FINSTR$"exit" ' : FLE$FINSTR$".DAT"82NREC: 2::"I",,FLE$82 () 3 : NRECNREC: #,DESC$(NREC):#,D(NREC): 2T92 ();: J d : (J) J 2 : ( );();"K";( );3);"File not found";b92 J: 293:"Press when printer is ready> ";: : :" ":" ": )"File> ";FLE$;<);$: " ":3 J NREC: );DESC$(J)<)D(J): J0:3 ( )::"Done": J : J: 26:"3n:; PT COLORS$"07777777" : COLORS$"01452367"; N: L:BGRCOLORS(): :: KEYOUTz: ()"x5";: x: V(,),D$(,),D(,),NREC(),TOTAL(): FLE$(),DESC$(),LEG$(),EXPL$();"N l:EXT$()"bar":EXT$()"pie":EXT$()"sde":EXT$()"lne": EXT$()"pis":EXT$()"tnd":EXT$()"dm3"V<%NESC$(): TYPE$()"Bar chart":TYPE$()"Pie chart":TYPE$()"Side bar chart": TYPE$()"Line chart":TYPE$()"Multi-Pie chart": TYPE$()"Trend line chart":TYPE$()"3 Dimensional chart"<*N (,)(,),COLORS(),B: COLORS() LINX:LINY:LINX1:LINY1:LINCCOLORS(): <4N:DEF FNP$(R,C)=CHR$(27)+"Y"+CHR$(31+R)+CHR$(31+C)0=>N ,: ()"p";"Graphic Design Menu"()"q";m=HNCOUNT: ,: "Shall we design a:": RN: N=RN ,:" Bar Chart")"Pie Graph"*)"Sidebar">)"Line graph": ,: "Multi-Pie";: ,: "Trend Line";: ,*: "3 Dimensional":;>\N J  : ,(J):"Press --> ";: J>]N J  : ,(J): "Press --> ";: J>fNC1COLORS():Y:Y1 :X:X1: N>pN J :XX:X1X1: N: J?uNC1COLORS():Y:Y1:X:X1: N.?vN J :XX:X1X1: N: J?zNX:X133#:Y :Y133C: N:X:X1L:Y1: N: X1:XI:Xl:C1COLORS(): J  : XXXI:X1X1XI:Y :Y133(): N: J:@NC1COLORS(): (,U),#,C1,Y,33s,: PAINX:PAINYP:PAINSCOLORS():PAINEC1: : (,U),#,C1,33s,,: PAINX:PAINY_:PAINSCOLORS():PAINEC1: @NX+:X1L:Y :Y133C: N@NX+:X1,:Y1: NGANC1COLORS():X,:X10:Y33:YI333:Y1YL~: J  : N:X1X1():YYYI:Y1YL~: JANC1COLORS():X?:X1ff:Y :Y1A: N: X1|:Y1: N BNYY:XX: J :X1Xgff:Y1Y()Ga}: (X,Y)(X1,Y1),COLORS():XX1:YY1: J: : T: and multi piesKBNCS:XS:RS:YS:TYPE$"T": ,SBN:BN : : : CE9:CS):RE:RS: : :BNCOUNTCOUNT:A$: A$"" A(A$): N : COUNT : NCN A d : AA: A A ();: NCNTYPE$(TYPE$(A),(TYPE$(A)," ")): :BGRCOLORS(): :: ,: "Graphic Design --> ";TYPE$(A);: A R,U,Y,],a,e,xi: NCN(X,Y)(X1,Y1),C1,B:DNLINXX:LINYY:LINX1X1:LINY1Y1:LINCC1: :TDP: ******* common routines for design ********DP:Get file name and verify existance: leave open & set legendSEPMODE:CURLEN:CURPRM$"Enter data file "CPRM$" or EXIT":CURDEF$"": P:FLE$FINSTR$: FLE$"exit" FLE$"EXIT"  N : FLE$FLE$".DAT":FLE$(L)FLE$:  for no change."LHdP"Enter Title for "TYPE$". Maximum length is 70 characters.": MODE:CURPRM$"":CURLENF:CURPOS:CURDEF$"": P: TITLE$CURSTR$:CURPOS2: (TITLE$) TITLE$TL$: : HnPMODE:CURLEN:CURPRM$"Number of files for "TYPE$: P:HxPCURLEN:MODE:CURPRM$"Description for "DESC$: P:FINSTR$(FINSTR$(, ),):RIPCURLEN:MODE:CURPRM$"Legend entry for file: ": CURDEF$(FLE$,(FLE$,".")): PIP (FINSTR$,".") P : FINSTR$(FINSTR$,(FINSTR$,"."))IPFINSTR$(FINSTR$(, ),):IPCURLEN:MODE:CURPRM$"Enter X heading": P:+JPCURLEN:MODE:CURPRM$"Enter Y heading": P:JPCURPRM$"Enter Minimum value for Y axis":CURLEN:MODE: CURMINz:CURMAXz: P:JPCURPRM$"Enter Maximum value for Y axis":CURLEN:MODE: CURMINz:CURMAXz: P:MKPCURPRM$"Enter Increment for Y axis":CURLEN:MODE: CURMINz:CURMAXz: P:KP L NF: M NREC: V(L,M) : ();"Data cannot contain negative numbers!.": "Please start design over.": J  : J:  NKP M,L:KR:bar#LR::CURMIN:CURMAX: nP:NFFINVALLR"Available Data Files:": "*.dat":: L NF:NREC:CPRM$"file #"(L): P: PP: A)ESC$"A";NREC;"items": L: L NF: ML NF: NREC(L)NREC(M) !RLR M,L: &RIM!R: () "Files must all have the same number of data items. RE-TRY": J : J:: RM&R:" Thank you": L : L:: "The following items describe the drawing of the Chart:":: TL$"": ZP:N0R P:XH$FINSTR$: P:YH$FINSTR$ZN:R: L NREC:DESC$"Item #"(L):CURDEF$D$(,L): xP: DESC$(L)FINSTR$: LNDR: L NF:FLE$FLE$(L): P:LEG$(L)FINSTR$: LNNRMIN'kn:MAXMIN: L NF: M NREC: V(L,M)MAX MAXV(L,M) OSR V(L,M)MIN MINV(L,M) OXR M,L/ObRCURDEF$(MIN): P:MINFINVALTOlRCURDEF$(MAX): P:MAXFINVALOvRINC(MAXMIN):CURDEF$(INC): P: INCFINVAL: INCMINMAX MAXINCMIN : INCMINMAX MAXINCMINGPRCURMIN:CURMAX:MODE:CURLEN:CURDEF$"N": CURPRM$"Use Normal or Overlapping bars": P:OVER$FINSTR$PR OVER$"o" OVER$"O" : OVER$"n" OVER$"N"PR OVER$"N" OVER$"O" R : ();:"Enter N for normal or O for overlapping": RDQRMODE:CURLEN:CURDEF$"G": CURPRM$"Use Gaps or Stepped bars (G or S)": P:GAP$FINSTR$QRGAP$FINSTR$: GAP$"g" GAP$"G" : GAP$"s" GAP$"S"QR GAP$"S" GAP$"G" R : ();:"Enter G for gaps or S for steps": R3RR:" All entries have been made. Shall I save this": " "TYPE$" Design file?":RRCURPRM$" Save design (Y or N)":CURDEF$"":CURLEN: MODE: P:A$FINSTR$: A$"y" A$"Y" : A$"n" A$"N"RR A$"Y" R : A$"N" R : ();: R7SR:"Design has been aborted. Returning to menu.": J : J:  NSRCURLEN:MODE:CURPRM$"Name for design file or EXIT": P: FINSTR$"exit" FINSTR$"EXIT"  N : (FINSTR$) (FINSTR$,".") R : RUTR ();: J , : (J%)% J R : ( );();"K";( );3);"Illegal file name!";vTR J: ( );(O, );: RTR:DFLE$FINSTR$"."EXT$(A): R: "I",,DFLE$:: RUR:"Error during disk write. Check disk and re-create design.": `mUR RUR ();" File already exists. Shall I overwrite it? ";: :A$JRF$: A$"Y" A$"y" A$;: R : A$"N" A$"n" A$;: R : ( );(N, );( );(VR R:: U::" File has been written.": J : J:  NVU:"O",,DFLE$: #,TITLE$: #,NF: J NF:#,FLE$(J): J: J NF:#,LEG$(J): J: #,NREC: J NREC:#,DESC$(J): JVU#,XH$: #,YH$: #,MIN: #,MAX: #,INCWU#,OVER$:#,GAP$::WU:pieWU::NFWV"Available Data Files:": "*.dat":: L NF:NREC:CPRM$" ": P: PP: A)ESC$"A";NREC;"items": L: L NF: ML NREC: V(L,M) VWV M,L: "V@XV: () "File must contain only positive numbers!": J : J:: UX"V:" Thank you": L : L:: "The following items describe the drawing of the Chart:":: TL$"": ZP:)Y6V: L NREC:DESC$"Item #"(L):CURDEF$D$(,L): xP: DESC$(L)FINSTR$: LY@V: "Each piece of the pie may be 'exploded' or offset from the center.": "As each pie is listed below enter Y if you would like that pieces": "exploded or N if not.":DZJV L NREC:CURLEN:MODE: CURPRM$"Explode "DESC$(L)" ->"(V(,L)TOTALd)" %": CURDEF$"N"ZTV P: FINSTR$"y" FINSTR$"Y" : FINSTR$"n" FINSTR$"N"Z^V FINSTR$"Y" FINSTR$"N" EXPL$(L)FINSTR$ : ();: TVZhV L:1[V:" All entries have been made. Shall I save this": " "TYPE$" Design file?":[VCURPRM$" Save design (Y or N)":CURDEF$"":CURLEN: MODE: P:A$FINSTR$: A$"y" A$"Y" : A$"n" A$"N"[V A$"Y" V : A$"N" V : ();: V3\V:"Design has been aborted. Returning to menu.": J : J:  N\VCURLEN:MODE:CURPRM$"Name for design file or EXIT": P: FINSTR$"exit" FINSTR$"EXIT"  N : (FINSTR$) (FINSTR$,".") V : VQ]V ();: J , : (J%)% J V : ( );();"K";( );3);"Illegal file name!";r]V J: ( );(O, );: V]V:DFLE$FINSTR$"."EXT$(A): W: "I",,DFLE$:: W]W W^W ();" File already exists. Shall I overwrite it? ";: :A$JRF$: A$"Y" A$"y" A$;: W : A$"N" A$"n" A$;: V : ( );(N, );( );^W R:: tY::" File has been written.": J : J:  N^tY:Single piee_~Y:"O",,DFLE$: #,TITLE$: #,FLE$(): #,NREC: J NREC:#,DESC$(J): J: J NREC:#,EXPL$(J): Jm_Y:y_Y:side_Y::CURMIN:CURMAX: nP:NFFINVALS`Y"Available Data Files:": "*.dat":: L NF:NREC:CPRM$"file #"(L): P: PP: A)ESC$"A";NREC;"items": L: L NF: ML NF: NREC(L)NREC(M) Zc`Y M,L:  Z`Z: () "Files must all have the same number of data items. RE-TRY": J : J:: Y]a Z:" Thank you": L : L:: "The following items describe the drawing of the Chart:":: TL$"": ZP:aZ P:XH$FINSTR$: P:YH$FINSTR$aZ: L NREC:DESC$"Item #"(L):CURDEF$D$(,L): xP: DESC$(L)FINSTR$: Lb(Z: L NF:FLE$FLE$(L): P:LEG$(L)FINSTR$: Lab2ZMIN'kn:MAXMIN: L NF: M NREC: V(L,M)MAX MAXV(L,M)b7Z V(L,M)MIN MINV(L,M)b@j:" All entries have been made. Shall I save this": " "TYPE$" Design file?":JjCURPRM$" Save design (Y or N)":CURDEF$"":CURLEN: MODE: P:A$FINSTR$: A$"y" A$"Y" : A$"n" A$"N"Tj A$"Y" hj : A$"N" ^j : ();: JjB^j:"Design has been aborted. Returning to menu.": J : J:  NhjCURLEN:MODE:CURPRM$"Name for design file or EXIT": P: FINSTR$"exit" FINSTR$"EXIT"  N : (FINSTR$) (FINSTR$,".") rj : j`rj ();: J , : (J%)% J |j : ( );();"K";( );3);"Illegal file name!";|j J: ( );(O, );: hjЈj:DFLE$FINSTR$"."EXT$(A): j: "I",,DFLE$:: jڈj jj ();" File already exists. Shall I overwrite it? ";: :A$JRF$: A$"Y" A$"y" A$;: j : A$"N" A$"n" A$;: hj : ( );(N, );( );ꉤj R:: j::" File has been written.": J : J:  Nyj:"O",,DFLE$: #,TITLE$: #,NF: J NF:#,FLE$(J): J: J NF:#,LEG$(J): J: #,NREC: J NREC:#,DESC$(J): Jj#,XH$: #,YH$: #,MIN: #,MAX: #,INCj:ϊ`m J : J:  N0u: L:BGRCOLORS(): : ()"x5";:KEYOUTz : x: B$( ): EXT$()"bar":EXT$()"pie":EXT$()"sde":EXT$()"lne": EXT$()"pis":EXT$()"tnd":EXT$()"dm3":u l: (,)(,),COLORS(),B: COLORS() LINX:LINY:LINX1:LINY1:LINCCOLORS(): 7Du:DEF FNP$(R,C)=CHR$(27)+"Y"+CHR$(31+R)+CHR$(31+C)vNu ,: ()"p";"Display Designed Graphs Menu"()"q"ΌXu ,: "Press Function key representing the type of graph to display:": RN: uuCOUNTCOUNT:A$: A$"" A(A$): u : COUNT : uLu A : A A ();: ujuAA:EXT$EXT$(A):  vu (X,Y)(X1,Y1),C1,B:ɍvLINXX:LINYY:LINX1X1:LINY1Y1:LINCC1: : vBGRCOLORS(): :: "Enter design name from the list shown below:"9v }: "*."EXT$::vCURLEN:CURDEF$"":CURPRM$"Filename or EXIT":MODE: P: (FINSTR$,".") : v : FI$FINSTR$v FI$"exit" FI$"EXIT" :  v:FI$FI$"."EXT$:"I",,FI$:: 4vg v: ()"File does not exist. Try another or use F2 to create it.": J : J:  v*v ()"USE AN EXTENSION!": J : J:  v24v"R",,"what.run", :#, AS A$, AS B$, AS X$: ,:X1$X$: X$X1$: A$(): B$(): ,: #, AS A$: A$FI$: ,:H>v ((FI$,),)p}:"NO FILES": J : J: 0u-TCCCOLORS():DEG1():YP: :SYM(YP):SXM: STCCC:RAD:YMSYM:XMSXM: J  :XMXM:DEG1(),L: (XM,YM),RAD,CC,Y,DEG1,:C1CC: chPAINXXMRAD:PAINYYM:PAINSCC:PIANEC1: Ǒ| (XM,YM),RAD,C1,DEG1,,: : :PAINX=XM+AD-8:PAINY=YM+3:PAINS=CC:PAINE=C1:GOSUB 65200ꑁCCSTC: J XMSXM:YMYM J:BGRCOLORS(): :: ()"y5";()"x1";: BGRCOLORS(): : ,: "Enter your choice (F1-F7) or to Exit> ";: BGRCOLORS(): :˒l WLF :WLF$: WLF:PÏ keyboard input routine2ZÏ (c)1982 ZDS, Inc. Written by Jack R. Frank 5/6/82ydKEYCOUNT:CURSTR$"": CURDEF$"" CURDEF$(CURDEF$,CURLEN)"nÑ ( );();"K";: CURPRM$" ";: MODE   CURDEF$"" "(Default = ";CURDEF$;")"; : MODE   CURDEF$"" "(Default=";(CURDEF$);")";@xË CURPOS  CURPOS2 Ñ CURPOS)"> ";(CURLEN,"*");:JL:JC(X)CURLEN: JL,JCÏ start input routineKEYIN$: KEYIN$"" KEYCOUNTKEYCOUNT:  : KEYCOUNT: MË MODE KEYCOUNTKEYOUT :  #z JACK(A$):  : KEYIN(KEYIN$): : KEYIN KEYIN   : KEYIN ەË MODE    : KEYIN KEYIN~ " : UË (KEYIN0 KEYIN9) ((CURSTR$,".") KEYIN.) ((CURSTR$) (KEYIN- KEYIN+))  : "Ë (CURSTR$)CURLEN " : CURSTR$CURSTR$KEYIN$: KEYIN$;: іË (CURSTR$) CURSTR$CURDEF$: CURSTR$;Ë MODE   FINSTR$CURSTR$: ;FINVAL(CURSTR$): FINVALCURMIN FINVALCURMAX ƗÑ ();: FINVAL , : (FINVAL%)% FINVAL  : ( );();"K";( );(); "Out of Range ";CURMIN;">"CURMAX;à FINVAL:CURSTR$"": dCURPOS: ();"K":ċ (CURSTR$) "cđ ();"*";();: CURSTR$(CURSTR$,(CURSTR$)): "KEYIN$:KEYIN$: ();: COUNT:KEYOUT JRF$: JRF$"" KEYCOUNTKEYCOUNT: KEYCOUNTKEYOUT :  : q֑ ();: FINVAL , : (FINVAL%)% FINVAL  : ( );();"K";( );3);"Do not use extensions!";׃ FINVAL: ()"A";( );:ٙڋ KEYIN KEYIN KEYINKEYIN:KEYIN$(KEYIN): :  BGR BGR BGRBGR : BGR BGR BGRBGRW FGR FGR FGRFGR : FGR FGR FGRFGR COLORS() FGRBGR FGRCOLORS():BGRCOLORS() FGR,BGR:L (,),:PT(,): (,),V PT COLORS$"07777777" : COLORS$"01234567";` J :COLORS(J)((COLORS$,J,)): J:FGRCOLORS():s COLORS() : (PAINX,PAINY),PAINS,PAINE: COLORS() (PAINX,PAINY): : (PAINX,PAINY),PAINS,PAINE:1 COLORS() LINC (LINX,LINY)(LINX1,LINY1),COLORS(),BF: : (LINX,LINY)(LINX1,LINY1),LINC,BF:Dx ,:" "::RS() LINC (LINX,LINY)(LINX1,LINY1),COLORS(),BF: : (LIN