Quote:
Originally Posted by phx
Thanks Toni. So probably my second paragraph is right?
IPL is 3 when a VERTB IRQ happens, until I lower priority with RTE.
If I cleared the VERTB-flag in INTREQ, at the beginning of my routine, and the next VERTB happens before RTE, then the interrupt is caused directly after it? Otherwise it is lost. Is that correct?
|
Yeah. If IPL is still 3 when RTE executes (=INTREQ VERTB bit is set), new level 3 interrupt starts immediately after RTE finishes. (This is also the place where 68040/060 "issue" can happen, there is short delay, 1-2 color clocks, before IPL line change after INTREQ write, cached RTE may finish very quickly, IPL lines have still old interrupt level -> interrupt retriggers unexpectedly)
What do you mean by lost? You only "lose" interrupts if you clear INTREQ at the end of routine and your routine took longer than 1 vblank. (and yuo can only lose/miss interrupts that are not caused by external devices like CIA or HD controller)