Skip to content

VBlank IRQ generation is missing every odd frames in interlaced modes #7

@akumanatt

Description

@akumanatt

As seen here, the signal should be generated on both even frames and odd frames, giving ~60Hz rate:

assign vblank_pulse = h_last && (vcnt == 524 || vcnt == 1049);

However, since vcnt counts twice per line, h_last is only true when vcnt is odd. This can be fixed by replacing h_last with h_half_line_last just like in the field toggling logic.

Here is a measurement confirming the bug:
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions