Re: A89: interrupts
[Prev][Next][Index][Thread]
Re: A89: interrupts
I'm quite sure you've got to use "rte" to return from interrupts... try that
//Olle
Dux Gregis wrote:
>
> 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
References: