- Implement some simple video routines.

- Fix usable RAM not to include loader code and ram disk (up to 32MB).


svn path=/trunk/; revision=45412
This commit is contained in:
evb 2010-02-04 06:09:03 +00:00
parent 509e67f84f
commit ee2e3391be
2 changed files with 20 additions and 10 deletions

View file

@ -36,8 +36,7 @@ ULONG
LlbFwVideoSetDisplayMode(IN PCHAR DisplayModeName,
IN BOOLEAN Init)
{
printf("%s is UNIMPLEMENTED", __FUNCTION__);
while (TRUE);
/* Return text mode */
return 0;
}
@ -46,15 +45,19 @@ LlbFwVideoGetDisplaySize(OUT PULONG Width,
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 @@ LlbFwVideoSetTextCursorPosition(IN ULONG X,
VOID
LlbFwVideoHideShowTextCursor(IN BOOLEAN Show)
{
printf("%s is UNIMPLEMENTED", __FUNCTION__);
while (TRUE);
/* Nothing to do */
return;
}
VOID
@ -82,8 +85,8 @@ LlbFwVideoCopyOffScreenBufferToVRAM(IN PVOID Buffer)
VOID
LlbFwVideoClearScreen(IN UCHAR Attr)
{
printf("%s is UNIMPLEMENTED", __FUNCTION__);
while (TRUE);
/* Clear the screen */
LlbVideoClearScreen(TRUE);
}
VOID

View file

@ -99,6 +99,13 @@ LlbBuildMemoryMap(VOID)
/* 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 */