bobbimanners / Applecorn

Allows Acorn BBC Microcomputer language ROMs to run on Apple //e enhanced, //c and IIGS.
GNU General Public License v3.0
47 stars 8 forks source link

GCOL XOR mode doesn't work properly in `MODE 1` #260

Closed bobbimanners closed 1 year ago

bobbimanners commented 1 year ago

Works fine in MODE 0.

bobbimanners commented 1 year ago

In MODE 1 it looks like it is only touching half the bytes in each row.

bobbimanners commented 1 year ago

Works fine on vertical lines, doesn't work on horizonal lines (and diagonal lines are stripey.)

The OR plot action has the same problem.

bobbimanners commented 1 year ago

They are both fine in MODE 0.

bobbimanners commented 1 year ago

It makes me think the line drawing could be drawing the same pixel twice when going horizontally. XOR plotting seems to work fine with PLOT 69,x,y

bobbimanners commented 1 year ago

In MODE 1, the horizontal line drawing function is calling the plot routine twice for each value of A (the pixels being drawn) ... so every pixel is in fact being plotted twice!

bobbimanners commented 1 year ago

Confirmed that is the problem. Now to determine the best way to fix it.

bobbimanners commented 1 year ago

Fixed. As a bonus, x-dominant lines in 320 mode are now twice as fast, approximately!! It was drawing every pixel twice.