[NTVDM]
[reactos.git] / subsystems / ntvdm / bios.c
index a3f0af7..9a0e953 100644 (file)
@@ -37,7 +37,7 @@ static BYTE VideoMode_40x25_text[] =
     0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0E, 0x0F, 0xFF,
 
     /* CRTC Registers */
-    0x2D, 0x27, 0x28, 0x90, 0x2B, 0xA0, 0xBF, 0x1F, 0x00, 0x4F, 0x0E, 0x0F,
+    0x2D, 0x27, 0x28, 0x90, 0x2B, 0xA0, 0xBF, 0x1F, 0x00, 0x4F, 0x0D, 0x0F,
     0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x14, 0x1F, 0x96, 0xB9, 0xA3,
     0xFF,
 
@@ -58,7 +58,7 @@ static BYTE VideoMode_80x25_text[] =
     0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0E, 0x0F, 0xFF,
 
     /* CRTC Registers */
-    0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81, 0xBF, 0x1F, 0x00, 0x4F, 0x0E, 0x0F,
+    0x5F, 0x4F, 0x50, 0x82, 0x55, 0x81, 0xBF, 0x1F, 0x00, 0x4F, 0x0D, 0x0F,
     0x00, 0x00, 0x00, 0x00, 0x9C, 0x8E, 0x8F, 0x28, 0x1F, 0x96, 0xB9, 0xA3,
     0xFF,
 
@@ -326,9 +326,9 @@ BOOLEAN BiosSetVideoPage(BYTE PageNumber)
 
     /* Set the start address in the CRTC */
     VgaWritePort(VGA_CRTC_INDEX, VGA_CRTC_CURSOR_LOC_LOW_REG);
-    VgaWritePort(VGA_CRTC_DATA, LOBYTE(Bda->VideoPageOffset));
+    VgaWritePort(VGA_CRTC_DATA , LOBYTE(Bda->VideoPageOffset));
     VgaWritePort(VGA_CRTC_INDEX, VGA_CRTC_CURSOR_LOC_HIGH_REG);
-    VgaWritePort(VGA_CRTC_DATA, HIBYTE(Bda->VideoPageOffset));
+    VgaWritePort(VGA_CRTC_DATA , HIBYTE(Bda->VideoPageOffset));
 
     return TRUE;
 }
@@ -404,12 +404,14 @@ BOOLEAN BiosInitialize(VOID)
         return FALSE;
     }
 
-    /* Store the cursor position */
-    Bda->CursorPosition[0] = MAKEWORD(BiosSavedBufferInfo.dwCursorPosition.X,
-                                      BiosSavedBufferInfo.dwCursorPosition.Y);
-    
+    /* Initialize VGA */
     VgaInitialize(BiosConsoleOutput);
 
+    /* Update the cursor position */
+    BiosSetCursorPosition(BiosSavedBufferInfo.dwCursorPosition.X,
+                          BiosSavedBufferInfo.dwCursorPosition.Y,
+                          0);
+
     /* Set the console input mode */
     SetConsoleMode(BiosConsoleInput, ENABLE_MOUSE_INPUT | ENABLE_PROCESSED_INPUT);
 
@@ -529,7 +531,7 @@ BOOLEAN BiosScrollWindow(INT Direction,
                          BYTE Page,
                          BYTE FillAttribute)
 {
-    INT i;
+    DWORD i;
     LPWORD WindowData;
     DWORD WindowSize = (Rectangle.Bottom - Rectangle.Top + 1)
                        * (Rectangle.Right - Rectangle.Left + 1);
@@ -618,8 +620,6 @@ VOID BiosVideoService(LPWORD Stack)
     DWORD Edx = EmulatorGetRegister(EMULATOR_REG_DX);
     DWORD Ebx = EmulatorGetRegister(EMULATOR_REG_BX);
 
-    UNREFERENCED_PARAMETER(Ecx);
-
     switch (HIBYTE(Eax))
     {
         /* Set Video Mode */