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
Nächste ÜberarbeitungBeide Seiten der Revision
cpm:turbo_pascal:tinst [2011/09/26 17:32] – [Erläuterungen] volkerpcpm:turbo_pascal:tinst [2013/02/04 18:06] 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.+ 
 +Zum Auslesen dient ein kleines Perl-Programm {{:cpm:terminal_info.zip|terminal_info.pl}}.
  
  
  • cpm/turbo_pascal/tinst.txt
  • Zuletzt geändert: 2024/03/21 12:11
  • von volkerp