atari5200: conio now uses just four colors altogether

See discussion in PR #870.
This commit is contained in:
Christian Groessler
2019-04-05 01:26:34 +02:00
committed by Oliver Schmidt
parent 79b9a8d2df
commit be6bba66a9
11 changed files with 173 additions and 59 deletions

View File

@@ -131,44 +131,23 @@ struct __gtia_write {
#define HUE_YELLOWRED 15
/* Color defines, similar to c64 colors (untested) */
/* Note that the conio color implementation is monochrome
** (bgcolor and textcolor are only placeholders)
*/
/* Use the defines with the setcolor() or _atari_xxxcolor() functions */
#define COLOR_BLACK _gtia_mkcolor(HUE_GREY,0)
#define COLOR_WHITE _gtia_mkcolor(HUE_GREY,7)
#define COLOR_RED _gtia_mkcolor(HUE_REDORANGE,1)
#define COLOR_CYAN _gtia_mkcolor(HUE_CYAN,3)
#define COLOR_VIOLET _gtia_mkcolor(HUE_PURPLE,4)
#define COLOR_GREEN _gtia_mkcolor(HUE_GREEN,2)
#define COLOR_BLUE _gtia_mkcolor(HUE_BLUE,2)
#define COLOR_YELLOW _gtia_mkcolor(HUE_YELLOW,7)
#define COLOR_ORANGE _gtia_mkcolor(HUE_ORANGE,5)
#define COLOR_BROWN _gtia_mkcolor(HUE_YELLOW,2)
#define COLOR_LIGHTRED _gtia_mkcolor(HUE_REDORANGE,6)
#define COLOR_GRAY1 _gtia_mkcolor(HUE_GREY,2)
#define COLOR_GRAY2 _gtia_mkcolor(HUE_GREY,3)
#define COLOR_LIGHTGREEN _gtia_mkcolor(HUE_GREEN,6)
#define COLOR_LIGHTBLUE _gtia_mkcolor(HUE_BLUE,6)
#define COLOR_GRAY3 _gtia_mkcolor(HUE_GREY,5)
/* TGI color defines */
#define TGI_COLOR_BLACK COLOR_BLACK
#define TGI_COLOR_WHITE COLOR_WHITE
#define TGI_COLOR_RED COLOR_RED
#define TGI_COLOR_CYAN COLOR_CYAN
#define TGI_COLOR_VIOLET COLOR_VIOLET
#define TGI_COLOR_GREEN COLOR_GREEN
#define TGI_COLOR_BLUE COLOR_BLUE
#define TGI_COLOR_YELLOW COLOR_YELLOW
#define TGI_COLOR_ORANGE COLOR_ORANGE
#define TGI_COLOR_BROWN COLOR_BROWN
#define TGI_COLOR_LIGHTRED COLOR_LIGHTRED
#define TGI_COLOR_GRAY1 COLOR_GRAY1
#define TGI_COLOR_GRAY2 COLOR_GRAY2
#define TGI_COLOR_LIGHTGREEN COLOR_LIGHTGREEN
#define TGI_COLOR_LIGHTBLUE COLOR_LIGHTBLUE
#define TGI_COLOR_GRAY3 COLOR_GRAY3
/* Hardware palette values (for GTIA colxxx registers) */
#define GTIA_COLOR_BLACK _gtia_mkcolor(HUE_GREY,0)
#define GTIA_COLOR_WHITE _gtia_mkcolor(HUE_GREY,7)
#define GTIA_COLOR_RED _gtia_mkcolor(HUE_REDORANGE,1)
#define GTIA_COLOR_CYAN _gtia_mkcolor(HUE_CYAN,3)
#define GTIA_COLOR_VIOLET _gtia_mkcolor(HUE_PURPLE,4)
#define GTIA_COLOR_GREEN _gtia_mkcolor(HUE_GREEN,2)
#define GTIA_COLOR_BLUE _gtia_mkcolor(HUE_BLUE,2)
#define GTIA_COLOR_YELLOW _gtia_mkcolor(HUE_YELLOW,7)
#define GTIA_COLOR_ORANGE _gtia_mkcolor(HUE_ORANGE,5)
#define GTIA_COLOR_BROWN _gtia_mkcolor(HUE_YELLOW,2)
#define GTIA_COLOR_LIGHTRED _gtia_mkcolor(HUE_REDORANGE,6)
#define GTIA_COLOR_GRAY1 _gtia_mkcolor(HUE_GREY,2)
#define GTIA_COLOR_GRAY2 _gtia_mkcolor(HUE_GREY,3)
#define GTIA_COLOR_LIGHTGREEN _gtia_mkcolor(HUE_GREEN,6)
#define GTIA_COLOR_LIGHTBLUE _gtia_mkcolor(HUE_BLUE,6)
#define GTIA_COLOR_GRAY3 _gtia_mkcolor(HUE_GREY,5)
/*****************************************************************************/

View File

@@ -377,6 +377,51 @@ extern void atrx15p2_tgi[];
#define ANTIC (*(struct __antic*)0xD400)
/*****************************************************************************/
/* conio and TGI color defines */
/*****************************************************************************/
/* Note that the conio color implementation is monochrome
** (textcolor just sets text brightness low or high, depending on background
** color)
** These values can be used with bordercolor(), bgcolor(), and _setcolor_low()
*/
#define COLOR_BLACK GTIA_COLOR_BLACK
#define COLOR_WHITE GTIA_COLOR_WHITE
#define COLOR_RED GTIA_COLOR_RED
#define COLOR_CYAN GTIA_COLOR_CYAN
#define COLOR_VIOLET GTIA_COLOR_VIOLET
#define COLOR_GREEN GTIA_COLOR_GREEN
#define COLOR_BLUE GTIA_COLOR_BLUE
#define COLOR_YELLOW GTIA_COLOR_YELLOW
#define COLOR_ORANGE GTIA_COLOR_ORANGE
#define COLOR_BROWN GTIA_COLOR_BROWN
#define COLOR_LIGHTRED GTIA_COLOR_LIGHTRED
#define COLOR_GRAY1 GTIA_COLOR_GRAY1
#define COLOR_GRAY2 GTIA_COLOR_GRAY2
#define COLOR_LIGHTGREEN GTIA_COLOR_LIGHTGREEN
#define COLOR_LIGHTBLUE GTIA_COLOR_LIGHTBLUE
#define COLOR_GRAY3 GTIA_COLOR_GRAY3
/* TGI color defines */
#define TGI_COLOR_BLACK COLOR_BLACK
#define TGI_COLOR_WHITE COLOR_WHITE
#define TGI_COLOR_RED COLOR_RED
#define TGI_COLOR_CYAN COLOR_CYAN
#define TGI_COLOR_VIOLET COLOR_VIOLET
#define TGI_COLOR_GREEN COLOR_GREEN
#define TGI_COLOR_BLUE COLOR_BLUE
#define TGI_COLOR_YELLOW COLOR_YELLOW
#define TGI_COLOR_ORANGE COLOR_ORANGE
#define TGI_COLOR_BROWN COLOR_BROWN
#define TGI_COLOR_LIGHTRED COLOR_LIGHTRED
#define TGI_COLOR_GRAY1 COLOR_GRAY1
#define TGI_COLOR_GRAY2 COLOR_GRAY2
#define TGI_COLOR_LIGHTGREEN COLOR_LIGHTGREEN
#define TGI_COLOR_LIGHTBLUE COLOR_LIGHTBLUE
#define TGI_COLOR_GRAY3 COLOR_GRAY3
/*****************************************************************************/
/* PIA PORTA and PORTB register bits */
/*****************************************************************************/

View File

@@ -77,6 +77,12 @@ extern void atr5200std_joy[]; /* referred to by joy_static_stddrv[] */
#include <_antic.h>
#define ANTIC (*(struct __antic*)0xD400)
/* conio color defines */
#define COLOR_WHITE 0x00
#define COLOR_RED 0x01
#define COLOR_GREEN 0x02
#define COLOR_BLACK 0x03
/* The following #define will cause the matching function calls in conio.h
** to be overlaid by macros with the same names, saving the function call
** overhead.