ReactOS 0.4.16-dev-2104-gb84fa49
machxbox.c
Go to the documentation of this file.
1/*
2 * FreeLoader
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 */
18
19#include <freeldr.h>
21
22#include <debug.h>
24
25#define MAX_XBOX_COM_PORTS 2
26
29
32{
33 /* We emulate PCI BIOS here, there are 2 known working PCI buses on an original Xbox */
34 BusData->NoBuses = 2;
35 BusData->MajorRevision = 1;
36 BusData->MinorRevision = 0;
37 BusData->HardwareMechanism = 1;
38 return TRUE;
39}
40
41extern
42VOID
44
45static
48{
49 /*
50 * Xbox may have maximum two Serial COM ports
51 * if the Super I/O chip is connected via LPC
52 */
54 ULONG ComBase = 0;
55
57
58 // Select serial device
60
61 // Check if selected device is active
63 {
64 ComBase = LpcGetIoBase();
65 *Irq = LpcGetIrqPrimary();
66 }
67
69
70 return ComBase;
71}
72
73extern
74VOID
78 _In_ GET_SERIAL_PORT MachGetSerialPort,
80
81VOID
83{
84 TRACE("XboxGetExtendedBIOSData(): UNIMPLEMENTED\n");
87}
88
89// NOTE: Similar to machpc.c!PcGetHarddiskConfigurationData(),
90// but without extended geometry support.
91static
94{
95 PCM_PARTIAL_RESOURCE_LIST PartialResourceList;
97 GEOMETRY Geometry;
98 ULONG Size;
99
100 /* Initialize returned size */
101 *pSize = 0;
102
103 /* Set 'Configuration Data' value */
106 PartialResourceList = FrLdrHeapAlloc(Size, TAG_HW_RESOURCE_LIST);
107 if (PartialResourceList == NULL)
108 {
109 ERR("Failed to allocate resource descriptor\n");
110 return NULL;
111 }
112
113 RtlZeroMemory(PartialResourceList, Size);
114 PartialResourceList->Version = 1;
115 PartialResourceList->Revision = 1;
116 PartialResourceList->Count = 1;
117 PartialResourceList->PartialDescriptors[0].Type =
119// PartialResourceList->PartialDescriptors[0].ShareDisposition =
120// PartialResourceList->PartialDescriptors[0].Flags =
121 PartialResourceList->PartialDescriptors[0].u.DeviceSpecificData.DataSize =
123
124 /* Get pointer to geometry data */
125 DiskGeometry = (PVOID)(((ULONG_PTR)PartialResourceList) + sizeof(CM_PARTIAL_RESOURCE_LIST));
126
127 /* Get the disk geometry */
128 if (XboxDiskGetDriveGeometry(DriveNumber, &Geometry))
129 {
130 DiskGeometry->BytesPerSector = Geometry.BytesPerSector;
131 DiskGeometry->NumberOfCylinders = Geometry.Cylinders;
132 DiskGeometry->SectorsPerTrack = Geometry.SectorsPerTrack;
133 DiskGeometry->NumberOfHeads = Geometry.Heads;
134 }
135 else
136 {
137 ERR("Reading disk geometry failed\n");
138 FrLdrHeapFree(PartialResourceList, TAG_HW_RESOURCE_LIST);
139 return NULL;
140 }
141 TRACE("Disk %x: %u Cylinders %u Heads %u Sectors %u Bytes\n",
142 DriveNumber,
143 DiskGeometry->NumberOfCylinders,
144 DiskGeometry->NumberOfHeads,
145 DiskGeometry->SectorsPerTrack,
146 DiskGeometry->BytesPerSector);
147
148 /* Return configuration data */
149 *pSize = Size;
150 return PartialResourceList;
151}
152
153static VOID
155{
156 PCONFIGURATION_COMPONENT_DATA ControllerKey;
157 PCM_PARTIAL_RESOURCE_LIST PartialResourceList;
158 PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptor;
159 ULONG Size;
160
161 if (FrameBufferSize == 0)
162 return;
163
165 PartialResourceList = FrLdrHeapAlloc(Size, TAG_HW_RESOURCE_LIST);
166 if (PartialResourceList == NULL)
167 {
168 ERR("Failed to allocate resource descriptor\n");
169 return;
170 }
171
172 /* Initialize resource descriptor */
173 RtlZeroMemory(PartialResourceList, Size);
174 PartialResourceList->Version = 1;
175 PartialResourceList->Revision = 1;
176 PartialResourceList->Count = 1;
177
178 /* Set Memory */
179 PartialDescriptor = &PartialResourceList->PartialDescriptors[0];
180 PartialDescriptor->Type = CmResourceTypeMemory;
182 PartialDescriptor->Flags = CM_RESOURCE_MEMORY_READ_WRITE;
183 PartialDescriptor->u.Memory.Start.LowPart = (FrameBuffer & 0x0FFFFFFF);
184 PartialDescriptor->u.Memory.Length = FrameBufferSize;
185
190 0,
191 0xFFFFFFFF,
192 "NV2A Framebuffer",
193 PartialResourceList,
194 Size,
195 &ControllerKey);
196}
197
198static
199VOID
204{
205 PCM_PARTIAL_RESOURCE_LIST PartialResourceList;
207 ULONG Size;
208
209 /* Set 'Configuration Data' value */
212 PartialResourceList = FrLdrHeapAlloc(Size, TAG_HW_RESOURCE_LIST);
213 if (PartialResourceList == NULL)
214 {
215 ERR("Failed to allocate resource descriptor\n");
216 return;
217 }
218
219 /* Initialize resource descriptor */
220 RtlZeroMemory(PartialResourceList, Size);
221 PartialResourceList->Version = 1;
222 PartialResourceList->Revision = 1;
223 PartialResourceList->Count = 0;
224
225 /* Create new bus key */
226 FldrCreateComponentKey(SystemKey,
229 0,
230 0,
231 0xFFFFFFFF,
232 "ISA",
233 PartialResourceList,
234 Size,
235 &BusKey);
236
237 /* Increment bus number */
238 (*BusNumber)++;
239
240 /* Detect ISA/BIOS devices */
241 DetectBiosDisks(SystemKey, BusKey);
244
245 /* FIXME: Detect more ISA devices */
246}
247
248static
249UCHAR
251{
252 /* On a PC we use CMOS/RTC I/O ports 0x70 and 0x71 to detect floppies.
253 * However an Xbox CMOS memory range [0x10, 0x70) and [0x80, 0x100)
254 * is filled with 0x55 0xAA 0x55 0xAA ... byte pattern which is used
255 * to validate the date/time settings by Xbox OS.
256 *
257 * Technically it's possible to connect a floppy drive to Xbox, but
258 * CMOS detection method should not be used here. */
259
260 WARN("XboxGetFloppyCount() is UNIMPLEMENTED, returning 0\n");
261 return 0;
262}
263
267{
269 ULONG BusNumber = 0;
270
271 TRACE("DetectHardware()\n");
272
273 /* Create the 'System' key */
274 FldrCreateSystemKey(&SystemKey, "Original Xbox (PC/AT like)");
275
278
279 /* TODO: Build actual xbox's hardware configuration tree */
280 DetectPciBios(SystemKey, &BusNumber);
281 DetectIsaBios(Options, SystemKey, &BusNumber);
282
283 TRACE("DetectHardware() Done\n");
284 return SystemKey;
285}
286
288{
289 /* UNIMPLEMENTED */
290}
291
292// FIXME: Dummy to make freeldr exports working.
294 IN UCHAR BootDrive OPTIONAL,
295 IN ULONG BootPartition OPTIONAL)
296{
297 /* No-op on XBOX */
298}
299
300/******************************************************************************/
301
302VOID
303MachInit(const char *CmdLine)
304{
305 PCI_TYPE1_CFG_BITS PciCfg1;
306 ULONG PciId;
307
308 /* Check for Xbox by identifying device at PCI 0:0:0, if it's
309 * 0x10DE/0x02A5 then we're running on an Xbox */
310
311 /* Select Host to PCI bridge */
312 PciCfg1.u.bits.Enable = 1;
313 PciCfg1.u.bits.BusNumber = 0;
314 PciCfg1.u.bits.DeviceNumber = 0;
315 PciCfg1.u.bits.FunctionNumber = 0;
316 /* Select register VendorID & DeviceID */
317 PciCfg1.u.bits.RegisterNumber = 0x00;
318 PciCfg1.u.bits.Reserved = 0;
319
322 if (PciId != 0x02A510DE)
323 {
324 ERR("This is not an original Xbox!\n");
325
326 /* Disable and halt the CPU */
327 _disable();
328 __halt();
329
330 while (TRUE)
331 NOTHING;
332 }
333
334 /* Set LEDs to red before anything is initialized */
335 XboxSetLED("rrrr");
336
337 /* Setup vtbl */
367
368 /* Initialize our stuff */
369 XboxMemInit();
371
372 /* Set LEDs to orange after init */
373 XboxSetLED("oooo");
374
376}
377
378VOID
380{
381 /* Prepare video and turn off debug messages to screen */
384}
385
386/* EOF */
unsigned char BOOLEAN
MACHVTBL MachVtbl
Definition: arcemul.c:21
#define ExtendedBIOSDataArea
Definition: winldr.c:346
#define ExtendedBIOSDataSize
Definition: winldr.c:347
VOID FldrCreateSystemKey(_Out_ PCONFIGURATION_COMPONENT_DATA *SystemNode, _In_ PCSTR IdentifierString)
Definition: archwsup.c:135
VOID FldrCreateComponentKey(_In_ PCONFIGURATION_COMPONENT_DATA SystemNode, _In_ CONFIGURATION_CLASS Class, _In_ CONFIGURATION_TYPE Type, _In_ IDENTIFIER_FLAG Flags, _In_ ULONG Key, _In_ ULONG Affinity, _In_ PCSTR IdentifierString, _In_ PCM_PARTIAL_RESOURCE_LIST ResourceList, _In_ ULONG Size, _Out_ PCONFIGURATION_COMPONENT_DATA *ComponentKey)
Definition: archwsup.c:198
#define WARN(fmt,...)
Definition: precomp.h:61
#define ERR(fmt,...)
Definition: precomp.h:57
VOID DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
Definition: hwpci.c:176
FIND_PCI_BIOS FindPciBios
Definition: hwpci.c:26
#define PCI_TYPE1_DATA_PORT
Definition: hardware.h:45
ULONG(* GET_SERIAL_PORT)(ULONG Index, PULONG Irq)
Definition: hardware.h:80
#define PCI_TYPE1_ADDRESS_PORT
Definition: hardware.h:44
#define DebugDisableScreenPort()
Definition: debug.h:123
#define DBG_DEFAULT_CHANNEL(ch)
Definition: debug.h:106
VOID FrLdrHeapFree(PVOID MemoryPointer, ULONG Tag)
Definition: heap.c:539
PVOID FrLdrHeapAlloc(SIZE_T MemorySize, ULONG Tag)
Definition: heap.c:533
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define __cdecl
Definition: corecrt.h:121
static const WCHAR CmdLine[]
Definition: install.c:48
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
Definition: portio.c:70
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
Definition: portio.c:123
BOOLEAN PcInitializeBootDevices(VOID)
Definition: hwdisk.c:458
#define NOTHING
Definition: input_list.c:10
__INTRIN_INLINE void __halt(void)
Definition: intrin_x86.h:1728
VOID XboxGetExtendedBIOSData(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
Definition: machxbox.c:82
ULONG FrameBufferSize
Definition: xboxvideo.c:30
static PCM_PARTIAL_RESOURCE_LIST XboxGetHarddiskConfigurationData(UCHAR DriveNumber, ULONG *pSize)
Definition: machxbox.c:93
VOID XboxHwIdle(VOID)
Definition: machxbox.c:287
static VOID DetectIsaBios(_In_opt_ PCSTR Options, _Inout_ PCONFIGURATION_COMPONENT_DATA SystemKey, _Out_ ULONG *BusNumber)
Definition: machxbox.c:200
VOID MachInit(const char *CmdLine)
Definition: machxbox.c:303
PCONFIGURATION_COMPONENT_DATA XboxHwDetect(_In_opt_ PCSTR Options)
Definition: machxbox.c:265
#define MAX_XBOX_COM_PORTS
Definition: machxbox.c:25
static ULONG XboxGetSerialPort(ULONG Index, PULONG Irq)
Definition: machxbox.c:47
static UCHAR XboxGetFloppyCount(VOID)
Definition: machxbox.c:250
VOID __cdecl ChainLoadBiosBootSectorCode(IN UCHAR BootDrive OPTIONAL, IN ULONG BootPartition OPTIONAL)
Definition: machxbox.c:293
VOID DetectSerialPointerPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey, PUCHAR Base)
ULONG_PTR FrameBuffer
Definition: xboxvideo.c:29
BOOLEAN XboxFindPciBios(PPCI_REGISTRY_INFO BusData)
Definition: machxbox.c:31
VOID DetectSerialPorts(_In_opt_ PCSTR Options, _Inout_ PCONFIGURATION_COMPONENT_DATA BusKey, _In_ GET_SERIAL_PORT MachGetSerialPort, _In_ ULONG Count)
Definition: machpc.c:789
static VOID DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
Definition: machxbox.c:154
VOID XboxPrepareForReactOS(VOID)
Definition: machxbox.c:379
#define CM_RESOURCE_MEMORY_READ_WRITE
Definition: cmtypes.h:120
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2486
#define _Inout_
Definition: no_sal2.h:162
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
int Count
Definition: noreturn.cpp:7
VOID PcBeep(VOID)
Definition: pcbeep.c:34
VOID HalpCalibrateStallExecution(VOID)
Definition: pchw.c:105
VOID DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, PCONFIGURATION_COMPONENT_DATA BusKey)
Definition: pchw.c:344
GET_HARDDISK_CONFIG_DATA GetHarddiskConfigurationData
Definition: pchw.c:45
#define CmResourceTypeMemory
Definition: restypes.h:106
struct _CM_PARTIAL_RESOURCE_LIST CM_PARTIAL_RESOURCE_LIST
#define CmResourceTypeDeviceSpecific
Definition: restypes.h:108
@ ControllerClass
Definition: arc.h:103
@ AdapterClass
Definition: arc.h:102
@ MultiFunctionAdapter
Definition: arc.h:125
@ DisplayController
Definition: arc.h:132
@ ConsoleOut
Definition: arc.h:92
@ Output
Definition: arc.h:94
void __cdecl _disable(void)
Definition: intrin_arm.h:365
#define TRACE(s)
Definition: solgame.cpp:4
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@432::@437 Memory
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@432 u
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@432::@441 DeviceSpecificData
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
Definition: restypes.h:100
Definition: disk.h:26
ULONG BytesPerSector
Number of bytes per sector.
Definition: disk.h:30
ULONG Cylinders
Number of cylinders on the disk.
Definition: disk.h:27
ULONG SectorsPerTrack
Number of sectors per track.
Definition: disk.h:29
ULONG Heads
Number of heads on the disk.
Definition: disk.h:28
UCHAR MajorRevision
Definition: pci.h:107
UCHAR NoBuses
Definition: pci.h:109
UCHAR HardwareMechanism
Definition: pci.h:110
UCHAR MinorRevision
Definition: pci.h:108
union _PCI_TYPE1_CFG_BITS::@195 u
struct _PCI_TYPE1_CFG_BITS::@195::@196 bits
VOID(* VideoGetPaletteColor)(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
Definition: machine.h:56
VIDEODISPLAYMODE(* VideoSetDisplayMode)(PCSTR DisplayMode, BOOLEAN Init)
Definition: machine.h:46
VOID(* GetExtendedBIOSData)(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
Definition: machine.h:64
int(* ConsGetCh)(VOID)
Definition: machine.h:43
VOID(* PrepareForReactOS)(VOID)
Definition: machine.h:59
VOID(* VideoSetPaletteColor)(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
Definition: machine.h:55
BOOLEAN(* InitializeBootDevices)(VOID)
Definition: machine.h:76
VOID(* VideoCopyOffScreenBufferToVRAM)(PVOID Buffer)
Definition: machine.h:53
BOOLEAN(* ConsKbHit)(VOID)
Definition: machine.h:42
VOID(* VideoHideShowTextCursor)(BOOLEAN Show)
Definition: machine.h:51
TIMEINFO *(* GetTime)(VOID)
Definition: machine.h:72
UCHAR(* GetFloppyCount)(VOID)
Definition: machine.h:66
BOOLEAN(* DiskGetDriveGeometry)(UCHAR DriveNumber, PGEOMETRY DriveGeometry)
Definition: machine.h:68
BOOLEAN(* DiskReadLogicalSectors)(UCHAR DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer)
Definition: machine.h:67
PFREELDR_MEMORY_DESCRIPTOR(* GetMemoryMap)(PULONG MaxMemoryMapSize)
Definition: machine.h:63
VOID(* VideoGetFontsFromFirmware)(PULONG RomFontPointers)
Definition: machine.h:49
VOID(* Beep)(VOID)
Definition: machine.h:58
VOID(* VideoSetTextCursorPosition)(UCHAR X, UCHAR Y)
Definition: machine.h:50
ULONG(* VideoGetBufferSize)(VOID)
Definition: machine.h:48
VOID(* VideoPutChar)(int Ch, UCHAR Attr, unsigned X, unsigned Y)
Definition: machine.h:52
ULONG(* DiskGetCacheableBlockCount)(UCHAR DriveNumber)
Definition: machine.h:69
VOID(* VideoGetDisplaySize)(PULONG Width, PULONG Height, PULONG Depth)
Definition: machine.h:47
VOID(* VideoClearScreen)(UCHAR Attr)
Definition: machine.h:45
VOID(* HwIdle)(VOID)
Definition: machine.h:78
VOID(* VideoSync)(VOID)
Definition: machine.h:57
BOOLEAN(* VideoIsPaletteFixed)(VOID)
Definition: machine.h:54
PCONFIGURATION_COMPONENT_DATA(* HwDetect)(_In_opt_ PCSTR Options)
Definition: machine.h:77
VOID(* ConsPutChar)(int Ch)
Definition: machine.h:41
#define LPC_CONFIG_DEVICE_NUMBER
Definition: superio.h:30
#define LPC_CONFIG_DEVICE_ACTIVATE
Definition: superio.h:31
FORCEINLINE ULONG LpcGetIoBase(VOID)
Definition: superio.h:96
#define LPC_DEVICE_SERIAL_PORT_2
Definition: superio.h:24
FORCEINLINE ULONG LpcGetIrqPrimary(VOID)
Definition: superio.h:126
FORCEINLINE UCHAR LpcReadRegister(UCHAR Register)
Definition: superio.h:59
#define LPC_DEVICE_SERIAL_PORT_1
Definition: superio.h:23
FORCEINLINE VOID LpcWriteRegister(UCHAR Register, UCHAR Value)
Definition: superio.h:67
FORCEINLINE VOID LpcExitConfig(VOID)
Definition: superio.h:51
FORCEINLINE VOID LpcEnterConfig(VOID)
Definition: superio.h:43
uint32_t * PULONG
Definition: typedefs.h:59
void * PVOID
Definition: typedefs.h:50
const char * PCSTR
Definition: typedefs.h:52
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define TAG_HW_RESOURCE_LIST
Definition: uefidisk.c:15
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3540
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
BOOLEAN XboxConsKbHit(VOID)
Definition: xboxcons.c:72
VOID XboxConsPutChar(int c)
Definition: xboxcons.c:29
int XboxConsGetCh(void)
Definition: xboxcons.c:79
BOOLEAN XboxDiskReadLogicalSectors(IN UCHAR DriveNumber, IN ULONGLONG SectorNumber, IN ULONG SectorCount, OUT PVOID Buffer)
Definition: xboxdisk.c:151
ULONG XboxDiskGetCacheableBlockCount(UCHAR DriveNumber)
Definition: xboxdisk.c:194
BOOLEAN XboxDiskGetDriveGeometry(UCHAR DriveNumber, PGEOMETRY Geometry)
Definition: xboxdisk.c:174
void XboxSetLED(PCSTR pattern)
Definition: xboxi2c.c:198
PFREELDR_MEMORY_DESCRIPTOR XboxMemGetMemoryMap(ULONG *MemoryMapSize)
Definition: xboxmem.c:228
VOID XboxMemInit(VOID)
Definition: xboxmem.c:117
TIMEINFO * XboxGetTime(VOID)
Definition: xboxrtc.c:40
VOID XboxVideoGetPaletteColor(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
Definition: xboxvideo.c:199
VOID XboxVideoInit(VOID)
Definition: xboxvideo.c:96
VOID XboxVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y)
Definition: xboxvideo.c:43
VOID XboxVideoPrepareForReactOS(VOID)
Definition: xboxvideo.c:211
VOID XboxVideoSetTextCursorPosition(UCHAR X, UCHAR Y)
Definition: xboxvideo.c:169
VOID XboxVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
Definition: xboxvideo.c:193
VOID XboxVideoCopyOffScreenBufferToVRAM(PVOID Buffer)
Definition: xboxvideo.c:181
VOID XboxVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth)
Definition: xboxvideo.c:151
ULONG XboxVideoGetBufferSize(VOID)
Definition: xboxvideo.c:157
VOID XboxVideoSync(VOID)
Definition: xboxvideo.c:205
VOID XboxVideoHideShowTextCursor(BOOLEAN Show)
Definition: xboxvideo.c:175
BOOLEAN XboxVideoIsPaletteFixed(VOID)
Definition: xboxvideo.c:187
VOID XboxVideoClearScreen(UCHAR Attr)
Definition: xboxvideo.c:37
VIDEODISPLAYMODE XboxVideoSetDisplayMode(PCSTR DisplayMode, BOOLEAN Init)
Definition: xboxvideo.c:144
VOID XboxVideoGetFontsFromFirmware(PULONG RomFontPointers)
Definition: xboxvideo.c:163
struct _CM_DISK_GEOMETRY_DEVICE_DATA CM_DISK_GEOMETRY_DEVICE_DATA
@ CmResourceShareDeviceExclusive
Definition: cmtypes.h:241
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
unsigned char UCHAR
Definition: xmlstorage.h:181