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

libpinmame: add support for video and segment dmd displays #183

Merged
merged 1 commit into from
Dec 28, 2023

Conversation

jsm174
Copy link
Contributor

@jsm174 jsm174 commented Dec 28, 2023

This PR adds support for video and segment dmd displays for libpinmame.

Now that PinMAME has code to render alphanumeric displays as a DMD, OnDisplayAvailable and OnDisplayUpdated will now come back with a new type of CORE_DMD | CORE_DMDSEG.

This DMD will be a 128x32 2-bit color display. I've tested the output of these displays with Serum, and Diner works perfectly.

For games that have a video display, like BabyPac (#80), a CORE_VIDEO type display will be returned, with an RGB24 buffer.

One remaining issue is Baby-Pac's display is rotated 90 degrees. I'm not sure if other tables with video displays are rotated as well.

Lastly this PR has a bunch of formatting updates for libpinmame specific files that more match other parts of the code.

@toxieainc - I did switch getPixel and drawPixel to work more directly with an AlphaNumericFrameBuffer. I did not understand the AlphaNumericFrameBuffer and currbuffer logic. (Also I can confirm that drawPixel only gets a value of 0-3 for 2-bit color) - Feel free to update if this could be done better.

@jsm174 jsm174 merged commit b791a7a into vpinball:master Dec 28, 2023
30 of 35 checks passed
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