ASMB,R,L
* 
* 
* 
**************************************************************
* (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
* RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
* PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
* OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
**************************************************************
* 
* 
* 
*      NAME:    DVZ12 -- 2608A GRAPHICS DRIVER
*      SOURCE:  92840-18107 
*      RELOC:   92840-16012 
* 
* 
* 
************************************************************* 
* 
      NAM DVZ12    92840-16012 REV.1913 790110
      ENT IZ12,CZ12 
      EXT $LIST,$12BF,$12CT,$12B1,$12B2 
A     EQU 0 
B     EQU 1 
* 
* 
*                   THIS IS THE 2608A GRAPHICS DUMMY DRIVER 
*                   IT'S PURPOSE IS TO PASS THE REQUIRED DATA 
*                   FROM THE AGL DEVICE DEPENDANT DRIVER TO THE 
*                   SYMBOL PLOTING PROGRAM.  THIS IS DONE THROUGH 
*                   A EXTENDED EQT AND THE SCHEDULEING OF A 
*                   LABELING PROGRAM. 
* 
IZ12  NOP 
      LDA EQT6,I
      AND B3777 
      CPA B2203 
      NOP 
      NOP 
      JMP OK
DOWN  LDA D3        PUT DEVICE DOWN 
      JMP IZ12,I    EXTENDED EQT NO LARGE ENOUGH
OK    LDA TIMEO     SET TIME OUT
      STA EQT15,I 
      LDA EQT4,I    TELL SYSTEM THAT DRIVER WILL
      IOR BIT12     HANDLE IT'S OWN TIME OUT'S
      STA EQT4,I
      LDA EQT6,I    CHECK TO SEE WHAT THE COMMAND 
      AND B3777     MASK OUT BUFFER FLAG
      STA EQT6,I    SAVE THE MASK 
      AND B77       IS AND PROCESS IT 
      CPA D2        IS IT A WRITE REQUEST 
      JMP WRITE     YES, GO DO YOUR THING 
      CPA D3        IS IT A CONTROL REQUEST?
      JMP CNTL      YES, GO CHECK IT. 
BADCL CLA,INA       NEITHER, TELL SYSTEM BAD CALL 
      JSB IZ12,I
CNTL  LDA EQT6,I    LET'S SEE IF THIS IS A CONTROL
      CPA B2403     CHECK FOR CONTROL REQUEST'S 
      JMP IMEDT     DUMMY CONTROL REQUEST 
      CPA B3003     SET LANGUAGE COMMAND? 
      JMP LANGE     YES,  SET LANGUAGE
      CPA D3        RESET COMMAND?
      JMP RSTFL     GO RESET FLAGS
      LDA D2        TELL SYSTEM NO SUCH CALL
      JMP IZ12,I
LANGE LDA EQT7,I    PICK UP LANGUAGE CODE 
      STA EQT14,I   SAVE FOR FUTURE REFERENCE 
      JMP IMEDT 
RSTFL LDB PNT1      RESET THE BUFFER FLAGS
      CLA 
      STA B,I 
      INB 
      STA B,I 
      STA EQT14,I 
      JMP IMEDT 
WRITE LDA $12BF     LOOK AT READY FLAG
      SSA 
      JMP INITW 
      JSB SETBF     SET UP BUFFER 
      JMP IMEDT     FLAG COMPLETION 
SETBF NOP           ENTRY FOR BUFFER SETUP
      LDA BUFP      MAKE SURE POINTER IS DIRECT 
WTLP  SSA,RSS 
      JMP OKLP
      AND B7777 
      LDA A,I 
      JMP WTLP
OKLP  STA BUFP
      LDA PNTR
WTLP2 SSA,RSS 
      JMP OKLP2 
      AND B7777 
      LDA A,I 
      JMP WTLP2 
OKLP2 STA PNTR
      LDA EQT6,I    LOOK AT WRITE COMMAND 
      AND M1077     ALL WRITE EXCEPT WITH BIT 9 THE SAME
      CPA D2        CHECK FOR VALID WRITE 
      JMP GOOD1     GO WRITE NORMAL 
      CLA,INA       FLAG BAD WRITE REQUEST
      JMP IZ12,I
GOOD1 LDA EQT8,I    PICK UP LENGTH
      SSA,RSS       CHECK FOR BYTE COUNT
      JMP WORD      THIS IS A WORD COUNT
      CMA,INA       MAKE BYTE COUNT POSITIVE
      SLA           AND EVEN
      INA 
      ARS           MAKE INTO A WORD COUNT
WORD  ADA MD66      CHECK FOR REQUEST TO LONG 
      SSA,RSS 
      CLA           MAKE COUNT 132
      ADA D66 
      STA CNT 
      LDA EQT7,I
      LDB BUFP
      MVW CNT 
      LDA CNT 
      ALS 
      STA $12CT 
      LDB BUFP      SET LANGUAGE CODE 
      ADB D13 
      LDA EQT14,I 
      STA EQT14,I 
      LDA BIT15 
      IOR $12BF 
      STA $12BF 
      SLA 
      JMP RTN 
      INA 
      STA $12BF 
TRANS JSB $LIST     SCHEDULE THE SYMBOL PROGRAM 
      OCT 701 
      DEF RTN 
      DEF SYMBR 
      DEF PNTR
      DEF EQTAD 
      DEF PNT1
      DEF D0
      DEF D0
RTN   LDB CNT 
      JMP SETBF,I   EXIT SUBROUTINE 
INITW LDA BIT15 
      STA EQT12,I 
      CLA 
      JMP IZ12,I
IMEDT LDA D4        SEND BACK IMMEDIATE COMPLETION
      JMP IZ12,I
      SKP 
CZ12  NOP 
      LDA TIMEO     RESET TIME OUT VALUE
      STA EQT15,I 
      LDA EQT12,I   CHECK TO SEE IF 
      SSA,RSS       THERE IS MORE DATA TO GO TO SYMBR 
      JMP C1        NO MORE DATA WAITING
      LDA $12BF     DATA WAITING SEE IF IT CAN BE OUTPUT
      SSA 
      JMP CKCOM     BUFFER STILL BUSY 
      JSB SETBF     SET UP BUFFER 
      CLA           CLEAR BUFFER FLAG 
      STA EQT12,I 
      JMP CXIT+1    FLAG COMPLETION 
C1    LDA EQT12,I 
      SLA           CHECK FOR COMPLETION WAIT 
      JMP CKCOM     CHECK FOR STILL SCHEDULED 
      CLA 
      STA EQT12,I   CLEAR CHECK FLAG
      JMP CXIT+1    FLAG COMPLETION 
CXIT  ISZ CZ12
      LDB CNT 
      JMP CZ12,I    RETURN FROM TIME-OUT ENTRY
CKCOM NOP 
      JMP CXIT      CONTINUE
      SKP 
MD1   DEC -1
B2203 OCT 2203
B7777 OCT 77777 
RDFLG DEC -1
BIT12 OCT 10000 
BIT15 OCT 100000
D1    DEC 1 
D2    DEC 2 
D3    DEC 3 
D4    DEC 4 
D6    DEC 6 
D13   DEC 13
B2303 OCT 2303
B2403 OCT 2403
B3003 OCT 3003
B3777 OCT 37777 
B703  OCT 703 
B1002 OCT 1002
CNT   NOP 
MD15  DEC -15 
D15   DEC 15
B77   OCT 77
TIMEO DEC -50 
MD66  DEC -66 
D66   DEC 66
M1077 OCT 1077
BUFP  DEF $12B2 
SYMBR ASC 3,SYMBR 
D0    DEC 0 
PNTR  DEF $12CT 
PNT1  DEF $12BF 
EQTAD NOP 
CNT3  NOP 
      SKP 
EQT1  EQU 1660B 
EQT2  EQU EQT1+1
EQT3  EQU EQT2+1
EQT4  EQU EQT3+1
EQT5  EQU EQT4+1
EQT6  EQU EQT5+1
EQT7  EQU EQT6+1
EQT8  EQU EQT7+1
EQT9  EQU EQT8+1
EQT10 EQU EQT9+1
EQT11 EQU EQT10+1 
EQT12 EQU 1771B 
EQT13 EQU EQT12+1 
EQT14 EQU EQT13+1 
EQT15 EQU EQT14+1 
      END 
    