sega/model2: apply color table to tilemap layers; indy500 supports 16:9 #14515
+41
−14
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.
Applying the color table to tilemap layers results in Behind Enemy Lines correctly fading to/from black when starting a game. It is necessary to refresh the whole palette if the scroll (tilemap) color table is written to.
I assume that the scroll color table is used when direct framebuffer drawing is enabled, since pixels are in 15-bit RGB format without a luminance component.
Indy 500 deluxe cabinets use 16:9 monitors:
Also the CRTC offset values when drawing directly to the framebuffer have been corrected; the title screen of Last Bronx now appears exactly in the correct position.
I'm debating whether to remove the fixed gamma adjustment in favor of letting the user use the brightness/contrast sliders, since the "gamma curve" varies from game to game, however this would lead to some games looking very washed out before adjustment and users who are unaware of the slider settings might be unhappy with the change. I don't think it is possible to apply custom brightness/contrast values in the driver itself (if there is a way, I'd be delighting to hear it).
We could perhaps use
PORT_ADJUSTERto add sliders that allow users to adjust the "gamma curve" while applying settings that look decent for most games out of the box.