Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
cpm:turbo_pascal:tinst [2011/09/26 15:33] – volkerp | cpm:turbo_pascal:tinst [2018/03/02 12:07] – [Beispiele] volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== TINST ====== | + | ====== TINST.COM ====== |
Im Anfangsbereich eines jeden Turbo-Pascal-(2.xx, | Im Anfangsbereich eines jeden Turbo-Pascal-(2.xx, | ||
- | Initial werden diese mit TINST.COM eingerichtet | + | Initial werden diese Steuercodes |
- | Zur Anpassung | + | |
- | 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. | ||
< | < | ||
- | # | + | 0124 AFrequency: |
- | # | + | |
- | # | + | |
- | # | + | ; |
- | # | + | |
- | # | + | ;Terminal >> |
- | # | + | 0153 TermTypStr: |
- | # | + | 0168 Width: |
- | # | + | 0169 Height: |
- | # | + | 016A |
- | # | + | |
- | # | + | 016B InitialStr: |
- | # | + | 017B ResetStr: |
- | # | + | |
- | # | + | ;Cursor >> |
- | # | + | 018B CursorStr: |
- | # | + | 019B BinaryAddr: |
- | # | + | 019C ColumnOff: |
- | # | + | 019D LineOff: |
- | # | + | 019E XPosition: |
- | # | + | 019F YPosition: |
- | # | + | 01A0 DelayCursor: |
- | # | + | |
- | # | + | ;Line >> |
- | # ;wenn Clear screen schon Home macht) | + | 01A2 ClearScrStr: |
- | # | + | 01A8 HomeStr: |
- | # | + | |
- | # | + | 01AE InsLineStr: |
- | # | + | 01B4 DelLineStr: |
- | # | + | 01BA DelayLine: |
- | # | + | |
- | # | + | ;Highlight >> |
- | # | + | 01BC EraToEolStr: |
- | # | + | 01C2 HLStartStr: |
- | # | + | 01C8 HLEndStr: |
- | # | + | 01CE DelayHL: |
+ | |||
+ | 01D0 | ||
</ | </ | ||
+ | |||
+ | ===== Erläuterungen ===== | ||
+ | |||
+ | Auszug aus dem Handbuch: | ||
+ | |||
+ | **L.2.1 Terminaltyp** | ||
+ | |||
+ | Geben Sie den Namen des Terminals ein, das Sie installieren wollen. Wenn Sie | ||
+ | TINST beenden, werden die Werte gespeichert und der Terminalname erscheint auf | ||
+ | der Liste der Terminals. Falls Sie später TURBO Pascal nochmals für das Terminal | ||
+ | installieren müssen, können Sie es auf der Liste anwählen. | ||
+ | |||
+ | **L.2.2 Soll ein Initialisierungsstring an das Terminal geschickt | ||
+ | werden?** | ||
+ | |||
+ | Wenn Sie Ihr Terminal initialisieren wollen, wenn Turbo startet (z.B. um Befehle | ||
+ | auf Funktionstasten zu programmieren), | ||
+ | nicht, drücken Sie RETURN. | ||
+ | |||
+ | **L.2.3 Soll ein Resetstring an das Terminal geschickt werden?** | ||
+ | |||
+ | Hier können Sie einen String definieren, der bei Beendigung von TURBO Pascal an | ||
+ | das Terminal geschickt wird. Die obige Beschreibung des Initialisierungsbefehls | ||
+ | gilt hier ebenfalls. | ||
+ | |||
+ | **L.2.4 CURSOR LEAD-IN Befehl** | ||
+ | |||
+ | Cursor Lead-in ist eine spezielle Sequenz von Zeichen, die Ihrem Terminal | ||
+ | mitteilt, daß die folgenden Zeichen eine Adresse auf dem Bildschirm sind, auf | ||
+ | die der Cursor plaziert werden soll. Wenn Sie diesen Befehl definieren, werden | ||
+ | Ihnen die folgenden zusätzlichen Fragen gestellt: | ||
+ | |||
+ | **L.2.4.1 Soll der CURSOR POSITIONING Befehl zwischen Zeiten- und | ||
+ | Spaltenadresse geschickt werden? ** | ||
+ | |||
+ | Bei einigen Terminals muß der Befehl zwischen | ||
+ | den zwei Zahlen, die die Reihen- und Spaltencursoradresse definieren, stehen. | ||
+ | |||
+ | **L2.4.2 Soll der CURSOR POSITIONING Befehl nach der Zeile und Spalte | ||
+ | geschickt werden ?** | ||
+ | |||
+ | Bei einigen Terminals muß der Befehl nach der Definition der Zeilen- und | ||
+ | Spaltenadresse des Cursor stehen. | ||
+ | |||
+ | **L.2.4.3 Spalte zuerst?** | ||
+ | |||
+ | Bei den meisten Terminals muß die Adresse in folgendem Format stehen: zuerst | ||
+ | REIHE, dann SPALTE. Wenn dies bei Ihrem Terminal so ist, antworten Sie mit N. | ||
+ | Wenn Ihr Terminal zuerst die SPALTE benötigt und darin die REIHE, antworten Sie | ||
+ | Y. | ||
+ | |||
+ | **L.2.4.4 Offset der ersten Zeilennummer** | ||
+ | |||
+ | Geben Sie die Zahl ein, die zur Zeilenadresse addiert werden soll. | ||
+ | |||
+ | **L.2.4.5 Offset der ersten Spalte** | ||
+ | |||
+ | Geben Sie sie Zahl ein, die zur Spaltenadresse addiert werden soll. | ||
+ | |||
+ | **L.2.4.6 Binäre Adresse?** | ||
+ | |||
+ | Den meisten Terminals muß die Cursoradresse in binärer Form geschickt werden. | ||
+ | Falls das auch für Ihr Terminal gilt, geben Sie Y ein. Wenn Ihr Terminal die | ||
+ | Cursoradresse in ASCII Ziffern erwartet, geben Sie N ein. Sie werden dann | ||
+ | zusätzlich gefragt: | ||
+ | |||
+ | **L.2.4.6.1 2 oder 3 ASCII Ziffern?** | ||
+ | |||
+ | Geben Sie die Anzahl von ASCII-Ziffern in der Cursoradresse Ihres Terminals | ||
+ | an. | ||
+ | |||
+ | **L.2.5 CLEAR SCREEN Befehl** | ||
+ | |||
+ | Geben Sie den Befehl ein, der den gesamten Bildschirminhalt löscht (wenn nötig | ||
+ | sowohl für den Vorder-, als auch für den Hintergrund). | ||
+ | |||
+ | **L.2.6 Führt CLEAR SCREEN auch den Cursor in HOME Position?** | ||
+ | |||
+ | Dies ist normalerweise der Fall; wenn dies für Ihr Terminal nicht zutrifft, | ||
+ | geben Sie N ein und definieren den Cursor HOME Befehl. | ||
+ | |||
+ | **L.2.7 DELETE LINE Befehl** | ||
+ | |||
+ | Geben Sie den Befehl ein, der die Cursor-Zeile ganz löscht. | ||
+ | |||
+ | **L.2.8 INSERT LINE Befehl** | ||
+ | |||
+ | Geben Sie den Befehl ein, der an der Cursorposition eine ganze Zeile einfügt. | ||
+ | |||
+ | **L.2.9 ERASE TO END OF LINE Befehl** | ||
+ | |||
+ | Geben Sie den Befehl ein, der die Zeile von der Cursorposition bis zum rechten | ||
+ | Zeilenende löscht. | ||
+ | |||
+ | **L.2.10 START OF 'LOW VIDEO' Befehl** | ||
+ | |||
+ | Wenn Ihr Terminal über verschiedene Bildintensitäten verfügt, dann geben Sie | ||
+ | hier den Befehl ein, der den Bildschirm abdunkelt. Wenn dieser Befehl definiert | ||
+ | ist, wird die folgende Frage gestellt: | ||
+ | |||
+ | **L.2.10.1 START OF ' | ||
+ | |||
+ | Definieren Sie den Befehl, der den Bildschirm auf Normalbild setzt. | ||
+ | |||
+ | **L.2.11 Zahl der Zeilen auf Ihrem Bildschirm** | ||
+ | |||
+ | Geben Sie die Zahl der horizontalen Zeilen Ihres Terminals an. | ||
+ | |||
+ | **L.2.12 Zahl der Spalten auf Ihrem Bildschirm** | ||
+ | |||
+ | Geben Sie die Zahl der vertikalen Spaltenpositionen an. | ||
+ | |||
+ | **L.2.13 Verzögerung nach CURSOR ADDRESS (0-255ms): | ||
+ | Verzögerung nach CLEAR, DELETE und INSERT (0-255ms): | ||
+ | Verzögerung nach ERASE TO END OF LINE und HIGHLIGHT On/Off (o255 ms)** | ||
+ | |||
+ | Geben Sie die gewünschte Verzögerung in Millisekunden für die angegebenen | ||
+ | Funktionen ein. < | ||
+ | |||
+ | **L.2.15 Arbeitsfrequenz Ihres Mikroprozessors in MHz (für | ||
+ | Verzögerungen)** | ||
+ | |||
+ | Da die weiter oben angegebenen Verzögerungen von der Arbeitsfrequenz Ihrer CPU | ||
+ | abhängen, müssen Sie diesen Wert definieren. Die Installation ist beendet, die | ||
+ | Installationsdaten werden auf die Diskette geschrieben und Sie kehren in das | ||
+ | höhere Menü zurück (siehe Abschnitt 1.6). Die Installationsdaten sind auch in | ||
+ | der Installationsdatendatei gespeichert. Das neue Terminal erscheint in der | ||
+ | Terminalwahlliste bei zukünftigen TINST-Läufen. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Beispiele ===== | ||
+ | |||
+ | | 0153 | TermTypStr: | ||
+ | | 0168 | Width: | ||
+ | | 0169 | Height: | ||
+ | | 016A | ???: | 0 | 0 | 0 | 0 | 0 | | ||
+ | | 016B | InitialStr: | ||
+ | | 017B | ResetStr: | ||
+ | | 018B | CursorStr: | ||
+ | | 019B | BinaryAddr: | ||
+ | | 019C | ColumnOff: | ||
+ | | 019D | LineOff: | ||
+ | | 019E | XPosition: | ||
+ | | 019F | YPosition: | ||
+ | | 01A0 | DelayCursor: | ||
+ | | 01A2 | ClearScrStr: | ||
+ | | 01A8 | HomeStr: | ||
+ | | 01AE | InsLineStr: | ||
+ | | 01B4 | DelLineStr: | ||
+ | | 01BA | DelayLine: | ||
+ | | 01BC | EraToEolStr: | ||
+ | | 01C2 | HLStartStr: | ||
+ | | 01C8 | HLEndStr: | ||
+ | | 01CE | DelayHL: | ||
**Beispiel PC 1715** | **Beispiel PC 1715** | ||
Zeile 58: | Zeile 216: | ||
018B CursorStr: | 018B CursorStr: | ||
019B BinaryAddr: | 019B BinaryAddr: | ||
- | 019C ColumnOff: | + | 019C ColumnOff: |
- | 019D LineOff: | + | 019D LineOff: |
019E XPosition: | 019E XPosition: | ||
019F YPosition: | 019F YPosition: | ||
Zeile 68: | Zeile 226: | ||
01B4 DelLineStr: | 01B4 DelLineStr: | ||
01BA DelayLine: | 01BA DelayLine: | ||
- | 01BC EraToEolStr: | + | 01BC EraToEolStr: |
01C2 HLStartStr: | 01C2 HLStartStr: | ||
01C8 HLEndStr: | 01C8 HLEndStr: | ||
Zeile 100: | Zeile 258: | ||
01CE DelayHL: | 01CE DelayHL: | ||
</ | </ | ||
- | Zum Auslesen dient ein kleines Perl-Programm terminal_info.pl. | + | |
+ | **Beispiele Pascal880s** | ||
+ | |||
+ | < | ||
+ | 125 | ||
+ | 0153 TermTypStr: | ||
+ | 0168 Width: | ||
+ | 0169 Height: | ||
+ | 016A ???: 0 | ||
+ | 016B InitialStr: | ||
+ | 017B ResetStr: | ||
+ | 018B CursorStr: | ||
+ | 019B BinaryAddr: | ||
+ | 019C ColumnOff: | ||
+ | 019D LineOff: | ||
+ | 019E XPosition: | ||
+ | 019F YPosition: | ||
+ | 01A0 DelayCursor: | ||
+ | 01A2 ClearScrStr: | ||
+ | 01A8 HomeStr: | ||
+ | 01AE InsLineStr: | ||
+ | 01B4 DelLineStr: | ||
+ | 01BA DelayLine: | ||
+ | 01BC EraToEolStr: | ||
+ | 01C2 HLStartStr: | ||
+ | 01C8 HLEndStr: | ||
+ | 01CE DelayHL: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | 125 | ||
+ | 0153 TermTypStr: | ||
+ | 0168 Width: | ||
+ | 0169 Height: | ||
+ | 016A ???: 0 | ||
+ | 016B InitialStr: | ||
+ | 017B ResetStr: | ||
+ | 018B CursorStr: | ||
+ | 019B BinaryAddr: | ||
+ | 019C ColumnOff: | ||
+ | 019D LineOff: | ||
+ | 019E XPosition: | ||
+ | 019F YPosition: | ||
+ | 01A0 DelayCursor: | ||
+ | 01A2 ClearScrStr: | ||
+ | 01A8 HomeStr: | ||
+ | 01AE InsLineStr: | ||
+ | 01B4 DelLineStr: | ||
+ | 01BA DelayLine: | ||
+ | 01BC EraToEolStr: | ||
+ | 01C2 HLStartStr: | ||
+ | 01C8 HLEndStr: | ||
+ | 01CE DelayHL: | ||
+ | </ | ||
+ | |||
+ | Zum Auslesen dient ein kleines Perl-Programm | ||