diff options
author | Simon Eriksson <sp1187@users.noreply.github.com> | 2021-10-05 17:32:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-05 11:32:38 -0400 |
commit | d8dd087f9069652151368c093f18392adbaa254b (patch) | |
tree | 3f77f285a0313e28013785dfb53095d0e6ddf7e5 /src/devices/machine | |
parent | 89ffebc976d5fa1c246e806a9159446f94d96d7b (diff) |
machine/spg_renderer.cpp: Fix blend level handling for tile layers (#8652)
Diffstat (limited to 'src/devices/machine')
-rw-r--r-- | src/devices/machine/spg_renderer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/devices/machine/spg_renderer.cpp b/src/devices/machine/spg_renderer.cpp index a4171697095..6dd526a902a 100644 --- a/src/devices/machine/spg_renderer.cpp +++ b/src/devices/machine/spg_renderer.cpp @@ -467,7 +467,11 @@ void spg_renderer_device::draw_page(bool read_from_csspace, bool has_extended_ti const uint32_t bits_per_row = nc_bpp * tile_w / 16; //const uint32_t words_per_tile = bits_per_row * tile_h; const bool row_scroll = (ctrl & 0x0010); - uint8_t blendlevel = (m_video_regs_2a & 3) << 3; + + // Max blend level (3) should result in 100% opacity, per docs + // Min blend level (0) should result in 25% opacity, per docs + static const uint8_t s_blend_levels[4] = { 0x08, 0x10, 0x18, 0x20 }; + uint8_t blendlevel = s_blend_levels[m_video_regs_2a & 3]; uint32_t words_per_tile; |