|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.