DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T v

⟦86f6290d7⟧ TextFile

    Length: 2886 (0xb46)
    Types: TextFile
    Names: »vis550vdu.mod«

Derivation

└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
    └─⟦this⟧ »./DVIware/crt-viewers/others/dvitovdu/src/vis550vdu.mod« 
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z« 
        └─⟦ca79c7339⟧ 
            └─⟦this⟧ »DVIware/crt-viewers/others/dvitovdu/src/vis550vdu.mod« 

TextFile

IMPLEMENTATION MODULE vis550vdu;

(* Author:         Andrew Trevorrow
   Implementation: Modula-2 under VAX/UNIX 4.2 BSD
   Date Started:   June, 1986

   Description:
   Implements the InitVIS550 procedure that initializes the generic VDU
   routines and parameters used in DVItoVDU.
   The VIS550 VDU has an Alphanumeric mode in which it behaves like a VT100, but
   it can also emulate a Tektronix 4010 terminal in which the screen is
   1024 pixels wide by 780 pixels high.
   The VIS550 is, therefore, almost exactly the same as the VT640 VDU,
   but can do rectangular draw and fill like the VIS500, and terse mode
   characters need to be dragged down.
*)

FROM vduinterface IMPORT
   (* PROCEDURE variables: *)
   StartText,
   MoveToTextLine,
   ClearTextLine,
   ClearScreen,
   StartGraphics,
   LoadFont,
   ShowChar,
   ShowRectangle,
   ResetVDU,
   (* INTEGER variables: *)
   DVIstatusl,
   windowstatusl,
   messagel,
   commandl,
   bottoml,
   windowv,
   windowh,
   windowht,
   windowwd;

FROM tek4010vdu IMPORT
   TEK4010StartText,
   TEK4010StartGraphics,
   TEK4010LoadFont;

FROM vt640vdu IMPORT
   VT640MoveToTextLine,
   VT640ClearTextLine,
   VT640ClearScreen;

FROM vis500vdu IMPORT
   VIS500ShowChar,
   VIS500ShowRectangle,
   VIS500ResetVDU;

FROM screenio IMPORT
   Write;

CONST
   CAN = 30C;
   ESC = 33C;
   GS  = 35C;

(******************************************************************************)

PROCEDURE InitVIS550;

(* The dialog region will be the top 4 text lines in VT100 mode:
      Line 1 = DVI status line,
      Line 2 = window status line,
      Line 3 = message line,
      Line 4 = command line.
   The window region will be text lines 5 to 33 in VT100 mode.
*)

BEGIN
DVIstatusl    := 1;      (* DVItoVDU assumes top text line = 1 *)
windowstatusl := 2;
messagel      := 3;
commandl      := 4;
bottoml       := 33;     (* also number of text lines on screen *)
(* The above values assume the VIS550 is in VT100 mode;
   the following values assume it is emulating a Tektronix 4010.
   Note that windowv must be given a value using DVItoVDU's coordinate scheme
   where top left pixel is (0,0).
*)
windowv  := 92;          (* approx. height in TEK4010 pixels of 4 text lines
                            i.e. ~ 4 * 780/34 *)
windowh  := 0;
windowht := 780-windowv;
windowwd := 1024;

MoveToTextLine := VT640MoveToTextLine;
ClearTextLine  := VT640ClearTextLine;
ClearScreen    := VT640ClearScreen;
StartText      := TEK4010StartText;
StartGraphics  := TEK4010StartGraphics;
LoadFont       := TEK4010LoadFont;
ShowChar       := VIS500ShowChar;
ShowRectangle  := VIS500ShowRectangle;
ResetVDU       := VIS500ResetVDU;

Write(GS);
Write(ESC); Write('@');  (* solid fill for rectangular draw and fill *)
Write(CAN);
END InitVIS550;

(******************************************************************************)

BEGIN
END vis550vdu.