Topic : The ATARI Compendium
Author : Scott Sanders / JAY Software
Version : 1.25 (20/6/2003)
Subject : Documentation
Nodes : 1117
Index Size : 32614
HCP-Version : 6
Compiled on : Atari
@charset : UTF-8
@lang : en
@default :
@help : %About
@options : +g -i -t4 +y +z
@width : 100
View Ref-FileGEMDOS VectorsGEMDOS reserves eight system interrupt vectors (of which only three are
used) for various system housekeeping. The BIOS function Setexc() should
be used to redirect these vectors when necessary. The GEMDOS vectors are
as follows:
Name Setexc() Usage
Vector
Number
VEC_TIMER 0x0100 Timer Tick Vector: This vector is jumped through
50 times per second to maintain the time-of-day
clock and accomplish other system housekeeping.
A process intercepting this vector does not have
to preserve any registers but should jump
through the old vector when completed. Heavy use
of this vector can severly affect system
performance. Return from this handler with RTS.
VEC_CRITICALERR 0x0101 Critical Error Handler: This vector is used by
the BIOS to service critical alerts (an Rwabs() disk error or media change request). When
called, the WORD at 4(sp) is a GEMDOS error
number. On return, D0.L should contain 0x0001000
to retry the operation, 0 to ignore the error,
or 0xFFFFFFxx to return an error code (xx).
D3-D7 and A3-A6 must be preserved by the
handler. Return from this handler with RTS.
VEC_PROCTERM 0x0102 Process Terminate Vector: This vector is called
just prior to the termination of a process ended
with ctrl-c. Return from this handler with RTS.
- 0y103- Currently unused.
0x107