program test,,globals function main[argc,argv] auto i,j,k,n,*io,jj,col auto buf[512,b],r,g,b { aedinit[1] col := 4 if argc > 1 col := val[argv[1],10] r := val[argv[2],10] g := val[argv[3],10] b := val[argv[4],10] fi eprintf["col=%d%n",col] verbose := 0 obyte[1,1] ;select terminal 0 obyte[033,0] obyte[033,0] obyte[72,0] ;select parallel port obyte[`P',0] loop for i = 0 to 255 obyte[75,0] \ obyte[i,0] \ obyte[1,0] obyte[bits[(r*i/100),0,8],0] obyte[bits[(g*i/100),0,8],0] obyte[bits[(b*i/100),0,8],0] next i if argc > 5 eprintf[" doing %s%n",argv[5]] io := cmap[argv[5],(512*512*3)] else io := mapsect[0,ref[(512*512*3)],"__[deanza.pics]rpi6.pix"] fi j := 0 loop for i = 511 downto 0 step --1 aedmove2[0,i] n := 0 loop for jj = 0 to 511 select case col of case 0 return case 1 buf[n,b] := io[j,b] break case 2 buf[n,b] := io[(j+1),b] break case 3 buf[n,b] := io[(j+2),b] break default buf[n,b] := bits[io[j,b],0,8] + bits[io[(j+1),b],0,8] \ + bits[io[(j+2),b],0,8] / 3 esac j := j + 3 n++ ; eprintf["j=%d n=%d io(%d)=%d%n",j,n,j,io[j,b]] next jj aeddma[`w',&buf,512,70] next i } .end