Skip to content

Latest commit

 

History

History
138 lines (113 loc) · 3.67 KB

SDL_xbios_milan.h

File metadata and controls

138 lines (113 loc) · 3.67 KB
 
Sep 19, 2009
Sep 19, 2009
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
/*
SDL - Simple DirectMedia Layer
Copyright (C) 1997-2009 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
*/
#include "SDL_config.h"
/*
Milan Xbios video functions
Patrice Mandin
*/
#ifndef _SDL_xbios_milan_h
#define _SDL_xbios_milan_h
#include "SDL_xbios.h"
/*--- Defines ---*/
/* Cookies */
#ifndef C__MIL
#define C__MIL 0x5F4D494CL
#endif
#ifndef C__VDI
#define C__VDI 0x5F564449L
#endif
/* Vsetscreen() parameters */
#define MI_MAGIC 0x4D49
enum {
CMD_GETMODE=0,
CMD_SETMODE,
CMD_GETINFO,
CMD_ALLOCPAGE,
CMD_FREEPAGE,
CMD_FLIPPAGE,
CMD_ALLOCMEM,
CMD_FREEMEM,
CMD_SETADR,
CMD_ENUMMODES
};
enum {
ENUMMODE_EXIT=0,
ENUMMODE_CONT
};
enum {
BLK_ERR=0,
BLK_OK,
BLK_CLEARED
};
Sep 20, 2009
Sep 20, 2009
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* scrFlags */
#define SCRINFO_OK 1
/* scrClut */
#define NO_CLUT 0
#define HARD_CLUT 1
#define SOFT_CLUT 2
/* scrFormat */
#define INTERLEAVE_PLANES 0
#define STANDARD_PLANES 1
#define PACKEDPIX_PLANES 2
/* bitFlags */
#define STANDARD_BITS 1
#define FALCON_BITS 2
#define INTEL_BITS 8
Sep 19, 2009
Sep 19, 2009
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*--- Structures ---*/
typedef struct _scrblk {
unsigned long size; /* size of strukture */
unsigned long blk_status; /* status bits of blk */
unsigned long blk_start; /* Start Adress */
unsigned long blk_len; /* length of memblk */
unsigned long blk_x; /* x pos in total screen*/
unsigned long blk_y; /* y pos in total screen */
unsigned long blk_w; /* width */
unsigned long blk_h; /* height */
unsigned long blk_wrap; /* width in bytes */
} __attribute__((packed)) SCRMEMBLK;
typedef struct screeninfo {
unsigned long size; /* Size of structure */
unsigned long devID; /* device id number */
unsigned char name[64]; /* Friendly name of Screen */
unsigned long scrFlags; /* some Flags */
unsigned long frameadr; /* Adress of framebuffer */
unsigned long scrHeight; /* visible X res */
unsigned long scrWidth; /* visible Y res */
unsigned long virtHeight; /* virtual X res */
unsigned long virtWidth; /* virtual Y res */
unsigned long scrPlanes; /* color Planes */
unsigned long scrColors; /* # of colors */
unsigned long lineWrap; /* # of Bytes to next line */
unsigned long planeWarp; /* # of Bytes to next plane */
unsigned long scrFormat; /* screen Format */
unsigned long scrClut; /* type of clut */
unsigned long redBits; /* Mask of Red Bits */
unsigned long greenBits; /* Mask of Green Bits */
unsigned long blueBits; /* Mask of Blue Bits */
unsigned long alphaBits; /* Mask of Alpha Bits */
unsigned long genlockBits;/* Mask of Genlock Bits */
unsigned long unusedBits; /* Mask of unused Bits */
unsigned long bitFlags; /* Bits organisation flags */
unsigned long maxmem; /* max. memory in this mode */
unsigned long pagemem; /* needed memory for one page */
unsigned long max_x; /* max. possible width */
unsigned long max_y; /* max. possible heigth */
} __attribute__((packed)) SCREENINFO;
/*--- Functions prototypes ---*/
void SDL_XBIOS_ListMilanModes(_THIS, int actually_add);
#endif /* _SDL_xbios_milan_h */