Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

5
  • 1
    Light grey can be a problem even on low-colour screens: try finding a crosshair cursor on light grey (#808080), particularly when it's dithered! Commented Mar 30, 2021 at 18:08
  • 1
    I've wondered why there weren't systems using modular addition of 0x80 instead of XOR with 0xFF. That would avoid the problem with cursor being invisible on gray background due to 0x80 becoming 0x7F, while still being a reversible operation. Commented Mar 31, 2021 at 5:50
  • 10
    XOR 80h does the same as modular addition of 80h, so speed of XOR / ADD is a red herring. But you're both assuming that the colour is represented as a 24-bit value so that each byte can be XORed with 80h. On early Mac or Windows systems, you might have a mono or planar framebuffer (8 pixels / byte), or 1 byte per pixel representing an index into a palette. XORing these values with 80h wouldn't work. When GEM sets up a palettized display, it orders the colours so that XORing a colour with 0FFh will give the inverse of that colour; I expect other systems do the same. Commented Mar 31, 2021 at 9:23
  • 10
    The speed of the actual blit op is relatively irrelevant for choosing the logical operation used to blit the pointer. What is much more relevant, is, whether you need to move the orininal frame buffer contents under the pointer you're drawing to a safe place and back - or not. Because that is what affects performance. Commented Mar 31, 2021 at 11:44
  • You might want to incorporate some of that last comment into the answer. The answer sort of implies but doesn't directly state that alternative drawing methods were not only harder to implement but would not have performed adequately. Commented Apr 1, 2021 at 15:37