Skip to content

fix(mister): handle pixel-repeated 1440p framebuffer scaling #171

Description

@zaparoo-automation-bot

MiSTer video mode 14 (2560×1440@60) rendered frontend through an incorrect 640×720 framebuffer, stretching the UI horizontally.

Root cause

Mode 14 stores 1280×1440 timing geometry with horizontal pixel repetition (pr=1) to produce physical 2560×1440 output.

Scale-relative fb_cmd handling divided stored horizontal and vertical dimensions uniformly. Frontend’s full-then-half probe therefore produced 640×720.

Main’s normal framebuffer configuration already accounts for pixel repetition by applying different horizontal and vertical scaling.

Expected behavior

  • Mode 14 uses a 1280×720 logical framebuffer.
  • Physical output remains 2560×1440.
  • UI renders at exact 2× scale without horizontal stretching.
  • Other pixel-repeated modes follow equivalent logical scaling.
  • Non-pixel-repeated 720p, 1080p, and 1440p modes remain unchanged.

Verification

  • Confirm framebuffer mode and virtual size are 1280×720.
  • Verify correct aspect ratio from frontend launch.
  • Verify restart and game-return behavior.
  • Cover scale-relative framebuffer geometry with and without pixel repetition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmainSomething to do with MiSTer Main

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions