Skip to content

Latest commit

 

History

History
81 lines (63 loc) · 2.38 KB

SDL_xbios_sb3.h

File metadata and controls

81 lines (63 loc) · 2.38 KB
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2004 Sam Lantinga
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Sam Lantinga
slouken@libsdl.org
*/
/*
ScreenBlaster 3 definitions
Patrice Mandin
*/
#ifndef _SDL_xbios_sb3_h_
#define _SDL_xbios_sb3_h_
/*--- Defines ---*/
#ifndef C_SCPN
#define C_SCPN 0x5343504EL
#endif
#define SCPN_DEV_1BPP 0
#define SCPN_DEV_2BPP 1
#define SCPN_DEV_4BPP 2
#define SCPN_DEV_8BPP 3
#define SCPN_DEV_16BPP 4
extern const int SDL_XBIOS_scpn_planes_device[];
/*--- Types ---*/
typedef struct {
unsigned short virtual_width; /* Virtual screen width */
unsigned short virtual_height; /* Virtual screen height */
unsigned short visible_width; /* Visible width */
unsigned short visible_height; /* Visible height */
unsigned short h_pos; /* Horizontal position in virtual screen */
unsigned short v_pos; /* Vertical position in virtual screen */
unsigned short dummy;
unsigned long size; /* Size of screen in bytes */
unsigned short device; /* Device number to find planes = getRez() */
/* = Index in scpn_planes_device[] */
} __attribute__((packed)) scpn_screeninfo_t;
typedef struct {
unsigned long magic; /* just a BRA assembler jump */
unsigned short version;
void *dummy1;
unsigned short ptsout0_1;
unsigned short ptsout0_2;
unsigned short dummy3;
unsigned char date[8]; /* Date of program build */
unsigned char asm_string[30]; /* 10 times the 'ASM' string */
unsigned short dummy4;
scpn_screeninfo_t *screen_info;
unsigned short dummy6;
} __attribute__((packed)) scpn_cookie_t;
/*--- Function prototypes ---*/
int SDL_XBIOS_SB3Usable(scpn_cookie_t *cookie_scpn);
void SDL_XBIOS_SB3Init(_THIS, scpn_cookie_t *cookie_scpn);
#endif /* _SDL_xbios_sb3_h_ */