SDL-1.2.14
[sdl_omap.git] / src / video / xbios / SDL_xbios_blowup.h
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2009 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_ListBlowupModes(_THIS, int actually_add, blow_cookie_t *cookie_blow);
85
86 #endif /* _SDL_xbios_blowup_h */