+void Time_MicroSleep(Uint16 Microsecs) // max 64 ms
+{
+ Uint64 cur_tsc = Time_ReadTSC();
+ // tsc_per_us * Microsec
+ Uint64 delta_tsc = (Uint64)Microsecs * giTime_TSCPerTick / US_PER_TICK;
+ Uint64 tgt_tsc = cur_tsc + delta_tsc;
+
+ if( tgt_tsc < cur_tsc )
+ while(Time_ReadTSC() > cur_tsc)
+ ;
+
+ while( Time_ReadTSC() < tgt_tsc )
+ ;
+}
+