Time Freezer is a very small and stupid application that will reset your system time to a given data every given milliseconds. This is somewhat akin to freezing it although the milliseconds delay will be there.

Usage:

freezer <Year> <Month> <DayOfWeek> <Day> <Hour> <Minute> <Second> [Delay]

The valid values for these parameters are:

Year:      1601 - 30827
Month:     1 (January) - 12 (December)
DayOfWeek: 0 (Sunday)  - 6 (Saturday)
Day:       1 - 31  (day of the month)
Hour:      0 - 23
Minute:    0 - 59
Second:    0 - 59


[Delay] is an optional parameter. It specifies the delay between successive resets of the clock, in milliseconds. The default value, if it is not supplied, is 200 milliseconds. This was chosen so it would not overload slow systems. You can try with much smaller values (especially with multiple cores), but BE CAREFUL not to make it too small as it may overload your system.

Remember that Time Freezer adjusts its own priority and makes it REALTIME which makes it of higher priority than system processes. So when it needs to reset you can be sure nothing (except another realtime program, if you have any running) will stand in its way. That is why resetting too often may overload your system. The reason I chose to do it in REALTIME is because I wanted it to also "freeze" the clock for system processes or Windows stuff, like when copying files/directories. Now you can use it to, for instance, make copied files have almost the same timestamp -- previously people could have figured out how fast your machine could copy files by looking at differences in timestamps. I don't really care much about that but I am an organized person and having the (almost, a few milliseconds off) same timestamp looks more polished or professional or whatever you want to call it.

NOTE: For some reason you will not be able to open up the Date and Time Properties (it will use 100% CPU) if the delay is too small, but otherwise it's barely using 4% of CPU on my old laptop (Mobile AMD Sempron CPU).

The valid values for Delay are 0 through the maximum allowed in 32 bits (4294967295). If it's higher it aborts instead of overflowing -- because a wrong (small) value can have serious effects on your system.

Please note that quotes ARE NOT allowed in the parameters EXCEPT the program name. Also note that no other characters than digits are allowed. It will abort if it detects any. Also if you will add an extra parameter/argument it will also abort.


Hope you find some use to it. Visit 'http://board.flatassembler.net' for FASM forums, the excellent assembler in which this program was compiled.

Borsuc (octarone@yahoo.com / octarone@gmail.com)