Changed pixel drawing direction algorithm again

Hello, when testing these most recent machines, I decided I really didn’t like the new drawing direction algorithm.  Because when you’re drawing left to right, and then get to the end of the row, and jump to the next one, it tends to draw the first pixel in the new row in the same direction as the previous row.  And I don’t like that. 

So I’ve reinstated the C08 command, that is “change draw direction”, except now it has two parameters, the first is direction mode, which can be 1 (AUTO – where it will choose the direction itself, based on the pen’s current location), 2 (PRESET – where it’ll just draw in the direction you’ve set in the second parameter until you tell it otherwise) or 3 (RANDOM – guess).

The second parameter only really makes sense for the PRESET mode, and it’s the actual direction to draw in, values are 1 to 4, NE, SE, SW, NW.

This looks like a bit of a retrograde step, but in fact it’s only partly that.  It’s an acceptance that unless I load a whole row at a time, or otherwise implement a pixel look-ahead, the machine can’t properly figure out the best direction to draw in, at least not if it takes into account the pixels that are already drawn.  It needs a memory for that, and it’s not getting one til next year.

The good part of this is that the machine’s ability to draw in all four directions is preserved.  It’s up to the controller to tell it what to do.

Controller source code

Embedded source code

Leave a Reply