lgblgblgb / xemu

Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
https://github.com/lgblgblgb/xemu/wiki
GNU General Public License v2.0
201 stars 31 forks source link

MEGA65: VIC-IV RRB transparency issue #407

Closed RetroCogs closed 3 weeks ago

RetroCogs commented 3 weeks ago

Describe the bug When using RRB and setting transparency using GOTOX, once transparency is set it cannot be unset for that line.

Used version of the project Observed on version 20240620201019 next

To Reproduce Using RRB, set transparency using color ram byte 0-bit7 and draw a character, then clear transparency using color ram byte 0-bit7.

You will notice that the following RRB chars are still transparent.

Expected behavior Setting / clearing color ram byte0-bit7 when GOTOX is set should correctly switch between transparent and opaque.

Screenshots Showing the sample program on Emu showing the issue.

image

Showing the sample program on HW with correct behavior.

image

Computer/Device (please complete the following information):

Additional context Add any other context about the problem here.

lgblgblgb commented 3 weeks ago

As I've written on Discord: Great, thanks! As far as I can see, this is a kind of problem we had before; only setting/resetting a thing on GOTOX token but missing the "else" branch for the opposite.

lgblgblgb commented 3 weeks ago

@RetroCogs I cannot test this patch too much right now, but judging by the diff, it's quite trivial to understand what it does and how, so I think it's safe to be merged by me right now. Thanks again.