Annotation of sbbs/src/conio/vidmodes.h, revision 1.1.1.2

1.1.1.2 ! root        1: /* $Id: vidmodes.h,v 1.17 2009/02/10 09:15:29 deuce Exp $ */
1.1       root        2: 
                      3: /****************************************************************************
                      4:  * @format.tab-size 4          (Plain Text/Source Code File Header)                    *
                      5:  * @format.use-tabs true       (see http://www.synchro.net/ptsc_hdr.html)              *
                      6:  *                                                                                                                                                     *
                      7:  * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html         *
                      8:  *                                                                                                                                                     *
                      9:  * This library is free software; you can redistribute it and/or                       *
                     10:  * modify it under the terms of the GNU Lesser General Public License          *
                     11:  * as published by the Free Software Foundation; either version 2                      *
                     12:  * of the License, or (at your option) any later version.                                      *
                     13:  * See the GNU Lesser General Public License for more details: lgpl.txt or     *
                     14:  * http://www.fsf.org/copyleft/lesser.html                                                                     *
                     15:  *                                                                                                                                                     *
                     16:  * Anonymous FTP access to the most recent released source is available at     *
                     17:  * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net     *
                     18:  *                                                                                                                                                     *
                     19:  * Anonymous CVS access to the development source and modification history     *
                     20:  * is available at cvs.synchro.net:/cvsroot/sbbs, example:                                     *
                     21:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs login                       *
                     22:  *     (just hit return, no password is necessary)                                                     *
                     23:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src                *
                     24:  *                                                                                                                                                     *
                     25:  * For Synchronet coding style and modification guidelines, see                                *
                     26:  * http://www.synchro.net/source.html                                                                          *
                     27:  *                                                                                                                                                     *
                     28:  * You are encouraged to submit any modifications (preferably in Unix diff     *
                     29:  * format) via e-mail to [email protected]                                                                      *
                     30:  *                                                                                                                                                     *
                     31:  * Note: If this box doesn't appear square, then you need to fix your tabs.    *
                     32:  ****************************************************************************/
                     33: 
                     34: #ifndef _VIDMODES_H_
                     35: #define _VIDMODES_H_
                     36: 
                     37: #if (defined CIOLIB_IMPORTS)
                     38:  #undef CIOLIB_IMPORTS
                     39: #endif
                     40: #if (defined CIOLIB_EXPORTS)
                     41:  #undef CIOLIB_EXPORTS
                     42: #endif
                     43: 
                     44: #include "ciolib.h"
                     45: 
1.1.1.2 ! root       46: #define TOTAL_DAC_SIZE 34
        !            47: 
        !            48: /* Entry type for the DAC table. */
        !            49: struct dac_colors {
        !            50:        unsigned char red;
        !            51:        unsigned char green;
        !            52:        unsigned char blue;
        !            53: };
        !            54: 
1.1       root       55: struct  video_params {
                     56:        int     mode;
                     57:        int palette;
                     58:        int     cols;
                     59:        int rows;
                     60:        int     curs_start;
                     61:        int curs_end;
                     62:        int charheight;
                     63:        int charwidth;
                     64: };
                     65: 
                     66: struct video_stats {
                     67:        int rows;
                     68:        int cols;
                     69:        int curs_row;
                     70:        int curs_col;
                     71:        int curs_start;
                     72:        int curs_end;
1.1.1.2 ! root       73:        int curs_blink;
        !            74:        int curs_visible;
1.1       root       75:        int default_curs_start;
                     76:        int default_curs_end;
                     77:        int mode;
                     78:        int charheight;
                     79:        int charwidth;
1.1.1.2 ! root       80:        int bright_background;
1.1       root       81:        int blink;
1.1.1.2 ! root       82:        int no_bright;
        !            83:        int bright_altcharset;
1.1       root       84:        int currattr;
                     85:        int scaling;
1.1.1.2 ! root       86:        struct dac_colors dac_colors[256];
        !            87:        unsigned char palette[16];
1.1       root       88:        unsigned short *vmem;
                     89: };
                     90: 
                     91: enum {
                     92:         MONO_PALETTE
                     93:        ,GREYSCALE_PALETTE
                     94:        ,COLOUR_PALETTE
1.1.1.2 ! root       95:        ,C64_PALETTE
        !            96:        ,ATARI_PALETTE
1.1       root       97: };
                     98: 
1.1.1.2 ! root       99: extern struct video_params vparams[49];
1.1       root      100: #define NUMMODES      (sizeof(vparams) / sizeof(struct video_params))
1.1.1.2 ! root      101: extern unsigned char palettes[5][16];
        !           102: extern struct dac_colors dac_default[TOTAL_DAC_SIZE];
1.1       root      103: extern char vga_font_bitmap[4096];
                    104: extern char vga_font_bitmap14[3584];
                    105: extern char vga_font_bitmap8[2048];
                    106: 
                    107: #ifdef __cplusplus
                    108: extern "C" {
                    109: #endif
                    110: int find_vmode(int mode);
                    111: int load_vmode(struct video_stats *vs, int mode);
                    112: #ifdef __cplusplus
                    113: }
                    114: #endif
                    115: 
                    116: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.