.TITLE ERASE ; ; CALL ERASE -- This subroutine causes a screen erase (when ; meaningful), an alpha reset and moves the pen and the ; relocatable origin to the lower left hand corner. The ; plotter is left in the plot mode with no magnification. ; ; Note: By setting IFancy to different values, special features ; can be selected. ( .AND.'ing is allowed ) ; ; IFancy = 1, Don't erase screen. ; 2, Don't reset magnification or character size and angle. ; 4, Don't reset origin. ; .PSECT ERASE ; NFRAME:: ;ALTERNATE ENTRY POINT FOR ACD COMPATABILITY ERASE:: CLR IMode ;SET ALPHA MODE BIT #2,IFancy ;DON'T RESET MAGNIFICATION? BNE 1$ ;BRANCH IF TRUE MOV FLOAT1,CMag ;SET CMag TO 1. MOV FLOAT1+2,CMag+2 ; CONT. MOV FLOAT1,WidAdj ;SET WidAdj TO 1. MOV FLOAT1+2,WidAdj+2 ; CONT. 1$: MOV R5,-(SP) ;SAVE R5 ; BIT #1,IFancy ;DON'T ERASE SCREEN? BNE A ;BRANCH IF TRUE CMP #3,IDev ;IS PLOTTER A TEKTRONIC 4662? BEQ A ;BRANCH IF TRUE MOV #LIST0,R5 ;SET ARGUMENT LIST FOR TOUTPT CMP #4,IDEV ;IS PLOTTER A TEKTRONIC 4025? BNE 2$ ;BRANCH IF NOT MOV #VLIST0,R5 ;SET AGRUMENT LIST FOR TOUTPT (4025) 2$: JSR PC,TOUTPT ;ERASE SCREEN ; A: BIT #2,IFancy ;DON'T RESET CHARACTER SIZE AND ANGLE? BNE B ;BRANCH IF TRUE MOV #LIST1,R5 ;SET ARGUMENT LIST FOR SIZEUP JSR PC,SIZEUP ;ALPHA RESET B: BIT #4,IFancy ;DON'T RESET ORIGIN? BNE C ;BRANCH IF TRUE MOV #LIST2,R5 ;SET ARGUMENT LIST FOR ABSPLT JSR PC,ABSPLT ;ORIGIN AND PEN RESET C: MOV (SP)+,R5 ;RESTORE R5 ; RTS PC ;RETURN ; LIST0: .WORD 2,E,LIST0 ;ARGUMENT LIST FOR ERASURE OF SCREEN E: .BYTE 33,14 ; LIST1: .WORD 2,LSIZE,ANGLE ;ARGUMENT LIST FOR SIZEUP LSIZE: .FLT2 .10 ; .10 SCALE INCH CHARACTER SIZE VLIST0: .WORD 2,SETUP,NSET SETUP: .ASCII <37>/!WOR 33 H!MON H!GRA 1,35!SHR B!LEA F1 ?!WOR 0?/<15> .EVEN NSET: .WORD NSET-SETUP ANGLE: .FLT2 0. ;ZERO CHARACTER ANGLE LIST2: .WORD 3,ANGLE,ANGLE,M3;ARGUMENT LIST FOR ABSPLT ;(NOTE: .FLT2 0. = .WORD 0,0) M3: .WORD -3 ;IPEN = -3 FLOAT1: .FLT2 1. ;1.0