ASMB,R,F,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:     DCT05 -- 7221A/B/S DEVICE COMMAND TABLE     *
*      SOURCE:   92840-18093                                 *
*      RELOC:    92840-16011                                 *
*                                                            *
*                                                            *
**************************************************************
* 
      NAM DCT05,7  92840-16011 REV.1940 790720
      ENT DCT05 
* 
*     THIS IS THE DEVICE COMMAND TABLE FOR THE 7221 PLOTTER 
* 
**************************************************************
* 
*     COMMAND LINK TABLE (CLTBL)
* 
* 
      SPC 3 
DCT05 NOP 
      DEF INIT      0 THIS IS TO EMULATE THE NAME OF DEVICE 
      DEF RESET     1 RESET DEVICE/EXCEPT P1,P2 
      DEF DFP12     2 DEFAULT P1/P2 
      DEC -9        3 FORM FEED/PAGE ADVANCE (CALLS HOME PEN) 
      DEC -1        4 TRANSMIT I/O BUFFER 
      DEC -2        5 HOME PEN
      DEF GETID     6 GET ID
      NOP           7 ????? 
      DEF GTG12     8 GET G1,G2 IN P.U. 
      DEC -3        9 GET CHARACTER SPACING/WIDTH 
      DEF OUTCP     10 OUTPUT CURRENT PEN POSITION IN PU.]
      DEF OUTCP     11 OUTPUT CURRENT CURSOR POSITION IN PU.
      DEF DIGIT     12 DIGITIZE 
      NOP           13 LABEL ORIGIN 
      NOP           14 SET LABEL DIRECTION
      DEF CHRSL     15 SET CHARACTER SLANT ON 
      DEF CHRSO     16 CHARACTER SLANT OFF
      DEF CHRSI     17 CHARACTER SIZE 
      NOP           18 SET RELOCATABLE ORIGIN 
      NOP           19 SET RELOCATABLE ANGLE
      NOP           20 SET RELOCATABLE SCALING
      NOP           21 SET ORIGIN = CURSOR
      NOP           22 SET ORIGIN = PEN POSITION
      NOP           23 DRAW TO CURSOR 
      DEF CHRST     24 SELECT CHARACTER SET 
      DEF PEN0      25 SELECT PEN 0 (PUT PEN AWAY)
      NOP           26 ERASE PEN
      NOP           27 COMPLEMENT PEN 
      DEF PENN      28 SELECT PEN (1-N) 
      DEF GETPN     29 GET # OF PENS
      NOP           30 DEFINE LINE TYPE 
      DEF LNTY0     31 SELECT PREDEFINED LINETYPE WITH DEFAULT LENGTH 
      DEF LNTYP     32 SELECT PREDEFINED LINETYPE, LENGTH 
      DEF PENUP     33 PEN-UP 
      DEC -7        34 PEN-DOWN ROUTINE 
      DEC -4        35 PLOT ABSOLUTE
      NOP           36 PLOT RELOCATABLE 
      NOP           37 PLOT INCREMENTAL 
      DEC -5        38 SHORT LABEL
      DEC -5        39 LONG LABEL 
      NOP           40 STOP LONG LABEL MODE 
      DEC -6        41 CONVERT FLOATING TO ASCII AND OUTPUT 
      DEF GETDS     42 GET DISPLAY SIZE 
      DEF MCUR      43 POSITION CURSOR ABSOLUTE 
      NOP           44 POSITION CURSOR RELATIVE 
      DEF SG1G2     45 SET G1,G2
      DEF GETMU     46 GET MU/MM
      DEF GETZE     47 GET DEVICE CLEAR CHARACTERISTICS 
      DEF GETPN     48 GET # OF DIFFERENT PENS
      DEF GETZE     49 GET # OF DIFFERENT CURSORS 
      DEF GETZE     50 GET LORG CAPABILITY
      DEF GETSL     51 GET MAX SLANT ANGLE
      DEF GET1      52 GET HARD CLIP CAPABILITY 
      DEC -8        53 INQUIRE CHARACTER PLACEMENT
      DEF GETCS     54 GET CHARACTER SIZE 
      DEF GETLD     55 GET LABEL DIRECTION
      DEF GETLO     56 GET LABEL ORIGIN RANGE 
* 
      HED ASCII COMMAND STRINGS 
* 
*     ASCII COMMAND STRINGS FOR DEVICE COMMAND TABLE FOR 7221 
* 
*     FORMAT:  WORD1 =  NUMBER OF BYTES (N) 
*                   -(N) INDICATES A WRITE TO DEVICE
*                   +(N) INDICATES A READ AFTER WRITE 
* 
* 
*              WORD2 =  INDICATES TYPE OF COMMAND 
*                     -1  INDICATES TRUE R/W TYPE (NO SPECIAL)
*                         CONDITIONS TO WORRY ABOUT.
* 
*                     >1  INDICATES NEED OF SOME SORT OF PARAMETER
*                         CONVERSION. 
* 
*                     =0  INDICATES A LITERAL STRING IS RETURN
*                         TO THE CALLING ROUTINE. 
* 
* 
* 
*              WORD3 =  FIRST WORD OF COMMAND STRING
*                       OR IF READ MODE THEN WORD 3 IS THE READ 
*                       INSTRUCTION NUMBER, THEN WORD 4 IS THE
*                       FIRST COMMAND STRING INSTRUCTION. 
* 
* 
      SPC 3 
INIT  NOP           THIS IS USED FOR INIT CYCLE NEED TO RETURN DEVICE NAME
      LDA .7221     THE DEVICE NAME 
      JMP INIT,I    GO HOME 
.7221 DEC 7221
* 
* 
* 
RESET DEC +36       RESET GIC: SETS UP HANDSHAKING&DEFAULTS 
      DEC 1         NEED SOME SPECIAL HANDLING
      DEC 7         USED TO DENOTE OUTPUT OF THE GRAPHIC LIMIT COMMAND
      OCT 1433         TURN OFF TEXT MODE IF ONE (ETX, ESC) 
*                   HANDSHAKE MODE: ESC.M10;17;10;13: 
      OCT 27115     SET UP HANDSHAKE MODE (.,M) 
      OCT 30460     WITH 10 MILLISECOND DELAY (1,0) 
      OCT 35461          DC1 CHARACTER TRIGGER( ,1) 
      OCT 33473          (7,SEMICOLON)
      OCT 30073          NO ECHO BYPASS CHARACTER (0,SEMICOLON) 
      OCT 030463         CR TERMINATOR FOR PLOTTER(1,3) 
      OCT 035033         :,ESC START OF CLEAR ERRORS ESC .E 
      OCT 027105         .E CLEAR ERRORS
* 
      OCT 15456     CLEAR OUT OUTPUT REQUESTS (ESC .J ) 
      OCT 045176    J TILDE 
      OCT 056143    BACK SLASH, ETX - DEFAULT LABEL TERMINATOR
      OCT 015456    ESC . - DEFAULT INDEPENDENT HANDSHAKE 
      OCT 044072    H : 
      OCT 077126    TILDE V - DEFAULT PEN VELOCITY
      OCT 077121    TILDE Q - DEFAULT DASH LINES SOLID
      OCT 077057    TILDE SLASH - DEFAULT SLANT 
      OCT 073572    LOWER CASE W, LOWER CASE Z - DEFAULT ROTATION,TERMINATOR
* 
* 
DFP12 DEC -9        SET-UP DEFAULT P1,P2
      DEC 13        YES, SPECIAL HANDLING UPDATE GLOBALS
      OCT 77127     (TILDE,W)          SET-UP DEFAULT P1 AN P2  
      OCT 077123    (TILDE S)          SET UP DEFAULT SCALING 
      OCT 067107    (SMALL N,G)        UPPER-RIGHT VALUE (15200,10000)  
      OCT 041134    (B,BACK SLASH)  
      OCT 050175    (P,TERM)           END OF CMD SEQ   
* 
* 
* 
GETID DEC 6         GET THE GRAPHIC DEVICE ID 
      DEC 0         JUST RETURN THE LITERAL STRING FOLLOWING
      DEC 0         NOTHING SPECIAL TO DO 
      ASC 3,7221A   RETURN THE ID 
* 
* 
* 
GTG12 OCT 340       GET G1, G2 IN PLOTTER UNITS 
      DEC +2        NEED TO OFFSET G2 BY G1 AND PUT ZEROES IN G1
      DEC +7        READ GX1,GY1,GX2,GY2  (ESC.G) 
* 
* 
* 
OUTCP OCT 340       OUTPUT THE CURRENT POINT
      DEC +3        NEED TO OFFSET POINT BY G1 AMOUNT 
      DEC +3        OUTPUT THE CURRENT POINT (ESC.C)
* 
* 
* 
DIGIT OCT 340       DIGITIZE
      DEC +4        DIGIT NEEDS ONLY LOAD IT INTO THE GICBM 
      DEC +4      (ESC . D) 
* 
* 
* 
CHRSL DEC -2        LABEL SLANT ON WITH SPECIFIED ANGLE 
      DEC +5        NEED TO CONVERT RADIANS TO MBA PARAMETERS 
      ASC 1,~/      LABEL SLANT ON PREAMBLE (TILDE,BACKSLASH) 
* 
* 
* 
CHRSO DEC -2        LABEL SLANT OFF 
      DEC -1        NO SPECIAL HANDLING 
      ASC 1,~/      DEFAULT SLANT BACK TO ZERO  (TILDE,BACKSLASH) 
* 
* 
* 
CHRSI DEC -2        SET CHARACTER SIZE
      DEC +6        NEED TO CONVERT X,Y TO MBP FORMAT 
      ASC 1,~%        LABEL SIZE PREAMBLE  (TILDE,PERCENT SIGN) 
* 
* 
* 
CHRST DEC -2        SET CHARACTER SETS
      DEC +7        NEED TO CONVERT X,Y TO MBP FORMAT 
      ASC 1,~P      CHARACTER SET SELECT PREAMBLE  (TILDE,P)
* 
* 
PEN0  DEC -1        PUT THE PEN AWAY
      DEC -1        NO SPECIAL HANDLING 
      ASC 1,v       SELECT PEN 0 (LOWER CASE V) 
* 
* 
* 
PENN  DEC -1        PICK PEN N
      DEC 8         NEED TO CONVERT TO SBN
      ASC 1,v       PREAMBLE FOR PEN SELECT (LOWER CASE V)
* 
* 
* 
GETPN DEC 2         RETURN THE NUMBER OF PENS 
      DEC 0 
      DEC 0 
      OCT 4         THERE ARE FOUR PENS ON THE 7221.
* 
* 
* 
LNTY0 DEC -2         SELECT LINE TYPE 
      DEC 9         NEED TO PICK SEND THE PROPER LINE TYPE
      ASC 1,~Q      PREAMBLE FOR FIX DASH LINE TYPES (TILDE,Q)
* 
* 
* 
LNTYP DEC -2        SELECT LINE TYPE
      DEC 10        NEED TO PICK THE PROPER LINE TYPE AND LENGTH
      ASC 1,~Q      PREAMBLE FOR FIX DASH LINE TYPE  (TILDE,Q)
* 
* 
* 
PENUP DEC -1        PEN-UP
      DEC 14        NEED TO SET LOGICAL PEN POSITION
      ASC 1,p       MOVE TO THE NEXT POINT
* 
* 
* 
* 
* 
* 
*ETX  DEC -1        STOP LONG LABEL MODE
*     DEC -1        NO SPECIAL HANDLING 
*     OCT 1400      (ETX) 
* 
* 
* 
GETDS DEC 16        RETURN THE DISPLAY SIZE IN MM 
      DEC 0         LITERAL RETURN TO COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      DEC 0.0       LOWER LEFT IN MM (XLL)
      DEC 0.0                        (YLL)
      DEC 400.      X HEIGHT IN MM(FLOATING POINT)
      DEC 280.      Y HEIGHT IN MM (FLOATING POINT) 
* 
* 
* 
MCUR  DEC -1        MOVE CURSOR 
      DEC 11        NEED TO CONVERT X,Y TO MBP
      ASC 1,p       ABSOLUTE MOVE (LOWER CASE P)
* 
* 
* 
* 
SG1G2 DEC -2        SET G1,G2 
      DEC +12       NEED TO CONVERT X,Y IN MBP
      ASC 1,~W      SET GRAPHIC LIMITS  (TILDE,W) 
* 
* 
* 
GETMU DEC +8        RETURN THE MU/MM
      DEC 0         LITERAL RETURN TO COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      DEC 40.       40 MU/MM IN THE X DIRECTION 
      DEC 40.       40 MU/MM IN THE Y DIRECTION 
* 
* 
* 
GETZE DEC +2        RETURN ZERO TO VARIOUS QUERIES. 
      DEC 0         LITERAL RETURN TO COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      OCT 0         RETURN VALUE OF ZERO(IMPLIES NO CAPABILITIES) 
* 
* 
* 
GET1  DEC 2         RETURN ONE TO VARIOUS QUERIES.
      DEC 0         LITERAL RETURN TO THE COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      DEC 1         RETURN VALUE OF ONE(IMPLIES YES CAPABILITIES) 
* 
* 
* 
GETSL DEC +8        RETURN THE CHARACTER SLANT MAXIMUMS 
      DEC 0         LITERAL RETURN TO COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      DEC 1.5060    THE POSITIVE AMOUNT OF SLANT FROM VERTICAL
      DEC -1.5060   THE NEGATIVE AMOUNT OF SLANT FROM VERTICAL
* 
* 
* 
GETFN DEC +10   RETURN THE FILE NAME (NOP)
      DEC 0         LITERAL RETURN TO COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
      OCT 0 
* 
* 
* 
GETCS DEC 9         MIN/MAX CHARACTER SIZES IN MU 
      DEC 0         LITERAL RETURN TO THE COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      DEC 1.0       X MIN IN MACHINE UNITS
      DEC 1.0       Y MIN IN MACHINE UNITS
      DEC 16000.0   X MAXIMUM IN MACHINE UNITS
      DEC 16000.0   Y MAXIMUM IN MACHINE UNITS
      OCT 0         0=NO NEGATIVE PARAMETERS ALLOWED LIKE 7245A 
* 
* 
* 
GETLD DEC 4         LABEL DIRECTION RANGE 
      DEC 0         LITERAL RETURN TO THE COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      OCT 2         ALL ANGLES ARE ACCEPTED 
      OCT 0         ALL ANGLES ARE ALLOW
* 
* 
* 
GETLO DEC 4         LABEL ORIGIN RANGE
      DEC 0         LITERAL RETURN TO THE COMPUTER
      DEC 0         NOTHING SPECIAL TO DO 
      OCT 0         NO LORG RANGE 
      OCT 0         ONLY TYPEWRITER MODE AVAILABLE
* 
* 
* 
* 
      END 
                                                                                                                                                                                                                                                  