ColecoFan1981 Posted January 2, 2010 Share Posted January 2, 2010 Hi, I would like to suggest that all of you familiar with the TMS9918A/9928A/9929A to revise the color palette for all emulators in which the supported systems use these VDPs: *MESS *Classic99 *ColEm *ADAMEm *Win994A *BlueMSX The palettes I'd like to submit for your future palette fixes are: TMS9918A (NTSC) Select systems: Texas Instruments TI-99/4A (NTSC), MSX (NTSC), Tomy Tutor/Pyuuta Medium Green RGB: 70.6, 183.12, 62.12 Light Green RGB: 124.18, 207.89, 108.45 Dark Blue RGB: 98.71, 91.4, 168.71 Light Blue RGB: 127.45, 112.72, 255 Dark Red RGB: 182.99, 97.67, 72.59 Cyan RGB: 91.72, 199.05, 239.08 Medium Red RGB: 217.07, 106.5, 72.48 Light Red RGB: 252.91, 142.34, 108.32 Dark Yellow RGB: 194.99, 206.26, 65.82 Light Yellow RGB: 211.06, 218.68, 116.9 Dark Green RGB: 60.75, 160.49, 47.26 Magenta RGB: 183.02, 99.31, 198.75 Gray RGB: 204.8, 204.8, 204.8 TMS9928A (NTSC) Select systems: ColecoVision, Sega SG-1000, Sega SC-3000, CGL Sord M5 (NTSC) Medium Green RGB: 63.9, 184.14, 74.44 Light Green RGB: 117.68, 207.75, 126.16 Dark Blue RGB: 89.84, 85.45, 222.61 Light Blue RGB: 128.5, 119.07, 240.02 Dark Red RGB: 184.92, 94.9, 81.76 Cyan RGB: 102.54, 219.71, 239.05 Medium Red RGB: 218.23, 102.44, 90.32 Light Red RGB: 254.07, 138.28, 126.16 Dark Yellow RGB: 204.83, 195.36, 96.15 Light Yellow RGB: 222.75, 208.87, 136.76 Dark Green RGB: 59.3, 161.97, 65.88 Magenta RGB: 182.34, 103.1, 181.04 Gray RGB: 204.8, 204.8, 204.8 Colors for TMS9929A (PAL) Select systems: CBS ColecoVision, MSX (PAL), CGL Sord M5 (PAL), Texas Instruments TI-99/4A (PAL) Medium Green RGB: 81.82, 202.06, 92.36 PAL Gamma correction: 72.02, 177.87, 81.3 Light Green RGB: 133.04, 223.11, 141.52 PAL Gamma correction: 117.11, 196.4, 124.58 Dark Blue RGB: 107.76, 103.37, 240.53 PAL Gamma correction: 94.86, 90.99, 211.73 Light Blue RGB: 146.42, 136.99, 255 PAL Gamma correction: 128.89, 120.59, 224.47 Dark Red RGB: 212.85, 100.78, 113 PAL Gamma correction: 187.37, 88.71, 99.47 Cyan RGB: 102.54, 219.71, 239.05 PAL Gamma correction: 90.26, 193.41, 210.43 Medium Red RGB: 230.7, 118.7, 130.92 PAL Gamma correction: 203.08, 104.49, 115.25 Light Red RGB: 255, 151.98, 164.2 PAL Gamma correction: 224.47, 133.79, 144.54 Dark Yellow RGB: 215.07, 207.36, 97.32 PAL Gamma correction: 189.32, 182.54, 85.67 Light Yellow RGB: 230.43, 222.72, 112.68 PAL Gamma correction: 202.84, 196.06, 99.19 Dark Green RGB: 74.66, 177.33, 81.24 PAL Gamma correction: 65.72, 156.1, 71.51 Magenta RGB: 200.26, 121.02, 198.96 PAL Gamma correction: 176.29, 106.53, 175.14 Gray RGB: 204.8, 204.8, 204.8 PAL Gamma correction: 180.28, 180.28, 180.28 Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 2, 2010 Share Posted January 2, 2010 (edited) I would like to suggest that all of you familiar with the TMS9918A/9928A/9929A to revise the color palette for all emulators in which the supported systems use these VDPs: I'm always interested in new ideas for better matching, but can you please explain what makes these colors more correct? (er, not to mention, what these numbers are -- are they intended to be a 0-255 range? And why isn't white listed?) hehe, thanks. Edited January 2, 2010 by Tursi Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted January 2, 2010 Author Share Posted January 2, 2010 (edited) I would like to suggest that all of you familiar with the TMS9918A/9928A/9929A to revise the color palette for all emulators in which the supported systems use these VDPs: I'm always interested in new ideas for better matching, but can you please explain what makes these colors more correct? (er, not to mention, what these numbers are -- are they intended to be a 0-255 range? And why isn't white listed?) hehe, thanks. Hi, The reason my values are more correct is because I took them from official TI literature. Black is 0, 0, 0 for all versions of the VDP, whereas White is 255, 255, 255 for all versions. I don't know if I did the PAL gamma corrections for the TMS-9929A VDP chip just right. I did submit all of the 8-bit RGB values listed as being given from 0-255. What I did was to calculate all of the RGB values (listed as voltage values from 0 to 1) from the YIQ and YPbPr calculations and multiply them all by 256 (to get the 8-bit values). Any RGB value that comes up as 1 or greater from the YIQ/YPbPr calculations are truncated as 1, thus those 8-bit calculations are 255. For the PAL version the values are all multiplied by 0.875 to compensate for gamma correction. ~Ben Edited January 2, 2010 by ColecoFan1981 Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 2, 2010 Share Posted January 2, 2010 The reason my values are more correct is because I took them from official TI literature. I'm a little curious where you think current emulators got their values from. The values I used in Classic99 are based on the this work by Richard F. Drushel: http://users.stargate.net/~drushel/pub/coleco/twwmca/wk961201.html ). This page goes into detail on differences observed from a framegrab to the calculated values (working from an Adam). While I feel that the framegrabber adds its own variables to the mix, you'll find his calculated values are similar to what you came up with (for the 9918A). There are some notable differences, especially on the blue channel. The datasheet only gives luma and chroma for the 9918A, and Y/R-Y/B-Y for the 9928/9929. Can we see the math you used to convert to RGB? Then we can compare against Richard's work and see why the results differ. Even that, though, I debate a bit. Note that this approach (pure math on the VDP datasheet) does not take into account the circuitry between the video chip and the output port, which can affect the final value. It only reflects what the chip emits at its output pin(s). On top of that, it's all somewhat subjective anyway, because the television adjustment affects the final color, too. But at the very least, IMO, a "definitive" color guide needs to take the output stage and video amp, if any, into account too. Sorry to nitpick, but in classic computing, there is way too much "This is right, just do it this way". It's not always right, so if someone makes an assertion, I want to see the proof and provide correlation before moving forward. 1 Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted January 2, 2010 Author Share Posted January 2, 2010 (edited) The reason my values are more correct is because I took them from official TI literature. I'm a little curious where you think current emulators got their values from. The values I used in Classic99 are based on the this work by Richard F. Drushel: http://users.stargate.net/~drushel/pub/coleco/twwmca/wk961201.html ). This page goes into detail on differences observed from a framegrab to the calculated values (working from an Adam). While I feel that the framegrabber adds its own variables to the mix, you'll find his calculated values are similar to what you came up with (for the 9918A). There are some notable differences, especially on the blue channel. The datasheet only gives luma and chroma for the 9918A, and Y/R-Y/B-Y for the 9928/9929. Can we see the math you used to convert to RGB? Then we can compare against Richard's work and see why the results differ. Even that, though, I debate a bit. Note that this approach (pure math on the VDP datasheet) does not take into account the circuitry between the video chip and the output port, which can affect the final value. It only reflects what the chip emits at its output pin(s). On top of that, it's all somewhat subjective anyway, because the television adjustment affects the final color, too. But at the very least, IMO, a "definitive" color guide needs to take the output stage and video amp, if any, into account too. Sorry to nitpick, but in classic computing, there is way too much "This is right, just do it this way". It's not always right, so if someone makes an assertion, I want to see the proof and provide correlation before moving forward. I base all these calculations from the matrices of Charles Poynton (http://www.poynton.com/): YIQ R = Y + 0.9563 * I + 0.621 * Q G = Y - 0.2721 * I - 0.6474 * Q B = Y - 1.107 * I + 1.7046 * Q YPbPr R = Y + 1.402 * Pr G = Y - 0.344136 * Pb - 0.714136 * Pr B = Y + 1.772 * Pb Also - how do I submit palette strips to this site? I want to do that so I can be able to have you see these calculated values in color. ~Ben Edited January 2, 2010 by ColecoFan1981 Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted January 2, 2010 Author Share Posted January 2, 2010 (edited) Check out my new PNG files for the colors to all three versions of the TI 9900 VDP family. The left one is for the TMS-9918(A). The middle one is for the TMS-9928A. The right one is for the TMS-9929A. ~Ben Edited January 2, 2010 by ColecoFan1981 Quote Link to comment Share on other sites More sharing options...
Tursi Posted January 4, 2010 Share Posted January 4, 2010 Cool, thanks for adding the details! I won't be able to do my verification for a little while now.. my gear is all packed and I'm about to hit the road for my cross-country move, but I will bookmark this thread for when I get settled. It's nice to move forward a bit. Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted January 5, 2010 Author Share Posted January 5, 2010 (edited) How do these TMS9918A colors look to you? This is what they look like after I added the gamma correction factor of 1.1364. ~Ben Edited January 5, 2010 by ColecoFan1981 Quote Link to comment Share on other sites More sharing options...
ColecoFan1981 Posted February 2, 2010 Author Share Posted February 2, 2010 I've created PNG files for the palettes to the TMS9918A and TMS9928A, after I corrected the gamma on both to the typical 2.5 monitor gamma. Check them out and see if you like them. ~Ben Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.