.TITLE SPSET SP PROCESS OPTIONS .SBTTL SYSTEM DEFINITIONS .NLIST BEX .ENABL LC ; ; Sp process options ; ; External symbols ; .GLOBL RDDEC,RDOCT,FORMAT ;i/o conversion routines .GLOBL CMDHLP,CMDON,CMDOFF,CMDASG,CMDVIC,CMDNTF ; ; Entry symbols ; .GLOBL SPOPT ; ; System definitions ; .ASECT .MCALL .COM,.CHR,.PSA,.SPD,.KWTAB ;definitions .MCALL .TTYIN ;rt-11 macros .COM .CHR .PSA .SPD .PAGE .SBTTL PROCEDURE SEGMENT ; ; Dsects: r3 = par, r5 = ulp ; .PSECT $BOSI,RO,I ; ; 'show' (spx) display process options ; (segment of command language interpreter) ; (no arguments) ; SPXSHO: MOV PC,R0 ;get format pointer ADD #SPXFMT-.,R0 MOV R3,R1 JSR PC,FORMAT RTS PC ; ; 'threshold' (spx) set speech threshold ; (segment of command language interpreter) ; Arg = speech threshold (0-31 decimal) ; THRESH: JSR PC,RDDEC ;get value BIC #^C37,R0 ;massage to format SWAB R0 ASL R0 MOV R0,PARVOX(R3) ;stash RTS PC ; ; 'attack' (spx) set attack delay ; (segment of command language interpreter) ; Arg = attack delay time constant (0-127 decimal) ; ATTACK: JSR PC,RDDEC ;get value MOVB R0,PARON(R3) ;stash RTS PC ; ; 'release' (spx) set release delay ; (segment of command language interpreter) ; Arg = release delay time constant (0-127 decimal) ; RELEAS: JSR PC,RDDEC ;get value MOVB R0,PAROFF(R3) ;stash RTS PC ; ; 'play' (spx) set playout delay ; (segment of command language interpreter) ; Arg = output delay parcel count (0-127 decimal) ; PLAY: JSR PC,RDDEC ;get value MOVB R0,PARPOD(R3) ;stash RTS PC ; ; 'ttg' set time-to-go delay ; (segment of command language interpreter) ; Arg = ttg delay (0-255 decimal); DELAY: JSR PC,RDDEC ;get value MOVB R0,PARDLY(R3) ;stash RTS PC ; ; 'termination' (spx) set termination flags ; (segment of command language interpreter) ; Arg = termination flags: ; 000 - word count zero or eof ; 004 - silence ; 010 - input timeout ; 040 - error (overrun) ; Others not defined ; TERM: JSR PC,RDOCT ;get value MOVB R0,PARTRM(R3) ;stash RTS PC .PAGE .SBTTL DATA SEGMENT ; .PSECT $BOSD,RO,D ; ; Options table ; SPOPT: .KWTAB ,CMDHLP ;print command list .KWTAB ,SPXSHO ;print process status .KWTAB ,CMDON ;set option bits .KWTAB ,CMDOFF ;clear option bits .KWTAB ,CMDASG ;assign device .KWTAB ,CMDVIC ;print device status .KWTAB ,THRESH ;set threshold .KWTAB ,ATTACK ;set attack delay .KWTAB ,RELEAS ;set release delay .KWTAB ,PLAY ;set playout delay .KWTAB ,DELAY ;set ttg delay .KWTAB ,TERM ;set termination flags .KWTAB < >,CMDNTF ;not found ; ; Format strings ; SPXFMT: .ASCII 'Process type: ^K'' options: ^K''^/' .ASCII 'VOX threshold (THRESHOLD): ^I''^/' .ASCII 'Attack time (ATTACK): ^BI''^/' .ASCII 'Release time (RELEASE): ^BI''^/' .ASCII 'Playout delay (PLAY): ^BI''^/' .ASCII 'Time-to-go (TTG): ^BI''^/' .ASCIZ 'Terminator flags (TERM): ^BK' .EVEN ; .END