libpinmame: add support for video and segment dmd displays #183
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
andOnDisplayUpdated
will now come back with a new type ofCORE_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
anddrawPixel
to work more directly with anAlphaNumericFrameBuffer
. I did not understand theAlphaNumericFrameBuffer
andcurrbuffer
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.