44 BYTE StatusLatch = 0;
BYTE NullCount = 0;
87 if (!Channel->
Gate)
return;
93 switch (Channel->
Mode)
125 if ((
Value & 0x20) == 0)
131 if ((
Value & 0x10) == 0)
162 if (IsBcd &&
PitChannels[Channel].CurrentValue > 9999)
221 return LOBYTE(*CurrentValue);
228 return HIBYTE(*CurrentValue);
323 if (
Count == 0)
return;
325 switch (Channel->
Mode)
429 if (ReloadCount == 0)
break;
439 if ((Channel->
FlipFlop && (ReloadCount == 1)) || (ReloadCount > 1))
#define HARDWARE_TIMER_ENABLED
#define HARDWARE_TIMER_PRECISE
static VOID ReadWriteMode(_In_ UCHAR Mode)
static UCHAR ReadStatus(_In_ PUCHAR ReadDataPort)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static VOID PitWriteData(BYTE Channel, BYTE Value)
static VOID PitInitCounter(PPIT_CHANNEL Channel)
static VOID FASTCALL PitClock(ULONGLONG Count)
static VOID WINAPI PitWritePort(USHORT Port, BYTE Data)
VOID PitSetOutFunction(BYTE Channel, LPVOID Param, PIT_OUT_FUNCTION OutFunction)
VOID PitSetGate(BYTE Channel, BOOLEAN State)
static BYTE WINAPI PitReadPort(USHORT Port)
WORD PitGetReloadValue(BYTE Channel)
static VOID PitDecrementCount(PPIT_CHANNEL Channel, DWORD Count)
static VOID PitSetOut(PPIT_CHANNEL Channel, BOOLEAN State)
static PIT_CHANNEL PitChannels[PIT_CHANNELS]
static VOID PitLatchChannelCount(BYTE Channel)
static VOID PitLatchChannelStatus(BYTE Channel)
static BYTE PitReadData(BYTE Channel)
static PHARDWARE_TIMER MasterClock
static VOID PitWriteCommand(BYTE Value)
PIT_OUT_FUNCTION OutFunction
PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONGLONG Delay, PHARDWARE_TIMER_PROC Callback)
VOID(WINAPI * PIT_OUT_FUNCTION)(LPVOID Param, BOOLEAN State)
#define WRITE_PIT_VALUE(PitChannel, Value)
#define PIT_BASE_FREQUENCY
@ PIT_MODE_HARDWARE_ONE_SHOT
@ PIT_MODE_HARDWARE_STROBE
@ PIT_MODE_RATE_GENERATOR
@ PIT_MODE_SOFTWARE_STROBE
@ PIT_MODE_INT_ON_TERMINAL_COUNT
#define READ_PIT_VALUE(PitChannel, Value)
VOID RegisterIoPort(USHORT Port, EMULATOR_INB_PROC InHandler, EMULATOR_OUTB_PROC OutHandler)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value