IRQ vector &0060
This is
called as soon as an interrupt occurs. It is not
recommended that you use this, unless you intend to
completely replace Amélie's interrupt
system.
Normal behaviour is to point to the BIOS
interrupt dispatch code, which may call further
vectors.
Ticker vector &0062
This is
called every time the 50Hz ticker interrupt occurs.
Code attached to this vector must be
quick.
Normal behaviour is the BIOS code that maintains
the ticker events, then only bit 6 of the IFR will be
reset.
VIA IRQ &0064
This is called for a VIA interrupt that
was not the 50Hz ticker. You use this to implement custom
responses to specific events, i.e. a "panic button" or
"crash" sensor. Refer to the VIA
description for further details of the IFR.
Normal
behaviour is for the BIOS to write zero to the IFR
and return (i.e. ignoring the interrupt).
Unused1 &0066
This vector is unused, and points to the
processor reset vector.
Unused2 &0068
This vector is unused, and points to the
processor reset vector.
Serial RXByte &006A
This is called when the ACIA tells us a
byte has been received, and is present in the ACIA's receive
register.
Normal behaviour is to retrieve the byte and
push it to the buffer.
Serial TXByte &006C
This is called when the ACIA tells us
that the transmit buffer is empty.
Normal behaviour is to
send the next byte, if there is one
waiting.
Serial Other &006E
This is calls for other ACIA interrupt
reasons - DCD detected, or DSR status change.
Either of
these can be wired to allow Amélie to detect if a
serial link is connected. Amélie holds !DTR low to
signify that the serial functions are active. A
suitably-wired 'basic' serial lead would connect !DTR to
!DSR so that Amélie can detect if the lead is
connected. Refer to the ACIA
description for more details.
Normal behaviour is to
clear the interrupt and return (i.e. ignoring
it).
WatchFail &0070
This is called by the watchdog code
immediately prior to device reset and application
lock-out.
NOTE THAT THIS VECTOR SHOULD NOT BE USED
INSTEAD OF RESETTING THE WATCHDOG PERIODICALLY.
Normal
behaviour is to point to the watchdog handling
code.
NewMin &0072
This is
called when the internal time rolls over to a new
minute.
In the case of new hour or new day, this vector
is not called.
Normal behaviour is to do
nothing.
NewHour &0074
This is called when the internal time
rolls over to a new hour.
In the case of new day, this
vector is not called.
Normal behaviour is to do
nothing.
NewDay &0076
This is called when the internal time
rolls over to a new day.
Normal behaviour is to do
nothing.
Unused3-Unused6 &0078-&007E
These
vectors are unused, and point to the processor reset
vector.