LBHIGH: 130000-1\r
\r
;START A WRITE ON DISK FILE\r
-\r
;AT ENTRY, C(TAC 18-35)= LOGICAL BLOCK NUMBER\r
; C(TAC1) = IOWD\r
\r
ENTRY LDDINT\r
LDDINT:\r
\r
+\r
DFWRT:\r
DFWRT1: MOVEM TAC1,IOWRD\r
MOVE TAC1,[BLKO DCB,IOWRD]\r
JSR DFRW ;SET UP DISK ADDRESS\r
\r
+\r
TLO TAC,WLE ;ENABLE WRITE LOCK ERROR\r
HRRI TAC,DSKCHN ;TURN ON DISK\r
IORI TAC,WRT+CLE+EIS+ENE\r
HRRI TAC,DSKCHN\r
IORI TAC,RED+CLE+EIS+ENE ;TURN ON DISK\r
STARTDV DSK\r
+ HRRZI TAC,DCBCHN\r
+ CONO DCB,XMOVE+P18+DFNUM(TAC)\r
POPJ PDP,\r
-\f\r
-;SERVICE INTERRUPT ON DATA-CONTROL-B\r
+\f;SERVICE INTERRUPT ON DATA-CONTROL-B\r
\r
INTERNAL FTCHECK,FTMONP\r
IFE FTCHECK+FTMONP,<\r
CONO DF,END+EIS(TAC)\r
MOVE TAC,ACSAV\r
JEN @DCBINT\r
-JSRDBC: JSR DCBINT ;JSR STORED IN INTERRUPT CELL\r
+JSRDCB: JSR DCBINT ;JSR STORED IN INTERRUPT CELL\r
+\r
\r
;DISK & DCB FLAGS\r
\r
RED=1B26 ;READ INDICATOR\r
WRT=2B26 ;WRITE INDICATOR\r
ENE=1B29 ;ENABLE ERROR INTERRUPT\r
-\f\r
-;INTERRUPT ROUTINE TO HANDLE SECTOR-END FLAG.\r
+\f;INTERRUPT ROUTINE TO HANDLE SECTOR-END FLAG.\r
;CHECK FOR ERRORS. IF THE JOB IS COMPLETED (SIOWD = 0), GO TO\r
;DEVICE INDEPENDENT PACKAGE, ELSE CONTINUE THE JOB.\r
\r
MOVEI TAC1,DVERAS\r
CONSZ DCB,OUT\r
TRO TAC1,WLE\r
-\r
CONSZ DF,(TAC1) ;ERROR?\r
SETZM SIOWD ;YES, DO NOT DO MORE NOW\r
MOVE TAC,DCBERR ;PICK UP DATA-CONTROL STATUS\r
CONSO DCB,OUT\r
JRST DFRED1\r
JRST DFWRT1\r
-\f\r
-DSKIN2:\r
+\fDSKIN2:\r
HRRZI TAC,DSKCHN\r
CONO DF,END+EIS(TAC) ;SEND END AND ENABLE FOR IDLE\r
;FOLLOWING ERROR\r
DSKIN3: MOVE IOS,DSKIOS ;PICK\r
CONO DF,0\r
JRST DFINT\r
-\f\r
-;SET UP FOR READ AND WRITE\r
+\f;SET UP FOR READ AND WRITE\r
\r
IFE FTCHECK+FTMONP,<\r
DFRW: Z\r
;THEN FLAG AS DEVICE ERROR\r
>\r
IDIVI TAC,^D44\r
-\r
MOVEM TAC,SRECN ;SAVE THE BLOCK NUMBER\r
SETZM SIOWD ;CLEAR SAVED IOWD\r
LSH TAC,6\r
CNVERR: MOVEI IOS,IODERR ;HERE ONLY IF OPERATOR PUSHES CONTINUE\r
JRST DFINT ;FLAG AS DEVICE ERROR\r
>\r
-; WAIT FOR DISK TO BE TURNED ON\r
+\f; WAIT FOR DISK TO BE TURNED ON\r
\r
INTERNAL DISKUP\r
\r
IOWRD: 0\r
DCBERR: 0\r
ACSAV: 0\r
-<>\r
+>\r
DPDEND: END\r
-\r
-\r