Update EHB logic so palette mirroring will be correct with A1000 early Denise chip. With AGA chipset, bplehb may be zero (uses color registers 32-63), but for OCS/ECS it must be -1 (mirrors color registers 0-31). Logic assumes that OCS Denise with EHB support cannot disable its EHB colors.
bplplanecnt = dp_for_drawing->nr_planes;
bplham = dp_for_drawing->ham_seen;
bplehb = dp_for_drawing->ehb_seen;
- if (ecs_denise && (dp_for_drawing->bplcon2 & 0x0200)) {
- bplehb = 0;
- if (!aga_mode)
- bplehb = -1;
+ if (ecs_denise) {
+ // Check for KillEHB bit in ECS/AGA
+ if (dp_for_drawing->bplcon2 & 0x0200) {
+ bplehb = 0;
+ if (!aga_mode)
+ bplehb = -1;
+ }
+ } else if ((currprefs.cs_denisenoehb)) {
+ bplehb = -1;
}
bplcolorburst = (dp_for_drawing->bplcon0 & 0x200) != 0;
if (!bplcolorburst)