Chameleon

Chameleon Svn Source Tree

Root/branches/azimutz/trunkAutoResolution/i386/libsaio/gma_resolution.h

1/*
2 * gma_resolution.h
3 *
4 *
5 * Created by Le Bidou on 19/03/10.
6 * Copyright 2010 ---. All rights reserved.
7 *
8 */
9
10#ifndef _GMA_RESOLUTION_H_
11#define _GMA_RESOLUTION_H_
12
13//#include "libsaio.h"
14#include "autoresolution.h"
15
16#define MODE_TABLE_OFFSET_845G 617
17#define INTEL_SIGNATURE "Intel Corp"
18
19typedef struct {
20uint8_t mode;
21uint8_t bitsPerPixel;
22uint16_t resolution;
23uint8_t unknown;
24} __packed vbiosMode;
25
26typedef struct {
27uint8_t unknow1[2];
28uint8_t hActive1;
29uint8_t xTotal;
30uint8_t hActive2;
31uint8_t vActive1;
32uint8_t yTotal;
33uint8_t vActive2;
34} __packed vbiosResolutionType1;
35
36typedef struct {
37uint32_t clock;
38
39uint16_t hActive1;
40uint16_t hTotal;
41uint16_t hActive2;
42uint16_t hBlank;
43uint16_t hSyncStart;
44uint16_t hSyncEnd;
45uint16_t vActive1;
46 uint16_t vTotal;
47 uint16_t vActive2;
48uint16_t vBlank;
49uint16_t vSyncStart;
50uint16_t vSyncEnd;
51} __packed vbiosModelineType2;
52
53typedef struct {
54uint8_t xChars;
55uint8_t yChars;
56uint8_t unknown[4];
57
58vbiosModelineType2 modelines[];
59} __packed vbiosResolutionType2;
60
61typedef struct {
62uint32_t clock;
63
64uint16_t hActive1;
65uint16_t hTotal;
66uint16_t hActive2;
67uint16_t hBlank;
68uint16_t hSyncStart;
69uint16_t hSyncEnd;
70
71uint16_t vActive1;
72uint16_t vTotal;
73uint16_t vActive2;
74uint16_t vBlank;
75uint16_t vSyncStart;
76uint16_t vSyncEnd;
77
78uint16_t timingH;
79uint16_t timingV;
80
81uint8_t unknown[6];
82} __packed vbiosModelineType3;
83
84typedef struct {
85unsigned char unknown[6];
86
87 vbiosModelineType3 modelines[];
88} __packed vbiosResolutionType3;
89
90
91vbiosResolutionType1 * mapType1Resolution(vBiosMap * map, uint16_t res);
92vbiosResolutionType2 * mapType2Resolution(vBiosMap * map, uint16_t res);
93vbiosResolutionType3 * mapType3Resolution(vBiosMap * map, uint16_t res);
94
95char detectBiosType(vBiosMap * map, char modeline, int entrySize);
96
97vBiosMap * openIntelVbios(vBiosMap *);
98
99bool intelSetMode_1(sModeTable* table, uint8_t idx, uint32_t* x, uint32_t* y);
100bool intelSetMode_2(sModeTable* table, uint8_t idx, uint32_t* x, uint32_t* y);
101bool intelSetMode_3(sModeTable* table, uint8_t idx, uint32_t* x, uint32_t* y);
102
103#endif

Archive Download this file

Revision: 946