; FSTFLD.SBR - Clean Fast Field Sub-Routine ; ; Original Version : INKEY.M68 Written by Richard Kipp ; Constant Care Medical Center ; ; Published in AMUS - 10/83 ; ; Modified by INKEY.M68 Jim Barouski, NPI 4/1/87 ; ; This subroutine can easily replace ACCEPT.SBR. In fact, it has many more ; benefits that ACCEPT.SBR does not provide. For instance : ; ; 1. NOECHO.SBR is not required ; 2. ECHO.SBR is not required either. ; 3. Provides Fast Field with "Invisible Character Entry" ; (Similar to Password entry upon account logging) ; 4. On some Terminal Drivers, ^Z will clear a Screen, ; This subroutine will not. (At least not on FLPCOL.TDV) ; 5. Does not make the terminal go bozo when ^Q or ^S (XON,XOFF) is hit. ; 6. Will not "DING" the keyboard if ^G is hit. ; 7. Returns Character and not Character ASCII Value although ASCII ; value can be obtained from BASIC ; ; XCALL FSTFLD,char ! Get 1 Character ; AV=ASC(char) ! Set ASCII value of variable char ; ! into field AV ; SEARCH SYS SEARCH SYSSYM VMAJOR=1 VMINOR=0 VSUB=1 VEDIT=100 OBJNAM .SBR PHDR -1,PV$RPD!PV$WPD,PH$REU ; Reusable / Read & write to disk BEGIN: CTRLC REXIT ; on ^C return to BASIC JOBIDX A0 ; Move address of Job Control to A0 MOV JOBTRM(A0),A2 ; Move address of terminal status to A2 ORW #3,@A2 ; Set image mode & noecho flags GETCHR: TIN ; GET CHaRacter from terminal MOVCHR: INC A3 ; add 4 to Register A3 so that it now INC A3 ; points to the absolute address of INC A3 ; the variable listed as the first INC A3 ; XCALL argument MOV @A3,A4 ; move second word of argument list to ; A4 (move address of variable to A4). MOVB D1,@A4 ; MOVe input CHR to BASIC variable REXIT: RTN EVEN END