revert between 56095 -> 55830 in arch
[AROS.git] / arch / all-pc / bootstrap / vesa.h
blobddb0bcb3b17e06b697d8cdca61398e3c2176e271
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 /* Our trampoline code is linked at this address */
16 #define VESA_START (void *)0x1000
18 #ifndef _IMPLEMENTATION_
20 asm (".set getControllerInfo,0x1000");
21 asm (".set getModeInfo,0x1004");
22 asm (".set findMode,0x1008");
23 asm (".set setVbeMode,0x100c");
24 asm (".set paletteWidth,0x1010");
25 asm (".set controllerinfo,0x1014");
26 asm (".set modeinfo,0x1018");
28 extern short (*getControllerInfo)(void);
29 extern short (*getModeInfo)(long mode);
30 extern short (*setVbeMode)(long mode, BOOL set_refresh);
31 extern short (*paletteWidth)(long req, unsigned char *width);
32 extern short (*findMode)(int x, int y, int d, int vfreq, BOOL prioritise_depth);
33 extern struct vbe_controller *controllerinfo;
34 extern struct vbe_mode *modeinfo;
36 extern void *_binary_vesa_size, *_binary_vesa_start;
38 #else
40 struct vesa11Info
42 unsigned short x_resolution;
43 unsigned short y_resolution;
44 unsigned char bits_per_pixel;
45 unsigned char memory_model;
48 struct CRTCInfoBlock
50 UWORD h_total;
51 UWORD h_sync_start;
52 UWORD h_sync_end;
53 UWORD v_total;
54 UWORD v_sync_start;
55 UWORD v_sync_end;
56 UBYTE flags;
57 ULONG pixel_clock;
58 UWORD refresh_rate;
59 UBYTE reserved[40];
60 } __attribute__((packed));
62 extern short getControllerInfo(void);
63 extern short getModeInfo(long mode);
64 extern short setVbeMode(long mode, BOOL set_refresh);
65 extern short paletteWidth(long req, unsigned char *width);
66 extern short findMode(int x, int y, int d, int vfreq, BOOL prioritise_depth);
67 extern struct vbe_controller controllerinfo;
68 extern struct vbe_mode modeinfo;
69 extern struct CRTCInfoBlock timings;
71 #endif /*_IMPLEMENTATION_ */
74 #endif /*VESA_H_*/