Hi to all hardware wizards on the forum!
Looking at the output of my ATARI ST and STe on a VGA TFT (having no original ATARI RGB monitor to compare) and witnessing some color not quite like I'd expect them (e.g. black not being fully black) I asked myself, if any of you has researched or dealt with the color level conversions - and also how this is dealt with on the STF remake project.
E.g.
- are the ST(e)'s output levels covering the full RGB range that computer monitors can display, or are they limited RGB (e.g. 16 ... 235 like it's done for output on TVs)?
- or do output converters (like Exxos' VGA adapter) extend the output level to cover the full RGB range?
- Bonus question: the additional precision of the STe's color palette I assume gets added to the lower levels of the output?
Best regards & merry christmas,
Wilfried
P.S.: Link to full RGB vs. limited RGB color level primer https://kodi.wiki/view/Video_levels_and_color_space
Conversion of ATARI ST(e) RGB output to VGA input (for LCD or Cathode VGA monitor)
-
pixelpusher
- Posts: 144
- Joined: 27 Dec 2019 21:01
-
Icky
- Site Admin

- Posts: 4377
- Joined: 03 Sep 2017 10:57
- Location: UK
Re: Conversion of ATARI ST(e) RGB output to VGA input (for LCD or Cathode VGA monitor)
@pixelpusher there are several ways that this is being looked at in the remake and other projects.
On the remake @exxos has used the Falcon DAC to help with improving the video out. It was first tested as an add-on board on the ALPHA and then made its way onto the H4/5 as part of the motherboard. There is a whole thread on the video driver thoughts - https://www.exxosforum.co.uk/forum/viewt ... =77&t=1235
In addition there are two other large projects on the go from @Smonson.
Firstly the Sidequest scan doubler - https://www.exxosforum.co.uk/forum/viewt ... =29&t=1756 which is a board that uses the existing Shifter and provides VGA out.
Secondly the Phoenix Shifter - https://www.exxosforum.co.uk/forum/viewt ... f=80&t=330 which is currently an add-on board to the H4/5 to provide HDMI out. Once this has had a few areas ironed out this will most likely make its way onto a future Hx motherboard.
On the remake @exxos has used the Falcon DAC to help with improving the video out. It was first tested as an add-on board on the ALPHA and then made its way onto the H4/5 as part of the motherboard. There is a whole thread on the video driver thoughts - https://www.exxosforum.co.uk/forum/viewt ... =77&t=1235
In addition there are two other large projects on the go from @Smonson.
Firstly the Sidequest scan doubler - https://www.exxosforum.co.uk/forum/viewt ... =29&t=1756 which is a board that uses the existing Shifter and provides VGA out.
Secondly the Phoenix Shifter - https://www.exxosforum.co.uk/forum/viewt ... f=80&t=330 which is currently an add-on board to the H4/5 to provide HDMI out. Once this has had a few areas ironed out this will most likely make its way onto a future Hx motherboard.
-
pixelpusher
- Posts: 144
- Joined: 27 Dec 2019 21:01
Re: Conversion of ATARI ST(e) RGB output to VGA input (for LCD or Cathode VGA monitor)
Hi Icky,
Here's the main problem I'm stumbling over (and I'm looking at this mostly from the software side):
While conversion of 8 bit (image) data to the 3 bit palette can be done easily (you get rid of the five lower bits and then have to consider the error introduced by that when displaying the image data), expanding the 3 bit palette data of the ST to 8 bit (or even 6 bit) leaves some wiggle room.
Possible solutions would be (for [Palette index] -> range of RGB values/output levels)
[0] 0-31
[1] 32-63
[2] 64-95
[3] 96-127
[4] 128-159
[5] 160-191
[6] 192-223
[7] 224-255
If you'd choose an offset (e.g. 15 as kinda mid-point within one level) you could come up with something like this
[0] -> 15
[1] -> 47
[2] -> 79
[3] -> 111
[4] -> 143
[5] -> 175
[6] -> 207
[7] -> 239
but wouldn't cover the full RGB levels a computer monitor can display (thus get some washed out colors, while it would be ok on a TV). If you'd expand the range to cover the full RGB levels (so each step on the palette adds more than 32), then this also poses interesting questions of how that would handle something like the output of an STe.
As an alternative you could also use the 3 bit pattern and duplicate it like this
6bit output = (3bit input << 3) | (3bit input)
(and similar for 8 bit output) to cover the full RGB range, this however creates slightly uneven ranges for every step, complicating things on the software side (if you want to display image data "properly").
Best regards,
Wilfried
thx for the links. It still creates more questions than answers though (e.g. slightly confused by the voltage levels; I remembered VGA being between 0 .. 0.7V per color signal, on remake thread however the Palette level 0 gets converted to 1.6V?? - or are these the voltage levels for the DAC?).Icky wrote: 24 Dec 2020 10:36 @pixelpusher there are several ways that this is being looked at in the remake and other projects.
On the remake @exxos has used the Falcon DAC to help with improving the video out. It was first tested as an add-on board on the ALPHA and then made its way onto the H4/5 as part of the motherboard. There is a whole thread on the video driver thoughts - https://www.exxosforum.co.uk/forum/viewt ... =77&t=1235
In addition there are two other large projects on the go from @Smonson.
Firstly the Sidequest scan doubler - https://www.exxosforum.co.uk/forum/viewt ... =29&t=1756 which is a board that uses the existing Shifter and provides VGA out.
Secondly the Phoenix Shifter - https://www.exxosforum.co.uk/forum/viewt ... f=80&t=330 which is currently an add-on board to the H4/5 to provide HDMI out. Once this has had a few areas ironed out this will most likely make its way onto a future Hx motherboard.
Here's the main problem I'm stumbling over (and I'm looking at this mostly from the software side):
While conversion of 8 bit (image) data to the 3 bit palette can be done easily (you get rid of the five lower bits and then have to consider the error introduced by that when displaying the image data), expanding the 3 bit palette data of the ST to 8 bit (or even 6 bit) leaves some wiggle room.
Possible solutions would be (for [Palette index] -> range of RGB values/output levels)
[0] 0-31
[1] 32-63
[2] 64-95
[3] 96-127
[4] 128-159
[5] 160-191
[6] 192-223
[7] 224-255
If you'd choose an offset (e.g. 15 as kinda mid-point within one level) you could come up with something like this
[0] -> 15
[1] -> 47
[2] -> 79
[3] -> 111
[4] -> 143
[5] -> 175
[6] -> 207
[7] -> 239
but wouldn't cover the full RGB levels a computer monitor can display (thus get some washed out colors, while it would be ok on a TV). If you'd expand the range to cover the full RGB levels (so each step on the palette adds more than 32), then this also poses interesting questions of how that would handle something like the output of an STe.
As an alternative you could also use the 3 bit pattern and duplicate it like this
6bit output = (3bit input << 3) | (3bit input)
(and similar for 8 bit output) to cover the full RGB range, this however creates slightly uneven ranges for every step, complicating things on the software side (if you want to display image data "properly").
Best regards,
Wilfried
-
exxos
- Site Admin

- Posts: 28376
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: Conversion of ATARI ST(e) RGB output to VGA input (for LCD or Cathode VGA monitor)
Black will never be totally black with most displays. You will need a oled display or similar..
As for voltages, you will have to look up how video signals work. I assumed black was zero, but its not. Black is at 1volt or there abouts. You can't lower the voltage to get better black either, as monitors compensate and adjust levels anyway. If you look in the DAC threads there is a lot of info in there about it all.
As for voltages, you will have to look up how video signals work. I assumed black was zero, but its not. Black is at 1volt or there abouts. You can't lower the voltage to get better black either, as monitors compensate and adjust levels anyway. If you look in the DAC threads there is a lot of info in there about it all.
-
pixelpusher
- Posts: 144
- Joined: 27 Dec 2019 21:01
Re: Conversion of ATARI ST(e) RGB output to VGA input (for LCD or Cathode VGA monitor)
I'm not talking about "totally" black. My question is if the output values generated (either by a VGA converter likey yours or the ST DAC) cover the full RGB output range or if they don't (like on the output for TV sets).exxos wrote: 24 Dec 2020 12:46 Black will never be totally black with most displays. You will need a oled display or similar..
As for voltages, you will have to look up how video signals work. I assumed black was zero, but its not. Black is at 1volt or there abouts. You can't lower the voltage to get better black either, as monitors compensate and adjust levels anyway. If you look in the DAC threads there is a lot of info in there about it all.
I had read your post (https://www.exxosforum.co.uk/forum/viewt ... 170#p14661) and that could indicate (as the ranges increases with uniform spacing of 0.2V) that black might start with a slight offset (to sRGB black) - which would map an ST palette value of rgb(0,0,0) into a very dark greyish output (somewhere in the sRGB range of 17-32).
If it ain't (and there's no offset for the black value), the color levels potentially wouldn't be uniformely spaced.
-
exxos
- Site Admin

- Posts: 28376
- Joined: 16 Aug 2017 23:19
- Location: UK
Re: Conversion of ATARI ST(e) RGB output to VGA input (for LCD or Cathode VGA monitor)
I don't recall offhand .. You would have to measure the colours on a scope.. Though looking at the DAC data sheet may tell you more.. I think white was around more like 3 volts..
Edit:
I do have a simulation of the RGB drivers on my home PC showing the voltage steps.. But I'm not home for a few days now..
Edit:
I do have a simulation of the RGB drivers on my home PC showing the voltage steps.. But I'm not home for a few days now..
Who is online
Users browsing this forum: ClaudeBot and 9 guests