1 SUB VISOUT (S$) 2 ! will write S$ to visual 500 with IOWAL directive. 4 ! ERR$ is a 4-byte IO status block. 5 ! inspect ERR$ in COMMON (VIS500) to find if output to visual 500 worked. 6 COMMON (VIS500) VIS5LUN%, QIOW$=2%, ERR$=4%, VIS5EFN%, ERRADR% 11 .DEFINE .IOWAL%=264% ! IO.WAL QIOW$ code 100 L% = LEN(S$) ! buffer length 110 CALL ADR BY REF (S$,A%) ! buffer address 130 CALL DIR BY REF (QIOW$,.IOWAL%,VIS5LUN%,VIS5EFN%,ERRADR%,0%,A%,L%,0%,0%,0%,0%) ! write buffer to visual 500 140 ! ERR$ contains on return: 150 ! byte#1: directive status (should be 1% for sucess) 160 ! 2: further details code 170 ! 3: \ 185 ! | integer count of characters actually written to visual 500 180 ! 4: / 190 SUBEND