View Single Post
Old 23 October 2013, 11:19   #16
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,506
Quote:
Originally Posted by phx View Post
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)
Toni Wilen is offline  
 
Page generated in 0.04375 seconds with 11 queries