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.

  • cpm/turbo_pascal/tinst.1317051234.txt.gz
  • Zuletzt geändert: 2011/09/26 15:33
  • von volkerp