Download Print this page

Atari 400 Technical Reference Manual page 92

Home computer system
Hide thumbs Also See for 400:

Advertisement

MASKABLE INTERRUPTS
An IRG interrupt causes control to be transferred through the
immediate IRQ global RAM vector VIMIRQ [0216].
Ordinarily this
vector points to the system IRG Handler.
The Handler performs
these following actions:
The IRG Handler determines a cause for the interrupt by
examining the IRQST [020EJ register and the PIA status
registers PACTL [0302] and PBCTL [D3031. The interrupt status bit
is cleared when it is found.
One interrupt event is cleared and
processed for each interrupt-service entry.
If multiple IRQs are
pending,
then a separate interrupt will be generated for each
pending IRQ,
until all are serviced.
The system IRQ interrupt service routine deals with each of the
possible IRQ causing events,
in the following ways:
o
The 6502 A register is pushed to the stack.
o
If the interrupt is due to serial 1/0 bus output ready,
then clear the interrupt and Jump through global RAM
vector VSEROR [020Cl.
o
If the interrupt is due to serial 1/0 bus input ready,
then clear the interrupt and Jump through global RAM
vector VSERIN [020Al.
o
If the interrupt is due to serial 1/0 bus output
complete,
then clear the interrupt and Jump through
global RAM vector VSEROC [020El.
o
If the interrupt is due to POKEY timer *1,
then clear the
interrupt and Jump through global RAM vector VTIMR1 [02101.
o
If the interrupt is due to POKEY timer *2,
then clear the
interrupt and Jump through global RAM vector VTIMR2 [02121.
o
If the interrupt is due to POKEY timer *4,
then clear the
interrupt.
The service routine contains a bug, and falls
into the following test.
o
If pressing a keyboard key caused the interrupt (other
than [BREAK1,
[STARTl,
[OPTION], or [SELECT1);
then clear the
interrupt and Jump through global RAM vector VKEYBD [02081,
o
If pressing the [BREAKJ key caused the interrupti
then
clear the interrupt. Set the BREAK flag BRKKEY [00111 to
zero,
proceed to clear the following:
Start/stop flag SSFLAG [02FFJ
Cursor inhibit flag CRSINH [02FOJ
Attract mode flag ATRACT [0040J
OPERATING SYSTEM C016555 -- Section 6
107

Hide quick links:

Advertisement

loading

This manual is also suitable for:

800