%import c64lib %import c64utils %import c64flt %zeropage dontuse main { sub start() { ubyte[] ubarr = [100, 0, 99, 199, 22] byte[] barr = [-100, 0, 99, -122, 22] uword[] uwarr = [1000, 0, 222, 4444, 999] word[] warr = [-1000, 0, 999, -4444, 222] float[] farr = [-1000.1, 0, 999.9, -4444.4, 222.2] str name = "irmen" ubyte ub byte bb word ww uword uw float ff ; LEN/STRLEN ubyte length = len(name) if length!=5 c64scr.print("error len1\n") length = len(uwarr) if length!=5 c64scr.print("error len2\n") length=strlen(name) if length!=5 c64scr.print("error strlen1\n") name[3] = 0 length=strlen(name) if length!=3 c64scr.print("error strlen2\n") ; MAX ub = max(ubarr) if ub!=199 c64scr.print("error max1\n") bb = max(barr) if bb!=99 c64scr.print("error max2\n") uw = max(uwarr) if uw!=4444 c64scr.print("error max3\n") ww = max(warr) if ww!=999 c64scr.print("error max4\n") ff = max(farr) if ff!=999.9 c64scr.print("error max5\n") ; MIN ub = min(ubarr) if ub!=0 c64scr.print("error min1\n") bb = min(barr) if bb!=-122 c64scr.print("error min2\n") uw = min(uwarr) if uw!=0 c64scr.print("error min3\n") ww = min(warr) if ww!=-4444 c64scr.print("error min4\n") ff = min(farr) if ff!=-4444.4 c64scr.print("error min5\n") ; SUM uw = sum(ubarr) if uw!=420 c64scr.print("error sum1\n") ww = sum(barr) if ww!=-101 c64scr.print("error sum2\n") uw = sum(uwarr) if uw!=6665 c64scr.print("error sum3\n") ww = sum(warr) if ww!=-4223 c64scr.print("error sum4\n") ff = sum(farr) if ff!=-4222.4 c64scr.print("error sum5\n") ; ANY ub = any(ubarr) if ub==0 c64scr.print("error any1\n") ub = any(barr) if ub==0 c64scr.print("error any2\n") ub = any(uwarr) if ub==0 c64scr.print("error any3\n") ub = any(warr) if ub==0 c64scr.print("error any4\n") ub = any(farr) if ub==0 c64scr.print("error any5\n") ; ALL ub = all(ubarr) if ub==1 c64scr.print("error all1\n") ub = all(barr) if ub==1 c64scr.print("error all2\n") ub = all(uwarr) if ub==1 c64scr.print("error all3\n") ub = all(warr) if ub==1 c64scr.print("error all4\n") ub = all(farr) if ub==1 c64scr.print("error all5\n") ubarr[1]=$40 barr[1]=$40 uwarr[1]=$4000 warr[1]=$4000 farr[1]=1.1 ub = all(ubarr) if ub==0 c64scr.print("error all6\n") ub = all(barr) if ub==0 c64scr.print("error all7\n") ub = all(uwarr) if ub==0 c64scr.print("error all8\n") ub = all(warr) if ub==0 c64scr.print("error all9\n") ub = all(farr) if ub==0 c64scr.print("error all10\n") check_eval_stack() c64scr.print("\nyou should see no errors printed above (only at first run).") } sub check_eval_stack() { if X!=255 { c64scr.print("x=") c64scr.print_ub(X) c64scr.print(" error!\n") } } }