;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; ECHO ; ; Keyboard Echo Utility ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;Copyright (C) 1987 UltraSoft Corp. All Rights Reserved. ; ;Written by: David Pallmann ; ;Edit History: ;1.0 06-Jun-87 created. /DFP VMAJOR=2 VMINOR=0 JCB=A4 TCB=A5 ROW=D4 EXTCHR=D5 SEARCH SYS SEARCH SYSSYM SEARCH TRM SEARCH TCRT START: PHDR -1,,PH$REE!PH$REU CLS TYPECR Echo keyboard characters and show equivalent values TYPECR Copyright (C) 1987 UltraSoft Corporation. CRLF SETUP: MOV JOBCUR,JCB PUSHW JOBTYP(JCB) MOV JOBTRM(JCB),A5 ORW #T$DAT!T$ECS,T.STS(TCB) QUERY1: TYPESP Translate function keys? 10$: KBD UCS CMPB D1,#'Y BEQ 20$ CMPB D1,#'N BEQ 30$ TTYI BYTE 7,0 EVEN BR 10$ 20$: TYPECR Yes ORW #T$XLT,T.STS(TCB) BR 40$ 30$: TYPECR No ORW #T$NFK,T.STS(TCB) 40$: QUERY2: TYPESP Exit character: KBD MOVB D1,EXTCHR CALL IMAGE CRLF HEADER: CRLF TYPECR <Char Octal Decimal Hex Binary> CRLF MOV #9.,ROW LOOP: KBD CMPB D1,EXTCHR JEQ EXIT DUMP: AND #377,D1 CALL CHAR CALL OCTAL CALL DECIMAL CALL HEX CALL BINARY CRLF INCB ROW CMPB ROW,#23. BLOS LOOP CURSOR #9.,#1 DELLIN CURSOR #23.,#1 BR LOOP EXIT: CURSOR #24.,#1 POPW JOBTYP(JCB) EXIT CHAR: CALL IMAGE TYPE < > RTN OCTAL: ANDW #^C<J.HEX>,JOBTYP(JCB) OCVT 3,OT$TRM TYPE < > RTN DECIMAL: DCVT 3,OT$TRM!OT$ZER TYPE <. > RTN HEX: ORW #J.HEX,JOBTYP(JCB) TYPE $ OCVT 2,OT$TRM TYPE < > RTN BINARY: MOVB D1,D0 MOV #8.,D2 10$: ROLB D0 BCC 20$ TYPE 1 BR 30$ 20$: TYPE 0 30$: SOB D2,10$ RTN IMAGE: SAVE D1 CMPB D1,#40 BLO IM.CTL CMPB D1,#177 BEQ IM.DEL BHI IM.NUM IM.CHR: TTY TYPE < > BR IM.RTN IM.DEL: TYPE DEL BR IM.RTN IM.NUM: DCVT 3,OT$TRM BR IM.RTN IM.CTL: ADDB #'@,D1 TYPE ^ TTY TYPESP IM.RTN: REST D1 RTN END