I used to like the 68k method of 7 levels. I had no problems at all with
that but this penny-pinching one-size-fits-all just seems like grief.
:)
-----Original Message-----
From: Jason Wilkins [mailto:
fenix@...]
Sent: 02 May 2003 15:42
To:
gbadev@yahoogroups.com
Subject: Re: [gbadev] Multiple interrupts revisited - was crtls
Interrupt Handler
Hey Rob, it looks like you might be experiencing what I hypothesized
would happen if you use the multiple interrupt code. My theory is that
the Multiple IRQ code in crtls.zip and Nintendo's reintr example is
'last
come, first serve'
This means that the latest interrupt is always the one which will get
serviced now, and it will preempt any one that is already in progress.
If
you want to assign priority then you will have to write code which
temporarily ignores lower priority interrupts.
If you are using single interrupts then the problem is that interrupts
are
being put off too long, and you should switch to multiple interrupts so
that those more important IRQs can get priority.
Of course I could be completely wrong. I thought I understood
interrupts
pretty well before I started to get my hands dirty with them. The
text-book made it sound so easy ^_^