Author: hbelusca
Date: Wed Oct 15 21:31:51 2014
New Revision: 64755

URL: http://svn.reactos.org/svn/reactos?rev=64755&view=rev
Log:
[NTVDM]: Arch, please do *not* reinitialize twice the keyboard and the video 
(first time before initializing the BDA, second time after), otherwise some 
programs won't display correct things!!

Modified:
    trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c
    trunk/reactos/subsystems/ntvdm/dos/dem.c

Modified: trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c?rev=64755&r1=64754&r2=64755&view=diff
==============================================================================
--- trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/ntvdm/bios/bios32/bios32.c [iso-8859-1] Wed Oct 15 
21:31:51 2014
@@ -589,6 +589,10 @@
     InitializeBiosData();
     InitializeBiosInfo();
 
+    /*
+     * Initialize IVT and hardware
+     */
+
     /* Register the BIOS 32-bit Interrupts */
     InitializeBiosInt32();
 
@@ -605,35 +609,7 @@
         return;
     }
 
-    ///////////// MUST BE DONE AFTER IVT INITIALIZATION !! 
/////////////////////
-
-    /* Load some ROMs */
-    Success = LoadRom("boot.bin", (PVOID)0xE0000, NULL);
-    DPRINT1("Test ROM loading %s ; GetLastError() = %u\n", Success ? 
"succeeded" : "failed", GetLastError());
-
-    SearchAndInitRoms(&BiosContext);
-
-    /*
-     * End of the 32-bit POST portion. We then fall back into 16-bit where
-     * the rest of the POST code is executed, typically calling INT 19h
-     * to boot up the OS.
-     */
-}
-
-static VOID WINAPI Bios32ResetBop(LPWORD Stack)
-{
-    DPRINT1("Bios32ResetBop\n");
-
-    /* Disable interrupts */
-    setIF(0);
-
-    // FIXME: Check the word at 0040h:0072h (Bda->SoftReset) and do one of the
-    // following actions:
-    // - if the word is 1234h, perform a warm reboot (aka. Ctrl-Alt-Del);
-    // - if the word is 0000h, perform a cold reboot (aka. Reset).
-
-    /* Initialize IVT and hardware */
-
+#if 0
     /* Initialize the Keyboard and Video BIOS */
     if (!KbdBiosInitialize() || !VidBiosInitialize())
     {
@@ -641,6 +617,34 @@
         EmulatorTerminate();
         return;
     }
+#endif
+
+    ///////////// MUST BE DONE AFTER IVT INITIALIZATION !! 
/////////////////////
+
+    /* Load some ROMs */
+    Success = LoadRom("boot.bin", (PVOID)0xE0000, NULL);
+    DPRINT1("Test ROM loading %s ; GetLastError() = %u\n", Success ? 
"succeeded" : "failed", GetLastError());
+
+    SearchAndInitRoms(&BiosContext);
+
+    /*
+     * End of the 32-bit POST portion. We then fall back into 16-bit where
+     * the rest of the POST code is executed, typically calling INT 19h
+     * to boot up the OS.
+     */
+}
+
+static VOID WINAPI Bios32ResetBop(LPWORD Stack)
+{
+    DPRINT1("Bios32ResetBop\n");
+
+    /* Disable interrupts */
+    setIF(0);
+
+    // FIXME: Check the word at 0040h:0072h (Bda->SoftReset) and do one of the
+    // following actions:
+    // - if the word is 1234h, perform a warm reboot (aka. Ctrl-Alt-Del);
+    // - if the word is 0000h, perform a cold reboot (aka. Reset).
 
     /* Do the POST */
     Bios32Post();

Modified: trunk/reactos/subsystems/ntvdm/dos/dem.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/ntvdm/dos/dem.c?rev=64755&r1=64754&r2=64755&view=diff
==============================================================================
--- trunk/reactos/subsystems/ntvdm/dos/dem.c    [iso-8859-1] (original)
+++ trunk/reactos/subsystems/ntvdm/dos/dem.c    [iso-8859-1] Wed Oct 15 
21:31:51 2014
@@ -476,8 +476,6 @@
     EmulatorTerminate();
 }
 
-
-
 /* PUBLIC EXPORTED APIS 
*******************************************************/
 
 // demLFNCleanup


Reply via email to