Skip to content

CD-i: Add Cursor Blink #13624

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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

Vincent-Halver
Copy link
Contributor

@Vincent-Halver Vincent-Halver commented Apr 26, 2025

Intends to fix #13522.

This also fixes an error in mcd212.h which dropped the middle bit of the Cursor's ON timer. I changed it to use bitshifted binary which more clearly is readable as a correctly shifted mask.

The time calculation was produced algebraically by following the description on the page in the comment. It should work for NTSC as well as PAL, however NTSC games have not been tested since NTSC games are generally unsupported at the moment.

To test, I recommend the Validation Disc (Europe). Use the Cursor Blink test (described in #13522), and verify the timing of the blinks correctly matches the description for each test.

This also rewrites the cursor's draw logic to be slightly cleaner.

Intends to fix mamedev#13522.

This fixes an error in mcd212.h which dropped the middle bit of the Cursor's ON timer. I changed it to use bitshifted binary which more clearly is readable as a correctly shifted mask.
@Vincent-Halver Vincent-Halver requested a review from ajrhacker May 9, 2025 04:37
@rb6502
Copy link
Contributor

rb6502 commented Jun 4, 2025

@ajrhacker do you have any further issues with this?

Comment on lines +239 to +241
// Cursor State
uint16_t m_blink_time; // Counter that tracks how long since the last m_blink_active last changed.
bool m_blink_active = false;
Copy link
Member

Choose a reason for hiding this comment

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

You haven’t registered these new data members for saved states in device_start. Please check that all data members that hold live state are registered for saved states.

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.

CD-i: Cursor does not blink
4 participants