Coco3 Graphics Registers

FF90    BIT 7    1=COCO1 0=COCO3
        BIT 6    1=MMU ACTIVE
        BIT 5    1=CHIP IRQ ACTIVE
        BIT 4    1=CHIP FIRQ ACTIVE
        BIT 3    1=DRAM AT XFEXX IS CONSTANT
        BIT 2    1= STANDARD SCS (DISK)
        BIT 1    ROM
        BIT 0    ROM

        BIT 1    BIT 0    ROM MAP (vectors excluded)
        0        x        16K INTERNAL, 16K EXTERNAL
        1        0        32K INTERNAL
        1        1        32K EXTERNAL

FF91    BIT 5    1=FAST TIMER
        BIT 0    MMU TASK SELECT 0=FFA0-FFA7 1=FFA8-FFAF
    MMU Swaps $2000 blocks; block # = address/$2000

FF98    BIT 7    0=TEXT, 1=BIT PLANE
        BIT 6    NA
        BIT 5    1=BURST PHASE INVERTED
        BIT 4    1=MONOCHROME ON COMPOSITE MONITOR
        BIT 3    1=50 Hz
        BIT 2    LINE PER CHARACTER
        BIT 1    " "
        BIT 0    " "

        BIT 1    BIT 2    BIT 3    LINES
        0        0        0        ONE (GRAPHICS)
        0        0        1        TWO (COCO1&2)
        0        1        0        THREE "
        0        1        1        EIGHT
        1        0        0        NINE
        1        0        1        RESERVED
        1        1        0        TWELVE (COCO1&2)
        1        1        1        RESERVED

FF99    BIT 7    NA
        BIT 6    LINES PER FIEL
        BIT 5    "  "
        BIT 4    HORIZONTAL RESOLUTION
        BIT 3    "  "
        BIT 2    "  "
        BIT 1    COLOR RESOLUTION
        BIT 0    "  "

        BIT 6    BIT 5    LINES
        0        0        192
        0        1        200
        1        0        RESERVED
        1        1        225

TEXT        BIT 4    BIT 3    BIT 2    BIT 1    BIT 0
32            0        -        0        -        1
40            0        -        1        -        1
80            1        -        1        -        1
GRAPH COLORS
  640    4    1        1        1        0        1
  640    2    1        0        1        0        0
  512    4    1        1        0        0        1
  512    2    1        0        0        0        0
  320    16   1        1        1        1        0
  320    4    1        0        1        0        1
  256    16   1        1        0        1        0
  256    4    1        0        0        0        1
  256    2    0        1        0        0        0
  160    16   1        0        1        1        0

FF9A    BORDER REGISTER
        BIT 7    -
        BIT 6    -
        BIT 5    MSB RED
        BIT 4    MSB GREEN
        BIT 3    MSB BLUE
        BIT 2    LSB RED
        BIT 1    LSB GREEN
        BIT 0    LSB BLUE

FF9B    RESERVED

FF9C    VERTICAL SCROLL
        BIT 7 - 4 NA
        BIT 3    MSB
        BIT 2
        BIT 1
        BIT 0    LSB

FF9D    VERTICAL OFFSET    V SCROLL MUST BE $0F
        BIT 7    MSB
         |
        BIT 0
FF9E    V OFFSET #2        WORD = ADDRESS/8 EX. $E000 = $60000/8
        BIT 7              WHY 8? BECAUSE 4 BITS(=8) FOR SCROLL
         |
        BIT 0    LSB

FF9F    HORIZONTAL OFFSET
        BIT 7    1=ENABLE VIRTUAL WIDTH, ALWAYS 128 TEXT - 256 BYTE GRAPH
        BIT 6    MSB
         |
        BIT 0    LSB

FFB0 - FFBF    PALETTES (see BORDER above for format)

HiRes text always two bytes per character; even byte 6 bit character,
odd byte attribute.

BIT 7    1=BLINK
BIT 6    1=UNDERLINE
BIT 5    MSB FOREGROUND PALETTE NUMBER
BIT 4         "          "         "
BIT 3    LSB  "          "         "
BIT 2    MSB BACKGROUND  "         "
BIT 1         "          "         "
BIT 0    LSB  "          "         "

 return to higher level