diff options
Diffstat (limited to 'qemu/roms/vgabios/tests/lfbprof/lfbprof.h')
-rw-r--r-- | qemu/roms/vgabios/tests/lfbprof/lfbprof.h | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/qemu/roms/vgabios/tests/lfbprof/lfbprof.h b/qemu/roms/vgabios/tests/lfbprof/lfbprof.h deleted file mode 100644 index bae0e09b1..000000000 --- a/qemu/roms/vgabios/tests/lfbprof/lfbprof.h +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -* -* VBE 2.0 Linear Framebuffer Profiler -* By Kendall Bennett and Brian Hook -* -* Filename: LFBPROF.H -* Language: ANSI C -* Environment: Watcom C/C++ 10.0a with DOS4GW -* -* Description: Header file for the LFBPROF.C progam. -* -****************************************************************************/ - -#ifndef __LFBPROF_H -#define __LFBPROF_H - -/*---------------------- Macros and type definitions ----------------------*/ - -#pragma pack(1) - -/* SuperVGA information block */ - -typedef struct { - char VESASignature[4]; /* 'VESA' 4 byte signature */ - short VESAVersion; /* VBE version number */ - long OemStringPtr; /* Pointer to OEM string */ - long Capabilities; /* Capabilities of video card */ - long VideoModePtr; /* Pointer to supported modes */ - short TotalMemory; /* Number of 64kb memory blocks */ - - /* VBE 2.0 extensions */ - - short OemSoftwareRev; /* OEM Software revision number */ - long OemVendorNamePtr; /* Pointer to Vendor Name string */ - long OemProductNamePtr; /* Pointer to Product Name string */ - long OemProductRevPtr; /* Pointer to Product Revision str */ - char reserved[222]; /* Pad to 256 byte block size */ - char OemDATA[256]; /* Scratch pad for OEM data */ - } VBE_vgaInfo; - -/* SuperVGA mode information block */ - -typedef struct { - short ModeAttributes; /* Mode attributes */ - char WinAAttributes; /* Window A attributes */ - char WinBAttributes; /* Window B attributes */ - short WinGranularity; /* Window granularity in k */ - short WinSize; /* Window size in k */ - short WinASegment; /* Window A segment */ - short WinBSegment; /* Window B segment */ - long WinFuncPtr; /* Pointer to window function */ - short BytesPerScanLine; /* Bytes per scanline */ - short XResolution; /* Horizontal resolution */ - short YResolution; /* Vertical resolution */ - char XCharSize; /* Character cell width */ - char YCharSize; /* Character cell height */ - char NumberOfPlanes; /* Number of memory planes */ - char BitsPerPixel; /* Bits per pixel */ - char NumberOfBanks; /* Number of CGA style banks */ - char MemoryModel; /* Memory model type */ - char BankSize; /* Size of CGA style banks */ - char NumberOfImagePages; /* Number of images pages */ - char res1; /* Reserved */ - char RedMaskSize; /* Size of direct color red mask */ - char RedFieldPosition; /* Bit posn of lsb of red mask */ - char GreenMaskSize; /* Size of direct color green mask */ - char GreenFieldPosition; /* Bit posn of lsb of green mask */ - char BlueMaskSize; /* Size of direct color blue mask */ - char BlueFieldPosition; /* Bit posn of lsb of blue mask */ - char RsvdMaskSize; /* Size of direct color res mask */ - char RsvdFieldPosition; /* Bit posn of lsb of res mask */ - char DirectColorModeInfo; /* Direct color mode attributes */ - - /* VBE 2.0 extensions */ - - long PhysBasePtr; /* Physical address for linear buf */ - long OffScreenMemOffset; /* Pointer to start of offscreen mem*/ - short OffScreenMemSize; /* Amount of offscreen mem in 1K's */ - char res2[206]; /* Pad to 256 byte block size */ - } VBE_modeInfo; - -#define vbeMemPK 4 /* Packed Pixel memory model */ -#define vbeUseLFB 0x4000 /* Enable linear framebuffer mode */ - -/* Flags for the mode attributes returned by VBE_getModeInfo. If - * vbeMdNonBanked is set to 1 and vbeMdLinear is also set to 1, then only - * the linear framebuffer mode is available. - */ - -#define vbeMdAvailable 0x0001 /* Video mode is available */ -#define vbeMdColorMode 0x0008 /* Mode is a color video mode */ -#define vbeMdGraphMode 0x0010 /* Mode is a graphics mode */ -#define vbeMdNonBanked 0x0040 /* Banked mode is not supported */ -#define vbeMdLinear 0x0080 /* Linear mode supported */ - -/* Structures for issuing real mode interrupts with DPMI */ - -struct _RMWORDREGS { - unsigned short ax, bx, cx, dx, si, di, cflag; - }; - -struct _RMBYTEREGS { - unsigned char al, ah, bl, bh, cl, ch, dl, dh; - }; - -typedef union { - struct _RMWORDREGS x; - struct _RMBYTEREGS h; - } RMREGS; - -typedef struct { - unsigned short es; - unsigned short cs; - unsigned short ss; - unsigned short ds; - } RMSREGS; - -/* Inline assembler block fill/move routines */ - -void LfbMemset(void *p,int c,int n); -#pragma aux LfbMemset = \ - "shr ecx,2" \ - "xor eax,eax" \ - "mov al,bl" \ - "shl ebx,8" \ - "or ax,bx" \ - "mov ebx,eax" \ - "shl ebx,16" \ - "or eax,ebx" \ - "rep stosd" \ - parm [edi] [ebx] [ecx]; - -void LfbMemcpy(void *dst,void *src,int n); -#pragma aux LfbMemcpy = \ - "shr ecx,2" \ - "rep movsd" \ - parm [edi] [esi] [ecx]; - -/* Map a real mode pointer into address space */ - -#define LfbMapRealPointer(p) (void*)(((unsigned)((p) & 0xFFFF0000) >> 12) + ((p) & 0xFFFF)) - -/* Get the current timer tick count */ - -#define LfbGetTicks() *((long*)0x46C) - -#pragma pack() - -#endif /* __LFBPROF_H */ |