program CRTLST,1.7(12) ! 23-Sept-84 Irv Bromberg, edited 20-Mar-86 map1 ch,f ! file channel# variable map1 File,s,36 ! output filename map1 String,s,40 ! string to hold TCRT sequence output by driver map1 LastStr,s,40 ! last string processed map1 Code,f ! ASCII code value map1 I,f ! for-next iterative counter map1 ScrCmd,f ! screen command number map1 CRLF,s,2,chr(13)+chr(10) map1 DimON,b,1,11 ! TCRT command for dim ON map1 DimOFF,b,1,12 ! TCRT command for dim OFF print tab(-1,0); ! clear screen print "CRTLST - This program lists the TCRT calls generated by the terminal" print "driver your terminal is using, in source code format." print print "Hint: This program runs faster if you LOAD TCRT.SBR first." print print "Enter a filename for listing (default ext=DAT): "; input line "",File ! if no filename specified then send output to user's screen ch=(File<>"") ! True = -1 = filename specified, False = 0 = no filename if File="" File="CRTLST.TMP" ! if no filename then use temporary name open #ch,File,output print #ch "RADIX 10";CRLF;"CTRL=-64";CRLF print #ch "Cursor addressing:" ! just show an example of cursor address print #ch ! sequences, for top left corner and bottom print #ch "Row=01 Col=01 -- "; ! right corner xcall TCRT,String,chr(1)+chr(1) call Codes print #ch "Row=24 Col=80 -- "; xcall TCRT,String,chr(24)+chr(80) call Codes print #ch print #ch "Screen Commands:" ! do all tab(-1,n) functions for values of for ScrCmd=0 to 255 ! n from 0 to 255 ! Get screen command into string, xcall TCRT,String,ScrCmd ! see AMUS.LOG 8(8):33,35 Aug/85 if ch=0 goto ChkStr ! If outputting to disk file then show activity on user's screen but indicate ! which TCRT commands are not implemented by showing them in DIM video: if String="" print tab(-1,DimON); print ScrCmd using "####"; ! show current TCRT command# if String="" print tab(-1,DimOFF); ChkStr: if String="" goto SaveLast if LastStr="" print #ch ! output empty line only if last was not empty print #ch "C"+ScrCmd+":";space(6-len(ScrCmd)); ! constant spacing call Codes SaveLast: LastStr=String next ScrCmd if ch print ! end of activity display if output was to file print "Done" end Codes: print #ch "BYTE "; ! make it like TDV source code for I=1 to len(String) Code=asc(String[I;1]) ! get next character to show if Code>127 print #ch "128+"; : Code=Code-128 ! show chars with parity set if Code<32 print #ch "CTRL+"; : Code=Code+64 ! show control codes print #ch "'";chr(Code);","; ! output in source code like format next I print #ch "0" ! need terminating null at end of each TCRT sequence return