1h COMMENT VIB1 ENTRY BMOVE #3 > L1 LOOP LOOP WADD #6> FREQ & SID,COFFSET WAIT BDEC L1 UNTIL EQUAL LOOP WAIT WSUB #6> FREQ & SID,COFFSET BINC L1 BTES L1<#6 UNTIL EQUAL FOREVER; BUZZ SLJ ENTRY LOOP WAIT WADD #400 > FREQ & SID,COFFSET WAIT WSUB #380 > FREQ&SID,COFFSET WAIT WSUB #380 > FREQ&SID,COFFSET WAIT WADD #400 > FREQ& SID,COFFSET FOREVER; GATE TOGGLE ; THE IDEA IS TO START THE DECAY ; CYCLE ON THE LAST BEAT, E.G. TO ; ALLOW SEQUENTIAL NOTES OF THE ; SAME FREQUENCY BOR #1 > CREG&SID+#4,COFFSET ;SET GATE BTEST #1>DUR WHEN NEQUAL LOOP WAIT BTEST #1>DUR UNTIL EQUAL WEND BAND #$FE > CREG&SID+#4,COFFSET;CLR GATE DONE; SWEEP THE PULSE LOOP WADD #40 > PWIDTH&SID+#2,COFFSET WAIT FOREVER; ; VIBRATO 2 ; ;LIKE NORMAL VIBRATO, BUT FREQUENCY ;WIDTH INCREASES IN TIME ; ;USES VARIABLES L1, L2, AND L0 ; ENTRY WMOVE #35 > L1 ;INIT SWEEP SIZE BMOVE #3 > L0 LOOP LOOP WAIT WADD L1 > FREQ & SID,COFFSET BINC L0 BTEST L0 > #6 UNTIL EQUAL LOOP WAIT WSUB L1 > FREQ & SID,COFFSET BTEST L0 > #4 WHEN EQU WADD #40 > L1 WEND BDEC L0 UNTIL EQUAL FOREVER;ARPEGGIO 1 ;STRATEGY: NOTE TABLE IS SUCH THAT ; HALF STEPS LIE IN EVEN SLOTS IN ; NOTE TABLE. THUS TO DO A MAJOR ; ARPEGGIO TAKE THE CURRENT NOTE ; AND ADD THE APPROPRIATE INTERVAL ; ;TO USE: LOAD L7 WITH THE DESIRED ; SPEED. ; ;USES VARIABLES G13,G14,G15 AND L7 ;SO ONLY ONE ARPEGGIO AT A TIME! ; DATA EMBED 2 ;NUMBER OF STEPS EMBED 8 6 10;STEP DIFFERENTIALS ENTRY LOOP BMOVE NOTE > G15 ;STARTING NOTE BMOVE #0 > G14 ;DATA INDEX LOOP ;NEW FREQUENCY DATA INTO SID BMOVE FLOTAB,G15 > SID,COFFSET BMOVE FHITAB,G15 > SID+#1,COFFSET BMOVE L7 > G13 LOOP ;DELAY SPEED WAIT BDEC G13 UNTIL EQUAL ;ADD OFFSET BADD DATA+#1,G14 > G15 BINC G14 BTEST G14 > DATA ;NUMBER OF STEPS UNTIL EQUAL FOREVER ; ; WOBBLE ; ; THIS MACRO WOBBLES BETWEEN A NOTE ; AND THE NEXT OCTAVE UP. ; ; USES: L2 L3 L4 L5 L6 ; WMOVE FREQ > L2 & L4 WADD L2 > L2 ;NEXT OCTAVE LOOP BMOVE #7 > L6 LOOP WAIT BDEC L6 UNTIL EQUAL LOOP WAIT WADD #144 > FREQ & SID,COFFSET WTEST FREQ < L2 UNTIL POS WMOVE L2 > SID,COFFSET BMOVE #21 > L6 LOOOP WAIT BDEC L6 UNTIL EQU ;RESTORE OLD VALUE WMOVE L4 > FREQ&SID,COFFSET FOREVE; ; 2-CHORD ; THE IDEA IS TO SIMULATE A CHORD ; BY SWITCHING BETWEEN TWO NOTES, ; MUCH LIKE THE ARPEGGIO MACRO BUT ; AT HIGH SPEED. ; ; (rEALLY JUST A HIGH SPEED TRILL. ; oNLY WORKS WELL FOR HIGH NOTES, ; LOWER NOTES NEED EXTRA WAITS) ; ; THE INTERVAL, I.E. THE VALUE TO ; ADD TO THE CURRENT NOTE, MUST ; BE PASSED IN VIA L2. ; DATA EMBED 00 ENTRY BMOVE L2 > L1 BADD NOTE > L1 LOOP WAIT BMOVE L1 > DATA BMOVE FLOTAB,DATA > SID,COFFSET BMOVE FHITAB,DATA > SID+#1,COFFSET WAIT BMOVE NOTE > DATA BMOVE FLOTAB,DATA > SID,COFFSET BMOVE FHITAB,DATA > SID+#1,COFFSET FOREVER ; ; rITARD ; ; tHE IDEA OF THIS MACRO IS TO SLOW ; DOWN THE MUSIC AT A UNIFORM RATE ; AS SPECIFIED IN g0. tHE SMALLER ; THE NUMBER, THE GREATER THE DELAY! ; ; tHIS MACRO MAKES A GOOD GLOBAL MACRO ; ; SLJ DATA EMBED 0 ENTRY LOOP BMOVE G0 > DATA LOOP WAIT BDEC DATA ;COUNT DOWN TO ZERO UNTIL EQUAL BINC $12FA ;iNCREMENT DURATIONS BINC $12FB BINC $12FC FOREVER EQU; ; A SIMPLE DRUM ; ; STARTING FROM THE CURRENT NOTE, ; IT PLAYS A SHORT SEQUENCE OF NOTES ; ; USES JUST ONE INTERNAL VARIABLE ; AND ONLY AT THE BEGINNING; ; COMMENT DRUM1 DATA EMBED $00 ;TEMPORARY VARIABLE! ENTRY BMOVE #168 > DATA ;24*7=HIGH OFFSET BADD NOTE > DATA BMOVE #00 > ATDK & SID+#5,COFFSET BMOVE #$F7 > SUREL & SID+#6,COFFSET BMOVE #$81 > CREG & SID+#4,COFFSET BMO FLOTAB,DATA > SID,COFFSET BMO FHITAB,DATA > SID+#1,COFFSET WAIT BMOVE #$11 > CREG & SID+#4,COFFSET WMOVE FREQ > SID,COFFSET ;OLD FREQ WAIT WAIT WAIT BMOVE #$80 > CREG & SID+#4,COFFSET BMO FLOTAB,DATA > SID,COFFSET BMO FHITAB,DATA > SID+#1,COFFSET DONE; ; BASS DRUM ; DATA EMBED 00 ;INDEX VARIABLE EMBED 00 ;SPARE VARIABLE EMBED 44 40 36 32 26 20 14 8 ENTRY BMOVE #00 > DATA BMOVE #$81 > CREG& SID+#4,COFFSET BMOVE #00 > ATDK & SID+#5,COFFSET BMOVE #$F7 > SUREL & SID+#6,COFFSET LOOP WAIT BMOVE #$11 > CREG&SID+#4,COFFSET BMOVE DATA+#2,DATA > DATA+#1 BMOVE FLOTAB,DATA+#1 > SID,COFFSET BMOVE FHITAB,DATA+#1 > SID+#1,COFFSET WAIT WAIT WAIT WAIT BINC DATA BTEST DATA > #8 UNTIL EQUAL BMOVE #$10 > CREG&SID+#4,COFFSET DONE; ; kEEP IN MIND THAT LEADING SPACES ; ARE IGNORED IN COMMENTS, AS WELL ; AS _ COMMENT *ADAGIO FROM SONATA FOR* COM VIOLIN AND PIANO, KV570 W.A.MOZART COM *SLJ 5/97*3hÖIBRATO 1 õhÂUZZ ±iÇATE DECAY ÚjÐULSE SWEEP $kÖIBRATO 2 »lÁRPEGGIO 1 ·o ¸o ¹o×OBBLE qq2-CHORD ¾sÒITARD ?u @u Au Bu Cu DuÓIMPLE ÄRUM àwÂASS DRUM Òy Óy Ôy Õy Öy ×yÁUTHOR ~z