symbols[]: global scope global global scope implicit__i2c type int8 = int8 type uint8 = uint8 type int16 = int16 type uint16 = uint16 type int32 = int32 type uint32 = uint32 type int64 = int64 type uint64 = uint64 type float64 = float32 type offs = int16 type addr = uint16 type void = void type byte = int8 type ubyte = uint8 type short = int16 type ushort = uint16 type long = int32 type ulong = uint32 type int = int16 type uint = uint16 type utf8char = enum uint8 type ucs1char = enum uint8 type ucs2char = enum uint16 type ucs4char = enum uint32 type utf8str = utf8char[] utf8str spacestr ( uint16 ) utf8str spacestr ( uint16, utf8char ) utf8str charstr ( uint16 ) ucs1char hexchar ( uint16 ) utf8str hexstr ( uint8 ) utf8str hexstr ( uint16 ) utf8str hexstr ( uint32 ) utf8str hexstr ( uint16, uint16 digits ) utf8str hexstr ( uint32, uint16 digits ) utf8str binstr ( uint8 ) utf8str binstr ( uint16 ) utf8str binstr ( uint32 ) utf8str binstr ( uint16, uint16 digits ) utf8str binstr ( uint32, uint16 digits ) utf8str binstr ( uint16, utf8str¢ o, utf8str¢ l ) utf8str binstr ( uint32, utf8str¢ o, utf8str¢ l ) utf8str numstr ( int16 ) utf8str numstr ( uint16 ) utf8str numstr ( int32 ) utf8str numstr ( uint32 ) utf8str toupper ( utf8str¢ ) utf8str tolower ( utf8str¢ ) utf8str escape ( utf8str¢, ucs1char leftquote ) utf8str unescape ( utf8str¢ ) utf8str urlencode ( utf8str¢ ) utf8str urldecode ( utf8str¢ ) utf8str entab ( utf8str¢, uint16 tabwidth ) utf8str detab ( utf8str¢, uint16 tabwidth ) utf8str toupper ( utf8char[to] ) utf8str tolower ( utf8char[to] ) utf8str escape ( utf8char[to], ucs1char leftquote ) utf8str unescape ( utf8char[to] ) utf8str urlencode ( utf8char[to] ) utf8str urldecode ( utf8char[to] ) utf8str entab ( utf8char[to], uint16 tabwidth ) utf8str detab ( utf8char[to], uint16 tabwidth ) ucs1str toucs1 ( utf8str¢ ) ucs2str toucs2 ( utf8str¢ ) utf8str toutf8 ( utf8str¢ ) ucs1str toucs1 ( utf8char[to] ) ucs2str toucs2 ( utf8char[to] ) utf8str toutf8 ( utf8char[to] ) utf8str min ( utf8str, utf8str ) utf8str min ( utf8str, utf8str¢ ) utf8str min ( utf8str¢, utf8str ) utf8str¢ min ( utf8str¢, utf8str¢ ) utf8str¢ min ( utf8str[]¢ ) utf8str¢ min ( utf8str[to] ) utf8str max ( utf8str, utf8str ) utf8str max ( utf8str, utf8str¢ ) utf8str max ( utf8str¢, utf8str ) utf8str¢ max ( utf8str¢, utf8str¢ ) utf8str¢ max ( utf8str[]¢ ) utf8str¢ max ( utf8str[to] ) void flip ( utf8str[to] ) void rol ( utf8str[to] ) void ror ( utf8str[to] ) void sort ( utf8str[to] ) void rsort ( utf8str[to] ) void shuffle ( utf8str[to] ) void revert ( utf8str[to] ) type ucs1str = ucs1char[] ucs1str spacestr ( uint16 ) ucs1str spacestr ( uint16, ucs1char ) ucs1str charstr ( uint16 ) ucs1char hexchar ( uint16 ) ucs1str hexstr ( uint8 ) ucs1str hexstr ( uint16 ) ucs1str hexstr ( uint32 ) ucs1str hexstr ( uint16, uint16 digits ) ucs1str hexstr ( uint32, uint16 digits ) ucs1str binstr ( uint8 ) ucs1str binstr ( uint16 ) ucs1str binstr ( uint32 ) ucs1str binstr ( uint16, uint16 digits ) ucs1str binstr ( uint32, uint16 digits ) ucs1str binstr ( uint16, ucs1str¢ o, ucs1str¢ l ) ucs1str binstr ( uint32, ucs1str¢ o, ucs1str¢ l ) ucs1str numstr ( int16 ) ucs1str numstr ( uint16 ) ucs1str numstr ( int32 ) ucs1str numstr ( uint32 ) ucs1str toupper ( ucs1str¢ ) ucs1str tolower ( ucs1str¢ ) ucs1str escape ( ucs1str¢, ucs1char leftquote ) ucs1str unescape ( ucs1str¢ ) ucs1str urlencode ( ucs1str¢ ) ucs1str urldecode ( ucs1str¢ ) ucs1str entab ( ucs1str¢, uint16 tabwidth ) ucs1str detab ( ucs1str¢, uint16 tabwidth ) ucs1str toupper ( ucs1char[to] ) ucs1str tolower ( ucs1char[to] ) ucs1str escape ( ucs1char[to], ucs1char leftquote ) ucs1str unescape ( ucs1char[to] ) ucs1str urlencode ( ucs1char[to] ) ucs1str urldecode ( ucs1char[to] ) ucs1str entab ( ucs1char[to], uint16 tabwidth ) ucs1str detab ( ucs1char[to], uint16 tabwidth ) ucs1str toucs1 ( ucs1str¢ ) ucs2str toucs2 ( ucs1str¢ ) utf8str toutf8 ( ucs1str¢ ) ucs1str toucs1 ( ucs1char[to] ) ucs2str toucs2 ( ucs1char[to] ) utf8str toutf8 ( ucs1char[to] ) ucs1str min ( ucs1str, ucs1str ) ucs1str min ( ucs1str, ucs1str¢ ) ucs1str min ( ucs1str¢, ucs1str ) ucs1str¢ min ( ucs1str¢, ucs1str¢ ) ucs1str¢ min ( ucs1str[]¢ ) ucs1str¢ min ( ucs1str[to] ) ucs1str max ( ucs1str, ucs1str ) ucs1str max ( ucs1str, ucs1str¢ ) ucs1str max ( ucs1str¢, ucs1str ) ucs1str¢ max ( ucs1str¢, ucs1str¢ ) ucs1str¢ max ( ucs1str[]¢ ) ucs1str¢ max ( ucs1str[to] ) void flip ( ucs1str[to] ) void rol ( ucs1str[to] ) void ror ( ucs1str[to] ) void sort ( ucs1str[to] ) void rsort ( ucs1str[to] ) void shuffle ( ucs1str[to] ) void revert ( ucs1str[to] ) type ucs2str = ucs2char[] ucs2str spacestr ( uint16 ) ucs2str spacestr ( uint16, ucs2char ) ucs2str charstr ( uint16 ) ucs2char hexchar ( uint16 ) ucs2str hexstr ( uint8 ) ucs2str hexstr ( uint16 ) ucs2str hexstr ( uint32 ) ucs2str hexstr ( uint16, uint16 digits ) ucs2str hexstr ( uint32, uint16 digits ) ucs2str binstr ( uint8 ) ucs2str binstr ( uint16 ) ucs2str binstr ( uint32 ) ucs2str binstr ( uint16, uint16 digits ) ucs2str binstr ( uint32, uint16 digits ) ucs2str binstr ( uint16, ucs2str¢ o, ucs2str¢ l ) ucs2str binstr ( uint32, ucs2str¢ o, ucs2str¢ l ) ucs2str numstr ( int16 ) ucs2str numstr ( uint16 ) ucs2str numstr ( int32 ) ucs2str numstr ( uint32 ) ucs2str toupper ( ucs2str¢ ) ucs2str tolower ( ucs2str¢ ) ucs2str escape ( ucs2str¢, ucs2char leftquote ) ucs2str unescape ( ucs2str¢ ) ucs2str urlencode ( ucs2str¢ ) ucs2str urldecode ( ucs2str¢ ) ucs2str entab ( ucs2str¢, uint16 tabwidth ) ucs2str detab ( ucs2str¢, uint16 tabwidth ) ucs2str toupper ( ucs2char[to] ) ucs2str tolower ( ucs2char[to] ) ucs2str escape ( ucs2char[to], ucs2char leftquote ) ucs2str unescape ( ucs2char[to] ) ucs2str urlencode ( ucs2char[to] ) ucs2str urldecode ( ucs2char[to] ) ucs2str entab ( ucs2char[to], uint16 tabwidth ) ucs2str detab ( ucs2char[to], uint16 tabwidth ) ucs1str toucs1 ( ucs2str¢ ) ucs2str toucs2 ( ucs2str¢ ) utf8str toutf8 ( ucs2str¢ ) ucs1str toucs1 ( ucs2char[to] ) ucs2str toucs2 ( ucs2char[to] ) utf8str toutf8 ( ucs2char[to] ) ucs2str min ( ucs2str, ucs2str ) ucs2str min ( ucs2str, ucs2str¢ ) ucs2str min ( ucs2str¢, ucs2str ) ucs2str¢ min ( ucs2str¢, ucs2str¢ ) ucs2str¢ min ( ucs2str[]¢ ) ucs2str¢ min ( ucs2str[to] ) ucs2str max ( ucs2str, ucs2str ) ucs2str max ( ucs2str, ucs2str¢ ) ucs2str max ( ucs2str¢, ucs2str ) ucs2str¢ max ( ucs2str¢, ucs2str¢ ) ucs2str¢ max ( ucs2str[]¢ ) ucs2str¢ max ( ucs2str[to] ) void flip ( ucs2str[to] ) void rol ( ucs2str[to] ) void ror ( ucs2str[to] ) void sort ( ucs2str[to] ) void rsort ( ucs2str[to] ) void shuffle ( ucs2str[to] ) void revert ( ucs2str[to] ) type ucs4str = ucs4char[] type char = enum uint8 type bool = enum uint8 type float = float32 type str = ucs1char[] type Thread = {} type Mutex = {} type Sema = {} type Irpt = {} type Object = {} type Stream = {} type FileInfo = {} type FD = { FD_Handlers¢ handlers, NodeType nodetype, ucs1str name, init ( FD¢, NodeType, ucs1str¢ name, FD_Handlers¢ ), kill ( FD¢ ), ill ( FD ), 16 getctl ( FD¢, uint8 fu ), setctl ( FD¢, uint8 fu, uint16 n ), 16 avail_in ( FD¢ ), 16 avail_out ( FD¢ ), char getc ( FD¢ ), putc ( FD¢, ucs1char c ), str gets ( FD¢, uint16 delimiters ), puts ( FD¢, ucs1str¢ ), puts ( FD¢, ucs1str ), putnum ( FD¢, uint16 ), putnum ( FD¢, int16 ), read ( FD¢, uint8[to] ), write ( FD¢, uint8[to] ), read_block ( FD¢, uint32 blk, uint8[]¢ ), write_block ( FD¢, uint32 blk, uint8[]¢ ), 32 getfpos ( FD¢ ), setfpos ( FD¢, uint32 fpos ), is_dir ( FD¢ ), is_file ( FD¢ ) } var FD_Handlers¢ handlers var NodeType nodetype var ucs1str name void init ( FD¢, NodeType, ucs1str¢ name, FD_Handlers¢ ) void kill ( FD¢ ) FD kill ( FD ) uint16 getctl ( FD¢, uint8 fu ) void setctl ( FD¢, uint8 fu, uint16 n ) uint16 avail_in ( FD¢ ) uint16 avail_out ( FD¢ ) ucs1char getc ( FD¢ ) void putc ( FD¢, ucs1char c ) ucs1str gets ( FD¢, uint16 delimiters ) void puts ( FD¢, ucs1str¢ ) void puts ( FD¢, ucs1str ) void putnum ( FD¢, uint16 ) void putnum ( FD¢, int16 ) bool read ( FD¢, uint8[to] ) bool write ( FD¢, uint8[to] ) bool read_block ( FD¢, uint32 blk, uint8[]¢ ) bool write_block ( FD¢, uint32 blk, uint8[]¢ ) uint32 getfpos ( FD¢ ) bool setfpos ( FD¢, uint32 fpos ) bool is_dir ( FD¢ ) bool is_file ( FD¢ ) const bool yes = 1 const bool no = 0 const bool true = 1 const bool false = 0 uint8 msbit ( uint16 ) uint8 msbit ( uint32 ) int16 sign ( int16 ) int16 sign ( int32 ) uint16 abs ( int16 ) uint32 abs ( int32 ) uint16 swap_bytes ( uint16 ) uint32 revert_bytes ( uint32 ) uint32 swap_words ( uint32 ) uint16 random () uint32 mul_wwl ( uint16, uint16 ) void flip ( int8[to] ) = opcode flip void rol ( int8[to] ) = opcode rol void ror ( int8[to] ) = opcode ror void sort ( int8[to] ) = opcode sort void rsort ( int8[to] ) = opcode rsort void shuffle ( int8[to] ) = opcode shuffle void revert ( int8[to] ) = opcode revert int8[] join ( int8[][]¢, int8 ) = opcode join int8[] join ( int8[][]¢, int8[]¢ ) = opcode join int8[][] split ( int8[]¢, int8 ) = opcode split int8[][] split ( int8[]¢, int8[]¢ ) = opcode split int8 min ( int8, int8 ) int8 min ( int8, int8, int8 ) int8 min ( int8[to] ) int8 max ( int8, int8 ) int8 max ( int8, int8, int8 ) int8 max ( int8[to] ) uint16 find ( int8[to], int8 ) = opcode find uint16 find ( int8[to], int8[]¢ ) = opcode find uint16 rfind ( int8[to], int8 ) = opcode rfind uint16 rfind ( int8[to], int8[]¢ ) = opcode rfind void shrinktofit ( int8[]& ) int8[to] substr ( int8[]¢, uint16 a, uint16 e ) int8[to] midstr ( int8[]¢, uint16 i, uint16 n ) int8[to] leftstr ( int8[]¢, uint16 n ) int8[to] rightstr ( int8[]¢, uint16 n ) int8 numval ( utf8str¢ ) int8 numval ( ucs1str¢ ) int8 numval ( ucs2str¢ ) void flip ( uint8[to] ) = opcode flip void rol ( uint8[to] ) = opcode rol void ror ( uint8[to] ) = opcode ror void sort ( uint8[to] ) = opcode sort void rsort ( uint8[to] ) = opcode rsort void shuffle ( uint8[to] ) = opcode shuffle void revert ( uint8[to] ) = opcode revert uint8[] join ( uint8[][]¢, uint8 ) = opcode join uint8[] join ( uint8[][]¢, uint8[]¢ ) = opcode join uint8[][] split ( uint8[]¢, uint8 ) = opcode split uint8[][] split ( uint8[]¢, uint8[]¢ ) = opcode split uint8 min ( uint8, uint8 ) uint8 min ( uint8, uint8, uint8 ) uint8 min ( uint8[to] ) uint8 max ( uint8, uint8 ) uint8 max ( uint8, uint8, uint8 ) uint8 max ( uint8[to] ) uint16 find ( uint8[to], uint8 ) = opcode find uint16 find ( uint8[to], uint8[]¢ ) = opcode find uint16 rfind ( uint8[to], uint8 ) = opcode rfind uint16 rfind ( uint8[to], uint8[]¢ ) = opcode rfind void shrinktofit ( uint8[]& ) uint8[to] substr ( uint8[]¢, uint16 a, uint16 e ) uint8[to] midstr ( uint8[]¢, uint16 i, uint16 n ) uint8[to] leftstr ( uint8[]¢, uint16 n ) uint8[to] rightstr ( uint8[]¢, uint16 n ) uint8 numval ( utf8str¢ ) uint8 numval ( ucs1str¢ ) uint8 numval ( ucs2str¢ ) void flip ( int16[to] ) = opcode flip void rol ( int16[to] ) = opcode rol void ror ( int16[to] ) = opcode ror void sort ( int16[to] ) = opcode sort void rsort ( int16[to] ) = opcode rsort void shuffle ( int16[to] ) = opcode shuffle void revert ( int16[to] ) = opcode revert int16[] join ( int16[][]¢, int16 ) = opcode join int16[] join ( int16[][]¢, int16[]¢ ) = opcode join int16[][] split ( int16[]¢, int16 ) = opcode split int16[][] split ( int16[]¢, int16[]¢ ) = opcode split int16 min ( int16, int16 ) int16 min ( int16, int16, int16 ) int16 min ( int16[to] ) int16 max ( int16, int16 ) int16 max ( int16, int16, int16 ) int16 max ( int16[to] ) uint16 find ( int16[to], int16 ) = opcode find uint16 find ( int16[to], int16[]¢ ) = opcode find uint16 rfind ( int16[to], int16 ) = opcode rfind uint16 rfind ( int16[to], int16[]¢ ) = opcode rfind void shrinktofit ( int16[]& ) int16[to] substr ( int16[]¢, uint16 a, uint16 e ) int16[to] midstr ( int16[]¢, uint16 i, uint16 n ) int16[to] leftstr ( int16[]¢, uint16 n ) int16[to] rightstr ( int16[]¢, uint16 n ) int16 numval ( utf8str¢ ) int16 numval ( ucs1str¢ ) int16 numval ( ucs2str¢ ) void flip ( uint16[to] ) = opcode flip void rol ( uint16[to] ) = opcode rol void ror ( uint16[to] ) = opcode ror void sort ( uint16[to] ) = opcode sort void rsort ( uint16[to] ) = opcode rsort void shuffle ( uint16[to] ) = opcode shuffle void revert ( uint16[to] ) = opcode revert uint16[] join ( uint16[][]¢, uint16 ) = opcode join uint16[] join ( uint16[][]¢, uint16[]¢ ) = opcode join uint16[][] split ( uint16[]¢, uint16 ) = opcode split uint16[][] split ( uint16[]¢, uint16[]¢ ) = opcode split uint16 min ( uint16, uint16 ) uint16 min ( uint16, uint16, uint16 ) uint16 min ( uint16[to] ) uint16 max ( uint16, uint16 ) uint16 max ( uint16, uint16, uint16 ) uint16 max ( uint16[to] ) uint16 find ( uint16[to], uint16 ) = opcode find uint16 find ( uint16[to], uint16[]¢ ) = opcode find uint16 rfind ( uint16[to], uint16 ) = opcode rfind uint16 rfind ( uint16[to], uint16[]¢ ) = opcode rfind void shrinktofit ( uint16[]& ) uint16[to] substr ( uint16[]¢, uint16 a, uint16 e ) uint16[to] midstr ( uint16[]¢, uint16 i, uint16 n ) uint16[to] leftstr ( uint16[]¢, uint16 n ) uint16[to] rightstr ( uint16[]¢, uint16 n ) uint16 numval ( utf8str¢ ) uint16 numval ( ucs1str¢ ) uint16 numval ( ucs2str¢ ) void flip ( int32[to] ) = opcode flip void rol ( int32[to] ) = opcode rol void ror ( int32[to] ) = opcode ror void sort ( int32[to] ) = opcode sort void rsort ( int32[to] ) = opcode rsort void shuffle ( int32[to] ) = opcode shuffle void revert ( int32[to] ) = opcode revert int32[] join ( int32[][]¢, int32 ) = opcode join int32[] join ( int32[][]¢, int32[]¢ ) = opcode join int32[][] split ( int32[]¢, int32 ) = opcode split int32[][] split ( int32[]¢, int32[]¢ ) = opcode split int32 min ( int32, int32 ) int32 min ( int32, int32, int32 ) int32 min ( int32[to] ) int32 max ( int32, int32 ) int32 max ( int32, int32, int32 ) int32 max ( int32[to] ) uint16 find ( int32[to], int32 ) = opcode find uint16 find ( int32[to], int32[]¢ ) = opcode find uint16 rfind ( int32[to], int32 ) = opcode rfind uint16 rfind ( int32[to], int32[]¢ ) = opcode rfind void shrinktofit ( int32[]& ) int32[to] substr ( int32[]¢, uint16 a, uint16 e ) int32[to] midstr ( int32[]¢, uint16 i, uint16 n ) int32[to] leftstr ( int32[]¢, uint16 n ) int32[to] rightstr ( int32[]¢, uint16 n ) int32 numval ( utf8str¢ ) int32 numval ( ucs1str¢ ) int32 numval ( ucs2str¢ ) void flip ( uint32[to] ) = opcode flip void rol ( uint32[to] ) = opcode rol void ror ( uint32[to] ) = opcode ror void sort ( uint32[to] ) = opcode sort void rsort ( uint32[to] ) = opcode rsort void shuffle ( uint32[to] ) = opcode shuffle void revert ( uint32[to] ) = opcode revert uint32[] join ( uint32[][]¢, uint32 ) = opcode join uint32[] join ( uint32[][]¢, uint32[]¢ ) = opcode join uint32[][] split ( uint32[]¢, uint32 ) = opcode split uint32[][] split ( uint32[]¢, uint32[]¢ ) = opcode split uint32 min ( uint32, uint32 ) uint32 min ( uint32, uint32, uint32 ) uint32 min ( uint32[to] ) uint32 max ( uint32, uint32 ) uint32 max ( uint32, uint32, uint32 ) uint32 max ( uint32[to] ) uint16 find ( uint32[to], uint32 ) = opcode find uint16 find ( uint32[to], uint32[]¢ ) = opcode find uint16 rfind ( uint32[to], uint32 ) = opcode rfind uint16 rfind ( uint32[to], uint32[]¢ ) = opcode rfind void shrinktofit ( uint32[]& ) uint32[to] substr ( uint32[]¢, uint16 a, uint16 e ) uint32[to] midstr ( uint32[]¢, uint16 i, uint16 n ) uint32[to] leftstr ( uint32[]¢, uint16 n ) uint32[to] rightstr ( uint32[]¢, uint16 n ) uint32 numval ( utf8str¢ ) uint32 numval ( ucs1str¢ ) uint32 numval ( ucs2str¢ ) void flip ( utf8char[to] ) = opcode flip void rol ( utf8char[to] ) = opcode rol void ror ( utf8char[to] ) = opcode ror void sort ( utf8char[to] ) = opcode sort void rsort ( utf8char[to] ) = opcode rsort void shuffle ( utf8char[to] ) = opcode shuffle void revert ( utf8char[to] ) = opcode revert utf8str join ( utf8str[]¢, utf8char ) = opcode join utf8str join ( utf8str[]¢, utf8str¢ ) = opcode join utf8str[] split ( utf8str¢, utf8char ) = opcode split utf8str[] split ( utf8str¢, utf8str¢ ) = opcode split utf8char min ( utf8char, utf8char ) utf8char min ( utf8char, utf8char, utf8char ) utf8char min ( utf8char[to] ) utf8char max ( utf8char, utf8char ) utf8char max ( utf8char, utf8char, utf8char ) utf8char max ( utf8char[to] ) uint16 find ( utf8char[to], utf8char ) = opcode find uint16 find ( utf8char[to], utf8str¢ ) = opcode find uint16 rfind ( utf8char[to], utf8char ) = opcode rfind uint16 rfind ( utf8char[to], utf8str¢ ) = opcode rfind void shrinktofit ( utf8str& ) utf8char[to] substr ( utf8str¢, uint16 a, uint16 e ) utf8char[to] midstr ( utf8str¢, uint16 i, uint16 n ) utf8char[to] leftstr ( utf8str¢, uint16 n ) utf8char[to] rightstr ( utf8str¢, uint16 n ) utf8char numval ( utf8str¢ ) utf8char numval ( ucs1str¢ ) utf8char numval ( ucs2str¢ ) void flip ( ucs1char[to] ) = opcode flip void rol ( ucs1char[to] ) = opcode rol void ror ( ucs1char[to] ) = opcode ror void sort ( ucs1char[to] ) = opcode sort void rsort ( ucs1char[to] ) = opcode rsort void shuffle ( ucs1char[to] ) = opcode shuffle void revert ( ucs1char[to] ) = opcode revert ucs1str join ( ucs1str[]¢, ucs1char ) = opcode join ucs1str join ( ucs1str[]¢, ucs1str¢ ) = opcode join ucs1str[] split ( ucs1str¢, ucs1char ) = opcode split ucs1str[] split ( ucs1str¢, ucs1str¢ ) = opcode split ucs1char min ( ucs1char, ucs1char ) ucs1char min ( ucs1char, ucs1char, ucs1char ) ucs1char min ( ucs1char[to] ) ucs1char max ( ucs1char, ucs1char ) ucs1char max ( ucs1char, ucs1char, ucs1char ) ucs1char max ( ucs1char[to] ) uint16 find ( ucs1char[to], ucs1char ) = opcode find uint16 find ( ucs1char[to], ucs1str¢ ) = opcode find uint16 rfind ( ucs1char[to], ucs1char ) = opcode rfind uint16 rfind ( ucs1char[to], ucs1str¢ ) = opcode rfind void shrinktofit ( ucs1str& ) ucs1char[to] substr ( ucs1str¢, uint16 a, uint16 e ) ucs1char[to] midstr ( ucs1str¢, uint16 i, uint16 n ) ucs1char[to] leftstr ( ucs1str¢, uint16 n ) ucs1char[to] rightstr ( ucs1str¢, uint16 n ) ucs1char numval ( utf8str¢ ) ucs1char numval ( ucs1str¢ ) ucs1char numval ( ucs2str¢ ) void flip ( ucs2char[to] ) = opcode flip void rol ( ucs2char[to] ) = opcode rol void ror ( ucs2char[to] ) = opcode ror void sort ( ucs2char[to] ) = opcode sort void rsort ( ucs2char[to] ) = opcode rsort void shuffle ( ucs2char[to] ) = opcode shuffle void revert ( ucs2char[to] ) = opcode revert ucs2str join ( ucs2str[]¢, ucs2char ) = opcode join ucs2str join ( ucs2str[]¢, ucs2str¢ ) = opcode join ucs2str[] split ( ucs2str¢, ucs2char ) = opcode split ucs2str[] split ( ucs2str¢, ucs2str¢ ) = opcode split ucs2char min ( ucs2char, ucs2char ) ucs2char min ( ucs2char, ucs2char, ucs2char ) ucs2char min ( ucs2char[to] ) ucs2char max ( ucs2char, ucs2char ) ucs2char max ( ucs2char, ucs2char, ucs2char ) ucs2char max ( ucs2char[to] ) uint16 find ( ucs2char[to], ucs2char ) = opcode find uint16 find ( ucs2char[to], ucs2str¢ ) = opcode find uint16 rfind ( ucs2char[to], ucs2char ) = opcode rfind uint16 rfind ( ucs2char[to], ucs2str¢ ) = opcode rfind void shrinktofit ( ucs2str& ) ucs2char[to] substr ( ucs2str¢, uint16 a, uint16 e ) ucs2char[to] midstr ( ucs2str¢, uint16 i, uint16 n ) ucs2char[to] leftstr ( ucs2str¢, uint16 n ) ucs2char[to] rightstr ( ucs2str¢, uint16 n ) ucs2char numval ( utf8str¢ ) ucs2char numval ( ucs1str¢ ) ucs2char numval ( ucs2str¢ ) bool is_letter ( ucs1char ) bool is_bin_digit ( ucs1char ) bool is_dec_digit ( ucs1char ) bool is_hex_digit ( ucs1char ) uint16 digit_value ( ucs1char ) float32 round ( float32 ) float32 floor ( float32 ) float32 ceil ( float32 ) float32 integ ( float32 ) float32 fract ( float32 ) int16 sign ( float32 ) float32 abs ( float32 ) float32 min ( float32, float32 ) float32 max ( float32, float32 ) float32 min ( float32, float32, float32 ) float32 max ( float32, float32, float32 ) float32 random () float32 random ( float32 ) float32 sin ( float32 ) float32 cos ( float32 ) float32 tan ( float32 ) float32 asin ( float32 ) float32 acos ( float32 ) float32 atan ( float32 ) float32 sinh ( float32 ) float32 cosh ( float32 ) float32 tanh ( float32 ) float32 exp10 ( float32 ) float32 log10 ( float32 ) float32 exp2 ( float32 ) float32 log2 ( float32 ) float32 expe ( float32 ) float32 loge ( float32 ) float32 exp ( float32, float32 ) float32 log ( float32, float32 ) float32 pow ( float32, int16 ) float32 sqrt ( float32 ) ucs1str numstr ( float32 ) float32 numval ( ucs1str¢ ) float32 min ( float32[]¢ ) float32 min ( float32[to] ) float32 max ( float32[]¢ ) float32 max ( float32[to] ) ucs1str spacestr ( uint16 ) ucs1str spacestr ( uint16, ucs1char ) ucs1str charstr ( uint16 ) ucs1char hexchar ( uint16 ) ucs1str hexstr ( uint8 ) ucs1str hexstr ( uint16 ) ucs1str hexstr ( uint32 ) ucs1str hexstr ( uint16, uint16 digits ) ucs1str hexstr ( uint32, uint16 digits ) ucs1str binstr ( uint8 ) ucs1str binstr ( uint16 ) ucs1str binstr ( uint32 ) ucs1str binstr ( uint16, uint16 digits ) ucs1str binstr ( uint32, uint16 digits ) ucs1str binstr ( uint16, ucs1str¢ o, ucs1str¢ l ) ucs1str binstr ( uint32, ucs1str¢ o, ucs1str¢ l ) ucs1str numstr ( int16 ) ucs1str numstr ( uint16 ) ucs1str numstr ( int32 ) ucs1str numstr ( uint32 ) ucs1str toupper ( ucs1str¢ ) ucs1str tolower ( ucs1str¢ ) ucs1str escape ( ucs1str¢, ucs1char leftquote ) ucs1str unescape ( ucs1str¢ ) ucs1str urlencode ( ucs1str¢ ) ucs1str urldecode ( ucs1str¢ ) ucs1str entab ( ucs1str¢, uint16 tabwidth ) ucs1str detab ( ucs1str¢, uint16 tabwidth ) ucs1str toupper ( ucs1char[to] ) ucs1str tolower ( ucs1char[to] ) ucs1str escape ( ucs1char[to], ucs1char leftquote ) ucs1str unescape ( ucs1char[to] ) ucs1str urlencode ( ucs1char[to] ) ucs1str urldecode ( ucs1char[to] ) ucs1str entab ( ucs1char[to], uint16 tabwidth ) ucs1str detab ( ucs1char[to], uint16 tabwidth ) ucs1str toucs1 ( ucs1str¢ ) ucs2str toucs2 ( ucs1str¢ ) utf8str toutf8 ( ucs1str¢ ) ucs1str toucs1 ( ucs1char[to] ) ucs2str toucs2 ( ucs1char[to] ) utf8str toutf8 ( ucs1char[to] ) ucs1str min ( ucs1str, ucs1str ) ucs1str min ( ucs1str, ucs1str¢ ) ucs1str min ( ucs1str¢, ucs1str ) ucs1str¢ min ( ucs1str¢, ucs1str¢ ) ucs1str¢ min ( ucs1str[]¢ ) ucs1str¢ min ( ucs1str[to] ) ucs1str max ( ucs1str, ucs1str ) ucs1str max ( ucs1str, ucs1str¢ ) ucs1str max ( ucs1str¢, ucs1str ) ucs1str¢ max ( ucs1str¢, ucs1str¢ ) ucs1str¢ max ( ucs1str[]¢ ) ucs1str¢ max ( ucs1str[to] ) void flip ( ucs1str[to] ) void rol ( ucs1str[to] ) void ror ( ucs1str[to] ) void sort ( ucs1str[to] ) void rsort ( ucs1str[to] ) void shuffle ( ucs1str[to] ) void revert ( ucs1str[to] ) const uint16 tm_utc = 0 const uint16 tm_localtime = 1 const uint16 tm_time = 2 const uint16 tm_date = 4 const uint16 tm_timezone = 8 const uint16 tm_sec = 16 const uint16 tm_msec = 32 float32 now () ucs1str timestr ( float32 seconds, uint16 flags ) float32 timeval ( ucs1str¢, uint16 flags ) const uint8 c_reset = 0 const uint8 c_speed = 1 const uint8 c_hwhsk = 2 const uint8 c_swhsk = 3 const uint8 c_flushin = 4 const uint8 c_availin = 4 const uint8 c_flushout = 5 const uint8 c_availout = 5 const uint8 c_clk_hsk = 6 const uint8 c_log2blocksize = 7 const uint8 c_totalblocks_lo = 8 const uint8 c_totalblocks_hi = 9 const uint8 c_reserved2 = 10 type OSErr = enum uint8 const OSErr ok = 0 const OSErr parameter_error = 1 const OSErr function_not_supported = 1 const OSErr io_error = 2 const OSErr device_not_responding = 3 const OSErr file_error = 4 const OSErr filesystem_invalid = 5 const OSErr device_not_found = 6 const OSErr directory_not_found = 7 const OSErr file_not_found = 8 const OSErr not_a_directory = 9 const OSErr is_a_directory = 10 const OSErr file_already_open_for_writing = 11 const OSErr file_already_open = 12 const OSErr file_exists = 13 const OSErr file_not_writable = 14 const OSErr end_of_file = 15 const OSErr disk_full = 16 const OSErr directory_corrupted = 17 const OSErr filesystem_corrupted = 18 var OSErr errno OSErr error () void clear_error () void set_error ( OSErr ) bool yes_with_error ( OSErr ) void* null_with_error ( OSErr ) type NodeType = enum uint8 NodeType operator | ( NodeType, NodeType ) = opcode | NodeType operator & ( NodeType, NodeType ) = opcode & const NodeType t_endmarker = 0 const NodeType t_file = 1 const NodeType t_dir = 2 const NodeType t_ser = 3 const NodeType t_block = 4 const NodeType m_erased = 128 type FD_Handlers = { uint16(FD¢, uint8) getctl, void(FD¢, uint8, uint16) setctl, uint16(FD¢) avail_in, uint16(FD¢) avail_out, ucs1char(FD¢) getc, void(FD¢, ucs1char) putc, bool(FD¢, uint8[to]) read, bool(FD¢, uint8[to]) write, bool(FD¢, uint32, uint8[]¢) read_block, bool(FD¢, uint32, uint8[]¢) write_block, void(FD¢) kill, uint32(FD¢) getfpos, bool(FD¢, uint32) setfpos } var uint16(FD¢, uint8) getctl var void(FD¢, uint8, uint16) setctl var uint16(FD¢) avail_in var uint16(FD¢) avail_out var ucs1char(FD¢) getc var void(FD¢, ucs1char) putc var bool(FD¢, uint8[to]) read var bool(FD¢, uint8[to]) write var bool(FD¢, uint32, uint8[]¢) read_block var bool(FD¢, uint32, uint8[]¢) write_block var void(FD¢) kill var uint32(FD¢) getfpos var bool(FD¢, uint32) setfpos uint16 no_avail_in ( FD¢ ) uint16 no_avail_out ( FD¢ ) ucs1char no_getc ( FD¢ ) void no_putc ( FD¢, ucs1char ) uint32 no_getfpos ( FD¢ ) bool no_setfpos ( FD¢, uint32 ) bool no_read ( FD¢, uint8[to] ) bool no_write ( FD¢, uint8[to] ) bool no_read_block ( FD¢, uint32, uint8[]¢ ) bool no_write_block ( FD¢, uint32, uint8[]¢ ) uint16 avail_in () uint16 avail_out () extern const uint16 delimiters = 13329 ucs1char getc () void putc ( ucs1char c ) ucs1str gets ( uint16 delimiters ) void puts ( ucs1str¢ ) void puts ( ucs1str ) void putnum ( uint16 ) void putnum ( int16 ) bool read ( uint8[to] ) bool write ( uint8[to] ) extern const bool option_a5 = 1 extern const uint8 bSIO_SELECT = 1 extern const uint8 bIDE_SELECT = 2 extern const uint8 mSIO_SELECT = 253 extern const uint8 mIDE_SELECT = 251 type BlockDevice = FD + { uint16 blocksize, uint16 blockmask, uint8 log2blocksize, uint32 totalblocks, bool wide, File[] open_files, init ( BlockDevice¢, NodeType, ucs1str¢ name, FD_Handlers¢, uint8 log2blksz, uint32 totalblocks ), kill ( BlockDevice¢ ), 16 getctl ( BlockDevice¢ fd, uint8 fu ), setctl ( BlockDevice¢ fd, uint8 fu, uint16 n ) } var uint16 blocksize var uint16 blockmask var uint8 log2blocksize var uint32 totalblocks var bool wide var File[] open_files void init ( BlockDevice¢, NodeType, ucs1str¢ name, FD_Handlers¢, uint8 log2blksz, uint32 totalblocks ) void kill ( BlockDevice¢ ) uint16 getctl ( BlockDevice¢ fd, uint8 fu ) void setctl ( BlockDevice¢ fd, uint8 fu, uint16 n ) type IdeBlockDevice = {} type I2cBlockDevice = BlockDevice + { uint8 select_mask, lockDevice kill ( I2cBlockDevice ), 8 readbyte ( bool lastbyteflag ), writebyte ( uint8 byte ), waitendwriting (), start_writing ( uint16 addr ), start_reading ( uint16 addr ), send_end (), 16 getctl ( I2cBlockDevice¢, uint8 fu ), setctl ( I2cBlockDevice¢, uint8 fu, uint16 n ), read_block ( I2cBlockDevice¢ fd, uint32 blk, uint8[]¢ bu ), write_block ( I2cBlockDevice¢ fd, uint32 blk, uint8[]¢ bu ) } var uint8 select_mask I2cBlockDevice kill ( I2cBlockDevice ) uint8 readbyte ( bool lastbyteflag ) bool writebyte ( uint8 byte ) bool waitendwriting () bool start_writing ( uint16 addr ) bool start_reading ( uint16 addr ) void send_end () uint16 getctl ( I2cBlockDevice¢, uint8 fu ) void setctl ( I2cBlockDevice¢, uint8 fu, uint16 n ) bool read_block ( I2cBlockDevice¢ fd, uint32 blk, uint8[]¢ bu ) var uint16 fpos var uint16 a var uint16 e bool write_block ( I2cBlockDevice¢ fd, uint32 blk, uint8[]¢ bu ) var uint16 fpos var uint16 a var uint16 e local scope ANON var uint8 n type SerialDevice = {} type Range = {} type File = {} var uint8 k1_irpt_mask var uint8 sysflags var uint32 systemtime var uint16 period var uint32 timestamp var uint16 tsmsec var ucs1char* romdate var ucs1char* romtime var FD[] devs var File[] fds var FD stdin var FD stdout var SerialDevice sio1A var SerialDevice sio1B var IdeBlockDevice ide2A var IdeBlockDevice ide2B var I2cBlockDevice sio1rom var I2cBlockDevice ide2rom void di () void ei () void ei_all () void select ( uint8 ) uint8 in ( uint8 ) void out ( uint8, uint8 ) void wait () void memcpy ( void* z, void* q, uint16 cnt ) void memset ( void* z, uint16 c, uint16 cnt ) void memclr ( void* z, uint16 cnt ) void set_red_led () void set_yellow_led () void set_both_leds () void clear_both_leds () OSErr lock_eeprom () OSErr unlock_eeprom () void write_eeprom ( void* q, void* z, uint16 cnt ) void download_firmware () void abort () = opcode abort void panic ( uint8 blinkcode ) void assert1 ( bool ) void assert0 ( bool ) uint16 mem_get_free () uint16 mem_get_free_total () uint8 fd_function_not_supported () void sio_init_channel ( SerialDevice¢, ucs1str¢ name, uint8 devselbit, uint8 ch ) void ide_init_blockdevice ( BlockDevice¢ ) void i2c_init_blockdevice ( BlockDevice¢ ) I2cBlockDevice new ( uint8 select_mask, ucs1str¢ name ) var I2cBlockDevice this const int16 log2pagesize = 6 const int16 pagesize = 64 FD_Handlers new_i2c_handlers () var FD_Handlers i2c_handlers