***DRUM MACHINE ***::(:1:&A000 2930 <140 F220 P310 Z370 d430 n510 x610: *** REGISTER PRESERVE ***:K&B000,&F5,&C5,&D5,&E5,&DD,&E5,&FD,&E5,&2A,&79,&FB,&E5,&2A,&7B,&FB,&E5K&B010,&CD,&00,&A0,&E1,&22,&7B,&FB,&E1,&22,&79,&FB,&FD,&E1,&DD,&E1,&E1#&B020,&D1,&C1,&F1,&FB,&ED,&4D&B023,&FB,&ED,&4D: *** SET UP INTERRUPTS ***:K&A000,&2A,&21,&D0,&7E,&B7,&28,&32,&3D,&20,&04,&16,&00,&18,&0C,&3D,&20K&A010,&04,&16,&01,&18,&05,&3D,&20,&21,&16,&02,&CD,&39,&A0,&21,&23,&D0K&A020,&7A,&85,&6F,&46,&0E,&06,&CF,&B4,&23,&23,&23,&46,&0E,&0C,&CF,&B4K&A030,&23,&23,&23,&46,&0E,&0D,&CF,&B4,&C9,&23,&3E,&1F,&BD,&30,&02,&2E&A040,&00,&22,&21,&D0,&C9",:6 *** SET CTC ***@:J&FB06,&B000:TTEMP~&40:(&2A),&3F:(&2A),&20:(&2B),&DF:(&2B),TEMP^h:r *** SET UP DRUM ***|:-&D,00:6,&3F:7,&77:8,&10:&B,0:&C,06'&D023,&3F,0,&30,&0A,&1B,&20,0,0,0: *** INITIALIZE: A~0 r &1F At&D000,0 A &D021,&D000: *** SET UP SCREEN ***:@13,0;"DRUM MACHINE"@13,1;"____________"&@15,12;"Tempo= ";TEMP40@0,5;" : : : : :";0:" ::::::::::::::::::::::::::::::::"DX~6:@X,6;NX:b *** MAKE AND PLAY ***l:vK$~$:K~(K$) K~32 s PLAY~ PLAY:880 K~8 z X}6 s X~Xu1:K$; K~4 z X37 s X~Xt1:K$;M (K$~"." { K$~"1" {K$~"2" {K$~"3")z X38 s &D000tXu6,(K$):X~Xt1:K$;$ K$~"U" { K$~"u" s 760: 720$ K$~"D" { K$~"d" s 820: 720  630: *** PRINT NEW TEMPO ***:@21,12;(TEMP):@X,6:630: *** INCREASE TEMPO ***:( TEMP~TEMPuTEMPx16: TEMP1 s TEMP~1(&2B),&DF:(&2B),TEMP *:4 *** DECREASE TEMPO ***,HTEMP~TEMPtTEMPx16: TEMP}&FF s TEMP~&FFR(&2B),&DF:(&2B),TEMP\p *** ON/OFF ***+ PLAY s 930: &D021,&D000: 980! *** DISABLE INTERRUPTS *** &C000,&C9F3: &C000  *** ENABLE INTERRUPTS *** &C000,&C9FB: &C000g