Skip to content

Fix raw image & video capture for 160x200 16-colour Tandy/PCjr modes #3185

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

Merged
merged 3 commits into from
Dec 8, 2023

Conversation

johnnovak
Copy link
Member

@johnnovak johnnovak commented Dec 7, 2023

Description

Before this change, raw image and video captures of the 160x200 16-colour Tandy/PCjr video modes were written width-doubled as 320x200. This is because this special mode is rendered with "baked-in" pixel doubling (we're not doing this for any other mode).

With this fix, raw image & video captures work 100% consistently with our definition of raw captures for all video modes on all emulated adapters 🎉

See the end of this post for a list of games that use the 160x200 Tandy/PCjr mode:

http://nerdlypleasures.blogspot.com/2015/10/advantages-of-160x200-16-color.html

Related issues

#3177

Manual testing

Regression tested raw image & video capture with a couple of VGA and EGA games—all good.

Tested 160x200 16-colour Tandy/PCjr mode with Maniac Mansion v1.

image image

Raw image capture

image

Raw video capture

image

Checklist

Please tick the items as you have addressed them. Don't remove items; leave the ones that are not applicable unchecked.

I have:

  • followed the project's contributing guidelines and code of conduct.
  • performed a self-review of my code.
  • commented on the particularly hard-to-understand areas of my code.
  • split my work into well-defined, bisectable commits, and I named my commits well.
  • applied the appropriate labels (bug, enhancement, refactoring, documentation, etc.)
  • checked that all my commits can be built.
  • confirmed that my code does not cause performance regressions (e.g., by running the Quake benchmark).
  • added unit tests where applicable to prove the correctness of my code and to avoid future regressions.
  • made corresponding changes to the documentation or the website according to the documentation guidelines.
  • locally verified my website or documentation changes.

@johnnovak johnnovak force-pushed the jn/fix-160x200-capture-1 branch 5 times, most recently from 1316469 to 47a9326 Compare December 7, 2023 11:14
@johnnovak johnnovak added bug Something isn't working video Graphics and video related issues labels Dec 7, 2023
@johnnovak johnnovak self-assigned this Dec 7, 2023
@johnnovak johnnovak changed the title Jn/fix 160x200 capture 1 Fix raw image & video capture for 160x200 16-colour Tandy/PCjr modes Dec 7, 2023
@johnnovak johnnovak marked this pull request as ready for review December 7, 2023 13:22
Copy link
Member

@kcgen kcgen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good! Just one suggestion.

@johnnovak johnnovak force-pushed the jn/fix-160x200-capture-1 branch from 47a9326 to 74f9abb Compare December 8, 2023 02:32
Before this change, raw image captures of the 160x200 16-colour
Tandy/PCjr video modes were written width-doubled as 320x200.
Before this change, raw video captures of the 160x200 16-colour
Tandy/PCjr video modes were written width-doubled as 320x200.
@johnnovak johnnovak force-pushed the jn/fix-160x200-capture-1 branch from 74f9abb to 5651a08 Compare December 8, 2023 02:33
@johnnovak johnnovak merged commit a96ab10 into main Dec 8, 2023
@johnnovak johnnovak deleted the jn/fix-160x200-capture-1 branch January 20, 2024 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working video Graphics and video related issues
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants