.TITLE ASSLUN .IDENT /28.1VX/ ; SPECIAL FAKEOUT ASSLUN MODULE TO GET AME STUFF TO WORK ; RIGHT... ; NEVER LET VAX/RSX SEE ALUN$S TO LUN 0 BUT FAKE IT SO ; FCS CODE WILL SEEM TO WORK... ; NOT NEEDED IN RSX BUT VAX/RSX NEEDS IT BADLY. .ASECT .GLOBL $DSW ;Global reference .GLOBL .FSRPT ;Global reference .GLOBL .SAVR1 ;Global reference .GLOBL ..FCSX ;Global reference .PSECT .PSECT $$RESL,RO .GLOBL .ASLUN .GLOBL ..ALUN .PSECT $$RESL .ASLUN: JSR R5,.SAVR1 ..ALUN: MOV 34(R1),R2 MOV 32(R1),R3 BEQ E00040 E00016: MOVB 42(R0),R4 TST R4 ;SEE IF LUN 0. IF SO FAKE CS RETURN BGT 1$ ;IF ALL'S WELL, GO TO NORMAL PROCESSING ; OOPS - BAD ALUN$ SO TRY AND FAKE IT MOV #IE.IDU,@#$DSW ;FLAG ILLEGAL LUN SEC ;SET CARRY BIT TO LOOK LIKE DSW ERROR BR E00060 ;THEN GO CONTINUE FAKE-OUT 1$: MOV R2,-(SP) ;UNIT MOV R3,-(SP) ;DEVICE NAME (ASCII) MOV R4,-(SP) ;LUN MOV #2007,-(SP) EMT 377 BCS E00060 E00040: CALL E00144 BCC E00060 MOV #0,R2 MOV #54523,R3 BR E00016 E00060: MOV @#$DSW,52(R0) BCS E00140 MOVB R2,17(R0) MOV R5,60(R0) MOV R5,62(R0) MOV R3,34(R1) MOV R4,32(R1) CLRB 75(R0) BIC #-61,R2 CMP #60,R2 BNE E00140 BISB #1,75(R0) E00140: JMP ..FCSX E00144: MOV @#.FSRPT,R5 BNE E00162 MOVB #-47,52(R0) BR E00234 E00162: ADD #14,R5 MOVB 42(R0),R2 MOV R5,-(SP) MOV R2,-(SP) MOV #1405,-(SP) EMT 377 BCS E00234 MOV (R5)+,R4 CLR R3 BISB (R5),R3 MOV 2(R5),R2 BGE E00230 BISB #20,56(R0) E00230: MOV 10(R5),R5 E00234: RETURN .END