xref: /netbsd-src/sys/arch/amiga/dev/grf_ccreg.h (revision cda4f8f6ee55684e8d311b86c99ea59191e6b74f)
1 /*
2  * Driver for custom chips display.
3  */
4 
5 /* this is a mere collection of data, the registers itself are in the
6    custom chip area */
7 
8 struct ccfb {
9   int		disp_width;
10   int		disp_height;
11   int		disp_x, disp_y;		/* this defines the dimension and
12   					   relative position of the display. */
13   int		disp_z;			/* display depth */
14 
15   u_char	*fb;			/* frame buffer, ie. block in chipmem
16 					   containing bitplane(s) */
17   int		fb_width;
18   int		fb_height;		/* dimension of the framebuffer. Can
19   					   be larger than the display! */
20   int		fb_x, fb_y;		/* offset of the framebuffer relative
21   					   to the display (disp_*) values */
22   int		fb_z;			/* frame buffer depth */
23 
24   u_short	col[16];		/* color palette */
25 
26   u_short	bplstart_off;		/* offset in copperlist where the bitplane
27   					   start is set. This is used for smooth
28   					   scrolling of oversized framebuffers */
29   u_short       *cop1, *cop2;           /* both copperlists */
30 };
31 
32 
33 /* these are the initial values for changeable parameters: */
34 #define	DEF_DISP_WIDTH		640
35 #define DEF_DISP_HEIGHT		400
36 #define DEF_DISP_X		258	/* "" */
37 #define DEF_DISP_Y		88	/* hardware preferred values.. */
38 #define DEF_FB_X		0
39 #define DEF_FB_Y		0
40 #define DEF_COL0		0x123
41 #define DEF_COL1		0xccc
42 
43 /* these are currently not changeable easily (would require reallocation
44    of display memory and rebuild of copperlists. Do this later perhaps) */
45 #define DEF_FB_WIDTH		1024
46 #define DEF_FB_HEIGHT		1024
47 #define DEF_FB_Z		1
48 #define DEF_DISP_Z		1
49