Author: evb
Date: Thu Feb 4 07:09:03 2010
New Revision: 45412
URL:
http://svn.reactos.org/svn/reactos?rev=45412&view=rev
Log:
- Implement some simple video routines.
- Fix usable RAM not to include loader code and ram disk (up to 32MB).
Modified:
trunk/reactos/boot/armllb/fw.c
trunk/reactos/boot/armllb/os/loader.c
Modified: trunk/reactos/boot/armllb/fw.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/fw.c?rev=45412…
==============================================================================
--- trunk/reactos/boot/armllb/fw.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/fw.c [iso-8859-1] Thu Feb 4 07:09:03 2010
@@ -36,8 +36,7 @@
LlbFwVideoSetDisplayMode(IN PCHAR DisplayModeName,
IN BOOLEAN Init)
{
- printf("%s is UNIMPLEMENTED", __FUNCTION__);
- while (TRUE);
+ /* Return text mode */
return 0;
}
@@ -46,15 +45,19 @@
OUT PULONG Height,
OUT PULONG Depth)
{
- printf("%s is UNIMPLEMENTED", __FUNCTION__);
- while (TRUE);
+ /* Query static settings */
+ *Width = LlbHwGetScreenWidth();
+ *Height = LlbHwGetScreenHeight();
+
+ /* Depth is always 16 bpp */
+ *Depth = 16;
}
ULONG
LlbFwVideoGetBufferSize(VOID)
{
- printf("%s is UNIMPLEMENTED", __FUNCTION__);
- while (TRUE);
+ /* X * Y * BPP */
+ return LlbHwGetScreenWidth() * LlbHwGetScreenHeight() * 2;
}
VOID
@@ -68,8 +71,8 @@
VOID
LlbFwVideoHideShowTextCursor(IN BOOLEAN Show)
{
- printf("%s is UNIMPLEMENTED", __FUNCTION__);
- while (TRUE);
+ /* Nothing to do */
+ return;
}
VOID
@@ -82,8 +85,8 @@
VOID
LlbFwVideoClearScreen(IN UCHAR Attr)
{
- printf("%s is UNIMPLEMENTED", __FUNCTION__);
- while (TRUE);
+ /* Clear the screen */
+ LlbVideoClearScreen(TRUE);
}
VOID
Modified: trunk/reactos/boot/armllb/os/loader.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/os/loader.c?re…
==============================================================================
--- trunk/reactos/boot/armllb/os/loader.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/os/loader.c [iso-8859-1] Thu Feb 4 07:09:03 2010
@@ -99,6 +99,13 @@
/* Query memory information */
LlbEnvGetMemoryInformation(&Base, &Size);
+
+ /* Don't use memory that the RAMDISK is using */
+ /* HACK HACK */
+ Base += 32 * 1024 * 1024;
+ Size -= 32 * 1024 * 1024;
+
+ /* Allocate an entry for it */
LlbAllocateMemoryEntry(BiosMemoryUsable, Base, Size);
/* Call the hardware-specific function for hardware-defined regions */