• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@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