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)

...

The section of interest is in "Appendix M >> New Modes >> Displaying more than 256 unique characters via "Super-Extended Attribute Mode"

Of particular interest is these are the two tables shown there. They describe how the bit-fields within the screen byte-pair and the colour byte-pair are defined.

Common Tripping points

The meaning of the byte-pairs change depending on the GOTOX bit!

The major gotchya that trips up newcomers is that the definition of these bit-fields varies depending on whether a certain bit within the colour byte-pair is set or cleared, the GOTOX bit.

...

  • one table for when this GOTOX bit is cleared

  • the other table for when this GOTOX bit is set

...

...

In a

Where is character data located?

...

For BASIC coders, that won’t be an option though, so you might instead want to settle for a location within BANK 4 or 5 (or possibly a bank attic ram)..

It’s not possible to make use of attic ram from the VIC-IV (and the 13-bit character indexes can only access the first 512KB of memory (64 bytes per char x 2^13 = 512KB)

Example:

So let’s say I want to use BANK4, i.e., $4,0000.

  • 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 “1213-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 😄

...