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.
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.
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.
25 #define MAX_XBOX_COM_PORTS 2
27 #define LPC_IO_BASE 0x2E
28 #define LPC_ENTER_CONFIG_KEY 0x55
29 #define LPC_EXIT_CONFIG_KEY 0xAA
31 #define LPC_DEVICE_SERIAL_PORT_1 0x4
32 #define LPC_DEVICE_SERIAL_PORT_2 0x5
34 #define LPC_CONFIG_DEVICE_NUMBER 0x07
35 #define LPC_CONFIG_DEVICE_ACTIVATE 0x30
36 #define LPC_CONFIG_DEVICE_BASE_ADDRESS_HIGH 0x60
37 #define LPC_CONFIG_DEVICE_BASE_ADDRESS_LOW 0x61
38 #define LPC_CONFIG_DEVICE_INTERRUPT 0x70
40 extern UCHAR XboxFont8x16
[256 * 16];
42 VOID
XboxMachInit(const char *CmdLine
);
44 VOID
XboxConsPutChar(int Ch
);
45 BOOLEAN
XboxConsKbHit(VOID
);
46 int XboxConsGetCh(VOID
);
48 VOID
XboxVideoInit(VOID
);
49 VOID
XboxVideoClearScreen(UCHAR Attr
);
50 VIDEODISPLAYMODE
XboxVideoSetDisplayMode(char *DisplayModem
, BOOLEAN Init
);
51 VOID
XboxVideoGetDisplaySize(PULONG Width
, PULONG Height
, PULONG Depth
);
52 ULONG
XboxVideoGetBufferSize(VOID
);
53 VOID
XboxVideoGetFontsFromFirmware(PULONG RomFontPointers
);
54 VOID
XboxVideoSetTextCursorPosition(UCHAR X
, UCHAR Y
);
55 VOID
XboxVideoHideShowTextCursor(BOOLEAN Show
);
56 VOID
XboxVideoPutChar(int Ch
, UCHAR Attr
, unsigned X
, unsigned Y
);
57 VOID
XboxVideoCopyOffScreenBufferToVRAM(PVOID Buffer
);
58 BOOLEAN
XboxVideoIsPaletteFixed(VOID
);
59 VOID
XboxVideoSetPaletteColor(UCHAR Color
, UCHAR Red
, UCHAR Green
, UCHAR Blue
);
60 VOID
XboxVideoGetPaletteColor(UCHAR Color
, UCHAR
* Red
, UCHAR
* Green
, UCHAR
* Blue
);
61 VOID
XboxVideoSync(VOID
);
62 VOID
XboxVideoPrepareForReactOS(VOID
);
63 VOID
XboxPrepareForReactOS(VOID
);
65 VOID
XboxMemInit(VOID
);
66 PVOID
XboxMemReserveMemory(ULONG MbToReserve
);
67 PFREELDR_MEMORY_DESCRIPTOR
XboxMemGetMemoryMap(ULONG
*MemoryMapSize
);
69 BOOLEAN
XboxDiskReadLogicalSectors(UCHAR DriveNumber
, ULONGLONG SectorNumber
, ULONG SectorCount
, PVOID Buffer
);
70 BOOLEAN
XboxDiskGetDriveGeometry(UCHAR DriveNumber
, PGEOMETRY DriveGeometry
);
71 ULONG
XboxDiskGetCacheableBlockCount(UCHAR DriveNumber
);
73 TIMEINFO
* XboxGetTime(VOID
);
75 PCONFIGURATION_COMPONENT_DATA
XboxHwDetect(VOID
);
76 VOID
XboxHwIdle(VOID
);
78 VOID
XboxSetLED(PCSTR Pattern
);