testpico: show that vres clear is separate
[megadrive.git] / testpico / hcnt2linear.c
1 #include <stdio.h>
2 #include <assert.h>
3
4 //|         Mode |H32     (RSx=00) |H40     (RSx=11) |
5 //|HCounter      |[1]0x000-0x127   |[1]0x000-0x16C   | 00-93 00-b6
6 //|progression   |[2]0x1D2-0x1FF   |[2]0x1C9-0x1FF   | e9-ff e4-ff
7
8 int main()
9 {
10         unsigned char result[256];
11         int i, j, val, vals[420];
12
13         for (i = val = 0; val < 0x200; i++)
14         {
15                 vals[i] = val++;
16                 if (val == 0x16d)
17                         val = 0x1C9;
18         }
19         assert(i == 420);
20         for (i = 0; i < 256; i++)
21         {
22                 result[i] = 0;
23                 for (j = 0; j < 420; j++)
24                         if (vals[j] / 2 == i)
25                                 break;
26                 if (j < 420)
27                         result[i] = (255 * j + 210) / 419;
28         }
29
30         printf("{");
31         for (i = 0; i < 256; i++)
32                 printf(" 0x%02x%s", result[i], i < 255 ? "," : "");
33         printf(" }\n");
34
35         printf("{");
36         for (i = 0; i < 64; i++)
37                 printf(" 0x%02x%s", result[i*4+2], i < 63 ? "," : "");
38         printf(" }\n");
39
40         printf("{");
41         for (i = 0; i < 16; i++)
42                 printf(" 0x%02x%s", result[i*16+8], i < 15 ? "," : "");
43         printf(" }\n");
44
45         return 0;
46 }