@UncleClive
10 CLS
20 LET x=128: LET y=88
30 LET x=x/175: LET y=y/175
40 LET r=INT (RND*4)
50 IF r=0 THEN GO SUB 300
60 IF r=1 THEN GO SUB 400
70 IF r=2 THEN GO SUB 500
80 IF r=3 THEN GO SUB 600
90 PLOT x,y
100 GO TO 30
300 LET tx=x*120+y*30+20
310 LET y=x*-50+y*110+60
320 LET x=tx
330 RETURN
400 LET tx=y*-60+70
410 LET y=x*80
420 LET x=tx
430 RETURN
500 LET tx=y*60+70
510 LET y=x*80
520 LET x=tx
530 RETURN
600 LET tx=70
610 LET y=x*80+y*50
620 LET x=tx
630 RETURN
1000 REM Last one of the night
@darkling Here's a video of your Speccy BASIC program!
#zxspectrum
#UncleClive

@popey This one only seems to be doing the first few seconds of the program.

It'll run forever, so a time limit is definitely required, but a minute's run on the emulator definitely produces more pixels than that.

@darkling Yeah, my freeze detection code is broken. It sometimes works and returns numbers, but sometimes returns 'size=N/A' which very much isn't a float.

Gonna tidy the code up and chuck it on github, so it's not dependent on my brain at 1am :D