.TITLE WINDOW - SFGL70 ROUTINE TO ESTABLISH WINDOW,GRID, & TICS .IDENT 'WIND00' .PSECT WINDOW ; KEN DEMERS ; UTRC ; JANUARY 1980 ; THIS ROUTINE IS PART OF THE SMALL FAST GRAPHICS ; LIBRARY ON THE PDP-11/70. IT ESTABLISHES A VIRTUAL ; WINDOW, DISPLAYS AN X AND Y GRID, AND CREATES TIC ; MARKS AND LABELS THAT BEST SUIT THE X AND Y RANGES. ; CALLING FORMAT: ; CALL WINDOW('XLABEL',XMAX,XMIN,YGRDLO,'YLABEL',XMAX,XMIN,XGRDLO) ; INTERNAL GLOBALS .GLOBL WINDOW ; EXTERNAL GLOBALS .GLOBL GRID,D$ISTIC,C$OMDBT,X$RANGE,Y$RANGE ; ASSIGNMENTS XMXTIC = 41040 ;MAX # OF TICS ALLOWED ON X GRID(F.P. 10) YMXTIC = 41240 ;MAX # OF TICS ALLOWED ON Y GRID(F.P. 20) WINDOW: CALL GRID ;CREATE WINDOW,ESTABLISH X & Y GRID WITH LABELS MOV #RANARG,R0 ;R0= A(ARG BLK + 2) MOV #X$RANGE,(R0)+ ;INIT PTR TO RANGE ARG MOV #XTAB,(R0)+ ;PT TO X GRID VALUES MOV #X$MIN,(R0)+ ;INIT PTR TO X GRID MIN ARG MOV #XMXTIC,@(R0) ;INIT MAXTIC MOV #ARGBLK,R5 ;INIT PTR TO COMTIC ARG BLK CALL C$OMDBT ;COMPUTE DISTANCE BETWEEN TICS MOV #RANARG,R0 ;R0= A(ARGBLK + 2) MOV #Y$RANGE,(R0)+ ;INIT PTR TO RANGE ARG MOV #YTAB,(R0)+ ;PT TO Y GRID VALUES MOV #Y$MIN,(R0)+ ;INIT PTR TO Y GRID MIN ARG MOV #YMXTIC,@(R0) ;INIT MAXTIC ALLOWED FOR GRID MOV #ARGBLK,R5 ;INIT PTR TO COMTIC ARG BLK CALL C$OMDBT ;COMPUTE DISTANCE BETWEEN TICS MOV #ARGBK1,R5 ;R5= A(DISTIC ARG BLK) CALL D$ISTIC ;DISPLAY TICS RETURN ARGBLK: .BYTE 4,0 ;# ARGS,NOT USED RANARG: .WORD 0 ;PTR TO RANGE GRDARG: .WORD 0 ;PTR TO GRID ARG MINARG: .WORD 0 ;PTR TO GRID MIN .WORD MAXTIC ;PTR TO MAX # OF TIC ALLOWED FOR A GRID MAXTIC: .BLKW 2 ;MAX # OF TICS ALLOWED FOR A GRID(F.P.) ARGBK1: .BYTE 2,0 ;# ARGS,NOT USED .WORD XTAB ;PTR TO DIST,START,NTICS FOR X GRID .WORD YTAB ;PTR TO DIST,START,NTICS FOR Y GRID XTAB: .BLKW 5 ;F.P. DIST,F.P. START,NTICS FOR X GRID YTAB: .BLKW 5 ;F.P. DIST,F.P. START,NTICS FOR Y GRID .END