## Merry Christmas and a happy 2020!

General project related announcements and discussions. Events, other retro systems, the forum itself...
marcelk
Posts: 490
Joined: 13 May 2018, 08:26

### Merry Christmas and a happy 2020!

Snow.png (32.31 KiB) Viewed 1943 times

Code: Select all

``````'Falling snow flakes
'N must be 6*n+1 or 6*n-1
10 N=19
20 C=63:D=16:I=1:W=159
30 poke42,D:cls
40 poke43,72:at32,96
50 ?"Merry Christmas!";
60 at0,119:line W,0
70 forS=1toN:Y(S)=0:nextS
80 for S=1 to N
90 if Y(S)>0 goto 120
100 X(S)=2+rnd(W-3)
110 Y(S)=(8+rnd(60))*256
120 Y=Y(S)+256
130 X=X(S)+I:I=I+J:J=J-I
140 ifpeek(Y+X)>C goto190
150 poke Y(S)+X(S),D
160 poke X+Y,C
170 X(S)=X:Y(S)=Y
180 nextS:goto 80
190 X=X(S)
200 ifpeek(X+Y)=D goto150
210 poke Y(S)+X(S),C+64
220 Y(S)=0:nextS:goto 80
``````
P.S: Can't wait to see what this will look like in at67's upcoming BASIC compiler (and with larger N).

at67
Posts: 205
Joined: 14 May 2018, 08:29

### Re: Merry Christmas and a happy 2020!

Seasons greetings everyone.

https://streamable.com/5ds9d

The slightly modified code for the compiler, (the midi track was auto generated by gtmidi) :

Code: Select all

``````'Falling snow flakes
'N must be 6*n+1 or 6*n-1
const N=127

10 dim X(N)=0 : dim Y(N)=0
20 C=63 : D=16 : I=1 : J=0 : W=159
30 poke 162,D : cls
40 poke 163,72 : at 32,96
50 print "Merry Christmas!";
60 at 0,119 : line W,0
70 play midi &h08a0,3
80 for S=0 to N
90 play midi : if Y(S)>0 then goto 120
100 X(S)=2+rnd(W-3)
110 Y(S)=(8+rnd(60)) LSL 8
120 y=Y(S)+256
130 x=X(S)+I : I=I+J : J=J-I
140 if peek(y+x)>C then goto 190
150 poke Y(S)+X(S),D
160 poke x+y,C
170 X(S)=x : Y(S)=y
180 next S : goto 80
190 x=X(S)
200 if peek(x+y)=D then goto 150
210 poke Y(S)+X(S),C+64
220 Y(S)=0 : goto 180

def byte(&h08a0) =  &h90, &h3e, &h91, &h3b, &h92, &h2b, &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h45, &h92, &h37,
def byte         =  &h11, &h90, &h43, &h92, &h32, &h12, &h90, &h3e, &h91, &h3b, &h92, &h2b, &h11, &h92, &h32, &h11,
def byte         =  &h92, &h37, &h11, &h90, &h3e, &h92, &h32, &h09, &h90, &h3e, &h08, &h90, &h3e, &h91, &h3b, &h92,
def byte         =  &h2b, &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h45, &h92, &h37, &h12, &h90, &h43, &h92, &h32,
def byte         =  &h11, &h90, &h40, &h91, &h3c, &h92, &h30, &h11, &h92, &h34, &h11, &h92, &h37, &h11, &h92, &h34,
def byte         =  &h11, &h90, &h40, &h91, &h3c, &h92, &h2d, &h11, &h90, &h48, &hd0, &ha0, &h09,

def byte(&h09a0) =  &h92, &h34, &h12,
def byte         =  &h90, &h47, &h92, &h39, &h11, &h90, &h45, &h92, &h34, &h11, &h90, &h42, &h91, &h3e, &h92, &h32,
def byte         =  &h11, &h92, &h36, &h11, &h92, &h39, &h11, &h92, &h36, &h11, &h90, &h4a, &h91, &h42, &h92, &h32,
def byte         =  &h12, &h90, &h4a, &h92, &h36, &h11, &h90, &h48, &h91, &h42, &h92, &h39, &h11, &h90, &h45, &h92,
def byte         =  &h32, &h11, &h90, &h47, &h91, &h43, &h92, &h2b, &h11, &h92, &h32, &h11, &h92, &h37, &h11, &h92,
def byte         =  &h32, &h12, &h90, &h3e, &h91, &h3b, &h92, &h2b, &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h45,
def byte         =  &h92, &h37, &h11, &h90, &h43, &hd0, &ha0, &h0a,

def byte(&h0aa0) =  &h92, &h32, &h11, &h90, &h3e, &h91, &h3b, &h92,
def byte         =  &h2b, &h11, &h92, &h32, &h11, &h92, &h37, &h12, &h90, &h3e, &h92, &h32, &h08, &h90, &h3e, &h09,
def byte         =  &h90, &h3e, &h91, &h3b, &h92, &h2b, &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h45, &h92, &h37,
def byte         =  &h11, &h90, &h43, &h92, &h32, &h11, &h90, &h40, &h91, &h3c, &h92, &h30, &h11, &h92, &h34, &h12,
def byte         =  &h92, &h37, &h11, &h92, &h34, &h11, &h90, &h40, &h91, &h3c, &h92, &h2d, &h11, &h90, &h48, &h92,
def byte         =  &h34, &h11, &h90, &h47, &h92, &h39, &h11, &h90, &h45, &h92, &h34, &h11, &h90, &h4a, &hd0, &ha0,
def byte         =  &h0b,

def byte(&h0ba0) =  &h91, &h43, &h92, &h2f, &h12, &h90, &h4a, &h92, &h32, &h11, &h90, &h4a, &h91, &h43, &h92,
def byte         =  &h37, &h11, &h90, &h4a, &h92, &h32, &h11, &h90, &h4c, &h91, &h42, &h92, &h2d, &h11, &h90, &h4a,
def byte         =  &h92, &h32, &h11, &h90, &h48, &h91, &h42, &h92, &h36, &h11, &h90, &h45, &h92, &h32, &h12, &h90,
def byte         =  &h43, &h91, &h3e, &h92, &h2b, &h11, &h92, &h32, &h11, &h90, &h4a, &h91, &h43, &h92, &h37, &h22,
def byte         =  &h90, &h43, &h91, &h47, &h92, &h2b, &h11, &h90, &h43, &h91, &h47, &h11, &h91, &h43, &h90, &h47,
def byte         =  &h12, &h92, &h32, &h11, &h90, &h43, &h91, &h47, &hd0, &ha0, &h0c,

def byte(&h0ca0) =  &h92, &h37, &h11, &h90, &h43,
def byte         =  &h91, &h47, &h11, &h91, &h43, &h90, &h47, &h11, &h92, &h32, &h11, &h90, &h47, &h91, &h43, &h92,
def byte         =  &h2b, &h11, &h90, &h4a, &h92, &h32, &h12, &h90, &h43, &h91, &h40, &h92, &h30, &h93, &h34, &h19,
def byte         =  &h90, &h45, &h09, &h90, &h47, &h91, &h3e, &h92, &h2b, &h83, &h11, &h92, &h32, &h11, &h92, &h37,
def byte         =  &h22, &h90, &h48, &h91, &h40, &h92, &h30, &h12, &h90, &h48, &h91, &h40, &h92, &h34, &h11, &h90,
def byte         =  &h48, &h91, &h40, &h92, &h37, &h11, &h92, &h34, &h08, &h90, &h48, &h09, &h90, &h48, &h91, &h3e,
def byte         =  &h92, &h2f, &hd0, &ha0, &h0d,

def byte(&h0da0) =  &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h47, &h91, &h3e, &h92,
def byte         =  &h37, &h11, &h90, &h47, &h92, &h32, &h09, &h90, &h47, &h09, &h90, &h47, &h91, &h3d, &h92, &h2d,
def byte         =  &h11, &h90, &h45, &h92, &h34, &h11, &h90, &h45, &h91, &h3d, &h92, &h39, &h11, &h90, &h47, &h92,
def byte         =  &h34, &h11, &h90, &h45, &h91, &h3e, &h92, &h32, &h11, &h92, &h36, &h11, &h90, &h4a, &h91, &h42,
def byte         =  &h92, &h39, &h12, &h92, &h36, &h11, &h90, &h43, &h91, &h47, &h92, &h2b, &h11, &h90, &h43, &h91,
def byte         =  &h47, &h11, &h91, &h43, &h90, &h47, &h11, &h92, &h32, &h11, &h90, &h43, &hd0, &ha0, &h0e,

def byte(&h0ea0) =  &h91,
def byte         =  &h47, &h92, &h37, &h11, &h90, &h43, &h91, &h47, &h12, &h91, &h43, &h90, &h47, &h11, &h92, &h32,
def byte         =  &h11, &h90, &h47, &h91, &h43, &h92, &h2b, &h11, &h90, &h4a, &h92, &h32, &h11, &h90, &h43, &h91,
def byte         =  &h40, &h92, &h30, &h93, &h34, &h1a, &h90, &h45, &h08, &h90, &h47, &h91, &h3e, &h92, &h2b, &h83,
def byte         =  &h12, &h92, &h32, &h11, &h92, &h37, &h22, &h90, &h48, &h91, &h40, &h92, &h30, &h11, &h90, &h48,
def byte         =  &h91, &h40, &h92, &h34, &h11, &h90, &h48, &h91, &h40, &h92, &h37, &h11, &h92, &h34, &h09, &h90,
def byte         =  &h48, &h09, &h90, &h48, &h91, &h3e, &hd0, &ha0, &h0f,

def byte(&h0fa0) =  &h92, &h2f, &h11, &h90, &h47, &h92, &h32,
def byte         =  &h11, &h90, &h47, &h91, &h3e, &h92, &h37, &h11, &h90, &h47, &h92, &h32, &h09, &h90, &h47, &h08,
def byte         =  &h90, &h4a, &h91, &h42, &h92, &h2d, &h11, &h90, &h4a, &h92, &h32, &h11, &h90, &h48, &h91, &h3e,
def byte         =  &h92, &h36, &h12, &h90, &h45, &h92, &h32, &h11, &h90, &h43, &h91, &h3b, &h92, &h2b, &h11, &h92,
def byte         =  &h32, &h11, &h92, &h37, &h22, &h90, &h3e, &h91, &h3b, &h92, &h2b, &h11, &h90, &h47, &h92, &h32,
def byte         =  &h12, &h90, &h45, &h92, &h37, &h11, &h90, &h43, &h92, &h32, &h11, &h90, &h3e, &h91, &h3b, &h92,
def byte         =  &h2b, &hd0, &ha0, &h10,

def byte(&h10a0) =  &h11, &h92, &h32, &h11, &h92, &h37, &h11, &h90, &h3e, &h92, &h32, &h09,
def byte         =  &h90, &h3e, &h08, &h90, &h3e, &h91, &h3b, &h92, &h2b, &h12, &h90, &h47, &h92, &h32, &h11, &h90,
def byte         =  &h45, &h92, &h37, &h11, &h90, &h43, &h92, &h32, &h11, &h90, &h40, &h91, &h3c, &h92, &h30, &h11,
def byte         =  &h92, &h34, &h11, &h92, &h37, &h11, &h92, &h34, &h12, &h90, &h40, &h91, &h3c, &h92, &h2d, &h11,
def byte         =  &h90, &h48, &h92, &h34, &h11, &h90, &h47, &h92, &h39, &h11, &h90, &h45, &h92, &h34, &h11, &h90,
def byte         =  &h42, &h91, &h3e, &h92, &h32, &h11, &h92, &h36, &h11, &h92, &h39, &hd0, &ha0, &h11,

def byte(&h11a0) =  &h12, &h92,
def byte         =  &h36, &h11, &h90, &h4a, &h91, &h42, &h92, &h32, &h11, &h90, &h4a, &h92, &h36, &h11, &h90, &h48,
def byte         =  &h91, &h42, &h92, &h39, &h11, &h90, &h45, &h92, &h32, &h11, &h90, &h47, &h91, &h43, &h92, &h2b,
def byte         =  &h11, &h92, &h32, &h12, &h92, &h37, &h11, &h92, &h32, &h11, &h90, &h3e, &h91, &h3b, &h92, &h2b,
def byte         =  &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h45, &h92, &h37, &h11, &h90, &h43, &h92, &h32, &h11,
def byte         =  &h90, &h3e, &h91, &h3b, &h92, &h2b, &h12, &h92, &h32, &h11, &h92, &h37, &h11, &h90, &h3e, &h92,
def byte         =  &h32, &h08, &h90, &h3e, &hd0, &ha0, &h12,

def byte(&h12a0) =  &h09, &h90, &h3e, &h91, &h3b, &h92, &h2b, &h11, &h90,
def byte         =  &h47, &h92, &h32, &h11, &h90, &h45, &h92, &h37, &h11, &h90, &h43, &h92, &h32, &h12, &h90, &h40,
def byte         =  &h91, &h3c, &h92, &h30, &h11, &h92, &h34, &h11, &h92, &h37, &h11, &h92, &h34, &h11, &h90, &h40,
def byte         =  &h91, &h3c, &h92, &h2d, &h11, &h90, &h48, &h92, &h34, &h11, &h90, &h47, &h92, &h39, &h12, &h90,
def byte         =  &h45, &h92, &h34, &h11, &h90, &h4a, &h91, &h43, &h92, &h2f, &h11, &h90, &h4a, &h92, &h32, &h11,
def byte         =  &h90, &h4a, &h91, &h43, &h92, &h37, &h11, &h90, &h4a, &h92, &h32, &h11, &h90, &h4c, &hd0, &ha0,
def byte         =  &h13,

def byte(&h13a0) =  &h91, &h42, &h92, &h2d, &h11, &h90, &h4a, &h92, &h32, &h12, &h90, &h48, &h91, &h42, &h92,
def byte         =  &h36, &h11, &h90, &h45, &h92, &h32, &h11, &h90, &h43, &h91, &h3e, &h92, &h2b, &h11, &h92, &h32,
def byte         =  &h11, &h90, &h4a, &h91, &h43, &h92, &h37, &h22, &h90, &h43, &h91, &h47, &h92, &h2b, &h12, &h90,
def byte         =  &h43, &h91, &h47, &h11, &h91, &h43, &h90, &h47, &h11, &h92, &h32, &h11, &h90, &h43, &h91, &h47,
def byte         =  &h92, &h37, &h11, &h90, &h43, &h91, &h47, &h11, &h91, &h43, &h90, &h47, &h11, &h92, &h32, &h12,
def byte         =  &h90, &h47, &h91, &h43, &h92, &h2b, &h11, &h90, &h4a, &hd0, &ha0, &h14,

def byte(&h14a0) =  &h92, &h32, &h11, &h90,
def byte         =  &h43, &h91, &h40, &h92, &h30, &h93, &h34, &h1a, &h90, &h45, &h08, &h90, &h47, &h91, &h3e, &h92,
def byte         =  &h2b, &h83, &h11, &h92, &h32, &h11, &h92, &h37, &h23, &h90, &h48, &h91, &h40, &h92, &h30, &h11,
def byte         =  &h90, &h48, &h91, &h40, &h92, &h34, &h11, &h90, &h48, &h91, &h40, &h92, &h37, &h11, &h92, &h34,
def byte         =  &h09, &h90, &h48, &h08, &h90, &h48, &h91, &h3e, &h92, &h2f, &h11, &h90, &h47, &h92, &h32, &h12,
def byte         =  &h90, &h47, &h91, &h3e, &h92, &h37, &h11, &h90, &h47, &h92, &h32, &h08, &h90, &h47, &h09, &h90,
def byte         =  &h47, &h91, &h3d, &hd0, &ha0, &h15,

def byte(&h15a0) =  &h92, &h2d, &h11, &h90, &h45, &h92, &h34, &h11, &h90, &h45,
def byte         =  &h91, &h3d, &h92, &h39, &h11, &h90, &h47, &h92, &h34, &h11, &h90, &h45, &h91, &h3e, &h92, &h32,
def byte         =  &h12, &h92, &h36, &h11, &h90, &h4a, &h91, &h42, &h92, &h39, &h11, &h92, &h36, &h11, &h90, &h43,
def byte         =  &h91, &h47, &h92, &h2b, &h11, &h90, &h43, &h91, &h47, &h11, &h91, &h43, &h90, &h47, &h11, &h92,
def byte         =  &h32, &h12, &h90, &h43, &h91, &h47, &h92, &h37, &h11, &h90, &h43, &h91, &h47, &h11, &h91, &h43,
def byte         =  &h90, &h47, &h11, &h92, &h32, &h11, &h90, &h47, &h91, &h43, &h92, &h2b, &hd0, &ha0, &h16,

def byte(&h16a0) =  &h11,
def byte         =  &h90, &h4a, &h92, &h32, &h11, &h90, &h43, &h91, &h40, &h92, &h30, &h93, &h34, &h1a, &h90, &h45,
def byte         =  &h09, &h90, &h47, &h91, &h3e, &h92, &h2b, &h83, &h11, &h92, &h32, &h11, &h92, &h37, &h22, &h90,
def byte         =  &h48, &h91, &h40, &h92, &h30, &h11, &h90, &h48, &h91, &h40, &h92, &h34, &h12, &h90, &h48, &h91,
def byte         =  &h40, &h92, &h37, &h11, &h92, &h34, &h08, &h90, &h48, &h09, &h90, &h48, &h91, &h3e, &h92, &h2f,
def byte         =  &h11, &h90, &h47, &h92, &h32, &h11, &h90, &h47, &h91, &h3e, &h92, &h37, &h11, &h90, &h47, &h92,
def byte         =  &h32, &h09, &h90, &h47, &h08, &h90, &h4a, &hd0, &ha0, &h17,

def byte(&h17a0) =  &h91, &h42, &h92, &h2d, &h12, &h90,
def byte         =  &h4a, &h92, &h32, &h11, &h90, &h48, &h91, &h3e, &h92, &h36, &h11, &h90, &h45, &h92, &h32, &h11,
def byte         =  &h90, &h43, &h91, &h3b, &h92, &h2b, &h11, &h92, &h32, &h11, &h92, &h37, &h23, &h80, &h81, &h82,
def byte         =  &hd0, &ha0, &h08,
``````