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