Google
 

Trailing-Edge - PDP-10 Archives - tops10_tools_bb-fp64b-sb - 10,7/amis/maktrm.man
There are no other files named maktrm.man in the archive.


				MAKTRM



1.  INTRODUCTION:

	MAKTRM is a program which compresses a terminal description
	into a compact form understandable to the screen editor AMIS.

2.  EXAMPLE:

	Let's assume you want AMIS to leave your VT100 terminal in Soft
	Scroll Mode when you exit from editing.  To achieve this, you
	must first create a file containing a full description of your
	terminal.  Let's say you have done this, and the description
	file VT100.DEC now exists.  Now run the MAKTRM program and
	answer its questions concerning input and output according to
	the following dialogue:

		.R PUB:MAKTRM

		Input file /AMIS.DEC/ : VT100.DEC
		Output file /AMIS.TRM/ : AMIS.TRM
		Processing VT100

		EXIT

	The first two lines are MAKTRM's query about names for input
	and output files, respectively.  Carriage return only gives the
	default file name.  (Note that AMIS requires its compact
	description file to be named AMIS.TRM).  Then follows one line
	for each terminal processed, just as a progress report.


3. TERMINAL CONSTRAINTS:
	
	In order to use AMIS, your terminal must meet the following
	requirements :

     a) Cursor functions: The cursor must be able to move up, down,
	left, right and 'home' - i.e. the topmost left-hand corner - on
	the screen. Also, when a character is written, it must replace
	the character which was previously in that position, and the
	cursor must then move one step forward.

     b)	Clearing function: It must be possible to wipe the screen of
	all its current contents.
	

4.  INPUT FILE FORMAT:

	Your input file to the MAKTRM program should define your
	terminal according to the pattern shown below. Note that you
	have to type out all the headings in full, up to the colon
	character; MAKTRM as yet has no recognition function.
	
	Some of the various headings below take a string of characters
	for their argument; others will take a numeral, others again
	will take a simple 'yes' or 'no'. A string may consist of any
	character or characters (unless otherwise specified) - such as
	words or letters within double quotes (" and "), CTRL- characters,
	or numerals. Thus, a CTRL-J might be entered as ^j or as its
	corresponding numerical ASCII code: 10 (decimal), %12 (octal),
	or #A (hexadecimal).

	Cursor operations: Each cursor operation should be given as a
	string of 1 to 10 characters, defining whatever function will
	cause the cursor on your particular terminal to move in the
	manner indicated by the operation.	
	
	In addition to the above, the following logical names exist and
	may as such be part of strings without being surrounded by
	double quotes:

	Backspace	Bell		Blank		 Delete
	Escape		FormFeed	LineFeed	 Return
	Rubout (= Delete)  		Space (= Blank)  Tab

	These are the items you can specify:
	---------------------------------------
	
	Terminal Name:	The designation of your terminal, given
			as a string of 1 - 6 characters (e.g. the
			name typed within double quotes) excluding
			CTRL-characters. 
	
	Cursor Up:	Move the cursor one line straight up.

	Cursor Down:	Move the cursor one line straight down.

	Cursor Left:	Move the cursor one step (one character width)
			to the left.

	Cursor Right:	Same thing but in the other direction. 

	Cursor Home:	Place the cursor at its normal starting point:
			the topmost left-hand corner of the screen.

	Erase from Cursor to End of Line:
		 	Erase the rest of the current line.

	Time Needed for Erasing to End Of Line:
			Number of milliseconds to send fillers after
			erasing to end of line.

	Clear Screen:	Blank the entire screen.

	Time Needed to Clear Screen:
			Number of milliseconds to send fillers after
			clearing the screen.

	DCA Lead In String:
			The characters starting direct cursor addressing.

	DCA Intermediate String:
			Characters to send between row and column.

	DCA Trailing String:
			Characters to terminate addressing with.

	DCA Coordinates Decimal:
			YES if row and column should be given as decimal
			numbers, NO if they should be send as characters.
			The default is NO.

	DCA Column First:
			YES if the column should be sent first.

	DCA Row Offset:
	DCA Column Offset:
			What offset to add to row and column addresses.

	DCA Row Negate:
	DCA Column Negate:
			YES if row or coulmn should be negated before
			adding the offset.  The default is NO.

	DCA Exception Begin:
	DCA Exception End:
	DCA Exception Offset:
			Some terminals does have different column offsets
			for different columns.  Therefore, a method to
			specify a range with different column offset.

	CR Goes To Left Margin:
			YES if a a single Carriage Return puts the cursor
			at the leftmost position on the current line, NO
			if it does something else.  The default is YES.

	VT100 Region Scroll:
			YES if the terminal supports VT100-style region
			scroll operations, NO otherwise.

	Insert Line:
	Delete Line:	Characters to Insert or Delete one line.

	Time Needed to Insert/Delete Line:
			Number of milliseconds to send fillers after
			an Insert Line or Delete Line.

	Terminal Initialization String:
			String of 1 - 40 characters.

	Terminal Deactivation String:
			String of 1 - 40 characters.

	Terminal Width:	Integer denoting character positions.
			(Default is 80 character widths.)

	Terminal Page Length:	
			Integer denoting lines. (Default is
			24 lines.)

	Fixed Tab Stops Every 8 Columns:
			YES or NO.  Default is NO.

	Wrap Around From Last Column:
			Tell what action the terminal takes after writing
			a character at the rightmost position in a line.
			YES says that the terminal moves the cursor to the
			beginning of the next line.
			NO says that the cursor stays at the same position.
			UNKNOWN (the default) says that the behavour is
			indeterminate.  This will cause a direct addressing
			each time something is written in the last column,
			to make sure the position is correct.

	Fill Character:	
			Serves to 'fill out' the communication
			line to the computer, in order to let the
			terminal catch up, if it's slower than
			the connection. A Filler Char. should
			be given as a string of one character,
			preferably a character which is ignored by
			your terminal. 


	The following operations are not yet used by AMIS:

********************************
*
*	Insert Character Mode ON:
*	Insert Character Mode OFF: 
*	Delete character:
*	Time Needed to Insert/Delete Character:
*	Highlight Mode ON:	
*	Highlight Mode OFF:	
*
********************************

	As an example, here is how you might define a VT100 terminal
	that preserves Soft Scroll on exit: (Note that it is perfectly
	possible to write comments in your definition - anything
	following a semicolon character (;) on the line is ignored by
	the program.)

	Terminal Name: "VT100"
	Cursor up: Escape "[A"
	Cursor down: ^J
	Cursor left: ^H
	Cursor right: Escape "[C"
	Cursor home: Escape "[H"
	Erase from cursor to end of line: Escape "[K"
	Home and Clear Screen:
			Escape "[H" -	;First goto home
			Escape "[J"	;Then clear to end-of-screen
	Time needed to clear screen: 100
	DCA Lead In String: Escape "["
	DCA Intermediate String: ";"
	DCA Trailing String: "H"
	DCA Coordinates Decimal: Yes
	DCA Column First: No
	DCA Column Offset: 1
	DCA Row Offset: 1
	Time needed to insert/delete line: 15
	Region scroll algorithm: 5	;Standard VT100 region scroll
	Highlight mode ON: Escape "[7m"	;Select reverse video
	Highlight mode OFF: Escape "[m"	;Reset all video attributes
	Terminal initialization string: -
		Escape "<" -	;Set terminal in ANSI mode, then
		Escape "[?4l" -	;Select jump scroll
		Escape "=" -	;Enter alternate keypad mode
		Escape "[?1h" -	;Cursor application
		Escape "[?6l" -	;Select absolute origin
		Escape "[r"	;And finally, reset scrolling region.
	Terminal deactivation string: -
		Escape ">" -	;Exit alternate keypad mode
		Escape "[?1l" -	;Cursor key
		Escape "[?4h"	;Select soft scroll
	Terminal width: 80
	Terminal page length: 24
	Fixed tab stops every 8 columns: No
	Wrap around from last column: Yes
	Fill character: Rubout

5.  OUTPUT FILE FORMAT:

	Not readable by humans.


6.  KNOWN BUGS AND RESTRICTIONS:

	6.1  If you give a terminal name consisting of more than six
	     characters, AMIS will not be able to understand the
	     output file.

	6.2  Integer values (such as timing constants) must not be left
	     blank; that is, if your terminal description contains a
	     line whose value is an integer, this value must not be
	     omitted.

  			[End of MAKTRM.MAN]