]> git.sur5r.net Git - cc65/blob - include/_vic2.h
Added prototypes for C callable multiplication routines.
[cc65] / include / _vic2.h
1 /*****************************************************************************/
2 /*                                                                           */
3 /*                                  _vic2.h                                  */
4 /*                                                                           */
5 /*                Internal include file, do not use directly                 */
6 /*                                                                           */
7 /*                                                                           */
8 /*                                                                           */
9 /* (C) 1998-2000 Ullrich von Bassewitz                                       */
10 /*               Wacholderweg 14                                             */
11 /*               D-70597 Stuttgart                                           */
12 /* EMail:        uz@musoftware.de                                            */
13 /*                                                                           */
14 /*                                                                           */
15 /* This software is provided 'as-is', without any expressed or implied       */
16 /* warranty.  In no event will the authors be held liable for any damages    */
17 /* arising from the use of this software.                                    */
18 /*                                                                           */
19 /* Permission is granted to anyone to use this software for any purpose,     */
20 /* including commercial applications, and to alter it and redistribute it    */
21 /* freely, subject to the following restrictions:                            */
22 /*                                                                           */
23 /* 1. The origin of this software must not be misrepresented; you must not   */
24 /*    claim that you wrote the original software. If you use this software   */
25 /*    in a product, an acknowledgment in the product documentation would be  */
26 /*    appreciated but is not required.                                       */
27 /* 2. Altered source versions must be plainly marked as such, and must not   */
28 /*    be misrepresented as being the original software.                      */
29 /* 3. This notice may not be removed or altered from any source              */
30 /*    distribution.                                                          */
31 /*                                                                           */
32 /*****************************************************************************/
33
34
35
36 #ifndef __VIC2_H
37 #define __VIC2_H
38
39
40
41 /* Define a structure with the vic register offsets */
42 struct __vic2 {
43     unsigned char       spr0_x;         /* Sprite 0, X coordinate */
44     unsigned char       spr0_y;         /* Sprite 0, Y coordinate */
45     unsigned char       spr1_x;         /* Sprite 1, X coordinate */
46     unsigned char       spr1_y;         /* Sprite 1, Y coordinate */
47     unsigned char       spr2_x;         /* Sprite 2, X coordinate */
48     unsigned char       spr2_y;         /* Sprite 2, Y coordinate */
49     unsigned char       spr3_x;         /* Sprite 3, X coordinate */
50     unsigned char       spr3_y;         /* Sprite 3, Y coordinate */
51     unsigned char       spr4_x;         /* Sprite 4, X coordinate */
52     unsigned char       spr4_y;         /* Sprite 4, Y coordinate */
53     unsigned char       spr5_x;         /* Sprite 5, X coordinate */
54     unsigned char       spr5_y;         /* Sprite 5, Y coordinate */
55     unsigned char       spr6_x;         /* Sprite 6, X coordinate */
56     unsigned char       spr6_y;         /* Sprite 6, Y coordinate */
57     unsigned char       spr7_x;         /* Sprite 7, X coordinate */
58     unsigned char       spr7_y;         /* Sprite 7, Y coordinate */
59     unsigned char       spr_hi_x;       /* High bits of X coordinate */
60     unsigned char       ctrl1;          /* Control register 1 */
61     unsigned char       rasterline;     /* Current raster line */
62     unsigned char       strobe_x;       /* Light pen, X position */
63     unsigned char       strobe_y;       /* Light pen, Y position */
64     unsigned char       spr_ena;        /* Enable sprites */
65     unsigned char       ctrl2;          /* Control register 2 */
66     unsigned char       spr_exp_y;      /* Expand sprites in Y dir */
67     unsigned char       addr;           /* Address of chargen and video ram */
68     unsigned char       irr;            /* Interrupt request register */
69     unsigned char       imr;            /* Interrupt mask register */
70     unsigned char       spr_bg_prio;    /* Priority to background */
71     unsigned char       spr_mcolor;     /* Sprite multicolor bits */
72     unsigned char       spr_exp_x;      /* Expand sprites in X dir */
73     unsigned char       spr_coll;       /* Sprite/sprite collision reg */
74     unsigned char       spr_bg_coll;    /* Sprite/background collision reg */
75     unsigned char       bordercolor;    /* Border color */
76     unsigned char       bgcolor0;       /* Background color 0 */
77     unsigned char       bgcolor1;       /* Background color 1 */
78     unsigned char       bgcolor2;       /* Background color 2 */
79     unsigned char       bgcolor3;       /* Background color 3 */
80     unsigned char       spr_mcolor0;    /* Color 0 for multicolor sprites */
81     unsigned char       spr_mcolor1;    /* Color 1 for multicolor sprites */
82     unsigned char       spr0_color;     /* Color sprite 0 */
83     unsigned char       spr1_color;     /* Color sprite 1 */
84     unsigned char       spr2_color;     /* Color sprite 2 */
85     unsigned char       spr3_color;     /* Color sprite 3 */
86     unsigned char       spr4_color;     /* Color sprite 4 */
87     unsigned char       spr5_color;     /* Color sprite 5 */
88     unsigned char       spr6_color;     /* Color sprite 6 */
89     unsigned char       spr7_color;     /* Color sprite 7 */
90
91     /* The following ones are only valid in the C128: */
92     unsigned char       x_kbd;          /* Additional keyboard lines */
93     unsigned char       clock;          /* Clock switch bit */
94 };
95
96
97
98 /* End of _vic2.h */
99 #endif
100
101
102