DEFINT A-Z DECLARE SUB SetPal (colour%, red%, green%, blue%) CLS SCREEN 13 x = 0 y = 0 c = 1 MaxCol = 0 ' Change this for different patterns (Min=1, Max=256, ' Random Colors = 0) DO SELECT CASE MaxCol CASE 0 c = 1 + INT(RND(1) * 256) CASE ELSE c = c + 1 IF c > MaxCol THEN c = 1 END SELECT PSET (x, y), c x = x + 1 IF x > 320 THEN x = 0: y = y + 1 IF y > 199 THEN GOTO CrazyP: LOOP CrazyP: DO c = c + 1 IF c > 256 THEN c = 1 SetPal c, r%, 0, r% r% = INT(RND(1) * 63) INKEYy$ = INKEY$ LOOP UNTIL INKEYy$ <> "" OR INKEYy$ = CHR$(27) IF INKEYy$ = CHR$(27) THEN SYSTEM: END GOTO CrazyR: CrazyR: DO c = c + 1 IF c > 256 THEN c = 1 SetPal c, r%, 0, 0 r% = INT(RND(1) * 63) INKEYy$ = INKEY$ LOOP UNTIL INKEYy$ <> "" OR INKEYy$ = CHR$(27) IF INKEYy$ = CHR$(27) THEN SYSTEM: END GOTO CrazyB: CrazyB: DO c = c + 1 IF c > 256 THEN c = 1 SetPal c, 0, 0, r% r% = INT(RND(1) * 63) INKEYy$ = INKEY$ LOOP UNTIL INKEYy$ <> "" OR INKEYy$ = CHR$(27) IF INKEYy$ = CHR$(27) THEN SYSTEM: END GOTO CrazyG: CrazyG: DO c = c + 1 IF c > 256 THEN c = 1 SetPal c, 0, r%, 0 r% = INT(RND(1) * 63) INKEYy$ = INKEY$ LOOP UNTIL INKEYy$ <> "" OR INKEYy$ = CHR$(27) IF INKEYy$ = CHR$(27) THEN SYSTEM: END GOTO CrazyLB: CrazyLB: DO c = c + 1 IF c > 256 THEN c = 1 SetPal c, 0, r%, r% r% = INT(RND(1) * 63) INKEYy$ = INKEY$ LOOP UNTIL INKEYy$ <> "" OR INKEYy$ = CHR$(27) IF INKEYy$ = CHR$(27) THEN SYSTEM: END GOTO CrazyY: CrazyY: DO c = c + 1 IF c > 256 THEN c = 1 SetPal c, r%, r%, 0 r% = INT(RND(1) * 63) INKEYy$ = INKEY$ LOOP UNTIL INKEYy$ <> "" OR INKEYy$ = CHR$(27) IF INKEYy$ = CHR$(27) THEN SYSTEM: END GOTO CrazyP: SUB SetPal (colour%, red%, green%, blue%) OUT &H3C8, colour% OUT &H3C9, red% OUT &H3C9, green% OUT &H3C9, blue% END SUB