libretro / libretro/blastem

Aspect ratio is incorrect, particularly with overscan cropped

Open
#37 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
77
Forks
38
Avg merge
36m
Merged PRs (30d)
6

Description

Genesis Plus GX, NTSC Game, correct ~4:3 ratio:

Atomic Runner (USA)-211104-174450

Genesis Plus GX, PAL Game, correct ~8:5 ratio (PAL had 288 lines per field compared to NTSC's 240, but most PAL MD games still only use 224 after overscan, leaving large black borders on the top and bottom of the screen):
Atomic Runner (Europe)-211104-174544

Blast'Em, NTSC Game, wrong ratio:
Atomic Runner (USA)-211104-174739

Blast'Em, PAL Game, wrong ratio:
Atomic Runner (Europe)-211104-174837

This pull request introduced the bug:

https://github.com/libretro/blastem/pull/25

It computes the aspect ratio using the number of (overscan-cropped) horizontal and vertical pixels, but the aspect ratio should be that of how a TV of the time was expected to display it. It should always be reporting ~4:3 for NTSC and ~8:5 for PAL (except for games that use the true 240P PAL mode of the VDP, if any exist). Genesis Plus GX does this by actually considering the pixel clock frequency compared to the canonical scan rate of the video signal, but returning a stock aspect ratio based on video mode is probably close enough. A real TV of the time could be calibrated to exactly fit the signal to its display area anyway.

See here for discussion.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing pull request #25 and the aspect-ratio calculation it introduced, then compare its behavior for the NTSC and PAL examples in this issue. Done means the reported display ratio remains approximately 4:3 for NTSC and 8:5 for PAL, including when overscan is cropped.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.