REM IM 1 IN A MILLION CLUB TAPE 9
REM GRAPHIC PROGRAM BY GLENN JONES
0  REM   "THIS PROGRAM WAS SUBMITTED BY GLENN JONES AND WILL BE A GREAT HELP FOR HI-RES"
1  CALL 17046
2  PRINT "WITH THIS PROGRAM YOU WILL BE   ABLE TO BUILD MODE 1 HI-RES     SHAPES AND THEN DISPLAY THEM."
3  PRINT "THIS PROGRAM IS SET UP TOO USE  JUST ONE SET OF THE COLORS AVAILABLE BUT CAN BE CHANGED TO USE  ALL"
4  PRINT "WHEN IT ASKS FOR THE BYTE IT    NEEDS THE FOUR COLORS YOU WANT  IN THAT BYTE OF THE SHAPE."
5  INPUT "HIT RETURN",NS: PRINT "YOU CAN ONLY USE G = GREEN, Y = YELLOW, B = BLUE AND R = RED."
6  PRINT "AFTER YOU KEY IN THE ALL 16     BYTES IT WILL DISPLAY THE CHAR- ACTER THAT YOU HAVE BUILT."
7  PRINT "TO RETURN TO THE PROGRAM HOLD   'RETURN' AND IT WILL PRINT OUT  THE DECIMAL VALUES FOR THE SHAPE"
8  PRINT "AND THESE CAN BE PUT IN A DATA  STATMENT TO USE IN YOUR PROGRAM.IF THE OTHER COLORS ARE WANTED"
9  PRINT "JUST ADD 64 TO EACH BYTE.": INPUT "HIT RETURN",NS
10  POKE 24578,38: CALL 17046: DIM L(4),S(63),BG$(1),B$(3)
12  INPUT "HOW MANY SHAPES (1-4) ",NS: PRINT : PRINT 
13  FOR Z=1 TO NS: PRINT "SCREEN LOC. FOR SH #";Z;" (0-383)";: INPUT L(Z): NEXT 
15  PRINT "WHAT COLOR OF BACKGROUND:": PRINT "   GREEN  (G)": PRINT "   YELLOW (Y)": PRINT "   BLUE   (B)": PRINT "   RED    (R) ";: INPUT BG$
16  IF BG$(0)="Y" THEN BG=85: GOTO 20
17  IF BG$(0)="B" THEN BG=170: GOTO 20
18  IF BG$(0)="R" THEN BG=255: GOTO 20
19 BG=0: IF BG$(0)<>"G" THEN 15
20  FOR Y=1 TO NS: CALL 17046: PRINT "SHAPE # ";Y: FOR Z=Y*16-16 TO Y*16-1:B$="    "
21 BN=Z: GOSUB 3000: PRINT "BYTE ";BN;"= ";: INPUT B$
30 R=0: IF B$(0)="G" THEN 35
31  IF B$(0)="Y" THEN R=R+64: GOTO 35
32  IF B$(0)="B" THEN R=R+128: GOTO 35
33  IF B$(0)="R" THEN R=R+192: GOTO 35
34  GOTO 55
35  IF B$(1)="G" THEN 40
36  IF B$(1)="Y" THEN R=R+16: GOTO 40
37  IF B$(1)="B" THEN R=R+32: GOTO 40
38  IF B$(1)="R" THEN R=R+48: GOTO 40
39  GOTO 55
40  IF B$(2)="G" THEN 45
41  IF B$(2)="Y" THEN R=R+4: GOTO 45
42  IF B$(2)="B" THEN R=R+8: GOTO 45
43  IF B$(2)="R" THEN R=R+12: GOTO 45
44  GOTO 55
45  IF B$(3)="G" THEN 50
46  IF B$(3)="Y" THEN R=R+1: GOTO 50
47  IF B$(3)="B" THEN R=R+2: GOTO 50
48  IF B$(3)="R" THEN R=R+3: GOTO 50
49  GOTO 55
50 S(Z)=R: NEXT : NEXT : GOTO 80
55  PRINT "INCORRECT--TRY AGAIN": GOTO 21
80  POKE 8193,60: POKE 8194,158
85  FOR Z=512 TO 527: POKE Z,BG: NEXT 
90  FOR Z=528 TO 528+16*NS-1: POKE Z,S(Z-528): NEXT 
100  FOR I=0 TO 383: POKE I,0: NEXT 
110  FOR I=1 TO NS: POKE L(I),I: NEXT 
200  IF  KEY$ (0)="" THEN 200
201  POKE 8194,30
2000  PRINT : PRINT "SHAPE 1": FOR J=0 TO 15: PRINT S(J);",";: NEXT : IF NS<2 THEN 4000
2002  PRINT : PRINT "SHAPE 2": FOR J=16 TO 31: PRINT S(J);",";: NEXT : IF NS<3 THEN 4000
2004  PRINT : PRINT "SHAPE 3 : ": FOR J=32 TO 47: PRINT S(J);",";: NEXT : IF NS<4 THEN 4000
2006  PRINT : PRINT "SHAPE 4 : ": FOR J=48 TO 63: PRINT S(J);",";: NEXT : GOTO 4000
3000  IF BN>15 THEN BN=BN-16: GOTO 3000
3001  RETURN 
4000  PRINT : PRINT "1-NEW","2-DISPLAY","3-STOP";: INPUT Q: ON Q GOTO 12,80,9000,4000
9000  END 
