Fix the PIT square wave generator.


svn path=/branches/ntvdm/; revision=61151
This commit is contained in:
Aleksandar Andrejevic 2013-11-30 03:59:26 +00:00
parent 9c6b9c9bab
commit d49a1c16b2

View file

@ -277,12 +277,12 @@ VOID PitDecrementCount(DWORD Count)
}
else
{
/* Clear the count */
Count = 0;
/* Decrease the value */
PitChannels[i].CurrentValue -= Count * 2;
/* Clear the count */
Count = 0;
/* Did it fall to zero? */
if (PitChannels[i].CurrentValue == 0)
{
@ -304,7 +304,9 @@ VOID PitDecrementCount(DWORD Count)
}
/* Was there any rising edge on channel 0 ? */
if ((PitChannels[i].OutputFlipFlop || ReloadCount) && (i == 0))
if (((PitChannels[i].OutputFlipFlop && (ReloadCount == 1))
|| (ReloadCount > 1))
&& (i == 0))
{
/* Yes, IRQ 0 */
PicInterruptRequest(0);