I wanted to understand how High Resolution Color worked, and all the explanations could not tell me how exactly the colors could be determined within each 7 pixels. So, I decided to try out all the 128 unique combinations for myself and see whether I could determine a pattern. I was able to see the pattern, how the color pixels worked, and predict the coloring of any 8-bit pixel value and what happens at the junction of each 7-pixel value. This was long work, taking all day to plug in the bytes in the monitor and determine the pixel placement and coloring and later to confirm my own guesses. But since I went to all this trouble, I thought that other people may benefit from my work. So I give you a very long chart, showing the colors of each pixel for each of the 256 possible values. In the chart below, I have given the memory value in binary, in hexadecimal, and in decimal for reference. The pixels are numbered from left to right, and the color below corresponds to the color of that pixel. The first column shows the result of the even columns 0,2,4...38, where Purple/Blue are dominant. The second column shows the results of the odd columns 1,3,5...39, where Green/Orange are dominant. What this table will not show is what happens to adjacent pixels in two adjacent screen columns. Hopefully, this table should be error free. Underneath the pixel numbers, W is for White, - is for Black, P is for Purple, B is for Blue, and O is for Orange. Green/Purple Pixel Result 0 Pixel Result 1 Binary Hexadecimal Decimal 1234567 1234567 00000000 00 000 ------- ------- 00000001 01 001 P------ G------ 00000010 02 002 -G----- -P----- 00000011 03 003 WW----- WW----- 00000100 04 004 --P---- --G---- 00000101 05 005 PPP---- GGG---- 00000110 06 006 -WW---- -WW---- 00000111 07 007 WWW---- WWW---- 00001000 08 008 ---G--- ---P--- 00001001 09 009 P--G--- G--P--- 00001010 0A 010 -GGG--- -PPP--- 00001011 0B 011 WWGG--- WWPP--- 00001100 0C 012 --WW--- --WW--- 00001101 0D 013 PPWW--- GGWW--- 00001110 0E 014 -WWW--- -WWW--- 00001111 0F 015 WWWW--- WWWW--- 00010000 10 016 ----P-- ----G-- 00010001 11 017 P---P-- G---G-- 00010010 12 018 -G--P-- -P--G-- 00010011 13 019 WW--P-- WW--G-- 00010100 14 020 --PPP-- --GGG-- 00010101 15 021 PPPPP-- GGGGG-- 00010110 16 022 -WWPP-- -WWGG-- 00010111 17 023 WWWPP-- WWWGG-- 00011000 18 024 ---WW-- ---WW-- 00011001 19 025 P--WW-- G--WW-- 00011010 1A 026 -GGWW-- -PPWW-- 00011011 1B 027 WW-WW-- WW-WW-- 00011100 1C 028 --WWW-- --WWW-- 00011101 1D 029 PPWWW-- GGWWW-- 00011110 1E 030 -WWWW-- -WWWW-- 00011111 1F 031 WWWWW-- WWWWW-- 00100000 20 032 -----G- -----P- 00100001 21 033 P----G- G----P- 00100010 22 034 -G---G- -P---P- 00100011 23 035 WW---G- WW---P- 00100100 24 036 --P--G- --G--P- 00100101 25 037 PPP--G- GGG--P- 00100110 26 038 -WW--G- -WW--P- 00100111 27 039 WWW--G- WWW--P- 00101000 28 040 ---GGG- ---PPP- 00101001 29 041 P--GGG- G--PPP- 00101010 2A 042 -GGGGG- -PPPPP- 00101011 2B 043 WWGGGG- WWPPPP- 00101100 2C 044 --WWGG- --WWPP- 00101101 2D 045 PPWWGG- GGWWPP- 00101110 2E 046 -WWWGG- -WWWPP- 00101111 2F 047 WWWWGG- WWWWPP- 00110000 30 048 ----WW- ----WW- 00110001 31 049 P---WW- G---WW- 00110010 32 050 -G--WW- -P--WW- 00110011 33 051 WW--WW- WW--WW- 00110100 34 052 --PPWW- --GGWW- 00110101 35 053 PPPPWW- GGGGWW- 00110110 36 054 -WW-WW- -WW-WW- 00110111 37 055 WWW-WW- -WW-WW- 00111000 38 056 ---WWW- ---WWW- 00111001 39 057 P--WWW- G--WWW- 00111010 3A 058 -GGWWW- -PPWWW- 00111011 3B 059 WW-WWW- WW-WWW- 00111100 3C 060 --WWWW- --WWWW- 00111101 3D 061 PPWWWW- GGWWWW- 00111110 3E 062 -WWWWW- -WWWWW- 00111111 3F 063 WWWWWW- WWWWWW- 01000000 40 064 ------P ------G 01000001 41 065 P-----P G-----G 01000010 42 066 -G----P -P----G 01000011 43 067 WW----P WW----G 01000100 44 068 --P---P --G---G 01000101 45 069 PPP---P GGG---G 01000110 46 070 -WW---P -WW---G 01000111 47 071 WWW---P WWW---G 01001000 48 072 ---G--P ---P--G 01001001 49 073 P--G--P G--P--G 01001010 4A 074 -GGG--P -PPP--G 01001011 4B 075 WWGG--P WWPP--G 01001100 4C 076 --WW--P --WW--G 01001101 4D 077 PPWW--P GGWW--G 01001110 4E 078 -WWW--P -WWW--G 01001111 4F 079 WWWW--P WWWW--G 01010000 50 080 ----PPP ----GGG 01010001 51 081 P---PPP G---GGG 01010010 52 082 -G--PPP -P--GGG 01010011 53 083 WW--PPP WW--GGG 01010100 54 084 --PPPPP --GGGGG 01010101 55 085 PPPPPPP GGGGGGG 01010110 56 086 -WWPPPP -WWGGGG 01010111 57 087 WWWPPPP WWWGGGG 01011000 58 088 ---WWPP ---WWGG 01011001 59 089 P--WWPP G--WWGG 01011010 5A 090 -GGWWPP -PPWWGG 01011011 5B 091 WW-WWPP WW-WWGG 01011100 5C 092 --WWWPP --WWWGG 01011101 5D 093 PPWWWPP GGWWWGG 01011110 5E 094 -WWWWPP -WWWWGG 01011111 5F 095 WWWWWPP WWWWWGG 01100000 60 096 -----WW -----WW 01100001 61 097 P----WW G----WW 01100010 62 098 -G---WW -P---WW 01100011 63 099 WW---WW WW---WW 01100100 64 100 --P--WW --G--WW 01100101 65 101 PPP--WW GGG--WW 01100110 66 102 -WW--WW -WW--WW 01100111 67 103 WWW--WW WWW--WW 01101000 68 104 ---GGWW ---PPWW 01101001 69 105 P--GGWW G--PPWW 01101010 6A 106 -GGGGWW -PPPPWW 01101011 6B 107 WWGGGWW WWPPPWW 01101100 6C 108 --WW-WW --WW-WW 01101101 6D 109 PPWW-WW GGWW-WW 01101110 6E 110 -WWW-WW -WWW-WW 01101111 6F 111 WWWW-WW WWWW-WW 01110000 70 112 ----WWW ----WWW 01110001 71 113 P---WWW G---WWW 01110010 72 114 -G--WWW -P--WWW 01110011 73 115 WW--WWW WW--WWW 01110100 74 116 --PPWWW --GGWWW 01110101 75 117 PPPPWWW GGGGWWW 01110110 76 118 -WW-WWW -WW-WWW 01110111 77 119 WWW-WWW WWW-WWW 01111000 78 120 ---WWWW ---WWWW 01111001 79 121 P--WWWW G--WWWW 01111010 7A 122 -GGWWWW -PPWWWW 01111011 7B 123 WW-WWWW WW-WWWW 01111100 7C 124 --WWWWW --WWWWW 01111101 7D 125 PPWWWWW GGWWWWW 01111110 7E 126 -WWWWWW -WWWWWW 01111111 7F 127 WWWWWWW WWWWWWW Blue/Orange Pixel Result 0 Pixel Result 1 Binary Hexadecimal Decimal 1234567 1234567 10000000 80 128 ------- ------- 10000001 81 129 B------ O------ 10000010 82 130 -O----- -B----- 10000011 83 131 WW----- WW----- 10000100 84 132 --B---- --O---- 10000101 85 133 BBB---- OOO---- 10000110 86 134 -WW---- -WW---- 10000111 87 135 WWW---- WWW---- 10001000 88 136 ---B--- ---O--- 10001001 89 137 B--O--- O--B--- 10001010 8A 138 -BBB--- -OOO--- 10001011 8B 139 WWOO--- WWBB--- 10001100 8C 140 --WW--- --WW--- 10001101 8D 141 BBWW--- OOWW--- 10001110 8E 142 -WWW--- -WWW--- 10001111 8F 143 WWWW--- WWWW--- 10010000 90 144 ----B-- ----O-- 10010001 91 145 B---B-- O---O-- 10010010 92 146 -O--B-- -B--O-- 10010011 93 147 WW--B-- WW--O-- 10010100 94 148 --BBB-- --OOO-- 10010101 95 149 BBBBB-- OOOOO-- 10010110 96 150 -WWBB-- -WWOO-- 10010111 97 151 WWWBB-- WWWOO-- 10011000 98 152 ---WW-- ---WW-- 10011001 99 153 B--WW-- O--WW-- 10011010 9A 154 -OOWW-- -BBWW-- 10011011 9B 155 WW-WW-- WW-WW-- 10011100 9C 156 --WWW-- --WWW-- 10011101 9D 157 BBWWW-- OOWWW-- 10011110 9E 158 -WWWW-- -WWWW-- 10011111 9F 159 WWWWW-- WWWWW-- 10100000 A0 160 -----O- -----B- 10100001 A1 161 B----O- O----B- 10100010 A2 162 -O---O- -B---B- 10100011 A3 163 WW---O- WW---B- 10100100 A4 164 --B--O- --O--B- 10100101 A5 165 BBB--O- OOO--B- 10100110 A6 166 -WW--O- -WW--B- 10100111 A7 167 WWW--O- WWW--B- 10101000 A8 168 ---OOO- ---BBB- 10101001 A9 169 B--OOO- O--BBB- 10101010 AA 170 -OOOOO- -BBBBB- 10101011 AB 171 WWOOOO- WWBBBB- 10101100 AC 172 --WWOO- --WWBB- 10101101 AD 173 BBWWOO- OOWWBB- 10101110 AE 174 -WWWOO- -WWWBB- 10101111 AF 175 WWWWOO- WWWWBB- 10110000 B0 176 ----WW- ----WW- 10110001 B1 177 B---WW- O---WW- 10110010 B2 178 -O--WW- -B--WW- 10110011 B3 179 WW--WW- WW--WW- 10110100 B4 180 --BBWW- --OOWW- 10110101 B5 181 BBBBWW- OOOOWW- 10110110 B6 182 -WW-WW- -WW-WW- 10110111 B7 183 WWW-WW- -WW-WW- 10111000 B8 184 ---WWW- ---WWW- 10111001 B9 185 B--WWW- O--WWW- 10111010 BA 186 -OOWWW- -BBWWW- 10111011 BB 187 WW-WWW- WW-WWW- 10111100 BC 188 --WWWW- --WWWW- 10111101 BD 189 BBWWWW- OOWWWW- 10111110 BE 190 -WWWWW- -WWWWW- 10111111 BF 191 WWWWWW- WWWWWW- 11000000 C0 192 ------B ------O 11000001 C1 193 B-----B O-----O 11000010 C2 194 -O----B -B----O 11000011 C3 195 WW----B WW----O 11000100 C4 196 --B---B --O---O 11000101 C5 197 BBB---B OOO---O 11000110 C6 198 -WW---B -WW---O 11000111 C7 199 WWW---B WWW---O 11001000 C8 200 ---O--B ---B--O 11001001 C9 201 B--O--B O--B--O 11001010 CA 202 -OOO--B -BBB--O 11001011 CB 203 WWOO--B WWBB--O 11001100 CC 204 --WW--B --WW--O 11001101 CD 205 BBWW--B OOWW--O 11001110 CE 206 -WWW--B -WWW--O 11001111 CF 207 WWWW--B WWWW--O 11010000 D0 208 ----BBB ----OOO 11010001 D1 209 B---BBB O---OOO 11010010 D2 210 -O--BBB -B--OOO 11010011 D3 211 WW--BBB WW--OOO 11010100 D4 212 --BBBBB --OOOOO 11010101 D5 213 BBBBBBB OOOOOOO 11010110 D6 214 -WWBBBB -WWOOOO 11010111 D7 215 WWWBBBB WWWOOOO 11011000 D8 216 ---WWBB ---WWOO 11011001 D9 217 B--WWBB O--WWOO 11011010 DA 218 -OOWWBB -BBWWOO 11011011 DB 219 WW-WWBB WW-WWOO 11011100 DC 220 --WWWBB --WWWOO 11011101 DD 221 BBWWWBB OOWWWOO 11011110 DE 222 -WWWWBB -WWWWOO 11011111 DF 223 WWWWWBB WWWWWOO 11100000 E0 224 -----WW -----WW 11100001 E1 225 B----WW O----WW 11100010 E2 226 -O---WW -B---WW 11100011 E3 227 WW---WW WW---WW 11100100 E4 228 --B--WW --O--WW 11100101 E5 229 BBB--WW OOO--WW 11100110 E6 230 -WW--WW -WW--WW 11100111 E7 231 WWW--WW WWW--WW 11101000 E8 232 ---OOWW ---BBWW 11101001 E9 233 B--OOWW O--BBWW 11101010 EA 234 -OOOOWW -BBBBWW 11101011 EB 235 WWOOOWW WWBBBWW 11101100 EC 236 --WW-WW --WW-WW 11101101 ED 237 BBWW-WW OOWW-WW 11101110 EE 238 -WWW-WW -WWW-WW 11101111 EF 239 WWWW-WW WWWW-WW 11110000 F0 240 ----WWW ----WWW 11110001 F1 241 B---WWW O---WWW 11110010 F2 242 -O--WWW -B--WWW 11110011 F3 243 WW--WWW WW--WWW 11110100 F4 244 --BBWWW --OOWWW 11110101 F5 245 BBBBWWW OOOOWWW 11110110 F6 246 -WW-WWW -WW-WWW 11110111 F7 247 WWW-WWW WWW-WWW 11111000 F8 248 ---WWWW ---WWWW 11111001 F9 249 B--WWWW O--WWWW 11111010 FA 250 -OOWWWW -BBWWWW 11111011 FB 251 WW-WWWW WW-WWWW 11111100 FC 252 --WWWWW --WWWWW 11111101 FD 253 BBWWWWW OOWWWWW 11111110 FE 254 -WWWWWW -WWWWWW 11111111 FF 255 WWWWWWW WWWWWWW I hope this is useful to somebody, even if 3/4 of it is not necessary to someone who understands the basics of High Res. GH -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 In article <9745d197.0307231940.421dd779@posting.google.com>, Great Hierophant wrote: >I wanted to understand how High Resolution Color worked, and all the >explanations could not tell me how exactly the colors could be >determined within each 7 pixels. So, I decided to try out all the 128 >unique combinations for myself and see whether I could determine a >pattern. I was able to see the pattern, how the color pixels worked, >and predict the coloring of any 8-bit pixel value and what happens at >the junction of each 7-pixel value. This was long work, taking all >day to plug in the bytes in the monitor and determine the pixel >placement and coloring and later to confirm my own guesses. But since >I went to all this trouble, I thought that other people may benefit >from my work. So I give you a very long chart, showing the colors of >each pixel for each of the 256 possible values. There's a simpler way to go. Consider a pixel at (x,y) and its neighbors (x-1,y) and (x+1,y). If it is set and either of its neighbors is set, it's white. If it's set and neither of its neighbors are set, it's colored as follows (the colors were taken from your table): high bit clear, x odd: green high bit clear, x even: purple high bit set, x odd: orange high bit set, x even: blue If the pixel is clear and either of its neighbors is clear, it's black. If it's clear and neither of its neighbors are clear, it's colored as follows: high bit clear, x odd: purple high bit clear, x even: green high bit set, x odd: blue high bit set, x even: orange This should work more reliably than a lookup table, especially when you consider that the neighboring pixels you're examining might be in the previous or next byte of display memory. I wrote a program that was published in the April 1990 issue of Nibble that determined the color of a Hi-Res pixel...don't know if this is how it worked. If it wasn't, this is how I'd write it if I had to start from scratch. _/_ Scott Alfter / v \ salfter@salfter.dyndns.org (IIGS( http://alfter.us Top-posting! \_^_/ pkill -9 /bin/laden >What is the most annoying thing on Usenet? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/IB3qVgTKos01OwkRAqsKAJ9PJKPgGNDjTj6Emm13ttNyKeZljQCeI5Hw HCTgVlsTAbjKYMGIksDKYnA= =OUQg -----END PGP SIGNATURE----- > There's a simpler way to go. Consider a pixel at (x,y) and its neighbors > (x-1,y) and (x+1,y). If it is set and either of its neighbors is set, it's > white. If it's set and neither of its neighbors are set, it's colored as > follows (the colors were taken from your table): > > high bit clear, x odd: green > high bit clear, x even: purple > high bit set, x odd: orange > high bit set, x even: blue > > If the pixel is clear and either of its neighbors is clear, it's black. If > it's clear and neither of its neighbors are clear, it's colored as > follows: > > high bit clear, x odd: purple > high bit clear, x even: green > high bit set, x odd: blue > high bit set, x even: orange > > This should work more reliably than a lookup table, especially when you > consider that the neighboring pixels you're examining might be in the > previous or next byte of display memory. I think its a bit odd that multiple pixels are colored the same color by a combination of binary 101, the color depending on the high bit of the byte and the order of the bits. Now, 01010100, on a monochrome monitor should show two pixels with a space between them. But on a color monitor, it will show 5 purple or green colored pixels. Is this because the color from the two bookending pixels overwhelms the small blank pixel with color bleed? Or is it because when the Apple II video circuitry gets fed combinations like these it doesn't bother to send a phase shift to the monitor? GH Great Hierophant wrote: > I think its a bit odd that multiple pixels are colored the same color > by a combination of binary 101, the color depending on the high bit of > the byte and the order of the bits. Now, 01010100, on a monochrome > monitor should show two pixels with a space between them. But on a > color monitor, it will show 5 purple or green colored pixels. Is this > because the color from the two bookending pixels overwhelms the small > blank pixel with color bleed? Or is it because when the Apple II > video circuitry gets fed combinations like these it doesn't bother to > send a phase shift to the monitor? A technical discussion can be found here: http://www.geocities.com/jonrelay/software/a2info/adstdhr.htm http://www.geocities.com/jonrelay/software/a2info/munafo.htm -- Send mail to fadden@fadden.com (Andy McFadden) - http://www.fadden.com/ CD-Recordable FAQ - http://www.cdrfaq.org/ CiderPress Apple II archive utility for Windows - http://www.faddensoft.com/ Fight Internet Spam - http://spam.abuse.net/spam/ & http://spamcop.net/