The changes made to DVItoVDU (known at RMCS as version 3.3) are listed below: 


1. FONT FILES
~~~~~~~~~~~~~
DVITOVDU will now attempt to load the font in PK format first, and if that is
unsuccessful try the PXL format. Reversion to the dummy font and handling of
Postscript fonts is unaffected. 

The two different font formats may be located in different areas, defined by
the (new) command qualifiers 

    /PK_FONT_DIRECTORY=directory_specification
    /PXL_FONT_DIRECTORY=directory_specification

The search strategy of the original DVITOVDU V3.0 is retained, i.e.   the
following are all accepted: 

    /PK_FONT_DIRECTORY=DISK$USER3:[TEX.PK]	    (CMR10.300PK etc)
    /PK_FONT_DIRECTORY=DISK$USER3:[TEX.PK.]	    ([300]CMR10.PK etc)
    /PXL_FONT_DIRECTORY=DISK$USER3:[TEX.PXL]        (CMR10.1500PXL etc)
    /PXL_FONT_DIRECTORY=DISK$USER3:[TEX.PXL.]       ([1500]CMR10.PXL etc)

In addition, the font directory qualifiers may be equated to a logical
name, which may have multiple values (a ``search list'', in DEC's curious
terminilogy).  Such logical names will be fully translated when the program
is invoked, to determine whether font directory structures are flat or
rooted; this only expands the first of any multiple equivalence names.  The
untranslated logical will be used when the font files themselves are
opened, which permits the use of parallel directory structures for
canonical TeX fonts and proprietary ones, for example.  However, note that
no check is mode to ensure that all logical names expand to the same format
of directory structure: the program will blindly use whatever structure
(and hence naming scheme) it determines from the translation of the first
logical name equivalence string.

2. DUMMY_FONT
~~~~~~~~~~~~~
To fit in with the above, the /DUMMY_FONT qualifier specifies only the TeX
font name (\magstep 0 assumed). This font must be present at \magstep 0 in
either PK or PXL format. At RMCS, we use 

    /DUMMY_FONT=cmr10



3. VDU Support
~~~~~~~~~~~~~~
Support for the following VDUs has been added:

    /VDU=BBC       -   BBC model B microcomputer running Termulator
    /VDU=SG480	   -   VT100 with Selanar retro-graphics
    /VDU=Tektronix -   Tektronix 40xx
    /VDU=VTTEK	   -   VT200/300 series in tektronix mode --- much
		       faster than ReGIS (what isn't ?)	

NOTE:	the modules providing support for /VDU=BBC and /VDU=Tektronix were
	supplied by Phil Taylor <CHAA006@UK.AC.RHBNC.VAXA>.



4. ORIGIN Specification
~~~~~~~~~~~~~~~~~~~~~~~
The Stanford TeX project decreed that the reference origin of a TeX document
should be 1 inch below and to the right of the top left hand corner of the 
page.  This is not universally popular (especially in Egham), so 2 new 
qualifiers have been introduced:

    /XORIGIN=dimension_value (default: 1in)
    /YORIGIN=dimension_value (default: 1in)

NOTE:	these qualifiers were added at the suggestion of Phil Taylor 
	<CHAA006@UK.AC.RHBNC.VAXA>.



5. Code Changes
~~~~~~~~~~~~~~~
Unfortunately, we have a different MODULA-2 Compiler (Logitech V4.1-0) which
doesn't support edition 3 of Wirth's book, but does support the VAX/VMS V4
runtime library. The changes made are: 
  
    1.  put back in all of the EXPORT QUALIFIED statements (if your compiler 
	doesn't like them, comment them out but DON'T delete them).  

    2.	all occurrences of MAX(INTEGER) were replaced with a symbolic
        constant with the value  2147483647. This and other constants are
        defined in the new module  SystemConstants.DEF

    3.  change DCLINTERFACE to

	a. use SYS$TRNLNM rather than SYS$TRNLOG.
	b. use the VMS V4 version of CLI$GET_VALUE.
	c. use the MODULA runtime library function Parse (in FileSystem)
	   to parse the DVI file name.

    4.  change ScreenIO to use the VMS V4 version of SYS$ASSIGN. `channel'
        changed from type CARDINAL to SHORTWORD.

    5.  modify the structure of RECORD fontinfo (defined in
	DVIReader.DEF) to contain 3 new fields

	a.  the type of font (PK, PXL, Postscript, Unknown).
	b.  the procedure used to get glyph bitmaps.
	c.  the procedure to use to fill its pixel table.


    6.  Make code changes to support the enhancements. The modules
	materially affected are:

	a.			      DVItoVDU.MOD
	b.  DCLInterface.DEF	      DCLInterface.MOD
	c.  DVIReader.DEF	      DVIReader.MOD
	d.			      FontReader.MOD
	e.			      VDUInterface.MOD
        f.			      ScreenIO.MOD
	g.  SG480VDU.DEF	      SG480VDU.MOD
	h.  VTTekVDU.DEF	      VTTekVDU.MOD

        Plus one new module called SystemConstants.DEF

	In addition, all of the other .DEF files are changed to EXPORT
	the necessary items. 
