Skip to content
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

CD-i: Add RGB Decoding #13246

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

Vincent-Halver
Copy link
Contributor

@Vincent-Halver Vincent-Halver commented Jan 19, 2025

  1. This fix adds RGB decoding and RGB Transparency bit. It disables transparency color keying for RGB.
  2. It fixes an incorrect enum that was foreshadowed in previous revisions.

As with previous pulls, you can validate this using the Validation Disc (Europe) for the CD-i.

RGB Scroll Test

Due to the enum for CLUT8 and RGB being the same, this previously decoded as a CLUT8 image. When ICM flag 1 is used on path 1, it is instead decoded as RGB.
{24B08B2F-8C6C-4F60-B01C-57E3D8EA26F2}

RGB Draw Test

The house is now the right color
{07289C62-1273-4C22-8A7D-13D5680C3CE2}

Color Keying Test

RGB is now decoded correctly. Additionally, RGB does not match color key. Even when matching "red" colors, notice that the line of RGB still shows red. This is correct behavior, as RGB is not allowed to match color keys.
{827BF19D-391A-4880-9AC2-BD8BA927D76E}

Transparency Control (Uncertain Issue)

The implementation of RGB color keying is to always be false. However the spec says that "RGB cannot use color key tests". Since this would be a misconfiguration in practice... I am not sure what a true console would produce. The Transparency Control shows a different behavior. It's not clear from looking at it whether the change is expected or unexpected.
{9EA9127F-762D-4546-9183-4BC508D6BAFB}

Despite the last image, this change is much closer to correct spec behavior and it's recommended to pull. Someone with a real console should at some point run through all visual tests to get proper reference images.

This fix adds RGB decoding and RGB Transparency bit. It disables transparency color keying for RGB.

It fixes an incorrect enum that was foreshadowed in previous revisions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant