2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
5 * PURPOSE: Programmable Interval Timer emulation (header file)
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
12 /* INCLUDES *******************************************************************/
16 /* DEFINES ********************************************************************/
18 #define PIT_CHANNELS 3
19 #define PIT_BASE_FREQUENCY 1193182LL
20 #define PIT_DATA_PORT(x) (0x40 + (x))
21 #define PIT_COMMAND_PORT 0x43
25 PIT_MODE_INT_ON_TERMINAL_COUNT
,
26 PIT_MODE_HARDWARE_ONE_SHOT
,
27 PIT_MODE_RATE_GENERATOR
,
29 PIT_MODE_SOFTWARE_STROBE
,
30 PIT_MODE_HARDWARE_STROBE
33 typedef struct _PIT_CHANNEL
41 BOOLEAN InputFlipFlop
;
42 BOOLEAN OutputFlipFlop
;
44 } PIT_CHANNEL
, *PPIT_CHANNEL
;
46 /* FUNCTIONS ******************************************************************/
48 VOID
PitWriteCommand(BYTE Value
);
49 BYTE
PitReadData(BYTE Channel
);
50 VOID
PitWriteData(BYTE Channel
, BYTE Value
);
51 VOID
PitDecrementCount();