%%HP: T(3)A(D)F(.); @ ARGUS by Volker Erb \<< GROB 174 64 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000008000000000000000000000000800000000000000000081000000000000000020000008000000000000000000C20000000000000000700000080000000000000000004200000001000000007000000C810000000000000000620EF1128300000008A000000460000000000000000026036212C2000000002000000C100000000000000000FFB1321266000000002000000600000000000000000814E0121234000000002000008300000000000000000804401A3F1400008000303000620000000000000000060C403BED060000810028C008130000000000000000020840EF008300000107240706010000000000000000010800E30008F10003C8340891810000000000000000C10000330EF700000630620060800000000000000000C0000011F10000000C00B10000E000000000000000000000F3B1000000008B102830083000000000000000000CFF00E00000000060302CE10C000000000000000000F3000000000000081060260707000000000000000000000000000000000600C1A30CD100000000000000000000000000000000810007F000700000000000000000000000000000000000000C300000000000000000000000000000000000000000002000000000000000000000000000000000000000000020000000400000000000000000000000000000000000200000008100000000000000000000000000008FFFFFFFFFFFFFF70000000000000000000000000000012480248012488100000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 PICT STO (-4.7,3.2) PVIEW (-2,1.2) "V. 3.02" 1 \->GROB PICT 3 ROLLD GOR .5 WAIT 4000 .2 BEEP (-4.3,-.4) "Sorry, takes about two Minutes" 1 \->GROB PICT 3 ROLLD GOR (-4.3,-1) "to setup Your System ..." 1 \->GROB PICT 3 ROLLD GOR .6 WAIT 253 .2 BEEP (-4.7,-1.8) "This is a shareware copy !" 1 \->GROB PICT 3 ROLLD GOR (-4.7,-2.5) "Send 15$ or Postcards or..." 1 \->GROB PICT 3 ROLLD GOR 3 WAIT TEXT { Okay { } { } No } MENU "Did You save Your Results in a Directory not named RESULTS ? If not, press , rename Directory and start again,else press !" 1 DISP 3 FREEZE DO -1 WAIT UNTIL DUP DUP 11.1 SAME SWAP 14.1 SAME OR END IF 11.1 SAME THEN 2 MENU ELSE 2 MENU KILL END IFERR 'RESULTS' PGDIR 'RESULTS' CRDIR RESULTS RCLF 'Flags' STO PATH 'Path' STO { On { } { } Off } MENU CLLCD "Sound or ?" 1 DISP 3 FREEZE DO -1 WAIT UNTIL DUP DUP 11.1 SAME SWAP 14.1 SAME OR END IF 11.1 SAME THEN -56 CF ELSE -56 SF END { } MENU \<< "" # 5B15h SYSEVAL PURGE \<< \>> "" # 5B15h SYSEVAL STO \>> 'sc' STO \<< 220 .1 BEEP \>> 'T\Gt' STO CLLCD PATH HOME \<< ERASE (-5,3) (2.5,-3) BOX (-6.5,3.2) PVIEW (-5,2.3) " Argus was created" 1 \->GROB PICT 3 ROLLD GOR 1000 .1 BEEP (-5,1.6) " by " 1 \->GROB PICT 3 ROLLD GOR 1500 .1 BEEP (-5,.9) " Volker Erb" 1 \->GROB PICT 3 ROLLD GOR 2000 .1 BEEP (-5,.2) " Ernst-Reuter-Str.31" 1 \->GROB PICT 3 ROLLD GOR 2500 .1 BEEP (-5,-.5) " D-W6508 Alzey" 1 \->GROB PICT 3 ROLLD GOR 3000 .1 BEEP (-5,-1.2) " Germany" 1 \->GROB PICT 3 ROLLD GOR 3500 .1 BEEP (-5,-1.9) " Tel:01149-6731/8167" 1 \->GROB PICT 3 ROLLD GOR 100 .5 BEEP 3 FREEZE 1.5 WAIT \>> 'Adress' STO EVAL sc Adress TEXT RCLKEYS 'Keys' STO sc { S T\Gt 21.1 T\Gt 21.2 T\Gt 21.3 T\Gt 22.1 T\Gt 22.2 T\Gt 22.3 T\Gt 24.1 T\Gt 24.2 T\Gt 24.3 T\Gt 24.6 T\Gt 25.2 T\Gt 25.3 T\Gt 25.6 T\Gt 26.1 T\Gt 31.2 T\Gt 31.3 T\Gt 32.3 T\Gt 33.1 T\Gt 35.2 T\Gt 36.2 \<< CONT \>> 51.1 T\Gt 52.2 T\Gt 52.3 T\Gt 54.2 T\Gt 61.2 T\Gt 61.3 T\Gt 62.2 T\Gt 62.3 T\Gt 73.2 T\Gt 73.3 T\Gt 74.2 T\Gt 74.3 T\Gt 85.2 T\Gt 85.5 \<< CONT \>> 91.1 T\Gt 93.2 T\Gt 93.3 T\Gt 93.5 T\Gt 93.6 \<< CONT \>> 94.1 T\Gt 94.4 } STOKEYS -62 SF { } 'STACK' STO { } MENU TEXT \<< PICT STO { } PVIEW \>> 'PVER' STO \<< \-> I15 \<< I15 "." S\Gs 1 + + + \>> \>> 'SUBEx' STO \<< SUBEx "" S\Gs + "." + S\Gs 1 + + 'Extent' STO DUP \-> I16 \<< OBJ\-> IFERR Tr THEN I16 Sort END \>> \>> 'Sort' STO \<< DROP2 DUP { PURGE CONT } MENU "Error in Subdirectory \->'Var' " Disp STO \>> 'Check' STO \GSDAT IF DUP TYPE 3 SAME THEN 'Data' STO ELSE DROP END T\Gt 0 'S\Gs' STO { } 'TRASH' STO { TR YZ results STACK SCans Tr S\Gs Trash cst CST T\Gt SUBEx Sort PVER Check Data GARB Disp sm sc Keys HALt sto PPAR Path Flags } 'GARB' STO \<< DUP 'TRASH' STO+ \>> 'TR' STO { } 'Trash' STO \<< DUP 'Trash' STO+ \>> 'Tr' STO CLLCD "This is a complet Error Analysis with Features, like forming Errorequations and Statistics ! (Next Version with Graphic Devices !)" 1 DISP 3 FREEZE { CONT Quit } MENU \<< RCLF 'I72' TR STO sc HALT I72 STOF \>> 'HALt' STO \<< TEXT 1 DISP 3 FREEZE T\Gt HALt sm \>> 'Disp' STO \<< CLLCD "Just a Moment..." 3 DISP 3 FREEZE \>> 'sm' STO \<< IFERR RCLF \-> Z N IQ \<< Z N TR STO N "" + Ex OBJ\-> Z SWAP STo IQ STOF Z N \>> THEN { DROP CONT } MENU CLLCD "Remove Garbidge and give a Value or Name and press !" Disp SWAP YZ END \>> 'YZ' STO T\Gt { } 'SCans' STO { } 'results' STO sc DO { TRASH EQ } 'TRASH' STO DEPTH \->LIST 'STACK' STO+ STD 'S\Gs' INCR IF 1 \=/ THEN 1 'Activ' TR STO END "" STD S\Gs + 'Extent' TR STO \<< Extent + \>> 'Ex' TR STO 'Res' Ex DUP 'LATE' TR STO OBJ\-> IFERR Tr THEN UPDIR LATE Sort END DUP 'STORE' TR STO DUP CRDIR EVAL 'PVER' RCL 'PVER' STO UPDIR \<< DUP2 IFERR STORE STO THEN Check END DROP2 UPDIR \>> 'STo' TR STO RAD \<< IFERR CLEAR IF Data DUP TYPE 3 SAME THEN '\GSDAT' STO ELSE DROP END IF Activ 1 SAME THEN \<< I13 CONT \>> 'SAVE' TR STO \<< I14 CONT \>> 'Delete' TR STO { SAVE Delete } MENU CLLCD "Delete Everything or Save Results ?" Disp 0 DELKEYS Keys STOKEYS -62 CF Flags STOF "Go and get some Coffee it takes Time... !" 2 DISP 3 FREEZE ELSE 0 DELKEYS Keys STOKEYS -62 CF Flags STOF I14 END IF I14 SAME THEN STACK OBJ\-> DROP UPDIR 'RESULTS' PGDIR ELSE STACK OBJ\-> DROP GARB TRASH UNION PURGE 2 MENU "" # 5B15h SYSEVAL PURGE END Adress ARGUS 2 MENU KILL THEN ARGUS302 END \>> 'Quit' TR STO DO CLEAR DO CLLCD { CONT { } { } { } Quit } MENU "Type Name of Function and press " Disp UNTIL DEPTH 0 \=/ END DUP UNTIL TYPE 6 SAME END 'Fx' YZ STO Fx "" + \GD SWAP + OBJ\-> '\GDFx' YZ STO DO DO CLEAR CLLCD { CONT { } EVAL { } Quit } MENU "Type Equation like '\v/(A*B/COS(C))' and or use the -Writer and press first and then " Disp UNTIL DEPTH 0 \=/ END UNTIL DUP TYPE 9 SAME END 'EQN' YZ STO \GSDAT IF DUP TYPE 3 SAME THEN 'Data' STO ELSE DROP END \<< 440 .1 BEEP \>> 'T\Gt' TR STO \<< y CONT \>> 'YES' TR STO \<< n CONT \>> 'NO' TR STO { YES NO Quit } MENU CLLCD { T\Gt 61 T\Gt 71 T\Gt 81 } STOKEYS "Simplified Erroreq.? Takes Time! " Disp 'SIMP' TR STO IF SIMP y SAME THEN \<< 'X3' STO IF X3 TYPE 6 SAME THEN T\Gt ELSE DO X3 DUP COLCT DUP 'X3' STO UNTIL BYTES DROP SWAP BYTES DROP SAME END END X3 'X3' PURGE \>> 'Simplifier' TR STO END EQN EQNVARS DROP DTAG OBJ\-> \-> X1 \<< { } 'ABC' STO 1 X1 FOR I1 DUP \-> A1 \<< "\GD" "" A1 + + \>> OBJ\-> SWAP 'ABC' STO+ 'ABC' STO+ NEXT \>> ABC 'ABC' YZ STO \<< 880 .1 BEEP \>> 'T\Gt' STO 0 'EEQ' STO ABC OBJ\-> 2 / \-> I2 \<< 1 I2 FOR I3 EQN SWAP \.d * IF SIMP y SAME THEN Simplifier END SQ 'EEQ' STO+ NEXT \>> EEQ \v/ 'EEQ' YZ STO 1 'Activ' TR STO sc \<< 330 .1 BEEP \>> 'T\Gt' STO \<< 'D\Gd\Gl' IF DEPTH 2 \=/ THEN CLEAR ELSE SWAP END CONT \>> 'OKAy' TR STO DO DO CLEAR { OKAy Quit } MENU 'D\Gd\Gl' PURGE CLLCD "Give Number of Datas and press or press !" Disp UNTIL DEPTH 2 SAME END UNTIL DUP TYPE 0 SAME END SWAP YZ STO { } 'R.LIST' STO \<< IFERR SCI THEN T\Gt 1 'Q\Gn' TR STO END CONT \>> 'SCi' TR STO \<< IFERR FIX THEN T\Gt 1 'Q\Gn' TR STO END CONT \>> 'FIx' TR STO \<< STD CONT \>> 'STd' TR STO RCLF \-> I15 \<< DO DO 'Q\Gn' PURGE CLEAR CLLCD { SCi FIx STd } MENU IFERR "Give Mode of Numberdisplay like n SCI, n FIX or STD" 1 DISP 3 FREEZE T\Gt HALT sm THEN T\Gt 1 'Q\Gn' TR STO END UNTIL Q\Gn 1 SAME NOT END UNTIL DEPTH 0 SAME END CLEAR IF D\Gd\Gl 0 SAME NOT THEN Fx \GDFx P% 3 \->LIST ABC UNION \->STR 'Gen' STO 1 'I23' TR STO y 'I26' TR STO ABC 'ABCD' TR STO { } 'ABC.UN' STO 1 'I99' TR STO 1 D\Gd\Gl FOR I4 IF I23 1 SAME THEN { YES NO } MENU CLLCD "Do You wish to use Units with Your Data-Values ?" Disp 'I26' TR STO END IF I26 y SAME THEN 'SKEY' 26.1 ASN DO ABC 42 MENU OBJ\-> \-> I24 \<< 1 I24 FOR I25 IF DUP const SAME NOT THEN DUP "" + \-> I30 I31 \<< DEPTH \->LIST 'I38' TR STO DO IFERR DO DO CLEAR 42 MENU "Give a Value for Xx ! Then press -Key!" "Xx" I31 REPLACE CLLCD 1 DISP 3 FREEZE T\Gt HALt sm UNTIL DEPTH 1 SAME END UNTIL DUP TYPE 0 SAME SWAP DUP TYPE 13 SAME ROT OR END IF I4 1 SAME THEN IF DUP TYPE 13 SAME THEN DUP OBJ\-> IF I25 2 / FP 0 SAME THEN DROP I31 "\GD" "" REPLACE ".UN" + OBJ\-> * SWAP DROP DUP IFERR OBJ\-> THEN 1 END I31 ".UN" + OBJ\-> DUP 'ABC.UN' STO+ YZ STO DROP ELSE I31 ".UN" + OBJ\-> DUP 'ABC.UN' STO+ YZ STO DROP END ELSE IF I25 2 / FP 0 SAME THEN I31 "\GD" "" REPLACE ".UN" + OBJ\-> * DUP IFERR OBJ\-> THEN 1 END I31 ".UN" + OBJ\-> DUP 'ABC.UN' STO+ YZ STO DROP ELSE 1 I31 ".UN" + OBJ\-> DUP 'ABC.UN' STO+ YZ STO END END ABC.UN 'ABC.UN' YZ STO ELSE IF DUP TYPE 13 SAME THEN OBJ\-> DROP I31 ".UN" + OBJ\-> * ELSE I31 ".UN" + OBJ\-> * END END I30 STO 'I27' PURGE THEN ERRM " Try it again !" + CLLCD 1 DISP 3 FREEZE 1 'I27' TR STO CLEAR ABC PURGE ABC.UN PURGE END UNTIL I27 1 SAME NOT END CLEAR I38 OBJ\-> DROP \>> ELSE DROP END NEXT \>> CLEAR 0 'I34' TR STO 0 'I35' TR STO IFERR EQN EVAL THEN CLEAR 1 'I35' STO 1 'I27' STO ELSE DUP IF DUP TYPE 13 SAME SWAP TYPE 0 SAME OR NOT THEN 1 'I27' TR STO EQNVARS DROP DTAG 1 'I34' STO END END IFERR EEQ EVAL THEN CLEAR 1 'I35' TR STO 1 'I27' STO ELSE DUP IF DUP TYPE 13 SAME SWAP TYPE 0 SAME OR NOT THEN 1 'I27' TR STO EQNVARS DROP DTAG 1 'I34' STO END END IF I34 1 SAME THEN IF DEPTH 2 SAME THEN UNION END DUP 'I33' TR STO \->STR " " "," REPLACE "{" " " REPLACE "}" " " REPLACE 'I32' TR STO END UNTIL I27 1 SAME DUP IF 1 SAME THEN IF I34 1 SAME THEN "Missing these Values: XXX" "XXX" I32 REPLACE ABC PURGE ABC.UN PURGE END IF I35 SAME THEN { Quit } MENU "There might be some Units inconsistant ! Sorry, You have to quit and to check the equation's units. Then rerun!" END CLLCD 1 DISP 3 FREEZE HALt ABC PURGE ABC.UN PURGE END NOT END ELSE CLEAR END IF I26 y SAME NOT THEN 'SKEY' 26.1 ASN 1 2 FOR I21 IF I21 1 SAME THEN EQN EVAL ELSE IF I23 3 SAME NOT THEN ABC OBJ\-> \-> I58 \<< 1 I58 FOR I59 IF I59 2 / FP 0 SAME NOT THEN DROP ELSE PURGE END NEXT \>> END EEQ EVAL DUP TYPE 'I102' TR STO END STEQ 30 MENU DO CLEAR IF I23 1 SAME THEN 0 'I23' STO CLLCD "Type for each Variable a Value without Units and press its Key. Go to next Set of Error Values by pressing -Key !" 1 DISP 3 FREEZE T\Gt HALt ELSE IF I21 1 SAME THEN CLLCD "And now the Values for the next Equation Variable Set ! Go to Tolerance Value Set by pressing -Key !" 1 DISP 3 FREEZE T\Gt HALt ELSE IF I102 9 SAME THEN CLLCD "Ready for a new Set of Tolerance Values! Go to next Equation Set by pressing -Key !" 1 DISP 3 FREEZE T\Gt HALt END END END UNTIL sm CLEAR ABC OBJ\-> 'I50' TR STO 1 I50 FOR I51 \-> I52 \<< CASE I52 EVAL TYPE 13 SAME THEN DUP OBJ\-> DROP SWAP STO END I52 EVAL DUP TYPE 6 SAME SWAP TYPE 0 SAME OR NOT THEN "What's about Zz ?" "Zz" I52 \->STR REPLACE 3 DISP 3 FREEZE T\Gt 2 WAIT PLACEBO I52 STO END END \>> NEXT IF I21 1 SAME THEN EQN ELSE EEQ END EVAL DUP DUP IF TYPE 1 SAME THEN DEPTH \->LIST 'I40' TR STO \<< 30 MENU "Press -Key to continue !" 1 DISP 3 FREEZE HALt CLEAR \>> 'solve' TR STO { CONT solve } MENU CLLCD "Sorry, but this will end with a COMPLEX RESULT ! Use -Menu for getting this Value !" Disp I40 \->OBJ DROP END TYPE 0 SAME DUP IF 0 SAME THEN SWAP DROP { } MENU CLLCD "Try it again !" 1 DISP 3 FREEZE 1 WAIT 30 MENU END END IF I21 1 SAME THEN 'I22' TR STO ELSE I22 SWAP END NEXT END 2 \->LIST DUP 'Rr' TR STO DUP OBJ\-> DROP SWAP / 100 * ABS 'PRO' TR STO PRO "(" SWAP RCLF \-> I7 \<< 1 FIX "" + I7 STOF \>> + "%" + ")" + SWAP OBJ\-> DROP "\177" SWAP "" + + SWAP "" + SWAP + " " + SWAP + "'" " " REPLACE 1 \->LIST R.LIST SWAP 'R.LIST' STO 'R.LIST' STO+ R.LIST 'R.LIST' TR DUP2 STo STO Rr OBJ\-> DROP PRO ABCD EVAL DEPTH 'I18' TR STO 1 I18 FOR I19 I18 ROLL UVAL NEXT I18 \->ARRY Rr OBJ\-> ABC OBJ\-> \-> I20 \<< I20 DROPN ABC EVAL I20 3 + \->LIST \->STR " " SWAP + Gen SWAP 'Gen' STO 'Gen' STO+ \>> IF I4 D\Gd\Gl \=/ THEN \GS+ ELSE \GS+ \GSDAT 'Mat' YZ STO CL\GS Gen 'Gen' YZ PURGE DROP END IF I23 1 SAME I99 1 SAME OR D\Gd\Gl 1 SAME NOT AND THEN 2 'I23' STO 2 'I99' STO { YES NO } MENU CLLCD "Do You want to keep some of the Values constant ?" Disp IF y SAME THEN 3 'I23' STO ABC { } 'ABC' STO OBJ\-> \-> I39 \<< 1 I39 FOR I40 DUP \->STR "Keep Yy-Value constant ? " SWAP "Yy" SWAP REPLACE CLLCD Disp IF y SAME IF I26 y SAME THEN NOT END THEN 'ABC' STO+ ELSE IF I26 y SAME NOT THEN PURGE ELSE DROP END 'const' 'ABC' STO+ END NEXT \>> ELSE ABCD PURGE END END NEXT ABCD PURGE { ABCD ABC } PURGE ABC.UN 'ABC.UN' YZ STO T\Gt I15 STOF END \>> 'CST' PURGE 1 MENU CLEAR \<< CST 'cst' STO { CONT } MENU R.LIST OBJ\-> \-> I6 \<< I6 DROPN "Press to scan chosen Results ! " 1 DISP 3 FREEZE -1 WAIT DROP IF I6 0 SAME NOT THEN 1 I6 FOR I7 R.LIST I7 GET PROMPT NEXT END \>> { Yes { } { } { } { } No } MENU CLLCD 1 MENU "See Equations ? Switch with !" 1 DISP 3 FREEZE -1 WAIT IF 11.1 SAME THEN Eqn Eeq END cst 'CST' 'cst' PURGE STO 1 MENU \>> 'Scan' DUP2 STo TR STO "\<< XXX Scan UPDIR \>>" "XXX" LATE REPLACE OBJ\-> "Scn" Ex OBJ\-> DUP 'SCans' STO+ TR STO T\Gt Fx EQN = 'Fx' YZ STO T\Gt CLLCD "Create Equation Grob.." 1 DISP 3 FREEZE .6 WAIT Fx 0 \->GROB 'EQG' DUP2 STo YZ STO \GDFx EEQ = '\GDFx' YZ STO T\Gt \GDFx CLLCD "Create Errorequation Grob ..." 1 DISP 3 FREEZE .6 WAIT 0 \->GROB 'EEG' DUP2 STo YZ STO "\<< X Y PVER Z \>>" DUP "X" " " REPLACE "Z" " " REPLACE DUP "Y" "EQG" Ex REPLACE OBJ\-> 'Eqn' YZ T\Gt SWAP \->STR "EQG" Ex "EQG" REPLACE OBJ\-> SWAP STo T\Gt "Y" "EEG" Ex REPLACE OBJ\-> 'Eeq' YZ T\Gt SWAP \->STR "EEG" Ex "EEG" REPLACE OBJ\-> SWAP STo T\Gt "X" LATE REPLACE DUP "Y" "EQG" Ex REPLACE "Z" " UPDIR " REPLACE OBJ\-> "Eqn" Ex OBJ\-> DUP 'results' STO+ TR STO T\Gt "Y" "EEG" Ex REPLACE "Z" " UPDIR " REPLACE OBJ\-> "Eeq" Ex OBJ\-> DUP 'results' STO+ TR STO T\Gt { YES NO } MENU "See Results ?" Disp IF y SAME THEN { CONT } SCans UNION results UNION MENU CLLCD "Here They Are !" Disp END { YES NO } MENU CLLCD "Next Data Analysis ?" PROMPT { 61 71 81 } DELKEYS UNTIL n SAME END SCans results UNION TRASH SDIFF 'TRASH' STO Quit THEN IF Data DUP TYPE 3 SAME THEN '\GSDAT' STO ELSE DROP END 0 DELKEYS Keys STOKEYS -62 CF Flags STOF STACK OBJ\-> DROP GARB TRASH UNION PURGE 2 MENU "" # 5B15h SYSEVAL PURGE Adress ARGUS 2 MENU END \>>