Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| cpm:turbo_pascal:tinst [2011/09/26 17:32] – [Erläuterungen] volkerp | cpm:turbo_pascal:tinst [2024/12/06 09:07] (aktuell) – [Downloads] volkerp | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| 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). | + | |
| + | ===== Downloads ===== | ||
| + | |||
| + | * {{: | ||
| + | * Perl-Programm **terminal_info.pl** zum Auslesen der Terminal-Infos aus TURBO.COM oder aus compilierten Programmen. | ||
| + | * Perl-Programm **terminal_info2.pl** zeigt zusätzlich die Turbo-Version und die eingerichteten Editor-Kommandos an | ||
| + | * tpterm.pas/ | ||
| + | |||
| + | ===== Terminal-Steuercodes ===== | ||
| + | |||
| + | 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. | ||
| < | < | ||
| Zeile 60: | Zeile 71: | ||
| 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 | + | **L.2.2 Soll ein Initialisierungsstring |
| werden?** | werden?** | ||
| Zeile 181: | Zeile 192: | ||
| ===== Beispiele ===== | ===== 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 193: | Zeile 226: | ||
| 018B CursorStr: | 018B CursorStr: | ||
| 019B BinaryAddr: | 019B BinaryAddr: | ||
| - | 019C ColumnOff: | + | 019C ColumnOff: |
| - | 019D LineOff: | + | 019D LineOff: |
| 019E XPosition: | 019E XPosition: | ||
| 019F YPosition: | 019F YPosition: | ||
| 01A0 DelayCursor: | 01A0 DelayCursor: | ||
| 01A2 ClearScrStr: | 01A2 ClearScrStr: | ||
| + | 01A8 HomeStr: | ||
| + | 01AE InsLineStr: | ||
| + | 01B4 DelLineStr: | ||
| + | 01BA DelayLine: | ||
| + | 01BC EraToEolStr: | ||
| + | 01C2 HLStartStr: | ||
| + | 01C8 HLEndStr: | ||
| + | 01CE DelayHL: | ||
| + | </ | ||
| + | |||
| + | **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: | 01A8 HomeStr: | ||
| 01AE InsLineStr: | 01AE InsLineStr: | ||
| Zeile 208: | Zeile 269: | ||
| 01CE DelayHL: | 01CE DelayHL: | ||
| </ | </ | ||
| + | |||
| + | **Beispiel KC85/4** | ||
| + | |||
| + | < | ||
| + | 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: | ||
| + | </ | ||
| + | |||
| + | ausgelesen mit terminal_info.pl (s. Downloads). | ||
| **Beispiel Z9001** | **Beispiel Z9001** | ||
| < | < | ||
| + | Turbo 3 | ||
| + | Turbo 3.00 | ||
| + | |||
| + | Terminal Configuration | ||
| + | 125 | ||
| 0153 TermTypStr: | 0153 TermTypStr: | ||
| 0168 Width: | 0168 Width: | ||
| Zeile 234: | Zeile 330: | ||
| 01C8 HLEndStr: | 01C8 HLEndStr: | ||
| 01CE DelayHL: | 01CE DelayHL: | ||
| + | |||
| + | Editor Configuration | ||
| + | addr nr command | ||
| + | CURSOR MOVEMENTS: | ||
| + | 42A1 0 new line | ||
| + | 42A3 1 Character left | ||
| + | 42A5 2 | ||
| + | 42A7 3 Character right 01,09 01,^I 01,^D | ||
| + | 42A9 4 Word left 01,01 01,^A 01,^A | ||
| + | 42AB 5 Word right | ||
| + | 42AD 6 Line up 01,0B 01,^K 01,^E | ||
| + | 42AF 7 Line down 01,0A 01,^J 01,^X | ||
| + | 42B1 8 Scroll down 01,17 01,^W 01,^W | ||
| + | 42B3 9 Scroll up 02, | ||
| + | 42B6 10 Page up 01,12 01,^R 01,^R | ||
| + | 42B8 11 Page down 01,03 01,^C 01,^C | ||
| + | 42BA 12 To left on line 01,19 01,^Y 02, | ||
| + | 42BC 13 To right on line | ||
| + | 42BE 14 To top of page | ||
| + | 42C1 15 To bottom of page 02, | ||
| + | 42C4 16 To top of file | ||
| + | 42C7 17 To end of file | ||
| + | 42CA 18 To begining of block | ||
| + | 42CD 19 To end of block 02, | ||
| + | 42D0 20 To last cursor position | ||
| + | INSERT & DELETE: | ||
| + | 42D3 21 Insert mode on/ | ||
| + | 42D5 22 Insert line 01,0E 01,^N 01,^N | ||
| + | 42D7 23 Delete line 01,02 01,^B 01,^Y | ||
| + | 42D9 24 Delete to end of line 02, | ||
| + | 42DC 25 Delete right word 01,14 01,^T 01,^T | ||
| + | 42DE 26 Delete character under cursor | ||
| + | 42E0 27 Delete left character | ||
| + | 42E2 28 | ||
| + | BLOCK COMMANDS: | ||
| + | 42E4 29 Mark block begin | ||
| + | 42E7 30 Mark block end | ||
| + | 42EA 31 Mark single word | ||
| + | 42ED 32 Hide/ | ||
| + | 42F0 33 Copy block | ||
| + | 42F3 34 Move block | ||
| + | 42F6 35 Delete block | ||
| + | 42F9 36 Read block from disk | ||
| + | 42FC 37 Write block to disk 02, | ||
| + | MISC. EDITING COMMANDS: | ||
| + | 42FF 38 End edit | ||
| + | 4302 39 Tab 01,1D 01,^] 01,^I | ||
| + | 4304 40 Auto tab on/ | ||
| + | 4307 41 Restore line | ||
| + | 430A 42 Find | ||
| + | 430D 43 Find & replace | ||
| + | 4310 44 Repeat last find | ||
| + | 4312 45 Control character prefix | ||
| </ | </ | ||
| - | Zum Auslesen dient ein kleines Perl-Programm terminal_info.pl. | ||
| + | ausgelesden mit terminfo2.pl | ||
| + | |||
| + | |||
| + | ===== Historie ===== | ||
| + | |||
| + | *2024* die Version terminal_info2.pl erkennt die Turbo-Pascal-Version, | ||