X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fdos%2Fvbe.h;h=011cba3b105da79b1434f7c6801fbe4932af40e5;hb=e0a94da7c7b657cebbb9e07c861054540706d5da;hp=17b24391337600b8333a4b22c26a32f9b25b4763;hpb=8a64d603ee67cd98070360b40938e123ea845154;p=dosdemo diff --git a/src/dos/vbe.h b/src/dos/vbe.h index 17b2439..011cba3 100644 --- a/src/dos/vbe.h +++ b/src/dos/vbe.h @@ -3,6 +3,12 @@ #include "inttypes.h" +#ifdef __GNUC__ +#define PACKED __attribute__((packed)) +#else +#define PACKED +#endif + #define VBE_ATTR_LFB (1 << 7) #define VBE_MODE_LFB (1 << 14) @@ -20,7 +26,7 @@ struct vbe_info { uint32_t oem_product_rev_ptr; uint8_t reserved[222]; uint8_t oem_data[256]; -}; +} PACKED; struct vbe_mode_info { uint16_t mode_attr; @@ -54,7 +60,7 @@ struct vbe_mode_info { uint16_t reserved3; uint8_t reserved4[206]; -}; +} PACKED; #pragma pack (pop) struct vbe_info *vbe_get_info(void); @@ -65,6 +71,15 @@ int vbe_set_mode(int mode); int vbe_set_palette_bits(int bits); void vbe_set_palette(int idx, int *col, int count, int bits); +#define VBE_SET_DISP_START_NOW 0 +#define VBE_SET_DISP_START_VBLANK 0x80 +int vbe_set_disp_start(int x, int y, int when); + +#define VBE_SCANLEN_PIXELS 0 +#define VBE_SCANLEN_BYTES 2 +int vbe_set_scanlen(int len, int mode); +int vbe_get_scanlen(int mode); + void print_mode_info(FILE *fp, struct vbe_mode_info *modei); #endif /* VBE_H_ */