Atari Portfolio - INT 60 SPECIFICATION
--------------------------------------

The purpose of this document is to highlight some of the INT 60h
functions, escpecially those related to Editor Hook services.

Not all services are fully described in this document.
All services are described in detail in Portfolio Tech Guide
which is available in Xerox-copy from the address at the end
if this document.


Fn 00h	Get version number

INPUT		AH	00h

Returns		DS:DX	pointer to verion number - ASCIIZ string

------------------------------------------------------------------------------
Fn 01h	Line Editor

not described in this document


------------------------------------------------------------------------------
Fn 02h	Get Current Application

Input		AH 	02h	
		DL	set to 0ffh  (-1)

Returns		number of current application

		AL=0	not in application
		1	worksheet
		2	diary
		3	editor
		4	adress book
		5	setup
		6	menu

Description	Determines the current aplication. This would typically
		be done from an editor hook or TSR.

-------------------------------------------------------------------------------
Fn 03h-07h	Reserved for Custom Add-ins:

Fn 03h		Used for Editor Hook  *.HOO files

Editor hooks enable users to control the Editor from the outside.
There are 6 Editor-hook services. These enable an aplication to spawned
from within the Editor to access a limited number of internal functions which
modify the text and enviroment.

EDHO_GOTO	move the cursor position
EDHO_GET	get the cursor position
EDHO_REF	refresh the screen
EDHO_LOC	get location of character at cursor
EDHO_INS	insert string into text
EDHO_DEL	delete characters from text

---------
EDHO_GOTO	move the cursor position

INPUT		AH	03h  	
		AL	00h  subservice
		CX	repetition count
		DX	type of movement

Returns		AX	number of characters moved

Note:	There are 6 type of movement defined by DX:

		1	character
		2	word
		3	line
		4	start/end line
		5	start/end paragraph
		6	start/end file

A negative repetition count (negative value in CX) moves backwards.


---------
EDHO_GET	get the cursor position

INPUT		AH	03h
		AL	01h

Returns		BX	Column offset
		DX	Line number

Note:		Returns the current location of the cursor in the text


---------
EDHO_REF	refresh the screen

INPUT		AH	03h
		AL	02h
		BX	cursor location override
		DX	invalid flag override

Returns		none

Note: Cursor override is only applicable if the cursor is outside
the scroll margins, and forces a refresh from the point specified:

values in BX	0	do nothing
		1	refresh using top scroll margin
		2	refresh	using center
		3	refresh using bottom scroll

Invalid flag override consists of 5 bits which are used internally
by the Editor. they are OR-ed with any existing bits, and determine
what type of refresh is performed:

values in DX	0	use default override
		1	refresh current line
		2	refresh current paragraph
		4	refresh current offset
		8	check within scroll margin
	      010h	refresh boarder/frame
	      020h	complete redraw

----------
EDHO_LOC	get location of character at cursor

INPUT		AH	03h
		AL	03h

Returns		ES:BX	address of text

Note:		This service gets the address in RAM of the character at
		cursor.

----------
EDHO_INS	insert string into text

INPUT		AH	03h
		AL	04h
		ES:BX	address of ASCIIZ string to insert

Returns		AX	set to 0 if service failed

Note:		Inserts text at current cursor position, and moves cursor
		to end of string


----------
EDHO_DEL	delete characters from text

INPUT		AH	03h
		AL	05h
		CX	number of characters to delete
		DX	0 prevents characters from going to Undelete buffer

Returns		AX	set to 0 if service failed

Note:		Negative number in CX simulates "Backspace", a positive
		number simulated "Delete".


------------------------------------------------------------------------------
Fn 08h		Save/restore screen

INPUT		AH	08h
		AL	subservice (00-03)
		BH	video page number
		DS:SI	buffer to restore saved screen RAM
		CX	bottom right of screen area to save (inclusive)
		DX	top left of screen area to save (inclusive)

Returns		none

Desription:	This function either saves or restores the screen area defined
		by CX and DX to the buffer pointed to by DS:SI. The subservices
		are a follows:

		00	save characters only
		01	save char+attributes
		02	restore character only
		03	restore char+attributes

Note:		Portfolio does not use any screen attributes in its display.
		The function applies to TEXT mode only. (No graphics)

------------------------------------------------------------------------------
Fn 09h		Draw box (using text characters)

INPUT		AH	09h
		AL	type of line (00 single, 01 double)
		BH	video page number
		CX	bottom right of box
		DX	bottom left of box

Returns		none

Note:		The function works with TEXT move only. (No graphics)


------------------------------------------------------------------------------
Fn 0Fh		Drawing menus (in text mode)

not described in this document

------------------------------------------------------------------------------
Fn 010h		Box area calculation

not described in this document

------------------------------------------------------------------------------
Fn 012h		Message Window

not described in this document

------------------------------------------------------------------------------
Fn 014h		Error Windows

not described in this document

------------------------------------------------------------------------------

To learn more about Portfolio, programming, hardware, and software support,
please contact:

Jan Sedlak
Portfolio
Sarajevska 29
120 00 Praha 2

phone  + 42 2 691 11 63  (also fax, modem)
phone  + 42 2 99 61 894  (also answ.)

E-mail:	sedlakj@dec59.ruk.cuni.cz

This document date: 11:13am 11-17-1995
 
