*COMDECK PBQUICKIO
_$J+  PAGE EJECT? 
_*****************************
*                            *
*         PBQUICKIO          *
*         QUICK I/O          *
*                            *
*****************************?
_$R-,G-,I+     NON-RECURSIVE
               NON-INTERRUPTABLE ?
_***********************************************************************
*                                                                      *
**OVERVIEW- PBQUICKIO PRINTS THE CONTENTS OF ONE USER SUPPLIED         *
*           BUFFER ON A LOCAL PERIPHERAL.  THE OUTPUT DEVICE           *
*           MUST BE READY AND AVAILABLE FOR THE OUTPUT TO              *
*           PRINT.                                                     *
*                                                                      *
**INPUT- BUFFER TO OUTPUT AND DEVICE CODE.                             *
*                                                                      *
**OUTPUT- BUFFER OUTPUT.                                               *
*                                                                      *
**EXTERNAL SUBROUTINES-                                                *
*              1) PBTESTIORDY      TEST I/O READY                      *
*              2) PBWRITE          WRITE DATA/FUNCTION                 *
*                                                                      *
***********************************************************************?
PROCEDURE PBQUICKIO(DEVICE : INTEGER; BFR : B0BUFPTR);
VAR I : INTEGER;
    TEMP : B0OVERLAY; 
BEGIN 
  WITH JACT[DEVICE] DO                      _DEVICE CONTROLLER TABLE   ?
  IF PBTESTIORDY(DEVICE) &                  _TEST DEVICE READY         ?
     NOT JAINPROGFLG THEN                   _TEST DEVICE AVAILABLE     ?
  WITH BFR',TEMP DO 
  CASE DEVICE OF                            _DEVICE CODE               ?
_?
  TTY:                                      _CONSOLE                   ?
  BEGIN 
    IF BFFCD @ BFLCD THEN                   _MAKE SURE THERE IS DATA   ?
    FOR I := BFFCD TO BFLCD DO
    BEGIN 
      PBWRITE(TTYIO,BFDATAC[I],TTY);        _WRITE ONE CHARACTER       ?
      REPEAT UNTIL PBTESTIORDY(TTY);        _WAIT FOR COMPLETION       ?
    END;
    PBWRITE(TTYSTAT,TTYRITE,TTY);           _CLEAR TTY STATUS          ?
  END;
_?
  END; _CASE? 
END; _PBQUICKIO?
