* Sync up to trunk head (r64921).
[reactos.git] / subsystems / ntvdm / hardware / timer.c
index 87f6863..44c0794 100644 (file)
@@ -79,6 +79,7 @@ static VOID PitSetOut(PPIT_CHANNEL Channel, BOOLEAN State)
     Channel->Out = State;
 
     /* Call the callback */
+    if (!Channel->Gate) return; // HACK: This is a HACK until gates are properly used (needed for the speaker to work properly).
     if (Channel->OutFunction) Channel->OutFunction(Channel->OutParam, State);
 }
 
@@ -274,7 +275,7 @@ static VOID PitWriteData(BYTE Channel, BYTE Value)
     }
 }
 
-static BYTE WINAPI PitReadPort(ULONG Port)
+static BYTE WINAPI PitReadPort(USHORT Port)
 {
     switch (Port)
     {
@@ -289,7 +290,7 @@ static BYTE WINAPI PitReadPort(ULONG Port)
     return 0;
 }
 
-static VOID WINAPI PitWritePort(ULONG Port, BYTE Data)
+static VOID WINAPI PitWritePort(USHORT Port, BYTE Data)
 {
     switch (Port)
     {
@@ -423,7 +424,7 @@ static VOID PitDecrementCount(PPIT_CHANNEL Channel, DWORD Count)
             if (ReloadCount & 1)
             {
                 Channel->FlipFlop = !Channel->FlipFlop;
-                // PitSetOut(Channel, !Channel->Out);
+                PitSetOut(Channel, !Channel->Out);
             }
 
             /* Was there any rising edge? */