Fix IO memory access .. SB128 driver makes noises in VMWare - CMI is untested (Curren...
[AROS.git] / arch / i386-pc / exec / vesa.h
blob10b648bf7162d92dafa6f82e9f6d50c0fd088c1e
1 /*
2 Copyright © 2007-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: VBE-related definitions.
6 Lang: english
7 */
9 #ifndef VESA_H_
10 #define VESA_H_
12 #include <aros/multiboot.h>
13 #include <exec/types.h>
15 #ifndef _IMPLEMENTATION_
17 asm (".set getControllerInfo,0x1000");
18 asm (".set getModeInfo,0x1004");
19 asm (".set findMode,0x1008");
20 asm (".set setVbeMode,0x100c");
21 asm (".set paletteWidth,0x1010");
22 asm (".set controllerinfo,0x1014");
23 asm (".set modeinfo,0x1018");
25 extern short (*getControllerInfo)(void);
26 extern short (*getModeInfo)(long mode);
27 extern short (*setVbeMode)(long mode, BOOL set_refresh);
28 extern short (*paletteWidth)(long req, unsigned char *width);
29 extern short (*findMode)(int x, int y, int d, int vfreq, BOOL prioritise_depth);
30 extern struct vbe_controller *controllerinfo;
31 extern struct vbe_mode *modeinfo;
33 extern void *_binary_vesa_size, *_binary_vesa_start;
35 #else
37 struct vesa11Info
39 unsigned short x_resolution;
40 unsigned short y_resolution;
41 unsigned char bits_per_pixel;
42 unsigned char memory_model;
45 struct CRTCInfoBlock
47 UWORD h_total;
48 UWORD h_sync_start;
49 UWORD h_sync_end;
50 UWORD v_total;
51 UWORD v_sync_start;
52 UWORD v_sync_end;
53 UBYTE flags;
54 ULONG pixel_clock;
55 UWORD refresh_rate;
56 UBYTE reserved[40];
57 } __attribute__((packed));
59 extern short getControllerInfo(void);
60 extern short getModeInfo(long mode);
61 extern short setVbeMode(long mode, BOOL set_refresh);
62 extern short paletteWidth(long req, unsigned char *width);
63 extern short findMode(int x, int y, int d, int vfreq, BOOL prioritise_depth);
64 extern struct vbe_controller controllerinfo;
65 extern struct vbe_mode modeinfo;
66 extern struct CRTCInfoBlock timings;
68 #endif /*_IMPLEMENTATION_ */
71 #endif /*VESA_H_*/