HELLO.MAC;4/AU:72.=HELLO.MAC;3/BF \ -2,4 .IDENT /01.8/ ; ; COPYRIGHT (C) 1977,1976 -27 ; MODIFIED: ; ; EB033 TREAT A GROUP NUMBER OF 10 AS PRIVILEGED ; AND PREVENT THE ABORTING OF HEL BY A PARTIALLY ; LOGGED IN USER ; ; EB056 29-MAY-77 ALLOW LOGIN.TXT LINES OF 132 CHARACTERS ; ; ; MRJ002 SUPPORT FOR MAIL AND SHORT SIGNON ; MESSAGE ; ; BLS024 11-AUG-77 PREVENT CONTROL-C BY PARTIALLY LOGGED-IN ; USER. ; ; % -53,,/;MRJ002/ MAIMSG: .ASCII <15><12><7>/>>>>YOU HAVE MAIL<<<<12><7><0> MORMSG: .ASCII <15><12>/*****FOR COMPLETE MESSAGE, TYPE "NEWS"/<15><0> -89,91,/;MRJ002/ .WORD 8. ; .WORD FILNAM ; -98,104 ; ; MAIL FILE DESCRIPTOR ; MAIDSP: .WORD 4 .WORD MAIDEV .WORD 6 .WORD MAIDIR .WORD 10. .WORD MAIFIL MAIDEV: .ASCII /DM1:/ MAIDIR: .ASCII /[10,3]/ MAIFIL: .ASCII /000000.TXT/ DEVNAM: .ASCII /SY0:/ ; DIRNAM: .ASCII /[1,2]/ FILNAM: .ASCII /NEWS.TXT/ ; HELP: .ASCII /HELP.TXT/ ; MONTH: .ASCII /JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC/ .EVEN -114,,/; EB056/ .BLKB 132.-80.+2 ; EXPAND BUFFER FOR 132. CHARACTER LINES -116,116,/;EB033/ MKT: MRKT$ 1,60.,1 ; WAIT FOR ONE SECOND -143,147,/;MRJ002/ $HELEP: DIR$ #GMCR ; GET MCR COMMAND LINE BCC 3$ ;IF CC, OK CALL ERR4 ; ERROR, NONE THERE JMP EXIT ; ; -227,,/;BLS024/ CALL $SWSTK,461$ ; SWITCH TO SYSTEM STATE MOV $TKTCB,R1 ; GET MY TCB ADDRESS MOV T.UCB(R1),R1 ; PICKUP UCB ADDRESS BIS #U2.SLV,U.CW2(R1) ; SET TERMINAL AS SLAVED RETURN ; RETURN TO USER STATE 461$: ; REF LABEL -251,252,/;MRJ002/ MOV #MAIFIL,R5 ;WE'LL USE IT FOR MAIL TOO MOV #6.,R2 ; SET COUNT OF BYTES TO MOVE 482$: MOVB (R0),(R1)+ ; MOVE THEM MOVB (R0)+,(R5)+ ; SET UP FILENAME -266,268,/; EB033/ BIS #U2.PRV!U2.SLV,U.CW2(R5) ;SET TERMINAL AS PRIV ; (TEMPORARY) AND SLAVED BIC #U2.LOG,U.CW2(R5) ; SET TERMINAL LOGGED ON MOVB GRP,U.UIC+1(R5) ; STORE GROUP -317,,/;MRJ002/ ; NOTIFY USER IF THERE IS MAIL FOR HIM ; CALL MAIL ; -348,351,/; EB033/ MOV #10.,MKT+M.KTMG ; CHANGE WAIT MAGNITUDE 160$: BIT #U2.AT.,U.CW2(R1) ; ASN DONE? BEQ 170$ ; YES DIR$ #MKT ;NO, WAIT FOR 1/6 OF A SECOND BCS 175$ ; -356,358,/; EB033/ BLOS 180$ ;YES 175$: BIC #U2.PRV,U.CW2(R1) ; NO, CLEAR PRIV FLAG 180$: BIC #T3.MCR,T.ST3(R0) ; INHIBIT MCR PROMPT BIC #U2.SLV,U.CW2(R1) ;ALLOW TERMINAL INPUT AGAIN -388,,/;BLS024/ BIC #U2.SLV,U.CW2(R0) ; UN-SLAVE THE TERMINAL -815,815,/; EB056/ OPEN$R R0,,R1,#0,#BUF,#132. ; OPEN TEXT FILE FOR READ -818,819,/;MRJ002/ MOV #20,LINCNT ;SET MAXIMUM NUMBER OF LINES TO SHOW 10$: GET$ #$ACTFL,#BUF,#132. ; READ A LINE FROM FILE BCS 20$ ; -825,825 DEC LINCNT BPL 10$ MOV #MORMSG,R0 ; INDICATE MORE IN NEWS FILE CALL WRIT ; TO THE USER BR 40$ -837 ;+ ; *** - MAIL -CHECK FOR MAIL FOR THIS USER ; ; INPUT: ; MAIFIL - ASCII ENCODED UIC FOR USER ; ; THE PRESENCE OF MAIL IS INDICATED BY A FILE ; CONTAINING IT ON "MAIDEV" UNDER UIC "MAIDIR" ; ;- MAIL: FINIT$ CLR ODPB+Q.IOPL+4 ;SET CARRIAGE CONTROL ; MOV #MAIDSP,R1 MOV #$ACTFL,R0 OPEN$R R0,,R1,#0,#BUF,#80. MOV F.ERR(R0),#0 ;SAVE ERROR BCS 1$ MOV #MAIMSG,R0 CALL WRIT 1$: CLOSE$ #$ACTFL RETURN ; LINCNT: .WORD 0 /