;puLse - joeL gLuck - anaLog 26 BYTE ARRAY X(192),Y(192),C(192) BYTE NUM=[10] INT ARRAY XD(192) CARD ARRAY LINEPT(192) PROC PAUZ(CARD N) CARD I FOR I=0 TO N+N DO OD RETURN PROC INTRO() BYTE I ,COLOR1=709 Graphics(0) Poke(710,0) Poke(752,1) Print(" ") PAUZ(30000) Position(17,9) Print("puLse") PAUZ(30000) POSITION(13,11) PRINT("by joeL gLuck") PAUZ(30000) Position(9,13) Print("from ANALOG COMPUTING") PAUZ(60000) FOR I=0 TO 15 DO COLOR1=15-I PAUZ(2000) OD RETURN PROC GR10INIT() CARD LINE,REG,COL,LUM,SCRN=88 BYTE ARRAY GTIACOL(8)=705 GRAPHICS(10) POKE(704,0) FOR REG=0 TO 7 DO COL=Rand(16) LUM=Rand(9)+4 GTIACOL(REG)=COL*16+LUM OD FOR LINE=0 TO 191 DO LINEPT(LINE)=SCRN+40*LINE OD RETURN PROC PLOT10(BYTE X,Y,COL) BYTE POINTER PIXEL BYTE ARRAY COLFIL=[0 17 34 51 68 85 102 119 136 0 0 0 0 0 0 0], MASK=[15 240], MASK2=[240 15] PIXEL=LINEPT(Y)+(X RSH 1) PIXEL^=PIXEL^ & MASK(X & 1) % (COLFIL(COL) & MASK2(X & 1)) RETURN BYTE FUNC LOCATE10(BYTE X,Y) BYTE POINTER PIXEL BYTE ARRAY MASK= [240 15 ] PIXEL= LINEPT(Y)+(X RSH 1) RETURN((PIXEL^ & MASK(X & 1)) RSH (((X & 1) XOR 1) LSH 2)) PROC DRAWLINE(BYTE A,B,C) BYTE I FOR I=A TO 79-A DO PLOT10(I,B,C) PLOT10(I,191-B,C) OD RETURN PROC INIT() BYTE I,J,S GR10INIT() FOR I=0 TO NUM-1 DO X(I)=RAND(40) DO Y(I)=Rand(96) S=0 IF I=0 THEN EXIT FI FOR J=0 TO I-1 DO IF Y(I)=Y(J) THEN S=1 EXIT FI OD UNTIL S=0 OD C(I)=(I MOD 8)+1 DRAWLINE(X(I),Y(I),C(I)) XD(I)=(RAND(2)*2-1)*(Rand(3)+1) OD RETURN PROC SQUEEZE(BYTE N) BYTE A,I INT D D=XD(N) IF D<0 THEN D=-1 ELSE D=1 FI FOR I=1 TO (XD(N)/D) DO A=X(N)+D IF A>39 THEN XD(N)=-XD(N) EXIT FI IF D>0 THEN PLOT10(X(N),Y(N),0) PLOT10(79-X(N),Y(N),0) PLOT10(X(N),191-Y(N),0) PLOT10(79-X(N),191-Y(N),0) ELSE PLOT10(X(N),Y(N),C(N)) PLOT10(79-X(N),Y(N),C(N)) PLOT10(X(N),191-Y(N),C(N)) PLOT10(79-X(N),191-Y(N),C(N)) FI X(N)=A PLOT10(X(N),Y(N),C(N)) PLOT10(79-X(N),Y(N),C(N)) PLOT10(X(N),191-Y(N),C(N)) PLOT10(79-X(N),191-Y(N),C(N)) OD RETURN PROC PULSE() BYTE I,CH=764,AT=77,MS=19,LS=20 INTRO() DO NUM=Rand(6)+5 INIT() CH=255 AT=77 LS=0 MS=0 DO FOR I=0 TO NUM-1 DO SQUEEZE(I) OD UNTIL CH<>255 OR MS=4 OD UNTIL CH=12 OD CH=255 GRAPHICS(0) RETURN