Page 1 of 1

VDP Interrupt Processing

Posted: Wed Feb 03, 2021 8:13 pm
by mickagame
I have a question about vdp interrupt processing.
How long the vdp assert interrupt line for Horizontal and Vertical Interrupt?

Re: VDP Interrupt Processing

Posted: Thu Feb 04, 2021 10:15 am
by Stef
As long as M68K CPU acknowledge them.. if it doesn't then they remain pending indefinitely.
I don't think we can cancel them from VDP side.

Re: VDP Interrupt Processing

Posted: Thu Feb 04, 2021 10:31 am
by mickagame
So in my comprehension :
- The VDP lower the interrupt line
- When receive IACK from cpu the vdp raise interrupt line

This is correct?

So if VDP lower interrupt line and raise it before the CPU go in interrupt process the interrupt could be ignored (so pending interrupt == interrupt line in low state)?
If the vdp never raise the interrupt line the cpu will indefinitely execute the interrupt routine?

This extract from MC68000 manual seems to be confirm this behavior :
IPL0, IPL1, IPL2

These input indicate the encoded priority level of the device requesting an interrupt; Level seven is the highest priority while level 0 indicates that no interrupts are requested.
Level seven cannot be masked. The least significant bitis given in IPL0 and the most significant bit is contained in iPL2.
These lines must remain stable until the processor signals interrupt acknowledge (FC0-FC2 are all high) to insure the interrupt is recognized.
The way i understand is there is nothing inside processor that memoriez an interrupt is pending or not. It depends the stat of the IPL line.

Re: VDP Interrupt Processing

Posted: Fri Feb 05, 2021 1:18 pm
by Stef
Yeah, that is how it works :)