From af8466ca5400ee23ba2fc0853b9849ae4f4d1429 Mon Sep 17 00:00:00 2001 From: Brendan Robert Date: Mon, 9 Feb 2015 01:13:14 -0600 Subject: [PATCH] 100% correct double-lores rendering -- Many thanks to the French Touch for their Ansi Story! :-) (yes, the split mode used on the "flip disk" screen also works... ;-) --- src/main/java/jace/apple2e/VideoNTSC.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/jace/apple2e/VideoNTSC.java b/src/main/java/jace/apple2e/VideoNTSC.java index 96b0b61..55fd1f5 100644 --- a/src/main/java/jace/apple2e/VideoNTSC.java +++ b/src/main/java/jace/apple2e/VideoNTSC.java @@ -141,16 +141,18 @@ public class VideoNTSC extends VideoDHGR { c2 >>= 4; } if ((xOffset & 0x01) == 0) { - int pat = c1 | c1 << 4 | c2 << 8 | (c2 & 3) << 12; + int pat = c1 | (c1 & 7) << 4; + pat |= c2 << 7 | (c2 & 7) << 11; scanline[pos] = pat; } else { int pat = scanline[pos]; - pat |= (c1 & 12) << 12 | c1 << 16 | c2 << 20 | c2 << 24; + pat |= (c1 & 12) << 12 | c1 << 16 | (c1 & 1) << 20; + pat |= (c2 & 12) << 19 | c2 << 23 | (c2 & 1) << 27; scanline[pos] = pat; pos++; } } - + private void doDisplay(WritableImage screen, int xOffset, int y, int dhgrWord) { if (pos >= 20) { pos -= 20;