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 [2018/03/02 12:07] – [Beispiele] volkerp | cpm:turbo_pascal:tinst [2024/12/06 09:07] (aktuell) – [Downloads] volkerp | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
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. | 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. | ||
+ | |||
+ | |||
+ | ===== 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.). | 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.). | ||
Zeile 232: | Zeile 242: | ||
</ | </ | ||
- | **Beispiel Z9001** | + | **Beispiele Pascal880s** |
< | < | ||
- | 0153 TermTypStr: | + | 125 |
- | 0168 Width: | + | 0153 TermTypStr: |
+ | 0168 Width: | ||
0169 Height: | 0169 Height: | ||
016A ???: 0 | 016A ???: 0 | ||
- | 016B InitialStr: | + | 016B InitialStr: |
- | 017B ResetStr: | + | 017B ResetStr: |
018B CursorStr: | 018B CursorStr: | ||
019B BinaryAddr: | 019B BinaryAddr: | ||
Zeile 253: | Zeile 264: | ||
01B4 DelLineStr: | 01B4 DelLineStr: | ||
01BA DelayLine: | 01BA DelayLine: | ||
- | 01BC EraToEolStr: | + | 01BC EraToEolStr: |
- | 01C2 HLStartStr: | + | 01C2 HLStartStr: |
- | 01C8 HLEndStr: | + | 01C8 HLEndStr: |
01CE DelayHL: | 01CE DelayHL: | ||
</ | </ | ||
- | **Beispiele Pascal880s** | + | **Beispiel KC85/4** |
< | < | ||
125 | 125 | ||
- | 0153 TermTypStr: | + | 0153 TermTypStr: |
0168 Width: | 0168 Width: | ||
0169 Height: | 0169 Height: | ||
016A ???: 0 | 016A ???: 0 | ||
- | 016B InitialStr: | + | 016B InitialStr: |
- | 017B ResetStr: | + | 017B ResetStr: |
018B CursorStr: | 018B CursorStr: | ||
019B BinaryAddr: | 019B BinaryAddr: | ||
Zeile 286: | Zeile 297: | ||
01CE DelayHL: | 01CE DelayHL: | ||
</ | </ | ||
+ | |||
+ | ausgelesen mit terminal_info.pl (s. Downloads). | ||
+ | |||
+ | **Beispiel Z9001** | ||
< | < | ||
+ | Turbo 3 | ||
+ | Turbo 3.00 | ||
+ | |||
+ | Terminal Configuration | ||
125 | 125 | ||
- | 0153 TermTypStr: | + | 0153 TermTypStr: |
- | 0168 Width: | + | 0168 Width: |
0169 Height: | 0169 Height: | ||
016A ???: 0 | 016A ???: 0 | ||
- | 016B InitialStr: | + | 016B InitialStr: |
- | 017B ResetStr: | + | 017B ResetStr: |
018B CursorStr: | 018B CursorStr: | ||
019B BinaryAddr: | 019B BinaryAddr: | ||
Zeile 307: | Zeile 326: | ||
01B4 DelLineStr: | 01B4 DelLineStr: | ||
01BA DelayLine: | 01BA DelayLine: | ||
- | 01BC EraToEolStr: | + | 01BC EraToEolStr: |
- | 01C2 HLStartStr: | + | 01C2 HLStartStr: |
- | 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 {{: | + | ausgelesden mit terminfo2.pl |
+ | |||
+ | |||
+ | ===== Historie ===== | ||
+ | *2024* die Version terminal_info2.pl erkennt die Turbo-Pascal-Version, | ||