]> git.sur5r.net Git - cc65/blob - include/_vic.h
91ea80c0b862de0dd74269826c64c4db703da08e
[cc65] / include / _vic.h
1 /*
2  * _vic.h
3  *
4  * Ullrich von Bassewitz, 12.08.1998
5  *
6  * Internal include file, do not use directly.
7  *
8  */
9
10
11
12 #ifndef __VIC_H
13 #define __VIC_H
14
15
16
17 /* Define a structure with the vic register offsets */
18 struct __vic {
19     unsigned char       spr0_x;         /* Sprite 0, X coordinate */
20     unsigned char       spr0_y;         /* Sprite 0, Y coordinate */
21     unsigned char       spr1_x;         /* Sprite 1, X coordinate */
22     unsigned char       spr1_y;         /* Sprite 1, Y coordinate */
23     unsigned char       spr2_x;         /* Sprite 2, X coordinate */
24     unsigned char       spr2_y;         /* Sprite 2, Y coordinate */
25     unsigned char       spr3_x;         /* Sprite 3, X coordinate */
26     unsigned char       spr3_y;         /* Sprite 3, Y coordinate */
27     unsigned char       spr4_x;         /* Sprite 4, X coordinate */
28     unsigned char       spr4_y;         /* Sprite 4, Y coordinate */
29     unsigned char       spr5_x;         /* Sprite 5, X coordinate */
30     unsigned char       spr5_y;         /* Sprite 5, Y coordinate */
31     unsigned char       spr6_x;         /* Sprite 6, X coordinate */
32     unsigned char       spr6_y;         /* Sprite 6, Y coordinate */
33     unsigned char       spr7_x;         /* Sprite 7, X coordinate */
34     unsigned char       spr7_y;         /* Sprite 7, Y coordinate */
35     unsigned char       spr_hi_x;       /* High bits of X coordinate */
36     unsigned char       ctrl1;          /* Control register 1 */
37     unsigned char       rasterline;     /* Current raster line */
38     unsigned char       strobe_x;       /* Light pen, X position */
39     unsigned char       strobe_y;       /* Light pen, Y position */
40     unsigned char       spr_ena;        /* Enable sprites */
41     unsigned char       ctrl2;          /* Control register 2 */
42     unsigned char       spr_exp_x;      /* Expand sprites in X dir */
43     unsigned char       addr;           /* Address of chargen and video ram */
44     unsigned char       irr;            /* Interrupt request register */
45     unsigned char       imr;            /* Interrupt mask register */
46     unsigned char       spr_bg_prio;    /* Priority to background */
47     unsigned char       spr_mcolor;     /* Sprite multicolor bits */
48     unsigned char       spr_exp_y;      /* Expand sprites in Y dir */
49     unsigned char       spr_coll;       /* Sprite/sprite collision reg */
50     unsigned char       spr_bg_coll;    /* Sprite/background collision reg */
51     unsigned char       bordercolor;    /* Border color */
52     unsigned char       bgcolor0;       /* Background color 0 */
53     unsigned char       bgcolor1;       /* Background color 1 */
54     unsigned char       bgcolor2;       /* Background color 2 */
55     unsigned char       bgcolor3;       /* Background color 3 */
56     unsigned char       spr_mcolor0;    /* Color 0 for multicolor sprites */
57     unsigned char       spr_mcolor1;    /* Color 1 for multicolor sprites */
58     unsigned char       spr0_color;     /* Color sprite 0 */
59     unsigned char       spr1_color;     /* Color sprite 1 */
60     unsigned char       spr2_color;     /* Color sprite 2 */
61     unsigned char       spr3_color;     /* Color sprite 3 */
62     unsigned char       spr4_color;     /* Color sprite 4 */
63     unsigned char       spr5_color;     /* Color sprite 5 */
64     unsigned char       spr6_color;     /* Color sprite 6 */
65     unsigned char       spr7_color;     /* Color sprite 7 */
66
67     /* The following ones are only valid in the C128: */
68     unsigned char       x_kbd;          /* Additional keyboard lines */
69     unsigned char       clock;          /* Clock switch bit */
70 };
71
72
73
74 /* End of _vic.h */
75 #endif
76
77
78