Help Millisecs to time

Blitz3D Forums/Blitz3D Programming/Help Millisecs to time

Can someone fix this code so it returns the CORRECT amount of time for the amount of millisecs for a music file?

Function Millisecs2Time$(m)
Local HourPart%, MinSecLeft%, MinPart%, SecLeft%, SecPart%
Local TimeStr$

   HourPart = Int(m / 3600000)
   MinSecLeft = m Mod 3600000
   MinPart = Int(MinSecLeft / 60000)
   SecLeft = m Mod 60000
   SecPart = SecLeft / 1000

   TimeStr=Str$(HourPart)+":"
   If HourPart<10 Then TimeStr="0"+TimeStr

   If MinPart<10 Then TimeStr=TimeStr+"0"
   TimeStr=TimeStr+Str$(MinPart)+":"
   
   If SecPart<10 Then TimeStr=TimeStr+"0"
   TimeStr=TimeStr+Str$(SecPart)
   
   Return TimeStr
End Function


Graphics 640, 480, 0, 2
SetBuffer BackBuffer()

Repeat

	Cls
	
	Text 0, 0, MillisecsToTime$(MilliSecs())
	
	Flip
	
Until KeyHit(1)

Function MillisecsToTime$(tcode)

	ms = tcode Mod 1000
	sec = tcode / 1000
	min = sec / 60
	sec = sec Mod 60
	hour = min / 60
	min = min Mod 60
	
	Return hour + ":" + zset(min, 2) + ":" + zset(sec, 2) + "." + zset(ms, 3)
	
End Function

Function zset$(val, of)

	r$ = val
	While Len(r$) < of
		r$ = "0" + r$
	Wend
	Return r$
	
End Function