home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 06 / hitech / vt52.mod < prev   
Encoding:
Modula Implementation  |  1988-10-03  |  2.8 KB  |  121 lines

  1. IMPLEMENTATION MODULE VT52;
  2. (*-------------------------------------------------------------------*
  3.  * Der ATARI emuliert über das BIOS das Terminal VT-52 von Digital   *
  4.  * Equipment Corporation.                                            *
  5.  * Dieses Modul umfa₧t Prozeduren zur Ansteuerung dieses Terminals.  *
  6.  * Bei der Anwendung dieses Moduls sollte der Mauszeiger abge-       *
  7.  * schaltet werden.                                                  *
  8.  * Zur Löschen des Bildschirms sollte zuerst die Prozedur ClearHome  *
  9.  * aufgerufen werden, dann darf das anwendende Programm auch *.PRG   *
  10.  * hei₧en.                                                           *
  11.  *-------------------------------------------------------------------*)
  12.  
  13.  
  14. FROM SYSTEM   IMPORT BYTE;
  15. FROM Terminal IMPORT Read, Write;
  16. FROM ASCII    IMPORT ESC;
  17.  
  18. PROCEDURE CursorDownScroll;
  19.   BEGIN Write (12C)
  20.   END CursorDownScroll;
  21.  
  22. PROCEDURE CursorUp;
  23.   BEGIN Write (ESC); Write('A')
  24.   END CursorUp;
  25.  
  26. PROCEDURE CursorDown;
  27.   BEGIN Write (ESC); Write ( 'B')
  28.   END CursorDown;
  29.  
  30. PROCEDURE CursorRight;
  31.   BEGIN Write (ESC); Write ( 'C')
  32.   END CursorRight;
  33.  
  34. PROCEDURE CursorLeft;
  35.   BEGIN Write (ESC); Write ( 'D')
  36.   END CursorLeft;
  37.  
  38. PROCEDURE ClearHome;
  39.   BEGIN Write (ESC); Write ( 'E')
  40.   END ClearHome;
  41.  
  42. PROCEDURE CursorHome;
  43.   BEGIN Write (ESC); Write ( 'H')
  44.   END CursorHome;
  45.  
  46. PROCEDURE CursorUpScroll;
  47.   BEGIN Write (ESC); Write ( 'I')
  48.   END CursorUpScroll;
  49.  
  50. PROCEDURE EndOfScreen;
  51.   BEGIN Write (ESC); Write ( 'J')
  52.   END EndOfScreen;
  53.  
  54. PROCEDURE EndOfLine;
  55.   BEGIN Write (ESC); Write ( 'K')
  56.   END EndOfLine;
  57.  
  58. PROCEDURE InsertLine;
  59.   BEGIN Write (ESC); Write ( 'L')
  60.   END InsertLine;
  61.  
  62. PROCEDURE DeleteLine;
  63.   BEGIN Write (ESC); Write ( 'M')
  64.   END DeleteLine;
  65.  
  66. PROCEDURE GotoXY (x, y: CARDINAL);
  67. BEGIN 
  68.    IF x < 0 THEN x:=0
  69.    ELSIF x > 79 THEN x:=79 END;
  70.    IF y < 0 THEN y:=0
  71.    ELSIF y > 24 THEN y:=24 END;
  72.    Write (ESC); Write ( 'Y');
  73.    Write ( CHR(y + 32)); Write ( CHR(x + 32))
  74. END GotoXY;
  75.  
  76. PROCEDURE StartOfScreen;
  77.   BEGIN Write (ESC); Write ( 'd');
  78.   END StartOfScreen;
  79.  
  80. PROCEDURE CursorOn;
  81.   BEGIN Write (ESC); Write ( 'e')
  82.   END CursorOn;
  83.  
  84. PROCEDURE CursorOff;
  85.   BEGIN Write (ESC); Write ( 'f')
  86.   END CursorOff;
  87.  
  88. PROCEDURE SaveCursor;
  89.   BEGIN Write (ESC); Write ( 'j')
  90.   END SaveCursor;
  91.  
  92. PROCEDURE RestoreCursor;
  93.   BEGIN Write (ESC); Write ( 'k')
  94.   END RestoreCursor;
  95.  
  96. PROCEDURE ClearLine;
  97.   BEGIN Write (ESC); Write ( 'l')
  98.   END ClearLine;
  99.  
  100. PROCEDURE StartOfLine;
  101.   BEGIN Write (ESC); Write ( 'o');
  102.   END StartOfLine;
  103.  
  104. PROCEDURE InverseOn;
  105.   BEGIN Write (ESC); Write ( 'p')
  106.   END InverseOn;
  107.  
  108. PROCEDURE InverseOff;
  109.   BEGIN Write (ESC); Write ( 'q')
  110.   END InverseOff;
  111.  
  112. PROCEDURE WrapOn;
  113.   BEGIN Write (ESC); Write ( 'v')
  114.   END WrapOn;
  115.  
  116. PROCEDURE WrapOff;
  117.   BEGIN Write (ESC); Write ( 'w')
  118.   END WrapOff;
  119.  
  120. END VT52.
  121.