1
0
mirror of https://github.com/PDP-10/stacken.git synced 2026-03-01 09:21:15 +00:00
Files
Lars Brinkhoff 6e18f5ebef Extract files from tape images.
Some tapes could not be extracted.
2021-01-29 10:47:33 +01:00

158 lines
3.4 KiB
Plaintext

TITLE TTYSCH --- PROGRAM TO RESET TTY STATUS
SUBTTL BILL VOLKMAN 27-SEP-77
SUBTTL DEFINITIONS
T1==1
T2==2
T3==3
P==17
PDLSIZ=10
SUBTTL MAIN SECTION
START: JFCL ;IN CASE OF CCL
RESET ;THE WORLD
MOVE P,[IOWD PDLSIZ,PDL];SET UP THE PDL
AGAIN: PUSHJ P,INTTY ;GET A TTY
OPEN 1,DEVBLK ;INIT IT TO OUR JOB
JRST NOTTY ;NO, MUST ASSUME LOGGED IN
MOVEI T2,2004 ;GET OUR ACTION(SLAVE BIT)
MOVEM T2,ADRBLK ;PUT IT IN THE BLOCK
SETZM ADRBLK+2 ;CLEAR THE THIRD WORD
MOVE T2,PBLK ;GET THE POINTER TO THE BLOCK
CALLI T2,116 ;DO A TRMOP
JRST FAIL ;NO WEIRD ERROR
OUTSTR [ASCIZ/ ENABLE AUTO BAUD DETECT ? /];SEE IF WE WANT TO SKIP
INCHRW T1 ;FOLLOWING CODE ?
OUTSTR [ASCIZ/
/]
CAIE T1,"Y" ;YES THEN SKIP
JRST NOAUTO ;NO JUMP AROUND
MOVEI T2,17 ;ENABLE THE MODEM FOR AUTO
MOVEM T2,ADRBLK ;BAUD DETECT
MOVE T2,PBLK
HRLI T2,2
CALLI T2,116
JFCL ;AGAIN WE DON'T CARE
NOAUTO: PUSHJ P,GETSPD ;GO GET THE SPEED HE WANTS
JRST NOCHG ;SKIP THIS IF NO SPEED CHANGE
MOVEI T2,2030 ;FIRST TAKE CARE OF RECEIVE SPEED
MOVEM T2,ADRBLK ;PUT IT IN THE BLOCK
MOVE T2,PBLK ;GET THE POINTER
CALLI T2,116 ;DO IT
JRST FAILS ;HMMM, SEEMS WE CAN'T DO THAT
MOVEI T2,2031 ;TAKE CARE OF TRANSMIT SPEED
MOVEM T2,ADRBLK ;PUT IT IN THE BLOCK
MOVE T2,PBLK ;GET THE POINTER
CALLI T2,116 ;DO IT
JRST FAILS ;CUT THE GARBAGE
NOCHG: SETZM ADRBLK+2 ;ZERO PART OF BLOCK
MOVEI T2,2013 ;GET THE "GAG" ARGUMENT
MOVEM T2,ADRBLK ;PUT IT AT THE TOP
MOVEI T2,1 ;WE WANT TO SHUT OFF GAG
MOVEM T2,ADRBLK+2 ;NOT SET IT
MOVE T2,PBLK ;GET THE POINTER AGAIN
CALLI T2,116 ;CLEAR GAG
JFCL ;NO, WE DON'T CARE
MOVEI T2,7 ;GET READY TO TRANSFER A MESSAGE
MOVEM T2,ADRBLK ;PUT IT IN THE BLOCK
MOVEI T2,MESBLK ;GET OUR MESSAGE ADDRESS
MOVEM T2,ADRBLK+2 ;PUT IT AT THE BOTTEM
MOVE T2,PBLK ;GET THE POINTER
CALLI T2,116 ;DO OUR THING
JFCL ;WELL YOU CAN'T WIN ALL THE TIME
RELEASE 1, ;GET RID OF THE SILLY THING
OUTSTR DONE ;TELL WHO STARTED US
JRST AGAIN ;AND START FROM THE TOP
INTTY: OUTSTR PTTY
MOVE T1,[SIXBIT/TTY /]
MOVEM T1,DEVBLK+1
MOVEI T2,0
MOVE T3,[SIXBIT/000000/]
LOOP: INCHWL T1
CAIG T1,"9"
CAIGE T1,"0"
JRST PUNT
SUBI T1,40
LSH T3,6
ADD T3,T1
SUBI T1,20
LSH T2,3
ADD T2,T1
JRST LOOP
PUNT: CAIN T1,12
JRST INDONE
INCHWL T1
JRST PUNT
INDONE: CAIG T2,777
CAIG T2,0
EXIT
HRRM T3,DEVBLK+1
ADDI T2,200000
MOVEM T2,ADRBLK+1
POPJ P,
GETSPD: OUTSTR PSPEED
MOVEI T2,0
INCHWL T1
CAIG T1,"9"
CAIGE T1,"0"
JRST PUNT1
SUBI T1,60
IMULI T2,^D10
ADD T2,T1
JRST GETSPD+2
PUNT1: CAIN T1,12
JRST SPDONE
INCHWL T1
JRST PUNT1
SPDONE: CAIG T2,0
POPJ P,
MOVEI T1,17
CAMN T2,TABLE(T1)
JRST SPPUT
SOJG T1,.-2
OUTSTR [ASCIZ/? ILLEGAL SPEED -- TRY AGAIN
/]
JRST GETSPD
SPPUT: MOVEM T1,ADRBLK+2
POP P,T3
JRST 1(T3)
NOTTY: OUTSTR [ASCIZ\
? TTY LOGGED IN/STILL SLAVED -- CALL COMPUTER SERVICES ?
\]
EXIT
FAIL: OUTSTR [ASCIZ/%FAILURE -- CALL DOWN TOWN
/]
EXIT
FAILS: OUTSTR [ASCIZ/%UNABLE TO SET SPEED -- CONTINUING
/]
JRST NOCHG
TABLE: 0
^D50
^D75
^D110
^D134
^D150
^D200
^D300
^D600
^D1200
^D1800
^D2400
^D4800
^D9600
0
0
DONE: ASCIZ/ *DONE*
/
PTTY: ASCIZ/ TTY NUMBER: /
PSPEED: ASCIZ/ TTY SPEED: /
MESBLK: ASCIZ/ THE TTY SHOULD WORK NOW -- IF IT DOESN'T TYPE CHARACTERS
TYPE CNTRL-C (^C) THEN TYPE "TT ECHO".
/
PBLK: XWD 3,ADRBLK
ADRBLK: BLOCK 3
DEVBLK: BLOCK 3
PDL: BLOCK 10
END START