home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Garfield In Game Music And FX(ST) / Lowe_GarfieldInGameMusicAndFX(ST).adf / eliteIItn.s < prev    next >
Encoding:
Text File  |  2000-01-01  |  104.8 KB  |  6,598 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.     ;         ELITEII/FRONTIERS TEST SOURCE
  7.  
  8.  
  9.     ; DAVID
  10.     ;The place to insert your call for a new song
  11.     ; is called song_select
  12.     ; all the tunes branch there on ending except
  13.     ; The title tune now has a section tagged on the front
  14.     ; that runs straight into the main piece....song 10
  15.     ; it fades itself in
  16.     ; and plays for app. 23 seconds......
  17.  
  18.     ; you can still run tune 2 on its own if you wish
  19.     ; using song 2
  20.     ; An fx that is retriggered before it ends a previous
  21.     ; call is now only turned off in the interrupt section
  22.     ; so it should cure the click problem on the lazers etc.
  23.  
  24.     ;the wind fx requires you to kill it using kill_fx
  25.     ;and the duplicate one will now be out of sync.
  26.  
  27.  
  28.  
  29.     ;there is now a fade_up routine and a fade_out routine
  30.     ;they require the fade  rate (1 to 50)to be held in
  31.     ;d0 when calling..(this is the number of frames before
  32.     ;increasing or decreasing the value in FADE by #1)
  33.  
  34.  
  35.     ; the fxjump table now contains 2 more fx
  36.     ;ship_to_ship and camera
  37.  
  38.  
  39.     ; It must be assembled with SYMBOLS CASE independent.
  40.  
  41.     ; dont hesitate to ring with any problems
  42.  
  43.     ;        DAVE LOWE.....0723  870648
  44.  
  45. ;        **************************
  46.  
  47.     section issA,code_c    ;must be in low memory for dma access
  48.                 ;DEVPAC PSEUDO OP ..CAN BE DELETED
  49.  
  50.  
  51. ;*****************************************
  52.  
  53.         ;  ALL EQUs
  54.  
  55. a00  equ  508*2
  56. bb00  equ  480*2
  57. b00  equ  453*2
  58. c01  equ  428*2
  59. db01  equ  404*2
  60. d01 equ  381*2
  61. eb01  equ  360*2
  62. e01  equ  339*2
  63. f01  equ  320*2
  64. gb01  equ  302*2
  65. g01  equ  285*2
  66. ab01 equ 269*2
  67. a01  equ  508
  68. bb01  equ  480
  69. b01  equ  453
  70.  
  71. c02  equ  428
  72. db02  equ  404
  73. d02  equ  381
  74. eb02  equ  360
  75. e02  equ  339
  76. f02  equ  320
  77. gb02  equ  302
  78. g02  equ  285
  79. ab02 equ 269
  80. a02  equ  254
  81. bb02  equ  240
  82. b02  equ  226
  83.  
  84. c03  equ  214
  85. db03  equ  202
  86. d03  equ  190
  87. eb03  equ  180
  88. e03  equ  170
  89. f03  equ  160
  90. gb03  equ  151
  91. g03  equ  143
  92. ab03 equ 135
  93. a03  equ  127
  94.  
  95. bb03  equ  480*2
  96. b03  equ  453*2
  97.  
  98. c04  equ  428*2
  99. db04  equ  404*2
  100. d04 equ  381*2
  101. eb04  equ  360*2
  102. e04  equ  339*2
  103. f04  equ  320*2
  104. gb04  equ  302*2
  105. g04  equ  285*2
  106. ab04 equ 269*2
  107. a04  equ  508
  108. bb04  equ  480
  109. b04  equ  453
  110.  
  111. c05  equ  428
  112. db05  equ  404
  113. d05  equ  381
  114. eb05  equ  360
  115. e05  equ  339
  116. f05  equ  320
  117. gb05  equ  302
  118. g05  equ  285
  119. ab05 equ 269
  120. a05  equ  254
  121. bb05  equ  240
  122. b05  equ  226
  123.  
  124. c06  equ  214
  125. db06  equ  202
  126. d06  equ  190
  127. eb06  equ  180
  128. e06  equ  170
  129. f06  equ  160
  130. gb06  equ  151
  131. g06  equ  143
  132. ab06 equ 135
  133. a06  equ  127
  134. bb06  equ  480*2
  135. b06  equ  453*2
  136.  
  137. c07  equ  428*2
  138. db07  equ  404*2
  139. d07 equ  381*2
  140. eb07  equ  360*2
  141. e07  equ  339*2
  142. f07  equ  320*2
  143. gb07  equ  302*2
  144. g07  equ  285*2
  145. ab07 equ 269*2
  146. a07  equ  508
  147. bb07  equ  480
  148. b07  equ  453
  149.  
  150. c08  equ  428
  151. db08  equ  404
  152. d08  equ  381
  153. eb08  equ  360
  154. e08  equ  339
  155. f08  equ  320
  156. gb08  equ  302
  157. g08  equ  285
  158. ab08 equ 269
  159. a08  equ  254
  160. bb08  equ  240
  161. b08  equ  226
  162.  
  163.  
  164. v equ 0
  165.  
  166. no_loop equ 0
  167. loop equ 0
  168. chann1reg   equ $dff0a0    
  169. chann2reg   equ $dff0b0
  170. chann3reg   equ $dff0c0
  171. chann4reg   equ $dff0d0
  172. dmacon     equ $dff096
  173. int_bf_int   equ   $dff01e
  174. int_bf_w    equ   $dff09a
  175. vhposr     equ   $dff006
  176. in_line    equ   0
  177. new_snd    equ   4
  178. end_song     equ   1
  179. end_patt    equ   8
  180. new_env    equ   12
  181. pbend     equ   16
  182.  
  183.  
  184.  
  185. hi: equ 223
  186. lo:  equ 446
  187.  
  188. r22    equ 134
  189. r20    equ 179        ;correctum
  190. r19    equ 150
  191. r18    equ 178
  192. r17    equ 200
  193. r16:    equ 227        ;correctum
  194. r15:    equ 249
  195. r14    equ 280
  196. r13:    equ 305
  197. r12:    equ 333
  198. r11:    equ 361
  199. r10:    equ 389
  200. r9:    equ 419
  201. r8:    equ 446
  202. r7:    equ 446+112
  203. r6:    equ 446+223
  204. r5:    equ 446+223+112
  205. r4:    equ 446*2
  206. r3:    equ 446*3
  207. r2:    equ 446*4
  208. r1:    equ 446*8
  209.  
  210.  
  211. filter: equ $bfe001
  212. filter_on equ 44
  213. filter_off equ 48
  214.  
  215. modon     equ   20
  216. pboff     equ   24
  217. modoff     equ   28
  218. rest     equ 32
  219. end_fxp  equ 36
  220. end_fx3  equ 36
  221. end_fx4  equ 40
  222. acc    equ 52
  223. repeat    equ 56
  224. play_new_tune  equ 60  
  225. down      equ   1
  226. up       equ   2
  227.  
  228. ;***************************************************************
  229.  
  230.  
  231.  ;    THIS IS THE CONTROL SECTION FOR TESTING AS A STAND ALONE PRG. 
  232.  
  233.     ;       AND CAN BE DELETED WHEN NOT REQUIRED
  234.  
  235.     ;bra test_engine
  236.     jsr select_new_song    ;select first song and initiliase
  237.  
  238. testloop:
  239.     jsr delay    ;wait for scan line  at 50hz on pal
  240.  
  241.  
  242.     ;move.l #10,fx_number         every frame lazer test
  243.     ;move.w #64,d1
  244.     ;jsr set_up_fx
  245.  
  246.  
  247.     ;jsr test_fade
  248.     ;jsr en2    ;a test engine call
  249.     jsr driver    ;call music every interrupt
  250.  
  251.  
  252.     ;move.l #10,fx_number
  253.     ;move.w #64,d1
  254.     ;jsr set_up_fx    
  255.  
  256.         bra testloop    ;loop back
  257.  
  258. ;**************************************
  259.  
  260.                 ;dff00c  joystick port 1
  261.             ; bit1 right switch
  262.             ; bit9 left
  263.             ; bit 1 xor bit 0 for pulled back
  264.             ; 9 xor 8 for forward
  265.  
  266.  
  267.  
  268.  
  269. delay:
  270.     tst.w fxtimer
  271.     ;bne no_test
  272.     clr.l d0
  273.     move.b $bfe001,d0        ;
  274.     btst #6,d0
  275.     bne no_test1
  276.     move.w #10,fxtimer
  277.     bra testfx4
  278. no_test
  279.     subq #1,fxtimer
  280. no_test1
  281.     clr.l d0
  282.         move.w vhposr,d0
  283.         andi.w #%1111111100000000,d0
  284.         cmpi.w #%1111111100000000,d0
  285.  
  286.     bne no_test1
  287.     rts
  288.  
  289. testfx4:  
  290.  
  291.     ;jsr    kill_chip
  292.     ;move.w #1,int_disable
  293.     clr.l d0
  294.     move.b $bfe001,d0
  295.     btst #6,d0
  296.     beq testfx4
  297.  
  298.     move.l song_buffer,d0
  299.     addq.l #1,d0
  300.     cmp.l    #11,d0            ; 10 tunes in this test
  301.                     ; 8 = silence
  302.     bne nores    
  303.     move.l #1,d0
  304.  
  305. ;*******************************        HOW TO PLAY A NEW TUNE
  306.  
  307. nores    move.l d0,song_buffer
  308.  
  309.     ;jsr    select_new_song        ;this call sets up the tune
  310.                     ;number in the song buffer
  311.                     ;make sure music is enabled (see below)
  312.                     ;call is currently commented off
  313.                     ;so you can play fx over one tune
  314.  
  315.  
  316. ;*******************************    HOW TO KILL ANY LOOPED FX
  317.  
  318.     move.l fx_last,d0
  319.     move.l d0,fx_kill    ;  used on this demo
  320.  
  321.     ;jsr kill_loopfx    ; used to kill any  fx..not engines
  322.  
  323.  
  324. no_k
  325.         move.l fx_no,fx_number
  326.     move.l fx_no,fx_last
  327.     addq.l #1,fx_no
  328.     move.l    max_fx,d0
  329.         cmp.l fx_no,d0
  330.     bne noreset
  331.     move.l #39,fx_no    
  332. noreset: 
  333.  
  334. ;;**********************************  HOW TO PLAY AN FX ON THE
  335.                     ; NEXT 50th
  336.                     ; place fx number required in fx_no
  337.                     ; and do this call
  338.                     ; fx must be enabled...(see below)
  339.  
  340. ;test_fade
  341.      move.w #64,d1
  342.     ;sub.w #1,d1
  343.     ;cmp #0,d1
  344.     ;bgt novr    
  345.     ;move #64,testv
  346.     ;move.w #64,d1
  347. ;novr    ;move.w d1,testv
  348.     ;move.w d1,fade
  349.     
  350.             ; test vol for variable vol fx
  351.  
  352.  
  353.     ;cmp.l #31,fx_number
  354.     ;bne no_kill
  355.     ;jsr kill_all_fx
  356.     ;rts
  357.  
  358. no_kill
  359.  
  360.     cmp.l #37,fx_number
  361.     beq nof            ;duplicate infinite wind
  362.  
  363.  
  364.     cmp.l #14,fx_number
  365.     beq twinfx
  366.     jsr set_up_fx
  367.     ;jsr en2
  368.  
  369.     ;jsr kill_engine
  370.  
  371. nof    rts
  372.  
  373. twinfx  jsr set_up_fx
  374.     move.l #37,fx_number
  375.     jsr set_up_fx
  376.     rts
  377.  
  378.  
  379.  
  380. testv    dc.w 64
  381.  
  382. ;***************************************************************
  383.         
  384.  
  385.         ;;TEST ROUTINES SETTING UP AND UPDATING
  386.         ;; TWO DIFFERENT ENGINES
  387.  
  388.                 ;d0 = engine type 1 to 3
  389.                 ;d1 = engine vol
  390.                 ;d2 = engine rate
  391.                 ;d3 = engine seed (ident number)
  392.                 ;  up to word value 
  393.  
  394.  
  395. test_engines
  396.  
  397.     tst.w ref
  398.     beq doe1
  399.     rts
  400.  
  401. ref    dc.w 0
  402.  
  403. doe1
  404.     move.w #1,ref
  405.     move.w #1,d0
  406.     move.w test_vol,d1
  407.     tst.w d1
  408.     beq nosub
  409.     ;sub.w #1,d1
  410. nosub    move.w d1,test_vol
  411.     move.w test_rate,d2
  412.     cmp.w #130,d2
  413.     blt nosubx
  414.     sub.w #20,d2
  415. nosubx    
  416.     ;move.w d2,test_rate
  417.     move.w #101,d3
  418.  
  419. jjj1    jsr engines
  420.     rts
  421.  
  422. en2    
  423.  
  424. test_fade
  425.  
  426.     tst.w tek
  427.     bne fo
  428.  
  429.     add.w #1,en2x
  430.     cmp.w #10,en2x
  431.     blt fo
  432.  
  433.     clr.w en2x
  434.     move.w #3,d0        ;run 2nd engine
  435.     move.w #20,d1
  436.     move.w #400,d2
  437.     move.w #50,d3
  438.  
  439. ;test_fade
  440.  
  441.  
  442.      ;move.w testv,d1
  443.     ;sub.w #1,d1
  444.     ;cmp #0,d1
  445.     ;bgt novr    
  446.     ;move #0,testv
  447.     ;move.w #0,d1
  448. novr    ;move.w d1,testv
  449.     ;move.w d1,fade
  450.  
  451.     jsr engines
  452. fo    rts
  453.  
  454.  
  455.  
  456. kill_engine
  457.  
  458.     move.w #1,tek
  459.     move.w #3,d0        
  460.     move.w #1,d1    ;vol to 1
  461.     move.w #400,d2
  462.     move.w #50,d3
  463.     jsr engines
  464.     rts
  465.  
  466.  
  467.  
  468. en2x        dc.w 0
  469. test_rate    dc.w 500
  470. test_vol    dc.w 60
  471. tek        dc.w 0
  472.  
  473. ;***********************************
  474.  
  475.                 ; variables used by the test section
  476. tflag        dc.w 0
  477. fxtc:          dc.w 10        ; ignore them !!!!!
  478. fx_no:         dc.l  5
  479. fx_last        dc.l  5
  480.  
  481.  
  482. ;        END OF CONTROL (DELETABLE) SECTION
  483.  
  484. ;**********************************************************
  485.  
  486. ; --------------------------------------------------------------
  487.  
  488. ;    MAIN VARIABLES TO BE ACCESSED BY PROGRAMMER DURING RUNTIME
  489.  
  490.  
  491. fx_number:     dc.l 0 ;     number of fx required here...
  492. fx_kill        dc.l 0 ;     number of fx to kill/only needed for looped fx
  493.  
  494. song_buffer     dc.l 10;     number of piece of music required here ie.1 to 10
  495.  
  496. music_disable:  dc.w 0 ;     1 = disable music
  497. fx_disable:     dc.w 0 ;     1 = disable fx  (currently disabled)
  498.  
  499. fade         dc.w 0;      to fade music/fx out increase the
  500.             ; value in this location from 0 to 64
  501.             ; 0 = normal vol 64= silent.
  502.  
  503. ;    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  504.  
  505. ;  THESE VARIABLES ARE USED INTERNALLY BY THE DRIVER
  506. fxr1         dc.l 0  
  507. fxr2         dc.l 0  
  508. fxr3         dc.l 0  
  509. fxr4         dc.l 0  
  510. fxc1        dc.l 0
  511. fxc2          dc.l 0
  512. fxc3        dc.l 0
  513. fxc4          dc.l 0
  514. fxce1        dc.w 0
  515. fxce2        dc.w 0
  516. fxce3        dc.w 0
  517. fxce4        dc.w 0
  518. fx1_flag    dc.w 0
  519. fx2_flag    dc.w 0
  520. fx3_flag    dc.w 0
  521. fx4_flag    dc.w 0
  522. fx_c_used    dc.w 0
  523. fxtimer        dc.w 0
  524. gen        dc.w 0
  525. int_disable    dc.w 0
  526. altpf         dc.w 0
  527. kill_flag    dc.w 0
  528. fx_mode        dc.w 0
  529. existing_fx    dc.w 0
  530. channel_to_use  dc.w 0
  531. fflag        dc.w 0
  532. ftimer        dc.w 0        ;temp counter
  533. frate        dc.w 0
  534. mode        dc.w 0
  535.  
  536. ;  *******************************************************
  537.  
  538. ;  CALL THIS SUBROUTINE TO SET UP THE REQUIRED FX
  539. ;  on entry it requires the fx number to be in "fx_number"(see above)
  540.  
  541. ;********************
  542. ;        move.w #204,d0
  543. ;        lea gvars,a0
  544. ;clloop: clr.w (a0)+        
  545. ;        dbra  d0,clloop
  546. ;************************
  547. set_up_fx
  548.                 ;d1 holds vol for certain fx
  549.     move.w #1,int_disable
  550.  
  551.     movem.l d0/d1/d2/d5/a0/a2,-(a7)    ;save used registers
  552.     clr.w existing_fx        ;flag
  553.     clr.w channel_to_use        ;channel to use
  554.  
  555. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  556.                 ;test for fx already running on a channel
  557.                 ;and if so then store which channel
  558.     move.l fxc4,d0
  559.     move.w #4,channel_to_use
  560.     cmp.l fx_number,d0
  561.     beq set_e_flag            
  562.  
  563.     move.l fxc3,d0
  564.     move.w #3,channel_to_use
  565.     cmp.l fx_number,d0
  566.     beq set_e_flag            
  567.  
  568.     move.l fxc2,d0
  569.     move.w #2,channel_to_use
  570.     cmp.l fx_number,d0
  571.     beq set_e_flag            
  572.  
  573.     move.l fxc1,d0
  574.     move.w #1,channel_to_use
  575.     cmp.l fx_number,d0
  576.     beq set_e_flag            
  577.  
  578.     bra new_fx
  579.  
  580.         ;  fx already on a channel
  581. set_e_flag
  582.     move.w #1,existing_fx
  583.  
  584.     cmp.l #35,fx_number
  585.     beq check35
  586.  
  587.     cmp.l #36,fx_number
  588.     beq check36
  589.  
  590.     cmp.l #5,fx_number        ;vv test
  591.     blt fixed_vol            ;engine
  592.     cmp.l #13,fx_number
  593.     bgt test_for_loop
  594.                 ;this is a variable vol existing fx            
  595.                 ;is it louder than the existing fx ??
  596.         
  597.     move.l fx_number,d2
  598.     cmp.l #5,d2
  599.     bne isevv6
  600.     cmp.w vv1,d1
  601.     blt no_fx        ;too quiet so drop it
  602.     bra new_fx
  603.  
  604. isevv6
  605.     cmp.l #6,d2
  606.     bne isevv7
  607.     cmp.w vv2,d1
  608.     blt no_fx        ;too quiet so drop it
  609.     bra new_fx
  610.  
  611. isevv7
  612.     cmp.l #7,d2
  613.     bne isevv8
  614.     cmp.w vv3,d1
  615.     blt no_fx        ;too quiet so drop it
  616.     bra new_fx
  617.  
  618. isevv8
  619.     cmp.l #8,d2
  620.     bne isevv9
  621.     cmp.w vv4,d1
  622.     blt no_fx        ;too quiet so drop it
  623.     bra new_fx
  624.  
  625.  
  626. isevv9    cmp.l #9,d2
  627.     bne isevv10
  628.     cmp.w vv5,d1
  629.     blt no_fx        ;too quiet so drop it
  630.     bra new_fx
  631.     
  632. isevv10
  633.     cmp.l #10,d2
  634.     bne isevv11
  635.     cmp.w vv6,d1
  636.     blt no_fx        ;too quiet so drop it
  637.     bra new_fx
  638.  
  639. isevv11
  640.     cmp.l #11,d2
  641.     bne isevv12
  642.     cmp.w vv7,d1
  643.     blt no_fx        ;too quiet so drop it
  644.     bra new_fx
  645.  
  646. isevv12
  647.     cmp.l #12,d2
  648.     bne isevv13
  649.     cmp.w vv8,d1
  650.     blt no_fx        ;too quiet so drop it
  651.     bra new_fx
  652.  
  653. isevv13
  654.     cmp.w vv8,d1
  655.     blt no_fx        ;too quiet so drop it
  656.     bra new_fx
  657.  
  658. check35
  659.     cmp.w vv10,d1
  660.     blt no_fx
  661.     bra new_fx
  662.  
  663. check36
  664.  
  665.     cmp.w vv11,d1
  666.     blt no_fx
  667.  
  668. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  669. new_fx
  670.     cmp.l #35,fx_number
  671.     beq write35
  672.  
  673.     cmp.l #36,fx_number
  674.     beq write36
  675.  
  676.     cmp.l #5,fx_number
  677.     blt fixed_vol
  678.     cmp.l #13,fx_number
  679.     bgt test_for_loop
  680.                 ;variable vol fx
  681.     move.l fx_number,d2
  682.     cmp.l #5,d2
  683.     beq writevv1
  684.     cmp.l #6,d2
  685.     beq writevv2
  686.     cmp.l #7,d2
  687.     beq writevv3
  688.     cmp.l #8,d2
  689.     beq writevv4
  690.     cmp.l #9,d2
  691.     beq writevv5
  692.     cmp.l #10,d2
  693.     beq writevv6
  694.     cmp.l #11,d2
  695.     beq writevv7
  696.  
  697.     lea vv8,a0    ;write12 and 13
  698.     bra wv
  699.  
  700. writevv7
  701.     lea vv7,a0
  702.     bra wv
  703. writevv6
  704.     lea vv6,a0
  705.     bra wv
  706. writevv5
  707.     lea vv5,a0
  708.     bra wv
  709. writevv4
  710.     lea vv4,a0
  711.     bra wv
  712. writevv3
  713.     lea vv3,a0
  714.     bra wv
  715. writevv2
  716.     lea vv2,a0
  717.     bra wv
  718. writevv1
  719.     lea vv1,a0
  720.  
  721. wv    move.w d1,(a0)    
  722.     bra fixed_vol
  723.  
  724. write35
  725.     lea vv10,a0
  726.     bra wv
  727.  
  728. write36
  729.     lea vv11,a0
  730.     bra wv
  731.  
  732.  
  733.  
  734. ; ............................
  735. test_for_loop
  736.     cmp.l #17,fx_number
  737.     bgt fixed_vol
  738.  
  739.     move.l fx_number,d2
  740.                 ;is this fx already running
  741.     cmp.l fxc4,d2
  742.     beq is_on
  743.     cmp.l fxc3,d2
  744.     beq is_on
  745.     cmp.l fxc2,d2
  746.     beq is_on
  747.     cmp.l fxc1,d2
  748.     beq is_on
  749.                 ;fx not already on
  750.     bra set_loop_counters    ;so set it up and run it
  751.  
  752. is_on
  753.     cmp.l #14,d2        ;wind ?
  754.     bne cl2
  755.     move.w #2,loopc1    ;reset timer
  756.     bra no_fx
  757.  
  758. cl2
  759.     cmp.l #15,d2        ;space_stat ?
  760.     bne cl3
  761.     move.w #1,loopc2    ;reset timer
  762.     bra no_fx
  763.  
  764. cl3
  765.     cmp.l #16,d2        ;factories?
  766.     bne cl4
  767.     move.w #2,loopc3    ;reset timer
  768.     bra no_fx
  769.  
  770. cl4
  771.     cmp.l #17,d2        ;fuelscoop?
  772.     bne fixed_vol
  773.     move.w #2,loopc4    ;reset timer
  774.     bra no_fx
  775.  
  776. set_loop_counters
  777.  
  778.     cmp.l #14,d2        ;wind ?
  779.     bne cl2x
  780.     move.w #1,loopc1    ;reset timer
  781.     bra fixed_vol
  782.  
  783. cl2x
  784.     cmp.l #15,d2        ;space_stat ?
  785.     bne cl3x
  786.     move.w #1,loopc2    ;reset timer
  787.     bra fixed_vol
  788.  
  789. cl3x
  790.     cmp.l #16,d2        ;factories?
  791.     bne cl4x
  792.     move.w #2,loopc3    ;reset timer
  793.     bra fixed_vol
  794.  
  795. cl4x
  796.     cmp.l #17,d2        ;fuelscoop?
  797.     bne no_fx
  798.     move.w #2,loopc4    ;reset timer
  799.  
  800.  
  801. ;..............................
  802. fixed_vol
  803.  
  804.  
  805.     cmp.l #31,fx_number
  806.     beq use4        ;ship die to 4
  807.  
  808.  
  809.     tst.w existing_fx
  810.     beq sort_channel
  811.                 ;find channel to overwrite existing fx on
  812.  
  813.     cmp.w #4,channel_to_use
  814.     beq    use4
  815.     cmp.w #3,channel_to_use
  816.     beq    use3
  817.     cmp.w #2,channel_to_use
  818.     beq    use2
  819.     bra     use1
  820. ;     ****************
  821.  
  822.  
  823. sort_channel
  824.     tst.l fxc4
  825.     bne check3
  826.     tst.w fxce4
  827.     bne check3
  828.  
  829. use4:    
  830.     move.w #%0000000000001000,d5
  831.     lea chann4reg,a2
  832.     ;jsr end_fx4p
  833.     ;move.l #0,fxc4
  834.  
  835. ch4xx    move.w #32,d0
  836.     lea fxintc4,a0
  837. cfx4l:  clr.w (a0)+    
  838.     dbra d0,cfx4l
  839.  
  840.  
  841.     move.l fx_number,fxr4
  842.     move.l fx_number,fxc4
  843.     move.l #0,fx_number
  844.     move.w #4,fx_c_used        ;channel used
  845.     bra no_fx
  846.  
  847.  
  848. check3:    tst.l fxc3
  849.     bne check2
  850.     tst.w fxce3
  851.     bne check2
  852. use3:
  853.     move.w #%0000000000000100,d5
  854.     lea chann3reg,a2
  855.     ;jsr end_fx3p
  856.     ;move.l #0,fxc3
  857.  
  858. ch3xx    move.w #32,d0
  859.     lea fxintc3,a0
  860. cfx3l:  clr.w (a0)+    
  861.     dbra d0,cfx3l
  862.     move.l fx_number,fxr3
  863.     move.l fx_number,fxc3
  864.     move.l #0,fx_number
  865.     move.w #3,fx_c_used        ;channel used
  866.     bra no_fx
  867.  
  868.  
  869.  
  870.  
  871. check2:    tst.l fxc2
  872.     bne check1
  873.     tst.w fxce2
  874.     bne check1
  875. use2:
  876.     move.w #%0000000000000010,d5
  877.     lea chann2reg,a2
  878.     ;jsr end_fx2p
  879.     ;move.l #0,fxc2
  880.  
  881. ch2xx    move.w #32,d0
  882.     lea fxintc2,a0
  883. cfx2l:  clr.w (a0)+    
  884.     dbra d0,cfx2l
  885.  
  886.     move.l fx_number,fxr2
  887.     move.l fx_number,fxc2
  888.     move.l #0,fx_number
  889.     move.w #2,fx_c_used        ;channel used
  890.     bra no_fx
  891. check1:    tst.l fxc1
  892.     bne  no_room
  893.     tst.w fxce1
  894.     bne no_room
  895.  
  896.  
  897. use1
  898.     move.w #%0000000000000001,d5
  899.     lea chann1reg,a2
  900.     ;jsr end_fx1p
  901.     ;move.l #0,fxc1
  902.  
  903. ch1xx    move.w #32,d0
  904.     lea fxintc1,a0
  905. cfx1l:  clr.w (a0)+    
  906.     dbra d0,cfx1l
  907.  
  908.     move.l fx_number,fxr1
  909.     move.l fx_number,fxc1
  910.     move.l #0,fx_number
  911.     move.w #1,fx_c_used        ;channel used
  912.  
  913. no_fx
  914.     clr.w int_disable
  915.     movem.l (a7)+,d5/d2/d1/d0/a2/a0    ;restore registers
  916.     rts
  917. no_room
  918.     tst.w fx_mode
  919.     beq  overwrite            ;actual fx
  920.  
  921.     move.w #255,fx_c_used        ; no channel used
  922.     bra no_fx
  923.  
  924.  
  925.  
  926. overwrite
  927.     tst.w fxce4
  928.     bne oc3
  929.     bra use4
  930. oc3    tst.w fxce3
  931.     bne oc2
  932.     bra use3
  933. oc2    tst.w fxce2
  934.     bne oc1
  935.     bra use2
  936. oc1    tst.w fxce1
  937.     bne use1
  938.     bra use1
  939.  
  940. ;*************************************************
  941. ;          CALL HERE TO KILL ANY FX...
  942. ;       after putting the number of the fx you want to kill
  943. ;            into fx_kill
  944.  
  945. kill_loopfx
  946.  
  947.     movem.l d5/a2,-(a7)    ;save used registers
  948.     move.l fx_kill,d5
  949.     cmp.l fxc1,d5
  950.     bne k2
  951.     move.w #%0000000000000001,d5
  952.     lea chann1reg,a2
  953.     jsr end_fx1p
  954.     bra error
  955. k2    cmp.l fxc2,d5
  956.     bne k3
  957.     move.w #%0000000000000010,d5
  958.     lea chann2reg,a2
  959.     jsr end_fx2p
  960.     bra error
  961. k3    cmp.l fxc3,d5
  962.     bne k4
  963.     move.w #%0000000000000100,d5
  964.     lea chann3reg,a2
  965.     jsr end_fx3p
  966.     bra error
  967. k4    cmp.l fxc4,d5
  968.     bne error
  969.     move.w #%0000000000001000,d5
  970.     lea chann4reg,a2
  971.     jsr end_fx4p
  972. error
  973.     clr.l fx_kill
  974.     movem.l (a7)+,d5/a2    ;restore registers
  975.     rts
  976. ;************************************************
  977.  
  978.     ;CALL HERE TO KILL ALL FX
  979.  
  980. kill_all_fx:
  981.  
  982.     movem.l d5/a0,-(a7)    ;save used registers
  983.  
  984.     move.w #%0000000000001000,d5
  985.     lea chann4reg,a2
  986.     jsr end_fx4p
  987.     move.w #32,d0
  988.     lea fxintc4,a0
  989. cfx4lx:  clr.w (a0)+    
  990.     dbra d0,cfx4lx
  991.  
  992.     move.w #%0000000000000100,d5
  993.     lea chann3reg,a2
  994.     jsr end_fx3p
  995.     move.w #32,d0
  996.     lea fxintc3,a0
  997. cfx3lx:  clr.w (a0)+    
  998.     dbra d0,cfx3lx
  999.  
  1000.     move.w #%0000000000000010,d5
  1001.     lea chann2reg,a2
  1002.     jsr end_fx2p
  1003.     move.w #32,d0
  1004.     lea fxintc2,a0
  1005. cfx2lx:  clr.w (a0)+    
  1006.     dbra d0,cfx2lx
  1007.  
  1008.     move.w #%0000000000000001,d5
  1009.     lea chann1reg,a2
  1010.     jsr end_fx1p
  1011.     move.w #32,d0
  1012.     lea fxintc1,a0
  1013. cfx1lx:  clr.w (a0)+    
  1014.     dbra d0,cfx1lx
  1015.  
  1016.     movem.l (a7)+,d5/a0    ;restore registers
  1017.     rts
  1018.  
  1019.  
  1020. ;*************************************************
  1021.  
  1022.     ; CALL HERE TO KILL ANY SOUND for whatever reason
  1023.  
  1024. kill_chip:
  1025.     move.w #%0000000000001111,dmacon
  1026.     move.l rest_data,chann1reg
  1027.     move.l rest_data,chann2reg
  1028.     move.l rest_data,chann3reg
  1029.     move.l rest_data,chann4reg
  1030.     move.w #16,chann1reg+4    
  1031.     move.w #16,chann2reg+4    
  1032.     move.w #16,chann3reg+4    
  1033.     move.w #16,chann4reg+4    
  1034.     move.w #0,chann1reg+8
  1035.     move.w #0,chann2reg+8
  1036.     move.w #0,chann3reg+8
  1037.     move.w #0,chann4reg+8
  1038.     move.w #1,chann1reg+6
  1039.     move.w #1,chann2reg+6
  1040.     move.w #1,chann3reg+6
  1041.     move.w #1,chann4reg+6
  1042.     move.l #0,fxr1
  1043.     move.l #0,fxr2
  1044.     move.l #0,fxr3
  1045.     move.l #0,fxr4
  1046.     move.w #0,fx1_flag
  1047.     move.w #0,fx2_flag
  1048.     move.w #0,fx3_flag
  1049.     move.w #0,fx4_flag
  1050.     move.l #0,fxc1
  1051.     move.l #0,fxc2
  1052.     move.l #0,fxc3
  1053.     move.l #0,fxc4
  1054.     clr.w fx_mode
  1055.     rts
  1056.  
  1057. ;*******************************
  1058.  
  1059.             ;d0 holds fade rate value 0 to 50
  1060. fade_up    
  1061.     move.w #1,fflag    ;set flag for up
  1062.     move.w d0,frate
  1063.     move.w #64,fade        ;fade value to max
  1064.     rts
  1065.  
  1066. fade_out
  1067. fade_down
  1068.     move.w #2,fflag    ;set flag for up
  1069.     move.w d0,frate
  1070.     move.w #0,fade        ;fade value to max
  1071.     rts
  1072.  
  1073.  
  1074. ;*****************************
  1075. engines
  1076.     movem.l d4/d5/d6/a2/a0/a1,-(a7)    ;save used registers
  1077.  
  1078.     ;ENGINE RUNTIME ROUTINES
  1079.  
  1080.                 ;d0 = engine type 1 to 3
  1081.                 ;d1 = engine vol
  1082.                 ;d2 = engine rate
  1083.                 ;d3 = engine seed (ident number)
  1084.  
  1085.                 ;check engine has legal volume
  1086.     tst.w d1
  1087.     beq end_engine        ;drop it
  1088.     cmp.w #64,d1
  1089.     bgt end_engine
  1090.  
  1091.  
  1092.         ;decide if engine is new
  1093.     lea engine1_vars,a1
  1094.     tst.w (a1)
  1095.     beq ten2
  1096.     cmp.w engine1_seed,d3
  1097.  
  1098.     beq existing_engine  
  1099. ten2
  1100.     lea engine2_vars,a1
  1101.     tst.w (a1)
  1102.     beq ten3
  1103.     cmp.w engine2_seed,d3
  1104.     beq existing_engine  
  1105. ten3
  1106.     lea engine3_vars,a1
  1107.     tst.w (a1)
  1108.     beq ten4
  1109.     cmp.w engine3_seed,d3
  1110.     beq existing_engine  
  1111. ten4
  1112.     lea engine4_vars,a1
  1113.     tst.w (a1)
  1114.     beq setup_engine
  1115.     cmp.w engine4_seed,d3
  1116.     beq existing_engine  
  1117.                 ;engine not already in range
  1118.                 ;so find if spare channel available
  1119.  
  1120. setup_engine
  1121.     cmp.w #1,d0                     
  1122.     bne sej1
  1123.     lea engine1p,a0
  1124.     bra set_p
  1125. sej1    cmp.w #2,d0     
  1126.     bne sej3                
  1127.     lea engine2p,a0
  1128.     bra set_p
  1129. sej3    lea engine3p,a0
  1130. set_p
  1131.                 ;a0 = engine type address    
  1132.     tst engine1_vars    
  1133.     bne te2
  1134. ue1    lea engine1_vars,a1
  1135.     lea current_engine1_fx,a2
  1136.     move.l #1,d6
  1137.     bra do_set_up
  1138. te2
  1139.     tst engine2_vars    
  1140.     bne te3
  1141. ue2    lea engine2_vars,a1
  1142.     lea current_engine2_fx,a2
  1143.     move.l #2,d6
  1144.     bra do_set_up
  1145. te3
  1146.     tst engine3_vars    
  1147.     bne te4
  1148. ue3    lea engine3_vars,a1
  1149.     lea current_engine3_fx,a2
  1150.     move.l #3,d6
  1151.     bra do_set_up
  1152. te4
  1153.     tst engine4_vars    
  1154.     bne test_vols
  1155. ue4    lea engine4_vars,a1
  1156.     lea current_engine4_fx,a2
  1157.     move.l #4,d6
  1158.     bra do_set_up
  1159.  
  1160. test_vols            ;all channels running so
  1161.                 ;find current smallest vol
  1162.     move.w #1,d5
  1163.     move.w engine1_vol,d4
  1164.     cmp engine2_vol,d4
  1165.     blt test3        ;1 is smaller than 2
  1166.     move.w #2,d5
  1167.     move.w engine2_vol,d4
  1168. test3
  1169.     cmp engine3_vol,d4    
  1170.     blt test4        ;1 or 2 is smaller
  1171.     move.w #3,d5
  1172.     move.w engine3_vol,d4
  1173. test4
  1174.     cmp engine4_vol,d4
  1175.     blt vol_test_d
  1176.     move.w #4,d5
  1177.     move.w engine4_vol,d4
  1178. vol_test_d            ;smallest vol engine number in d5
  1179.                 ;its volume in d4
  1180.           cmp.w d1,d4         ;cmp new vol
  1181.     bgt end_engine        ;drop new engine fx.......    
  1182.     cmp.w #1,d5        
  1183.     beq ue1
  1184.     cmp.w #2,d5        
  1185.     beq ue2
  1186.     cmp.w #3,d5        
  1187.     beq ue3
  1188.     bra ue4
  1189.  
  1190. do_set_up
  1191.     jsr pass_p        ;write paramters to vars
  1192.  
  1193.  
  1194.                 ; write parameters to fx pattern
  1195.     move.l a0,8(a2)
  1196.     move.w d2,12(a2)                
  1197.     move.w #200,14(a2)    ;2 second min    
  1198.     move.w d1,20(a2)
  1199.  
  1200.     move.l d6,(fx_number)
  1201.  
  1202.     move.w #1,(fx_mode)
  1203.     jsr set_up_fx
  1204.     clr.w (fx_mode)    
  1205.                 ;d0 = amiga channel used
  1206.     cmp #255,fx_c_used
  1207.     beq end_engine        ;no free channels
  1208.     move.w fx_c_used,14(a1)    ;channel to vars
  1209.     move.w fx_c_used,d0
  1210.     cmp.w #4,d0
  1211.     bne re3    
  1212.     clr.l fxc4
  1213.     move.w #1,fxce4
  1214.     bra end_engine
  1215.  
  1216. re3
  1217.     cmp.w #3,d0
  1218.     bne re2    
  1219.     clr.l fxc3
  1220.     move.w #1,fxce3
  1221.     bra end_engine
  1222.  
  1223. re2
  1224.     cmp.w #2,d0
  1225.     bne re1    
  1226.     clr.l fxc2
  1227.     move.w #1,fxce2
  1228.     bra end_engine
  1229.  
  1230. re1
  1231.     clr.l fxc1
  1232.     move.w #1,fxce1
  1233.  
  1234. end_engine
  1235.     movem.l (a7)+,d5/d4/d6/a2/a1/a0    ;restore registers
  1236.     rts
  1237.  
  1238. ;                        """"""""""""""""""""""""""""""
  1239. existing_engine
  1240.     jsr passpj1
  1241.     jsr update_engine
  1242.     bra end_engine
  1243.  
  1244. pass_p                ;a1 = which engine vars to use/d5=1 to 4
  1245.                 ;a0 = address of type parameters
  1246.  
  1247.     move.w #1,(a1)        ;reset flag/count to 1
  1248.  
  1249.             ;first turn off the engine already on this channel
  1250.     move.w 14(a1),d4
  1251.     cmp.w #4,d4
  1252.     bne pj1
  1253.     clr.w fxce4    
  1254.     bra passpj1
  1255. pj1    cmp.w #3,d4
  1256.     bne pj2
  1257.     clr.w fxce3    
  1258.     bra passpj1
  1259. pj2    cmp.l #2,d4
  1260.     bne pj3
  1261.     clr.w fxce2    
  1262.     bra passpj1
  1263. pj3    clr.w fxce1    
  1264.  
  1265. passpj1    
  1266.  
  1267.         ;pass engine parameters to engine vars    
  1268.     move.w #1,(a1)        ;set on/off flag
  1269.     move.w d0,2(a1)
  1270.     move.w d1,4(a1)
  1271.     move.w d2,6(a1)
  1272.     move.w d3,8(a1)
  1273.     move.l a0,10(a1)
  1274.     clr.w 16(a1)
  1275.     rts
  1276.  
  1277. update_engine        ; (a0)= engine vars
  1278.             ;only used after driver has set sample running
  1279.         
  1280.     move.l a1,a0
  1281.     clr.w 16(a0)        ;timer to 0
  1282. update2
  1283.     move.w 14(a0),d0    ;amiga channel
  1284.     cmp.w #4,d0
  1285.     bne uej1
  1286.     tst.l fxc4
  1287.     bne off_engine
  1288.     lea chann4reg,a1
  1289.     bra write_engine
  1290.  
  1291. uej1    cmp.w #3,d0
  1292.     bne uej2
  1293.     tst.l fxc3
  1294.     bne off_engine
  1295.     lea chann3reg,a1
  1296.     bra write_engine
  1297.  
  1298. uej2    cmp.w #2,d0
  1299.     bne uej3
  1300.     tst.l fxc2
  1301.     bne off_engine
  1302.     lea chann2reg,a1
  1303.     bra write_engine
  1304. uej3
  1305.     tst.l fxc1
  1306.     bne off_engine
  1307.     lea chann1reg,a1
  1308.     bra write_engine
  1309.  
  1310. off_engine
  1311.     clr.w (a0)        ;flag to off
  1312.     clr.w 8(a0)        ;seed to 0
  1313.     rts
  1314.  
  1315. write_engine        ;a1 points to registers
  1316.     move.w 4(a0),8(a1)    ;vol to chip
  1317.     move.w 6(a0),6(a1)    ;rate to chip
  1318.     rts
  1319.  
  1320.  
  1321.  
  1322. ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1323.             ;current engine pattern buffer
  1324.  
  1325. current_engine1_fx
  1326.               dc.w new_env
  1327.            dc.l current_engine1_env
  1328.               dc.w new_snd
  1329.           dc.l 0            ;+8    ;paramters
  1330.  
  1331.         dc.w    0        ;+12   rate
  1332.         dc.w    0        ;+ 14 duration
  1333.         
  1334.  
  1335.       dc.w end_fxp
  1336.  
  1337. current_engine1_env:    dc.w 0,0,255    ;+20 vol
  1338.  
  1339.  
  1340. current_engine2_fx
  1341.       dc.w new_env
  1342.       dc.l current_engine2_env
  1343.       dc.w new_snd
  1344.       dc.l 0
  1345.  
  1346. ce2_rate    dc.w    0
  1347. ce2_time    dc.w    0        ;1 sec max without refresh    
  1348.         
  1349.  
  1350.       dc.w end_fxp
  1351.  
  1352. current_engine2_env:    dc.w 0,0,255
  1353.  
  1354.  
  1355. current_engine3_fx
  1356.       dc.w new_env
  1357.        dc.l current_engine3_env
  1358.       dc.w new_snd
  1359.       dc.l 0
  1360.  
  1361. ce3_rate    dc.w    0
  1362. ce3_time    dc.w    0        ;1 sec max without refresh    
  1363.         
  1364.  
  1365.       dc.w end_fxp
  1366.  
  1367. current_engine3_env:    dc.w 0,0,255
  1368.  
  1369.  
  1370. current_engine4_fx
  1371.       dc.w new_env
  1372.       dc.l current_engine4_env
  1373.       dc.w new_snd
  1374.       dc.l 0
  1375.  
  1376. ce4_rate    dc.w    0
  1377. ce4_time    dc.w    0        ;1 sec max without refresh    
  1378.         
  1379.  
  1380.       dc.w end_fxp
  1381.  
  1382. current_engine4_env:    dc.w 0,0,255
  1383.  
  1384.  
  1385. engine1_vars    dc.w 0        ;on off flag
  1386. engine1_type    dc.w 0
  1387. engine1_vol    dc.w 0
  1388. engine1_rate    dc.w 0
  1389. engine1_seed    dc.w 0        ;+8
  1390. engine1_type_p    dc.l 0        ;address of type 1 to 3
  1391. acu1        dc.w 0        ;amiga channel used
  1392. e1timer        dc.w 0
  1393.  
  1394.  
  1395. engine2_vars    dc.w 0
  1396. engine2_type    dc.w 0
  1397. engine2_vol    dc.w 0
  1398. engine2_rate    dc.w 0
  1399. engine2_seed    dc.w 0
  1400. engine2_type_p    dc.l 0
  1401. acu2        dc.w 0        ;amiga channel used
  1402. e2timer        dc.w 0
  1403.  
  1404.  
  1405. engine3_vars    dc.w 0
  1406. engine3_type    dc.w 0
  1407. engine3_vol    dc.w 0
  1408. engine3_rate    dc.w 0
  1409. engine3_seed    dc.w 0
  1410. engine3_type_p    dc.l 0
  1411. acu3        dc.w 0        ;amiga channel used
  1412. e3timer        dc.w 0
  1413.  
  1414.  
  1415. engine4_vars    dc.w 0
  1416. engine4_type    dc.w 0
  1417. engine4_vol    dc.w 0
  1418. engine4_rate    dc.w 0
  1419. engine4_seed    dc.w 0
  1420. engine4_type_p    dc.l 0
  1421. acu4        dc.w 0        ;amiga channel used
  1422. e4timer        dc.w 0
  1423.  
  1424.  
  1425. ;****************************************
  1426.  
  1427. ;  CALL HERE TO SELECT WHICH PIECE OF MUSIC TO PLAY
  1428. ;  AFTER PLACING NUMBER (1 to ?) IN "SONG_BUFFER"..see above
  1429. ;  a call to this routine will initiliase the driver/kill any sound etc.      
  1430. ;  make sure this routine has been called before running the interrupt
  1431. ;  driven section....see below
  1432.  
  1433. start_timer    dc.w 0
  1434.  
  1435. select_new_song:
  1436.  
  1437.     move.w #1,int_disable
  1438.     movem.l d0/d1/a0/a1,-(a7)    ;save used registers
  1439.     move.w music_disable,gen
  1440.     move.w #1,music_disable
  1441.         jsr kill_chip           
  1442.     clr.l d0
  1443.         move.w #204,d0
  1444.         lea gvars,a0
  1445. clloop: clr.w (a0)+        
  1446.         dbra  d0,clloop
  1447.     tst.l song_buffer
  1448.     beq no_song
  1449.         move.l song_buffer,d1
  1450.     add.l d1,d1
  1451.      add.l d1,d1
  1452.      add.l d1,d1
  1453.      add.l d1,d1
  1454.         LEA  SONG_TABLE-16,A1
  1455.         add.l d1,a1      
  1456.         MOVE.L (A1)+,WSONG1    
  1457.         move.l (a1)+,wsong2    
  1458.         move.l (a1)+,wsong3
  1459.     move.l (a1),wsong4
  1460.         MOVE.L #pstart,PATTR1
  1461.         MOVE.L #pstart,PATTR2
  1462.         MOVE.L #pstart,PATTR3
  1463.     move.l #pstart,pattr4
  1464.         move.l #sstart,songr1
  1465.         MOVE.L #sstart,SONGR2
  1466.         MOVE.L #sstart,SONGR3
  1467.     move.l #sstart,songr4
  1468. no_song
  1469.     move.w #1,ch1vars
  1470.     move.w #2,ch2vars
  1471.     move.w #3,ch3vars
  1472.     move.w #4,ch4vars
  1473.     move.w #6,ch4fxvars
  1474.     move.w #5,ch3fxvars
  1475.     move.w #7,ch2fxvars
  1476.     move.w #8,ch1fxvars
  1477.     move.w gen,music_disable
  1478.     clr.w int_disable
  1479.     clr.w fade
  1480.     clr.w fflag
  1481.     clr.w engine1_vars
  1482.     clr.w engine2_vars
  1483.     clr.w engine3_vars
  1484.     clr.w engine4_vars
  1485.     clr.w fxce1
  1486.     clr.w fxce2
  1487.     clr.w fxce3
  1488.     clr.w fxce4
  1489.  
  1490.     cmp.l #10,song_buffer        ;intro tagged piece
  1491.     bne no_sps
  1492.     move.w #12,d0     
  1493.     jsr fade_up
  1494. no_sps
  1495.     movem.l (a7)+,d0/d1/a0/a1    ;restore registers
  1496.         rts
  1497.  
  1498. ;**************************************************
  1499.  
  1500. ;  CALL HERE ON A 50hz INTERRUPT DURING RUNTIME
  1501. ;  TO PLAY FX AND TUNES
  1502.  
  1503. driver:  
  1504.  
  1505.     tst.w int_disable
  1506.     beq process_data
  1507.     rts        
  1508. process_data
  1509.     movem.l d0-d6/a0-a6,-(a7)    ;save used registers
  1510.  
  1511. ;******************************
  1512.                 ;fade section
  1513.     tst.w fflag
  1514.     beq proj1
  1515.     cmp.w #1,fflag
  1516.     bne tfo
  1517.     move.w ftimer,d0
  1518.     add.w #1,d0
  1519.     move.w d0,ftimer
  1520.     cmp.w frate,d0
  1521.     bne proj1
  1522.     sub.w #1,fade
  1523.     clr.w ftimer
  1524.     tst.w fade
  1525.     bne proj1
  1526.     clr.w fflag
  1527.     bra proj1
  1528. tfo
  1529.     move.w ftimer,d0
  1530.     add.w #1,d0
  1531.     move.w d0,ftimer
  1532.     cmp.w frate,d0
  1533.     bne proj1
  1534.     add.w #1,fade
  1535.     clr.w ftimer
  1536.     cmp.w #64,fade
  1537.     bne proj1
  1538.     clr.w fflag
  1539.  
  1540. ;*******************************
  1541. proj1
  1542.     lea engine1_vars,a0
  1543.     tst.w (a0)
  1544.     beq tt2
  1545.     add.w #1,16(a0)
  1546.     cmp.w #51,16(a0)
  1547.     blt tt2
  1548.     sub.w #1,4(a0)
  1549.     jsr update2
  1550.  
  1551. tt2
  1552.  
  1553.     lea engine2_vars,a0
  1554.     tst.w (a0)
  1555.     beq tt3
  1556.     add.w #1,16(a0)
  1557.     cmp.w #51,16(a0)
  1558.     blt tt3
  1559.     sub.w #1,4(a0)
  1560.     jsr update2
  1561.  
  1562. tt3
  1563.     lea engine3_vars,a0
  1564.     tst.w (a0)
  1565.     beq tt4
  1566.     add.w #1,16(a0)
  1567.     cmp.w #51,16(a0)
  1568.     blt tt4
  1569.     sub.w #1,4(a0)
  1570.     jsr update2
  1571. tt4
  1572.     lea engine4_vars,a0
  1573.     tst.w (a0)
  1574.     beq etf
  1575.     add.w #1,16(a0)
  1576.     cmp.w #51,16(a0)
  1577.     blt etf
  1578.     sub.w #1,4(a0)
  1579.     jsr update2
  1580.  
  1581. etf
  1582.  
  1583. ;^^^^^^^^^^^^^^^^^^^^^^^^^^^
  1584.         ;service engine vars
  1585.         ; if an engine volume is at 0 then turn it off
  1586.  
  1587.     lea engine1_vars,a0
  1588.     tst.w (a0)
  1589.     beq tev2        ;no engine here
  1590.     cmp.w #1,4(a0)        ;vol at 0
  1591.     bgt tev2
  1592. rb    clr.w (a0)
  1593.     clr.w 8(a0)
  1594.     clr.w 16(a0)
  1595.     move.w acu1,d0
  1596.     jsr clear_amiga_channel
  1597.  
  1598.  
  1599. tev2
  1600.     lea engine2_vars,a0
  1601.     tst.w (a0)
  1602.     beq tev3        ;no engine here
  1603.  
  1604.     cmp.w #1,4(a0)        ;vol at 0
  1605.     bgt tev3
  1606.     clr.w (a0)
  1607.     clr.w 8(a0)
  1608.     clr.w 16(a0)
  1609.     move.w acu2,d0
  1610.     jsr clear_amiga_channel
  1611.  
  1612. tev3
  1613.     lea engine3_vars,a0
  1614.     tst.w (a0)
  1615.     beq tev4        ;no engine here
  1616.     cmp.w #1,4(a0)        ;vol at 0
  1617.     bgt tev4
  1618.     clr.w (a0)
  1619.     clr.w 8(a0)
  1620.     clr.w 16(a0)
  1621.     move.w acu3,d0
  1622.     jsr clear_amiga_channel
  1623. tev4
  1624.     lea engine4_vars,a0
  1625.     tst.w (a0)
  1626.     beq ch1            ;no engine here
  1627.     cmp.w #1,4(a0)        ;vol at 0
  1628.     bne ch1
  1629.     clr.w (a0)
  1630.     clr.w 8(a0)
  1631.     clr.w 16(a0)
  1632.     move.w acu4,d0
  1633.     jsr clear_amiga_channel
  1634.     bra ch1
  1635.  
  1636. clear_amiga_channel
  1637.     cmp.w #4,d0
  1638.     bne cac2
  1639.     clr.w fxce4
  1640.       move.w #%0000000000001000,d5 
  1641.     lea chann4reg,a2
  1642.     jsr end_fx4p
  1643.  
  1644.     rts
  1645. cac2    cmp.w #3,d0
  1646.     bne cac3
  1647.     clr.w fxce3
  1648.       move.w #%0000000000000100,d5 
  1649.     lea chann3reg,a2
  1650.     jsr end_fx3p
  1651.  
  1652.     rts
  1653. cac3    cmp.w #2,d0
  1654.     bne cac4
  1655.     clr.w fxce2
  1656.       move.w #%0000000000000010,d5 
  1657.     lea chann2reg,a2
  1658.     jsr end_fx2p
  1659.     rts
  1660.  
  1661. cac4    cmp.w #1,d0
  1662.     bne cac5
  1663.     clr.w fxce1
  1664.       move.w #%0000000000000001,d5 
  1665.     lea chann1reg,a2
  1666.     jsr end_fx1p
  1667. cac5    rts
  1668.  
  1669.  
  1670.  
  1671. ;^^^^^^^^^^^^^^^^^^^^^^^^^^^
  1672.  
  1673. ch1:
  1674.     tst.w fx_disable
  1675.     bne test_music1
  1676.     tst.l fxr1
  1677.     bne   ch1j1
  1678.  
  1679.     tst.l fxc1
  1680.     beq test_music1
  1681.     bra ch1j3
  1682. ch1j2    jsr run_dummy1
  1683.     jsr run_fx1
  1684.     bra ch2
  1685. ch1j1
  1686.     jsr set_up1
  1687. ch1j3    tst.w music_disable    
  1688.     beq ch1j2
  1689.     jsr run_fx1
  1690.     bra ch2
  1691. test_music1
  1692.  
  1693.     tst.w fxce1
  1694.     beq noe1
  1695.     jsr run_dummy1
  1696.     bra ch2
  1697.  
  1698.  
  1699. noe1
  1700.     tst.w music_disable
  1701.     bne ch2
  1702.     jsr run_music1
  1703.     bra ch2
  1704.     ;***********************
  1705.  
  1706.     ; channel 1 subroutines
  1707.  
  1708. run_dummy1    
  1709.     move.w #1,mode
  1710.      lea ch1vars,a0
  1711.      lea dummy_reg,a2 
  1712.      move.w #0,d5 
  1713.      move.w #0,d1
  1714.      jsr sect1    
  1715.     rts
  1716.  
  1717. set_up1    
  1718.  
  1719.         jsr endc_fx1p
  1720.  
  1721.          move.l fxr1,d0
  1722.          add d0,d0
  1723.          add d0,d0
  1724.          lea  fxjump_table-4,A1
  1725.      add.l d0,a1
  1726.          move.l (a1),currfx1
  1727.       clr.l fxr1
  1728.      clr.w fxintc1
  1729.       rts
  1730.   
  1731.      
  1732. run_fx1
  1733.     move.w #0,mode
  1734.  
  1735.     lea ch1fxvars,a0
  1736.        lea chann1reg,a2
  1737.       move.w #%0000000000000001,d5 
  1738.      move.w #%1000001000000001,d1 
  1739.      jsr sect1
  1740.     rts
  1741.  
  1742. run_music1
  1743.     move.w #1,mode
  1744.  
  1745.     lea ch1vars,a0
  1746.        lea chann1reg,a2
  1747.       move.w #%0000000000000001,d5 
  1748.       move.w #%1000001000000001,d1 
  1749.       jsr sect1     
  1750.     rts
  1751.  
  1752.     ;  **************************
  1753. ch2
  1754.     tst.w fx_disable
  1755.     bne test_music2
  1756.     tst.l fxr2
  1757.     bne   ch2j1
  1758.     tst.l fxc2
  1759.     beq test_music2
  1760.     bra ch2j3
  1761.  
  1762. ch2j2    jsr run_dummy2
  1763.     jsr run_fx2
  1764.     bra ch3
  1765. ch2j1
  1766.     jsr set_up2
  1767. ch2j3    tst.w music_disable    
  1768.     beq ch2j2
  1769.     jsr run_fx2
  1770.     bra ch3
  1771.  
  1772. test_music2
  1773.  
  1774.  
  1775.     tst.w fxce2
  1776.     beq noe2
  1777.     jsr run_dummy2
  1778.     bra ch3
  1779.  
  1780.  
  1781. noe2
  1782.  
  1783.  
  1784.     tst.w music_disable
  1785.     bne ch3
  1786.     jsr run_music2
  1787.     bra ch3
  1788.     ;***********************
  1789.     ; channel 2 subroutines
  1790. run_dummy2    
  1791.     move.w #1,mode
  1792.  
  1793.      lea ch2vars,a0
  1794.      lea dummy_reg,a2 
  1795.      move.w #0,d5 
  1796.      move.w #0,d1
  1797.      jsr sect1    
  1798.     rts
  1799.  
  1800. set_up2    
  1801.  
  1802.     jsr endc_fx2p
  1803.  
  1804.  
  1805.          move.l fxr2,d0
  1806.          add d0,d0
  1807.          add d0,d0
  1808.          lea  fxjump_table-4,A1
  1809.      add.l d0,a1
  1810.          move.l (a1),currfx2
  1811.       clr.l fxr2
  1812.      clr.w fxintc2
  1813.       rts
  1814.   
  1815.      
  1816. run_fx2
  1817.     move.w #0,mode
  1818.  
  1819.     lea ch2fxvars,a0
  1820.        lea chann2reg,a2
  1821.       move.w #%0000000000000010,d5 
  1822.      move.w #%1000001000000010,d1 
  1823.      jsr sect1
  1824.     rts
  1825.  
  1826. run_music2
  1827.     move.w #1,mode
  1828.  
  1829.     lea ch2vars,a0
  1830.        lea chann2reg,a2
  1831.       move.w #%0000000000000010,d5 
  1832.       move.w #%1000001000000010,d1 
  1833.       jsr sect1     
  1834.     rts
  1835.  
  1836.     ;  **************************
  1837.  
  1838. ch3:
  1839.     tst.w fx_disable
  1840.     bne test_music3
  1841.     tst.l fxr3
  1842.     bne   ch3j1
  1843.     tst.l fxc3
  1844.     beq test_music3
  1845.     bra ch3j3
  1846. ch3j2    jsr run_dummy3
  1847.     jsr run_fx3
  1848.     bra ch4
  1849. ch3j1
  1850.     jsr set_up3
  1851. ch3j3    tst.w music_disable    
  1852.     beq ch3j2
  1853.     jsr run_fx3
  1854.     bra ch4
  1855.  
  1856. test_music3
  1857.  
  1858.  
  1859.     tst.w fxce3
  1860.     beq noe3
  1861.     jsr run_dummy3
  1862.     bra ch4
  1863.  
  1864.  
  1865. noe3
  1866.  
  1867.  
  1868.  
  1869.     tst.w music_disable
  1870.     bne ch4
  1871.     jsr run_music3
  1872.     bra ch4
  1873.  
  1874.     ;***********************
  1875.  
  1876.     ; channel 3 subroutines
  1877.  
  1878. run_dummy3    
  1879.     move.w #1,mode
  1880.  
  1881.      lea ch3vars,a0
  1882.      lea dummy_reg,a2 
  1883.      move.w #0,d5 
  1884.      move.w #0,d1
  1885.      jsr sect1    
  1886.     rts
  1887.  
  1888. set_up3    
  1889.  
  1890.     jsr endc_fx3p
  1891.  
  1892.  
  1893.          move.l fxr3,d0
  1894.          add d0,d0
  1895.          add d0,d0
  1896.          lea  fxjump_table-4,A1
  1897.      add.l d0,a1
  1898.          move.l (a1),currfx3
  1899.       clr.l fxr3
  1900.      clr.w fxintc3
  1901.       rts
  1902.   
  1903.      
  1904. run_fx3
  1905.     move.w #0,mode
  1906.  
  1907.     lea ch3fxvars,a0
  1908.        lea chann3reg,a2
  1909.       move.w #%0000000000000100,d5 
  1910.      move.w #%1000001000000100,d1 
  1911.      jsr sect1
  1912.     rts
  1913.  
  1914. run_music3
  1915.     move.w #1,mode
  1916.  
  1917.     lea ch3vars,a0
  1918.        lea chann3reg,a2
  1919.       move.w #%0000000000000100,d5 
  1920.       move.w #%1000001000000100,d1 
  1921.       jsr sect1     
  1922.     rts
  1923.  
  1924.     ;  **************************
  1925.  
  1926. ch4:
  1927.     tst.w fx_disable
  1928.     bne test_music4
  1929.     tst.l fxr4
  1930.     bne   ch4j1
  1931.     tst.l fxc4
  1932.     beq test_music4
  1933.     bra ch4j3
  1934. ch4j2    jsr run_dummy4
  1935.     jsr run_fx4
  1936.     bra no4
  1937. ch4j1
  1938.     jsr set_up4
  1939. ch4j3    tst.w music_disable    
  1940.     beq ch4j2
  1941.     jsr run_fx4
  1942.     bra no4
  1943.  
  1944. test_music4
  1945.  
  1946.  
  1947.     tst.w fxce4
  1948.     beq noe4
  1949.     jsr run_dummy4
  1950.     bra no4
  1951.  
  1952.  
  1953. noe4
  1954.     tst.w music_disable
  1955.     bne no4
  1956.     jsr run_music4
  1957. no4    
  1958.     movem.l (a7)+,d0-d6/a0-a6    ;restore registers
  1959.     rts
  1960.  
  1961.     ;***********************
  1962.  
  1963.     ; channel 4 subroutines
  1964.  
  1965. run_dummy4    
  1966.     move.w #1,mode
  1967.  
  1968.      lea ch4vars,a0
  1969.      lea dummy_reg,a2 
  1970.      move.w #0,d5 
  1971.      move.w #0,d1
  1972.      jsr sect1    
  1973.     rts
  1974.  
  1975. set_up4    
  1976.  
  1977.     jsr endc_fx4p
  1978.  
  1979.  
  1980.          move.l fxr4,d0
  1981.          add d0,d0
  1982.          add d0,d0
  1983.          lea  fxjump_table-4,A1
  1984.      add.l d0,a1
  1985.          move.l (a1),currfx4
  1986.       clr.l fxr4
  1987.      clr.w fxintc4
  1988.       rts
  1989.   
  1990.      
  1991. run_fx4
  1992.  
  1993.     move.w #0,mode
  1994.  
  1995.     lea ch4fxvars,a0
  1996.        lea chann4reg,a2
  1997.       move.w #%0000000000001000,d5 
  1998.      move.w #%1000001000001000,d1 
  1999.      jsr sect1
  2000.     rts
  2001.  
  2002. run_music4
  2003.  
  2004.     move.w #1,mode
  2005.  
  2006.     lea ch4vars,a0
  2007.        lea chann4reg,a2
  2008.       move.w #%0000000000001000,d5 
  2009.       move.w #%1000001000001000,d1 
  2010.       jsr sect1     
  2011.     rts
  2012.     ;  **************************
  2013.  
  2014. sect1: 
  2015.     ;tst.w 0(a0)
  2016.     ;bne s1j1
  2017.     ;rts
  2018.  
  2019. s1j1:    tst.w 2(a0)
  2020.         beq sect3       
  2021.         cmpi.w #1,2(a0)
  2022.         beq sect4
  2023.  
  2024.         cmpi.w #3,4(a0)    
  2025.         beq part2       
  2026.     
  2027. mode_switch:  subq.w #1,2(a0)     
  2028.  
  2029. check_effects: clr.w altpf      
  2030.         move.w 6(a0),d2    
  2031.         tst.w 8(a0)      
  2032.         beq check_mod
  2033.         tst.w 14(a0)      
  2034.         beq cont_bend
  2035.         subq.w #1,14(a0)
  2036.         bra check_mod
  2037. cont_bend:   addq.w #1,altpf    
  2038.         move.w 10(a0),d3    
  2039.         move.w 12(a0),d4    
  2040.         cmpi.w #1,8(a0)
  2041.         beq pbup
  2042.     
  2043.         sub.w d3,d2
  2044.         cmp.w d2,d4
  2045.         bcs check_mod
  2046.         bra fbend
  2047.  
  2048. pbup:     add.w d3,d2
  2049.         cmp.w d2,d4
  2050.         bcc check_mod
  2051. fbend:     move.w d4,d2
  2052.         clr.w 8(a0)      
  2053. check_mod:   tst.w 16(a0)
  2054.         beq send_alt_pitch
  2055.    
  2056.  
  2057.     tst.w  58(a0)
  2058.     beq st_ok
  2059.     subq.w #1,58(a0)
  2060.     bra send_alt_pitch
  2061. st_ok:
  2062.         tst.w 50(a0)
  2063.         beq cont_mod
  2064.         subq #1,50(a0)
  2065.         bra send_alt_pitch
  2066. cont_mod:    move.w 52(a0),50(a0)  
  2067.         addq #1,altpf
  2068.         cmpi #3,16(a0)
  2069.         bcc addmod
  2070.     
  2071.         move.w 56(a0),d3 
  2072.         sub.w d3,d2
  2073.         addq.w #1,16(a0)  
  2074.         bra send_alt_pitch
  2075. addmod:
  2076.  
  2077.         move.w 54(a0),d3 
  2078.         add.w d3,d2
  2079.         addq.w #1,16(a0)
  2080.         cmpi.w #5,16(a0)
  2081.        bne send_alt_pitch
  2082.         move.w #1,16(a0)  
  2083.  
  2084. send_alt_pitch: tst.w altpf
  2085.         beq send_env
  2086.         move.w d2,6(a0)  
  2087.         move.w d2,6(a2)  
  2088.  
  2089. send_env: 
  2090.  
  2091. do_env_check:
  2092.  
  2093. norm_env:
  2094.     tst.w mode
  2095.     beq fxenv
  2096.  
  2097.     move.l 18(a0),a1    
  2098.         cmpi.w #255,(a1)
  2099.         beq env_finished
  2100.  
  2101. resu    clr.l d0
  2102.     move.w (a1)+,d0
  2103.     sub.w fade,d0
  2104.     bcc sete
  2105.     move.w #0,d0
  2106. sete    move.w d0,8(a2)    
  2107.     move.l a1,18(a0)
  2108.     rts        
  2109.  
  2110. env_finished:
  2111.     subq.l #2,a1    
  2112.     bra resu
  2113.  
  2114. fxenv
  2115.     move.l 18(a0),a1    
  2116.         cmpi.w #255,(a1)
  2117.         beq env_finishedx
  2118.  
  2119. resux    clr.l d0
  2120.     move.w (a1)+,d0
  2121.     move.w d0,8(a2)    
  2122.     move.l a1,18(a0)
  2123.     rts        
  2124.  
  2125. env_finishedx:
  2126.     subq.l #2,a1    
  2127.     bra resux
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134. one_shot_note: move.w #3,4(a0)     
  2135.         move.l 38(a0),(a2)
  2136.         move.w 42(a0),4(a2)
  2137.         move.w d1,dmacon     
  2138.         bra send_env
  2139.  
  2140.  
  2141. part2:                         
  2142.         move.l 44(a0),(a2)
  2143.         move.w 48(a0),4(a2)
  2144.         subq.w #1,2(a0)      
  2145.         move.w #1,4(a0)
  2146.         bra check_effects
  2147.  
  2148. sect3:
  2149.     move.w 0,66(a0)    
  2150.  
  2151.     move.l 22(a0),a1  
  2152. control_ret: move.w (a1)+,d0  
  2153.     cmpi.w #100,d0   
  2154.     bls sect5   
  2155.   
  2156. acc_note:
  2157.     move.w d0,6(a0)  
  2158.     move.w d0,6(a2)  
  2159.     move.w (a1)+,2(a0) 
  2160.     subq.w #1,2(a0)  
  2161.     move.l a1,22(a0)  
  2162.     move.l 34(a0),18(a0) 
  2163.     move.w 60(a0),58(a0) 
  2164.  
  2165.  
  2166.     tst.w 16(a0)
  2167.     beq no_mod_res
  2168.     move.w #1,16(a0)
  2169. no_mod_res:
  2170.     cmpi.w #0,4(a0)
  2171.     beq do_loop
  2172.     bra one_shot_note    
  2173.  
  2174.  
  2175. do_loop:    move.w d1,dmacon   
  2176.         bra send_env
  2177.  
  2178. do_rest:
  2179.     move.w (a1)+,2(a0) 
  2180.     subq.w #1,2(a0)  
  2181.     move.l a1,22(a0)  
  2182.     move.l  #rest_env,18(a0)
  2183.  
  2184.         move.w #0,8(a2)
  2185.         bra send_env
  2186.    
  2187. sect4:
  2188.         cmpi.w #0,4(a0)
  2189.         beq noof
  2190.         move.w d5,dmacon   
  2191. noof:     subq.w #1,2(a0)
  2192.         bra check_effects
  2193.    
  2194. sect5:     move.l #jump_table,a3
  2195.         move.l (a3,d0),a4
  2196.         jmp (a4)
  2197.  
  2198. jump_table: 
  2199.     dc.l  in_line_data
  2200.         dc.l  nsound
  2201.         dc.l  patt_end
  2202.         dc.l  get_env
  2203.         dc.l  check_pbend
  2204.         dc.l  do_mod
  2205.         dc.l  bend_off
  2206.         dc.l  mod_off
  2207.         dc.l  do_rest
  2208.         dc.l  end_fx
  2209.         dc.l  end_fx
  2210.     dc.l  s_f_on
  2211.     dc.l  s_f_off
  2212.     dc.l  set_acc
  2213.     dc.l  rept
  2214.     dc.l  song_select
  2215.  
  2216.  
  2217. in_line_data:
  2218.  
  2219.         nop
  2220.         rts
  2221.  
  2222. rept:
  2223.  
  2224.     tst.w (a1)
  2225.     bne round_again
  2226.  
  2227.     add.l #6,a1
  2228.     move.l (a1),a1
  2229.     bra control_ret
  2230.  
  2231. round_again
  2232.     subq.w #1,(a1)    ;decrease counter
  2233.     add.l #2,a1
  2234.     move.l (a1),a1
  2235.     bra control_ret
  2236.  
  2237. s_f_on: 
  2238.     bclr #1,filter
  2239.     bra control_ret
  2240. s_f_off:
  2241.     bset #1,filter
  2242.     bra control_ret
  2243.  
  2244. nsound:    move.l (a1)+,a3     
  2245.         cmpi.w #0,(a3)
  2246.         bne one_shot_sound
  2247.         move.w (a3)+,4(a0)    
  2248.         move.l (a3)+,(a2)     
  2249.         move.w (a3),4(a2)    
  2250.         jmp control_ret
  2251.  
  2252. one_shot_sound:
  2253.         move.w (a3)+,4(a0)
  2254.         move.l (a3)+,38(a0)   
  2255.         move.l (a3)+,42(a0)
  2256.         move.l (a3),46(a0)
  2257.         jmp control_ret
  2258.  
  2259. patt_end:
  2260.         move.l 26(a0),a1    
  2261.         cmpi.l #0,(a1)     
  2262.         beq song_control
  2263.         addq.l #4,26(a0)    
  2264.         move.l (a1),a1     
  2265.         jmp control_ret
  2266. get_env: 
  2267.     move.l (a1)+,a4 
  2268.  
  2269.     move.l (a4)+,62(a0)    
  2270.     
  2271.     move.l  a4,34(a0)    
  2272.     
  2273.         bra control_ret
  2274.  
  2275. check_pbend:
  2276.      move.l (a1)+,8(a0)
  2277.         move.l (a1)+,12(a0)
  2278.         bra control_ret
  2279.  
  2280. do_mod:    move.w #1,16(a0)  
  2281.         move.l (a1)+,50(a0)
  2282.         move.l (a1)+,54(a0)
  2283.         move.l (a1)+,58(a0)
  2284.         bra control_ret
  2285.  
  2286. bend_off:   clr.w 8(a0)
  2287.         bra control_ret
  2288.  
  2289. mod_off:    clr.w 16(a0)
  2290.         bra control_ret
  2291.  
  2292.  
  2293. end_fx:    
  2294.     cmpi.w #6,(a0)
  2295.     beq end_fx4p
  2296.  
  2297.     cmpi.w #5,(a0)
  2298.     beq end_fx3p
  2299.  
  2300.     cmpi.w #7,(a0)
  2301.     beq end_fx2p
  2302.  
  2303.     cmpi.w #8,(a0)
  2304.     beq end_fx1p
  2305.     rts
  2306.  
  2307. end_fx1p:
  2308.         move.w #%0000000000000001,dmacon   
  2309.     move.w  #1,chann1reg+6
  2310.     move.w #0,chann1reg+8
  2311.     move.l #0,fxc1
  2312.     rts
  2313.  
  2314. end_fx2p:
  2315.     move.w #%0000000000000010,dmacon 
  2316.     move.w  #1,chann2reg+6
  2317.         move.w #0,chann2reg+8 
  2318.     move.l #0,fxc2
  2319.         rts
  2320.  
  2321.  
  2322. end_fx3p:
  2323.         move.w #%0000000000000100,dmacon   
  2324.     move.w  #1,chann3reg+6
  2325.     move.w #0,chann3reg+8
  2326.     move.l #0,fxc3
  2327.     rts
  2328.  
  2329. end_fx4p:
  2330.  
  2331.     move.w #%0000000000001000,dmacon 
  2332.     move.w  #1,chann4reg+6
  2333.         move.w #0,chann4reg+8
  2334.     move.l #0,fxc4
  2335.         rts
  2336.  
  2337.  
  2338. endc_fx1p:
  2339.         move.w #%0000000000000001,dmacon   
  2340.     move.w  #1,chann1reg+6
  2341.     move.w #0,chann1reg+8
  2342.     ;move.l #0,fxc1
  2343.     rts
  2344.  
  2345. endc_fx2p:
  2346.     move.w #%0000000000000010,dmacon 
  2347.     move.w  #1,chann2reg+6
  2348.         move.w #0,chann2reg+8 
  2349.     ;move.l #0,fxc2
  2350.         rts
  2351.  
  2352.  
  2353. endc_fx3p:
  2354.         move.w #%0000000000000100,dmacon   
  2355.     move.w  #1,chann3reg+6
  2356.     move.w #0,chann3reg+8
  2357.     ;move.l #0,fxc3
  2358.     rts
  2359.  
  2360. endc_fx4p:
  2361.  
  2362.     move.w #%0000000000001000,dmacon 
  2363.     move.w  #1,chann4reg+6
  2364.         move.w #0,chann4reg+8
  2365.     ;move.l #0,fxc4
  2366.         rts
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374. set_acc: move.w #1,66(a0) 
  2375.     bra control_ret
  2376.  
  2377. song_control:            ;these instructions reset the
  2378.         addq.l #4,a1
  2379.         move.l 30(a0),26(a0)    ;song pointers to the start for looping
  2380.         move.l 26(a0),a1
  2381.         addq.l #4,26(a0)
  2382.         move.l (a1),a1
  2383.         jmp control_ret            ;dont change this
  2384.  
  2385.  
  2386.     ;"""""""""""""""""""""""""""""""""""""""""""""""""
  2387. song_select:
  2388.  
  2389.             ;A CALL HERE TO A ROUTINE THAT SELECTED
  2390.             ;A NEW TUNE/PLACED THE NUMBER IN SONG_BUFFER
  2391.             ;AND CALLED select_new_song WOULD START
  2392.              ;A DIFFERENT TUNE
  2393.             
  2394.             ;test code only..replace with your own
  2395.  
  2396.  
  2397.     move.l song_buffer,d0
  2398.     addq.l #1,d0
  2399.     cmp.l    #10,d0            ; 9 tunes in this test
  2400.     bne noresx    
  2401.     move.l #1,d0
  2402. noresx    move.l d0,song_buffer
  2403.  
  2404.     jsr    select_new_song        ;this call sets up the new tune
  2405.  
  2406.     rts
  2407.  
  2408.  
  2409. ;-----------------------------------------------
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.     ;;; DATA
  2421.  
  2422. song_table:
  2423.  
  2424.     dc.l     s1,s2,s3,s4            ;hall of m kings
  2425.     dc.l     s5,s6,s7,s8            ;title tune
  2426.     dc.l    sbaba1,sbaba2,sbaba3,sbaba4    ;baba yaga
  2427.     dc.l    sgg1,sgg2,sgg3,sgg4        ;great gates
  2428.     dc.l    bds1,bds2,bds3,bds4        ;blue danube
  2429.     dc.l    jalt1,jalt2,jalt3,jalt4        ;alternative to jupiter
  2430.     dc.l    rvs1,rvs2,rvs3,rvs4        ;ride valkries
  2431.     dc.l     ssilent,ssilent,ssilent,ssilent ;silent    
  2432.     dc.l    bm1,bm2,bm3,bm4            ;b mountain
  2433.     dc.l    intro5,intro6,intro7,intro8
  2434.  
  2435. ;************************************************************
  2436. gvars:
  2437. ch1vars     
  2438.     dc.w 0     
  2439.         dc.w 0,0,0,0,0,0,0,0,0,0     
  2440. pattr1: dc.l 0    
  2441. songr1: dc.l 0    
  2442. wsong1: dc.l 0   
  2443.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  2444.  
  2445. ch2vars     
  2446.     dc.w 0     
  2447.         dc.w 0,0,0,0,0,0,0,0,0,0     
  2448. pattr2: dc.l 0    
  2449. songr2: dc.l 0    
  2450. wsong2: dc.l 0    
  2451.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  2452.  
  2453. ch3vars 
  2454.     dc.w 0     
  2455.         dc.w 0,0,0,0,0,0,0,0,0,0     
  2456. pattr3: dc.l 0    
  2457. songr3: dc.l 0    
  2458. wsong3: dc.l 0    
  2459.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  2460.  
  2461. ch4vars 
  2462.     dc.w 0     
  2463.         dc.w 0,0,0,0,0,0,0,0,0,0     
  2464. pattr4: dc.l 0    
  2465. songr4: dc.l 0    
  2466. wsong4: dc.l 0    
  2467.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  2468.  
  2469.     dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2470.  
  2471.  
  2472. ch1fxvars 
  2473.     dc.w 0     
  2474. fxintc1:
  2475.     dc.w 0,0,0,0,0,0,0,0,0,0     
  2476. currfx1:
  2477.     dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    
  2478.  
  2479. ch2fxvars 
  2480.     dc.w 0     
  2481. fxintc2:
  2482.     dc.w 0,0,0,0,0,0,0,0,0,0     
  2483. currfx2:
  2484.     dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    
  2485.  
  2486.  
  2487. ch3fxvars
  2488.     dc.w 0     
  2489. fxintc3:
  2490.     dc.w 0,0,0,0,0,0,0,0,0,0     
  2491. currfx3:
  2492.     dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    
  2493.  
  2494. ch4fxvars 
  2495.     dc.w 0     
  2496. fxintc4:
  2497.     dc.w 0,0,0,0,0,0,0,0,0,0     
  2498. currfx4:
  2499.     dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    
  2500. ;************************************************************
  2501.  
  2502. dummy_reg dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2503.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2504.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2505.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2506.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2507.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2508.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2509.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2510.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2511.  
  2512.  
  2513. ;************************************************************
  2514.  
  2515. ;       THESE ARE THE FX PATTERNS................
  2516.  
  2517. ; The interrupt counter in these patterns is dependent on the
  2518. ; playback speed.The figure is calculated as follows
  2519. ; (length/playback speed) *50
  2520. ; the figure then needs rounding up to give a clear finish
  2521. ; if you have the count longer than needed it will cut
  2522. ; out the music on the relevent channel for longer than
  2523. ; neccessary and make it sound jerky
  2524. ; The fx table is below the patterns
  2525.  
  2526.  
  2527. fuelscoopfx
  2528.       dc.w new_env
  2529.       dc.l fs_env
  2530.       dc.w new_snd
  2531.       dc.l rumblep
  2532. fsr    dc.w pbend,up,5,r20,1
  2533.     dc.w    r12,48
  2534.  
  2535.     dc.w repeat
  2536. loopc4    dc.w 2
  2537.     dc.l fsr,fsend
  2538. fsend      dc.w new_env
  2539.       dc.l fs_env2
  2540.     dc.w pbend,down,10,r6,1
  2541.     dc.w r12,40
  2542.  
  2543.       dc.w end_fxp
  2544.  
  2545. fs_env:        dc.w 0,64,64,64,255
  2546. fs_env2        dc.w 0,64,60,57,55,52
  2547.         dc.w 0,50,47,45,43,40
  2548.         dc.w 40,37,35,33,30
  2549.         dc.w 30,27,25,23,20
  2550.         dc.w 20,17,15,13,10
  2551.         dc.w 10,7,5,3,0,255
  2552.  
  2553.  
  2554. ;***************
  2555. damagefx
  2556.       dc.w new_snd
  2557.       dc.l snarep
  2558.       dc.w new_env
  2559.       dc.l damage_env
  2560.     dc.w modon,1,1,2,5,1,1
  2561.     dc.w r1,50
  2562.       dc.w end_fxp
  2563.  
  2564. damage_env:            dc.w 0,64,64,64,64,64,64,64,64,64,64,64,64,64,64
  2565.                 dc.w 60,58,55,53,40,45,44,42,40,38,35,34,33
  2566.                 dc.w 32,30,28,25,22,20,18,15,12,10,7,5,4,0,255
  2567. ;******************
  2568.  
  2569. shieldfx
  2570.       dc.w new_snd
  2571.       dc.l hissp
  2572.       dc.w new_env
  2573.       dc.l shield_env
  2574.     ;dc.w modon,2,2,30,30,1,1
  2575.     dc.w r20,50
  2576.       dc.w end_fxp
  2577.  
  2578. shield_env:            dc.w 0,64,64,64,64,64,60,57,53,50,47,45,40,37
  2579.                 dc.w 35,31,28,25,22,20,18,15,12,10,7,5,4,0,255
  2580. ;******************
  2581.  
  2582. clunckfx
  2583.       dc.w new_snd
  2584.       dc.l doorclosp
  2585.       dc.w new_env
  2586.       dc.l clunk_env
  2587.     dc.w r5,10
  2588.       dc.w end_fxp
  2589.  
  2590. clunk_env:            dc.w 0,64,64,64,255
  2591. ;******************
  2592.  
  2593.  
  2594. missile_launch
  2595.  
  2596.     dc.w pbend,up,10,r12,1
  2597.       dc.w new_snd
  2598.       dc.l hisslp
  2599.       dc.w new_env
  2600.       dc.l hiss2_env
  2601.     dc.w r4,80
  2602.     dc.w pboff
  2603.       dc.w end_fxp
  2604.  
  2605. ml_env:            dc.w 0,64,64,64,255
  2606. ;******************
  2607.  
  2608.  
  2609. hyper_space
  2610.       dc.w new_snd
  2611.       dc.l hyperp
  2612.       dc.w new_env
  2613.       dc.l h_env
  2614.     dc.w r3,130
  2615.       dc.w end_fxp
  2616.  
  2617. h_env:            dc.w 0,64,64,64,255
  2618. ;******************
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624. factroarfx
  2625.       dc.w new_env
  2626.       dc.l roar_env
  2627.       dc.w new_snd
  2628.       dc.l rumblep
  2629. fr    dc.w    r1,72
  2630.  
  2631.     dc.w repeat
  2632. loopc3    dc.w 2
  2633.     dc.l fr,frend
  2634.  
  2635. frend
  2636.       dc.w new_env
  2637.       dc.l roar_env2
  2638.  
  2639.     dc.w    r1,40
  2640.  
  2641.       dc.w end_fxp
  2642.  
  2643. roar_env:            dc.w 0,64,64,64,255
  2644. roar_env2:
  2645.         dc.w 0,64,60,57,55,52
  2646.         dc.w 0,50,47,45,43,40
  2647.         dc.w 40,37,35,33,30
  2648.         dc.w 30,27,25,23,20
  2649.         dc.w 20,17,15,13,10
  2650.         dc.w 10,7,5,3,0,255
  2651.  
  2652.  
  2653. ;*******************************
  2654.  
  2655.  
  2656. undercfx_up:
  2657.       dc.w new_env
  2658.       dc.l underc_env
  2659.       dc.w new_snd
  2660.       dc.l hissp
  2661.     dc.w pbend,up,20,r6,1
  2662.     dc.w    r4,112
  2663.       dc.w new_snd
  2664.       dc.l doorclosp
  2665.     dc.w r10,4,r4,24
  2666.       dc.w end_fxp
  2667.  
  2668. underc_env:            dc.w 0,0
  2669. vv8                dc.w 44,255
  2670.  
  2671. ;*************
  2672. undercfx_down:
  2673.       dc.w new_env
  2674.       dc.l underc_env
  2675.       dc.w new_snd
  2676.       dc.l hissp
  2677.     dc.w pbend,down,10,r4,1
  2678.     dc.w    r6,112
  2679.       dc.w new_snd
  2680.       dc.l doorclosp
  2681.     dc.w r6,4,r6,24
  2682.       dc.w end_fxp
  2683.  
  2684. ;*************
  2685.  
  2686. airlock1fx:
  2687.       dc.w new_env
  2688.       dc.l hiss_env
  2689.       dc.w new_snd
  2690.       dc.l hissp
  2691.     dc.w r3,140
  2692.  
  2693.       dc.w new_env
  2694.       dc.l doorclos_env
  2695.       dc.w new_snd
  2696.       dc.l airlockp
  2697.     dc.w    r3,47
  2698.       dc.w end_fxp
  2699.  
  2700. doorclos_env:            dc.w 0,64,64,64,255
  2701. hiss_env:
  2702.     dc.w 0,64,64,64,255
  2703.  
  2704. ;*************************
  2705. airlock2fx:
  2706.  
  2707.       dc.w new_env
  2708.       dc.l hiss_env
  2709.       dc.w new_snd
  2710.       dc.l hissp
  2711.     dc.w r3,140
  2712.  
  2713.       dc.w new_env
  2714.       dc.l doorclos_env
  2715.       dc.w new_snd
  2716.       dc.l airlockp
  2717.     dc.w    r3,47
  2718.       dc.w end_fxp
  2719.  
  2720.       dc.w end_fxp
  2721.  
  2722. ;*********************
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731. space_station_backfx:
  2732.  
  2733.       dc.w new_env
  2734.       dc.l stb_env
  2735.       dc.w new_snd
  2736.       dc.l hissp
  2737. ssr    dc.w r1,127
  2738.     dc.w    repeat
  2739. loopc2    dc.w    1
  2740.     dc.l    ssr,ssend
  2741.  
  2742. ssend      dc.w new_env
  2743.       dc.l stb1_env
  2744.     dc.w r1,30
  2745.       dc.w end_fxp
  2746.  
  2747. stb_env:    dc.w 0,50,50,50,255
  2748. stb1_env
  2749.         dc.w 0,50,47,45,43,40
  2750.         dc.w 40,37,35,33,30
  2751.         dc.w 30,27,25,23,20
  2752.         dc.w 20,17,15,13,10
  2753.         dc.w 10,7,5,3,0,255
  2754.  
  2755.  
  2756. ;***********************
  2757.  
  2758. bongfx
  2759.     dc.w pboff
  2760.       dc.w new_env
  2761.       dc.l bong_env
  2762.       dc.w new_snd
  2763.       dc.l bongp
  2764.  
  2765.     dc.w r3,20
  2766.       dc.w end_fxp
  2767.  
  2768. bong_env:    dc.w 0,64,64,64,255
  2769.  
  2770. ;***********************
  2771.  
  2772. bellfx
  2773.     dc.w pboff
  2774.       dc.w new_env
  2775.       dc.l bell_env
  2776.       dc.w new_snd
  2777.       dc.l bongp
  2778.     dc.w modon,2,2,30,30,1,1
  2779.  
  2780.     dc.w r2,30
  2781.       dc.w end_fxp
  2782.  
  2783. bell_env:    dc.w 0,64,64,64,255
  2784.  
  2785. ;***********************
  2786.  
  2787. target_confirmedfx
  2788.     dc.w pboff
  2789.       dc.w new_env
  2790.       dc.l tg_env
  2791.       dc.w new_snd
  2792.       dc.l bongp
  2793.  
  2794.     dc.w r16,2,r8,2,r16,2,r8,2
  2795.     dc.w r16,2,r8,2,r16,2,r8,2
  2796.       dc.w end_fxp
  2797.  
  2798. tg_env:    dc.w 0,64,64,64,255
  2799.  
  2800. ;***********************
  2801.  
  2802.  
  2803. lazer2_pr1fx
  2804.       dc.w new_env
  2805.       dc.l lazer2_env
  2806.       dc.w new_snd
  2807.       dc.l lazer2p
  2808.     dc.w r3,25
  2809.  
  2810.       dc.w end_fxp
  2811.  
  2812. lazer2_env:    dc.w 0,0
  2813. vv6        dc.w 64,255
  2814.  
  2815. ;***********************
  2816.  
  2817. lazer1_pr1fx
  2818.       dc.w new_env
  2819.       dc.l lazer1_env
  2820.       dc.w new_snd
  2821.       dc.l lazer1p
  2822.     dc.w r2,25
  2823.  
  2824.       dc.w end_fxp
  2825.  
  2826. lazer1_env:    dc.w 0,0
  2827. vv7        dc.w 64,255
  2828.  
  2829.  
  2830.  
  2831. ;***********************
  2832.  
  2833.  
  2834. ;***********************
  2835.  
  2836.  
  2837. lazer4_pr1fx
  2838.       dc.w new_env
  2839.       dc.l lazer4_env
  2840.       dc.w new_snd
  2841.       dc.l lazer2p
  2842.     dc.w r3,25
  2843.  
  2844.       dc.w end_fxp
  2845.  
  2846. lazer4_env:        dc.w 0,0
  2847. vv10        dc.w 64,255
  2848.  
  2849. ;***********************
  2850.  
  2851. lazer3_pr1fx
  2852.       dc.w new_env
  2853.       dc.l lazer3_env
  2854.       dc.w new_snd
  2855.       dc.l lazer1p
  2856.     dc.w r2,25
  2857.  
  2858.       dc.w end_fxp
  2859.  
  2860. lazer3_env:    dc.w 0,0
  2861. vv11        dc.w 64,255
  2862.  
  2863.  
  2864.  
  2865. ;***********************
  2866.  
  2867. wind2
  2868.       dc.w new_snd
  2869.       dc.l windp
  2870.  
  2871. wr2    
  2872.  
  2873.       dc.w new_env
  2874.       dc.l wind_env1
  2875.     dc.w pbend,up,2,r3-40,1
  2876.     dc.w    r2,100
  2877.  
  2878.     dc.w    pboff
  2879.       dc.w new_env
  2880.       dc.l wind_env2
  2881.     dc.w    r3-40,50
  2882.  
  2883.       dc.w new_env
  2884.       dc.l wind_env3
  2885.     dc.w pbend,down,10,r2,1
  2886.     dc.w    r3-40,100
  2887.  
  2888.  
  2889.       dc.w new_env
  2890.       dc.l wind_env1
  2891.     dc.w pbend,up,20,r3-30,1
  2892.     dc.w    r2,50
  2893.  
  2894.     dc.w    pboff
  2895.       dc.w new_env
  2896.       dc.l wind_env4
  2897.     dc.w    r3-30,100
  2898.  
  2899.       dc.w new_env
  2900.       dc.l wind_env2
  2901.     dc.w pbend,down,8,r2-10,1
  2902.     dc.w    r3-30,80
  2903.  
  2904.       dc.w new_env
  2905.       dc.l wind_env3
  2906.  
  2907.     dc.w r2-4,120,r2-5,130
  2908.       dc.w new_env
  2909.       dc.l wind_env5
  2910.     dc.w r2,120
  2911.  
  2912.  
  2913.     dc.w repeat
  2914.     dc.w 2
  2915.     dc.l wr2,wr2
  2916.      dc.w end_fxp
  2917.  
  2918.  
  2919.  
  2920.  
  2921. windfx
  2922.       dc.w new_snd
  2923.       dc.l windp
  2924.  
  2925. wr    
  2926.  
  2927.       dc.w new_env
  2928.       dc.l wind_env1
  2929.     dc.w pbend,up,2,r3-40,1
  2930.     dc.w    r2,100
  2931.  
  2932.     dc.w    pboff
  2933.       dc.w new_env
  2934.       dc.l wind_env2
  2935.     dc.w    r3-40,50
  2936.  
  2937.       dc.w new_env
  2938.       dc.l wind_env3
  2939.     dc.w pbend,down,10,r2,1
  2940.     dc.w    r3-40,100
  2941.  
  2942.  
  2943.       dc.w new_env
  2944.       dc.l wind_env1
  2945.     dc.w pbend,up,20,r3-30,1
  2946.     dc.w    r2,100
  2947.  
  2948.     dc.w    pboff
  2949.       dc.w new_env
  2950.       dc.l wind_env4
  2951.     dc.w    r3-30,100
  2952.  
  2953.       dc.w new_env
  2954.       dc.l wind_env2
  2955.     dc.w pbend,down,8,r2-10,1
  2956.     dc.w    r3-30,80
  2957.  
  2958.  
  2959.       dc.w new_env
  2960.       dc.l wind_env3
  2961.  
  2962.     dc.w r2-4,120,r2-5,130
  2963.       dc.w new_env
  2964.       dc.l wind_env5
  2965.     dc.w r2,120
  2966.  
  2967.  
  2968.     dc.w repeat
  2969. loopc1    dc.w 2
  2970.     dc.l wr,wr
  2971.  
  2972. wend      dc.w end_fxp
  2973.  
  2974. wind_env1:    dc.w 0,0,10,12,15,17,20,21,22,24,25,26,29,32,34,37,38,40,42,43,44,44,40,40,38
  2975.         dc.w 40,45,255
  2976. wind_env2:    dc.w 0,0,44,42,40,48,46,44,43,40,45,43,40,37,36,35,33,30,25,28,26,25
  2977.         dc.w 20,18,15,12,255
  2978. wind_env3:    dc.w 0,0,12,255
  2979.  
  2980. wind_env4:    dc.w 0,0,40,255
  2981.  
  2982. wind_env5:    dc.w 0,15,15,15,14,14,14,13,12,11,10,9,10,255
  2983.  
  2984.  
  2985. ;***********************
  2986.  
  2987.  
  2988.  
  2989. ship_diefx
  2990.       dc.w new_env
  2991.       dc.l sd_env
  2992.       dc.w new_snd
  2993.       dc.l exp1p
  2994.     dc.w r1,160
  2995.  
  2996.       dc.w end_fxp
  2997.  
  2998.  
  2999. sd_env:    dc.w 0,0,0,64,255
  3000.  
  3001. ;***********************
  3002.  
  3003.  
  3004. ;***********************
  3005.  
  3006.  
  3007. exp1fx
  3008.       dc.w new_env
  3009.       dc.l exp1_env
  3010.       dc.w new_snd
  3011.       dc.l exp1p
  3012.     dc.w r4,40
  3013.  
  3014.       dc.w end_fxp
  3015.  
  3016.  
  3017. exp1_env:    dc.w 0,0
  3018. vv4        dc.w 64,255
  3019.  
  3020. ;***********************
  3021.  
  3022.  
  3023.  
  3024. exp2fx
  3025.       dc.w new_env
  3026.       dc.l exp2_env
  3027.       dc.w new_snd
  3028.       dc.l exp1p
  3029.     dc.w r2,65
  3030.  
  3031.       dc.w end_fxp
  3032.  
  3033.  
  3034. exp2_env:    dc.w 0,0
  3035. vv5        dc.w 64,255
  3036.  
  3037. ;***********************
  3038.  
  3039. beepfx
  3040.     dc.w pboff
  3041.       dc.w new_env
  3042.       dc.l beep_env
  3043.       dc.w new_snd
  3044.       dc.l bongp
  3045.     dc.w r12,30
  3046.  
  3047.       dc.w end_fxp
  3048.  
  3049. beep_env:    dc.w 0,64,64,64,255
  3050.  
  3051. ;***********************
  3052.  
  3053.  
  3054. ecm1fx
  3055.     dc.w pboff
  3056.       dc.w new_env
  3057.       dc.l xbomb2_env
  3058.       dc.w new_snd
  3059.       dc.l alarmp
  3060.     dc.w pbend,up,1,r2,1
  3061.     dc.w    r1,100
  3062.  
  3063.       dc.w end_fxp
  3064.  
  3065. xbomb2_env:    dc.w 0,64,64,64,255
  3066.  
  3067. ;***********************
  3068.  
  3069. ecm2fx
  3070.     dc.w pboff
  3071.       dc.w new_env
  3072.       dc.l xbomb2_env
  3073.       dc.w new_snd
  3074.       dc.l alarmp
  3075.     dc.w pbend,up,1,r2,1
  3076.     dc.w    r4,100
  3077.  
  3078.       dc.w end_fxp
  3079.  
  3080.  
  3081. ;***********************
  3082.  
  3083. alarm2fx
  3084.     dc.w pboff
  3085.       dc.w new_env
  3086.       dc.l alarm_env
  3087.       dc.w new_snd
  3088.       dc.l alarmp
  3089.     dc.w pbend,up,50,r9,1
  3090.     dc.w    r6,14
  3091.     dc.w pbend,up,50,r9,1
  3092.     dc.w    r6,14
  3093.     dc.w pbend,up,50,r9,1
  3094.     dc.w    r6,14
  3095.     dc.w pbend,up,50,r9,1
  3096.     dc.w    r6,14
  3097.     dc.w pbend,up,50,r9,1
  3098.     dc.w    r6,14
  3099.     dc.w pbend,up,50,r9,1
  3100.     dc.w    r6,14
  3101.     dc.w pbend,up,50,r9,1
  3102.     dc.w    r6,14
  3103.     dc.w pbend,up,50,r9,1
  3104.     dc.w    r6,14
  3105.       dc.w end_fxp
  3106.  
  3107. alarm_env:    dc.w 0,64,64,64,255
  3108.  
  3109. ;***********************
  3110.  
  3111.  
  3112. energy_bombfx
  3113.     dc.w pboff
  3114.       dc.w new_env
  3115.       dc.l xbomb2_env
  3116.       dc.w new_snd
  3117.       dc.l alarmp
  3118.     dc.w modon,1,1,100,100,1,1
  3119.     dc.w    r16,50*7
  3120.       dc.w end_fxp
  3121.  
  3122.  
  3123. xbomb_env:    dc.w 0,64,64,64,255
  3124.  
  3125.  
  3126.  
  3127.  
  3128. expbig1_fx
  3129.     dc.w pboff
  3130.       dc.w new_env
  3131.       dc.l eb1_env
  3132.       dc.w new_snd
  3133.       dc.l expbigp
  3134.     dc.w    r4,86
  3135.       dc.w end_fxp
  3136.  
  3137.  
  3138.  
  3139. eb1_env:    dc.w 0,0
  3140. vv1        dc.w 64,255
  3141.  
  3142.  
  3143. expbig2_fx
  3144.     dc.w pboff
  3145.       dc.w new_env
  3146.       dc.l eb2_env
  3147.       dc.w new_snd
  3148.       dc.l expbigp
  3149.     dc.w    r6,58
  3150.       dc.w end_fxp
  3151.  
  3152.  
  3153. eb2_env:    dc.w 0,0
  3154. vv2        dc.w 64,255
  3155.  
  3156.  
  3157. expbig3_fx
  3158.     dc.w pboff
  3159.       dc.w new_env
  3160.       dc.l eb3_env
  3161.       dc.w new_snd
  3162.       dc.l expbigp
  3163.     dc.w    r3,172
  3164.       dc.w end_fxp
  3165.  
  3166.  
  3167. eb3_env:   dc.w 0,0
  3168. vv3       dc.w 64,255
  3169.  
  3170. hiss_fx
  3171.     dc.w pboff
  3172.       dc.w new_env
  3173.       dc.l hiss2_env
  3174.       dc.w new_snd
  3175.       dc.l hisslp
  3176.     dc.w    r8,68
  3177.       dc.w end_fxp
  3178.  
  3179.  
  3180. hiss2_env:    dc.w 64,64,64,63,60,60,60
  3181.        dc.w 60,59,58,57,56,55,54,53,52,51
  3182.        dc.w 50,49,48,47,46,45,44,43,42,41
  3183.        dc.w 40,39,38,37,36,35,34,33,32,31
  3184.        dc.w 30,29,28,27,26,25,24,23,22,21
  3185.        dc.w 20,19,18,17,16,15,14,13,12,11
  3186.        dc.w 10,9,8,7,6,5,4,3,2,1,0,255
  3187.  
  3188.  
  3189.  
  3190. ship_to_ship_fx
  3191.     dc.w pboff
  3192.       dc.w new_env
  3193.       dc.l stse_env
  3194.       dc.w new_snd
  3195.       dc.l sinep
  3196.     dc.w    c03,3,e03,3,b02,3,a02,3
  3197.     dc.w    e03,3,g03,3,f02,3,bb02,3
  3198.     dc.w    gb03,3,b02,3,c02,3,db03,3
  3199.     dc.w    a03,3,gb03,3,b02,3,ab02,3
  3200.       dc.w end_fxp
  3201.  
  3202. stse_env dc.w 0,64,64,64,255
  3203.  
  3204.  
  3205.  
  3206. camera
  3207.     dc.w pboff
  3208.       dc.w new_env
  3209.       dc.l c_env
  3210.       dc.w new_snd
  3211.       dc.l airlockp
  3212.     dc.w  r20,8
  3213.       dc.w end_fxp
  3214.  
  3215. c_env dc.w 0,64,64,64,255
  3216.  
  3217. ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  3218.  
  3219.  
  3220. ;***********************
  3221.  
  3222. fxjump_table:  
  3223.                     ;engines are triggered via the engine
  3224.                     ;routine only
  3225.     dc.l    current_engine1_fx    
  3226.     dc.l    current_engine2_fx
  3227.     dc.l    current_engine3_fx
  3228.     dc.l    current_engine4_fx
  3229.     ;-----------------------------
  3230.                     ;variable volume fx 5 to 13
  3231.     dc.l    expbig1_fx    ;(5)
  3232.     dc.l    expbig2_fx    ;(6)
  3233.     dc.l    expbig3_fx    ;(7)
  3234.     dc.l    exp1fx        ;(8)
  3235.     dc.l    exp2fx        ;(9)
  3236.     dc.l    lazer2_pr1fx    ;(10)
  3237.     dc.l    lazer1_pr1fx    ;(11)
  3238.     dc.l    undercfx_up    ;(12)    2.8 seconds..140 frames at 50hz
  3239.     dc.l    undercfx_down    ;(13)   2.8 seconds..     ""
  3240.  
  3241.     ;---------------------------
  3242.                 ;    looping fx 14 to 17
  3243.     dc.l    windfx        ;(14) infinite run with wind2 for two channels(37)
  3244.     dc.l    space_station_backfx    ;(15)
  3245.     dc.l    factroarfx    ;(16)
  3246.     dc.l    fuelscoopfx    ;(17)
  3247.     ;----------------------------
  3248.                 ; fixed vol non looping 18-30
  3249.     dc.l    airlock1fx    ;(18)  2.8 sec
  3250.     dc.l    airlock2fx    ;(19)  2.8 sec
  3251.     dc.l    beepfx        ;(20)
  3252.     dc.l    target_confirmedfx    ;(21)
  3253.     dc.l    bongfx        ;(22)
  3254.     dc.l    bellfx        ;(23)
  3255.     dc.l    clunckfx    ;(24)
  3256.     dc.l    ecm1fx        ;(25)
  3257.     dc.l    ecm2fx        ;(26)
  3258.     dc.l    energy_bombfx    ;(27)  7 seconds....350 frames at 50hz
  3259.     dc.l    shieldfx    ;(28)
  3260.     dc.l    damagefx    ;(29)
  3261.     dc.l    alarm2fx    ;(30)
  3262.     dc.l    ship_diefx    ;(31)  explosion to 4 (not overwritten)
  3263.     dc.l    missile_launch  ;(32)
  3264.     dc.l    hyper_space    ;(33)
  3265.     dc.l    hiss_fx        ;(34) 
  3266.  
  3267.     dc.l    lazer4_pr1fx    ;(35) variable vol for alien lazers
  3268.     dc.l    lazer3_pr1fx    ;(36) variable vol for alien lazers 
  3269.     dc.l    wind2        ;(37) copy of windfx for twin channel
  3270.  
  3271.     dc.l    ship_to_ship_fx    ;(38) message send/recieve
  3272.     dc.l    camera        ;(39) ????
  3273.  
  3274.  
  3275.  
  3276. max_fx    dc.l    40        ;number + 1 for testing only
  3277. ;______________________________________________________________________
  3278.  
  3279.  
  3280. ;myfile                     empty rwed Today     22:38:40
  3281. ;UNDERC.FON                   768 rwed Today     22:37:09
  3282. ;HISS.FON                    1560 rwed Today     22:37:08
  3283. ;DOORCLOS.FON                1386 rwed Today     22:37:07
  3284. ;AIRLOCK.FON                 2800 rwed Today     22:37:06
  3285. ;RUMBLE.FON                  1440 rwed Today     22:37:06
  3286. ;BONG.FON                    1296 rwed Today     22:37:05
  3287. ;LAZER2.FON                  1950 rwed Today     22:37:04
  3288. ;LAZER1.FON                  2832 rwed Today     22:37:04
  3289. ;ENGINE2.FON                 2124 rwed Today     22:37:03
  3290. ;EXP1.FON                    2346 rwed Today     22:37:02
  3291. ;WIND.FON                    3272 rwed Today     22:37:00
  3292. ;ENGINE1.FON                 1764 rwed Today     22:37:00
  3293. ;EXPLOSIO.CON                2440 rwed Today     22:36:38
  3294. ;ALARM1.CON                   586 rwed Today     22:36:37
  3295. ;WHEELS.CON                  1808 rwed Today     22:36:36
  3296. ;HISS.CON                    2545 rwed Today     22:36:35
  3297. ;17 files - 86 blocks used
  3298. ;
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304. sstart: dc.l 0,end_song
  3305.  
  3306. pstart: dc.w end_patt
  3307.  
  3308. ;****************************
  3309.  
  3310. cr  set   16
  3311. q set  cr/2
  3312. sq set q/2
  3313. dsq set   sq/2
  3314.  
  3315.  
  3316. tcr1 set 11
  3317. tcr2 set 10
  3318. tq1 set      5
  3319. tq2 set   6
  3320. tsq1 set  3
  3321. tsq2 set 2
  3322.  
  3323.  
  3324. bm1:
  3325.  
  3326.     dc.l    pizpiano_sound_very_quiet
  3327.     dc.l    bmpatt1
  3328.     dc.l    bmpatt1
  3329.     dc.l    bmpatt1
  3330.     dc.l    bmpatt1
  3331.     dc.l    bmpatt2
  3332.     dc.l    bmpatt1
  3333.     dc.l    bmpatt1
  3334.     dc.l    bmpatt3
  3335.     dc.l    bmpatt1
  3336.     dc.l    brass_sound
  3337.     dc.l    bmpatt4
  3338.     dc.l    bmpatt4
  3339.     dc.l    bmpatt4
  3340.     dc.l    bmpatt4
  3341.     dc.l    bmpatt4
  3342.     dc.l    bmpatt6
  3343.     dc.l    bmpatt4            ;break after repeat
  3344.     dc.l    bmpatt4
  3345.     dc.l    bmpatt4
  3346.     dc.l    bmpatt4
  3347.     dc.l    orch_hit_sound
  3348.     dc.l    bmpatt9
  3349.  
  3350. ;bm1:
  3351.     dc.l    pizpiano_sound
  3352.     dc.l    bmpatt10
  3353.  
  3354.     dc.l    flute_sound
  3355.     dc.l    bmpatt11
  3356.  
  3357.     dc.l    bmpatt12flute
  3358.                 ;;;;;REAPEAT HERE
  3359.             
  3360.     dc.l    pizpiano_sound_very_quiet
  3361.     dc.l    bmpatt1
  3362.     dc.l    bmpatt1
  3363.     dc.l    bmpatt1
  3364.     dc.l    bmpatt1
  3365.     dc.l    bmpatt2
  3366.     dc.l    bmpatt1
  3367.     dc.l    bmpatt1
  3368.     dc.l    bmpatt3
  3369.     dc.l    bmpatt1
  3370.     dc.l    brass_sound
  3371.     dc.l    bmpatt4
  3372.     dc.l    bmpatt4
  3373.     dc.l    bmpatt4
  3374.     dc.l    bmpatt4
  3375.     dc.l    bmpatt4
  3376.     dc.l    bmpatt6
  3377.     dc.l    bmpatt4            ;break after repeat
  3378.     dc.l    bmpatt4
  3379.     dc.l    bmpatt4
  3380.     dc.l    bmpatt4
  3381.     dc.l    orch_hit_sound
  3382.     dc.l    bmpatt9
  3383.  
  3384.     dc.l    bass_sound
  3385.     dc.l    bmpatt13
  3386.  
  3387.     dc.l    flute_sound
  3388.     dc.l    bmpatt14flute
  3389.  
  3390.     dc.l    bmpatt15flute
  3391.  
  3392.     dc.l    pizpiano_sound
  3393.     dc.l    bmpatt16
  3394.  
  3395.  
  3396.     dc.l    bmpatt17tune
  3397.     dc.l    bmpatt17tune
  3398.  
  3399.     dc.l    bmend
  3400.     dc.l    pri
  3401.  
  3402.       dc.l     0,end_song
  3403.  
  3404.  
  3405. bm2:
  3406.     dc.l    trumpet_sound
  3407.     dc.l    bmpatt1
  3408.     dc.l    bmpatt1
  3409.     dc.l    bmpatt1
  3410.     dc.l    bmpatt1
  3411.     dc.l    bmpatt2
  3412.     dc.l    bmpatt1
  3413.     dc.l    bmpatt1
  3414.     dc.l    bmpatt3
  3415.     dc.l    bmpatt1
  3416.     dc.l    brass_sound
  3417.     dc.l    bmpatt4h
  3418.     dc.l    bmpatt4h
  3419.     dc.l    bmpatt4h
  3420.     dc.l    bmpatt4h
  3421.     dc.l    bmpatt4h
  3422.     dc.l    bmpatt6h
  3423.     dc.l    bmpatt4h
  3424.     dc.l    bmpatt4h
  3425.     dc.l    bmpatt4h
  3426.     dc.l    bmpatt4h
  3427.     dc.l    bmpatt9h
  3428.  
  3429.  
  3430. ;bm2:
  3431.     dc.l    pizpiano_sound
  3432.     dc.l    bmpatt10h1
  3433.     dc.l    flute_sound
  3434.  
  3435.     dc.l    bmpatt11h1
  3436.  
  3437.     dc.l    orch_hit_sound
  3438.     dc.l    bmpatt12stab
  3439.                 ;;;;;REAPEAT HERE
  3440.  
  3441.     dc.l    trumpet_sound
  3442.     dc.l    bmpatt1
  3443.     dc.l    bmpatt1
  3444.     dc.l    bmpatt1
  3445.     dc.l    bmpatt1
  3446.     dc.l    bmpatt2
  3447.     dc.l    bmpatt1
  3448.     dc.l    bmpatt1
  3449.     dc.l    bmpatt3
  3450.     dc.l    bmpatt1
  3451.     dc.l    brass_sound
  3452.     dc.l    bmpatt4h
  3453.     dc.l    bmpatt4h
  3454.     dc.l    bmpatt4h
  3455.     dc.l    bmpatt4h
  3456.     dc.l    bmpatt4h
  3457.     dc.l    bmpatt6h
  3458.     dc.l    bmpatt4h
  3459.     dc.l    bmpatt4h
  3460.     dc.l    bmpatt4h
  3461.     dc.l    bmpatt4h
  3462.     dc.l    bmpatt9h
  3463.  
  3464.  
  3465.  
  3466.     dc.l    pizpiano_sound
  3467.     dc.l    bmpatt13h1
  3468.  
  3469.     dc.l    flute_sound
  3470.     dc.l    bmpatt14flute2
  3471.  
  3472.  
  3473.     dc.l    orch_hit_sound
  3474.     dc.l    bmpatt15stab
  3475.  
  3476.     dc.l    trumpet_sound
  3477.     dc.l    bmpatt16h1
  3478.  
  3479.     dc.l    bass_sound
  3480.     dc.l    bmpatt17bass
  3481.     dc.l    bmpatt17bass
  3482.  
  3483.     dc.l    bmendbass
  3484.  
  3485.     dc.l    pri
  3486.  
  3487.       dc.l     0,end_song
  3488.  
  3489.  
  3490.  
  3491. bm3:
  3492.  
  3493.     dc.l    bm2br
  3494.     dc.l    bass_sound
  3495.     dc.l    bmpatt5
  3496.     dc.l     bmpatt2
  3497.     dc.l    bmpatt5
  3498.     dc.l    bmpatt3
  3499.     dc.l    bmpatt1
  3500.     dc.l    bm2br
  3501.     dc.l    trumpet_sound
  3502.     dc.l    bmpatt7
  3503.     dc.l    orch_hit_sound
  3504.     dc.l    bmpatt8
  3505.  
  3506.     dc.l    orch_hit_sound
  3507.  
  3508.     dc.l    bmpatt9
  3509.  
  3510.  
  3511. ;bm3:
  3512.     dc.l    pizpiano_sound
  3513.     dc.l    bmpatt10h2
  3514.  
  3515.     dc.l    flute_sound
  3516.  
  3517.     dc.l    bmpatt11h2
  3518.  
  3519.     dc.l    bass_sound
  3520.     dc.l    bmpatt12b1
  3521.  
  3522.                 ;;;;;REAPEAT HERE
  3523.  
  3524.  
  3525.     dc.l    bm2br
  3526.     dc.l    bass_sound
  3527.     dc.l    bmpatt5
  3528.     dc.l     bmpatt2
  3529.     dc.l    bmpatt5
  3530.     dc.l    bmpatt3
  3531.     dc.l    bmpatt1
  3532.     dc.l    bm2br
  3533.     dc.l    trumpet_sound
  3534.     dc.l    bmpatt7
  3535.     dc.l    orch_hit_sound
  3536.     dc.l    bmpatt8
  3537.  
  3538.     dc.l    orch_hit_sound
  3539.  
  3540.     dc.l    bmpatt9
  3541.  
  3542.  
  3543.  
  3544.  
  3545.     dc.l    pizpiano_sound
  3546.     dc.l    bmpatt13h2
  3547.  
  3548.     dc.l    orch_hit_sound
  3549.     dc.l    bmpatt14stab
  3550.  
  3551.     dc.l    bass_sound
  3552.     dc.l    bmpatt15flute
  3553.  
  3554.     dc.l    trumpet_sound
  3555.     dc.l    bmpatt16h2
  3556.  
  3557.  
  3558.     dc.l    orch_hit_sound
  3559.     dc.l    bmpatt17stab
  3560.     dc.l    bmpatt17stab
  3561.  
  3562.     dc.l    bmendstab
  3563.  
  3564.     dc.l    pri
  3565.  
  3566.       dc.l     0,end_song
  3567.  
  3568.  
  3569. bm4:
  3570.  
  3571.     dc.l    bm2br
  3572.     dc.l    string_sound
  3573.     dc.l    bmpatt5o
  3574.     dc.l     bmpatt2
  3575.     dc.l    bmpatt5o
  3576.     dc.l    bmpatt3
  3577.     dc.l    bmpatt1
  3578.  
  3579.     dc.l    flute_sound
  3580.     dc.l    bmpatt1
  3581.     dc.l    bmpatt1
  3582.     
  3583.  
  3584.     dc.l    bass_sound
  3585.     dc.l    bmpatt7
  3586.     dc.l    bmpatt8
  3587.     dc.l    bass_sound
  3588.     dc.l    bmpatt9hb
  3589.  
  3590.  
  3591. ;bm4:
  3592.  
  3593.  
  3594.     dc.l    trumpet_sound
  3595.     dc.l    bmpatt10b
  3596.  
  3597.     dc.l    orch_hit_sound
  3598.     dc.l    bmp11stab
  3599.  
  3600.     dc.l    bass_sound
  3601.     dc.l    bmpatt12b2
  3602.     
  3603.                 ;;;;;REAPEAT HERE
  3604.  
  3605.  
  3606.  
  3607.     dc.l    bm2br
  3608.     dc.l    string_sound
  3609.     dc.l    bmpatt5o
  3610.     dc.l     bmpatt2
  3611.     dc.l    bmpatt5o
  3612.     dc.l    bmpatt3
  3613.     dc.l    bmpatt1
  3614.  
  3615.     dc.l    flute_sound
  3616.     dc.l    bmpatt1
  3617.     dc.l    bmpatt1
  3618.     
  3619.  
  3620.     dc.l    bass_sound
  3621.     dc.l    bmpatt7
  3622.     dc.l    bmpatt8
  3623.     dc.l    bass_sound
  3624.     dc.l    bmpatt9hb
  3625.  
  3626.  
  3627.  
  3628.  
  3629.     dc.l    snare_sound
  3630.     dc.l    bmpatt13snare
  3631.     dc.l    bmpatt13snare
  3632.     dc.l    bmpatt13snare
  3633.     dc.l    bmpatt13snare
  3634.     dc.l    bmpatt13snare
  3635.     dc.l    bmpatt13snare
  3636.  
  3637.     dc.l    bass_sound
  3638.     dc.l    bmpatt14bass
  3639.  
  3640.     dc.l    bmpatt15bass
  3641.  
  3642.  
  3643.     dc.l    trumpet_sound
  3644.     dc.l    bmpatt16h3
  3645.  
  3646.     dc.l    snare_sound
  3647.     dc.l    bmpatt13snare
  3648.     dc.l    bmpatt13snare
  3649.     dc.l    bmpatt13snare
  3650.     dc.l    bmpatt13snare
  3651.  
  3652.     dc.l    bmpatt13snare
  3653.     dc.l    bmpatt13snare
  3654.     dc.l    bmpatt13snare
  3655.     dc.l    bmpatt13snare
  3656.  
  3657.     dc.l    bmendsnare
  3658.     dc.l pri_new_tune
  3659.  
  3660.       dc.l     0,end_song
  3661.  
  3662.  
  3663.  
  3664.  
  3665.  
  3666. bm2br
  3667.     dc.w rest,cr*8
  3668.     dc.w end_patt
  3669.  
  3670. bm1br
  3671.     dc.w rest,cr*4
  3672.     dc.w end_patt
  3673.  
  3674. bmib
  3675.     dc.w rest,cr*100
  3676.     dc.w end_patt
  3677.  
  3678. ;**************************
  3679.  
  3680. bmendstab
  3681.     dc.w bb02,cr,bb02,cr
  3682.     dc.w rest,cr*2,bb02,cr*4
  3683.  
  3684.     dc.w end_patt
  3685.  
  3686. bmendbass
  3687.     dc.w bb01,cr,bb01,cr
  3688.     dc.w rest,cr*2,bb01,cr*4
  3689.     dc.w end_patt
  3690.  
  3691. bmend
  3692.     dc.w bb02,cr,bb02,cr
  3693.     dc.w rest,cr,f02,tq1,gb02,tq2,ab02,tq1,bb02,cr*4
  3694.     dc.w end_patt
  3695.  
  3696. bmendsnare
  3697.     dc.w r16,cr,r16,cr
  3698.     dc.w rest,cr,r16,tq1,r16,tq2,r16,tq1,r16,cr*4
  3699.     dc.w end_patt
  3700.  
  3701.  
  3702.  
  3703. bmpatt17tune
  3704.     dc.w bb02,q,a02,q,bb02,q,a02,q,ab02,q,g02,q,ab02,q,g02,q
  3705.     dc.w gb02,q,f02,q,e02,q,db02,q,c02,q,eb02,q,gb02,q,a02,q
  3706.  
  3707.     dc.w bb02,q,a02,q,bb02,q,a02,q,ab02,q,g02,q,ab02,q,g02,q
  3708.     dc.w gb02,q,f02,q,e02,q,db02,q,c02,q,eb02,q,gb02,q,a02,q
  3709.     dc.w end_patt
  3710.  
  3711. bmpatt17bass
  3712.     dc.w bb02,cr,f03,cr,bb02,cr,f03,cr
  3713.     dc.w bb02,cr,gb03,cr,bb02,cr,g03,cr
  3714.  
  3715.     dc.w bb02,cr,f03,cr,bb02,cr,f03,cr
  3716.     dc.w bb02,cr,gb03,cr,bb02,cr,g03,cr
  3717.     dc.w end_patt
  3718.  
  3719. bmpatt17stab
  3720.     dc.w rest,cr,f03,cr*2,f03,cr*2
  3721.     dc.w gb03,cr*2,g03,cr*2
  3722.     dc.w f03,cr*2,f03,cr*2
  3723.     dc.w gb03,cr*2,g03,cr
  3724.     dc.w end_patt
  3725.  
  3726. bmpatt16
  3727.  
  3728.     dc.w a02,sq,a03,sq,ab02,sq,ab03,sq
  3729.     dc.w a02,sq,a03,sq,ab02,sq,ab03,sq
  3730.     dc.w a02,sq,a03,sq,e02,sq,e03,sq
  3731.     dc.w eb02,sq,eb03,sq,d02,sq,d03,sq
  3732.  
  3733.     dc.w db02,sq,db03,sq,c02,sq,c03,sq
  3734.     dc.w b01,sq,b02,sq,bb01,sq,bb02,sq
  3735.     dc.w a01,sq,a02,sq,ab01,sq,ab02,sq
  3736.     dc.w g01,sq,g02,sq,gb01,sq,gb02,sq
  3737.  
  3738.     dc.w f01,sq,f02,sq,gb01,sq,gb02,sq
  3739.     dc.w g01,sq,g02,sq,ab01,sq,ab02,sq
  3740.     dc.w a01,sq,a02,sq,bb01,sq,bb02,sq
  3741.     dc.w b01,sq,b02,sq,c02,sq,c03,sq
  3742.  
  3743.     dc.w db02,sq,db03,sq,d02,sq,d03,sq
  3744.     dc.w eb02,sq,eb03,sq,e02,sq,e03,sq
  3745.     dc.w f02,sq,f03,sq,g02,sq,g03,sq
  3746.     dc.w ab02,sq,ab03,sq,a02,sq,a03,sq
  3747.  
  3748.     dc.w end_patt
  3749.  
  3750. bmpatt16h1
  3751.     dc.w b01,cr*16
  3752.     dc.w end_patt
  3753.  
  3754. bmpatt16h2
  3755.     dc.w eb02,cr*16
  3756.     dc.w end_patt
  3757.  
  3758. bmpatt16h3
  3759.     dc.w f02,cr*16
  3760.     dc.w end_patt
  3761.  
  3762.  
  3763. bmpatt15flute
  3764.     dc.w a02,q,gb02,q,a02,q,e02,q,f02,q,e02,q,f02,q
  3765.     dc.w ab02,q
  3766.     dc.w a02,q,ab02,q,a02,q,e02,q,f02,q,e02,q,f02,q,g02,q
  3767.     dc.w a02,q,ab02,q,a02,q,e02,q,f02,q,e02,q,f02,q,g02,q
  3768.     dc.w a02,q,ab02,q,a02,q,e02,q,f02,q,e02,q,f02,q,g02,q
  3769.     dc.w a02,q,ab02,q,a02,q,e02,q,f02,q,e02,q,f02,q,g02,q
  3770.     dc.w a02,q,ab02,q,a02,q,e02,q,f02,q,e02,q,f02,q,g02,q
  3771.     dc.w end_patt
  3772.  
  3773. bmpatt15stab
  3774.     dc.w a03,cr*8,f03,cr*10,f03,tcr1,f03,tcr2,f03,tcr1
  3775.     dc.w f03,cr*2,f03,cr*2
  3776.     dc.w end_patt
  3777.  
  3778.  
  3779. bmpatt15bass
  3780.     dc.w a02,cr*8,f02,cr*10,f02,tcr1,f02,tcr2,f02,tcr1
  3781.     dc.w f02,cr*2,f02,cr*2
  3782.     dc.w end_patt
  3783.  
  3784. bmpatt15trumpet
  3785.     dc.w rest,cr*6,f03,cr*10,f03,tcr1,f03,tcr2,f03,tcr1
  3786.     dc.w f03,cr*2,f03,cr*2
  3787.     dc.w end_patt
  3788.  
  3789.  
  3790. bmpatt14stab
  3791.     dc.w    a03,cr*6,a03,cr*2,d03,cr*6
  3792.     dc.w    d03,cr*2+q,a03,cr*5+q,a03,cr*2
  3793.     dc.w    d03,cr*6,d03,cr*2
  3794.     dc.w end_patt
  3795.     
  3796. bmpatt14bass
  3797.     dc.w    a02,cr*6,a03,cr*2,d02,cr*6
  3798.     dc.w    c03,cr*2+q,a02,cr*5+q,a03,cr*2
  3799.     dc.w    d02,cr*6,c03,cr*2
  3800.     dc.w end_patt
  3801.  
  3802.  
  3803. bmpatt14flute
  3804.     dc.w    e02,q,e02,cr,f02,q,e02,q,d02,q,e02,q,f02,q
  3805.     dc.w    g02,cr,a02,cr
  3806.     dc.w    e03,q,e02,tsq1,f02,tsq2,g02,tsq1
  3807.     dc.w    a02,q,a02,dsq,g02,dsq,f02,dsq,e02,dsq
  3808.     dc.w    d02,q,a02,cr,bb02,q,a02,q,g02,q,a02,q,bb02,q
  3809.     dc.w    c03,cr,d03,cr,a02,q,d03,dsq,e03,dsq,f03,dsq
  3810.     dc.w    g03,dsq,a03,q,a03,tsq1,g03,tsq2,f03,tsq1
  3811.     dc.w    e03,q
  3812.  
  3813.     dc.w    e02,cr,f02,q,e02,q,d02,q,e02,q,f02,q
  3814.     dc.w    g02,cr,a02,cr
  3815.     dc.w    e03,q,e02,tsq1,f02,tsq2,g02,tsq1
  3816.     dc.w    a02,q,a02,dsq,g02,dsq,f02,dsq,e02,dsq
  3817.     dc.w    d02,q,a02,cr,bb02,q,a02,q,g02,q,a02,q,bb02,q
  3818.     dc.w    c03,cr,d03,cr,a02,q,d03,dsq,e03,dsq,f03,dsq
  3819.     dc.w    g03,dsq,a03,q,a03,tsq1,g03,tsq2,f03,tsq1
  3820.     dc.w end_patt
  3821.  
  3822. bmpatt14flute2
  3823.     dc.w    a02,q,a02,cr,a02,q,a02,q,a02,q,a02,q,a02,q
  3824.     dc.w    a02,cr,a02,cr
  3825.     dc.w    rest,cr*2+q
  3826.     dc.w    d02,cr,d02,q,d02,q,d02,q,d02,q,d02,q
  3827.     dc.w    d02,cr,d02,cr
  3828.     dc.w    rest,cr*2+q
  3829.  
  3830.     dc.w    a02,cr,a02,q,a02,q,a02,q,a02,q,a02,q
  3831.     dc.w    a02,cr,a02,cr
  3832.     dc.w    rest,cr*2+q
  3833.     dc.w    d02,cr,d02,q,d02,q,d02,q,d02,q,d02,q
  3834.     dc.w    d02,cr,d02,cr
  3835.     dc.w    rest,cr*2
  3836.     dc.w end_patt
  3837.  
  3838.  
  3839.  
  3840.  
  3841. bmpatt13snare
  3842.  
  3843.     dc.w    r16,q,r16,tsq1,r16,tsq2,r16,tsq1,r16,q,r16,q
  3844.     dc.w    r16,q,r16,q,r16,q,r16,q
  3845.  
  3846.     dc.w end_patt
  3847.  
  3848.  
  3849. bmpatt13
  3850.     dc.w d02,sq,d02,q+sq    
  3851.     dc.w d02,sq,d02,q+sq    
  3852.     dc.w d02,sq,d02,q+sq    
  3853.     dc.w d02,sq,d02,q+sq    
  3854.  
  3855.     dc.w d02,sq,d02,q+sq    
  3856.     dc.w d02,sq,d02,q+sq    
  3857.     dc.w d02,sq,d02,q+sq    
  3858.     dc.w d02,sq,d02,q+sq    
  3859.  
  3860.     dc.w c02,sq,c02,q+sq    
  3861.     dc.w b01,sq,b01,q+sq    
  3862.     dc.w c02,sq,c02,q+sq    
  3863.     dc.w b01,sq,b01,q+sq    
  3864.  
  3865.  
  3866.     dc.w d02,sq,d02,q+sq    
  3867.     dc.w d02,sq,d02,q+sq    
  3868.     dc.w d02,sq,d02,q+sq    
  3869.     dc.w d02,sq,d02,q+sq    
  3870.  
  3871.  
  3872.     dc.w d02,sq,d02,q+sq    
  3873.     dc.w d02,sq,d02,q+sq    
  3874.     dc.w d02,sq,d02,q+sq    
  3875.     dc.w d02,sq,d02,q+sq    
  3876.  
  3877.  
  3878.     dc.w c02,sq,c02,q+sq    
  3879.     dc.w b01,sq,b01,q+sq    
  3880.     dc.w c02,sq,c02,q+sq    
  3881.     dc.w b01,sq,b01,q+sq    
  3882.     dc.w end_patt
  3883.  
  3884. bmpatt13h1
  3885.  
  3886.     dc.w gb02,sq,gb02,q+sq
  3887.     dc.w gb02,sq,gb02,q+sq
  3888.     dc.w gb02,sq,gb02,q+sq
  3889.     dc.w gb02,sq,gb02,q+sq
  3890.  
  3891.     dc.w gb02,sq,gb02,q+sq
  3892.     dc.w gb02,sq,gb02,q+sq
  3893.     dc.w gb02,sq,gb02,q+sq
  3894.     dc.w gb02,sq,gb02,q+sq
  3895.  
  3896.     dc.w eb02,sq,eb02,q+sq    
  3897.     dc.w eb02,sq,eb02,q+sq    
  3898.     dc.w eb02,sq,eb02,q+sq    
  3899.     dc.w eb02,sq,eb02,q+sq    
  3900.  
  3901.     dc.w gb02,sq,gb02,q+sq
  3902.     dc.w gb02,sq,gb02,q+sq
  3903.     dc.w gb02,sq,gb02,q+sq
  3904.     dc.w f02,sq,f02,q+sq
  3905.  
  3906.     dc.w gb02,sq,gb02,q+sq
  3907.     dc.w gb02,sq,gb02,q+sq
  3908.     dc.w gb02,sq,gb02,q+sq
  3909.     dc.w f02,sq,f02,q+sq
  3910.  
  3911.  
  3912.     dc.w eb02,sq,eb02,q+sq    
  3913.     dc.w eb02,sq,eb02,q+sq    
  3914.     dc.w eb02,sq,eb02,q+sq    
  3915.     dc.w eb02,sq,eb02,q+sq    
  3916.  
  3917.     dc.w end_patt
  3918.  
  3919.  
  3920. bmpatt13h2
  3921.  
  3922.     dc.w c03,sq,c03,q+sq
  3923.     dc.w c03,sq,c03,q+sq
  3924.     dc.w c03,sq,c03,q+sq
  3925.     dc.w bb02,sq,bb02,q+sq
  3926.  
  3927.     dc.w c03,sq,c03,q+sq
  3928.     dc.w c03,sq,c03,q+sq
  3929.     dc.w c03,sq,c03,q+sq
  3930.     dc.w bb02,sq,bb02,q+sq
  3931.  
  3932.     dc.w a02,sq,a02,q+sq    
  3933.     dc.w g02,sq,g02,q+sq    
  3934.     dc.w a02,sq,a02,q+sq    
  3935.     dc.w g02,sq,g02,q+sq    
  3936.  
  3937.     dc.w c03,sq,c03,q+sq
  3938.     dc.w c03,sq,c03,q+sq
  3939.     dc.w c03,sq,c03,q+sq
  3940.     dc.w bb02,sq,bb02,q+sq
  3941.  
  3942.     dc.w c03,sq,c03,q+sq
  3943.     dc.w c03,sq,c03,q+sq
  3944.     dc.w c03,sq,c03,q+sq
  3945.     dc.w bb02,sq,bb02,q+sq
  3946.  
  3947.     dc.w a02,sq,a02,q+sq    
  3948.     dc.w g02,sq,g02,q+sq    
  3949.     dc.w a02,sq,a02,q+sq    
  3950.     dc.w g02,sq,g02,q+sq    
  3951.  
  3952.     dc.w end_patt
  3953.  
  3954.  
  3955.  
  3956.  
  3957.  
  3958.  
  3959. bmpatt12stab
  3960.     dc.w rest,cr
  3961.     dc.w g03,cr*4,f03,cr*2,e03,cr*4,a03,cr*4
  3962.     dc.w end_patt
  3963.         
  3964. bmpatt12b1
  3965.     dc.w g02,cr,eb02,cr*2,d03,cr,ab02,cr,d02,cr*2
  3966.     dc.w g02,cr*4,g02,cr*4 
  3967.     dc.w end_patt
  3968.  
  3969. bmpatt12b2
  3970.     dc.w g01,cr,g02,cr*2,f03,cr,ab01,cr,f02,cr*2
  3971.     dc.w e02,cr*4,e02,cr*4 
  3972.     dc.w end_patt
  3973.  
  3974. bmpatt12flute
  3975.     dc.w rest,cr-dsq-dsq-dsq,d03,dsq,eb03,dsq,f03,dsq
  3976.     dc.w g03,q,rest,q+cr*3-dsq-dsq-dsq
  3977.     dc.w db03,dsq,d03,dsq,e03,dsq,f03,q,rest,q+cr
  3978.     dc.w a02,sq,bb02,sq
  3979.     dc.w a02,sq,bb02,sq
  3980.     dc.w a02,sq,bb02,sq
  3981.     dc.w a02,sq,bb02,sq
  3982.     dc.w a02,sq,bb02,sq
  3983.     dc.w a02,sq,bb02,sq
  3984.     dc.w a02,sq,bb02,sq
  3985.     dc.w a02,sq,bb02,sq
  3986.     dc.w a03,q,rest,cr*3+q
  3987.     dc.w end_patt
  3988.  
  3989.  
  3990. bmp11stab
  3991.     dc.w  gb03,cr*8
  3992.     dc.w rest,cr
  3993.     dc.w end_patt
  3994.  
  3995.  
  3996. bmpatt11
  3997.  
  3998.     dc.w gb02,q,gb02,q,gb02,q,gb02,q
  3999.     dc.w g02,q,g02,q,a02,q,a02,q
  4000.     dc.w bb02,q,bb02,q,bb02,q,bb02,q
  4001.     dc.w a02,q,a02,q,a02,q,a02,q
  4002.     dc.w g02,cr
  4003.     dc.w end_patt
  4004.  
  4005.  
  4006. bmpatt11h1
  4007.  
  4008.     dc.w d02,q,d02,q,d02,q,d02,q
  4009.     dc.w e02,q,e02,q,f02,q,f02,q
  4010.     dc.w g02,q,g02,q,g02,q,g02,q
  4011.     dc.w gb02,q,gb02,q,gb02,q,gb02,q
  4012.     dc.w eb02,cr
  4013.     dc.w end_patt
  4014.  
  4015. bmpatt11h2
  4016.  
  4017.     dc.w rest,cr*2
  4018.     dc.w d02,q,d02,q,d02,q,d02,q
  4019.     dc.w d02,q,d02,q,d02,q,d02,q
  4020.     dc.w d02,q,d02,q,d02,q,d02,q
  4021.     dc.w rest,cr
  4022.     dc.w end_patt
  4023.  
  4024. bmpatt10
  4025.     dc.w    gb02,tq1,gb02,tq2,gb02,tq1
  4026.     dc.w    e02,tq1,e02,tq2,e02,tq1
  4027.     dc.w    gb02,tq1,gb02,tq2,gb02,tq1
  4028.     dc.w    bb02,tq1,bb02,tq2,bb02,tq1
  4029.  
  4030.     dc.w    gb02,tq1,gb02,tq2,gb02,tq1
  4031.     dc.w    a02,tq1,a02,tq2,a02,tq1
  4032.     dc.w    d02,tq1,d02,tq2,d02,tq1
  4033.     dc.w    gb02,tq1,gb02,tq2,gb02,tq1
  4034.  
  4035.     dc.w    gb02,q,gb02,q
  4036.     dc.w    e02,q,e02,q
  4037.     dc.w    gb02,q,gb02,q
  4038.     dc.w    bb02,q,bb02,q
  4039.     dc.w    gb02,q,gb02,q
  4040.     dc.w    a02,q,a02,q
  4041.     dc.w    d02,q,d02,q
  4042.     dc.w    gb02,q,gb02,q
  4043.     dc.w end_patt
  4044.  
  4045. bmpatt10h1
  4046.     dc.w    d02,tq1,d02,tq2,d02,tq1
  4047.     dc.w    c02,tq1,c02,tq2,c02,tq1
  4048.     dc.w    d02,tq1,d02,tq2,d02,tq1
  4049.     dc.w    d02,tq1,d02,tq2,d02,tq1
  4050.  
  4051.     dc.w    d02,tq1,d02,tq2,d02,tq1
  4052.     dc.w    c02,tq1,c02,tq2,c02,tq1
  4053.     dc.w    d02,tq1,d02,tq2,d02,tq1
  4054.     dc.w    a01,tq1,a01,tq2,a01,tq1
  4055.  
  4056.     dc.w    d02,q,d02,q
  4057.     dc.w    c02,q,c02,q
  4058.     dc.w    d02,q,d02,q
  4059.     dc.w    d02,q,d02,q
  4060.     dc.w    d02,q,d02,q
  4061.     dc.w    c02,q,c02,q
  4062.     dc.w    d02,q,d02,q
  4063.     dc.w    a01,q,a01,q
  4064.     ;dc.w    a01,cr*4
  4065.     dc.w end_patt
  4066.  
  4067. bmpatt10h2
  4068.     dc.w    rest,cr
  4069.     dc.w    a01,tq1,a01,tq2,a01,tq1
  4070.     dc.w    rest,cr
  4071.     dc.w    b01,tq1,b01,tq2,b01,tq1
  4072.  
  4073.     dc.w    rest,cr
  4074.     dc.w    a01,tq1,a01,tq2,a01,tq1
  4075.     dc.w    rest,cr
  4076.     dc.w    gb01,tq1,gb01,tq2,gb01,tq1
  4077.  
  4078.     dc.w    rest,cr
  4079.     dc.w    a01,q,a01,q
  4080.     dc.w    rest,cr
  4081.     dc.w    bb01,q,bb01,q
  4082.     dc.w    rest,cr
  4083.     dc.w    a01,q,a01,q
  4084.     dc.w    rest,cr
  4085.     dc.w    gb01,q,gb01,q
  4086.     ;dc.w    gb01,cr*4
  4087.     dc.w end_patt
  4088.  
  4089.  
  4090. bmpatt10b
  4091.     dc.w    d02,cr*16
  4092.     dc.w end_patt
  4093.  
  4094.  
  4095. bmpatt1
  4096.     dc.w a02,tq1,ab02,tq2,a02,tq1
  4097.     dc.w bb02,tq1,a02,tq2,g02,tq1
  4098.     dc.w a02,tq1,ab02,tq2,a02,tq1
  4099.     dc.w bb02,tq1,a02,tq2,g02,tq1
  4100.     dc.w end_patt
  4101.  
  4102. bmpatt2
  4103.     dc.w a02,cr*2-dsq-dsq-dsq
  4104.     dc.w bb02,dsq,c03,dsq,d03,dsq
  4105.     dc.w eb03,cr*2-dsq-dsq-dsq
  4106.     dc.w d03,dsq,c03,dsq,b02,dsq
  4107.     dc.w a02,cr*2-dsq-dsq-dsq
  4108.     dc.w b02,dsq,c03,dsq,d03,dsq,e03,cr*2
  4109.     dc.w end_patt
  4110.  
  4111. bmpatt3
  4112.     dc.w a02,cr*2-dsq-dsq
  4113.     dc.w bb02,dsq,c03,dsq,d03,dsq,e03,dsq
  4114.     dc.w f03,cr*2-dsq-dsq
  4115.     dc.w e03,dsq,d03,dsq,c03,dsq,b02,dsq
  4116.     dc.w a02,cr*2-dsq-dsq
  4117.     dc.w b02,dsq,c03,dsq,d03,dsq,e03,dsq,gb03,cr*2
  4118.     dc.w end_patt
  4119.  
  4120. bmpatt4
  4121.  
  4122.     dc.w    a02,q,ab02,q,ab02,q,a02,q
  4123.     dc.w    a02,q,ab02,q,ab02,q,a02,q
  4124.  
  4125.     dc.w end_patt
  4126.  
  4127. bmpatt4h
  4128.  
  4129.     dc.w    f02,q,f02,q,f02,q,f02,q
  4130.     dc.w    f02,q,f02,q,f02,q,f02,q
  4131.  
  4132.     dc.w end_patt
  4133.  
  4134. bmpatt6
  4135.  
  4136.     dc.w    c03,q,b02,q,b02,q,c03,q
  4137.     dc.w    c03,q,b02,q,b02,q,c03,q
  4138.     dc.w     b02,q,bb02,q,bb02,q,b02,q
  4139.     dc.w     b02,q,bb02,q,bb02,q,b02,q
  4140.     dc.w     b02,q,bb02,q,bb02,q,b02,q
  4141.     dc.w    c03,q,b02,q,b02,q,c03,q
  4142.  
  4143.     dc.w end_patt
  4144.  
  4145. bmpatt6h
  4146.  
  4147.     dc.w    a02,q,a02,q,a02,q,a02,q
  4148.     dc.w    a02,q,a02,q,a02,q,a02,q
  4149.     dc.w    f02,q,f02,q,f02,q,f02,q
  4150.     dc.w    f02,q,f02,q,f02,q,f02,q
  4151.     dc.w    f02,q,f02,q,f02,q,f02,q
  4152.     dc.w    f02,q,f02,q,f02,q,f02,q
  4153.  
  4154.     dc.w end_patt
  4155.  
  4156. bmpatt7
  4157.     dc.w    f02,cr*4,e02,cr*6
  4158.     dc.w    d02,cr*2,e02,cr*2,f02,cr*2,ab02,cr*6
  4159.     dc.w    a02,cr*2,c02,cr*6
  4160.     dc.w end_patt
  4161.  
  4162. ;bmpatt7a
  4163.     ;dc.w c02,cr*2
  4164.     ;dc.w end_patt
  4165.  
  4166.  
  4167. bmpatt8
  4168.     dc.w    c03,tcr1,c03,tcr2,c03,tcr1
  4169.     dc.w    d03,cr*6,d03,tcr1,d03,tcr2,d03,tcr1
  4170.  
  4171.     dc.w end_patt
  4172.  
  4173.  
  4174.  
  4175. bmpatt5
  4176.     dc.w a01,cr,ab01,cr,bb01,cr,a01,cr
  4177.     dc.w a01,cr,ab01,cr,bb01,cr,a01,cr
  4178.     dc.w end_patt
  4179.  
  4180.  
  4181. bmpatt5o
  4182.     dc.w a02,cr,ab02,cr,bb02,cr,a02,cr
  4183.     dc.w a02,cr,ab02,cr,bb02,cr,a02,cr
  4184.     dc.w end_patt
  4185.  
  4186.  
  4187. clickbm
  4188.     dc.w r16,cr,r16,cr,r16,cr,r16,cr
  4189.     dc.w end_patt
  4190.  
  4191.  
  4192. bmpatt9
  4193.     dc.w d03,cr*4,e03,cr*4
  4194.     dc.w end_patt
  4195.  
  4196. bmpatt9h
  4197.     dc.w g03,cr*4,g03,cr*4
  4198.     dc.w end_patt
  4199.  
  4200. bmpatt9hb
  4201.     dc.w bb02,cr*4,bb02,cr*4
  4202.     dc.w end_patt
  4203. bmpatt9hbo
  4204.     dc.w bb01,cr*4,bb01,cr*4
  4205.     dc.w end_patt
  4206.  
  4207.  
  4208.  
  4209.  
  4210.  
  4211. ;----------------------------------
  4212.  
  4213. ;;;;;;;;;;;;;;;;;;;;;   Music Data ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4214.  
  4215. cr  set   20
  4216. q set  cr/2
  4217. sq set q/2
  4218.  
  4219. tcr1 set 7
  4220. tcr2 set 6
  4221. tq1 set      7
  4222. tq2 set   6
  4223. tsq1 set  3
  4224. tsq2 set 4
  4225.  
  4226.  
  4227. ssilent:
  4228.     dc.l    pr
  4229.       dc.l     0,end_song
  4230.  
  4231. ssilent4:
  4232.     dc.l    pr
  4233.       dc.l     0,end_song
  4234.  
  4235. ;ssilent4:
  4236.     dc.l pri_new_tune
  4237.       dc.l     0,end_song
  4238.  
  4239.  
  4240.  
  4241. ;************************************************
  4242.  
  4243. s1:        ;main tunes
  4244.  
  4245.     dc.l    p1strg,p1o1,p1fh,p1o1,p2synbras1,p2,p2pizzo2,p2
  4246.     dc.l    p1violin1,p1o1,p3flute2,p3
  4247.  
  4248.  
  4249.  
  4250. ;s1
  4251.     dc.l    dll
  4252.  
  4253.                 ;cp1
  4254.     dc.l    p3flute2l,p2,p2synbras1l,p2
  4255.  
  4256. ;s1
  4257.     dc.l pbasstrip
  4258.  
  4259. ;s1
  4260.     dc.l runbass,endrunbass,runbass2
  4261.  
  4262. ;s1    
  4263.     dc.l synbral,loudtune
  4264.  
  4265.     ;dc.l pr4,pr4
  4266.  
  4267.     dc.l synbral,p1o1,ptunex
  4268.  
  4269. ;s1
  4270.     dc.l flutel,endtune,endtune2,endtune,endtune2
  4271.     dc.l endtune,endtune
  4272.  
  4273.     dc.l pr1beat,tr,tr,tr,tr,tr,tr,tr
  4274.  
  4275.     dc.l tympre1
  4276.  
  4277.     dc.l pr1beat,tr,pr1beat,pr1beat
  4278.     dc.l pr4
  4279.  
  4280.     dc.l pri
  4281.  
  4282.       dc.l     0,end_song
  4283. ;---------------
  4284.  
  4285. s2:        ;bass
  4286.  
  4287.     dc.l    p1bass,p1bass_end,lastbarb,pbasstrip
  4288.  
  4289. ;s2
  4290.     dc.l    pizpiano,p1o1,p1o1
  4291.                     ;cp2
  4292.  
  4293.     dc.l    pbassq
  4294.  
  4295. ;s2
  4296.     dc.l p3flute2,pflute_trip
  4297.  
  4298.  
  4299. ;s2    
  4300.     dc.l    p1strgll,p1o1,p1o1
  4301.     dc.l    p2synbras1l,p2
  4302.  
  4303. ;s2
  4304.     dc.l    loudbass,loudtune
  4305.     dc.l flutel,trills,pr1bar
  4306.  
  4307. ;s2    
  4308.     dc.l endtymp,endtymp2,pr1bar,pr1bar
  4309.     dc.l endtymp,endtymp2,pr1bar,pr1bar
  4310.     dc.l endtymp,endtymp2
  4311.  
  4312.     dc.l pr1beat,rs,rs,rs,rs,rs,rs,rs
  4313.  
  4314.     dc.l tympre2
  4315.  
  4316.     dc.l es1
  4317.     dc.l pr4
  4318.     dc.l pri
  4319.  
  4320.         DC.L    0,end_song
  4321.  
  4322. ;---------------
  4323.  
  4324. s3:
  4325.         ;accomp
  4326.     dc.l    p1rest,p1rest,p1strgl,p2,flutebit
  4327.     dc.l    pvacc
  4328. ;s3    
  4329.     dc.l    orchhitp1,snarerollgb,snarerollgb,snarerolld,snarerollgb
  4330.     dc.l    snarerollgb,snarerollgb,snarerolld,snarerollgb
  4331.  
  4332.     dc.l    snarerollgb,snarerollgb,snarerolld,snarerollgb
  4333.     dc.l    snarerollgb,snarerollgb,snarerolld,snarerollgb
  4334.  
  4335. ;s3
  4336.     dc.l    pizpiano,p1o1,ptunex
  4337.  
  4338. ;s3
  4339.     dc.l    p1strgl,pstrgnote
  4340.     dc.l    orch1note
  4341.  
  4342. ;s3
  4343.     dc.l    orchitsnd,orchloud
  4344.     dc.l    loudbass,p1bassd,pr1bar        ;,endbass,pr1bar
  4345.  
  4346. ;s3
  4347.     dc.l    endstab,endstab2,endbass_bit2
  4348.     dc.l    endstab,endstab2,endbass_bit2
  4349.  
  4350.     dc.l    endstab,endstab2
  4351.  
  4352.     dc.l tymp1b,rs1,rs1,rs1,rs1,rs1,rs1,rs1
  4353.  
  4354.     dc.l tympre1x
  4355.  
  4356.     dc.l es2
  4357.     dc.l pr4
  4358.     dc.l pri
  4359.  
  4360.       dc.l     0,end_song
  4361. ;---------------
  4362.         ; any thing else we can think of
  4363. s4:
  4364.     dc.l    p1rest,p1rest,p1rest,pizzo2q,p2delay
  4365.  
  4366.  
  4367.     dc.l    p1synbras1,p1o1,tymproll
  4368.  
  4369. ;s4    
  4370.     dc.l    bassstabs,p1rest,p3flute2l,orchitp2
  4371.  
  4372. ;s4
  4373.     dc.l snareroll
  4374.  
  4375. ;s4
  4376.     dc.l snarebeat
  4377.     dc.l p2pizzo2,runbass2
  4378.  
  4379. ;s4
  4380.     dc.l tympsnd_loud,tymploud
  4381.  
  4382.  
  4383.     dc.l snarerollb,snarerollb,snarerollb,snarerollb
  4384.     dc.l snarerollb,snarerollb,snarerolld,snarerolld
  4385.     dc.l snarerollb,snarerollb,snarerollb,snarerollb
  4386.     dc.l snarerollb,snarerollb
  4387.  
  4388.     dc.l pr1bar
  4389.  
  4390. ;s4
  4391.     dc.l endbass_bit
  4392.     dc.l endbass_bit
  4393.  
  4394.  
  4395.     dc.l pr1bar,pr1bar
  4396.     dc.l pr1bar,pr1bar
  4397.  
  4398.     dc.l tympre2x
  4399.  
  4400.     dc.l pr1beat,tr,pr1beat,pr1beat
  4401.     dc.l pr4
  4402.     dc.l pri_new_tune
  4403.  
  4404.       dc.l     0,end_song
  4405.  
  4406.  
  4407. ;---------------
  4408.  
  4409. pr:
  4410.     dc.w rest,cr*4
  4411.     dc.w end_patt
  4412.  
  4413. pr1bar:
  4414.     dc.w rest,cr*4
  4415.     dc.w end_patt
  4416.  
  4417. pr1beat:
  4418.     dc.w rest,cr
  4419.     dc.w end_patt
  4420.  
  4421. p1rest:
  4422.     dc.w rest,cr*16
  4423.     dc.w end_patt
  4424. pr1:
  4425.     dc.w rest,cr*16
  4426.     dc.w end_patt
  4427.  
  4428. pr4:
  4429.     dc.w rest,cr*16
  4430.     dc.w end_patt
  4431.  
  4432.  
  4433. prp:
  4434.     dc.w rest,cr*1000
  4435.     dc.w end_patt
  4436. prza:
  4437.     dc.w rest,q*7
  4438.     dc.w end_patt
  4439.  
  4440.  
  4441. p1strg:
  4442.       dc.w new_env
  4443.       dc.l strings1e
  4444.       dc.w new_snd
  4445.       dc.l strings2p
  4446.       dc.w end_patt
  4447.  
  4448. p1strgl:
  4449.       dc.w new_env
  4450.       dc.l strings1el
  4451.       dc.w new_snd
  4452.       dc.l strings2p
  4453.       dc.w end_patt
  4454.  
  4455. p1strgll:
  4456.       dc.w new_env
  4457.       dc.l strings1ell
  4458.       dc.w new_snd
  4459.       dc.l strings2p
  4460.  
  4461.       dc.w end_patt
  4462.  
  4463. french_kiss_sound
  4464. p1fh:
  4465.       dc.w new_env
  4466.       dc.l frehorne
  4467.       dc.w new_snd
  4468.       dc.l frehornp
  4469.       dc.w end_patt
  4470.  
  4471. p1synbra:
  4472.       dc.w new_env
  4473.       dc.l synbras1e
  4474.       dc.w new_snd
  4475.       dc.l synbras1p
  4476.       dc.w end_patt
  4477.  
  4478. synbral
  4479.       dc.w new_env
  4480.       dc.l synbras1el
  4481.       dc.w new_snd
  4482.       dc.l synbras1p
  4483.       dc.w end_patt
  4484.  
  4485. tympsnd_loud
  4486.       dc.w new_env
  4487.       dc.l tympel 
  4488.       dc.w new_snd
  4489.       dc.l newtympp
  4490.       dc.w end_patt
  4491.  
  4492. flute_loud_sound
  4493. flutel
  4494.       dc.w new_env
  4495.       dc.l flute2el
  4496.       dc.w new_snd
  4497.       dc.l newflutep
  4498.       dc.w end_patt
  4499.  
  4500. flute_loop
  4501.       dc.w new_env
  4502.       dc.l flute2el
  4503.       dc.w new_snd
  4504.       dc.l newflutelp
  4505.       dc.w end_patt
  4506.  
  4507.  
  4508.  
  4509. p1violin1:
  4510.       dc.w new_env
  4511.       dc.l violin1e
  4512.       dc.w new_snd
  4513.       dc.l violin1p
  4514.       dc.w end_patt
  4515.  
  4516. pizpiano:
  4517.       dc.w new_env
  4518.       dc.l pizpianoe
  4519.       dc.w new_snd
  4520.       dc.l pizpianop
  4521.       dc.w end_patt 
  4522.  
  4523. pizpiano_sound_very_quiet:
  4524.       dc.w new_env
  4525.       dc.l pizpianoevq
  4526.       dc.w new_snd
  4527.       dc.l pizpianop
  4528.       dc.w end_patt 
  4529.  
  4530.  
  4531.  
  4532.  
  4533. endtune
  4534.     dc.w rest,cr-9,ab02,3,a02,3,bb02,3,b02,cr,rest,cr*2
  4535.     dc.w end_patt
  4536.  
  4537. tr
  4538.       dc.w new_env
  4539.       dc.l flute2el
  4540.       dc.w new_snd
  4541.       dc.l newflutep
  4542.  
  4543.     dc.w ab02,3,a02,3,bb02,3,b02,20-9
  4544.     dc.w end_patt
  4545.  
  4546.  
  4547. endtune2
  4548.     dc.w rest,cr-9,ab02,3,a02,3,bb02,3,b02,cr,rest,cr*2
  4549.     dc.w b01,q,db02,q,d02,q,e02,q,gb02,q,d02,q,gb02,q,b02,q
  4550.     dc.w bb02,q,gb02,q,bb02,q,db03,q,b02,cr*2
  4551.     dc.w end_patt
  4552.  
  4553. tymp1b
  4554.       dc.w new_env
  4555.       dc.l tympel 
  4556.       dc.w new_snd
  4557.       dc.l newtympp
  4558.     dc.w b02,cr
  4559.     dc.w end_patt
  4560.  
  4561. tympre1
  4562.       dc.w new_env
  4563.       dc.l tympel 
  4564.       dc.w new_snd
  4565.       dc.l newtympp
  4566.     dc.w b02,cr,b02,cr,b02,cr,b02,cr
  4567.     dc.w b02,cr,b02,cr,b02,cr,b02,cr
  4568.     dc.w end_patt
  4569.  
  4570. tympre1x
  4571.       dc.w new_env
  4572.       dc.l tympel 
  4573.       dc.w new_snd
  4574.       dc.l newtympp
  4575.     dc.w rest,sq,b02,cr,b02,cr,b02,cr,b02,cr
  4576.     dc.w b02,cr,b02,cr,b02,cr,b02,cr-sq
  4577.     dc.w end_patt
  4578.  
  4579.  
  4580.  
  4581. tympre2
  4582.       dc.w new_env
  4583.       dc.l tympel 
  4584.       dc.w new_snd
  4585.       dc.l newtympp
  4586.     dc.w rest,q,b02,cr,b02,cr,b02,cr,b02,cr
  4587.     dc.w b02,cr,b02,cr,b02,cr,b02,cr-q
  4588.  
  4589.     dc.w end_patt
  4590.  
  4591. tympre2x
  4592.       dc.w new_env
  4593.       dc.l tympel 
  4594.       dc.w new_snd
  4595.       dc.l newtympp
  4596.     dc.w rest,q+sq,b02,cr,b02,cr,b02,cr,b02,cr
  4597.     dc.w b02,cr,b02,cr,b02,cr,b02,sq
  4598.  
  4599.     dc.w end_patt
  4600.  
  4601.  
  4602.  
  4603.  
  4604. endtymp
  4605.       dc.w new_env
  4606.       dc.l tympel 
  4607.       dc.w new_snd
  4608.       dc.l newtympp
  4609.     dc.w b02,cr
  4610.  
  4611.       dc.w new_env
  4612.       dc.l orchhite 
  4613.       dc.w new_snd
  4614.       dc.l orchhitpp
  4615.  
  4616.     dc.w g03,cr*3
  4617.     dc.w end_patt
  4618. endtymp2
  4619.       dc.w new_env
  4620.       dc.l tympel 
  4621.       dc.w new_snd
  4622.       dc.l newtympp
  4623.     dc.w b02,cr
  4624.  
  4625.       dc.w new_env
  4626.       dc.l orchhite 
  4627.       dc.w new_snd
  4628.       dc.l orchhitpp
  4629.  
  4630.     dc.w d03,cr*3
  4631.  
  4632.     dc.w end_patt
  4633.  
  4634. endstab
  4635.     dc.w rest,cr
  4636.  
  4637.       dc.w new_env
  4638.       dc.l orchhite 
  4639.       dc.w new_snd
  4640.       dc.l orchhitpp
  4641.     dc.w b02,cr*3
  4642.     dc.w end_patt
  4643.  
  4644. es1
  4645.       dc.w new_env
  4646.       dc.l orchhite 
  4647.       dc.w new_snd
  4648.       dc.l orchhitpp
  4649.     dc.w b01,cr,b02,cr*3
  4650.     dc.w end_patt
  4651.  
  4652. es2
  4653.       dc.w new_env
  4654.       dc.l orchhite 
  4655.       dc.w new_snd
  4656.       dc.l orchhitpp
  4657.     dc.w b02,cr,d03,cr*3
  4658.     dc.w end_patt
  4659.  
  4660.  
  4661.  
  4662.  
  4663.  
  4664. rs
  4665.       dc.w new_env
  4666.       dc.l orchhite 
  4667.       dc.w new_snd
  4668.       dc.l orchhitpp
  4669.     dc.w b02,cr
  4670.     dc.w end_patt
  4671.  
  4672. rs1
  4673.       dc.w new_env
  4674.       dc.l orchhite 
  4675.       dc.w new_snd
  4676.       dc.l orchhitpp
  4677.     dc.w d02,cr
  4678.     dc.w end_patt
  4679.  
  4680.  
  4681.  
  4682.  
  4683. endstab2
  4684.     dc.w rest,cr
  4685.     dc.w b02,cr*3
  4686.     dc.w end_patt
  4687.  
  4688. endbass_bit
  4689.  
  4690.       dc.w new_env
  4691.       dc.l pizzo1el
  4692.       dc.w new_snd
  4693.       dc.l pizzo1p
  4694.     dc.w rest,cr
  4695.     dc.w g03,cr,rest,cr*2
  4696.     dc.w rest,cr
  4697.     dc.w g03,cr,rest,cr*2
  4698.  
  4699.       dc.w new_env
  4700.       dc.l strings1eq
  4701.       dc.w new_snd
  4702.       dc.l strings2p
  4703.  
  4704.  
  4705.     dc.w g03,cr,d03,cr,gb02,cr,d03,cr
  4706.     dc.w gb02,cr,db03,cr,b02,cr,d03,cr
  4707.  
  4708.     dc.w end_patt
  4709.  
  4710. endbass_bit2
  4711.  
  4712.       dc.w new_env
  4713.       dc.l pizzo1el
  4714.       dc.w new_snd
  4715.       dc.l pizzo1p
  4716.     dc.w g03,cr,d03,cr,gb02,cr,d03,cr
  4717.     dc.w gb02,cr,db03,cr,b02,cr,d03,cr
  4718.     dc.w end_patt
  4719.  
  4720.  
  4721. loudtune
  4722.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4723.     dc.w eb03,q,bb02,q,eb03,cr,db03,q,bb02,q,db03,cr
  4724.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4725.     dc.w eb03,q,bb02,q,eb03,cr,db03,cr*2
  4726.       dc.w end_patt
  4727.  
  4728. orchloud
  4729.     dc.w gb02,cr*2,db03,cr,db03,cr
  4730.     dc.w eb03,cr,eb03,cr,db03,q,bb02,q,db03,cr
  4731.     dc.w gb02,cr*2,db03,cr,db03,cr
  4732.     dc.w eb03,q,bb02,q,eb03,cr,db03,cr*2
  4733.  
  4734.       dc.w end_patt
  4735.  
  4736. trills
  4737.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4738.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4739.  
  4740.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4741.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4742.  
  4743.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4744.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4745.  
  4746.     dc.w rest,cr,gb02,4,ab02,4,b02,4,d03,4,rest,4
  4747.     dc.w rest,cr,gb02,4,ab02,4,b02,4,b03,4,rest,4
  4748.  
  4749.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4750.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4751.  
  4752.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4753.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4754.  
  4755.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4756.     dc.w rest,cr,gb02,4,ab02,4,bb02,4,b02,4,rest,4
  4757.  
  4758.       dc.w end_patt
  4759.  
  4760.  
  4761. tymploud
  4762.  
  4763.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4764.     dc.w eb03,q,bb02,q,eb03,cr,db03,q,bb02,q,db03,cr
  4765.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4766.     dc.w eb03,q,bb02,q,eb03,cr,db03,cr*2
  4767.  
  4768.  
  4769.  
  4770.     ;dc.w gb02,cr*2,gb02,cr,gb02,cr
  4771.     ;dc.w gb02,cr,gb02,cr,gb02,q,gb02,q,gb02,cr
  4772.     ;dc.w gb02,cr*2,gb02,cr,gb02,cr
  4773.     ;dc.w gb02,q,gb02,q,gb02,cr,gb02,cr*2
  4774.       dc.w end_patt
  4775.  
  4776.  
  4777. pstrgnote
  4778.  
  4779.     dc.w b02,cr*2,b02,cr*2,b02,cr*2,b02,cr*2,b02,cr*2,b02,cr*2
  4780.     dc.w d03,cr*2,d03,cr*2
  4781.     dc.w b02,cr*2,b02,cr*2,b02,cr*2,b02,cr*2,b02,cr*2,b02,cr*2
  4782.     dc.w d03,cr*2,d03,cr*2
  4783.       dc.w end_patt
  4784.  
  4785.  
  4786.  
  4787. p1o0    dc.w b00,q,db01,q,d01,q,e01,q,gb01,q,d01,q,gb01,cr
  4788.     dc.w f01,q,db01,q,f01,cr,e01,q,c01,q,e01,cr
  4789.     dc.w b00,q,db01,q,d01,q,e01,q,gb01,q,d01,q,gb01,q,b01,q
  4790.     dc.w a01,q,gb01,q,d01,q,gb01,q,a01,cr+q,rest,q
  4791.       dc.w end_patt
  4792.  
  4793.  
  4794. p1o1    dc.w b01,q,db02,q,d02,q,e02,q,gb02,q,d02,q,gb02,cr
  4795.     dc.w f02,q,db02,q,f02,cr,e02,q,c02,q,e02,cr
  4796.     dc.w b01,q,db02,q,d02,q,e02,q,gb02,q,d02,q,gb02,q,b02,q
  4797.     dc.w a02,q,gb02,q,d02,q,gb02,q,a02,cr+q,rest,q
  4798.       dc.w end_patt
  4799.  
  4800.  
  4801. ptunex    dc.w b01,q,db02,q,d02,q,e02,q,gb02,q,d02,q,gb02,cr
  4802.     dc.w f02,q,db02,q,f02,cr,e02,q,c02,q,e02,cr
  4803.     dc.w b01,q,db02,q,d02,q,e02,q,gb02,q,d02,q,gb02,q,b02,q
  4804.     dc.w gb02,q,d02,q,gb02,q,b02,q,b01,cr+q+q
  4805.       dc.w end_patt
  4806.  
  4807.  
  4808. flutebit
  4809.       dc.w new_env
  4810.       dc.l flute2eq
  4811.       dc.w new_snd
  4812.       dc.l newflutep
  4813.     dc.w rest,cr*2,db03,q,bb02,q,db03,cr
  4814.     dc.w rest,cr*2,db03,q,bb02,q,db03,cr
  4815.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4816.     dc.w d03,q,bb02,q,d03,cr,db03,cr*2
  4817.  
  4818.  
  4819.       dc.w end_patt
  4820.  
  4821. p1synbras1:
  4822.       dc.w new_env
  4823.       dc.l synbras1eq
  4824.       dc.w new_snd
  4825.       dc.l synbras1p
  4826.       dc.w end_patt
  4827.  
  4828.  
  4829.  
  4830. p2synbras1:
  4831.       dc.w new_env
  4832.       dc.l synbras1e_s1
  4833.       dc.w new_snd
  4834.       dc.l synbras1p
  4835.       dc.w end_patt
  4836.  
  4837.  
  4838. orchitsnd
  4839.       dc.w new_env
  4840.       dc.l orchhite 
  4841.       dc.w new_snd
  4842.       dc.l orchhitpp
  4843.       dc.w end_patt
  4844.  
  4845.  
  4846.  
  4847.  
  4848. p2synbras1l:
  4849.       dc.w new_env
  4850.       dc.l synbras1el
  4851.       dc.w new_snd
  4852.       dc.l synbras1p
  4853.       dc.w end_patt
  4854.  
  4855. loudbass
  4856.       dc.w new_env
  4857.       dc.l pizzo1el
  4858.       dc.w new_snd
  4859.       dc.l pizzo1p
  4860.       dc.w end_patt
  4861.  
  4862.  
  4863. p2pizzo2:
  4864.       dc.w new_env
  4865.       dc.l pizzo2e
  4866.       dc.w new_snd
  4867.       dc.l pizzo2p
  4868.       dc.w end_patt
  4869.  
  4870. p2pizzo2l:
  4871.       dc.w new_env
  4872.       dc.l pizzo2el
  4873.       dc.w end_patt
  4874.  
  4875.  
  4876. pizzo2q:
  4877.       dc.w new_env
  4878.       dc.l pizzo2eq
  4879.       dc.w new_snd
  4880.       dc.l pizzo2p
  4881.       dc.w end_patt
  4882.  
  4883.  
  4884. p2
  4885.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4886.     dc.w d03,q,bb02,q,d03,cr,db03,q,bb02,q,db03,cr
  4887.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4888.     dc.w d03,q,bb02,q,d03,cr,db03,cr*2
  4889.       dc.w end_patt
  4890.  
  4891. p2delay
  4892.     dc.w rest,sq,gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4893.     dc.w d03,q,bb02,q,d03,cr,db03,q,bb02,q,db03,cr
  4894.     dc.w gb02,q,ab02,q,bb02,q,b02,q,db03,q,bb02,q,db03,cr
  4895.     dc.w d03,q,bb02,q,d03,cr,db03,cr*2-sq
  4896.       dc.w end_patt
  4897.  
  4898. pflute_trip
  4899.  
  4900.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,d03,tcr1,f02,tcr2,gb02,tcr1
  4901.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,d03,tcr1,f02,tcr2,gb02,tcr1
  4902.  
  4903.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,db03,tcr1,f02,tcr2,gb02,tcr1
  4904.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,c03,tcr1,f02,tcr2,gb02,tcr1
  4905.  
  4906.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,d03,tcr1,f02,tcr2,gb02,tcr1
  4907.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,d03,tcr1,f02,tcr2,gb02,tcr1
  4908.  
  4909.     dc.w d02,tcr1,ab02,tcr2,a02,tcr1,gb03,tcr1,ab02,tcr2,a02,tcr1
  4910.     dc.w d02,tcr1,ab02,tcr2,a02,tcr1,gb03,tcr1,ab02,tcr2,a02,tcr1
  4911.  
  4912.  
  4913.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,d03,tcr1,f02,tcr2,gb02,tcr1
  4914.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,d03,tcr1,f02,tcr2,gb02,tcr1
  4915.  
  4916.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,db03,tcr1,f02,tcr2,gb02,tcr1
  4917.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,c03,tcr1,f02,tcr2,gb02,tcr1
  4918.  
  4919.     dc.w b01,tcr1,f02,tcr2,gb02,tcr1,b02,cr,a02,cr,g02,cr
  4920.     
  4921.     dc.w gb02,cr,e02,cr,d02,cr,db02,cr
  4922.       dc.w end_patt
  4923.  
  4924.  
  4925. p3flute2:
  4926.       dc.w new_env
  4927.       dc.l flute2e
  4928.       dc.w new_snd
  4929.       dc.l newflutep
  4930.       dc.w end_patt
  4931.  
  4932. flute_sound_loud
  4933. p3flute2l:
  4934.       dc.w new_env
  4935.       dc.l flute2el
  4936.       dc.w new_snd
  4937.       dc.l newflutep
  4938.       dc.w end_patt
  4939.  
  4940. p3    dc.w b01,q,db02,q,d02,q,e02,q,gb02,sq-1,e02,sq,d02,sq,rest,sq,gb02,sq,rest,sq*3+1
  4941.     dc.w f02,q,db02,q,f02,cr,e02,sq-1,db02,sq,c02,sq,rest,sq,e02,sq,rest,sq*3+1
  4942.     dc.w b01,q,db02,q,d02,q,e02,q,gb02,q,d02,q,gb02,q,b02,q
  4943.     dc.w gb02,q,d02,q,gb02,q,b02,q,b01,cr,rest,cr
  4944.       dc.w end_patt
  4945.  
  4946. pvacc
  4947.  
  4948.       dc.w new_env
  4949.       dc.l violin1eq
  4950.       dc.w new_snd
  4951.       dc.l violin1p
  4952.     dc.w gb02,q,b01,q,gb02,q,b01,q,gb02,cr,gb02,q,b01,q
  4953.     dc.w gb02,q,b01,q,gb02,q,b01,q,gb02,cr,gb02,q,b01,q
  4954.     dc.w gb02,q,b01,q,gb02,q,b01,q,gb02,cr,gb02,q,b01,q
  4955.     dc.w gb02,q,b01,q,d02,q,b01,q,d02,q,b01,q,d02,q,b01,q
  4956.  
  4957.     dc.w gb02,q,b01,q,gb02,q,b01,q,gb02,cr,gb02,q,b01,q
  4958.     dc.w gb02,q,b01,q,gb02,q,b01,q,gb02,cr,gb02,q,b01,q
  4959.  
  4960.       ;dc.w new_env
  4961.       ;dc.l strings1e
  4962.       ;dc.w new_snd
  4963.       ;dc.l strings2p
  4964.  
  4965.     dc.w rest,2,b01,cr,bb02,cr,a02,cr,g02,cr
  4966.     dc.w gb02,cr,e02,cr,d02,cr,db02,cr-2
  4967.       dc.w end_patt
  4968.  
  4969.  
  4970. dll
  4971.  
  4972.  
  4973.       dc.w new_env
  4974.       dc.l synbras1e
  4975.       dc.w new_snd
  4976.       dc.l synbras1p
  4977.  
  4978.     dc.w rest,cr,gb03,sq,f03,sq,gb03,q,rest,cr,gb03,sq,f03,sq,gb03,q
  4979.     dc.w rest,cr,gb03,sq,f03,sq,gb03,q,rest,cr,gb03,sq,f03,sq,gb03,q
  4980.     dc.w rest,cr,gb03,sq,f03,sq,gb03,q,rest,cr,gb03,sq,f03,sq,gb03,q
  4981.     dc.w d03,cr,a03,sq,ab03,sq,a03,q,d03,cr,a03,sq,ab03,sq,a03,q
  4982.  
  4983.     dc.w b02,cr,gb02,sq,f02,sq,gb02,q,b02,cr,gb02,sq,f02,sq,gb02,q
  4984.     dc.w b02,cr,gb02,sq,f02,sq,gb02,q,b02,cr,gb02,sq,f02,sq,gb02,q
  4985.     dc.w b02,cr,gb02,sq,f02,sq,gb02,q,b02,cr,gb02,sq,f02,sq,gb02,q
  4986.     dc.w d02,cr,a02,sq,ab02,sq,a02,q,d02,cr,a02,sq,ab02,sq,a02,sq,rest,sq
  4987.       dc.w end_patt
  4988.  
  4989.  
  4990.  
  4991. stabs
  4992.     dc.w b02,cr*4,b02,cr*4,b02,cr*4,d03,cr*4
  4993.     dc.w b02,cr*4,b02,cr*4,b02,cr*4,d03,cr*4
  4994.  
  4995.       dc.w end_patt
  4996.  
  4997.  
  4998. orchhitp1
  4999.       dc.w new_env
  5000.       dc.l orchhite 
  5001.       dc.w new_snd
  5002.       dc.l orchhitpp
  5003.     dc.w b02,cr*4,b02,cr*4,b02,cr*4,d03,cr*4
  5004.     dc.w b02,cr*4,b02,cr*4,b02,cr*4,d03,cr*4
  5005.       dc.w end_patt
  5006.  
  5007. orch1note
  5008.       dc.w new_env
  5009.       dc.l orchhite 
  5010.       dc.w new_snd
  5011.       dc.l orchhitpp
  5012.     dc.w gb02,cr,rest,cr,gb02,cr,rest,cr
  5013.     dc.w gb02,cr,rest,cr,gb02,cr,rest,cr
  5014.     dc.w gb02,cr,rest,cr,gb02,cr,rest,cr
  5015.     dc.w gb02,cr,rest,cr,gb02,cr,rest,cr
  5016.       dc.w end_patt
  5017.  
  5018. orchitp2
  5019.     dc.w gb02,q,bb02,q,db03,cr,rest,cr,gb02,q,bb02,q
  5020.     dc.w db03,cr,rest,cr,gb02,q,bb02,q,db03,cr
  5021.     dc.w gb02,q,bb02,q,db03,cr,rest,cr,gb02,q,bb02,q
  5022.     dc.w d03,q,gb02,q,d03,cr,db03,cr,rest,cr
  5023.  
  5024.       dc.w end_patt
  5025.  
  5026.  
  5027.  
  5028. bassstabs
  5029.       dc.w new_env
  5030.       dc.l pizzo1el
  5031.       dc.w new_snd
  5032.       dc.l pizzo1p
  5033.     dc.w b01,cr*4,b01,cr*4,b01,cr*4,d02,cr*4
  5034.  
  5035.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5036.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5037.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5038.     dc.w d02,cr,a02,cr,d02,cr,a02,cr
  5039.  
  5040.       dc.w end_patt
  5041.  
  5042. tymproll
  5043.  
  5044.       dc.w new_env
  5045.       dc.l tympe 
  5046.       dc.w new_snd
  5047.       dc.l newtympp
  5048.     dc.w rest,cr*14,r16,q,r14,q,r16,q,r14,q
  5049.       dc.w end_patt
  5050.  
  5051.  
  5052.  
  5053. snarerollgb
  5054.  
  5055.       dc.w new_env
  5056.       dc.l orchhite 
  5057.       dc.w new_snd
  5058.       dc.l orchhitpp
  5059.     dc.w gb02,cr
  5060.       dc.w new_env
  5061.       dc.l snaree 
  5062.       dc.w new_snd
  5063.       dc.l snarep
  5064.     dc.w r16,sq,r16,sq,r16,q
  5065.       dc.w end_patt
  5066.  
  5067. snarerollb
  5068.  
  5069.       dc.w new_env
  5070.       dc.l orchhite 
  5071.       dc.w new_snd
  5072.       dc.l orchhitpp
  5073.     dc.w b02,cr
  5074.       dc.w new_env
  5075.       dc.l snaree 
  5076.       dc.w new_snd
  5077.       dc.l snarep
  5078.     dc.w r16,sq,r16,sq,r16,q
  5079.       dc.w end_patt
  5080.  
  5081. snarerolla
  5082.  
  5083.       dc.w new_env
  5084.       dc.l orchhite 
  5085.       dc.w new_snd
  5086.       dc.l orchhitpp
  5087.     dc.w ab03,cr
  5088.       dc.w new_env
  5089.       dc.l snaree 
  5090.       dc.w new_snd
  5091.       dc.l snarep
  5092.     dc.w r16,sq,r16,sq,r16,q
  5093.       dc.w end_patt
  5094.  
  5095.  
  5096.  
  5097. snarerolld
  5098.  
  5099.       dc.w new_env
  5100.       dc.l orchhite 
  5101.       dc.w new_snd
  5102.       dc.l orchhitpp
  5103.     dc.w d02,cr
  5104.       dc.w new_env
  5105.       dc.l snaree 
  5106.       dc.w new_snd
  5107.       dc.l snarep
  5108.     dc.w r16,sq,r16,sq,r16,q
  5109.       dc.w end_patt
  5110.  
  5111. snareroll
  5112.  
  5113.       dc.w new_env
  5114.       dc.l snareeq 
  5115.       dc.w new_snd
  5116.       dc.l snarep
  5117.     dc.w r4,cr+q,r16,sq,r16,sq,r16,q,r16,q,r16,cr
  5118.     dc.w rest,cr*4
  5119.     dc.w rest,cr+q,r16,sq,r16,sq,r16,q,r16,q,r16,cr
  5120.     dc.w rest,cr*4
  5121.     dc.w rest,cr+q,r16,sq,r16,sq,r16,q,r16,q,r16,cr
  5122.     dc.w rest,cr*4
  5123.     dc.w rest,q+sq,r16,sq,r16,q,r16,q,r16,q,r16,sq,r16,sq
  5124.     dc.w r16,q,r16,q
  5125.     dc.w r16,q,r16,q,r16,q,r16,q,r16,q,r16,q,r16,cr
  5126.       dc.w end_patt
  5127.  
  5128. snarebeat
  5129.  
  5130.       dc.w new_env
  5131.       dc.l snareeq 
  5132.       dc.w new_snd
  5133.       dc.l snarep
  5134.     dc.w r16,cr,rest,cr*16,rest,cr*15
  5135.       dc.w end_patt
  5136.  
  5137.  
  5138.  
  5139.  
  5140. p1bass:
  5141.       dc.w new_env
  5142.       dc.l basseq
  5143.       dc.w new_snd
  5144.       dc.l pizzo1p
  5145. p1bassd    dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5146.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5147.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5148.     dc.w d02,cr,a02,cr,d02,cr,a02,cr
  5149.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5150.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5151.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5152.       dc.w end_patt
  5153.  
  5154. p1bass_end
  5155.     dc.w d02,cr,a02,cr,d02,cr,a02,cr
  5156. endbass
  5157.     dc.w gb02,cr,db03,cr,gb02,cr,db03,cr
  5158.     dc.w d02,cr,bb02,cr,gb02,cr,db03,cr
  5159.     dc.w gb02,cr,db03,cr,gb02,cr,db03,cr
  5160.     dc.w d02,cr,bb02,cr,gb02,cr,db03,cr
  5161.     dc.w gb02,cr,db03,cr,gb02,cr,db03,cr
  5162.     dc.w d02,cr,bb02,cr,gb02,cr,db03,cr
  5163.     dc.w gb02,cr,db03,cr,gb02,cr,db03,cr
  5164.       dc.w end_patt
  5165. lastbarb
  5166.     dc.w d02,cr,bb02,cr,gb02,cr,db03,cr
  5167.       dc.w end_patt
  5168.  
  5169.  
  5170. pbasstrip
  5171.       dc.w new_env
  5172.       dc.l basse
  5173.       dc.w new_snd
  5174.       dc.l pizzo1p
  5175.  
  5176.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5177.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5178.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5179.     dc.w d02,cr,a02,cr,d02,cr,a02,cr
  5180.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr            ;bar 21
  5181.     dc.w b01,cr,gb02,cr,b01,cr,gb02,cr
  5182.     dc.w b01,cr,bb02,cr,a02,cr,g02,cr
  5183.     dc.w gb02,cr,e02,cr,d02,cr,db02,cr
  5184.  
  5185.  
  5186.       dc.w end_patt
  5187.  
  5188. runbass
  5189.       dc.w new_env
  5190.       dc.l strings1el
  5191.       dc.w new_snd
  5192.       dc.l strings2p
  5193.  
  5194. bassrun
  5195.     dc.w b01,q,a01,q,g01,q,gb01,q
  5196.     dc.w b01,q,a01,q,g01,q,gb01,q
  5197.  
  5198.     dc.w b01,q,a01,q,g01,q,gb01,q
  5199.     dc.w b01,q,a01,q,g01,q,gb01,q
  5200.  
  5201.     dc.w b01,q,a01,q,g01,q,gb01,q
  5202.     dc.w b01,q,a01,q,g01,q,gb01,q
  5203.  
  5204.     dc.w d02,q,db02,q,b01,q,a01,q
  5205.     dc.w d02,q,db02,q,b01,q,a01,q
  5206.  
  5207.     dc.w b01,q,a01,q,g01,q,gb01,q
  5208.     dc.w b01,q,a01,q,g01,q,gb01,q
  5209.  
  5210.     dc.w b01,q,a01,q,g01,q,gb01,q
  5211.     dc.w b01,q,a01,q,g01,q,gb01,q
  5212.  
  5213.     dc.w b01,q,a01,q,g01,q,gb01,q
  5214.     dc.w b01,q,a01,q,g01,q,gb01,q
  5215.  
  5216.       dc.w end_patt
  5217. endrunbass
  5218.     dc.w d02,q,db02,q,b01,q,a01,q
  5219.     dc.w d02,q,db02,q,b01,q,a01,q
  5220.  
  5221.       dc.w end_patt
  5222.  
  5223. runbass2
  5224.  
  5225.     dc.w gb02,q,e02,q,d02,q,db02,q
  5226.     dc.w gb02,q,e02,q,d02,q,db02,q
  5227.  
  5228.     dc.w d02,q,db02,q,d02,q,e02,q
  5229.     dc.w gb02,q,e02,q,d02,q,db02,q
  5230.  
  5231.     dc.w gb02,q,e02,q,d02,q,db02,q
  5232.     dc.w gb02,q,e02,q,d02,q,db02,q
  5233.  
  5234.     dc.w d02,q,db02,q,d02,q,e02,q
  5235.     dc.w gb02,q,e02,q,d02,q,db02,q
  5236.  
  5237.  
  5238.       dc.w end_patt
  5239.  
  5240.  
  5241. runbass2_end
  5242.     dc.w gb02,q,e02,q,d02,q,db02,q
  5243.     dc.w gb02,q,e02,q,d02,q,db02,q
  5244.  
  5245.     dc.w d02,q,db02,q,d02,q,e02,q
  5246.     dc.w gb02,q,e02,q,d02,q,db02,q
  5247.  
  5248.     dc.w gb02,q,e02,q,d02,q,db02,q
  5249.     dc.w gb02,q,e02,q,d02,q,db02,q
  5250.  
  5251.     dc.w rest,cr*4
  5252.  
  5253.       dc.w end_patt
  5254.  
  5255.  
  5256.  
  5257.  
  5258.  
  5259.  
  5260. pbassq:
  5261.       dc.w new_env
  5262.       dc.l basse
  5263.       dc.w new_snd
  5264.       dc.l pizzo1p
  5265.  
  5266.     dc.w gb02,q,gb02,q
  5267.     dc.w db03,q,db03,q
  5268.     dc.w gb02,q,gb02,q
  5269.     dc.w db03,q,db03,q
  5270.  
  5271.     dc.w d02,q,d02,q
  5272.     dc.w bb02,q,bb02,q
  5273.     dc.w gb02,q,gb02,q
  5274.     dc.w db03,q,db03,q
  5275.  
  5276.     dc.w gb02,q,gb02,q
  5277.     dc.w db03,q,db03,q
  5278.     dc.w gb02,q,gb02,q
  5279.     dc.w db03,q,db03,q
  5280.  
  5281.     dc.w d02,q,d02,q
  5282.     dc.w bb02,q,bb02,q
  5283.     dc.w gb02,q,gb02,q
  5284.     dc.w db03,q,db03,q
  5285.  
  5286.     dc.w gb02,cr,db03,cr,gb02,cr,db03,cr
  5287.     dc.w d02,cr,bb02,cr,gb02,cr,db03,cr
  5288.     dc.w gb02,cr,db03,cr,gb02,cr,db03,cr
  5289.     dc.w d02,cr,bb02,cr,gb02,cr,db03,cr
  5290.  
  5291.       dc.w end_patt
  5292.  
  5293.  
  5294.  
  5295.  
  5296.  
  5297. ;------------
  5298.  
  5299. cr  set   24
  5300. q set  cr/2
  5301. sq set q/2
  5302.  
  5303. tcr1 set 16
  5304. tcr2 set 16
  5305. tq1 set      8
  5306. tq2 set   8
  5307. tsq1 set 4
  5308. tsq2 set 4
  5309.  
  5310. **************************************************************
  5311.  
  5312. intro5
  5313.     dc.l    pizpiano_sound
  5314.  
  5315.     dc.l    intro1
  5316.     dc.l    intro1
  5317.     dc.l    intro1
  5318.     dc.l    intro1
  5319.     dc.l    intro1x
  5320.     dc.l    flute_sound
  5321.     dc.l    intro1x
  5322.     dc.l    orch_hit_sound
  5323.     dc.l    intro1
  5324.  
  5325.  
  5326. ;      dc.l     0,end_song
  5327.  
  5328.  
  5329.  
  5330. s5:
  5331.     dc.l    trumpet_sound,main_tune,main_tune_end
  5332.     dc.l    brass_sound,dsect
  5333.  
  5334. ;s5
  5335.     dc.l    trumpet_sound,main_tune,main_tune_end
  5336.     dc.l    brass_sound,dsect
  5337.  
  5338. ;s5
  5339.     dc.l    mid_tune        ;sounds defined
  5340.  
  5341. ;s5
  5342.     dc.l    string_sound_loud,bridge_tune
  5343.  
  5344.     dc.l    trumpet_sound,main_tune,main_tune_end
  5345. ;s5
  5346.     dc.l    trumpet_sound,main_tune,short_tune_end
  5347.  
  5348.     dc.l    mid_tune        ;sounds defined
  5349.  
  5350.     dc.l    string_sound_loud,bridge_tune
  5351.  
  5352.     dc.l    trumpet_sound,main_tune,main_tune_end
  5353.  
  5354.     dc.l    brass_sound,dsect,dsect,dsect
  5355.     dc.l    one_stab
  5356.  
  5357.       dc.l     0,end_song
  5358. ;---------------
  5359.  
  5360. intro8
  5361.     dc.l    bass_sound
  5362.     dc.l    intro2
  5363.     dc.l    intro2
  5364.     dc.l    intro2
  5365.     dc.l    intro2
  5366.     dc.l    intro2
  5367.     dc.l    intro2
  5368.     dc.l    intro2
  5369.     dc.l    intro2
  5370.     dc.l    intro2
  5371.     dc.l    intro2
  5372.     dc.l    intro4
  5373.     dc.l    intro2a
  5374.       ;dc.l     0,end_song
  5375.  
  5376. s8:    
  5377.     dc.l    orch_hit_sound,orchhit_intro
  5378.     dc.l    string_sound_louder,string_run
  5379.  
  5380. ;s6    
  5381.     dc.l     histrg_sound,verse_bass            ;this is strgs        
  5382.     dc.l    verse_bass
  5383.     dc.l    snare_sound_loud,dsnare
  5384.  
  5385. ;s6
  5386.     dc.l    bass_sound_quiet,mid_bass
  5387.  
  5388.     dc.l    bass_sound,bridge_bass
  5389.  
  5390.     dc.l     histrg_sound,verse_bass            ;this is strgs        
  5391.     dc.l    verse_bass
  5392.  
  5393. ;s6
  5394.     dc.l     histrg_sound            ;this is strgs        
  5395.  
  5396.     dc.l    verse_bass
  5397.     dc.l    verse_bass
  5398.  
  5399.  
  5400.     dc.l    pr241bar
  5401.  
  5402.     dc.l    bass_sound_quiet,mid_bass
  5403.  
  5404.     dc.l    bass_sound,bridge_bass
  5405.  
  5406.     dc.l     histrg_sound,verse_bass            ;this is strgs        
  5407.     dc.l    verse_bass
  5408.     dc.l    snare_sound_loud,dsnare,dsnare,dsnare
  5409.  
  5410.     dc.l    one_stab
  5411.  
  5412.     dc.l    pri_new_tune
  5413.  
  5414.         dc.l    0,end_song
  5415.  
  5416. ;---------------
  5417.  
  5418. intro7
  5419.  
  5420.     dc.l    snare_sound
  5421.     dc.l    intro3
  5422.     dc.l    intro3
  5423.     dc.l    intro3
  5424.     dc.l    intro3
  5425.     dc.l    intro3
  5426.     dc.l    intro3
  5427.     dc.l    intro3
  5428.     dc.l    intro3
  5429.     ;dc.l    orch_hit_sound
  5430.     ;dc.l    intro3_crash
  5431.     ;dc.l    snare_sound
  5432.     dc.l    intro3x
  5433.     dc.l    intro3x
  5434.     dc.l    intro3
  5435.     dc.l    intro3
  5436.     dc.l    intro3x
  5437.     dc.l    tymp_sound
  5438.     dc.l    intro3xx
  5439. ;      dc.l     0,end_song
  5440.  
  5441.  
  5442.  
  5443.  
  5444. s7:
  5445.     dc.l    string_sound_loud,main_tune,main_tune_end
  5446.     dc.l    brass_sound,dsecth
  5447.  
  5448. ;s7
  5449.     dc.l    snare_sound,verse_roll,verse_roll
  5450.     dc.l    orch_hit_soundq,phrase_d
  5451.  
  5452. ;s7
  5453.     dc.l    trumpet_sound_quiet,mid_chord1
  5454.  
  5455. ;s7
  5456.     dc.l    string_sound_loud,bridge_tuneh
  5457.     dc.l    snare_sound,verse_roll,verse_roll
  5458. ;s7
  5459.     dc.l    main_tune_stabs
  5460.  
  5461.     dc.l    orch_hit_sound,short_run
  5462.  
  5463.     dc.l    trumpet_sound_quiet,mid_chord1
  5464.  
  5465. ;s7
  5466.     dc.l    string_sound_loud,bridge_tuneh
  5467.     dc.l    snare_sound,verse_roll,verse_roll
  5468.  
  5469.     dc.l    orch_hit_soundq,phrase_d,phrase_d,phrase_d
  5470.  
  5471.     dc.l    one_stab
  5472.  
  5473.       dc.l     0,end_song
  5474. ;---------------
  5475.  
  5476. intro6
  5477.     dc.l    histrg_sound
  5478.     dc.l    intro4
  5479.     dc.l    intro4
  5480.     dc.l    intro4
  5481.     dc.l    intro4
  5482.     dc.l    intro4
  5483.     dc.l    intro4
  5484.     dc.l    intro4
  5485.     dc.l    intro4
  5486.     dc.l    intro4
  5487.     dc.l    intro4
  5488.     dc.l    intro4
  5489.     dc.l    intro4
  5490. ;      dc.l     0,end_song
  5491.  
  5492.  
  5493.  
  5494. s6:
  5495.     dc.l    bass_sound,intro_bass1,snare_sound,intro_roll
  5496.     dc.l    bass_sound,intro_bass2
  5497.     dc.l    snare_sound,roll2
  5498.  
  5499. ;s8    
  5500.     dc.l    bass_soundvq,verse_bass
  5501.     dc.l    verse_bass,phrase_d_low
  5502.  
  5503. ;s8
  5504.     dc.l    trumpet_sound_quiet,mid_chord2
  5505.  
  5506. ;s8    
  5507.  
  5508.     dc.l    tymp_sound,mid_tymp
  5509.  
  5510.     dc.l    snare_sound,sfill
  5511.     dc.l    orch_hit_sound,two_stabs
  5512.     dc.l    string_sound_louder,string_run
  5513.  
  5514.     dc.l    bass_soundvq,verse_bass
  5515.     dc.l    verse_bass
  5516.  
  5517. ;s8
  5518.     dc.l    bass_soundvq
  5519.     dc.l    verse_bass,verse_bass
  5520.  
  5521.     dc.l    bass_sound,short_run
  5522.  
  5523.     dc.l    trumpet_sound_quiet,mid_chord2
  5524.  
  5525. ;s8    
  5526.  
  5527.     dc.l    tymp_sound,mid_tymp
  5528.  
  5529.     dc.l    snare_sound,sfill
  5530.     dc.l    orch_hit_sound,two_stabs
  5531.     dc.l    string_sound_louder,string_run
  5532.  
  5533.     dc.l    bass_soundvq,verse_bass
  5534.     dc.l    verse_bass
  5535.     dc.l    phrase_d_low,phrase_d_low,phrase_d_low
  5536.  
  5537.     dc.l    one_stab
  5538.  
  5539.       dc.l     0,end_song
  5540.  
  5541. ;***************  RESTS  ***************
  5542.  
  5543.  
  5544. ;cr  set   48
  5545. ;q set  cr/2
  5546. ;sq set q/2
  5547.  
  5548. ;tcr1 set 32
  5549. ;tcr2 set 32
  5550. ;tq1 set     16
  5551. ;tq2 set  16
  5552. ;tsq1 set 8
  5553. ;tsq2 set 8
  5554.  
  5555.  
  5556. intro1
  5557.     dc.w rest,tq1+tq2,a02,tq1,d03,tq1,a02,tq2,d03,tq1,a03,cr*2
  5558.     dc.w rest,cr*4
  5559.     dc.w end_patt
  5560.  
  5561. intro1x
  5562.     dc.w rest,tq1+tq2,a02,tq1,d03,tq1,a02,tq2,d03,tq1,a03,cr*2
  5563.     dc.w end_patt
  5564.  
  5565.  
  5566.  
  5567. intro2
  5568.     dc.w  a02,cr,a02,cr,a02,cr,a02,cr
  5569.     dc.w end_patt
  5570. intro2o
  5571.     dc.w  a01,cr,a01,cr,a01,cr,a01,cr
  5572.     dc.w end_patt
  5573.  
  5574.  
  5575. intro2x
  5576.     dc.w  a02,cr,a03,cr,a02,cr,a03,cr
  5577.     dc.w end_patt
  5578.  
  5579.  
  5580. intro2a
  5581.     dc.w a03,tq1,d03,tq2,a02,tq1,d02,tq1,a02,tq2,d03,tq1
  5582.     dc.w a02,tq1,bb02,tq2,b02,tq1
  5583.     dc.w c03,tq1,db03,tq2,d03,tq1
  5584.     dc.w end_patt
  5585.  
  5586. intro3
  5587.     dc.w r16,tq1,r16,tq2,r16,tq1
  5588.     dc.w r16,tq1,r16,tq2,r16,tq1
  5589.     dc.w r16,tq1,r16,tq2,r16,tq1
  5590.     dc.w r16,tq1,r16,tq2,r16,tq1
  5591.     dc.w end_patt
  5592.  
  5593. intro3_crash
  5594.     dc.w r2,cr*4
  5595.     dc.w end_patt
  5596.  
  5597.  
  5598. intro3x
  5599.     dc.w r16,tq1,r16,tq2,r16,tq1
  5600.     dc.w r16,tq1,r16,tq2,r16,tq1
  5601.     dc.w end_patt
  5602.  
  5603.  
  5604. intro3xx
  5605.     dc.w r16,tq1,r15,tq2,r14,tq1
  5606.     dc.w r16,tq1,r15,tq2,r14,tq1
  5607.     dc.w end_patt
  5608.  
  5609.  
  5610.  
  5611. intro4    
  5612.     dc.w a03,tq1,d03,tq2,a02,tq1,d02,tq1,a02,tq2,d03,tq1
  5613.     dc.w a03,tq1,d03,tq2,a02,tq1,d02,tq1,a02,tq2,d03,tq1
  5614.     dc.w end_patt
  5615.  
  5616.  
  5617. cr  set   24
  5618. q set  cr/2
  5619. sq set q/2
  5620.  
  5621. tcr1 set 16
  5622. tcr2 set 16
  5623. tq1 set      8
  5624. tq2 set   8
  5625. tsq1 set 4
  5626. tsq2 set 4
  5627.  
  5628. pr241bar:
  5629.     dc.w rest,cr*4
  5630.     dc.w end_patt
  5631.  
  5632. pr242bar:
  5633.     dc.w rest,cr*8
  5634.     dc.w end_patt
  5635.  
  5636. pr244bar:
  5637.     dc.w rest,cr*16
  5638.     dc.w end_patt
  5639.  
  5640.  
  5641. pr247bar:
  5642.     dc.w rest,cr*28
  5643.     dc.w end_patt
  5644.  
  5645. pr248bar:
  5646.     dc.w rest,cr*32
  5647.     dc.w end_patt
  5648.  
  5649.  
  5650.  
  5651. pr242beats:
  5652.     dc.w rest,cr*2
  5653.     dc.w end_patt
  5654.  
  5655.  
  5656. ;**************  SOUNDS ****************
  5657.  
  5658. violin_sound_loud
  5659.       dc.w new_env
  5660.       dc.l violin1el
  5661.       dc.w new_snd
  5662.       dc.l violin1p
  5663.       dc.w end_patt
  5664.  
  5665. sine_sound
  5666.       dc.w new_env
  5667.       dc.l sine_env
  5668.       dc.w new_snd
  5669.       dc.l sinep
  5670.       dc.w end_patt
  5671.  
  5672. sine_sound_short
  5673.       dc.w new_env
  5674.       dc.l sine_env_short
  5675.       dc.w new_snd
  5676.       dc.l sinep
  5677.       dc.w end_patt
  5678.  
  5679. sine_sound_slow
  5680.       dc.w new_env
  5681.       dc.l sine_env_slow
  5682.       dc.w new_snd
  5683.       dc.l sinep
  5684.       dc.w end_patt
  5685.  
  5686. flute_sound
  5687.       dc.w new_env
  5688.       dc.l flute2e
  5689.       dc.w new_snd
  5690.       dc.l newflutep
  5691.       dc.w end_patt
  5692.  
  5693. flute_sound_quiet
  5694.       dc.w new_env
  5695.       dc.l flute2eq
  5696.       dc.w new_snd
  5697.       dc.l newflutep
  5698.       dc.w end_patt
  5699.  
  5700. bass_sound
  5701.       dc.w new_env
  5702.       dc.l basse
  5703.       dc.w new_snd
  5704.       dc.l pizzo1p
  5705.       dc.w end_patt
  5706.  
  5707. bass_sound_quiet
  5708.       dc.w new_env
  5709.       dc.l bassqe
  5710.       dc.w new_snd
  5711.       dc.l pizzo1p
  5712.       dc.w end_patt
  5713.  
  5714.  
  5715. bass_soundvq
  5716.       dc.w new_env
  5717.       dc.l bassevq
  5718.       dc.w new_snd
  5719.       dc.l pizzo1p
  5720.       dc.w end_patt
  5721.  
  5722.  
  5723.  
  5724.  
  5725. ;flute_sound
  5726.       dc.w new_env
  5727.       dc.l flute2eq
  5728.       dc.w new_snd
  5729.       dc.l newflutep
  5730.       dc.w end_patt
  5731.  
  5732. histrg_sound
  5733.       dc.w new_env
  5734.       dc.l histrge
  5735.       dc.w new_snd
  5736.       dc.l histrgp
  5737.       dc.w end_patt
  5738.  
  5739.  
  5740. snare_sound
  5741.       dc.w new_env
  5742.       dc.l snareeq 
  5743.       dc.w new_snd
  5744.       dc.l snarep
  5745.       dc.w end_patt
  5746.  
  5747. snare_sound_mid
  5748.       dc.w new_env
  5749.       dc.l snareemid 
  5750.       dc.w new_snd
  5751.       dc.l snarep
  5752.       dc.w end_patt
  5753.  
  5754.  
  5755.  
  5756. snare_sound_loud
  5757.       dc.w new_env
  5758.       dc.l snaree 
  5759.       dc.w new_snd
  5760.       dc.l snarep
  5761.       dc.w end_patt
  5762.  
  5763.  
  5764.  
  5765.  
  5766. trumpet_sound
  5767.       dc.w new_env
  5768.       dc.l trumpete
  5769.       dc.w new_snd
  5770.       dc.l trumpet_loopp
  5771.       dc.w end_patt
  5772.  
  5773. trumpet_sound_quiet
  5774.       dc.w new_env
  5775.       dc.l trumpeteq
  5776.       dc.w new_snd
  5777.       dc.l trumpet_loopp
  5778.       dc.w end_patt
  5779.  
  5780.  
  5781. brass_sound
  5782.       dc.w new_env
  5783.       dc.l brasse
  5784.       dc.w new_snd
  5785.       dc.l brasssecp
  5786.       dc.w end_patt
  5787.  
  5788. string_sound
  5789.       dc.w new_env
  5790.       dc.l strings1e
  5791.       dc.w new_snd
  5792.       dc.l strings2p
  5793.       dc.w end_patt
  5794.  
  5795.  
  5796. string_sound_loud
  5797.       dc.w new_env
  5798.       dc.l strings1el
  5799.       dc.w new_snd
  5800.       dc.l strings2p
  5801.       dc.w end_patt
  5802.  
  5803. string_sound_short
  5804.       dc.w new_env
  5805.       dc.l string_short_env
  5806.       dc.w new_snd
  5807.       dc.l strings2p
  5808.       dc.w end_patt
  5809.  
  5810. string_sound_shorter
  5811.       dc.w new_env
  5812.       dc.l string_pizz_env
  5813.       dc.w new_snd
  5814.       dc.l strings2p
  5815.       dc.w end_patt
  5816.  
  5817.  
  5818.  
  5819. string_sound_louder
  5820.       dc.w new_env
  5821.       dc.l strings1eler
  5822.       dc.w new_snd
  5823.       dc.l strings2p
  5824.       dc.w end_patt
  5825.  
  5826.  
  5827. tymp_sound
  5828.       dc.w new_env
  5829.       dc.l tympe 
  5830.       dc.w new_snd
  5831.       dc.l newtympp
  5832.       dc.w end_patt
  5833.  
  5834. pizpiano_sound
  5835.       dc.w new_env
  5836.       dc.l pizpianoe 
  5837.       dc.w new_snd
  5838.       dc.l pizpianop
  5839.       dc.w end_patt
  5840.  
  5841. pizpiano_sound_short
  5842.       dc.w new_env
  5843.       dc.l sine_env_short 
  5844.       dc.w new_snd
  5845.       dc.l pizpianop
  5846.       dc.w end_patt
  5847.  
  5848.  
  5849. pizpiano_sound_quiet
  5850.       dc.w new_env
  5851.       dc.l pizpianoevrq 
  5852.       dc.w new_snd
  5853.       dc.l pizpianop
  5854.       dc.w end_patt
  5855.  
  5856.  
  5857. orch_hit_sound
  5858.       dc.w new_env
  5859.       dc.l orchhite 
  5860.       dc.w new_snd
  5861.       dc.l orchhitpp
  5862.       dc.w end_patt
  5863.  
  5864. orch_hit_soundq
  5865.       dc.w new_env
  5866.       dc.l orchhiteq 
  5867.       dc.w new_snd
  5868.       dc.l orchhitpp
  5869.       dc.w end_patt
  5870.  
  5871. ;***********    TRUMPET PATTERNS LEAD TUNES *********
  5872.  
  5873.  
  5874. main_tune
  5875.     dc.w rest,tq1+tq2,a01,tq1,d02,tq1,a01,tq2,d02,tq1,a02,cr+tq1+tq2
  5876.     dc.w g02,tq1+tq2+tq1,g02,tq1,c03,cr*3
  5877.  
  5878.     dc.w rest,tq1+tq2,a01,tq1,d02,tq1,a01,tq2,d02,tq1,a02,cr+tq1+tq2
  5879.     dc.w g02,tq1+tq2+tq1,g02,tq1,e02,cr+tq1+tq2,c02,tq1+cr
  5880.  
  5881.     dc.w rest,tq1+tq2,a01,tq1,d02,tq1,a01,tq2,d02,tq1,a02,cr+tq1+tq2
  5882.     dc.w g02,tq1+tq2+tq1,g02,tq1,c03,cr+tq1+tq2,e03,tq1+cr
  5883.       dc.w end_patt
  5884.  
  5885. main_tune_end
  5886.     dc.w d03,cr,d03,tq1,d03,tq2,d03,tq1
  5887.     dc.w f03,cr+tq1+tq2,e03,tq1+tq2+tq1
  5888.     dc.w e03,tq1,g03,cr*2
  5889.     dc.w c03,cr
  5890.       dc.w end_patt
  5891.  
  5892. short_tune_end
  5893.     dc.w d03,cr,d03,tq1,d03,tq2,d03,tq1
  5894.     dc.w f03,cr+tq1+tq2,e03,tq1+tq2+tq1
  5895.     dc.w e03,tq1,g03,cr*2
  5896.     dc.w c03,cr,d03,cr*2,rest,cr*2
  5897.       dc.w end_patt
  5898.  
  5899.  
  5900.  
  5901.  
  5902.  
  5903. dsect    dc.w d03,tq1,d03,tq2,d03,tq1
  5904.     dc.w d03,tq1,d03,tq2,d03,tq1
  5905.     dc.w d03,tq1,d03,tq2,d03,tq1
  5906.     dc.w d03,tq1,d03,tq2,d03,tq1
  5907.     dc.w d03,tq1,d03,tq2,d03,tq1
  5908.     dc.w d03,tq1,d03,tq2,d03,tq1
  5909.     dc.w d03,tq1,d03,tq2,d03,tq1
  5910.     dc.w d03,tq1,d03,tq2,d03,tq1
  5911.       dc.w end_patt
  5912.  
  5913. dsecth
  5914.     dc.w a02,tq1,a02,tq2,a02,tq1
  5915.     dc.w a02,tq1,a02,tq2,a02,tq1
  5916.     dc.w a02,tq1,a02,tq2,a02,tq1
  5917.     dc.w a02,tq1,a02,tq2,a02,tq1
  5918.     dc.w a02,tq1,a02,tq2,a02,tq1
  5919.     dc.w a02,tq1,a02,tq2,a02,tq1
  5920.     dc.w a02,tq1,a02,tq2,a02,tq1
  5921.     dc.w a02,tq1,a02,tq2,a02,tq1
  5922.       dc.w end_patt
  5923.  
  5924. mid_tune
  5925.  
  5926.       dc.w new_env
  5927.       dc.l strings1el
  5928.       dc.w new_snd
  5929.       dc.l strings2p
  5930.  
  5931.     dc.w bb02,cr*3,bb02,tq1,a02,tq2,g02,tq1
  5932.     dc.w f02,cr
  5933.  
  5934.       dc.w new_env
  5935.       dc.l pizpianoeq 
  5936.       dc.w new_snd
  5937.       dc.l pizpianop
  5938.  
  5939.     dc.w bb02,tq1,a02,tq2,g02,tq1
  5940.     dc.w f02,cr
  5941.  
  5942.        dc.w new_env
  5943.       dc.l strings1el
  5944.       dc.w new_snd
  5945.       dc.l strings2p
  5946.  
  5947.     dc.w g02,cr
  5948.     dc.w ab02,tq1,bb02,tq2,ab02,tq1,f02,cr
  5949.                             ;6 crot
  5950.       dc.w new_env
  5951.       dc.l pizpianoeq 
  5952.       dc.w new_snd
  5953.       dc.l pizpianop
  5954.  
  5955.     dc.w ab02,tq1,bb02,tq2,ab02,tq1,f02,cr
  5956.     dc.w rest,cr*2
  5957.  
  5958.     dc.w ab01,tq1,bb01,tq2,ab01,tq1,f01,cr
  5959.  
  5960.        dc.w new_env
  5961.       dc.l strings1el
  5962.       dc.w new_snd
  5963.       dc.l strings2p
  5964.  
  5965.     dc.w f02,tq1,g02,tq2,f02,tq1,eb02,cr*6
  5966.     dc.w g02,cr,f02,cr
  5967.  
  5968.       dc.w new_env
  5969.       dc.l pizpianoeq 
  5970.       dc.w new_snd
  5971.       dc.l pizpianop
  5972.  
  5973.     dc.w db02,tq1,db03,tq1,db02,tq1,db03,cr
  5974.     dc.w db02,tq1,db03,tq1,db02,tq1,db03,cr
  5975.     dc.w db02,tq1,db03,tq1,db02,tq1,db03,cr
  5976.     dc.w rest,cr
  5977.  
  5978.       dc.w end_patt
  5979.  
  5980.  
  5981. bridge_tune
  5982.     dc.w eb02,tq1,eb02,tq2,eb02,tq1,d02,cr*3-tq1,c02,tq1
  5983.     dc.w eb02,tq1,eb02,tq2,eb02,tq1,d02,cr*3-tq1,c02,tq1
  5984.  
  5985.     dc.w f02,tq1,f02,tq2,f02,tq1,eb02,cr*3-tq1,c02,tq1
  5986.     dc.w f02,tq1,f02,tq2,f02,tq1,eb02,cr*3-tq1,c02,tq1
  5987.  
  5988.     dc.w ab02,tq1,ab02,tq2,ab02,tq1,g02,cr*3-tq1,c02,tq1
  5989.     dc.w bb02,tq1,bb02,tq2,bb02,tq1,ab02,cr*3-tq1,c02,tq1
  5990.  
  5991.     dc.w db03,cr,db03,tq1,db03,tq2,db03,tq1
  5992.     dc.w b02,cr,b02,tq1,b02,tq2,b02,tq1
  5993.  
  5994.     dc.w db03,cr,db03,tq1,db03,tq2,db03,tq1
  5995.     dc.w db03,cr,db03,tq1,db03,tq2,db03,tq1
  5996.     dc.w db03,cr,db03,tq1,db03,tq2,db03,tq1
  5997.     dc.w db03,tq1,db03,tq2,db03,tq1
  5998.     dc.w db03,tq1,db03,tq2,db03,tq1
  5999.  
  6000.       dc.w end_patt
  6001.  
  6002. bridge_tuneh
  6003.     dc.w c02,tq1,c02,tq2,c02,tq1,c02,cr*3-tq1,g01,tq1
  6004.     dc.w c02,tq1,c02,tq2,c02,tq1,c02,cr*3-tq1,g01,tq1
  6005.  
  6006.     dc.w eb02,tq1,eb02,tq2,eb02,tq1,c02,cr*3-tq1,eb02,tq1
  6007.     dc.w eb02,tq1,eb02,tq2,eb02,tq1,c02,cr*3-tq1,eb02,tq1
  6008.  
  6009.     dc.w f02,tq1,f02,tq2,f02,tq1,f02,cr*3-tq1,f02,tq1
  6010.     dc.w ab02,tq1,ab02,tq2,ab02,tq1,ab02,cr*3-tq1,ab02,tq1
  6011.  
  6012.     dc.w bb02,cr,bb02,tq1,bb02,tq2,bb02,tq1
  6013.     dc.w ab02,cr,ab02,tq1,ab02,tq2,ab02,tq1
  6014.  
  6015.     dc.w a02,cr,a02,cr
  6016.     dc.w g02,cr,g02,cr
  6017.     dc.w gb02,cr,gb02,cr
  6018.     dc.w e02,cr,e02,cr
  6019.  
  6020.       dc.w end_patt
  6021.  
  6022.  
  6023. ;*******   ORCH HIT PATTERNS *******************
  6024.  
  6025. short_run
  6026.  
  6027.     dc.w d03,cr,rest,cr
  6028.     dc.w g03,tq1,f03,tq2,e03,tq1
  6029.     dc.w d03,tq1,c03,tq1,c03,tq1
  6030.       dc.w end_patt
  6031.  
  6032.  
  6033.  
  6034.  
  6035. orchhit_intro
  6036.     dc.w d03,cr,rest,cr*7,bb02,cr,rest,cr*6
  6037.     dc.w c03,cr,d03,cr,rest,cr*7,bb02,cr,rest,cr*3
  6038.     dc.w c03,cr,rest,cr*2,c03,cr,d03,cr,rest,cr*5
  6039.       dc.w end_patt
  6040.  
  6041. phrase_d
  6042.     dc.w d03,cr,d03,tq1,d03,tq2,d03,tq1
  6043.     dc.w d03,cr,d03,tq1,d03,tq2,d03,tq1
  6044.     dc.w d03,cr,d03,tq1,d03,tq2,d03,tq1
  6045.     dc.w d03,tq1,d03,tq2,d03,tq1,d03,tq1,d03,tq2,d03,tq1
  6046.       dc.w end_patt
  6047.  
  6048. phrase_d_low
  6049.     dc.w d02,cr,d02,tq1,d02,tq2,d02,tq1
  6050.     dc.w d02,cr,d02,tq1,d02,tq2,d02,tq1
  6051.     dc.w d02,cr,d02,tq1,d02,tq2,d02,tq1
  6052.     dc.w d02,tq1,d02,tq2,d02,tq1,d02,tq1,d02,tq2,d02,tq1
  6053.       dc.w end_patt
  6054.  
  6055. two_stabs
  6056.     dc.w a02,cr,a02,cr
  6057.       dc.w end_patt
  6058.  
  6059. one_stab
  6060.     dc.w d03,cr,rest,cr*8
  6061.       dc.w end_patt
  6062.  
  6063.  
  6064. ; *********  SNARE     PATTERNS ***********
  6065.  
  6066.  
  6067. dsnare
  6068.     dc.w r16,cr,r16,tq1,r16,tq2,r16,tq1
  6069.     dc.w r16,cr,r16,tq1,r16,tq2,r16,tq1
  6070. sfill    dc.w r16,cr,r16,tq1,r16,tq2,r16,tq1
  6071.     dc.w r16,tq1,r16,tq2,r16,tq1,r16,tq1,r16,tq2,r16,tq1
  6072.       dc.w end_patt
  6073.  
  6074.  
  6075.  
  6076.  
  6077.  
  6078. intro_roll
  6079.  
  6080.     dc.w r16,tsq1,r16,tsq2,r16,tsq1
  6081.     dc.w r16,tsq1,r16,tsq2,r16,tsq1
  6082.     dc.w r16,tsq1,r16,tsq2,r16,tsq1
  6083.     dc.w r16,tsq1,r16,tsq2,r16,tsq1
  6084.  
  6085.     ;dc.w rest cr*2
  6086.     dc.w r4,cr*7
  6087.       dc.w end_patt
  6088.  
  6089. roll2
  6090.     dc.w r16,tq1,r16,tq2,r16,tq1,r16,cr
  6091.     dc.w r16,tq1,r16,tq2,r16,tq1
  6092.     dc.w r16,tq1,r16,tq2,r16,tq1
  6093.       dc.w end_patt
  6094.  
  6095. verse_roll
  6096.       dc.w new_env
  6097.       dc.l orchhite 
  6098.       dc.w new_snd
  6099.       dc.l orchhitpp
  6100.     dc.w    d03,cr
  6101.  
  6102.     ;dc.w r16,tq1+tq2,r16,tq1,
  6103.  
  6104.       dc.w new_env
  6105.       dc.l snareeq 
  6106.       dc.w new_snd
  6107.       dc.l snarep
  6108.  
  6109.  
  6110.  
  6111.     dc.w r16,tq1,r16,tq2,r16,tq1
  6112.     dc.w r16,tq1,r16,tq2,r16,tq1/2,r16,tq1/2
  6113.     dc.w r16,tq1,r16,tq2,r16,tq1
  6114.  
  6115.     dc.w r16,tq1+tq2,r16,tq1,r16,tq1,r16,tq2,r16,tq1/2,r16,tq1/2
  6116.     dc.w r16,tq1/2,r16,tq1/2,r16,tq2,r16,tq1
  6117.     dc.w r16,tq1,r16,tq2,r16,tq1
  6118.  
  6119.     dc.w r16,tq1+tq2,r16,tq1,r16,tq1/2,r16,tq1/2,r16,tq2,r16,tq1
  6120.     dc.w r16,tq1,r16,tq2,r16,tq1
  6121.     dc.w r16,tq1,r16,tq2,r16,tq1/2,r16,tq1/2
  6122.  
  6123.  
  6124.     dc.w r16,tq1+tq2,r16,tq1,r16,tq1,r16,tq2,r16,tq1
  6125.     dc.w r16,tq1,r16,tq2,r16,tq1/2,r16,tq1/2
  6126.     dc.w r16,tq1,r16,tq2,r16,tq1
  6127.       dc.w end_patt
  6128.  
  6129. main_tune_stabs
  6130.  
  6131.  
  6132.       dc.w new_env
  6133.       dc.l snareeq 
  6134.       dc.w new_snd
  6135.       dc.l snarep
  6136.  
  6137.     dc.w r16,tq1+tq2
  6138.  
  6139.       dc.w new_env
  6140.       dc.l orchhite 
  6141.       dc.w new_snd
  6142.       dc.l orchhitpp
  6143.  
  6144.     dc.w a02,tq1,d03,tq1,a02,tq2,d03,tq1,a01,cr+tq1+tq2
  6145.     dc.w g02,tq1+tq2+tq1,g02,tq1,c03,cr
  6146.  
  6147.  
  6148.       dc.w new_env
  6149.       dc.l snareeq 
  6150.       dc.w new_snd
  6151.       dc.l snarep
  6152.  
  6153.     dc.w r16,tq1+tq2,r16,tq1
  6154.     dc.w r16,tq1,r16,tq2,r16,tq1
  6155.     dc.w r16,tq1,r16,tq2
  6156.  
  6157.  
  6158.       dc.w new_env
  6159.       dc.l orchhite 
  6160.       dc.w new_snd
  6161.       dc.l orchhitpp
  6162.  
  6163.     dc.w a02,tq1,d03,tq1,a02,tq2,d03,tq1,a03,cr+tq1+tq2
  6164.     dc.w g03,tq1+tq2+tq1,g03,tq1,e03,cr
  6165.  
  6166.  
  6167.       dc.w new_env
  6168.       dc.l snareeq 
  6169.       dc.w new_snd
  6170.       dc.l snarep
  6171.  
  6172.     dc.w r16,tq1+tq2,r16,tq1
  6173.     dc.w r16,tq1,r16,tq2,r16,tq1
  6174.     dc.w r16,tq1,r16,tq2
  6175.  
  6176.       dc.w new_env
  6177.       dc.l orchhite 
  6178.       dc.w new_snd
  6179.       dc.l orchhitpp
  6180.  
  6181.  
  6182.     dc.w a02,tq1,d03,tq1,a02,tq2,d03,tq1,a03,cr+tq1+tq2
  6183.     dc.w g02,tq1+tq2+tq1,g02,tq1,c03,cr+tq1+tq2,e03,tq1+cr
  6184.  
  6185.  
  6186.       dc.w new_env
  6187.       dc.l snareeq 
  6188.       dc.w new_snd
  6189.       dc.l snarep
  6190.  
  6191.     dc.w r16,tq1+tq2,r16,tq1,r16,tq1/2,r16,tq1/2,r16,tq2,r16,tq1
  6192.     dc.w r16,tq1,r16,tq2,r16,tq1
  6193.     dc.w r16,tq1,r16,tq2,r16,tq1/2,r16,tq1/2
  6194.  
  6195.     dc.w r16,tq1+tq2,r16,tq1,r16,tq1/2,r16,tq1/2,r16,tq2,r16,tq1
  6196.     dc.w r16,tq1,r16,tq2,r16,tq1
  6197.     dc.w r16,tq1,r16,tq2,r16,tq1/2,r16,tq1/2
  6198.  
  6199.       dc.w end_patt
  6200.  
  6201.  
  6202.  
  6203.  
  6204.  
  6205.  
  6206. ;*************   BASS PATTERNS
  6207.  
  6208.  
  6209. intro_bass1
  6210.     dc.w d03,cr,rest,cr*5
  6211.       dc.w end_patt
  6212.  
  6213.  
  6214. intro_bass2
  6215.     dc.w c03,cr,d03,cr,rest,cr*7,bb02,cr,rest,cr*3
  6216.     dc.w c03,cr,rest,cr*2,c03,cr,d03,cr,rest,cr*3
  6217.       dc.w end_patt
  6218.  
  6219. verse_bass
  6220.     dc.w d03,tq1,a02,tq2,d02,tq1
  6221.     dc.w d03,tq1,a02,tq2,d02,tq1
  6222.     dc.w d03,tq1,a02,tq2,d02,tq1
  6223.     dc.w d03,tq1,a02,tq2,d02,tq1
  6224.  
  6225.     dc.w c03,tq1,g02,tq2,c02,tq1
  6226.     dc.w c03,tq1,g02,tq2,c02,tq1
  6227.     dc.w c03,tq1,g02,tq2,c02,tq1
  6228.     dc.w c03,tq1,g02,tq2,c02,tq1
  6229.  
  6230.     dc.w bb02,tq1,f02,tq2,bb01,tq1
  6231.     dc.w bb02,tq1,f02,tq2,bb01,tq1
  6232.     dc.w bb02,tq1,f02,tq2,bb01,tq1
  6233.     dc.w bb02,tq1,f02,tq2,bb01,tq1
  6234.  
  6235.     dc.w c03,tq1,g02,tq2,c02,tq1
  6236.     dc.w c03,tq1,g02,tq2,c02,tq1
  6237.     dc.w c03,tq1,g02,tq2,c02,tq1
  6238.     dc.w c03,tq1,g02,tq2,c02,tq1
  6239.  
  6240.       dc.w end_patt
  6241.  
  6242. mid_bass
  6243.     dc.w bb02,cr*2,f02,cr*2
  6244.     dc.w bb02,cr*2,f02,cr*2
  6245.     dc.w ab02,cr*2,f02,cr*2
  6246.     dc.w ab02,cr*2,f02,cr*2
  6247.     dc.w eb02,cr*2,db02,cr*2,bb01,cr*2,g01,cr*2
  6248.     dc.w db01,cr*8
  6249.       dc.w end_patt
  6250.  
  6251. bridge_bass
  6252.     dc.w c02,cr,c02,cr,c02,cr,c02,cr
  6253.     dc.w c02,cr,c02,cr,c02,cr,c02,cr
  6254.  
  6255.     dc.w eb02,cr,eb02,cr,eb02,cr,eb02,cr
  6256.     dc.w eb02,cr,eb02,cr,eb02,cr,eb02,cr
  6257.  
  6258.     dc.w f02,cr,f02,cr,f02,cr,f02,cr
  6259.     dc.w ab02,cr,ab02,cr,ab02,cr,ab02,cr
  6260.  
  6261.     dc.w e02,cr,e02,cr,e02,cr,e02,cr
  6262.  
  6263.     dc.w a02,cr,a02,cr,g02,cr,g02,cr
  6264.     dc.w gb02,cr,gb02,cr,e02,cr,e02,cr
  6265.  
  6266.       dc.w end_patt
  6267.  
  6268.  
  6269.  
  6270. ****************************************************
  6271. ;  **********   STRING PATTERNS  *************
  6272.  
  6273.  
  6274. string_run
  6275.     dc.w d02,tsq1,eb02,tsq2,e02,tsq1
  6276.     dc.w f02,tsq1,gb02,tsq2,g02,tsq1
  6277.     dc.w ab02,tsq1,a02,tsq2,bb02,tsq1
  6278.     dc.w b02,tsq1,c03,tsq2,db03,tsq1
  6279.  
  6280.       dc.w end_patt
  6281.  
  6282. mid_chord1
  6283.       dc.w new_env
  6284.       dc.l tympe 
  6285.       dc.w new_snd
  6286.       dc.l newtympp
  6287.  
  6288.     dc.w r2,cr*4
  6289.  
  6290.       dc.w new_env
  6291.       dc.l trumpeteq
  6292.       dc.w new_snd
  6293.       dc.l trumpet_loopp
  6294.  
  6295.  
  6296.  
  6297.     dc.w bb02,cr*4
  6298.     dc.w c03,cr*8
  6299.     dc.w eb02,cr*8
  6300.     dc.w f03,cr*8
  6301.       dc.w end_patt
  6302.  
  6303. mid_chord2
  6304.     dc.w f02,cr*8
  6305.     dc.w ab02,cr*8
  6306.     dc.w bb02,cr*8
  6307.     dc.w db03,cr*8
  6308.       dc.w end_patt
  6309.  
  6310. ;*******************   TYMP PATTERNS *****************
  6311.  
  6312. mid_tymp
  6313.     dc.w c03,cr*2,c03,cr*2,c03,cr*2,c03,cr*2
  6314.     dc.w c03,cr*2,c03,cr*2,c03,cr*2,c03,cr*2
  6315.     dc.w c03,cr*2,c03,cr*2
  6316.     dc.w c03,cr*2,c03,cr*2
  6317.     dc.w c03,cr,g02,cr,c03,cr,g02,cr
  6318.  
  6319.       dc.w end_patt
  6320.  
  6321.     ; sample parameters
  6322.  
  6323. ;************************************************************
  6324.  
  6325.         ;BABA YAGA
  6326.  
  6327.  
  6328. cr  set   8
  6329. q set  cr/2
  6330. sq set q/2
  6331.  
  6332. tcr1 set 16
  6333. tcr2 set 16
  6334. tq1 set      8
  6335. tq2 set   8
  6336. tsq1 set 4
  6337. tsq2 set 4
  6338.  
  6339.  
  6340.  
  6341. sbaba1:        ;main tunes
  6342.  
  6343.     dc.l    string_sound_loud,pbaba1
  6344.     dc.l    pverse_bass1
  6345.     dc.l    bass_sound
  6346.     dc.l    pverse_bass2
  6347.     dc.l    histrg_sound
  6348.     dc.l    btune7,btune7o
  6349.     dc.l    pizpiano_sound
  6350.     dc.l    btune8l
  6351.     dc.l    violin_sound_loud
  6352.     dc.l    btune8o
  6353.     dc.l    flute_loud_sound
  6354.     dc.l    trill
  6355.  
  6356.     dc.l    pbrestq
  6357.     dc.l    pizpiano_sound
  6358.     dc.l    fast_violin1
  6359.     dc.l    violin_sound_loud
  6360.     dc.l    fast_violin2
  6361.     dc.l    bass_sound
  6362.     dc.l    fast_violin3
  6363.     dc.l    violin_sound_loud
  6364.     dc.l    fast_violin4
  6365.  
  6366.     dc.l    pizpiano_sound
  6367.     dc.l    fast_violin5
  6368.  
  6369.     dc.l    orch_hit_sound
  6370.     dc.l    endbaba1
  6371.  
  6372.     dc.l    pri
  6373.  
  6374.       dc.l     0,end_song
  6375. ;---------------
  6376.  
  6377. sbaba2:        ;bass
  6378.  
  6379.     dc.l    orch_hit_sound,pbaba2
  6380.     dc.l    pbr1,pbr1,flute_sound,plings1
  6381.     dc.l    pizpiano,plings2
  6382.     dc.l    snare_sound_loud,proll1
  6383.     dc.l    btune1_stab
  6384.     dc.l    brass_sound,btune1,btune1_stab
  6385.     dc.l    brass_sound,btune1
  6386.     dc.l    btune4
  6387.     dc.l    string_sound_loud
  6388.     dc.l    btune7
  6389.     dc.l    violin_sound_loud
  6390.     dc.l    btune7o
  6391.     dc.l    pizpiano_sound
  6392.     dc.l    btune8
  6393.     dc.l    bass_sound,btune8o
  6394.     dc.l    pbr1
  6395.  
  6396. ;sbaba2
  6397.     dc.l    pizpiano_sound
  6398.     dc.l    fast_violin1o
  6399.     dc.l    violin_sound_loud
  6400.     dc.l    fast_violin2
  6401.     dc.l    bass_sound
  6402.     dc.l    fast_violin3o
  6403.     dc.l    violin_sound_loud
  6404.     dc.l    fast_violin4
  6405.  
  6406.     dc.l    pizpiano_sound
  6407.     dc.l    fast_violin5o
  6408.  
  6409.     dc.l    endbaba2
  6410.  
  6411.  
  6412.     dc.l    pri
  6413.  
  6414.         DC.L    0,end_song
  6415.  
  6416. ;---------------
  6417.  
  6418. sbaba3:
  6419.  
  6420.     dc.l    bass_sound,pbaba2o
  6421.     dc.l    pbr1,pbr1,flute_sound,plings3
  6422.     dc.l    pizpiano,plings4
  6423.     dc.l    orch_hit_sound,pstab1
  6424.     dc.l    bass_sound,gbass
  6425.     dc.l    brass_sound,btune2
  6426.     dc.l    bass_sound,gbass
  6427.     dc.l    brass_sound,btune2
  6428.     dc.l    btune5
  6429.     dc.l    orch_hit_sound
  6430.     dc.l    stab_section
  6431.  
  6432.     dc.l    pr10,pr10,pr10,pr10,pr10
  6433.     dc.l    pr10,pr10,pr10,pr10,pr10
  6434.  
  6435.     dc.l    endbaba3
  6436.  
  6437.  
  6438.     dc.l    pri
  6439.  
  6440.       dc.l     0,end_song
  6441. ;---------------
  6442.         ; anything else we can think of
  6443. sbaba4:
  6444.  
  6445.     dc.l    tymp_sound,pbaba2o
  6446.     dc.l    pbr1,pbr1,flute_sound,plings5
  6447.     dc.l    pizpiano,plings6
  6448.     dc.l    bass_sound,pstab1o
  6449.     dc.l    brass_sound,btune3,btune3
  6450.     dc.l    trumpet_sound
  6451.     dc.l    btune6
  6452.     dc.l    orch_hit_sound,pstabg
  6453.     dc.l    bass_sound
  6454.     dc.l    stab_section_bass
  6455.  
  6456.     dc.l    pr10,pr10,pr10,pr10,pr10
  6457.     dc.l    pr10,pr10,pr10,pr10,pr10
  6458.  
  6459.     dc.l    bass_sound
  6460.     dc.l    endbababass
  6461.  
  6462.  
  6463.     dc.l pri_new_tune
  6464.  
  6465.  
  6466.       dc.l     0,end_song
  6467.  
  6468.  
  6469. ;---------------
  6470.  
  6471. pbr1:
  6472.     dc.w rest,cr*4
  6473.     dc.w end_patt
  6474.  
  6475. pri_new_tune
  6476.     dc.w play_new_tune
  6477.     dc.w end_patt
  6478.  
  6479.  
  6480. pri
  6481. pbr25
  6482. prb25:
  6483.     dc.w play_new_tune
  6484.     dc.w rest,cr*4
  6485.     dc.w end_patt
  6486. pr10:
  6487.     dc.w rest,cr*10
  6488.     dc.w end_patt
  6489.  
  6490. pbrestq    dc.w rest,q
  6491.     dc.w end_patt
  6492.  
  6493. endbaba1
  6494.     dc.w eb03,cr*6
  6495.     dc.w end_patt
  6496.  
  6497. endbaba2
  6498.     dc.w rest,cr*6
  6499.     dc.w end_patt
  6500.  
  6501. endbaba3
  6502.     dc.w rest,cr*6
  6503.     dc.w end_patt
  6504.  
  6505. endbababass
  6506.     dc.w eb03,cr*2,eb02,cr*4
  6507.     dc.w end_patt
  6508.  
  6509.  
  6510.  
  6511. ;******************************************
  6512.  
  6513.             ;string/cello lines etc.
  6514.  
  6515. gbass    dc.w    g01,cr*2
  6516.     dc.w end_patt
  6517.  
  6518. fast_violin1
  6519.     dc.w    g03,cr,d03,cr,eb03,cr,b02,cr
  6520. fast_violin2
  6521.     dc.w    c03,cr,g02,cr,ab02,cr,d02,cr
  6522.     dc.w    eb03,cr,b02,cr,c03,cr,g02,cr
  6523.     dc.w    ab02,cr,d02,cr,eb02,cr,b02,cr
  6524.     dc.w end_patt
  6525.  
  6526. fast_violin3
  6527.     dc.w    c03,cr,g02,cr,ab02,cr,g02,cr
  6528.     dc.w    ab02,cr,g02,cr,b02,cr,g02,cr
  6529.     dc.w    ab02,cr,g02,cr,b02,cr,g02,cr
  6530.     dc.w    ab02,cr,g02,cr,ab02,cr,bb02,cr
  6531.     dc.w    b02,cr,d03,cr,eb03,cr,f03,cr
  6532.  
  6533.     dc.w    g02,cr,ab02,cr,bb02,cr,b02,cr
  6534.     dc.w    d03,cr,eb03,cr,f03,cr,g03,cr
  6535.  
  6536.  
  6537.     dc.w end_patt
  6538.  
  6539.  
  6540. fast_violin1o
  6541.     dc.w    g02,cr,d02,cr,eb02,cr,b01,cr
  6542. fast_violin2o
  6543.     dc.w    c02,cr,g01,cr,ab01,cr,d01,cr
  6544.     dc.w    eb02,cr,b01,cr,c02,cr,g01,cr
  6545.     dc.w    ab01,cr,d01,cr,eb01,cr,b01,cr
  6546.     dc.w end_patt
  6547.  
  6548. fast_violin3o
  6549.     dc.w    c02,cr,g01,cr,ab01,cr,g01,cr
  6550.     dc.w    ab01,cr,g01,cr,b01,cr,g01,cr
  6551.     dc.w    ab01,cr,g01,cr,b01,cr,g01,cr
  6552.     dc.w    ab01,cr,g01,cr,ab01,cr,bb01,cr
  6553.     dc.w    b01,cr,d02,cr,eb02,cr,f02,cr
  6554.  
  6555.     dc.w    g01,cr,ab01,cr,bb01,cr,b01,cr
  6556.     dc.w    d02,cr,eb02,cr,f02,cr,g02,cr
  6557.     dc.w end_patt
  6558.  
  6559.  
  6560. fast_violin4
  6561.     dc.w    ab02,cr,bb02,cr,b02,cr,d03,cr
  6562.     dc.w    eb03,cr,f03,cr,g03,cr,ab03,cr
  6563.     dc.w    b02,cr,d02,cr,eb02,cr,f02,cr
  6564.  
  6565.     dc.w end_patt
  6566.  
  6567. fast_violin5
  6568.     dc.w    g02,cr,ab02,cr,bb02,cr,b02,cr
  6569.     dc.w    d03,cr,eb03,cr,f03,cr,g03,cr
  6570.     dc.w    eb03,cr,f03,cr,b02,cr,d03,cr
  6571.     dc.w    eb03,cr,f03,cr,b02,cr,d03,cr
  6572.     dc.w    eb03,cr,f03,cr,f02,cr,gb02,cr
  6573.     dc.w    g02,cr,ab02,cr,a02,cr,bb02,cr
  6574.     dc.w    b02,cr,c03,cr,db03,cr,d03,cr
  6575.     dc.w    eb03,cr,f03,cr,gb03,cr,g03,cr-q
  6576.     dc.w end_patt
  6577.  
  6578. fast_violin5o
  6579.     dc.w    g01,cr,ab01,cr,bb01,cr,b01,cr
  6580.     dc.w    d02,cr,eb02,cr,f02,cr,g02,cr
  6581.     dc.w    eb02,cr,f02,cr,b01,cr,d02,cr
  6582.     dc.w    eb02,cr,f02,cr,b01,cr,d02,cr
  6583.     dc.w    eb02,cr,f02,cr,f01,cr,gb01,cr
  6584.     dc.w    g01,cr,ab01,cr,a01,cr,bb01,cr
  6585.     dc.w    b01,cr,c02,cr,db02,cr,d02,cr
  6586.     dc.w    eb02,cr,f02,cr,gb02,cr,g02,cr
  6587.     dc.w end_patt
  6588.  
  6589.  
  6590.  
  6591. pbaba1
  6592.     dc.w    g01,cr,rest,cr*7,g01,cr*2,g01,cr*2
  6593.     dc.w    rest,cr*4,g01,cr*2,g01,cr*2
  6594.     dc.w    g01,cr,ab01,cr,g01,cr,f02,cr
  6595.     dc.w    g01,cr*2,g01,cr*2,g01,cr,ab01,cr
  6596.     dc.w    g01,cr,db02,cr,g01,cr*2,g01,cr*2
  6597.     dc.w    g01,cr*2,g01,cr*2,g01,cr,c02,cr
  6598.     dc.w    ab01,cr,db02,cr,a01,cr,d