comparison src/video/xbios/SDL_xbios_sb3.h @ 1040:c6ed27c7d47d

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