|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T v
Length: 2886 (0xb46)
Types: TextFile
Names: »vis550vdu.mod«
└─⟦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«
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.