[FREELDR]
[reactos.git] / reactos / boot / freeldr / freeldr / arch / i386 / xboxcons.c
1 /* $Id: xboxcons.c 43790 2009-10-27 10:34:16Z dgorbachev $
2 *
3 * FreeLoader
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #include <freeldr.h>
21
22 static unsigned CurrentCursorX = 0;
23 static unsigned CurrentCursorY = 0;
24 static unsigned CurrentAttr = 0x0f;
25
26 VOID
27 XboxConsPutChar(int c)
28 {
29 ULONG Width;
30 ULONG Height;
31 ULONG Depth;
32
33 if ('\r' == c)
34 {
35 CurrentCursorX = 0;
36 }
37 else if ('\n' == c)
38 {
39 CurrentCursorX = 0;
40 CurrentCursorY++;
41 }
42 else if ('\t' == c)
43 {
44 CurrentCursorX = (CurrentCursorX + 8) & ~ 7;
45 }
46 else
47 {
48 XboxVideoPutChar(c, CurrentAttr, CurrentCursorX, CurrentCursorY);
49 CurrentCursorX++;
50 }
51 XboxVideoGetDisplaySize(&Width, &Height, &Depth);
52 if (Width <= CurrentCursorX)
53 {
54 CurrentCursorX = 0;
55 CurrentCursorY++;
56 }
57 }
58
59 BOOLEAN
60 XboxConsKbHit(VOID)
61 {
62 /* No keyboard support yet */
63 return FALSE;
64 }
65
66 int
67 XboxConsGetCh(void)
68 {
69 /* No keyboard support yet */
70 while (1)
71 {
72 ;
73 }
74
75 return 0;
76 }
77
78 /* EOF */