Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explain line IRQ differences between VGA and composite/RGB #201

Open
mooinglemur opened this issue Jul 1, 2024 · 0 comments
Open

Explain line IRQ differences between VGA and composite/RGB #201

mooinglemur opened this issue Jul 1, 2024 · 0 comments

Comments

@mooinglemur
Copy link
Contributor

mooinglemur commented Jul 1, 2024

In interlaced modes, the least significant bit of IRQLINE_L is ignored, so that raster interrupts end up happening on both fields.

On the VERA, the raster interrupt is delivered at the very end of the line that you call for, so your code will get control as the next line is scanning out. If you were to change the scroll of a layer, it would take effect on the next line.

Output type IRQLINE set to IRQ delivered Control gained on line Scroll offset changed on line
VGA 14 end of 13 14 15
VGA 15 end of 14 15 16
RGB/NTSC even field 12 or 13 end of 12 14 16
RGB/NTSC odd field 12 or 13 end of 13 15 17
RGB/NTSC even field 14 or 15 end of 14 16 18
RGB/NTSC odd field 14 or 15 end of 15 17 19

This means that for split-screen parallax, NTSC and RGB outputs need their raster interrupts set one line earlier than for VGA. For instance, 14 on VGA requires 12 (or 13) on NTSC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant