Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:turbo_pascal:tinst [2011/09/26 17:32] – [Erläuterungen] volkerpcpm:turbo_pascal:tinst [2024/03/21 12:11] (aktuell) – terminal_info2.pl volkerp
Zeile 3: Zeile 3:
 Im Anfangsbereich eines jeden Turbo-Pascal-(2.xx,3.xx)-Programms und auch von Turbo selbst liegen die Terminal-Steuercodes.  Im Anfangsbereich eines jeden Turbo-Pascal-(2.xx,3.xx)-Programms und auch von Turbo selbst liegen die Terminal-Steuercodes. 
  
-Initial werden diese mit TINST.COM eingerichtet (übrigens selbst in Turbo Pascal geschrieben). Das Programm patcht aber nur das Programm TURBO.COM, keine eigenen.  +Initial werden diese Steuercodes mit TINST.COM eingerichtet. TINST installiert außerdem die Taktfrequenz sowie Editorkommandos. TINST ist übrigens selbst in Turbo Pascal geschrieben. Das Programm patcht aber nur das Programm TURBO.COM, keine eigenen. Zum Anpassen fremder kompilierter Pascal-Programme muss deshalb das Programm zunächst in TURBO.COM umbenannt werden, ehe mit TINST die Terminaleinstellungen geändert werden können.
-Zur Anpassung fremder kompilierter Pascal-Programme oder wenn man das Programm nicht zur Hand hat, kann man auch selbst patchenDer Installationsbereich ist 125 Byte lang+
  
-Die Strings sind wie in Pascal üblich längendefiniert (1. Byte = Länge).+Wenn man TINST nicht zur Hand hat, kann man auch selbst patchen. Der Installationsbereich der Terminal-Steuercodes ist 125 Byte lang und geht bei Turbo 2.xx bzw. 3.xx von 0153h-01EFh. Im Folgenden wird dieser Bereich erläutert. Zum Auslesen der Daten aus vorhandenen kompilierten Programmen habe ich ein kurzes Perl-Programm geschrieben (s.u.). 
 + 
 +Die Strings sind wie in Pascal üblich längendefiniert (1. Byte = Länge). Länge 00 kennzeichnet einen leeren String.
  
 <code> <code>
Zeile 60: Zeile 61:
 installieren müssen, können Sie es auf der Liste anwählen. installieren müssen, können Sie es auf der Liste anwählen.
  
-**L.2.2 Soll ein fnitialisierungsstring an das Terminal geschickt+**L.2.2 Soll ein Initialisierungsstring an das Terminal geschickt
 werden?** werden?**
  
Zeile 181: Zeile 182:
 ===== Beispiele ===== ===== Beispiele =====
  
 +| 0153 | TermTypStr:  ^ 13,ADDS 20/25/30  ^ 4,ANSI  (=DEC Rainbow, 8 bit)      ^ 18,Kaypro with hilite ^ 19,Wyse WY-100/200/300 ^ 16,PC 1715 IWF/Jahn |
 +| 0168 | Width:       | 80                | 80                                 | 80                    | 80                     | 80                  |
 +| 0169 | Height:      | 24                | 24                                 | 24                    | 24                     | 24                  |
 +| 016A | ???:         | 0                 | 0                                  | 0                     | 0                      | 0                   |
 +| 016B | InitialStr:  | 03,1B,'0','P'     | 00                                 | 00                    | 00                     | 00                  |
 +| 017B | ResetStr:    | 00                | 00                                 | 00                    | 00                     | 00                  |
 +| 018B | CursorStr:   | 04,1B,'Y',00,00   | 08,1B,'[','0','0',';','0','0','H'  | 04,1B,'=',00,00       | 04,1B,'=',00,00        | 03,1B,00,00         |
 +| 019B | BinaryAddr:  | 1                 | 0                                  | 1                     | 1                      | 1                   |
 +| 019C | ColumnOff:   | 32                | 1                                  | 32                    | 32                     | 128                 |
 +| 019D | LineOff:     | 32                | 1                                  | 32                    | 32                     | 128                 |
 +| 019E | XPosition:   | 3                 | 7                                  | 4                     | 4                      | 3                   |
 +| 019F | YPosition:   | 4                 | 4                                  | 3                     | 3                      | 2                   |
 +| 01A0 | DelayCursor: | 0                 | 0                                  | 0                     | 0                      | 0                   |
 +| 01A2 | ClearScrStr: | 01,0C             | 04,1B,'[','2','J'                  | 01,1A                 | 02,1B,'*'              | 01,0C               |
 +| 01A8 | HomeStr:     | 00                | 03,1B,'[','f'                      | 00                    | 00                     | 00                  |
 +| 01AE | InsLineStr:  | 00                | 04,1B,'[','1','L'                  | 04,0D,1B,'E',0D       | 02,1B,'E'              | 00                  |
 +| 01B4 | DelLineStr:  | 00                | 04,1B,'[','1','M'                  | 02,1B,'R'             | 02,1B,'R'              | 00                  |
 +| 01BA | DelayLine:   | 0                 | 0                                  | 0                     | 0                      | 0                   |
 +| 01BC | EraToEolStr: | 02,1B,'K'         | 03,1B,'[','K'                      | 01,18                 | 02,1B,'T'              | 01,16               |
 +| 01C2 | HLStartStr:  | 00                | 04,1B,'[','1','m'                  | 03,1B,'C','1'         | 02,1B,')'              | 00                  |
 +| 01C8 | HLEndStr:    | 00                | 04,1B,'[','0','m'                  | 03,1B,'B','1'         | 02,1B,'('              | 00                  |
 +| 01CE | DelayHL:     | 0                 | 0                                  | 0                     | 0                      | 0                   |
  
 **Beispiel PC 1715** **Beispiel PC 1715**
Zeile 193: Zeile 216:
 018B  CursorStr:   03,1B,00,00             <- 3 Zeichen: ESC,128+Y,128+X 018B  CursorStr:   03,1B,00,00             <- 3 Zeichen: ESC,128+Y,128+X
 019B  BinaryAddr:  1                       <- X und Y werden binär angegeben 019B  BinaryAddr:  1                       <- X und Y werden binär angegeben
-019C  ColumnOff:   128                     <- die 128 ist zu zu addieren +019C  ColumnOff:   128                     <- die 128 ist zu zu addieren 
-019D  LineOff:     128                     <- die 128 ist zu zu addieren+019D  LineOff:     128                     <- die 128 ist zu zu addieren
 019E  XPosition:                         <- Position des X-Werts im CursorStr 019E  XPosition:                         <- Position des X-Werts im CursorStr
 019F  YPosition:                         <- Position des Y-Werts im CursorStr 019F  YPosition:                         <- Position des Y-Werts im CursorStr
Zeile 203: Zeile 226:
 01B4  DelLineStr:  00 01B4  DelLineStr:  00
 01BA  DelayLine:   0 01BA  DelayLine:   0
-01BC  EraToEolStr: 01,16+01BC  EraToEolStr: 01,16                   <- 1 Zeichen: ^V
 01C2  HLStartStr:  00 01C2  HLStartStr:  00
 01C8  HLEndStr:    00 01C8  HLEndStr:    00
Zeile 235: Zeile 258:
 01CE  DelayHL:     0 01CE  DelayHL:     0
 </code> </code>
-Zum Auslesen dient ein kleines Perl-Programm terminal_info.pl. 
  
 +**Beispiele Pascal880s**
 +
 +<code>
 +125
 +0153  TermTypStr:  15,PC 1715 / 1715W
 +0168  Width:       80
 +0169  Height:      24
 +016A  ???:         0
 +016B  InitialStr:  03,1B,'^','P'
 +017B  ResetStr:    03,1B,'^','@'
 +018B  CursorStr:   03,1B,00,00
 +019B  BinaryAddr:  1
 +019C  ColumnOff:   128
 +019D  LineOff:     128
 +019E  XPosition:   3
 +019F  YPosition:   2
 +01A0  DelayCursor: 0
 +01A2  ClearScrStr: 01,0C
 +01A8  HomeStr:     00
 +01AE  InsLineStr:  00
 +01B4  DelLineStr:  00
 +01BA  DelayLine:   0
 +01BC  EraToEolStr: 01,16
 +01C2  HLStartStr:  00
 +01C8  HLEndStr:    00
 +01CE  DelayHL:     0
 +</code>
 +
 +<code>
 +125
 +0153  TermTypStr:  20,KC85+D004/KC compact
 +0168  Width:       80
 +0169  Height:      24
 +016A  ???:         0
 +016B  InitialStr:  01,85
 +017B  ResetStr:    01,84
 +018B  CursorStr:   03,1B,00,00
 +019B  BinaryAddr:  1
 +019C  ColumnOff:   128
 +019D  LineOff:     128
 +019E  XPosition:   3
 +019F  YPosition:   2
 +01A0  DelayCursor: 0
 +01A2  ClearScrStr: 01,0C
 +01A8  HomeStr:     00
 +01AE  InsLineStr:  00
 +01B4  DelLineStr:  00
 +01BA  DelayLine:   0
 +01BC  EraToEolStr: 01,16
 +01C2  HLStartStr:  00
 +01C8  HLEndStr:    00
 +01CE  DelayHL:     0
 +</code>
 +
 +Zum Auslesen dient ein kleines Perl-Programm {{:cpm:turbo_pascal:terminal_info.zip|terminal_info.pl}}.
 +
 +*2024* die Version terminal_info2.pl erkennt die Turbo-Pascal-Version, mit der compiliert wurde. Beim Programm turbo.com werden außerdem die aktuell eingerichteten Editierkommandos angezeigt.
  
  • cpm/turbo_pascal/tinst.1317058333.txt.gz
  • Zuletzt geändert: 2011/09/26 17:32
  • von volkerp