Base module short reference

Base classes:

	class FunOut
		ok=0
		all out0
		all out1
		all out2
		all out3
		all out4

	class TwoInts
		i0=0
		i1=0

	class IntAndStr
		i=0
		s=""

	class OkAndData
		ok=0
		data=[]

	class OkAndData1
		ok=0
		data=[]
		dataCount=0
		dataSize=0
		lastSize=0

	class AddrSize
		addr=0
		size=0

	class DateTime
		date=0	#year 2Bytes,month 1Byte, day 1 Byte
		time=0	#hour 1B,minutes 1B, seconds 6 bits, miliseconds 10 bits

	class Drive
		id=0
		name=""
		type=0 	#0 floppy 1 ide

	class DirItem
		type=0 	#1 file,2 dir
		name=""
		size=0
		DateTime updated
		DateTime created

	class File
		name=""
		dirName=""
		Drive drive  

	class ReadFileOutput
		ok=0
		mem data#=[mem]
		#dataCount=0
		fileSize=0
		#dataSizes=[]

	class WriteFileItem
		size=0
		mem data

Base functions:

int
	int abs(int x)
	str toHex(int i)
	str toStr(int i)
	byte toByte(int i)
	int readMem(int address)
	byte readMemByte(int address)
	int readMemBigEndian(int address)
	proc setMem(int address,int val)
	proc setMem16(int addr1,int val)
	proc setMemBigEndian(int address,int val)
	int setBit(int x, int offset)#offset 31 - offset 0
	int resetBit(int x, int offset)#lsb offset=0
	int getBit(int x, int offset)
	byte loByte(int x)
	byte hiByte(int x)
	proc copyMem(int destAddr, int sourceAddr, int dataLen)
	int isEven(int l)
	int isOdd(int l)
	int divideAndRoundUp(int x, int y)
	int roundUp(int x,int roundTo)
	str chr(int i)
	loWord(int x)
	int hiWord(int x)
	max(int x,int y)
	min(int x,int y)
	int align(int x, int to)

byte
	str toHex(byte b)
	int toInt(byte by)
	proc setMem(int address,byte val)
	byte setBit(byte x, int offset)
	byte resetBit(byte x, int offset)
	int getBit(byte x, int offset)
	char toChar(byte by)
	str toStr(byte c)
	byte getByte(byte ind, int buffer)
	proc insert(byte ind,byte val, int buffer)
	str chr(byte b)

str
	str toHex(str text)
	int len(str s)
	str makeStr(int len,str c)
	int toInt(str s)#no sign
	char toChar(str text)
	proc rightPad(str s, str c, int len)
	rfind(str s, str toFind)
	proc insert(str s,int pos, str c)
	proc delete(str s, int ind)
	proc delete(str s, int start, int end)#  end not deleted
	str rtrim( str s)
	int ord(str c)
	int isUpper(str c)
	int isLower(str c)
	str toLower(str s)
	str toUpper(str s)
	int isLetter(str c)
	int isInt(str s)
	int isDigit(str c)
	int isHex(str s)
	int hexToInt(str x)
	list split(str s)
	list split(str s, str del)
	list split(str s, str del, str del1)
	proc addChar(str text, char char_value)
	list strToLines( str text)



char 
	str toHex(char c)
	str toStr(char c)
	byte toByte(char letter)
	int toInt(char c)

list 
	int len(list l)
	proc delete(list l, int i)
	proc delete(list l, int start, int end)# end not deleted
	list delete(list l, list toDelete)#toDelete list of indexes
	proc deleteObjects(list l,list toDelete)#toDelete list of objects
	all last(list l)
	proc insert(list l, str s, int pos)
	int findTextSize(list text)
	find(list l, str s)=
	find(list l, str s, int start)=
	rfind(list l, str s)=
	rfind(list l, str s,int start)=
	find(str s, str toFind)=
	str listToStr(list l)=
	mem paragraphsToMem(list l)= 	#l list of strings
					# result strings separated by cr(13) and 0 at the end
mem
	mem getMem(int size)
	toInt(mem m)
	str toHex(mem m)
	proc zeroMem(mem buffer, int size)
	proc zeroMem(mem buffer)
	proc copyStrToMem(mem dest, str s, int size)#str ended by 0 or size
	proc copyStrToMem(mem m, str s)
	proc copyMem(int destAddr, int sourceAddr, int dataLen)
	proc copyMem(mem dest, mem source, int dataLen)
	proc setMem(mem buffer, int offset,int val)
	proc setMem(mem buffer, int offset,byte val)
	int readMem(mem buffer, int offset )
	byte readMemByte(mem buffer, int offset )
	memToParagraphs(mem cs )
	memToParagraphs1(mem cs )#lines separated only by CR 0d 

cstr
	int len(cstr cs)
	str toStr(cstr cs)
	str toStrFromCstrAddr(int cstrAddr)

date time 
	DateTime getDateTime()
	int getDate()
	int getTime()
	int toDate(int year,int month, int day)
	int toTime(int hour,int minutes, int seconds)
	str toStr(DateTime dateTime)
	int getSeconds(DateTime dateTime)
	int getMinutes(DateTime dateTime)
	int getHours(DateTime dateTime)
	int getDay(DateTime dateTime)
	int getMonth(DateTime dateTime)
	int getYear(DateTime dateTime)
	int getSeconds(DateTime dateTime)

	int getSysTime() #in miliceconds from system startup
	str sysTimeToStr(int sysTime)


console io
	proc print(str text)
	proc print(int i)
	proc print(byte by)
	str getLine()

system

	proc printMem(int data_addr, int len)
	str getLastError()
	proc printLastError()
	str getCmdText()
	proc runCode(str prog_name, str dir_name,Drive drive, str cmd_text)
	proc raiseError(str text)

	

file io
	int openFile(str fileName,int style) # style OF_READ,OF_WRITE,OF_CREATE_OVERWRITE
	proc closeFile(int hFile)
	int getFileSize(int hFile)
	ReadFileOutput readFile(int hFile,int fSize)
	OkAndData readLines(int hFile)
	int writeLines(int hFile, list lines)
	str getCurrDir()


others	
	proc strCopy(int destAddr, str s, int len)=#dest is c str
	proc copyStrToMem(int destAddr, str s, int size)#str ended by 0 or size
	proc copyMemToStr( str s,int sourceAddr,int size)#str ended by 0 or size
	proc copyMem(mem dest , int sourceAddr, int dataLen)
	proc copyMem(int destAddr , mem source, int dataLen)