Home | History | Annotate | Download | only in xbios
      1 /*
      2     SDL - Simple DirectMedia Layer
      3     Copyright (C) 1997-2004 Sam Lantinga
      4 
      5     This library is free software; you can redistribute it and/or
      6     modify it under the terms of the GNU Library General Public
      7     License as published by the Free Software Foundation; either
      8     version 2 of the License, or (at your option) any later version.
      9 
     10     This library is distributed in the hope that it will be useful,
     11     but WITHOUT ANY WARRANTY; without even the implied warranty of
     12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13     Library General Public License for more details.
     14 
     15     You should have received a copy of the GNU Library General Public
     16     License along with this library; if not, write to the Free
     17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     18 
     19     Sam Lantinga
     20     slouken (at) libsdl.org
     21 */
     22 #include "SDL_config.h"
     23 
     24 /*
     25 	Blowup extension definitions
     26 
     27 	Patrice Mandin
     28 */
     29 
     30 #ifndef _SDL_xbios_blowup_h
     31 #define _SDL_xbios_blowup_h
     32 
     33 #include "SDL_xbios.h"
     34 
     35 /*--- Types ---*/
     36 
     37 typedef struct {
     38 	/* 64 bytes */
     39 	unsigned short	enabled;		/* Extended mode enabled ? 0=yes, <>0=no */
     40 	unsigned short	dummy10[6];
     41 	unsigned short	registers_0E;	/* value for register 0xffff820e */
     42 	unsigned short	registers_10;	/* value for register 0xffff8210 */
     43 	unsigned short	dummy11[23];
     44 
     45 	/* 64 bytes */
     46 	unsigned short	width;			/* width-1 */
     47 	unsigned short	height;			/* height-1 */
     48 	unsigned short	dummy20;
     49 	unsigned long	screensize;		/* screensize in bytes */
     50 	unsigned short	dummy21[8];
     51 	unsigned short	virtual;		/* Virtual screen ? */
     52 	unsigned short	virwidth;		/* Virtual screen width */
     53 	unsigned short	virheight;		/* Virtual screen height */
     54 
     55 	unsigned short dummy22;
     56 	unsigned short monitor;			/* Monitor defined for this mode */
     57 	unsigned short extension;		/* Extended mode defined ? 0=yes, 1=no */
     58 	unsigned short dummy23[13];
     59 
     60 	/* 64 bytes */
     61 	unsigned short	dummy30;
     62 	unsigned short	registers_82[6];	/* values for registers 0xffff8282-8c */
     63 	unsigned short	dummy31[9];
     64 
     65 	unsigned short	dummy32;
     66 	unsigned short	registers_A2[6];	/* values for registers 0xffff82a2-ac */
     67 	unsigned short	dummy33[9];
     68 
     69 	/* 64 bytes */
     70 	unsigned short	registers_C0;	/* value for register 0xffff82c0 */
     71 	unsigned short	registers_C2;	/* value for register 0xffff82c2 */
     72 	unsigned short	dummy40[30];
     73 } __attribute__((packed)) blow_mode_t;
     74 
     75 typedef struct {
     76 	blow_mode_t	blowup_modes[10];
     77 	unsigned char	num_mode[6];
     78 	unsigned long	dummy;
     79 	unsigned short	montype;
     80 } __attribute__((packed)) blow_cookie_t;
     81 
     82 /*--- Functions prototypes ---*/
     83 
     84 void SDL_XBIOS_BlowupInit(_THIS, blow_cookie_t *cookie_blow);
     85 
     86 #endif /* _SDL_xbios_blowup_h */
     87