summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Scott Stone <tafoid@users.noreply.github.com>2013-11-04 21:37:59 +0000
committer Scott Stone <tafoid@users.noreply.github.com>2013-11-04 21:37:59 +0000
commite34c82077ee5393d039ff6fe31a46721e1609b20 (patch)
tree48ae6bb974c0721e9cd021926244e7773f17af58
parente0c3d69e6ed3fbec2290f723ffdb2eac000cfdfa (diff)
tia.c - Per "Television Interface Adapter [TIA]" tech doc and "Atari VCS POP Field Service Manual" in harmony with original hardware results, updated NTSC palette to better simulate colors on a CRT display.
Documented phase shifts 24.7 thru 27.7 degrees in 0.5 increments. Enabled 26.2 degrees as default being a logical choice as the system should be initially calibrated for Hue 1x and 15x (F$) to visual match (~25.7 degrees) displaying 'gold'/'goldenrod' via system's manual pot adjustment, while moderate system runtime automatically creates a higher phase shift. Results collaborate with additional tech docs (I.E. "Stella Programmer's Guide") placing 1x as 'gold', 2x as 'orange' and 15x (F$) as 'light orange' (hue between 1x and 2x). Colors measured from midpoint of brightness scale. [Robert Tuccitto]
-rw-r--r--src/mame/video/tia.c142
1 files changed, 127 insertions, 15 deletions
diff --git a/src/mame/video/tia.c b/src/mame/video/tia.c
index beb366bc429..0259b1a33be 100644
--- a/src/mame/video/tia.c
+++ b/src/mame/video/tia.c
@@ -48,25 +48,137 @@ static void extend_palette(running_machine &machine) {
PALETTE_INIT_MEMBER(tia_ntsc_video_device, tia_ntsc)
{
int i, j;
+/********************************
+Phase Shift 24.7
+ { 0.000, 0.000 },
+ { 0.192, -0.127 },
+ { 0.239, -0.052 },
+ { 0.244, 0.030 },
+ { 0.201, 0.108 },
+ { 0.125, 0.166 },
+ { 0.026, 0.194 },
+ { -0.080, 0.185 },
+ { -0.169, 0.145 },
+ { -0.230, 0.077 },
+ { -0.247, -0.006 },
+ { -0.220, -0.087 },
+ { -0.152, -0.153 },
+ { -0.057, -0.189 },
+ { 0.049, -0.193 },
+ { 0.144, -0.161 }
+
+Phase Shift 25.2
+ { 0.000, 0.000 },
+ { 0.192, -0.127 },
+ { 0.239, -0.052 },
+ { 0.244, 0.033 },
+ { 0.200, 0.113 },
+ { 0.119, 0.169 },
+ { 0.013, 0.195 },
+ { -0.094, 0.183 },
+ { -0.182, 0.136 },
+ { -0.237, 0.062 },
+ { -0.245, -0.020 },
+ { -0.210, -0.103 },
+ { -0.131, -0.164 },
+ { -0.027, -0.193 },
+ { 0.079, -0.187 },
+ { 0.169, -0.145 }
+
+Phase Shift 25.7
+ { 0.000, 0.000 },
+ { 0.192, -0.127 },
+ { 0.243, -0.049 },
+ { 0.242, 0.038 },
+ { 0.196, 0.116 },
+ { 0.109, 0.172 },
+ { 0.005, 0.196 },
+ { -0.104, 0.178 },
+ { -0.192, 0.127 },
+ { -0.241, 0.051 },
+ { -0.244, -0.037 },
+ { -0.197, -0.115 },
+ { -0.112, -0.173 },
+ { -0.004, -0.197 },
+ { 0.102, -0.179 },
+ { 0.190, -0.128 }
+
+Phase Shift 26.7
+ { 0.000, 0.000 },
+ { 0.192, -0.127 },
+ { 0.242, -0.046 },
+ { 0.240, 0.044 },
+ { 0.187, 0.125 },
+ { 0.092, 0.180 },
+ { -0.020, 0.195 },
+ { -0.128, 0.170 },
+ { -0.210, 0.107 },
+ { -0.247, 0.022 },
+ { -0.231, -0.067 },
+ { -0.166, -0.142 },
+ { -0.064, -0.188 },
+ { 0.049, -0.193 },
+ { 0.154, -0.155 },
+ { 0.227, -0.086 }
+
+Phase Shift 27.2
+ { 0.000, 0.000 },
+ { 0.192, -0.127 },
+ { 0.243, -0.044 },
+ { 0.239, 0.047 },
+ { 0.183, 0.129 },
+ { 0.087, 0.181 },
+ { -0.029, 0.195 },
+ { -0.138, 0.164 },
+ { -0.217, 0.098 },
+ { -0.246, 0.009 },
+ { -0.223, -0.081 },
+ { -0.149, -0.153 },
+ { -0.041, -0.192 },
+ { 0.073, -0.188 },
+ { 0.173, -0.142 },
+ { 0.235, -0.067 }
+
+Phase Shift 27.7
+ { 0.000, 0.000 },
+ { 0.192, -0.127 },
+ { 0.243, -0.044 },
+ { 0.238, 0.051 },
+ { 0.178, 0.134 },
+ { 0.078, 0.184 },
+ { -0.041, 0.194 },
+ { -0.151, 0.158 },
+ { -0.224, 0.087 },
+ { -0.248, -0.005 },
+ { -0.214, -0.096 },
+ { -0.131, -0.164 },
+ { -0.019, -0.195 },
+ { 0.099, -0.182 },
+ { 0.194, -0.126 },
+ { 0.244, -0.042 }
+**********************************/
static const double color[16][2] =
+/*********************************
+Phase Shift 26.2
+**********************************/
{
{ 0.000, 0.000 },
- { 0.144, -0.189 },
- { 0.231, -0.081 },
- { 0.243, 0.032 },
- { 0.217, 0.121 },
- { 0.117, 0.216 },
- { 0.021, 0.233 },
- { -0.066, 0.196 },
- { -0.139, 0.134 },
- { -0.182, 0.062 },
- { -0.175, -0.022 },
- { -0.136, -0.100 },
- { -0.069, -0.150 },
- { 0.005, -0.159 },
- { 0.071, -0.125 },
- { 0.124, -0.089 }
+ { 0.192, -0.127 },
+ { 0.241, -0.048 },
+ { 0.240, 0.040 },
+ { 0.191, 0.121 },
+ { 0.103, 0.175 },
+ { -0.008, 0.196 },
+ { -0.116, 0.174 },
+ { -0.199, 0.118 },
+ { -0.243, 0.037 },
+ { -0.237, -0.052 },
+ { -0.180, -0.129 },
+ { -0.087, -0.181 },
+ { 0.021, -0.196 },
+ { 0.130, -0.169 },
+ { 0.210, -0.107 }
};
for (i = 0; i < 16; i++)