Trailing-Edge
-
PDP-10 Archives
-
ap-c796e-sb
-
dtcert.mac
There is 1 other file named dtcert.mac in the archive. Click here to see a list.
TITLE DTCERT
OPDEF DISMIS [1B2]
PIA=3
P=17
U=10
RTTRP=57
LOCK=60
DEVCHR=4
SLEEP=31
EXIT==12
SEL=30000
FWD=200000
RVS=100000
DTS=324
DTC=320
PION=200
PIOFF=400
A: CALLI 0
SETZM ERRFLG
TTCALL 11,
MOVE P,[IOWD 10,PDLST]
TTCALL 3,[ASCIZ /DTA UNIT NUMBER? /]
TTCALL 4,U
TTCALL 11,
SUBI U,60
JUMPL U,A
CAILE U,10
JRST A
ANDI U,7
LSH U,11
PUSHJ P,GETDTA
MOVE [XWD 1,1]
CALLI LOCK
JRST NOLOCK
MOVEI RTBLK1
CALLI RTTRP
JRST NORTT
TTCALL 3,[ASCIZ/MOUNT TAPE, WRITE ENABLED, THEN TURN ON WRTM SWITCH
/]
A1: CONSZ DTS,1B25
JRST A2
MOVEI 1
CALLI SLEEP
JRST A1
A2: CONO DTC,SEL(U)
CONSO DTS,1B24
JRST C
CONO DTS,770001
CONO DTC,410000
TTCALL 3,[ASCIZ/WRITE ENABLED!! TRY AGAIN.
/]
JRST A
C: MOVEI 200
MOVEM CERSIZ
MOVEI 1102
MOVEM CERBLK
PUSHJ P,WRTMK1
TTCALL 3,[ASCIZ/REMOUNT TAPE, THEN TURN OFF WRTM SWITCH
/]
C1: CONSO DTS,1B25
JRST C2
MOVEI 1
CALLI SLEEP
JRST C1
C2: PUSHJ P,TMKBM
PUSHJ P,WRITE0
TTCALL 3,[ASCIZ/TAPE OK!
/]
LSH U,-11
DPB U,[POINT 4,.+1,12]
MTAPE U,11
JRST A
GETDTA: ZZ=0
MOVEI 1,0
DEFINE DTINIT(ZZ)
< INIT ZZ,17
SIXBIT /DTA'ZZ/
0
JRST NODTA
AOS 1
>
REPEAT 8,< DTINIT(\ZZ)
ZZ==ZZ+1>
CPOPJ: POPJ P,
NODTA: ADDI 1,20
LSH 1,^D12
HRLI 1,(SIXBIT/DTA/)
CALLI 1,DEVCHR
JUMPE 1,CPOPJ
TTCALL 3,[ASCIZ/PLEASE ASSIGN ALL DECTAPE DRIVES!
/]
CALLI EXIT
NOLOCK: TTCALL 3,[ASCIZ/LOCK UUO FAILED!/]
CALLI EXIT
NORTT: TTCALL 3,[ASCIZ/RTTRP UUO FAILED!/]
CALLI EXIT
WRTMK1: SETZM DTACSO
MOVEI ^D2500
MOVEM COUNT
MOVEI WRTMK
MOVEM DISPAT
MOVEI RTBLK
CALLI RTTRP
JRST NORTT
MOVE CERBLK
MOVEM WCERBL
SETZM DONFLG
MOVEI 3
CONO PI,PIOFF
CONO DTS,770000
CONO DTC,FWD+SEL+400+PIA+PIA*8(U)
MOVEM DTACSO
CONO PI,PION
MOVEI 1
CALLI SLEEP
SKIPN DONFLG
JRST .-3
SKIPN 1,ERRFLG
POPJ P,
JRST (1)
RTBLK: XWD PIA,TRAP
EXP APRTRP
CONSO DTS,@DTACSO
Z
TRAP: JRST @DISPAT
DISPAT: 0
DISMIS
APRTRP: 0
MOVEI APRERR
MOVEM ERRFLG
JRST STOP
APRERR: TTCALL 3,[ASCIZ/APR ERROR AT INTERRUPT LEVEL!/]
CALLI EXIT
WRTMK: CONSO DTS,1
JRST ERR
DATAO DTC,[404404404404]
SOSLE COUNT
DISMIS
MOVNI 4
MOVEM COUNT
JSR DISPAT
MKBKE: CONSO DTS,1
JRST ERR1
MOVE 1,MKBKET
SKIPGE 2,COUNT
MOVE 1,MKBKET(2)
DATAO DTC,1
AOS 2,COUNT
MOVEI 3(2)
CAME CERSIZ
DISMIS
MOVNI 2
MOVEM COUNT
JSR DISPAT
MKBKE1: CONSO DTS,1
JRST ERR1
MOVE 2,COUNT
DATAO DTC,MKBKET+3(2)
AOSG 2,COUNT
DISMIS
MOVNI 5
MOVEM COUNT
SOSLE WCERBL
JRST MKBKE-1
JSR DISPAT
MKBKE2: CONSO DTS,1
JRST ERR1
DATAO DTC,MKBKET-5
MOVEI 50000
MOVEM COUNT
JSR DISPAT
LEZONE: CONSO DTS,1
JRST ERR1
DATAO DTC,[040040040040]
SOSLE COUNT
DISMIS
STOP: CONO DTS,770001
CONO DTC,410000
MOVEI RTBLK1
CALLI RTTRP
JFCL
SETOM DONFLG
SETZM DTACSO
DISMIS
RTBLK1: Z
Z
CONSO DTS,0
Z
TMKBM: SETZM DONFLG
MOVEI MOVAY
MOVEM DISPAT
MOVEI RTBLK
CALLI RTTRP
JRST NORTT
MOVEI 3
CONO PI,PIOFF
CONO DTS,770000
CONO DTC,RVS+SEL+200+PIA+PIA*8(U)
MOVEM DTACSO
CONO PI,PION
MOVEI 1
CALLI SLEEP
SKIPN DONFLG
JRST .-3
SKIPN 1,ERRFLG
POPJ P,
JRST (1)
MOVAY: CONSO DTS,1
JRST ERR
CONO DTC,300000+PIA+PIA*8
JSR DISPAT
MOVAY1: CONSO DTS,20000
JRST ERR
CONO DTC,FWD
CONO DTC,300500+PIA+PIA*8
MOVE CERBLK
MOVEM TCERBL
SOS CERBLK
JSR DISPAT
TMKBM1: CONSO DTS,1
JRST ERR1
SOS 3,TCERBL
SETCM 2,CERSIZ
MOVEI 1,(3)
DATAO DTC,1
MOVEM 2,COUNT
SETCMI 1,-1(3)
JSP 16,OBVSBK
MOVEM 1,NXTDAT
JSR DISPAT
TMKBM2: CONSO DTS,1
JRST ERR1
SKIPN TCERBL
JRST TMKCK1
DATAO DTC,NXTDAT
JSR DISPAT
TMKBM3: CONSO DTS,1
JRST ERR1
DATAO DTC,[252525252525]
AOSG COUNT
DISMIS
JRST TMKBM1-1
TMKCK1: CONO DTS,20001
JSR DISPAT
CONSO DTS,20000
JRST ERR
CONO DTC,RVS
CONO DTC,300100+PIA+PIA*8
MOVEI 3,1
SETCMI 1,-1(3)
JSP 16,OBVSBK
MOVEM 1,NXTDAT
MOVEM 3,COUNT
JSR DISPAT
TMKCK2: CONSO DTS,1
JRST ERR2
DATAI DTC,0
CAME NXTDAT
JRST DATERR
JSR DISPAT
TMKCK3: CONSO DTS,1
JRST ERR2
DATAI DTC,0
CAME COUNT
JRST DATERR
SETCM 2,CERSIZ
MOVEM 2,COUNT1
JSR DISPAT
TMKCK4: CONSO DTS,1
JRST ERR2
DATAI DTC,0
CAME [252525252525]
JRST DATERR
AOSG COUNT1
DISMIS
AOS 3,COUNT
SETCMI 1,-1(3)
JSP 16,OBVSBK
MOVEM 1,NXTDAT
CAME 3,CERBLK
JRST TMKCK2-1
JRST STOP
WRITE0: SETZM DONFLG
MOVEI FIX1
MOVEM DISPAT
MOVEI RTBLK
CALLI RTTRP
JRST NORTT
MOVEI 3
CONO PI,PIOFF
CONO DTS,760000
CONO DTC,FWD+SEL+PIA+PIA*8(U)
MOVEM DTACSO
CONO PI,PION
MOVEI 1
CALLI SLEEP
SKIPN DONFLG
JRST .-3
SKIPN 1,ERRFLG
POPJ P,
JRST (1)
FIX1: CONSO DTS,1B22
JRST ERR
CONO DTC,RVS+7B29+PIA+PIA*8
JSR DISPAT
FIX2: CONSZ DTS,745700
JRST ERR1
CONSZ DTS,1B22
JRST STOP
CONSO DTS,1
JRST ERR1
DATAO DTC,[0]
DISMIS
ERR: MOVEI ERROR
ERRA: MOVEM ERRFLG
JRST STOP
ERR1: MOVEI ERROR1
JRST ERRA
ERR2: MOVEI ERROR2
JRST ERRA
ERROR: TTCALL 3,[ASCIZ/DECTAPE CONTROL ERROR
/]
JRST A
ERROR1: TTCALL 3,[ASCIZ/ERROR DURING WRITE
/]
JRST A
ERROR2: TTCALL 3,[ASCIZ/ERROR DURING READ
/]
JRST A
DATERR: MOVEI DATER1
JRST ERRA
DATER1: TTCALL 3,[ASCIZ/PREVIOUSLY WRITTEN DATA IS NO LONGER CORRECT
/]
JRST A
400404040404
040404040440
044040004000
004000004000
004000444000
MKBKET: 444000444000
444000444044
444044444044
444044404004
OBVSBK: MOVE 4,1
REPEAT 6,<
ROTC 4,-3
ROT 5,6>
ROT 5,-3
HRLO 1,5
JRST (16)
DONFLG: Z
ERRFLG: Z
CERSIZ: Z
CERBLK: Z
DTACSO: Z
COUNT: Z
COUNT1: Z
WCERBL:
TCERBL: Z
NXTDAT: Z
PDLST: BLOCK 10
END A