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, | ||