NAME
AbleICR -- Enable/disable ICR interrupts.
SYNOPSIS
oldMask = AbleICR( Resource, mask )
D0 A6 D0
WORD AbleICR( struct Library *, WORD );
FUNCTION
This function provides a means of enabling and disabling 8520
CIA interrupt control registers. In addition it returns the
previous enable mask.
INPUTS
mask A bit mask indicating which interrupts to be
modified. If bit 7 is clear the mask
indicates interrupts to be disabled. If
bit 7 is set, the mask indicates
interrupts to be enabled. Bit positions
are identical to those in 8520 ICR.
RESULTS
oldMask The previous enable mask before the requested
changes. To get the current mask without
making changes, call the function with a
null parameter.
EXAMPLES
Get the current mask:
mask = AbleICR(0)
Enable both timer interrupts:
AbleICR(0x83)
Disable serial port interrupt:
AbleICR(0x08)
EXCEPTIONS
Enabling the mask for a pending interrupt will cause an
immediate processor interrupt (that is if everything else is
enabled). You may want to clear the pending interrupts with
SetICR() prior to enabling them.
NOTE
The CIA resources are special in that there is more than one
of them in the system. Because of this, the C language stubs
in amiga.lib for the CIA resources require an extra parameter
to specify which CIA resource to use. The synopsys for the
amiga.lib stubs is as follows:
oldMask = AbleICR( Resource, mask )
D0 A6 D0
WORD AbleICR( struct Library *, WORD );
SEE ALSO
cia.resource/SetICR()