Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

For developers wanting to explore FCM (full-colour mode), it can be quite a daunting journey initially, so here’s some pointers along with an ‘experimentation’ walkthrough that will let you peek and poke your way to a better understanding of FCM (smile)

...

  • one table for when this GOTOX bit is cleared

  • the other table for when this GOTOX bit is set

...

Why is it called the GOTOX bit?

Another point of confusion is that you have this bit called “GOTOX”, and you’d be forgiven for thinking that is relates to some re-positioning of characters to a new x-position.

  • Perhaps there was a time (earlier in the project) when the bit's sole purpose was to alter the purpose of screen-byte-pair to specify an new x-position, and in those days it made sense to call the bit GOTOX

  • But now, setting this bit does way more than that, it modifies the purpose of other bit-fields do to other things (y-offsets for chars, rowmask, foreground/background rendering, etc)

So given that it does more than just 'gotox', maybe it needs a new name too, I'm not sure what yet. TOGGLE_FIELDS? ALT_FIELDS?

Where is character data located?

...

  • I need to divide this by 64 bytes ($40) to get the char index
    (since each pixel within the 8x8 character needs one byte in FCM mode)

    • I.e., $4,0000 / $40 = $1000

  • So you need to set:

    • Screen RAM byte 0 to $00

    • Screen RAM byte 1 to $10

...

What’s all this about 16-bit character numbers?!

...

The docs for CHR16 say it enables "16-bit character numbers", when in reality, it enables “13-bit character numbers”.

Whether it's worth changing at this stage, I'd lean towards yes, it ought to change to reflect the reality and not mislead, but maybe others might feel the name is locked in now that it has gone to print 😄

...