\r
EXTERNAL PTPCHN, PTPSAV, ADVBFE, ITMCT1, SETIOD, SETBYT, IOSET, CKS12\r
EXTERNAL ILLINP, OUT, WAIT1,PTPCHL,PIOMOD\r
-EXTERNAL SETACTSTOIOS\r
-INTERNAL PTPINI,PTPDSP\r
+EXTERNAL SETACT,STOIOS\r
+INTERNAL PTPINT,PTPDSP\r
\r
;PTP DEVICE DATA BLOCK LINKAGE\r
\r
ENTRY PTPSER\r
-\r
PTPSER:\r
-\f, PARAMETER ASSIGMENTS\r
+\f\r
+, PARAMETER ASSIGMENTS\r
+\r
\r
, PTP CONTROL REGISTER\r
PTPDON=10\r
\r
, FORMAT CONTROL\r
- PDPFDN=200\r
+ PTPFDN=200\r
\r
, SPECIAL IO STATUS WORD ASSIGNMENTS\r
IODISC=400000\r
RUBOUT=377\r
HORTAB=11\r
VERTAB=213\r
- FORMED=14\r
+ FORMFD=14\r
+\r
\r
IFN FTCHECK+FTMONP,<\r
EXTERNAL PTPDDB,PTPIOS,PTPPTR,PTPADR,PTPCTR,PTPCNT,PTPCHA,PTPSIO,PTPCON\r
PTPSIO: 0\r
PTPCON: 0\r
>\r
-\f,PTP SERVICE DISPATCH TABLE\r
+\f\r
+,PTP SERVICE DISPATCH TABLE\r
JRST PTPINI ;INITILIZE\r
JRST PTPREL ;HUNG DEVICE TIME-OUT ERROR,\r
PTPDSP: JRST PTPREL ;RELEASE\r
POPJ PDP, ;RETURN\r
\r
\r
+\r
+\r
PTPCLS: PUSHJ PDP,OUT ;OUTPUT REMAINING BUFFERS\r
PUSHJ PDP,WAIT1 ;WAIT FOR IOACT=0.\r
MOVE IOS,PTPIOS ;C(IOS):=C(PTPIOS)\r
PUSHJ PDP,SETACT ;SET ACTIVE FLAG,STORE IOS,AND\r
;RESET HUNG DEVICE TIMEOUT COUNT\r
MOVEI TAC,200\r
- MOVEM TAC,PTRCNT ;PTPCNT:=200\r
+ MOVEM TAC,PTPCNT ;PTPCNT:=200\r
MOVEI TAC,PTPDON ;SET CONSO FLAG\r
HRRM TAC,PTPCON\r
MOVEI TAC,PTPCHN ;TAC:=PTPCHN,PI CHANNEL ASSIGNMENT\r
CONO PTP,PTPDON(TAC) ;DONE FLAG:=1, ASSIGN PI CHANNEL\r
JRST WAIT1 ;WAIT FOR IOACT=0, ALL BUFFERS FINISHED\r
-\fPTPOUT: TLZE IOS,IOBEG ;VIRGIN DEVICE?> (IOBEG:=0)\r
- JRST PTPIN0 ;YES\r
+\f\r
+PTPOUT: TLZE IOS,IOBEG ;VIRGIN DEVICE?> (IOBEG:=0)\r
+ JRST PTPIN2 ;YES\r
\r
PTPIN1: \r
TLZ IOS,IODISC ;CLEAR DISCONNECT BIT\r
POPJ PDP, ;RETURN\r
\r
PTPIN2: LDB TAC,PIOMOD\r
-\r
TLO IOS, IOFST+PTPFED+IO ;IOFST:=PTPFED:=IO:=1\r
TLZ IOS,PTPBIN+PTPIB ;CLEAR BINARY AND IMAGE BINARY BITS\r
CAIN TAC,IB ;IMAGE BINARY\r
HLLM TAC,PTPPTR ;PTPPTR0-5:=PTPPTR12-13:=0,PTPPTR6-11:=BYTE\r
;SIZE; PTPPTR14-17:=PROG\r
JRST PTPIN1\r
-\f,PUNCH INTERRUPT SERVICE\r
+\f\r
+,PUNCH INTERRUPT SERVICE\r
+\r
\r
PTPINT: CONSO PTP,@PTPCON\r
JRST PTPINT\r
MOVEM TAC,PTPCNT\r
MOVE DAT,@PTPPTR ;PTPCHA:=OUTPUT DATA WORD\r
AOS PTPPTR ;PTRPTR:=C(PTRPTR)+1. ADVANCE ITEM POINTER.\r
- MOVEM DAT,PTRCHA\r
+ MOVEM DAT,PTPCHA\r
JRST PTPXIT\r
-\fPTP3: DATA PTP,PTPCHA ;PUNCH CHARACTER\r
+\r
+\fPTP3: DATAO PTP,PTPCHA ;PUNCH CHARACTER\r
TRNE IOS,14 ;IS MODE AN ALPHA MODE\r
JRST PTP1 ;NO\r
MOVE DAT,PTPCHA\r
PTPBN: HRRZ TAC1,PTPADR ;TAC1:=BUFFER ADDRESS\r
PUSHJ PDP,CKS12 ;TAC:=CALCULATE CHECKSUM\r
ADD TAC1, PTPADR\r
- HLLM TAC,@TAC1 ;STORE CHECKSUM IN LEFT HALF OF FIRST BUFFER WORD,\r
-\r
+ HLLM TAC,@TAC1 ;STORE CHECKSUM IN LEFT HALF OF FIRST BUFFER DATA WORD,\r
JRST PTPB1\r
-\fPTPADV: PUSHJ PDP,ADVBFE ;ADVANCE BUFFER\r
+\f\r
+PTPADV: PUSHJ PDP,ADVBFE ;ADVANCE BUFFER\r
JRST PTPDSC ;EXIT1. NEXT BUFFER EMPTY\r
TLZE IOS,IOW ;IN A WAIT? IOW:=0\r
PUSHJ PDP,SETIOD ;YES. IOWS:=1\r
TLNN IOS,PTPIB ;IMAGE BINARY?\r
JRST PTP1\r
AOS PTPPTR ;YES\r
-\r
SOS PTPCTR\r
JRST PTPB1\r
\r
-PTP91: POINT 6,PTRPTR,11\r
+PTP91: POINT 6,PTPPTR,11\r
\r
-PTRP1: MOVEI DAT,RUBOUT ;PTPCHA:=RUBOUT\r
+PTPP1: MOVEI DAT,RUBOUT ;PTPCHA:=RUBOUT\r
MOVEM DAT,PTPCHA \r
TLO IOS,PTPEOL ;PTPEOL:=1\r
JRST PTPXIT\r