y ****** ROBOT CONTROL UTILITY ******* ****** BY D.N.SANDS (C) 1989 *******HERALD$"Sands Technology (c) 1996 Robot Supervisor"(EMU$"EMU8"2 J()< T1$(d)F 9P ENTRY POINTS FOR SUB-ROUTINES ETCIZ  BOXed  AS ABOVE NO CLS~n J GET RESPONSEx  GET ERROR & GET VALUE l ABORT  RE-ENTER MAIN MENU p AS ABOVE RE-OPEN COMMS CHAN X MOVEMENTS5 l AS ABOVE NO CLST v CLEAR LOWER SCREENe  EMUv DRAW A BOX ,: ,: (); T N: ();: () L N L,: ();P);() " N,: ();%, T N: ();:26 ()?@ ,:bJ GET RESPONSE FROM CONTROLLERvT T SEC:^R$""hL$"":T:BUSYrTT: TTMAX BUSY:| () rI$$(,#) I$( ) (L$) R$L$: h PF I$;( I$( ) r5L$L$I$H I$">" R ry (R$) OK$(R$,(R$),) (()) J ***** GET ERROR *****V$"ERR"TMAXSEC:PF : : GET A VALUEERV& **** GET A VALUE ****%0PF:TMAXd5:#,V$;" ?"[D J : GET CONTROLLER'S ANSWERlN BUSY XV((R$,(V$),(R$)(V$)))blv :N:  ,: ,: HERALD$;: , CALIBRATE TIMER ,: "Please wait...";'T1((,,))8 T1 NT2((,,))` T2T1 vT2((,,))SECSEC T2T1  SEC "NOTE: All single character answers require one keystroke only", "All strings and all numerical answers (even if only 1 digit)p  "require you to press return or 'enter' to enter your answer"v  "HAVE YOU PRESSED CAPS LOCK?";:A$$(): A$* A$"Y"  4 > "Enter 1 for Z80 CPU or 2 for Z280 OR 3 for Z380";CPU$H CPU CPU CPU B?R CPU SB : SB^\ CPU BDK : BD%lf zvp z"Error ";;: 9 " -Buffer overflow";" Press return",A$ "COM1:"(BD)",N,8,"(SB)",CS,DS,CD" AS # RE-ENTRY POINT!TMAXSEC:PF+ 4PFBN: ^ ,: ,: HERALD$; ,: "Controller status: "; BUSY  : "READY";:  ,: "BUSY";: , 2);"Last error: ";ER ,#:"MAIN MENU":3 ,: "Communicate with controller (EMU) E ";c "Quit to system .................. Q "$ "Initialise ...................... I ";. "Break into controller program ... "8 "Send command to robot ........... C ";%B "Shell to DOS .................... D "VL "HOME robot ...................... H ";V "Application ..................... A "` "Text editor ..................... T ";j "Clear monitor ..................."t "Option? ";~  O$! ()  6 (O$) K (O$) lT O$j O$()  O$ "E" ,: :  O$"D" X O$"Q"  O$"T" d : BUSY  "CONTROLLER NOT READY""Press return to continue",A$(  E O$"C"  : X O$"H" 6k( O$"I" ~2 O$"A" < F#P ,:"WARNING - FOR POP-HELP PRESS ALT THEN RELEASE THEN PRESS ALT-H"Z "File to edit? ",F$D d ,:"WARNING - FOR POP-HELP PRESS ALT THEN RELEASE THEN PRESS ALT-H"L n f x "File to edit? ",F$x  "EDIT "F$   : "This option passes commands to the controller"  "For complete interaction use option E" ! "Press return for main menu"!TMAXSEC=! ,: "=command=",C$: ,O! C$"" Z!#,C$y! "=response=";:PF: J! BUSY ! ! : GET ERROR!!:"=message=Controller busy - shall I wait?";:A$$(): A$" A$"Y" ""TMAXTMAXSEC: J7", BUSY  : b"6 **** SEND HOME COMMAND TO K11 ******q"@#,"HOME""JPF:TMAXSEC: J"T BUSY J : "^ **** DOWNLOAD FILES TO K11 *****"h"Enter file name for text file ";:"",F1$0#r"The file ";F1$;" will now be loaded using EMU"R#|"Press return when ready",A$h##,"FLOAD ";F1$;r# |# # SEND ESCAPE TO CONTROLLER##,();#PF: J# BUSY # $"Controller busy - shall I wait?";:A$$(): A$"$ A$"Y" :$TMAXTMAXSEC: Z$ START AND CALIBRATE ROBOTo$TMAX SEC:PF$#,"START"$ J$ "CALIBRATE? ",A$$& A$"Y" $0#,"CALIBRATE"$:TMAXSEC: J%D"Press return to continue",A$ %N %X **** DOS ****&%b0%l I%v CLEAR LOWER SCREENY% L % L,:" ";%%  ,:% ***** SHELL EMU FOR ANY PURPOSE *****&N: : ,:"Shelling ";EMU$\& ,: ,:"When finished type CONTROL-Z twice to exit"~&"Press return when ready",A$&#& ,& EMU$&& USER PROG STARTS HERE& &  ,& () & I$$(,#)'* I$"*" ,: \0'4 I$"!" ,: \M'> I$"?" ,: fc'H I$( ) m'R I$;w'\ 'f () 'pI$$(,#)'z I$;' f'A$$()'#,A$;( ,: " "(  ( MONITOR BOX+( ,6( ,Q( T P: ();:h( ,#:"MONITOR"x( L ( L,: " ";(( ,) T P: ();: )