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 ScreenBlaster 3 definitions 26 27 Patrice Mandin 28 */ 29 30 #ifndef _SDL_xbios_sb3_h_ 31 #define _SDL_xbios_sb3_h_ 32 33 /*--- Defines ---*/ 34 35 #ifndef C_SCPN 36 #define C_SCPN 0x5343504EL 37 #endif 38 39 #define SCPN_DEV_1BPP 0 40 #define SCPN_DEV_2BPP 1 41 #define SCPN_DEV_4BPP 2 42 #define SCPN_DEV_8BPP 3 43 #define SCPN_DEV_16BPP 4 44 45 extern const int SDL_XBIOS_scpn_planes_device[]; 46 47 /*--- Types ---*/ 48 49 typedef struct { 50 unsigned short virtual_width; /* Virtual screen width */ 51 unsigned short virtual_height; /* Virtual screen height */ 52 unsigned short visible_width; /* Visible width */ 53 unsigned short visible_height; /* Visible height */ 54 unsigned short h_pos; /* Horizontal position in virtual screen */ 55 unsigned short v_pos; /* Vertical position in virtual screen */ 56 unsigned short dummy; 57 unsigned long size; /* Size of screen in bytes */ 58 unsigned short device; /* Device number to find planes = getRez() */ 59 /* = Index in scpn_planes_device[] */ 60 } __attribute__((packed)) scpn_screeninfo_t; 61 62 typedef struct { 63 unsigned long magic; /* just a BRA assembler jump */ 64 unsigned short version; 65 void *dummy1; 66 unsigned short ptsout0_1; 67 unsigned short ptsout0_2; 68 unsigned short dummy3; 69 unsigned char date[8]; /* Date of program build */ 70 unsigned char asm_string[30]; /* 10 times the 'ASM' string */ 71 unsigned short dummy4; 72 scpn_screeninfo_t *screen_info; 73 unsigned short dummy6; 74 } __attribute__((packed)) scpn_cookie_t; 75 76 /*--- Function prototypes ---*/ 77 78 int SDL_XBIOS_SB3Usable(scpn_cookie_t *cookie_scpn); 79 80 void SDL_XBIOS_SB3Init(_THIS, scpn_cookie_t *cookie_scpn); 81 82 #endif /* _SDL_xbios_sb3_h_ */ 83