Home | History | Annotate | Line # | Download | only in dev
grfabs_fal.h revision 1.3.168.1
      1  1.3.168.1  yamt /*	$NetBSD: grfabs_fal.h,v 1.3.168.1 2009/05/04 08:10:47 yamt Exp $	*/
      2        1.1   leo 
      3        1.1   leo /*
      4        1.1   leo  * Copyright (c) 1995 Thomas Gerner.
      5        1.1   leo  * All rights reserved.
      6        1.1   leo  *
      7        1.1   leo  * Redistribution and use in source and binary forms, with or without
      8        1.1   leo  * modification, are permitted provided that the following conditions
      9        1.1   leo  * are met:
     10        1.1   leo  * 1. Redistributions of source code must retain the above copyright
     11        1.1   leo  *    notice, this list of conditions and the following disclaimer.
     12        1.1   leo  * 2. Redistributions in binary form must reproduce the above copyright
     13        1.1   leo  *    notice, this list of conditions and the following disclaimer in the
     14        1.1   leo  *    documentation and/or other materials provided with the distribution.
     15        1.1   leo  * 3. All advertising materials mentioning features or use of this software
     16        1.1   leo  *    must display the following acknowledgement:
     17        1.1   leo  *      This product includes software developed by Thomas Gerner
     18        1.1   leo  * 4. The name of the author may not be used to endorse or promote products
     19        1.1   leo  *    derived from this software without specific prior written permission
     20        1.1   leo  *
     21        1.1   leo  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     22        1.1   leo  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     23        1.1   leo  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     24        1.1   leo  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     25        1.1   leo  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     26        1.1   leo  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     27        1.1   leo  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     28        1.1   leo  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     29        1.1   leo  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     30        1.1   leo  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31        1.1   leo  */
     32        1.1   leo 
     33        1.1   leo #ifndef _GRFABS_FAL_H
     34        1.1   leo #define _GRFABS_FAL_H
     35        1.1   leo /*
     36        1.1   leo  * Struct to hold the values for the different video modes
     37        1.1   leo  */
     38        1.1   leo struct videl {
     39        1.2   leo     u_short video_mode;		/* video mode			    */
     40        1.1   leo     u_char  vd_syncmode;	/* Syncronisation		    */
     41        1.1   leo     u_short vd_line_wide;	/* Falcon line word distance        */
     42        1.1   leo     u_short vd_vert_wrap;	/* Falcon line length		    */
     43        1.1   leo     u_char  vd_st_res;		/* ST resolution		    */
     44        1.1   leo     u_short vd_fal_res;		/* Falcon resolution		    */
     45        1.1   leo     u_short vd_h_hold_tim;	/* Falcon horizontal hold timer     */
     46        1.1   leo     u_short vd_h_bord_beg;  	/* Falcon horizontal border begin   */
     47        1.1   leo     u_short vd_h_bord_end;	/* Falcon horizontal border end     */
     48        1.1   leo     u_short vd_h_dis_beg;	/* Falcon horizontal display begin  */
     49        1.1   leo     u_short vd_h_dis_end;	/* Falcon horizontal display end    */
     50        1.1   leo     u_short vd_h_ss;		/* Falcon horizontal SS             */
     51        1.1   leo     u_short vd_h_fs;		/* Falcon horizontal FS		    */
     52        1.1   leo     u_short vd_h_hh;		/* Falcon horizontal HH		    */
     53        1.1   leo     u_short vd_v_freq_tim;	/* Falcon vertical frequency timer  */
     54        1.1   leo     u_short vd_v_bord_beg;	/* Falcon vertical border begin     */
     55        1.1   leo     u_short vd_v_bord_end;	/* Falcon vertical border end       */
     56        1.1   leo     u_short vd_v_dis_beg;	/* Falcon vertical display begin    */
     57        1.1   leo     u_short vd_v_dis_end;	/* Falcon vertical display end      */
     58        1.1   leo     u_short vd_v_ss;		/* Falcon vertical SS               */
     59        1.1   leo     u_short vd_fal_ctrl;	/* Falcon video control		    */
     60        1.1   leo     u_short vd_fal_mode;	/* Falcon video mode	            */
     61        1.1   leo };
     62        1.1   leo 
     63        1.3   leo 
     64        1.3   leo /*
     65        1.3   leo  * Colormap related macro's
     66        1.3   leo  */
     67        1.3   leo #define CM_L2FAL(v) \
     68        1.3   leo     (((0x003f0000 & (v)) << 10) | ((0x00003f00 & (v)) << 10) |\
     69        1.3   leo       (0x0000003f & (v)) << 2)
     70        1.3   leo #define CM_FAL2L(v) \
     71        1.3   leo     (((((0xfc000000 & (v)) >> 10) * 0xff / 0x3f) & 0x00ff0000) |\
     72        1.3   leo      ((((0x00fc0000 & (v)) >> 10) * 0xff / 0x3f) & 0x0000ff00) |\
     73        1.3   leo        ((0x000000fc & (v)) >>  2) * 0xff / 0x3f)
     74        1.3   leo #define CM_L2ST(v) \
     75        1.3   leo     (((0x000e0000 & (v)) >> 9) | ((0x00000e00 & (v)) >> 5) |\
     76        1.3   leo       (0x0000000e & (v)) >> 1)
     77        1.3   leo #define CM_ST2L(v) \
     78        1.3   leo     (((((0x00000700 & (v)) * 0xff / 0x7) << 8) & 0x00ff0000) |\
     79        1.3   leo      ((((0x00000070 & (v)) * 0xff / 0x7) << 4) & 0x0000ff00) |\
     80        1.3   leo         (0x00000007 & (v)) * 0xff / 0x7)
     81        1.3   leo 
     82  1.3.168.1  yamt void falcon_probe_video(MODES *);
     83        1.1   leo #endif /*  _GRFABS_FAL_H */
     84