Atari ST series Technical Reference Manual page 145

Hide thumbs Also See for ST series:
Table of Contents

Advertisement

dc.w
$AO O O
It's technically possible to call the line A routines from
C, given the proper library'routines. At this time, however,
only the Mark Williams C compiler and Megamax Laser C pro­
vide such library routines as a standard feature. There are a
number of reasons you might not want to use the line A rou­
tines from C. First, the GEM VDI routines are easier to call
from C and provide adequate performance in most circum­
stances. Second, there is no standard way to call these rou­
tines from C, making your code less portable. Finally, in
cases where you wish to use the line A routines to improve
performance, you'll probably want to avoid the overhead
added by the C compiler and write directly in machine lan­
guage instead. For these reasons, we'll confine our discus­
sion of the line A routines to machine language program­
ming.
Use of the line A routines requires a fair understanding
of the system used by the ST to produce graphics. An in-
depth examination of this subject could fill a book of its own,
and is therefore beyond the scope of this work. Since the line
A routines were written to support the GEM VDI functions,
however, much of the material that deals with VDI graphics
is applicable to the line A routines as well. The reader who
wishes to learn more about the line A functions should look
to the COMPUTEf's Technical Reference Guide, Atari ST Volume
One: The VDI, which covers the VDI graphics functions in de­
tail.
Line A Initialization Command
Most line A commands require some input values to be
placed in the line A variable table. The location of this table
will vary depending on which version of TOS you're using,
so find the base address of the Line A variable table before
using line A calls. To do this, use the $A000 opcode, which
is referred to as the line A initialization function. When you
include the instruction
dc.w.
$A000
in your program, it calls the line A handler, which returns
three useful pointers in some of the data and address regis­
Line A Routines
137

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents