REM Music3.bas REM Plays Blackadder theme (!) REM Set Motor currents CURRENTRUN = 2000 CURRENTBOOST = 2500 CURRENTIDLE = 1000 BOOST = AUTO REM Set the units to 1 per motor step UNITS = 256 REM Define frequencies lowDsharp = 155.56 lowE = 164.81 lowF = 174.61 lowFsharp = 185.00 lowG = 196.0 lowGsharp = 207.65 lowA = 220.00 lowAsharp = 233.08 lowB = 246.94 C = 261.63 Csharp = 277.18 D = 293.66 Dsharp = 311.13 E = 329.63 F = 349.23 Fsharp = 369.99 G = 392.00 Gsharp = 415.30 A = 440.00 Asharp = 466.16 B = 493.88 highC = 523.25 highCsharp = 554.37 highD = 587.33 highDsharp = 622.25 highE = 659.26 highF = 698.46 highFsharp = 739.99 highG = 783.99 REM Set basic bar length bar = 2000 REM Play the tune REM 8d1 4.g1 8d1 8g1 8d1 8g1 8b1 2.d2 8- 8a1 4.c2 8a1 8c2 8b1 8a1 8g1 2g1 4#f1 4d1 4.g1 8d1 8g1 8d1 8g1 8b1 2.d2 8- ENERGISE = ON JOG = D WAIT (bar/8) JOG = G WAIT (3*bar/8) JOG = D WAIT (bar/8) JOG = G WAIT (bar/8) JOG = D WAIT (bar/8) JOG = G WAIT (bar/8) JOG = B WAIT (bar/8) JOG = highD WAIT (3*bar/4) STOP WAIT (bar/8) JOG = A WAIT (bar/8) JOG = highC WAIT (3*bar/8) JOG = A WAIT (bar/8) JOG = highC WAIT (bar/8) JOG = B WAIT (bar/8) JOG = A WAIT (bar/8) JOG = G WAIT (bar/8) STOPRAPID JOG = G WAIT (bar/2) JOG = Fsharp WAIT (bar/4) JOG = D WAIT (bar/4) JOG = G WAIT (3*bar/8) JOG = D WAIT (bar/8) JOG = G WAIT (bar/8) JOG = D WAIT (bar/8) JOG = G WAIT (bar/8) JOG = B WAIT (bar/8) JOG = highD WAIT (3*bar/4) STOP WAIT (bar/8) REM 8a1 4.c2 8a1 8c2 8b1 8a1 8g1 2g1 4#f1 4d2 2d2 4b1 4d2 2d2 4g1 4g1 4a1 4b1 4c2 4b1 2.a1 JOG = A WAIT (bar/8) JOG = highC WAIT (3*bar/8) JOG = A WAIT (bar/8) JOG = highC WAIT (bar/8) JOG = B WAIT (bar/8) JOG = A WAIT (bar/8) JOG = G WAIT (bar/8) STOPRAPID JOG = G WAIT (bar/2) JOG = Fsharp WAIT (bar/4) JOG = highD WAIT (bar/4) STOPRAPID JOG = highD WAIT (bar/2) JOG = B WAIT (bar/4) JOG = highD WAIT (bar/4) STOPRAPID JOG = highD WAIT (bar/2) JOG = G WAIT (bar/4) STOP JOG = G WAIT (bar/4) JOG = A WAIT (bar/4) JOG = B WAIT (bar/4) JOG = highC WAIT (bar/4) JOG = B WAIT (bar/4) JOG = A WAIT (3*bar/4) REM 4d2 2d2 4b1 4d2 2d2 4g1 4g1 4a1 4b1 4c2 4e2 2.g2 JOG = highD WAIT (bar/4) STOPRAPID JOG = highD WAIT (bar/2) JOG = B WAIT (bar/4) JOG = highD WAIT (bar/4) STOP JOG = highD WAIT (bar/2) JOG = G WAIT (bar/4) STOPRAPID JOG = G WAIT (bar/4) JOG = A WAIT (bar/4) JOG = B WAIT (bar/4) JOG = highC WAIT (bar/4) JOG = highE WAIT(bar/4) JOG = highG WAIT (3*bar/4) STOP ENERGISE = OFF END REM Called if program aborts DEFHALT ENERGISE = OFF END ENDHALT