Skip to content

SCX low bits are re-read per fetch, not once per line #659

@avivace

Description

@avivace

Spun off from #626 to track an open discussion that shouldn't block merging that PR.

Context is:

@LIJI32 pointed out a subtlety about how SCX is sampled during background fetching:

You'd think the low bits of SCX would only be read once per line, because that's the logical way to do so, but unfortunately this isn't true. The fetched tile's X position is calculated (roughly) by adding SCX to LX and taking the 5 topmost bits, rather than adding the 5 topmost bits of SCX and LX.

We need:

  • A test ROM (or other concrete evidence) demonstrating the per-fetch behavior.
  • To fix the corresponding wording in Scrolling.md

cc @LIJI32 @ISSOtm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions