#include "vbemp.h"
-#define NDEBUG
-#include <debug.h>
-
/* PUBLIC AND PRIVATE FUNCTIONS ***********************************************/
VP_STATUS STDCALL
static int
VBESortModesCallback(PVBE_MODEINFO VbeModeInfoA, PVBE_MODEINFO VbeModeInfoB)
{
- DPRINT("VBESortModesCallback: %dx%dx%d / %dx%dx%d\n",
+ VideoPortDebugPrint(Info, "VBESortModesCallback: %dx%dx%d / %dx%dx%d\n",
VbeModeInfoA->XResolution, VbeModeInfoA->YResolution,
VbeModeInfoA->BitsPerPixel,
VbeModeInfoB->XResolution, VbeModeInfoB->YResolution,
ULONG Pos;
int Result;
VBE_MODEINFO TempModeInfo;
- WORD TempModeNumber;
+ USHORT TempModeNumber;
while (!Finished)
{
if (Status != NO_ERROR)
{
- DPRINT1("Failed to get Int 10 service functions (Status %x)\n", Status);
+ VideoPortDebugPrint(Error, "Failed to get Int 10 service functions (Status %x)\n", Status);
return FALSE;
}
if (Status != NO_ERROR)
{
- DPRINT1("Failed to allocate virtual memory (Status %x)\n", Status);
+ VideoPortDebugPrint(Error, "Failed to allocate virtual memory (Status %x)\n", Status);
return FALSE;
}
&VBEDeviceExtension->VbeInfo,
sizeof(VBEDeviceExtension->VbeInfo));
- /* Verify VBE is found and not anĂ½thing else */
- if (strncmp(VBEDeviceExtension->VbeInfo.Signature,"VESA",4) != 0)
- {
- DPRINT("No VBE BIOS present\n");
+ /* Verify the VBE signature. */
+ if (VideoPortCompareMemory(VBEDeviceExtension->VbeInfo.Signature, "VESA", 4) != 4)
+ {
+ VideoPortDebugPrint(Warn, "No VBE BIOS present\n");
return FALSE;
- }
+ }
- /* Dectect Bad VBE BIOS some Graphice card report 0x200 when they are VBE 1.2 */
- if (VBEDeviceExtension->VbeInfo.OemVendorNamePtr == 0 && VBEDeviceExtension->VbeInfo.Version == 0x200)
- {
- VBEDeviceExtension->VbeInfo.Version = 0x102;
- }
-
- DPRINT("VBE BIOS Present (%d.%d, %8ld Kb)\n",
+ VideoPortDebugPrint(Trace, "VBE BIOS Present (%d.%d, %8ld Kb)\n",
VBEDeviceExtension->VbeInfo.Version / 0x100,
VBEDeviceExtension->VbeInfo.Version & 0xFF,
VBEDeviceExtension->VbeInfo.TotalMemory * 64);
if (VBEDeviceExtension->VbeInfo.Version < 0x200)
#endif
{
- DPRINT("VBE BIOS present, but incompatible version.\n");
+ VideoPortDebugPrint(Warn, "VBE BIOS present, but incompatible version.\n");
return FALSE;
}
}
else
{
- DPRINT("No VBE BIOS found.\n");
+ VideoPortDebugPrint(Warn, "No VBE BIOS found.\n");
return FALSE;
}
*/
VBEDeviceExtension->ModeInfo =
- ExAllocatePool(PagedPool, ModeCount * sizeof(VBE_MODEINFO));
+ VideoPortAllocatePool(HwDeviceExtension, VpPagedPool, ModeCount * sizeof(VBE_MODEINFO), TAG_VBE);
VBEDeviceExtension->ModeNumbers =
- ExAllocatePool(PagedPool, ModeCount * sizeof(WORD));
+ VideoPortAllocatePool(HwDeviceExtension, VpPagedPool, ModeCount * sizeof(USHORT), TAG_VBE);
/*
* Get the actual mode infos.
VbeModeInfo->XResolution >= 640 &&
VbeModeInfo->YResolution >= 480 &&
(VbeModeInfo->MemoryModel == VBE_MEMORYMODEL_PACKEDPIXEL ||
- VbeModeInfo->MemoryModel == VBE_MEMORYMODEL_DIRECTCOLOR))
+ VbeModeInfo->MemoryModel == VBE_MEMORYMODEL_DIRECTCOLOR) &&
+ VbeModeInfo->PhysBasePtr != 0)
{
if (VbeModeInfo->ModeAttributes & VBE_MODEATTR_LINEAR)
{
if (SuitableModeCount == 0)
{
- DPRINT("VBEMP: No video modes supported\n");
+ VideoPortDebugPrint(Warn, "VBEMP: No video modes supported\n");
return FALSE;
}
* Print the supported video modes when NDEBUG is not set.
*/
-#ifndef NDEBUG
for (CurrentMode = 0;
CurrentMode < SuitableModeCount;
CurrentMode++)
{
- DPRINT("%dx%dx%d\n",
+ VideoPortDebugPrint(Trace, "%dx%dx%d\n",
VBEDeviceExtension->ModeInfo[CurrentMode].XResolution,
VBEDeviceExtension->ModeInfo[CurrentMode].YResolution,
VBEDeviceExtension->ModeInfo[CurrentMode].BitsPerPixel);
}
-#endif
return TRUE;
}
PVOID HwDeviceExtension,
PVIDEO_REQUEST_PACKET RequestPacket)
{
- BOOL Result;
+ BOOLEAN Result;
- RequestPacket->StatusBlock->Status = STATUS_UNSUCCESSFUL;
+ RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
switch (RequestPacket->IoControlCode)
{
break;
default:
- RequestPacket->StatusBlock->Status = STATUS_NOT_IMPLEMENTED;
+ RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
return FALSE;
}
if (Result)
- RequestPacket->StatusBlock->Status = STATUS_SUCCESS;
+ RequestPacket->StatusBlock->Status = NO_ERROR;
return TRUE;
}
&BiosRegisters);
if (BiosRegisters.Eax == VBE_NOT_SUPPORTED)
- return ERROR_NOT_SUPPORTED;
+ return ERROR_DEV_NOT_EXIST;
if (BiosRegisters.Eax != VBE_SUCCESS)
return ERROR_INVALID_FUNCTION;
return NO_ERROR;
}
- return ERROR_NOT_SUPPORTED;
+ return ERROR_DEV_NOT_EXIST;
}
/*
&BiosRegisters);
if (BiosRegisters.Eax == VBE_NOT_SUPPORTED)
- return ERROR_NOT_SUPPORTED;
+ return ERROR_DEV_NOT_EXIST;
if (BiosRegisters.Eax != VBE_SUCCESS)
return ERROR_INVALID_FUNCTION;
* Sets the adapter to the specified operating mode.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBESetCurrentMode(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MODE RequestedMode,
}
else
{
- DPRINT1("VBEMP: VBESetCurrentMode failed (%x)\n", BiosRegisters.Eax);
+ VideoPortDebugPrint(Error, "VBEMP: VBESetCurrentMode failed (%x)\n", BiosRegisters.Eax);
DeviceExtension->CurrentMode = -1;
}
* at system boot.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEResetDevice(
PVBE_DEVICE_EXTENSION DeviceExtension,
PSTATUS_BLOCK StatusBlock)
* space of the requestor.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEMapVideoMemory(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MEMORY RequestedAddress,
* frame buffer and video RAM.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEUnmapVideoMemory(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MEMORY VideoMemory,
* buffer for an IOCTL_VIDEO_QUERY_AVAIL_MODES request.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEQueryNumAvailModes(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_NUM_MODES Modes,
* Returns information about each video mode supported by the adapter.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEQueryAvailModes(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MODE_INFORMATION ReturnedModes,
* Returns information about current video mode.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBEQueryCurrentMode(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_MODE_INFORMATION VideoModeInfo,
* yet implemented.
*/
-BOOL FASTCALL
+BOOLEAN FASTCALL
VBESetColorRegisters(
PVBE_DEVICE_EXTENSION DeviceExtension,
PVIDEO_CLUT ColorLookUpTable,