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: