-2,2 ; .IDENT /V02.00/ .IDENT /DSK IO/ ; +++030 MOVE TO CDA FOR DISK I/O -52,54 FILERR: ERRMSG ; +++028 .EVEN ; -70,75 ; R3 ;+++029 HOPEFULLY, NO LONGER ALTERED ;- TMP: .WORD 0 ; +++028 ; .FILIO::PUSH R0,R3 ;SAVE R0 MOV #BINFDB,R0 ;GET FDB ADDRESS FOR INPUT FILE CLR F.BKVB(R0) ;SET UP VIRTUAL BLOCK NUMBER SUB #77,R3 ; +++028 NDA CREATED FILE HAS NO OFFSET. MOV R3,TMP ; +++028 SAVE FOR DIAGNOSTIC. BGT 2$ ; +++028 OUTWRD ,TMP ; +++030 2$: -80,80 READ$ R0,R4,#512.,,,#IOST ;READ BLOCK INTO BUFFER -89,93 10$: OUTBYT ,IOST ; +++029 OUTBYT ,IOST+1 ; +++029 OUTBYT ,F.ERR(R0) ; +++029 OUTWRD ,TMP ; +++029 CMPB #IE.EOF,F.ERR(R0) ;ELSE CHECK IF EOF (VBN TOO BIG) BNE 30$ ;BR IF NO, SOME OTHER ERROR SEC ;ELSE SET CARRY FOR ERROR RETURN 20$: POP R0,R3 ;RESTORE R0 +++029 AND R3 -99,99 ; +++028 FATAL$ #FILERR,R0 ;PRINT ERROR MESSAGE AND EXIT MOV #FILERR,R2 ; +++028 USE CDA'S ERROR EXIT ROUTINE JMP .MSG ; +++028 DISPLAY AND EXIT. /