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: