LOAD 2,$8000 DIM GLOBAL CHR(7,7) GLOBAL C FOR I=0 TO 16*16-1 FOR Y=0 TO 7 FOR X=0 TO 7 CALL GETPIXEL(I,X,7-Y) CHR(X,Y)=C NEXT X NEXT Y FOR Y=0 TO 7 FOR X=0 TO 7 C=CHR(Y,X) CALL SETPIXEL(X,Y,C,I) NEXT X NEXT Y NEXT I FOR Y=0 TO 15 FOR X=Y+1 TO 15 CALL SWAPCHAR(Y*16+X,X*16+Y) NEXT X NEXT Y SAVE 7,"ROTATED",$8000,16*16*16 PRINT "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-/:;()$&@.,?!'[]{}#%^*+=_\|~<>" SUB GETPIXEL(CH,X,Y) XX=7-(X) P1=$8000+16*CH+Y P2=P1+8 M=2^XX IF(PEEK(P1)AND M)>0THEN C=1ELSE C=0 IF(PEEK(P2)AND M)>0THEN C=C+2 END SUB SUB SWAPCHAR(C1,C2) P1=$8000+16*C1 P2=$8000+16*C2 FOR I = 0 TO 15 B=PEEK(P1) POKE P1,PEEK(P2) POKE P2,B P1=P1+1 P2=P2+1 NEXT I END SUB SUB SETPIXEL(X,Y,C,CH) YY=INT(Y) XX=INT(7-X) CH=INT(CH) C=INT(C) P1=$8000+16*CH+Y P2=P1+8 N=2^X N1=((C) MOD 2)*N N2=(-(C>1))*N M=NOT N POKE P1,(PEEK(P1) AND M)+N1 POKE P2,(PEEK(P2) AND M)+N2 END SUB