.Title ALVMS5 Alvin Message Subroutines .Psect Alvin,Con,GBL .Ident /LVL5 / .Mcall $ALVIN, $List $Alvin ;;********************************************************************** ;; M E S S A G E S U B R O U T I N E S ;;********************************************************************** ;; SUBROUTINE TO DO A CARRIAGE RETURN/LINE FEED SEQUENCE ;; TO THE LISTING DEVICE. ;; CRLF2:: JSR PC,CRLF ; For TWO CR/LF sequences CRLF:: $List ,CRLFSTR ; String descriptor - One CR/LF RTS PC ;RETURN ;; CRLFSTR: .WORD CRLF1 ;CR-LF STRING .WORD CRLFEND ;;********************************************************************** ;; SUBROUTINE TO PROMPT FOR A COMMAND INPUT. ;; CMDNXT EXPECTS CALLS OF THE FORM: JSR PC,CMDNXT ;; CMDNXT:: JSR PC,CRLF ; Begin at a NEW LINE CMDNX0:: $List ,CMDNST ; PROMPT immediately at current position. RTS PC ;; CMDNST: .WORD CMDN1 .WORD CMDN2 ;;********************************************************************** ;; SUBROUTINE TO PRINT '***' CANCEL INDICATOR. ;; EXPECTS CALLS OF THE FORM: JSR PC,CANLINE ;; CANLINE:: $List ,CANLST ; Cancel alert. RTS PC ; Return. ;; CANLST: .WORD REPRO1 ;String Descriptor .WORD REPRO2 ;; REPRO1: .ASCII '**' REPRO2: .ASCII '*' CRLF1: .BYTE CR,NUL CRLFEND: .BYTE LF CMDN1: .ASCII '?' CMDN2: .ASCII ' ' Ring: .Byte Bell .EVEN ;;********************************************************************** ;; Subroutine to ring the bell on the list device: ;; Expects calls of the form: Jsr Pc,Ringer ;; Ringer:: $List ,Ringit Rts PC ;; Ringit: .Word Ring .Word Ring ;;********************************************************************** ;; SUBROUTINE TO PRINT BUFFER LIMIT EXCEEDED MESSAGE. ;; BUFLIM EXPECTS CALLS OF THE FORM: JSR PC,BUFLIM ;; BUFLIM:: JSR PC,CRLF ;GO TO A NEW LINE BUFLI0:: $List ,BUFLST RTS PC ;RETURN ;; BUFLST: .WORD BUFL1 ;String Descriptor .WORD BUFL2 BUFL1: .ASCII 'Buffer limit exceeded.' BUFL2: .ASCII ' ' .EVEN ;;********************************************************************** ;; SUBROUTINE TO PRINT 'BREAK REQUESTED. ' TO THE LISTING DEVICE. ;; EXPECTS CALLS OF THE FORM: JSR PC,BRKOUT ;; BRKOUT:: JSR PC,CRLF ;GO TO A NEW LINE BRKOU0:: $List ,BRKOUD RTS PC ;THEN RETURN ;; BRKOUD: .WORD BRKOUS .WORD BRKOUE ;; BRKOUS: .ASCII 'Break requested.' BRKOUE: .ASCII ' ' .EVEN ;;********************************************************************** ;; SUBROUTINE TO PRINT COMMAND CANCELLED MESSAGE. ;; EXPECTS CALLS OF THE FORM: JSR PC,CMDCANCEL ;; CMDCANCEL:: JSR PC,CRLF ;GO TO A NEW LINE $List ,CANCST RTS PC ;; CANCST: .WORD CANC1 ;String Descriptor .WORD CANC2 CANC1: .ASCII 'Command cancelled.' CANC2: .ASCII ' ' .EVEN ;;********************************************************************** ;; Subroutine to list message "Command not recognized. " ;; Expects calls of the form: Jsr PC,CmdNor ;; CmdNor:: Jsr Pc,CrLf CmdNr0:: $List ,CmdNot Rts Pc ;; CMDNOT: .WORD MSG15 ;"COMMAND NOT RECOGNIZED. " .WORD MSG20 ;; MSG15: .ASCII 'Command not recognized.' MSG20: .ASCII ' ' .EVEN ;;********************************************************************** ;; Subroutine to list the message "Command unavailable. " ;; Expects calls of the form: Jsr Pc,CmdUn ;; CmdUn:: Jsr Pc,CrLf CmdUn0:: $List ,CmdUna Rts Pc ;; CMDUNAVAIL: .WORD MSG10 ;"COMMAND UNNAVAILABLE. " .WORD MSG12 ;BOTTOM ;; MSG10: .ASCII 'Command unavailable.' MSG12: .ASCII ' ' .Even ;;*********************************************************************** .End