By Deano

Programming Your Own STOS Demo

Anyone remember seeing the STOSSER demo which was put together and released a while ago by Martin Cubbit? A lot of STOS Programmers contributed to this demo and it was released as a two disk pack. But anyone can write a demo if they want and they don’t require lots of know how about Rasters and stuff. All you need is to produce something that looks nice. The examples below are my contributions to the STOSSER demo and while they are simple programming they actually look quite interesting.

This first Routine has the words SILLY SOFTWARE dancing in the background along with some VU bars moving in time with the music. It also has a star background and the words SILLY SOFTWARE shimmering underneath the VU bars. Looks like a lot of hard work but in fact it is’nt. Heres the routine.

10 key off : hide on : click off : flash off : curs off : mode 0
15 LE=12800 : F$="circus.MUS"
16 remreserve as work 2,LE : bload F$,2
20 P=palt(start(3)) : logic=back : wipe stars on : set stars 200,2,0,0,330,200,1,15
50 I=depack(start(2)) : A=musauto(start(2),1,LE) : S4=start(4) : S3=start(3)
60 rem START
70 go stars 0,1,logic
80 A=psg(8) : B=psg(9) : C=psg(10)
90 bob logic,S4,A,128,80,0 : bob logic,S4,B,152,80,0 : bob logic,S4,C,176,80,0
95 bob logic,S3,0,48,40-A,0 : bob logic,S3,1,64,40-B,0 : bob logic,S3,2,80,40-C,0 : bob logic,S3,2,96,40-A,0 : bob logic,S3,3,112,40-B,0 96 bob logic,S3,0,144,40-A,0 : bob logic,S3,4,160,40-B,0 : bob logic,S3,5,176,40-C,0 : bob logic,S3,6,192,40-A,0 : bob logic,S3,7,208,40-B,0 97 bob logic,S3,8,224,40-A,0 : bob logic,S3,9,240,40-B,0 : bob logic,S3,10,256,40-C,0
105 Z$=inkey$ : if Z$=" " then A=musauto(0,0,0) : fade 3 : wait 40 : default : end 106 reflect logic,20,70,logic,150
110 screen swap : wait vbl : goto 60

Thats all it is.....the words SILLY SOFTWARE are put on screen as bobs letter by letter and the STOS Psg command moves the letter up and down in time with the chip tune playing. Creating the shimmering affect is used with just one command.......refelect from the ML extension.

The routine below simply moves a multicoloured box around the screen whilst using VU bars to move in time with the music. Note that there is a long list of sentences in data statements. They are the data for the scroller in the demo.

10 curs off : palette 0,0,0,0,0,0,0,0,0,0,0 : hide on : key off : mode 0 : click off : disable mouse : break off 15 reserve as screen 4 : S4=start(4) : wipe S4
20 palette $0,$777,$577,$377,$177,$375,$573,$771,$750,$730,$700,$702,$703,$705,$727,$747
40 logic=back : A=0 : C=1 : dreg(0)=1 : call start(5) : loke $4DA,start(5)+8 : timer=0
50 X1=160+sin(A/21.6)*45
60 X2=160+sin(A/16.6)*45
70 Y1=58+cos(A/22.6)*40
80 Y2=58+cos(A/22.6)*40
90 ink C : C=(C mod 14)+2
95 CH1=psg(8) : CH2=psg(9) : CH3=psg(10)
100 fastcopy S4,back : bar X1,Y1 to X2,Y2-CH1
101 ink C : C=(C mod 14)+2
102 bar X1,Y1+40 to X2,Y2+40-CH2
103 ink C : C=(C mod 14)+2
104 bar X1,Y1+80 to X2,Y2+80-CH3
105 if TT=72 then TT=0 : restore 140
106 if timer>150 then read T$ : wipe S4 : logic=4 : locate 0,23 : centre T$ : logic=back : timer=0 : inc TT
110 screen swap
120 wait vbl : inc A
125 if inkey$=" " then loke $4DA,0 : call start(5)+4 : goto 65000
130 goto 50
140 data "GUTZEN TAG, VE GATE ES DIR HORTE","A NICE BIT OF GERMAN TO START THIS","DEMO OFF I THINK","I HOPE I SPELT IT RIGHT","WHAT IT ACTUALLY MEANS IS","GOOD
DAY, HOW ARE YOU TODAY","ANYWAY, ENOUGH OF THAT","THIS SMALL DEMO WAS PUT TOGETHER BY","MYSELF (DEANO), FOR THE STOSSER DEMO","TODAY IS THE 22ND OCTOBER 1994" ,"AND I HAVE BEEN RACKING MY BRAINS FOR","TWO HOURS TRYING TO THINK OF SOMETHING","I COULD DO AS A SCREEN FOR THIS DEMO"
150 data "I THINK I CAN SAFELY SAY THAT THIS","IS THE WORST SCREEN IN THE DEMO BECAUSE","I AM REALLY A GAMES PROGRAMMER AND NOT","TOO GOOD WITH DEMOS AS YOU CA N SEE","WELL IT IS A BIT SLOW IS'NT IT","WELL WHAT DO YOU EXPECT IN TWO HOURS?","AND NOW........SOME COMPLETE RUBBISH","I AM SOON TO TEAM UP WITH TONY GREENWOO D","TO PROGRAM DEMOS ON THE SPECTRUM 48K","HAR HAR DE HAR....AND A DIDDLE DE DUM"
160 data "THERES A LOT OF PEOPLE OUT THERE THAT","BELIEVE STOS IS JUST JERKY SPRITES","AND ANYTHING ELSE BAD","BUT IF YOU LOOK AT THESE DEMOS","EXCEPT THIS ONE
OF COURSE","YOU'LL SEE THAT ONE OR TWO SCREENS","ARE ACTUALLY QUITE GOOD","SO THIS JUST GOES TO SHOW","THAT SOME GOOD STUFF IS WRITTEN IN STOS","THERE ARE A F EW OLD STOS GAMES","THAT ARE CONSIDERED COMPLETE CRAP","IN THE PUBLIC DOMAIN","BUT THESE ARE OLD TITLES","WRITTEN BY BEGINNERS IN STOS"
170 data "BUT THESE DAYS, WITH THE HELP OF VARIOUS","EXTENSIONS LIKE THE MISSING LINK","STOS PROGRAMS CAN BE SOMETHING SPECIAL","NOTICE HOW I SAID PROGRAMS AND
NOT GAMES","THOUGH STOS IS BILLED AS A GAME CREATOR","IT CAN BE USED FOR ANY TYPE OF","PROGRAMMING, AS YOU SEE WITH THIS DEMO","IF YOU DON'T BELIEVE THAT STOS ","CAN PRODUCE SOMETHING SPECIAL NOWADAYS","THEN TRY THESE TWO GAMES","OZONE AND MULTI-PACKMAN","AND PREPARE TO BE IMPRESSED"
180 data "BEFORE I GO, A FEW GREETS","TONY GREENWOOD","KEEFY","MARTIN CUBITT","JAMES L MATHEWS","NEV WILSON","CHRIS SHARP","ANDY CATO"
190 data "KICKI OF T-5-T","TONESOFT","JAMIE ERRM, THINGY","STEVE DELANEY","MIKE GOODMAN","MERLIN PD","AULD BASTID","AND ALL IN THE ST WORLD","WELL THATS THE LO T FROM ME","I HOPE I'VE MISSED NOBODY OUT","WELL ITS TIME TO GO","HO HUM","THIS IS DEANO OF SILLY SOFTWARE SAYING","LETS DO THE TIME WRAP AGAIN"," "

And finally, here is a simuluar routine that moves and draws some colourful lines along a sin wave.

10 curs off : hide on : key off : mode 0
20 palette $0,$11,$577,$377,$177,$375,$573,$771,$750,$730,$700,$702,$703,$705,$727,$747
30 def scroll 1,64,16 to 256,200,0,8
40 logic=back : A=0 : C=1
50 X1=160+sin(A/21.6)*95
60 X2=160+sin(A/16.6)*95
70 Y1=58+cos(A/22.6)*40
80 Y2=58+cos(A/12.6)*40
90 ink C : C=(C mod 14)+2
100 draw X1,Y1 to X2,Y2
110 scroll 1 : screen swap
120 wait vbl : inc A
130 goto 50

So why not get those ideas into practise, and you may end up making your own STOSSER demo.