rem spiral IM-1 club tape 4 program 3
1  REM  SPIRAL II ... BY DON SCHMIDT... 
2  POKE 24578,38: REM  MOTOR STOP
3 :
10  GOTO 500: REM   TO   MAIN PGM
11 :
50  FOR P=1 TO K: REM    DOWN
60  POKE B+(P*32)+1,C: POKE B+(P*32),C
70  NEXT P:B=B+(K*32): RETURN 
75 :
100  FOR P=1 TO 2*K+1: REM  RIGHT
110  POKE B+P,C
120  NEXT P:B=B+(2*K): RETURN 
125 :
150  FOR P=1 TO K: REM  UP
160  POKE B-(P*32),C: POKE B-(P*32)+1,C
170  NEXT P:B=B-(2*K): RETURN 
175 :
200  FOR P=1 TO (2*K): REM  LEFT
210  POKE B-P,C
220  NEXT P:B=B-(2*K): RETURN 
225 :
235 :
500  REM   
505  REM  SET STARTING POSITION  AND BASE ADDRESS
510  INPUT "ONE OR TWO SPIRALS? (1/2) ",S
520 S1=512+(7*32)+14:B1=S1:B=S1
530  IF S=2 THEN S2=S1+34:B2=S2
540  CALL 17046
545  REM  SET  COLOR  / SHAPE  LOOP
550  FOR C=143 TO 255 STEP 16
551 C1=C:C2=C+32: IF C2>255 THEN C2=C2-128
555  POKE S1,C1: POKE S1+1,C1
560  IF S=2 THEN  POKE S2,C2: POKE S2+1,C2
565  REM  SET UP  FOR    SPIRAL LOOP
570  FOR K=2 TO 16 STEP 2
580  IF K=16 THEN K=15
590 C=C1:B=B1: GOSUB 50:B1=B
595  IF S=2 THEN C=C2:B=B2: GOSUB 150:B2=B
600 C=C1:B=B1: GOSUB 100:B1=B
605  IF S=2 THEN C=C2:B=B2: GOSUB 200:B2=B
610 K=K+2:C=C1:B=B1: GOSUB 150:B1=B
615  IF S=2 THEN C=C2:B=B2: GOSUB 50:B2=B
620 C=C1:B=B1: GOSUB 100:B1=B
625  IF S=2 THEN C=C2:B=B2 GOSUB 100:B2=B
630  NEXT K:C=C1
635 B1=S1:B2=S2:B=B1: NEXT C: STOP 
