19 {0, 80, 12, 2, 4, 4, 6, 480, 37}, {0, 80, 12, 2, 4, 132, 6, 480, 37}}
25 { {{0x60, 0}}, 0x00000001, 1, 1, 1, 0 },
26 { {{0x62, 0}}, 0x00000001, 1, 1, 1, 0 },
27 { {{0x68, 0}}, 0x00000001, 1, 1, 1, 0 },
28 { {{0x6A, 0}}, 0x00000001, 1, 1, 1, 0 },
29 { {{0x7C, 0}}, 0x00000001, 1, 1, 1, 0 },
30 { {{0xA0, 0}}, 0x00000001, 1, 1, 1, 0 },
31 { {{0xA2, 0}}, 0x00000001, 1, 1, 1, 0 },
32 { {{0xA4, 0}}, 0x00000001, 1, 1, 1, 0 },
33 { {{0xA6, 0}}, 0x00000001, 1, 1, 1, 0 },
34 { {{0xA8, 0}}, 0x00000001, 1, 1, 1, 0 },
35 { {{0xAA, 0}}, 0x00000001, 1, 1, 1, 0 },
36 { {{0xAC, 0}}, 0x00000001, 1, 1, 1, 0 },
37 { {{0xAE, 0}}, 0x00000001, 1, 1, 1, 0 },
38 { {{0x9A0, 0}}, 0x00000001, 1, 1, 1, 0 },
39 { {{0x9A2, 0}}, 0x00000001, 1, 1, 1, 0 },
40 { {{0x9A8, 0}}, 0x00000001, 1, 1, 1, 0 },
41 { {{0xFAC, 0}}, 0x00000001, 1, 1, 1, 0 },
45#define CONTROL_RANGE_INDEX 17
46#define FRAMEBUFFER_RANGE_INDEX 18
64 static WCHAR AdapterChipType[] =
L"Onboard";
65 static WCHAR AdapterDacType[] =
L"8 bit";
117 ConfigInfo->NumEmulatorAccessEntries = 0;
118 ConfigInfo->EmulatorAccessEntries =
NULL;
119 ConfigInfo->EmulatorAccessEntriesContext = 0;
120 ConfigInfo->HardwareStateSize = 0;
121 ConfigInfo->VdmPhysicalVideoMemoryAddress.QuadPart = 0;
122 ConfigInfo->VdmPhysicalVideoMemoryLength = 0;
125 L"HardwareInformation.ChipType",
127 sizeof(AdapterChipType));
129 L"HardwareInformation.DacType",
131 sizeof(AdapterDacType));
133 L"HardwareInformation.MemorySize",
137 L"HardwareInformation.AdapterString",
186 if (ChildEnumInfo->ChildIndex > 0 &&
187 ChildEnumInfo->ChildIndex <= DeviceExtension->
MonitorCount)
203#pragma alloc_text(INIT, DriverEntry)
struct _HW_DEVICE_EXTENSION HW_DEVICE_EXTENSION
#define ERROR_DEV_NOT_EXIST
#define ERROR_NO_MORE_DEVICES
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_PARAMETER
DRIVER_INITIALIZE DriverEntry
static BOOLEAN HasPegcController(VOID)
#define UNREFERENCED_PARAMETER(P)
const VIDEO_ACCESS_RANGE LegacyRangeList[]
static BOOLEAN NTAPI Pc98VidInitialize(_In_ PVOID HwDeviceExtension)
#define FRAMEBUFFER_RANGE_INDEX
#define CONTROL_RANGE_INDEX
static VP_STATUS NTAPI Pc98VidGetVideoChildDescriptor(_In_ PVOID HwDeviceExtension, _In_ PVIDEO_CHILD_ENUM_INFO ChildEnumInfo, _Out_ PVIDEO_CHILD_TYPE VideoChildType, _Out_ PUCHAR pChildDescriptor, _Out_ PULONG UId, _Out_ PULONG pUnused)
static VP_STATUS NTAPI Pc98VidFindAdapter(_In_ PVOID HwDeviceExtension, _In_opt_ PVOID HwContext, _In_opt_ PWSTR ArgumentString, _Inout_ PVIDEO_PORT_CONFIG_INFO ConfigInfo, _Out_ PUCHAR Again)
const VIDEOMODE VideoModes[]
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
VPAPI VOID NTAPI VideoPortZeroMemory(IN PVOID Destination, IN ULONG Length)
VPAPI VP_STATUS NTAPI VideoPortVerifyAccessRanges(_In_ PVOID HwDeviceExtension, _In_opt_ ULONG NumAccessRanges, _In_reads_opt_(NumAccessRanges) PVIDEO_ACCESS_RANGE AccessRanges)
Claims or releases a range of hardware resources and checks for conflicts.
VPAPI VP_STATUS NTAPI VideoPortUnmapMemory(IN PVOID HwDeviceExtension, IN OUT PVOID VirtualAddress, IN HANDLE ProcessHandle)
struct _VIDEO_HW_INITIALIZATION_DATA VIDEO_HW_INITIALIZATION_DATA
VPAPI ULONG NTAPI VideoPortInitialize(IN PVOID Argument1, IN PVOID Argument2, IN PVIDEO_HW_INITIALIZATION_DATA HwInitializationData, IN PVOID HwContext)
VPAPI VP_STATUS NTAPI VideoPortMapMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, IN PULONG InIoSpace, IN OUT PVOID *VirtualAddress)
enum _VIDEO_CHILD_TYPE * PVIDEO_CHILD_TYPE
#define VIDEO_MEMORY_SPACE_MEMORY
VPAPI VP_STATUS NTAPI VideoPortSetRegistryParameters(IN PVOID HwDeviceExtension, IN PWSTR ValueName, IN PVOID ValueData, IN ULONG ValueLength)
#define VIDEO_ENUM_MORE_DEVICES
#define VideoDebugPrint(x)
struct _VIDEO_ACCESS_RANGE * PVIDEO_ACCESS_RANGE
#define PEGC_FRAMEBUFFER_SIZE
#define VRAM_NORMAL_PLANE_I
#define PEGC_CONTROL_SIZE
#define GDC2_MODE_LINES_800
#define PEGC_FRAMEBUFFER_PACKED
PHYSICAL_ADDRESS FrameBuffer
PHYSICAL_ADDRESS PegcControl
PHYSICAL_ADDRESS RangeStart
ULONG HwDeviceExtensionSize
PVIDEO_HW_FIND_ADAPTER HwFindAdapter
PVIDEO_HW_START_IO HwStartIO
PVIDEO_HW_POWER_SET HwSetPowerState
PVIDEO_HW_POWER_GET HwGetPowerState
ULONG HwLegacyResourceCount
PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor
INTERFACE_TYPE AdapterInterfaceType
PVIDEO_ACCESS_RANGE HwLegacyResourceList
PVIDEO_HW_INITIALIZE HwInitialize
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
static WCHAR AdapterString[]
VP_STATUS NTAPI Pc98VidGetPowerState(_In_ PVOID HwDeviceExtension, _In_ ULONG HwId, _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl)
VP_STATUS NTAPI Pc98VidSetPowerState(_In_ PVOID HwDeviceExtension, _In_ ULONG HwId, _In_ PVIDEO_POWER_MANAGEMENT VideoPowerControl)
BOOLEAN NTAPI Pc98VidStartIO(_In_ PVOID HwDeviceExtension, _Inout_ PVIDEO_REQUEST_PACKET RequestPacket)