Home | History | Annotate | Line # | Download | only in include
video.h revision 1.6.170.1
      1  1.6.170.1  yamt /*	$NetBSD: video.h,v 1.6.170.1 2010/03/11 15:02:09 yamt Exp $	*/
      2        1.1   leo 
      3        1.1   leo /*
      4        1.1   leo  * Copyright (c) 1995 Leo Weppelman.
      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  *
     16        1.1   leo  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17        1.1   leo  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18        1.1   leo  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19        1.1   leo  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20        1.1   leo  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     21        1.1   leo  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     22        1.1   leo  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     23        1.1   leo  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     24        1.1   leo  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     25        1.1   leo  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26        1.1   leo  */
     27        1.1   leo 
     28        1.1   leo #ifndef _MACHINE_VIDEO_H
     29        1.1   leo #define _MACHINE_VIDEO_H
     30        1.1   leo /*
     31        1.1   leo  * Access to circuitry for video
     32        1.1   leo  */
     33        1.1   leo 
     34        1.1   leo #define	VIDEO	((struct video *)AD_VIDEO)
     35        1.1   leo 
     36        1.1   leo struct video {
     37        1.2   leo     volatile	char	vdb[14];	/* sparsely filled		    */
     38        1.2   leo     volatile	u_short vd_line_wide;	/* Falcon line word distance        */
     39        1.2   leo     volatile	u_short vd_vert_wrap;	/* Falcon line length		    */
     40        1.2   leo     volatile	char	vd_fill0[45];	/* filler			    */
     41        1.1   leo     volatile	u_short	vd_st_rgb[16];	/* RGB for simultaneous colors	(ST)*/
     42        1.1   leo     volatile	u_char	vd_st_res;	/* ST resolution		    */
     43        1.1   leo     volatile	char	vd_fill1;	/* filler			    */
     44        1.1   leo     volatile	u_short	vd_tt_res;	/* TT-resultion mode		    */
     45        1.1   leo     volatile	u_char  vd_ste_hscroll;	/* MEGA STe hor bitwise scroll	    */
     46        1.2   leo     volatile	u_short vd_fal_res;	/* Falcon resolution		    */
     47        1.2   leo     volatile	char    vd_fill2[23];
     48        1.2   leo     volatile	u_short vd_h_hold_cnt;	/* Falcon horizontal hold counter   */
     49        1.2   leo     volatile	u_short vd_h_hold_tim;	/* Falcon horizontal hold timer     */
     50        1.2   leo     volatile	u_short vd_h_bord_beg;  /* Falcon horizontal border begin   */
     51        1.2   leo     volatile	u_short vd_h_bord_end;	/* Falcon horizontal border end     */
     52        1.2   leo     volatile	u_short vd_h_dis_beg;	/* Falcon horizontal display begin  */
     53        1.2   leo     volatile	u_short vd_h_dis_end;	/* Falcon horizontal display end    */
     54        1.2   leo     volatile	u_short vd_h_ss;	/* Falcon horizontal SS             */
     55        1.2   leo     volatile    u_short vd_h_fs;	/* Falcon horizontal FS		    */
     56        1.2   leo     volatile	u_short vd_h_hh;	/* Falcon horizontal HH		    */
     57        1.2   leo     volatile	char    vd_fill3[13];
     58        1.2   leo     volatile	u_short vd_v_freq_cnt;	/* Falcon vertical frequency count  */
     59        1.2   leo     volatile	u_short vd_v_freq_tim;	/* Falcon vertical frequency timer  */
     60        1.2   leo     volatile	u_short vd_v_bord_beg;	/* Falcon vertical border begin     */
     61        1.2   leo     volatile	u_short vd_v_bord_end;	/* Falcon vertical border end       */
     62        1.2   leo     volatile	u_short vd_v_dis_beg;	/* Falcon vertical display begin    */
     63        1.2   leo     volatile	u_short vd_v_dis_end;	/* Falcon vertical display end      */
     64        1.2   leo     volatile	u_short vd_v_ss;	/* Falcon vertical SS               */
     65        1.2   leo     volatile	char    vd_fill4[17];
     66        1.2   leo     volatile	u_short vd_fal_ctrl;	/* Falcon video control		    */
     67        1.4   leo     volatile	u_short vd_fal_mode;	/* Falcon video mode	            */
     68        1.2   leo     volatile	char    vd_fill5[315];
     69        1.1   leo     volatile	u_short vd_tt_rgb[256];	/* RGB for simultaneous TT colors   */
     70        1.2   leo     volatile	char	vd_fill6[4608];
     71        1.2   leo     volatile	u_long  vd_fal_rgb[256];/* RGB for Falcon colors            */
     72        1.1   leo };
     73        1.1   leo 
     74        1.1   leo #define	vd_ramh		vdb[ 1]	/* base address Video RAM, high byte	*/
     75        1.1   leo #define	vd_ramm		vdb[ 3]	/* base address Video RAM, mid byte	*/
     76        1.1   leo #define	vd_raml		vdb[13]	/* base address Video RAM, low byte	*/
     77        1.1   leo #define	vd_ptrh		vdb[ 5]	/* scan address Video RAM, high byte	*/
     78        1.1   leo #define	vd_ptrm		vdb[ 7]	/* scan address Video RAM, mid byte	*/
     79        1.1   leo #define	vd_ptrl		vdb[ 9]	/* scan address Video RAM, low byte	*/
     80        1.1   leo #define	vd_sync		vdb[10]	/* synchronization mode			*/
     81        1.1   leo 
     82        1.1   leo /* bits in vd_sync: */
     83        1.1   leo #define	SYNC_EXT	0x01	/* extern sync				*/
     84        1.1   leo #define	SYNC_50		0x02	/* 50 Hertz (used for color)		*/
     85        1.1   leo 
     86        1.1   leo /* bits in vd_st_rgb[]: */
     87        1.1   leo #define	RGB_B		0x0007
     88        1.1   leo #define	RGB_G		0x0070
     89        1.1   leo #define	RGB_R		0x0700
     90        1.1   leo 
     91        1.1   leo /* some values for vd_st_rgb[]: */
     92        1.1   leo #define	RGB_BLACK	0x0000
     93        1.1   leo #define	RGB_RED		0x0700
     94        1.1   leo #define	RGB_GREEN	0x0070
     95        1.1   leo #define	RGB_BLUE	0x0007
     96        1.1   leo #define	RGB_WHITE	0x0777
     97        1.1   leo #define	RGB_MAGENTA	0x0707
     98        1.1   leo #define	RGB_CYAN	0x0077
     99        1.1   leo #define	RGB_YELLOW	0x0770
    100        1.1   leo #define	RGB_LGREY	0x0555
    101        1.1   leo #define	RGB_DGREY	0x0222
    102        1.1   leo 
    103        1.1   leo /* values for vd_st_res: */
    104        1.1   leo #define	RES_LOW		0x00	/* 320x200, 16 colors			*/
    105        1.1   leo #define	RES_MID		0x01	/* 640x200,  4 colors			*/
    106        1.1   leo #define	RES_HIGH	0x02	/* 640x400, monochrome			*/
    107        1.1   leo 
    108        1.1   leo /* masks for vd_tt_res: */
    109        1.1   leo #define	RES_STLOW	0x0000	/* 320x200, 16 colors			*/
    110        1.1   leo #define	RES_STMID	0x0100	/* 640x200,  4 colors			*/
    111        1.1   leo #define	RES_STHIGH	0x0200	/* 640x400, monochrome			*/
    112        1.1   leo #define	RES_TTMID	0x0400	/* 640x480, 16 colors			*/
    113        1.1   leo #define	RES_TTHIGH	0x0600	/* 1280x960, monochrome			*/
    114        1.1   leo #define	RES_TTLOW	0x0700	/* 320x480,  256 colors			*/
    115        1.1   leo #define TT_PALLET	0x000f	/* Pallette number			*/
    116        1.1   leo #define	TT_HYMONO	0x8000	/* Hyper mono mode			*/
    117        1.1   leo #define	TT_SHOLD	0x1000	/* Sample/hold mode			*/
    118        1.2   leo 
    119        1.2   leo /* The falcon video modes */
    120        1.2   leo #define RES_FALAUTO	0	/* Falcon resolution dedected at boot	*/
    121        1.2   leo #define RES_VGA2	1	/* 640x480,   2 colors			*/
    122        1.2   leo #define RES_VGA4	2	/* 640x480,   4 colors			*/
    123        1.2   leo #define RES_VGA16	3	/* 640x480,  16 colors			*/
    124        1.2   leo #define RES_VGA256	4	/* 640x480, 256 colors			*/
    125        1.2   leo #define RES_DIRECT	5	/* 320x200, 65536 colors		*/
    126        1.2   leo #define RES_FAL_STLOW	6	/* 320x200,  16 colors			*/
    127        1.2   leo #define RES_FAL_STMID	7	/* 640x200,   4 colors			*/
    128        1.2   leo #define RES_FAL_STHIGH	8	/* 640x400,   2 colors			*/
    129        1.2   leo #define RES_FAL_TTLOW	9	/* 320x480, 256 colors			*/
    130        1.5   leo 
    131        1.5   leo /* Falcon monitor types */
    132        1.5   leo #define FAL_SM		0x0000
    133        1.5   leo #define FAL_SC		0x0100
    134        1.5   leo #define FAL_VGA		0x0200
    135        1.5   leo #define FAL_TV		0x0300
    136        1.1   leo 
    137        1.1   leo #endif /*  _MACHINE_VIDEO_H */
    138