From 6dc704ff48ee95c593d22ad14bfb7ea593b16852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Fri, 17 Apr 2015 23:58:01 +0000 Subject: [PATCH] [NTVDM]: For CreateHardwareTimer, use frequencies (in hertz) instead of using milliseconds or nanoseconds (depending on some additional flag to be specified). It's therefore easier to specify what you want. svn path=/trunk/; revision=67234 --- reactos/subsystems/mvdm/ntvdm/clock.c | 8 ++++---- reactos/subsystems/mvdm/ntvdm/clock.h | 2 +- reactos/subsystems/mvdm/ntvdm/hardware/cmos.c | 4 ++-- reactos/subsystems/mvdm/ntvdm/hardware/mouse.c | 2 +- reactos/subsystems/mvdm/ntvdm/hardware/pit.c | 2 +- reactos/subsystems/mvdm/ntvdm/hardware/ps2.c | 2 +- reactos/subsystems/mvdm/ntvdm/hardware/video/vga.c | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/reactos/subsystems/mvdm/ntvdm/clock.c b/reactos/subsystems/mvdm/ntvdm/clock.c index bebb7cd3185..e1d43cf4155 100644 --- a/reactos/subsystems/mvdm/ntvdm/clock.c +++ b/reactos/subsystems/mvdm/ntvdm/clock.c @@ -141,7 +141,7 @@ VOID ClockUpdate(VOID) } } -PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONG Delay, PHARDWARE_TIMER_PROC Callback) +PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONG Frequency, PHARDWARE_TIMER_PROC Callback) { PHARDWARE_TIMER Timer; @@ -151,7 +151,7 @@ PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONG Delay, PHARDWARE_TIMER_PR Timer->Flags = Flags & ~HARDWARE_TIMER_ENABLED; Timer->EnableCount = 0; Timer->Callback = Callback; - SetHardwareTimerDelay(Timer, (ULONGLONG)Delay); + SetHardwareTimerDelay(Timer, 1000000000ULL / (ULONGLONG)Frequency); if (Flags & HARDWARE_TIMER_ENABLED) EnableHardwareTimer(Timer); return Timer; @@ -202,7 +202,7 @@ VOID SetHardwareTimerDelay(PHARDWARE_TIMER Timer, ULONGLONG NewDelay) } else { - Timer->Delay = NewDelay; + Timer->Delay = NewDelay / 1000000ULL; } } @@ -234,7 +234,7 @@ BOOLEAN ClockInitialize(VOID) #ifdef IPS_DISPLAY - IpsTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 1000, IpsDisplayCallback); + IpsTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 1, IpsDisplayCallback); if (IpsTimer == NULL) { wprintf(L"FATAL: Cannot create IPS display timer.\n"); diff --git a/reactos/subsystems/mvdm/ntvdm/clock.h b/reactos/subsystems/mvdm/ntvdm/clock.h index 957a0950027..65111c5a54d 100644 --- a/reactos/subsystems/mvdm/ntvdm/clock.h +++ b/reactos/subsystems/mvdm/ntvdm/clock.h @@ -35,7 +35,7 @@ typedef struct _HARDWARE_TIMER PHARDWARE_TIMER CreateHardwareTimer ( ULONG Flags, - ULONG Delay, /* milliseconds for normal timers, nanoseconds for precise timers */ + ULONG Frequency, // in Hz PHARDWARE_TIMER_PROC Callback ); VOID EnableHardwareTimer(PHARDWARE_TIMER Timer); diff --git a/reactos/subsystems/mvdm/ntvdm/hardware/cmos.c b/reactos/subsystems/mvdm/ntvdm/hardware/cmos.c index 25632e1339c..470d837facd 100644 --- a/reactos/subsystems/mvdm/ntvdm/hardware/cmos.c +++ b/reactos/subsystems/mvdm/ntvdm/hardware/cmos.c @@ -501,9 +501,9 @@ VOID CmosInitialize(VOID) RegisterIoPort(CMOS_ADDRESS_PORT, NULL , CmosWritePort); RegisterIoPort(CMOS_DATA_PORT , CmosReadPort, CmosWritePort); - ClockTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 1000, RtcTimeUpdate); + ClockTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 1, RtcTimeUpdate); PeriodicTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED | HARDWARE_TIMER_PRECISE, - 1000000, /* 1,000,000 ns = 1 ms */ + 1000, RtcPeriodicTick); } diff --git a/reactos/subsystems/mvdm/ntvdm/hardware/mouse.c b/reactos/subsystems/mvdm/ntvdm/hardware/mouse.c index 96ee4a27870..1d722d046a6 100644 --- a/reactos/subsystems/mvdm/ntvdm/hardware/mouse.c +++ b/reactos/subsystems/mvdm/ntvdm/hardware/mouse.c @@ -454,7 +454,7 @@ BOOLEAN MouseInit(BYTE PS2Connector) MouseMutex = CreateMutex(NULL, FALSE, NULL); if (MouseMutex == NULL) return FALSE; - StreamTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 10, MouseStreamingCallback); + StreamTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 100, MouseStreamingCallback); MouseReset(); return TRUE; diff --git a/reactos/subsystems/mvdm/ntvdm/hardware/pit.c b/reactos/subsystems/mvdm/ntvdm/hardware/pit.c index 07d6a75daf1..0d1dfca0622 100644 --- a/reactos/subsystems/mvdm/ntvdm/hardware/pit.c +++ b/reactos/subsystems/mvdm/ntvdm/hardware/pit.c @@ -511,7 +511,7 @@ VOID PitInitialize(VOID) /* Register the hardware timer */ MasterClock = CreateHardwareTimer(HARDWARE_TIMER_ENABLED | HARDWARE_TIMER_PRECISE, - 1000000000ULL / PIT_BASE_FREQUENCY, + PIT_BASE_FREQUENCY, PitClock); } diff --git a/reactos/subsystems/mvdm/ntvdm/hardware/ps2.c b/reactos/subsystems/mvdm/ntvdm/hardware/ps2.c index c7f69f2fc61..afade9ae14b 100644 --- a/reactos/subsystems/mvdm/ntvdm/hardware/ps2.c +++ b/reactos/subsystems/mvdm/ntvdm/hardware/ps2.c @@ -405,7 +405,7 @@ BOOLEAN PS2Initialize(VOID) RegisterIoPort(PS2_CONTROL_PORT, PS2ReadPort, PS2WritePort); RegisterIoPort(PS2_DATA_PORT , PS2ReadPort, PS2WritePort); - IrqTimer = CreateHardwareTimer(HARDWARE_TIMER_ONESHOT, 10, GeneratePS2Irq); + IrqTimer = CreateHardwareTimer(HARDWARE_TIMER_ONESHOT, 100, GeneratePS2Irq); return TRUE; } diff --git a/reactos/subsystems/mvdm/ntvdm/hardware/video/vga.c b/reactos/subsystems/mvdm/ntvdm/hardware/video/vga.c index e0226a7389e..a0dd0c5f602 100644 --- a/reactos/subsystems/mvdm/ntvdm/hardware/video/vga.c +++ b/reactos/subsystems/mvdm/ntvdm/hardware/video/vga.c @@ -2127,8 +2127,8 @@ BOOLEAN VgaInitialize(HANDLE TextHandle) RegisterIoPort(0x3D8, VgaReadPort, VgaWritePort); // CGA_MODE_CTRL_REG RegisterIoPort(0x3D9, VgaReadPort, VgaWritePort); // CGA_PAL_CTRL_REG - HSyncTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 0, VgaHorizontalRetrace); - VSyncTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 16, VgaVerticalRetrace); + HSyncTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 31469, VgaHorizontalRetrace); + VSyncTimer = CreateHardwareTimer(HARDWARE_TIMER_ENABLED, 60, VgaVerticalRetrace); /* Return success */ return TRUE;