Dies ist eine alte Version des Dokuments!
TINST
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. Zur Anpassung fremder kompilierter Pascal-Programme oder wenn man das Programm nicht zur Hand hat, kann man auch selbst patchen. Der Installationsbereich ist 125 Byte lang.
Die Strings sind wie in Pascal üblich längendefiniert (1. Byte = Länge).
# ;Screen-Installationsbereich # ;---------------------------- # # ;Terminal >> # 0153 TermTypStr: DEFB 20,'No Terminal selected' # 0168 Width: DEFB 80 ;Bildschirmbreite (1-256) # 0169 Height: DEFB 24 ;Bildschirmhoehe (1-256) # 016A DEFB 0 ;wozu das? # # 016B InitialStr: DEFS 16 # 017B ResetStr: DEFS 16 # # ;Cursor >> # 018B CursorStr: DEFS 16 ;Muster fuer Cursor-Positionierung # 019B BinaryAddr: DEFB 0 ;0=ASCII, 1=Binary address # 019C ColumnOff: DEFB 0 # 019D LineOff: DEFB 0 # 019E XPosition: DEFB 0 ;Pos. in Muster # 019F YPosition: DEFB 0 ; " # 01A0 DelayCursor: DEFW 0 ;Delay after cursor address (0-255 ms) # # ;Line >> # 01A2 ClearScrStr: DEFS 6 ;Clear screen # 01A8 HomeStr: DEFS 6 ;Home cursor (Dieser String ist leer, # ;wenn Clear screen schon Home macht) # 01AE InsLineStr: DEFS 6 ;Insert line # 01B4 DelLineStr: DEFS 6 ;Delete line # 01BA DelayLine: DEFW 0 ;Delay after Clear, Delete and Insert (0-255 ms) # # ;Highlight >> # 01BC EraToEolStr: DEFS 6 ;Erase to end of line # 01C2 HLStartStr: DEFS 6 ;Start highlighting # 01C8 HLEndStr: DEFS 6 ;End highlighting # 01CE DelayHL: DEFW 0 ;Delay after EraToEol and HighLight # # 01D0
Beispiel PC 1715
0153 TermTypStr: 16,PC 1715 IWF/Jahn 0168 Width: 80 0169 Height: 24 016A ???: 0 016B InitialStr: 00 017B ResetStr: 00 018B CursorStr: 03,1B,00,00 <- 3 Zeichen: ESC,128+Y,128+X 019B BinaryAddr: 1 <- X und Y werden binär angegeben 019C ColumnOff: 128 <- die 128 ist zu Y zu addieren 019D LineOff: 128 <- die 128 ist zu X zu addieren 019E XPosition: 3 <- Position des X-Werts im CursorStr 019F YPosition: 2 <- Position des Y-Werts im CursorStr 01A0 DelayCursor: 0 01A2 ClearScrStr: 01,0C <- 1 Zeichen: ^L 01A8 HomeStr: 00 01AE InsLineStr: 00 01B4 DelLineStr: 00 01BA DelayLine: 0 01BC EraToEolStr: 01,16 01C2 HLStartStr: 00 01C8 HLEndStr: 00 01CE DelayHL: 0
Beispiel Z9001
0153 TermTypStr: 11,Z9001-Color 0168 Width: 40 0169 Height: 24 016A ???: 0 016B InitialStr: 00 017B ResetStr: 00 018B CursorStr: 03,1B,00,00 019B BinaryAddr: 1 019C ColumnOff: 128 019D LineOff: 128 019E XPosition: 3 019F YPosition: 2 01A0 DelayCursor: 0 01A2 ClearScrStr: 01,0C 01A8 HomeStr: 00 01AE InsLineStr: 00 01B4 DelLineStr: 00 01BA DelayLine: 0 01BC EraToEolStr: 00 01C2 HLStartStr: 02,14,'3' 01C8 HLEndStr: 02,14,'2' 01CE DelayHL: 0
Zum Auslesen dient ein kleines Perl-Programm terminal_info.pl.