What about reading the current TickCount from the shared user page?
Am 29.01.2014 01:25, schrieb hbelusca@svn.reactos.org:
Author: hbelusca Date: Wed Jan 29 00:25:43 2014 New Revision: 61875
URL: http://svn.reactos.org/svn/reactos?rev=61875&view=rev Log: [NTVDM]
- Enable experimental sound support (only PC speaker for the moment, aka. uses beep.sys).
- Introduce a #define WORKING_TIMER which aim is to disable the currently problematic approximate performance counter value calculation done in order not to call QueryPerformanceCounter each time. The problem is that we then compute a number of clock ticks for the PIT, which becomes negative, and therefore everything starts to hang. Disabling this code and calling each time QueryPerformanceCounter, fixes everything; we gain in precision but we loose in performance... A definitive fix must be found, [TheFlash] !!
This fixes sound (and hangs) in Advanced NetWars, Dangerous Dave, ElitePlus and Rescue Rover (the games that I've tested so far).