X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/cda2ba6d27526e5ef6f27f7b3391cfb55055bf2e..4004a326545fc294821707378dd8e6b026df8be1:/src/ptrser.mac diff --git a/src/ptrser.mac b/src/ptrser.mac index fd8b81e..244d665 100644 --- a/src/ptrser.mac +++ b/src/ptrser.mac @@ -6,12 +6,18 @@ EXTERNAL STOSQD,ILLOUT EXTERNAL STODAT, IOSET, SETBYT, ADVBFF EXTERNAL SETIOD, PTRSAV, PTRCHN,PIOMOD EXTERNAL SETACT,STOIOS,CPOPJ1,PTRMSK -INTERNAL PTRINT,PRTDSP +INTERNAL PTRINT,PTRDSP ;PTR DEVICE DATA BLOCK LINKAGE + + + + ENTRY PTRSER PTRSER: + + ,PARAMETER ASSIGNMENTS , PTR CONTROL REGISTER PTRDON=10 ;DONE FLAG @@ -50,7 +56,9 @@ PTRSVC: 0 PTRSV1: 0 PTRCON: 0 > - ,PTR SERVICE DISPATCH TABLE + + +,PTR SERVICE DISPATCH TABLE JRST PTRINI ;INITILIZE JRST PTRREL ;HUNG DEVICE TIME-OUT ERROR. PTRDSP: JRST PTRREL ;RELEASE @@ -63,25 +71,26 @@ PTRDSP: JRST PTRREL ;RELEASE PUSHJ PDP,SETBYT ;TAC0-5:=TAC12-13:=0,TAC6-11:=BYTE SIZE ;TAC14-17:=PROG MOVEM TAC,PTRPTR ;PTRPTR:=C(TAC) - CONSZ PTR,POW ;IS POWER ON?> - TLO IOS,PTRPOW LYES. PTRPOW:=1 + CONSZ PTR,POW ;IS POWER ON? + TLO IOS,PTRPOW ;YES. PTRPOW:=1 PTRIN1: MOVEI TAC1,PTRBSY TLZN IOS,IOBEG ;VIRGIN? MOVEI TAC1,PTRDON ;NO TLNN IOS,PTRPOW - ANDI TAC1,PTRMSK ;PTRMSK IUS DEFINED IN BUILD AS -1 PDP-6 AND 0 PDP-10 + ANDI TAC1,PTRMSK ;PTRMSK IS DEFINED IN BUILD AS -1 PDP-6 AND 0 PDP-10 PUSHJ PDP,SETACT ;IOACT:=1 MOVEI TAC,PTRCHN(TAC1) LDB TAC1,PIOMOD - CAIE TAC1,1B ;IMAGE BINARY? + CAIE TAC1,IB ;IMAGE BINARY? CAIN TAC1,B ;OR BINARY IORI TAC,PTRBIN HRLI TAC,PTRDON STARTDV PTR POPJ PDP, - PTRINT: CONSO PTR,@PTRCON + +PTRINT: CONSO PTR,@PTRCON JRST PTRINT SKIPL PTRIOS ;DISCONNECT REQUEST? (IODISC=1?) DATAI PTR,PTRSV1 ;PTRSV1:=DATA ITEM. @@ -95,6 +104,7 @@ PTRIN1: TLON IOS,PTRPOW ;PTRPOW=1? PTRPOW:=1 JRST PTREX1 ;NO TLZE IOS,IODISC ;DISCONNECT REQUEST? + JRST PTREX ;YES TLZE IOS,PTRFCI ;IS PTRFCI=1? MOVE DAT,PTRSVC ;YES. DAT:=C(PTRSVC) PTRIN0: TRNE IOS,B ;MODE=BINARY? @@ -104,7 +114,7 @@ PTRIN0: TRNE IOS,B ;MODE=BINARY? JRST PTREX1 ;YES JUMPE DAT,PTREX1 ;DAT=0? -PTRIO: PUSHJ PDP,STODAT ;NO STORE DATA WORD. +PTRI0: PUSHJ PDP,STODAT ;NO STORE DATA WORD. JFCL ;CHECKSUM ERROR JRST PTRI1 ;BLOCK FULL OR BLOCK COMPLETE JRST PTREX1 ;DATA STORED CORRECTLY. @@ -117,13 +127,14 @@ PTRI2: TLO IOS,IOFST ;IOFST:=1, NEXT ITEM IS FIRST ITEM OF A BUFFER. JRST PTREX1 ,COME HERE WHEN THE READER IS SHUT OFF + PTREND: TDZ IOS,[XWD PTRPOW,IOACT] ;PTRPWO:=0,IOACT:=0 PUSHJ PDP,PTRREL ;CLEAR PTR AND CONSO FLAG - LDB TAC,IOMOD - TLO IOS,IOEND+IOREG + LDB TAC,PIOMOD + TLO IOS,IOEND+IOBEG CAIE TAC,B ;CHECKSUM BINARY BLOCK ..OF? JRST PTREI ;NO - TLNN IOS,IOEST ;IOEST=1? + TLNN IOS,IOFST ;IOFST=1? TRO IOS,IOIMPM ;NO. BINARY BLOCK INCOMPLETE. JRST PTRI2 PTREI: PUSHJ PDP,STOSQD ;FINISH THE BUFFERE, STORE WORD COUNT @@ -131,7 +142,8 @@ PTREI: PUSHJ PDP,STOSQD ;FINISH THE BUFFERE, STORE WORD COUNT PUSHJ PDP,ADVBFF ;ADVANCE BUFFERE JFCL JRST PTRI2 - ,DISCONNECT PTR + +,DISCONNECT PTR PTREX: SKIPG @PTRADR ;IOUSE=1? JRST PTREX0 ;YES. DATAI PTR,DAT @@ -154,4 +166,3 @@ PTRREL: CONO PTR,0 ;CLEAR PTR CONTROL POPJ PDP, END -