Re: A89: interrupts
[Prev][Next][Index][Thread]
Re: A89: interrupts
ok, having an auto int 2 handler like this:
int2:
rts
only gives an address error. Is there something else I need to do there
besides this? I don't want to have to disable all the interrupts everytime
I check for a 2nd keypress because it will probably affect my grayscale auto
int 1 handler.
>
>You can't disable auto int 2 without disabling int 1 with just setting the
mask
>no.. but you can change only the int 2 vector without changeing the int 1
>vector.. (removeing the move.l #int,($64) line...)
>
>btw.. auto int 7 is not only generated when writing to $64.. infact it is
>generated when writing to any address below $120
>
>(all this can be read in the fargo-documentation btw...)
>
>//Olle
>
>Dux Gregis wrote:
>> ok, so you can't disable auto int 2 without also disabling auto int 1,
then?
>>
>> I'll try doing this:
>>
>> move.w #$700,d0 ;temporary interrupt mask
>> trap #1 ;call supervisor program to
enable
>> it
>> move.l $64,(old_int) ;save old interrupt 1 address
>> bclr.b #2,($600001) ;clear bit that generates auto 7 interrupt
when
>> writing to ($64)
>> move.l #int,($64) ;new interrupt 1 address
>> move.l #int2,($68) ;new interrupt 2 address
>> bset.b #2,($600001) ;then set it again
>> trap #1 ;replace temporary mask with old
>> mask
>>
>> int2: ;dummy interrupt handler
>> rts
Follow-Ups: