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