•  Back 
  •  Line-A 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File6.1  The Line-A emulator                                           TOS

The Line-A emulator makes fast graphical routines available that serve 
as the basis for the VDI functions. However, the Line-A functions are 
only usable for the 3 ST screen resolutions. Since they are not 
resolution-independent, they should not be used if an application may 
run on other graphics systems! In the TT030 the Line-A functions are 
present only for the sake of compatibility.

One also talks about a Line-A emulator, as the processors of the 68k 
series do not have opcodes that start with $A or $F in the highest 
nibble. An exception is triggered instead. Since the exception handler 
can itself perform more or less sensible things, one can also look at 
this procedure as a command extension, where the opcodes do not 
execute directly in the processor, but represent a program instead. So 
a machine command is emulated, so to speak.

Parameter passing to the Line-A functions takes place in the Line-A 
parameter block. The address of this structure can be obtained with 
initialization $A000, which returns a pointer to an internal variable 
table in d0 and a0 which is used in place of the stack or internal 
registers.

Callling a Line-A function alters the registers d0-d2 and a0-a2. If 
further registers are altered, this is noted explicitly in the 
description of the various functions.