From: HENRY::IN%"[email-masked]" 25-SEP-1986 12:58
To: [email-masked]

Here's an example of how I set up our LN03 printers here at the Hawaii
Institute of Geophysics, that might be of use to others. 

Do this once to create a SYSDEVCTL library....

$ LIBRARY/CREATE/TEXT SYS$LIBRARY:SYSDEVCTL SYSTEM$DISK:[SOURCE.FORMS]*.TXT
$ SET FILE/PROT=W:RE SYS$LIBRARY:SYSDEVCTL.TLB

Where the .TXT files could be almost anywhere.  All they contain is setup
device control strings.  For example, SYSTEM$DISK:[SOURCE.FORMS]PORTRAIT.TXT
contains just: "<CSI>?20 J<CSI>10m<CSI>1;66r". 

COURPORT.TXT contains:  <CSI>?20 J<CSI>16m<CSI>1;66r
COUR2PORT.TXT contains: <CSI>?20 J<CSI>11m<CSI>1;66r
ELITEPORT.TXT contains: <CSI>?20 J<CSI>12m<CSI>1;66r
LANDSCPE.TXT contains:  <CSI>?21 J<CSI>15m<CSI>1;66r
BIGLAND.TXT contains:   <CSI>?21 J<CSI>19m<CSI>1;66r
MEDLAND.TXT contains:   <CSI>?21 J<CSI>10m<CSI>1;66r
SMLAND.TXT contains:    <CSI>?21 J<CSI>15m<CSI>1;66r
LN03RESET.TXT contains: <CSI>!p
                                    
I put the <CSI> characters into the text files by using EDIT/EDT in Change
(screen) mode, hitting GOLD then 155 then GOLD SPECINS.  Note that you might
want to do something different than "<CSI>?20 J" depending upon how you
set margins in portrait & landscape modes.

Then, define your forms.  You only need to do this once, definitions carry over
on a reboot [in fact, I'd like to know how to clear old form names, does
START/QUEUE/MANAGER/NEW do it?] .... 

$ DEFINE/FORM-
        /SETUP=(PORTRAIT)-
        /STOCK=DEFAULT-
        /WIDTH=80-
        /DESCRIPTION="LN03 PORTRAIT FORMAT [LN03 DEFAULT]" -
         PORTRAIT 20
$ DEFINE/FORM-
        /SETUP=(COURPORT)-
        /STOCK=DEFAULT-
        /WIDTH=80-
        /DESCRIPTION="LN03 COURIER FONT, PORTRAIT FORMAT [LIKE DEFAULT]" -
         COURPORT 21
$ DEFINE/FORM-
        /SETUP=(COUR2PORT)-
        /STOCK=DEFAULT-
        /WIDTH=80-
        /DESCRIPTION="LN03 CONDENSED COURIER, PORTRAIT FORMAT" -
         COUR2PORT 22
$ DEFINE/FORM-
        /SETUP=(ELITEPORT)-
        /STOCK=DEFAULT-
        /WIDTH=80-
        /DESCRIPTION="LN03 ELITE FONT, POTRAIT FORMAT" -
         ELITEPORT 23
$ DEFINE/FORM-
        /SETUP=(LANDSCAPE)-
        /STOCK=DEFAULT-
        /MARGIN=(BOTTOM=0) -
        /DESCRIPTION="LN03 LANDSCAPE FORMAT" -
         LANDSCAPE 10
$ DEFINE/FORM-
        /SETUP=(SMLAND)-
        /STOCK=DEFAULT-
        /MARGIN=(BOTTOM=0) -
        /DESCRIPTION="LN03 LANDSCAPE FORMAT, SMALL COURIER FONT" -
         SMLAND 12
$ DEFINE/FORM-
        /SETUP=(MEDLAND)-
        /STOCK=DEFAULT-
        /MARGIN=(BOTTOM=0) -
        /DESCRIPTION="LN03 LANDSCAPE FORMAT, COURIER FONT" -
         MEDLAND 13
$ DEFINE/FORM-                  ! ***ONLY WORKS IF YOU HAVE AN LN03 PLUS***
        /SETUP=(BIGLAND)-
        /STOCK=DEFAULT-
        /MARGIN=(BOTTOM=0) -
        /DESCRIPTION="LN03 LANDSCAPE FORMAT, GOTHIC FONT" -
         BIGLAND 15

Note that the landscape modes have /MARGIN=(BOTTOM=0) in order to get more
lines per page, you might want to set things up differently.

In your SYS$MANAGER:SYSTARTUP.COM, to be executed every reboot .....

$ SET TERMINAL TXA3: -
        /PERMANENT-
        /device=ln03-
        /NOMODEM-
        /SPEED=4800-                    ! or whatever
        /NOWRAP-
        /NOBROADCAST-
        /HOSTSYNC-                      ! probably not required
        /PASTHRU-                       ! may be required for LN03+
        /NOECHO-                        ! optional, probably gratuitious
        /NOTYPE_AHEAD                   ! optional, turns off logins
$ SET DEVICE/SPOOLED=LASER3 TXA3        ! omit if you lock queue with ACL
$ INITIALIZE/QUEUE/START-
        /PROTECTION=(S:E,O:D,W:RW)-     ! everyone can see what's in queue
        /BASE=3-                        ! /BASE=4 is more common
        /ON=TXA3:-
        /DEFAULT=(NOBURST,FEED,NOFLAG,NOTRAILER)-       ! TeXers do /NOFEED
        /SEPARATE=(RESET=(PORTRAIT))-   ! RESET=(RESET,PORTRAIT) is better,
          LASER3                        !   ... but wastes a page

Note that this is under VMS4.3.  Under 4.4, you would also want to set up the
queue with /FORM_DEFAULT=PORTRAIT, and it should be reasonable to do
/DEFAULT=(NOBURST,FEED,FLAG,NOTRAILER) to include an 80-column flag page. 

Bob Cunningham
[email-masked]