
unit timer
{
	public const uint16 ID = 0;
	
	//[i] linkconst_int32_0 MinValue;
	public const int32 MinValue = 0;
	//[i] linkconst_int32_100 MaxValue;
	public const int32 MaxValue = 0;
	
	uint32 d;
	uint8 sysrandom;
	
	//---------------------------------------------------
	//[i] function_void OS_init;
	public void OS_init()
	{
		//d = 0;
		cdata = MinValue;
		
		#include "$run$.txt"
	}
	//[i] function_void OS_thread;
	public void OS_thread()
	{
		sysrandom + 1;
	}
	//---------------------------------------------------
	//[i] function_int32 data;
	public int32 data()
	{
		d += 1111111111;
		d ^= sysrandom;
		d ^= #.OS0.tick;
		d ^= (sysrandom << 4);
		d.0(uint8) = d.0(uint8) ^ d.8(uint8);
		d.8(uint8) = d.8(uint8) ^ d.16(uint8);
		d.16(uint8) = d.16(uint8) ^ d.24(uint8);
		//d ^ 19870304;
		
		cdata = MinValue + (int)(d % (uint)(MaxValue - MinValue + 1));
		return cdata;
	}
	//[i] var_int32 cdata;
	int32 cdata;
}






















