X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/cda2ba6d27526e5ef6f27f7b3391cfb55055bf2e..a0865c742fe1bf0b69346aa5f90665fc301e0236:/src/dpdint.mac diff --git a/src/dpdint.mac b/src/dpdint.mac index d20703c..7b7fcab 100644 --- a/src/dpdint.mac +++ b/src/dpdint.mac @@ -11,7 +11,6 @@ INTERNAL LBHIGH ;HIGHEST LEGAL LOGICAL BLOCK NUMBER LBHIGH: 130000-1 ;START A WRITE ON DISK FILE - ;AT ENTRY, C(TAC 18-35)= LOGICAL BLOCK NUMBER ; C(TAC1) = IOWD @@ -20,11 +19,13 @@ EXTERNAL DSKX8,DCBBIT,DSKBIT,DSKCHN,DCBCHN.ERRPNT,DSKX9 ENTRY LDDINT LDDINT: + DFWRT: DFWRT1: MOVEM TAC1,IOWRD MOVE TAC1,[BLKO DCB,IOWRD] JSR DFRW ;SET UP DISK ADDRESS + TLO TAC,WLE ;ENABLE WRITE LOCK ERROR HRRI TAC,DSKCHN ;TURN ON DISK IORI TAC,WRT+CLE+EIS+ENE @@ -42,9 +43,10 @@ DFRED1: MOVEM TAC1,IOWRD HRRI TAC,DSKCHN IORI TAC,RED+CLE+EIS+ENE ;TURN ON DISK STARTDV DSK + HRRZI TAC,DCBCHN + CONO DCB,XMOVE+P18+DFNUM(TAC) POPJ PDP, - -;SERVICE INTERRUPT ON DATA-CONTROL-B + ;SERVICE INTERRUPT ON DATA-CONTROL-B INTERNAL FTCHECK,FTMONP IFE FTCHECK+FTMONP,< @@ -61,7 +63,8 @@ DCBIN1: MOVEM TAC,ACSAV CONO DF,END+EIS(TAC) MOVE TAC,ACSAV JEN @DCBINT -JSRDBC: JSR DCBINT ;JSR STORED IN INTERRUPT CELL +JSRDCB: JSR DCBINT ;JSR STORED IN INTERRUPT CELL + ;DISK & DCB FLAGS @@ -91,8 +94,7 @@ P18=3B29 ;PACK 2 18-BIT BYTES RED=1B26 ;READ INDICATOR WRT=2B26 ;WRITE INDICATOR ENE=1B29 ;ENABLE ERROR INTERRUPT - -;INTERRUPT ROUTINE TO HANDLE SECTOR-END FLAG. + ;INTERRUPT ROUTINE TO HANDLE SECTOR-END FLAG. ;CHECK FOR ERRORS. IF THE JOB IS COMPLETED (SIOWD = 0), GO TO ;DEVICE INDEPENDENT PACKAGE, ELSE CONTINUE THE JOB. @@ -111,7 +113,6 @@ DSKINT: CONSO DF,@DSKCON MOVEI TAC1,DVERAS CONSZ DCB,OUT TRO TAC1,WLE - CONSZ DF,(TAC1) ;ERROR? SETZM SIOWD ;YES, DO NOT DO MORE NOW MOVE TAC,DCBERR ;PICK UP DATA-CONTROL STATUS @@ -136,8 +137,7 @@ DSKINT: CONSO DF,@DSKCON CONSO DCB,OUT JRST DFRED1 JRST DFWRT1 - -DSKIN2: + DSKIN2: HRRZI TAC,DSKCHN CONO DF,END+EIS(TAC) ;SEND END AND ENABLE FOR IDLE ;FOLLOWING ERROR @@ -149,8 +149,7 @@ DSKIN2: DSKIN3: MOVE IOS,DSKIOS ;PICK CONO DF,0 JRST DFINT - -;SET UP FOR READ AND WRITE + ;SET UP FOR READ AND WRITE IFE FTCHECK+FTMONP,< DFRW: Z @@ -169,7 +168,6 @@ IFN FTRCHK,< ;THEN FLAG AS DEVICE ERROR > IDIVI TAC,^D44 - MOVEM TAC,SRECN ;SAVE THE BLOCK NUMBER SETZM SIOWD ;CLEAR SAVED IOWD LSH TAC,6 @@ -202,7 +200,7 @@ IFN FTRCHK,< CNVERR: MOVEI IOS,IODERR ;HERE ONLY IF OPERATOR PUSHES CONTINUE JRST DFINT ;FLAG AS DEVICE ERROR > -; WAIT FOR DISK TO BE TURNED ON + ; WAIT FOR DISK TO BE TURNED ON INTERNAL DISKUP @@ -232,7 +230,5 @@ DSKCON: 0 IOWRD: 0 DCBERR: 0 ACSAV: 0 -<> +> DPDEND: END - -