25#define CMOS_RAM_FILE "cmos.ram"
50 if (RateSelect <= 2) RateSelect += 7;
117 Data &= ~CMOS_DISABLE_NMI;
181 if (Afternoon)
Value |= 0x80;
200 if (Afternoon)
Value |= 0x80;
319 if (Afternoon) CurrentTime.
wHour += 12;
374 CurrentTime.
wYear = (CurrentTime.
wYear / 100) * 100;
474 DPRINT1(
"Could not create CMOS file path!\n");
509 DPRINT1(
"Invalid CMOS file, read %u bytes, expected %u bytes\n",
582 DPRINT1(
"CMOS saving failed (Error: %u), written %u bytes, expected %u bytes\n",
#define HARDWARE_TIMER_ENABLED
#define HARDWARE_TIMER_PRECISE
#define CMOS_STB_INT_ON_ALARM
enum _CMOS_REGISTERS CMOS_REGISTERS
#define CMOS_EQUIPMENT_LIST
#define CMOS_STB_INT_ON_UPDATE
@ CMOS_REG_EXT_MEMORY_HIGH
@ CMOS_REG_ACTUAL_EXT_MEMORY_LOW
@ CMOS_REG_SHUTDOWN_STATUS
@ CMOS_REG_EXT_MEMORY_LOW
@ CMOS_REG_ACTUAL_EXT_MEMORY_HIGH
#define CMOS_STB_INT_PERIODIC
#define READ_CMOS_DATA(Cmos, Value)
#define CMOS_ADDRESS_PORT
#define WRITE_CMOS_DATA(Cmos, Value)
#define NT_SUCCESS(StatCode)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
#define FILE_ATTRIBUTE_NORMAL
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
BOOL WINAPI SetLocalTime(IN CONST SYSTEMTIME *lpSystemTime)
VOID WINAPI GetLocalTime(OUT LPSYSTEMTIME lpSystemTime)
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
#define ERROR_ALREADY_EXISTS
#define UNREFERENCED_PARAMETER(P)
NTSTRSAFEVAPI RtlStringCbPrintfW(_Out_writes_bytes_(cbDest) _Always_(_Post_z_) NTSTRSAFE_PWSTR pszDest, _In_ size_t cbDest, _In_ _Printf_format_string_ NTSTRSAFE_PCWSTR pszFormat,...)
WCHAR NtVdmPath[MAX_PATH]
PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONGLONG Delay, PHARDWARE_TIMER_PROC Callback)
VOID DisableHardwareTimer(PHARDWARE_TIMER Timer)
VOID DestroyHardwareTimer(PHARDWARE_TIMER Timer)
VOID EnableHardwareTimer(PHARDWARE_TIMER Timer)
VOID SetHardwareTimerDelay(PHARDWARE_TIMER Timer, ULONGLONG NewDelay)
BOOLEAN IsNmiEnabled(VOID)
static BOOLEAN NmiEnabled
static VOID FASTCALL RtcTimeUpdate(ULONGLONG ElapsedTime)
static VOID WINAPI CmosWriteAddress(USHORT Port, BYTE Data)
static CMOS_MEMORY CmosMemory
static BOOL CmosWriteFile(_In_ HANDLE FileHandle, _In_ PVOID Buffer, _In_ ULONG BufferSize, _Out_opt_ PULONG BytesWritten)
static VOID RtcUpdatePeriodicTimer(VOID)
static BYTE WINAPI CmosReadData(USHORT Port)
static VOID FASTCALL RtcPeriodicTick(ULONGLONG ElapsedTime)
static PHARDWARE_TIMER ClockTimer
VOID CmosInitialize(VOID)
static CMOS_REGISTERS SelectedRegister
static VOID WINAPI CmosWriteData(USHORT Port, BYTE Data)
static PHARDWARE_TIMER PeriodicTimer
VOID PicInterruptRequest(BYTE Number)
VOID RegisterIoPort(USHORT Port, EMULATOR_INB_PROC InHandler, EMULATOR_OUTB_PROC OutHandler)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
DWORD WINAPI GetLastError(void)