====== GIME PALETTE ====== The Color Computer 3 video chip, known as the GIME supports display of up to 16 simultaneous colors out of a palette of 64, much like the [[wp>EGA]] graphics adapter for IBM PC-compatibles. {{:tandy_color_computer:64colors-cmp.png?direct&400|64 Colors Composite}} {{:tandy_color_computer:64colors-rgb.png?direct&400|64 Colors RGB}} ===== PROGRAMMING ===== Super Extended BASIC has the following commands: \\ * **PALETTE CMP** * Sets all 16 palette slots to Super Extended BASIC's list of Composite default values * **PALETTE RGB** * Sets all 16 palette slots to Super Extended BASIC's list of RGB default values * **PALETTE //palette register//, //color code//** * Sets palette register 0-15 to color code 0-63 The 16 active palette entries are programmed through GIME memory-mapped registers $FFB0 to $FFBF ===== DEFAULT PALETTES ===== ==== BOOT ==== On boot, all palette registers are initialized to Green ($12) by code in $C006 - $C011. Next, the following values are loaded into the CoCo 3 Palette Registers from PALIMAGE ($C236 - $C245) by code in $C04E - $C05F, after the boot code is moved down to $4xxx. This color map defaults to Composite colors for use with televisions or monitors connected through RF Out or Composite Out. ==== PALETTE COLOR SETS ==== The boot palette colors are duplicated in memory at IM.CMP ($E654 - E663) which is loaded by the PALETTE CMP command. The composite color set are again duplicated in memory at IM.PALET ($E678 - $E687) which is used as the "current palette" set by the PALETTE , command. For RGB or PAL, the colors are loaded by the PALETTE RGB command from IM.RGB ($E664 - $E673) table. For CoCo compatibility, the RGB color set should be loaded on initialization for PAL version. ^ Register ^ Color Name ^ Composite Palette Code ^ RGB/PAL Palette Code ^ | $FFB0 | Green | $12 | $12 | | $FFB1 | Yellow | $24 | $36 | | $FFB2 | Blue | $0B | $09 | | $FFB3 | Red | $07 | $24 | | $FFB4 | Buff | $3F | $3F | | $FFB5 | Cyan | $1F | $10 | | $FFB6 | Magenta | $09 | $2D | | $FFB7 | Orange | $26 | $26 | | $FFB8 | Black | $00 | $00 | | $FFB9 | Green | $12 | $12 | | $FFBA | Black | $00 | $00 | | $FFBB | Buff | $3F | $3F | | $FFBC | Black | $00 | $00 | | $FFBD | Green | $12 | $12 | | $FFBE | Black | $00 | $00 | | $FFBF | Orange | $26 | $26 | ===== PALETTES BY MODE ===== ^ [[VDG]] Alphanumeric ^ Palette Registers Used ^ Palette Register Address ^ | 32 x 16 Background | 13 | $FFBD | | 32 x 16 Foreground | 12 | $FFBC | ^ [[VDG]] Semigraphics ^ Palette Registers Used ^ Palette Register Address ^ | SG4 | FIXME | FIXME | | SG6, CSS=0 | FIXME | FIXME | | SG6, CSS=1 | FIXME | FIXME | | SG8 | FIXME | FIXME | | SG12 | FIXME | FIXME | | SG24 | FIXME | FIXME | ^ [[VDG]] Graphics ^ Palette Registers Used ^ Palette Register Address ^ | CG1, CSS=0 | 0-3 | $FFB0 - $FFB3 | | CG1, CSS=1 | 4-7 | $FFB4 - $FFB7 | | RG1, CSS=0 | 8,9 | $FFB8, $FFB9 | | RG1, CSS=1 | 10,11 | $FFBA, $FFBB | | CG2, CSS=0 | 0-3 | $FFB0 - $FFB3 | | CG2, CSS=1 | 4-7 | $FFB4 - $FFB7 | | RG2, CSS=0 | 8,9 | $FFB8, $FFB9 | | RG2, CSS=1 | 10,11 | $FFBA, $FFBB | | CG3, CSS=0 | 0-3 | $FFB0 - $FFB3 | | CG3, CSS=1 | 4-7 | $FFB4 - $FFB7 | | RG3, CSS=0 | 8,9 | $FFB8, $FFB9 | | RG3, CSS=1 | 10,11 | $FFBA, $FFBB | | CG6, CSS=0 | 0-3 | $FFB0 - $FFB3 | | CG6, CSS=1 | 4-7 | $FFB4 - $FFB7 | | RG6, CSS=0 | 8,9 | $FFB8, $FFB9 | | RG6, CSS=1 | 10,11 | $FFBA, $FFBB | ^ [[GIME]] Alphanumeric ^ Palette Registers Used ^ Palette Register Address ^ | 32, 40, 64, 80 Background | 0-7 | $FFB0 - $FFB7 | | 32, 40, 64, 80 Foreground | 8-15 | $FFB8 - $FFBF | ^ [[GIME]] Graphics ^ Palette Registers Used ^ Palette Register Address ^ | 2-Color | 0 - 1 | $FFB0 - $FFB1 | | 4-Color | 0 - 3 | $FFB0 - $FFB3 | | 16-Color | 0 - 15 | $FFB0 - $FFBF | ===== VIDEO ===== [[https://www.youtube.com/watch?v=gc6Eu7IansE|NTSC 8-bit Color on the Color Computer 3]] \\ [[https://www.youtube.com/watch?v=42jBBrqn70w|CoCo3 Video Player Version 2 Demo]] ===== REFERENCES ===== [[http://users.axess.com/twilight/sock/gime.html|Sockmaster's GIME Register Reference]] \\ [[https://github.com/mamedev/mame/blob/master/src/mame/video/gime.cpp|MAME GIME Source]] - Composite Palettes as hex codes \\ [[http://exstructus.com/coco/australia-colour-palette/|CoCo 3 Australia Color Palette]] - Palettes compared ===== SEE ALSO ===== [[https://archive.org/details/TandyServiceManualColorComputer3/|Color Computer 3 Service Manual]] \\ [[https://colorcomputerarchive.com/files/Documents/Books/Coco%20III%20Secrets%20Revealed%20(Microcom%20Software).pdf|CoCo3 Secrets Revealed]] by Microcom Software, 1986 \\ [[https://archive.org/details/Assembly_Language_Programming_for_the_CoCo_3_1987_Laurence_A_Tepolt/|Assembly Language Programming for the CoCo3]] by Lawrence Tepolt, 1987 \\ [[https://archive.org/details/Super_Extended_Basic_Unravelled_II_1999_Spectral_Associates/|Super Extended BASIC Unravelled]] by Spectral Associates/Walter Zydhek, 1999 \\ ===== RTS ===== Return to [[:Tandy Color Computer:]] or [[Super Extended BASIC]]