ASMB,R,L,C
* 
* 
* 
**************************************************************
* (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:    DVG04 -- 2608A DEVICE SUBROUTINE 
*     SOURCE:  92840-18095
*     RELOC:   92840-16010
* 
* 
* 
**************************************************************
* 
      NAM DVG04,7  92840-16010 REV.1926 790507
* 
* 
      ENT DVG04 
      EXT .ENTR,EXEC,FLOAT,IFIX,RSTER 
      EXT GCBIM,DCTIM,DCTAD,GIC,EMULX 
      EXT $12LN,$12TP 
* 
A     EQU 0 
B     EQU 1 
* 
* 
* 
DVG04 NOP 
      JSB DCTIM     FILL UP GIC, LENGTH & DEVICE COMMAND
      LDA GIC       CHECK FOR ERROR CHECKING GIC
      CPA B177
      JMP ERRCK     GO CHECK FOR ERROR
      LDA DCTAD     SEE WHAT TYPE OF COMMAND THIS IS
      SSA,RSS       EMULATOR ?
      JMP DVG04,I   NO, MUST BE A NOP, DO NOTHING 
EMULT CMA,INA       YES, FIND WHICH ONE 
      ADA EM0 
      LDA A,I       PICK UP EMULATOR ADDRESS
      JMP A,I       GO TO EMULATOR
EXIT4 NOP 
      JMP DVG04,I 
* 
* 
ERRCK EQU * 
      CLA 
      STA $12TP 
      JSB RSTER 
      JMP EXIT4 
* 
* 
* 
      NOP 
* 
* 
RASTR JSB RSTER      GO AWAY
      JMP EXIT4 
XMIT  CLA           MAKE PICTURE VISIBLE
      JSB RSTER 
      JMP EXIT4 
* 
IDRT  LDB DF6       RETURN ID STRING
      LDA IDSTR 
      JMP RECRD 
IDSTR DEF *+1 
      ASC 3,2608A 
* 
PLTSP JSB GCBIM 
      DEF *+6 
      DEF .8
      DEF .1
      DEF DMPSP 
      DEF .8
      DEF .1
      LDB PDMSP 
      LDA .8
      CMA,INA 
      STA CNT 
LP1   LDA B,I 
      CPA .0
      RSS 
      JMP DFLT1 
      INB 
      ISZ CNT 
      JMP LP1 
      JMP DFLT
DFLT1 LDA PDMSP 
      JMP DFLT2 
DFLT  LDA $12LN     CALCULATE Y LIMIT 
      MPY .72 
      JSB FLOAT 
      DST DFDPS+7 
      LDA DFDPS 
DFLT2 LDB DF8 
      JMP RECRD 
DMPSP DEC 0.,0.,0.,0. 
PDMSP DEF DMPSP 
CNT   NOP 
.72   DEC 72
* 
* 
* 
* 
NPEN  LDA NPENS     RETURN # OF PENS
      LDB DF1 
      JMP RECRD 
* 
SZMM  LDA $12LN 
      JSB FLOAT 
      FMP .25.4 
      DST DSZMM+7 
      LDA DSZMM     RETURN PLATEN SIZE IN MILLI-METERS
      LDB DF8 
      JMP RECRD 
.25.4 DEC 25.4
* 
* 
MUPMM LDA DMUMM     RETURN MACHINE UNIT'S PER MILLIMETER
      LDB DF4 
      JMP RECRD 
* 
GB    NOP           SUBROUTINE TO RETURN VALUES TO AGL
      STA ADDR
      STB NUMB
      JSB GCBIM 
      DEF *+6 
      DEF .16 
      DEF .1
ADDR  NOP 
NUMB  NOP 
      DEF .2
      JMP GB,I
TCLR LDA DF2
      LDB DF1 
      JMP RECRD 
NPEN# LDA DF1 
      LDB DF1 
      JMP RECRD 
NCURS LDA DF0 
      LDB DF1 
      JMP RECRD 
LORGC LDA DF0 
      LDB DF1 
      JMP RECRD 
CSLNT LDA SLNCH 
      LDB DF4 
      JMP RECRD 
SLNCH DEF *+1 
      DEC 0.0,0.0 
DFCLP LDA DF0 
      LDB DF1 
      JMP RECRD 
DCHAR LDA CHRDF 
      LDB DF9 
      JMP RECRD 
CHRDF DEF *+1 
      DEC 5.0,7.0,125.0,175.0,0 
DLDIR LDA DRLBL 
      LDB DF3 
      JMP RECRD 
DRLBL DEF *+1 
      DEC 2,0.0 
RECRD JSB GB
      JMP EXIT4 
LORNG LDA PNT0. 
      LDB DF2 
      JMP RECRD 
* 
*     INQUIRE CHARACTER PLACEMENT 
* 
CPLMT LDA CINFO 
      LDB DF8 
      JMP RECRD 
* 
CINFO DEF *+1 
      DEC 0.28000,0.84000,0.11000,0.71000 
* 
B177  OCT 177 
$12TY NOP 
PNT0. DEF *+1 
      DEC 0.
.0    NOP 
.1    DEC 1 
.2    DEC 2 
.3    DEC 3 
.4    DEC 4 
.6    DEC 6 
.25   DEC 25
.8    DEC 8 
.9    DEC 9 
.16   DEC 16
EM0   DEF *         EMULATOR DEFINITIONS TABLE
      DEF RASTR     RESET DEVICE
      DEF XMIT      TRANSMIT DRAWING TO PRINTER 
      DEF IDRT      RETURN ID STRING
      DEF PLTSP     GET PLOT SPACE HARD CLIP
      DEF NPEN      RETURN NUMBER OF PENS 
      DEF SZMM      SIZE OF DEVICE IN mm. 
      DEF MUPMM     RETURN MACHINE UNITS/mm 
      DEF TCLR      TYPE OF CLEAR 
      DEF NPEN#     NUMBER OF PENS
      DEF NCURS     # OF CURSORS
      DEF LORGC     ABILITY TO SET LABEL ORIGIN 
      DEF CSLNT     MAXIMUM CHARACTER SLANT 
      DEF DFCLP     HARD CLIPPING CAPABILITY
      DEF DCHAR     DEFAULT CHARACTER SIZE
      DEF DLDIR     LABEL DIRECTION INQUIRY 
      DEF LORNG     LABEL ORIGIN RANGE REQUEST
      DEF CPLMT     INQUIRE CHARACTER PLACEMENT 
* 
* 
DFDPS DEF *+1 
      DEC 0.,0.,920.,720. 
DF8   DEF .8
DF9   DEF .9
DF3   DEF .3
DF4   DEF .4
DF6   DEF .6
NPENS DEF *+1 
      DEC 25
DF0   DEF .0
DF1   DEF .1
DF2   DEF .2
DSZMM DEF *+1 
      DEC 0.,0.,324.555555,254. 
DMUMM DEF *+1 
      DEC 2.8346457,2.8346457 
      ENT DCT04 
********************************************************* 
*     THIS IS THE DEVICE COMMAND TABLE FOR THE 2608A    * 
*     LINE PRINTER.                                     * 
*                                                       * 
********************************************************* 
      SPC 3 
DCT04 NOP 
      DEF D2608 
      DEC 0 
      DEC 0 
      DEC -1        RASTER
      DEC -2        TRANSMIT
      DEC -1
      DEC -3        RETURN ID STRING
      DEC -1
      DEC -4
      DEC -1
      DEC -1
      DEC -1
      DEC -1
      DEC 0 
      DEC -1
      DEC 0 
      DEC 0 
      DEC -1
      DEC 0 
      DEC -1
      DEC -1
      DEC -1
      DEC 0 
      DEC 0 
      DEC 0 
      DEC -1
      DEC -1
      DEC -1
      DEC -1
      DEC -5
      DEC 0 
      DEC -1
      DEC 0 
      DEC -1
      DEC -1
      DEC -1
      DEC 0 
      DEC 0 
      DEC -1
      DEC -1
      DEC 0 
      DEC -1
      DEC -6
      DEC 0 
      DEC 0 
      DEC 0 
      DEC -7
      DEC -8
      DEC -9
      DEC -10 
      DEC -11 
      DEC -12 
      DEC -13 
      DEC -17       INQUIRE CHARACTER PLACEMENT 
      DEC -14 
      DEC -15 
      DEC -16 
* 
* 
*     DEVICE ID CHECK OUT 
* 
* 
D2608 NOP 
      LDA .2608 
      JMP D2608,I 
.2608 DEC 2608
      END 
                                                                                                                                                                                    