1 /* 2 * OpenBOR - http://www.LavaLit.com 3 * ----------------------------------------------------------------------- 4 * Licensed under the BSD license, see LICENSE in OpenBOR root for details. 5 * 6 * Copyright (c) 2004 - 2011 OpenBOR Team 7 */ 8 9 #include "kos.h" 10 #include "timer.h" 11 12 static unsigned lastinterval = 0; 13 static unsigned tickinit = 0; 14 getTicks()15unsigned getTicks() 16 { 17 uint32 milis=0, secs=0; 18 timer_ms_gettime(&secs, &milis); 19 return (((secs*1000)+milis)-tickinit); 20 } 21 borTimerInit()22void borTimerInit() 23 { 24 uint32 milis=0, secs=0; 25 timer_ms_gettime(&secs, &milis); 26 tickinit = (secs*1000)+milis; 27 } 28 borTimerExit()29void borTimerExit() { } 30 timer_getinterval(unsigned freq)31unsigned timer_getinterval(unsigned freq) 32 { 33 unsigned tickspassed,ebx,blocksize,now; 34 now=timer_gettick(); 35 ebx=now-lastinterval; 36 blocksize=1000/freq; 37 ebx+=1000%freq; 38 tickspassed=ebx/blocksize; 39 ebx-=ebx%blocksize; 40 lastinterval+=ebx; 41 return tickspassed; 42 } 43 timer_gettick()44unsigned timer_gettick() 45 { 46 return getTicks(); 47 } 48