home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Amiga California Games + Samples / Lowe_AmigaCaliforniaGames+Samples.adf / calgames.s < prev    next >
Encoding:
Text File  |  1978-10-21  |  38.5 KB  |  2,431 lines

  1.  
  2.     ;    DRIVER AND MUSIC REMAIN COPYRIGHT D.LOWE 
  3.  
  4.     ;         F15II INGAME TUNES and FX
  5.  
  6.  
  7.     ; GLYNN,
  8.     ; I've simply given you a selection of fx to use as you choose
  9.     ; 
  10.  
  11. ;dff0d0+6
  12.     ;        DAVE LOWE.....0723  870648
  13.  
  14.  
  15. ;        **************************
  16.  
  17.     section issA,code_c    ;must be in low memory for dma access
  18.                 ;DEVPAC PSEUDO OP ..CAN BE DELETED
  19.  
  20.  
  21. ;*****************************************
  22.  
  23.         ;  ALL EQUs
  24.  
  25. a00  equ  508*2
  26. bb00  equ  480*2
  27. b00  equ  453*2
  28.  
  29. c01  equ  428*2
  30. db01  equ  404*2
  31. d01 equ  381*2
  32. eb01  equ  360*2
  33. e01  equ  339*2
  34. f01  equ  320*2
  35. gb01  equ  302*2
  36. g01  equ  285*2
  37. ab01 equ 269*2
  38. a01  equ  508
  39. bb01  equ  480
  40. b01  equ  453
  41.  
  42. c02  equ  428
  43. db02  equ  404
  44. d02  equ  381
  45. eb02  equ  360
  46. e02  equ  339
  47. f02  equ  320
  48. gb02  equ  302
  49. g02  equ  285
  50. ab02 equ 269
  51. a02  equ  254
  52. bb02  equ  240
  53. b02  equ  226
  54.  
  55. c03  equ  214
  56. db03  equ  202
  57. d03  equ  190
  58. eb03  equ  180
  59. e03  equ  170
  60. f03  equ  160
  61. gb03  equ  151
  62. g03  equ  143
  63. ab03 equ 135
  64. a03  equ  127
  65.  
  66. bb03  equ  480*2
  67. b03  equ  453*2
  68.  
  69. c04  equ  428*2
  70. db04  equ  404*2
  71. d04 equ  381*2
  72. eb04  equ  360*2
  73. e04  equ  339*2
  74. f04  equ  320*2
  75. gb04  equ  302*2
  76. g04  equ  285*2
  77. ab04 equ 269*2
  78. a04  equ  508
  79. bb04  equ  480
  80. b04  equ  453
  81.  
  82. c05  equ  428
  83. db05  equ  404
  84. d05  equ  381
  85. eb05  equ  360
  86. e05  equ  339
  87. f05  equ  320
  88. gb05  equ  302
  89. g05  equ  285
  90. ab05 equ 269
  91. a05  equ  254
  92. bb05  equ  240
  93. b05  equ  226
  94.  
  95. c06  equ  214
  96. db06  equ  202
  97. d06  equ  190
  98. eb06  equ  180
  99. e06  equ  170
  100. f06  equ  160
  101. gb06  equ  151
  102. g06  equ  143
  103. ab06 equ 135
  104. a06  equ  127
  105. bb06  equ  480*2
  106. b06  equ  453*2
  107.  
  108. c07  equ  428*2
  109. db07  equ  404*2
  110. d07 equ  381*2
  111. eb07  equ  360*2
  112. e07  equ  339*2
  113. f07  equ  320*2
  114. gb07  equ  302*2
  115. g07  equ  285*2
  116. ab07 equ 269*2
  117. a07  equ  508
  118. bb07  equ  480
  119. b07  equ  453
  120.  
  121. c08  equ  428
  122. db08  equ  404
  123. d08  equ  381
  124. eb08  equ  360
  125. e08  equ  339
  126. f08  equ  320
  127. gb08  equ  302
  128. g08  equ  285
  129. ab08 equ 269
  130. a08  equ  254
  131. bb08  equ  240
  132. b08  equ  226
  133.  
  134.  
  135. v equ 0
  136.  
  137. no_loop equ 0
  138. loop equ 0
  139. chann1reg   equ $dff0a0    
  140. chann2reg   equ $dff0b0
  141. chann3reg   equ $dff0c0
  142. chann4reg   equ $dff0d0
  143. dmacon     equ $dff096
  144. int_bf_int   equ   $dff01e
  145. int_bf_w    equ   $dff09a
  146. vhposr     equ   $dff006
  147. in_line    equ   0
  148. new_snd    equ   4
  149. end_song     equ   1
  150. end_patt    equ   8
  151. new_env    equ   12
  152. pbend     equ   16
  153.  
  154. cr set   24
  155. q set cr/2
  156. sq set q/2
  157.  
  158. hi: equ 223
  159. lo:  equ 446
  160.  
  161. r22    equ 134
  162. r20    equ 179        ;correctum
  163. r19    equ 150
  164. r18    equ 178
  165. r17    equ 200
  166. r16:    equ 227        ;correctum
  167. r15:    equ 249
  168. r13:    equ 305
  169. r12:    equ 333
  170. r11:    equ 361
  171. r10:    equ 389
  172. r9:    equ 419
  173. r8:    equ 446
  174. r7:    equ 446+112
  175. r6:    equ 446+223
  176. r5:    equ 446+223+112
  177. r4:    equ 446*2
  178. r3:    equ 446*3
  179. r2:    equ 446*4
  180. r1:    equ 446*8
  181.  
  182.  
  183. filter: equ $bfe001
  184. filter_on equ 44
  185. filter_off equ 48
  186.  
  187. modon     equ   20
  188. pboff     equ   24
  189. modoff     equ   28
  190. rest     equ 32
  191. end_fxp  equ 36
  192. end_fx3  equ 36
  193. end_fx4  equ 40
  194. acc    equ 52
  195. repeat    equ 56
  196. down      equ   1
  197. up       equ   2
  198.  
  199. ;***************************************************************
  200.  
  201.  
  202.  ;    THIS IS THE CONTROL SECTION FOR TESTING AS A STAND ALONE PRG. 
  203.  
  204.     ;       AND CAN BE DELETED WHEN NOT REQUIRED
  205.  
  206.  
  207.     jsr select_new_song
  208.  
  209. testloop:
  210.     jsr delay    ;wait for scan line  at 50hz on pal
  211.  
  212.     jsr driver
  213.  
  214.         bra testloop
  215.  
  216.  
  217. delay:
  218.     tst.w fxtimer
  219.     bne no_test
  220.     clr.l d0
  221.     move.b $bfe001,d0
  222.     btst #6,d0
  223.     bne no_test1
  224.     move.w #10,fxtimer
  225.     bra testfx4
  226. no_test
  227.     subq #1,fxtimer
  228. no_test1
  229.     clr.l d0
  230.         move.w vhposr,d0
  231.         andi.w #%1111111100000000,d0
  232.         cmpi.w #%1111111100000000,d0
  233.  
  234.     bne no_test1
  235.     rts
  236.  
  237. testfx4:  
  238.  
  239.     ;jsr    kill_chip
  240.     ;move.w #1,int_disable
  241.     clr.l d0
  242.     move.b $bfe001,d0
  243.     btst #6,d0
  244.     beq testfx4
  245.  
  246.     move.l song_buffer,d0
  247.     addq.l #1,d0
  248.     cmp.l    #7,d0
  249.     bne nores
  250.     move.l #1,d0
  251. nores    move.l d0,song_buffer
  252.     jsr    select_new_song
  253.  
  254.  
  255.     ;move.l fx_last,d0
  256.     ;move.l d0,fx_kill
  257.  
  258.     ;jsr kill_loopfx        ;only one fx at a time
  259.  
  260.  
  261. no_k
  262.         move.l fx_no,fx_number
  263.     move.l fx_no,fx_last
  264.     addq.l #1,fx_no
  265.     move.l    max_fx,d0
  266.         cmp.l fx_no,d0
  267.     bne noreset
  268.     move.l #1,fx_no    
  269. noreset: 
  270.     jsr set_up_fx
  271.     bra no_test    
  272.  
  273. fxtc:          dc.w 10
  274. fx_no:         dc.l  1
  275. fx_last        dc.l  0
  276.  
  277.  
  278. ;        END OF CONTROL (DELETABLE) SECTION
  279.  
  280. ;**********************************************************
  281.  
  282. ; --------------------------------------------------------------
  283.  
  284. ;    MAIN VARIABLES TO BE ACCESSED BY PROGRAMMER DURING RUNTIME
  285.  
  286.  
  287. fx_number:     dc.l 0 ;     number of fx required here...see list
  288. fx_kill        dc.l 0 ;     number of fx to kill/only needed for looped fx
  289.  
  290. song_buffer     dc.l 1 ;     number of piece of music required here ie.1 to 5
  291.  
  292. music_disable:  dc.w 0 ;     1 = disable music
  293. fx_disable:     dc.w 1 ;     1 = disable fx  (currently disabled)
  294.  
  295. ;    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  296.  
  297. ;  THESE VARIABLES ARE USED INTERNALLY BY THE DRIVER
  298. fxr1         dc.l 0  
  299. fxr2         dc.l 0  
  300. fxr3         dc.l 0  
  301. fxr4         dc.l 0  
  302. fxc1        dc.l 0
  303. fxc2          dc.l 0
  304. fxc3        dc.l 0
  305. fxc4          dc.l 0
  306. fx1_flag    dc.w 0
  307. fx2_flag    dc.w 0
  308. fx3_flag    dc.w 0
  309. fx4_flag    dc.w 0
  310. fxtimer        dc.w 0
  311. gen        dc.w 0
  312. int_disable    dc.w 0
  313. altpf         dc.w 0
  314. kill_flag    dc.w 0
  315. ;  *******************************************************
  316.  
  317. ;  CALL THIS SUBROUTINE TO SET UP THE REQIURED FX
  318. ;  on entry it requires the fx number to be in "fx_number"(see above)
  319. ;  
  320.  
  321. set_up_fx
  322.     movem.l d5/a2,-(a7)    ;save used registers
  323.     move.l #1,d0
  324.     cmp fx_number,d0
  325.     bne check3        ;engine to 4
  326.  
  327.     tst.l fxc4
  328.     bne check3
  329. use4:    
  330.     move.w #%0000000000001000,d5
  331.     lea chann4reg,a2
  332.     jsr end_fx4p
  333.     move.l fx_number,fxr4
  334.     move.l fx_number,fxc4
  335.     move.l #0,fx_number
  336.     bra no_fx
  337. check3:    tst.l fxc3
  338.     bne check2
  339. use3:
  340.     move.w #%0000000000000100,d5
  341.     lea chann3reg,a2
  342.     jsr end_fx3p
  343.     move.l fx_number,fxr3
  344.     move.l fx_number,fxc3
  345.     move.l #0,fx_number
  346.     bra no_fx
  347. check2:    tst.l fxc2
  348.     bne check1
  349. use2:
  350.     move.w #%0000000000000010,d5
  351.     lea chann2reg,a2
  352.     jsr end_fx2p
  353.     move.l fx_number,fxr2
  354.     move.l fx_number,fxc2
  355.     move.l #0,fx_number
  356.     bra no_fx
  357. check1:    tst.l fxc1
  358.     bne use3
  359. use1:
  360.     move.w #%0000000000000001,d5
  361.     lea chann1reg,a2
  362.     jsr end_fx1p
  363.     move.l fx_number,fxr1
  364.     move.l fx_number,fxc1
  365.     move.l #0,fx_number
  366. no_fx
  367.     movem.l (a7)+,d5/a2    ;restore registers
  368.     rts
  369.  
  370. ;*************************************************
  371. ;          CALL HERE TO KILL ANY LOOPED FX...
  372. ;       after putting the number of the fx you want to kill
  373. ;            into fx_kill
  374.  
  375. kill_loopfx
  376.  
  377.     movem.l d5/a2,-(a7)    ;save used registers
  378.     move.l fx_kill,d5
  379.     cmp.l fxc1,d5
  380.     bne k2
  381.     move.w #%0000000000000001,d5
  382.     lea chann1reg,a2
  383.     jsr end_fx1p
  384.     bra error
  385. k2    cmp.l fxc2,d5
  386.     bne k3
  387.     move.w #%0000000000000010,d5
  388.     lea chann2reg,a2
  389.     jsr end_fx2p
  390.     bra error
  391. k3    cmp.l fxc3,d5
  392.     bne k4
  393.     move.w #%0000000000000100,d5
  394.     lea chann3reg,a2
  395.     jsr end_fx3p
  396.     bra error
  397. k4    cmp.l fxc4,d5
  398.     bne error
  399.     move.w #%0000000000001000,d5
  400.     lea chann2reg,a2
  401.     jsr end_fx4p
  402. error
  403.     clr.l fx_kill
  404.     movem.l (a7)+,d5/a2    ;restore registers
  405.     rts
  406. ;*************************************************
  407.  
  408.     ; CALL HERE TO KILL ANY SOUND for whatever reason
  409.  
  410. kill_chip:
  411.     move.w #%0000000000001111,dmacon
  412.     move.l rest_data,chann1reg
  413.     move.l rest_data,chann2reg
  414.     move.l rest_data,chann3reg
  415.     move.l rest_data,chann4reg
  416.     move.w #16,chann1reg+4    
  417.     move.w #16,chann2reg+4    
  418.     move.w #16,chann3reg+4    
  419.     move.w #16,chann4reg+4    
  420.     move.w #0,chann1reg+8
  421.     move.w #0,chann2reg+8
  422.     move.w #0,chann3reg+8
  423.     move.w #0,chann4reg+8
  424.     move.w #1,chann1reg+6
  425.     move.w #1,chann2reg+6
  426.     move.w #1,chann3reg+6
  427.     move.w #1,chann4reg+6
  428.     move.l #0,fxr1
  429.     move.l #0,fxr2
  430.     move.l #0,fxr3
  431.     move.l #0,fxr4
  432.     move.w #0,fx1_flag
  433.     move.w #0,fx2_flag
  434.     move.w #0,fx3_flag
  435.     move.w #0,fx4_flag
  436.     move.l #0,fxc1
  437.     move.l #0,fxc2
  438.     move.l #0,fxc3
  439.     move.l #0,fxc4
  440.     rts
  441. ;****************************************
  442.  
  443. ;  CALL HERE TO SELECT WHICH PIECE OF MUSIC TO PLAY
  444. ;  AFTER PLACING NUMBER (1 to 3) IN "SONG_BUFFER"..see above
  445. ;  a call to this routine will initiliase the driver/kill any sound etc.      
  446. ;  make sure this routine has been called before running the interrupt
  447. ;  driven section....see below
  448.  
  449. select_new_song:
  450.  
  451.     move.w #1,int_disable
  452.     movem.l d0/d1/a0/a1,-(a7)    ;save used registers
  453.     move.w music_disable,gen
  454.     move.w #1,music_disable
  455.         jsr kill_chip           
  456.     clr.l d0
  457.         move.w #204,d0
  458.         lea gvars,a0
  459. clloop: clr.w (a0)+        
  460.         dbra  d0,clloop
  461.     tst.l song_buffer
  462.     beq no_song
  463.         move.l song_buffer,d1
  464.     add.l d1,d1
  465.      add.l d1,d1
  466.      add.l d1,d1
  467.      add.l d1,d1
  468.         LEA  SONG_TABLE-16,A1
  469.         add.l d1,a1      
  470.         MOVE.L (A1)+,WSONG1    
  471.         move.l (a1)+,wsong2    
  472.         move.l (a1)+,wsong3
  473.     move.l (a1),wsong4
  474.         MOVE.L #pstart,PATTR1
  475.         MOVE.L #pstart,PATTR2
  476.         MOVE.L #pstart,PATTR3
  477.     move.l #pstart,pattr4
  478.         move.l #sstart,songr1
  479.         MOVE.L #sstart,SONGR2
  480.         MOVE.L #sstart,SONGR3
  481.     move.l #sstart,songr4
  482. no_song
  483.     move.w #1,ch1vars
  484.     move.w #2,ch2vars
  485.     move.w #3,ch3vars
  486.     move.w #4,ch4vars
  487.     move.w #6,ch4fxvars
  488.     move.w #5,ch3fxvars
  489.     move.w #7,ch2fxvars
  490.     move.w #8,ch1fxvars
  491.     move.w gen,music_disable
  492.     clr.w int_disable
  493.     movem.l (a7)+,d0/d1/a0/a1    ;restore registers
  494.         rts
  495.  
  496. ;**************************************************
  497.  
  498. ;  CALL HERE ON A 50hz INTERRUPT DURING RUNTIME
  499. ;  TO PLAY FX AND TUNES
  500.  
  501. driver:  
  502.     tst.w int_disable
  503.     beq process_data
  504.     rts        
  505. process_data
  506.     movem.l d0-d6/a0-a6,-(a7)    ;save used registers
  507.  
  508.  
  509. ch1:
  510.     tst.w fx_disable
  511.     bne test_music1
  512.     tst.l fxr1
  513.     bne   ch1j1
  514.     tst.l fxc1
  515.     beq test_music1
  516.     bra ch1j3
  517. ch1j2    jsr run_dummy1
  518.     jsr run_fx1
  519.     bra ch2
  520. ch1j1
  521.     jsr set_up1
  522. ch1j3    tst.w music_disable    
  523.     beq ch1j2
  524.     jsr run_fx1
  525.     bra ch2
  526. test_music1
  527.     tst.w music_disable
  528.     bne ch2
  529.     jsr run_music1
  530.     bra ch2
  531.     ;***********************
  532.  
  533.     ; channel 1 subroutines
  534.  
  535. run_dummy1    
  536.      lea ch1vars,a0
  537.      lea dummy_reg,a2 
  538.      move.w #0,d5 
  539.      jsr sect1    
  540.     rts
  541.  
  542. set_up1    
  543.          move.l fxr1,d0
  544.          add d0,d0
  545.          add d0,d0
  546.          lea  fxjump_table-4,A1
  547.      add.l d0,a1
  548.          move.l (a1),currfx1
  549.       clr.l fxr1
  550.      clr.w fxintc1
  551.       rts
  552.   
  553.      
  554. run_fx1
  555.     lea ch1fxvars,a0
  556.        lea chann1reg,a2
  557.       move.w #%0000000000000001,d5 
  558.      move.w #%1000001000000001,d1 
  559.      jsr sect1
  560.     rts
  561.  
  562. run_music1
  563.     lea ch1vars,a0
  564.        lea chann1reg,a2
  565.       move.w #%0000000000000001,d5 
  566.       move.w #%1000001000000001,d1 
  567.       jsr sect1     
  568.     rts
  569.  
  570.     ;  **************************
  571. ch2
  572.     tst.w fx_disable
  573.     bne test_music2
  574.     tst.l fxr2
  575.     bne   ch2j1
  576.     tst.l fxc2
  577.     beq test_music2
  578.     bra ch2j3
  579. ch2j2    jsr run_dummy2
  580.     jsr run_fx2
  581.     bra ch3
  582. ch2j1
  583.     jsr set_up2
  584. ch2j3    tst.w music_disable    
  585.     beq ch2j2
  586.     jsr run_fx2
  587.     bra ch3
  588.  
  589. test_music2
  590.     tst.w music_disable
  591.     bne ch3
  592.     jsr run_music2
  593.     bra ch3
  594.     ;***********************
  595.     ; channel 2 subroutines
  596. run_dummy2    
  597.      lea ch2vars,a0
  598.      lea dummy_reg,a2 
  599.      move.w #0,d5 
  600.      jsr sect1    
  601.     rts
  602.  
  603. set_up2    
  604.          move.l fxr2,d0
  605.          add d0,d0
  606.          add d0,d0
  607.          lea  fxjump_table-4,A1
  608.      add.l d0,a1
  609.          move.l (a1),currfx2
  610.       clr.l fxr2
  611.      clr.w fxintc2
  612.       rts
  613.   
  614.      
  615. run_fx2
  616.     lea ch2fxvars,a0
  617.        lea chann2reg,a2
  618.       move.w #%0000000000000010,d5 
  619.      move.w #%1000001000000010,d1 
  620.      jsr sect1
  621.     rts
  622.  
  623. run_music2
  624.     lea ch2vars,a0
  625.        lea chann2reg,a2
  626.       move.w #%0000000000000010,d5 
  627.       move.w #%1000001000000010,d1 
  628.       jsr sect1     
  629.     rts
  630.  
  631.     ;  **************************
  632.  
  633. ch3:
  634.     tst.w fx_disable
  635.     bne test_music3
  636.     tst.l fxr3
  637.     bne   ch3j1
  638.     tst.l fxc3
  639.     beq test_music3
  640.     bra ch3j3
  641. ch3j2    jsr run_dummy3
  642.     jsr run_fx3
  643.     bra ch4
  644. ch3j1
  645.     jsr set_up3
  646. ch3j3    tst.w music_disable    
  647.     beq ch3j2
  648.     jsr run_fx3
  649.     bra ch4
  650.  
  651. test_music3
  652.     tst.w music_disable
  653.     bne ch4
  654.     jsr run_music3
  655.     bra ch4
  656.  
  657.     ;***********************
  658.  
  659.     ; channel 3 subroutines
  660.  
  661. run_dummy3    
  662.      lea ch3vars,a0
  663.      lea dummy_reg,a2 
  664.      move.w #0,d5 
  665.      jsr sect1    
  666.     rts
  667.  
  668. set_up3    
  669.          move.l fxr3,d0
  670.          add d0,d0
  671.          add d0,d0
  672.          lea  fxjump_table-4,A1
  673.      add.l d0,a1
  674.          move.l (a1),currfx3
  675.       clr.l fxr3
  676.      clr.w fxintc3
  677.       rts
  678.   
  679.      
  680. run_fx3
  681.     lea ch3fxvars,a0
  682.        lea chann3reg,a2
  683.       move.w #%0000000000000100,d5 
  684.      move.w #%1000001000000100,d1 
  685.      jsr sect1
  686.     rts
  687.  
  688. run_music3
  689.     lea ch3vars,a0
  690.        lea chann3reg,a2
  691.       move.w #%0000000000000100,d5 
  692.       move.w #%1000001000000100,d1 
  693.       jsr sect1     
  694.     rts
  695.  
  696.     ;  **************************
  697.  
  698. ch4:
  699.     tst.w fx_disable
  700.     bne test_music4
  701.     tst.l fxr4
  702.     bne   ch4j1
  703.     tst.l fxc4
  704.     beq test_music4
  705.     bra ch4j3
  706. ch4j2    jsr run_dummy4
  707.     jsr run_fx4
  708.     bra no4
  709. ch4j1
  710.     jsr set_up4
  711. ch4j3    tst.w music_disable    
  712.     beq ch4j2
  713.     jsr run_fx4
  714.     bra no4
  715.  
  716. test_music4
  717.     tst.w music_disable
  718.     bne no4
  719.     jsr run_music4
  720. no4    
  721.     movem.l (a7)+,d0-d6/a0-a6    ;restore registers
  722.     rts
  723.  
  724.     ;***********************
  725.  
  726.     ; channel 4 subroutines
  727.  
  728. run_dummy4    
  729.      lea ch4vars,a0
  730.      lea dummy_reg,a2 
  731.      move.w #0,d5 
  732.      jsr sect1    
  733.     rts
  734.  
  735. set_up4    
  736.          move.l fxr4,d0
  737.          add d0,d0
  738.          add d0,d0
  739.          lea  fxjump_table-4,A1
  740.      add.l d0,a1
  741.          move.l (a1),currfx4
  742.       clr.l fxr4
  743.      clr.w fxintc4
  744.       rts
  745.   
  746.      
  747. run_fx4
  748.     lea ch4fxvars,a0
  749.        lea chann4reg,a2
  750.       move.w #%0000000000001000,d5 
  751.      move.w #%1000001000001000,d1 
  752.      jsr sect1
  753.     rts
  754.  
  755. run_music4
  756.     lea ch4vars,a0
  757.        lea chann4reg,a2
  758.       move.w #%0000000000001000,d5 
  759.       move.w #%1000001000001000,d1 
  760.       jsr sect1     
  761.     rts
  762.     ;  **************************
  763.  
  764. sect1: tst.w 0(a0)
  765.     bne s1j1
  766.     rts
  767.  
  768. s1j1:    tst.w 2(a0)
  769.         beq sect3       
  770.         cmpi.w #1,2(a0)
  771.         beq sect4
  772.  
  773.         cmpi.w #3,4(a0)    
  774.         beq part2       
  775.     
  776. mode_switch:  subq.w #1,2(a0)     
  777.  
  778. check_effects: clr.w altpf      
  779.         move.w 6(a0),d2    
  780.         tst.w 8(a0)      
  781.         beq check_mod
  782.         tst.w 14(a0)      
  783.         beq cont_bend
  784.         subq.w #1,14(a0)
  785.         bra check_mod
  786. cont_bend:   addq.w #1,altpf    
  787.         move.w 10(a0),d3    
  788.         move.w 12(a0),d4    
  789.         cmpi.w #1,8(a0)
  790.         beq pbup
  791.     
  792.         sub.w d3,d2
  793.         cmp.w d2,d4
  794.         bcs check_mod
  795.         bra fbend
  796.  
  797. pbup:     add.w d3,d2
  798.         cmp.w d2,d4
  799.         bcc check_mod
  800. fbend:     move.w d4,d2
  801.         clr.w 8(a0)      
  802. check_mod:   tst.w 16(a0)
  803.         beq send_alt_pitch
  804.    
  805.  
  806.     tst.w  58(a0)
  807.     beq st_ok
  808.     subq.w #1,58(a0)
  809.     bra send_alt_pitch
  810. st_ok:
  811.         tst.w 50(a0)
  812.         beq cont_mod
  813.         subq #1,50(a0)
  814.         bra send_alt_pitch
  815. cont_mod:    move.w 52(a0),50(a0)  
  816.         addq #1,altpf
  817.         cmpi #3,16(a0)
  818.         bcc addmod
  819.     
  820.         move.w 56(a0),d3 
  821.         sub.w d3,d2
  822.         addq.w #1,16(a0)  
  823.         bra send_alt_pitch
  824. addmod:
  825.  
  826.         move.w 54(a0),d3 
  827.         add.w d3,d2
  828.         addq.w #1,16(a0)
  829.         cmpi.w #5,16(a0)
  830.        bne send_alt_pitch
  831.         move.w #1,16(a0)  
  832.  
  833. send_alt_pitch: tst.w altpf
  834.         beq send_env
  835.         move.w d2,6(a0)  
  836.         move.w d2,6(a2)  
  837.  
  838. send_env: 
  839.  
  840.     cmpi #6,(a0)
  841.     beq norm_env    
  842.     cmpi #5,(a0)
  843.     bne do_env_check
  844.  
  845.     tst.w fx4_flag
  846.     beq norm_env
  847.     bra low_vol
  848.  
  849. do_env_check:
  850.     move.w fx3_flag,d0
  851.     or.w fx4_flag,d0
  852.     cmpi.w  #0,d0
  853.     beq norm_env
  854. low_vol:    
  855.     move.l 18(a0),a1    
  856.         cmpi.w #255,(a1)
  857.         beq evj1
  858.     move.w (a1)+,d0
  859. evj2:    sub.w  62(a0),d0
  860.     bcc no_over
  861.     move.w 0,d0
  862. no_over:
  863.         move.w d0,8(a2) 
  864.     bra fint        
  865.  
  866. evj1:   subq.l #2,a1
  867.     move.w (a1)+,d0
  868.     bra evj2
  869.  
  870. norm_env:
  871.     move.l 18(a0),a1    
  872.         cmpi.w #255,(a1)
  873.         beq env_finished
  874.     cmpi.w #1,66(a0)    
  875.     bne    no_acc 
  876.  
  877.     clr.l d0
  878.     move.w (a1)+,d0
  879.     add.w 64(a0),d0    
  880.     move.w d0,8(a2)    
  881.     move.l a1,18(a0)
  882.     rts        
  883.  
  884. no_acc:
  885. resu:   move.w (a1)+,8(a2)   
  886. fint:   move.l a1,18(a0)    
  887.     rts
  888.  
  889. env_finished:
  890.      subq.l #2,a1    
  891.      bra resu
  892.  
  893.  
  894. one_shot_note: move.w #3,4(a0)     
  895.         move.l 38(a0),(a2)
  896.         move.w 42(a0),4(a2)
  897.         move.w d1,dmacon     
  898.         bra send_env
  899.  
  900.  
  901. part2:                         
  902.         move.l 44(a0),(a2)
  903.         move.w 48(a0),4(a2)
  904.         subq.w #1,2(a0)      
  905.         move.w #1,4(a0)
  906.         bra check_effects
  907.  
  908. sect3:
  909.     move.w 0,66(a0)    
  910.  
  911.     move.l 22(a0),a1  
  912. control_ret: move.w (a1)+,d0  
  913.     cmpi.w #100,d0   
  914.     bls sect5   
  915.   
  916. acc_note:
  917.     move.w d0,6(a0)  
  918.     move.w d0,6(a2)  
  919.     move.w (a1)+,2(a0) 
  920.     subq.w #1,2(a0)  
  921.     move.l a1,22(a0)  
  922.     move.l 34(a0),18(a0) 
  923.     move.w 60(a0),58(a0) 
  924.  
  925.  
  926.     tst.w 16(a0)
  927.     beq no_mod_res
  928.     move.w #1,16(a0)
  929. no_mod_res:
  930.     cmpi.w #0,4(a0)
  931.     beq do_loop
  932.     bra one_shot_note    
  933.  
  934.  
  935. do_loop:    move.w d1,dmacon   
  936.         bra send_env
  937.  
  938. do_rest:
  939.     move.w (a1)+,2(a0) 
  940.     subq.w #1,2(a0)  
  941.     move.l a1,22(a0)  
  942.     move.l  #rest_env,18(a0)
  943.  
  944.         move.w #0,8(a2)
  945.         bra send_env
  946.    
  947. sect4:
  948.         cmpi.w #0,4(a0)
  949.         beq noof
  950.         move.w d5,dmacon   
  951. noof:     subq.w #1,2(a0)
  952.         bra check_effects
  953.    
  954. sect5:     move.l #jump_table,a3
  955.         move.l (a3,d0),a4
  956.         jmp (a4)
  957.  
  958. jump_table: 
  959.     dc.l  in_line_data
  960.         dc.l  nsound
  961.         dc.l  patt_end
  962.         dc.l  get_env
  963.         dc.l  check_pbend
  964.         dc.l  do_mod
  965.         dc.l  bend_off
  966.         dc.l  mod_off
  967.         dc.l  do_rest
  968.         dc.l  end_fx
  969.         dc.l  end_fx
  970.     dc.l  s_f_on
  971.     dc.l  s_f_off
  972.     dc.l  set_acc
  973.     dc.l  rept
  974.  
  975. in_line_data:
  976.  
  977.         nop
  978.         rts
  979.  
  980. rept:
  981.     move.l (a1),a1
  982.     bra control_ret
  983.  
  984. s_f_on: 
  985.     bclr #1,filter
  986.     bra control_ret
  987. s_f_off:
  988.     bset #1,filter
  989.     bra control_ret
  990.  
  991. nsound:    move.l (a1)+,a3     
  992.         cmpi.w #0,(a3)
  993.         bne one_shot_sound
  994.         move.w (a3)+,4(a0)    
  995.         move.l (a3)+,(a2)     
  996.         move.w (a3),4(a2)    
  997.         jmp control_ret
  998.  
  999. one_shot_sound:
  1000.         move.w (a3)+,4(a0)
  1001.         move.l (a3)+,38(a0)   
  1002.         move.l (a3)+,42(a0)
  1003.         move.l (a3),46(a0)
  1004.         jmp control_ret
  1005.  
  1006. patt_end:
  1007.  
  1008.         move.l 26(a0),a1    
  1009.         cmpi.l #0,(a1)     
  1010.         beq song_control
  1011.         addq.l #4,26(a0)    
  1012.         move.l (a1),a1     
  1013.         jmp control_ret
  1014. get_env: 
  1015.        move.l (a1)+,a4 
  1016.     move.l (a4)+,62(a0)    
  1017.     
  1018.     move.l  a4,34(a0)    
  1019.     
  1020.         bra control_ret
  1021.  
  1022. check_pbend:
  1023.      move.l (a1)+,8(a0)
  1024.         move.l (a1)+,12(a0)
  1025.         bra control_ret
  1026.  
  1027. do_mod:    move.w #1,16(a0)  
  1028.         move.l (a1)+,50(a0)
  1029.         move.l (a1)+,54(a0)
  1030.         move.l (a1)+,58(a0)
  1031.         bra control_ret
  1032.  
  1033. bend_off:   clr.w 8(a0)
  1034.         bra control_ret
  1035.  
  1036. mod_off:    clr.w 16(a0)
  1037.         bra control_ret
  1038.  
  1039.  
  1040. end_fx:    
  1041.     cmpi.w #6,(a0)
  1042.     beq end_fx4p
  1043.     cmpi.w #5,(a0)
  1044.     beq end_fx3p
  1045.     cmpi.w #7,(a0)
  1046.     beq end_fx2p
  1047.  
  1048. end_fx1p:
  1049.         move.w d5,dmacon   
  1050.     move.w  #1,chann1reg+6
  1051.     move.w #0,8(a2)
  1052.     move.l #0,fxc1
  1053.     rts
  1054.  
  1055. end_fx2p:
  1056.     move.w d5,dmacon 
  1057.     move.w  #1,chann2reg+6
  1058.         move.w #0,8(a2) 
  1059.     move.l #0,fxc2
  1060.         rts
  1061.  
  1062.  
  1063. end_fx3p:
  1064.         move.w d5,dmacon   
  1065.     move.w  #1,chann3reg+6
  1066.     move.w #0,8(a2)
  1067.     move.l #0,fxc3
  1068.     rts
  1069.  
  1070. end_fx4p:
  1071.     move.w d5,dmacon 
  1072.     move.w  #1,chann4reg+6
  1073.         move.w #0,8(a2) 
  1074.     move.l #0,fxc4
  1075.         rts
  1076.  
  1077. set_acc: move.w #1,66(a0) 
  1078.     bra control_ret
  1079.  
  1080. song_control:
  1081.         addq.l #4,a1
  1082.         move.l 30(a0),26(a0)
  1083.         move.l 26(a0),a1
  1084.         addq.l #4,26(a0)
  1085.         move.l (a1),a1
  1086.         jmp control_ret
  1087.  
  1088.  
  1089.     ;"""""""""""""""""""""""""""""""""""""""""""""""""
  1090.  
  1091.     ;;; DATA
  1092.  
  1093. song_table:
  1094.         dc.l s1,s2,s3,s4
  1095.         dc.l s5,s6,s7,s8
  1096.         dc.l s9,s10,s11,s12
  1097.         dc.l s13,s14,s15,s16
  1098.         dc.l s17,s18,s19,s20
  1099.         dc.l s21,s22,s23,s24
  1100.  
  1101.  
  1102.  
  1103. ;************************************************************
  1104. gvars:
  1105. ch1vars     
  1106.     dc.w 0     
  1107.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1108. pattr1: dc.l 0    
  1109. songr1: dc.l 0    
  1110. wsong1: dc.l 0   
  1111.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1112.  
  1113. ch2vars     
  1114.     dc.w 0     
  1115.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1116. pattr2: dc.l 0    
  1117. songr2: dc.l 0    
  1118. wsong2: dc.l 0    
  1119.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1120.  
  1121. ch3vars 
  1122.     dc.w 0     
  1123.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1124. pattr3: dc.l 0    
  1125. songr3: dc.l 0    
  1126. wsong3: dc.l 0    
  1127.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1128.  
  1129. ch4vars 
  1130.     dc.w 0     
  1131.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1132. pattr4: dc.l 0    
  1133. songr4: dc.l 0    
  1134. wsong4: dc.l 0    
  1135.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1136.  
  1137.  
  1138. ch1fxvars 
  1139.     dc.w 0     
  1140. fxintc1:
  1141.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1142. currfx1:
  1143.     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    
  1144.  
  1145. ch2fxvars 
  1146.     dc.w 0     
  1147. fxintc2:
  1148.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1149. currfx2:
  1150.     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    
  1151.  
  1152.  
  1153. ch3fxvars
  1154.     dc.w 0     
  1155. fxintc3:
  1156.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1157. currfx3:
  1158.     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    
  1159.  
  1160. ch4fxvars 
  1161.     dc.w 0     
  1162. fxintc4:
  1163.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1164. currfx4:
  1165.     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    
  1166. ;************************************************************
  1167.  
  1168. dummy_reg dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1169.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1170.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1171.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1172. ;************************************************************
  1173.  
  1174.  
  1175.  
  1176. ;       fx patterns here
  1177.  
  1178. fxjump_table:  
  1179.  
  1180. max_fx    dc.l    0
  1181.  
  1182.  
  1183.  
  1184.  
  1185. ;______________________________________________________________________
  1186.  
  1187. ;   The 1/50 counter in these patterns is dependent on the length
  1188. ;   of the sample in bytes and the replay speed.if altering the
  1189. ;   replay speed calculate the counter using length/rate*50
  1190. ;   ie the piston sample is 2647 bytes at r6(6000)..hence interrupt
  1191. ;   counter for 1 shot play = 22
  1192.  
  1193.  
  1194.  
  1195. ;*******************************************************************
  1196.  
  1197. sstart: dc.l 0,end_song
  1198.  
  1199. pstart: dc.w end_patt
  1200.  
  1201.  
  1202. ;----------------------------------
  1203.  
  1204. cr set   20
  1205. q set cr/2
  1206. sq set q/2
  1207.  
  1208.  
  1209.  
  1210. s1:
  1211.     dc.l    p1,p1,p1,p1
  1212.     dc.l    pguit1b,phat,phat,phat
  1213.     dc.l    phat,phat,phat,psnare_fill
  1214.  
  1215.  
  1216.  
  1217.       dc.l     0,end_song
  1218. s2:
  1219.     dc.l    p2,p2,p2,p2
  1220.     dc.l    pbassriff
  1221.     dc.l    pbassriff
  1222.  
  1223.     dc.l    pbassriff
  1224.     dc.l    pbassriff
  1225.  
  1226.         DC.L    0,end_song
  1227. s3:
  1228.     dc.l    p3z,p3x,p3snp
  1229.     dc.l    p3z,p3x,p3snp
  1230.     dc.l    p3z,p3x,p3snp
  1231.     dc.l    p3z,p3x,p3snp
  1232.     dc.l    pkick,pkick,pkick,pkick
  1233.     dc.l    pkick,pkick,pkick,pkick
  1234.  
  1235.  
  1236.     dc.l     0,end_song
  1237. s4:
  1238.     dc.l    p4,p4,p4,p4
  1239.     dc.l    psine_chords
  1240.     dc.l    psine_chords
  1241.     dc.l    psine_chords
  1242.     dc.l    psine_chords
  1243.  
  1244.  
  1245.     dc.l     0,end_song
  1246. pr:
  1247.     dc.w rest,cr*4
  1248.     dc.w end_patt
  1249. prza:
  1250.     dc.w rest,q*7
  1251.     dc.w end_patt
  1252.  
  1253.  
  1254. p1:
  1255.       dc.w new_env
  1256.       dc.l sax_env
  1257.     dc.w new_snd
  1258.     dc.l sax
  1259. ;      dc.w modon,1,1
  1260. ;      dc.w 3,3,8
  1261.     dc.w f02,q,g02,cr,f02,q,g02,cr,f02,q,g02,q
  1262.     dc.w f02,q,g02,cr,f02,q,b02,q,b02,q,a02,sq,g02,sq
  1263.     dc.w f02,q,c03,q,c03,q,b02,sq,a02,sq,g02,q
  1264.  
  1265.      dc.w end_patt
  1266.  
  1267.  
  1268. psine_chords:
  1269.       dc.w new_env
  1270.       dc.l sine_env1
  1271.     dc.w new_snd
  1272.     dc.l sax
  1273.       dc.w modon,1,1
  1274.       dc.w 3,3,8,8
  1275.     dc.w c02,sq,eb02,sq,g02,sq,c03,sq,eb03,sq,c03,sq,g02,sq,eb02,sq
  1276.     dc.w c02,sq,eb02,sq,g02,sq,c03,sq,eb03,sq,c03,sq,g02,sq,eb02,sq
  1277.     dc.w ab02,sq,eb02,sq,c02,sq,ab03,sq,eb03,sq,c03,sq,ab02,sq,eb02,sq
  1278.     dc.w bb02,sq,d02,sq,f03,sq,d02,sq,bb03,sq,f03,sq,bb02,sq,d02,sq
  1279.  
  1280.      dc.w end_patt
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286. p2:
  1287.       dc.w new_env
  1288.       dc.l bass_env
  1289.     dc.w new_snd
  1290.     dc.l bass
  1291. ;      dc.w modon,1,1
  1292. ;      dc.w 3,3,8
  1293.  
  1294.     dc.w f02,q,g02,cr,f02,q,g02,cr,f02,q,g02,q
  1295.     dc.w f02,q,g02,cr,f02,q,g02,cr,f02,q,g02,q
  1296.     dc.w c02,q,d02,q,e02,q,f02,q
  1297.  
  1298.  
  1299.       dc.w end_patt
  1300.  
  1301.  
  1302. pbassriff:
  1303.       dc.w new_env
  1304.       dc.l bass_env
  1305.     dc.w new_snd
  1306.     dc.l bass
  1307. ;      dc.w modon,1,1
  1308. ;      dc.w 3,3,8
  1309.  
  1310.     dc.w c03,cr,d03,cr,e03,cr,d03,q,c03,q,ab02,cr+q,bb02,cr+q
  1311.     dc.w c03,q,d03,q
  1312.  
  1313.       dc.w end_patt
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320. p4:
  1321.       dc.w new_env
  1322.       dc.l guit_env
  1323.     dc.w new_snd
  1324.     dc.l guit
  1325. ;      dc.w modon,1,1
  1326. ;      dc.w 3,3,8
  1327.     dc.w g03,cr*4,d03,q,d03,q,d03,q,d03,q,f03,cr*2,c03,cr*2
  1328.  
  1329.       dc.w end_patt
  1330.  
  1331.  
  1332. pguit1b:
  1333.       dc.w new_env
  1334.       dc.l guit_env
  1335.     dc.w new_snd
  1336.     dc.l guit
  1337.     dc.w pbend,down,20,60000,1
  1338.     dc.w c03,cr*4
  1339.     dc.w pboff
  1340.       dc.w end_patt
  1341.  
  1342.  
  1343. p3z:
  1344.       dc.w new_env
  1345.       dc.l kik_env
  1346.     dc.w new_snd
  1347.     dc.l kik
  1348.       dc.w r16,q,r16,q
  1349.     dc.w new_snd
  1350.     dc.l snr
  1351.       dc.w r20,cr
  1352.     dc.w new_snd
  1353.     dc.l kik
  1354.     dc.w r16,q,r16,q
  1355.     dc.w new_snd
  1356.     dc.l snr
  1357.       dc.w r20,cr
  1358.       dc.w end_patt
  1359.  
  1360.  
  1361. pkick:
  1362.       dc.w new_env
  1363.       dc.l kik_env
  1364.     dc.w new_snd
  1365.     dc.l kik
  1366.       dc.w r16,q,r16,q,r16,cr,r16,cr,r16,cr
  1367.       dc.w end_patt
  1368.  
  1369.  
  1370. phat:
  1371.       dc.w new_env
  1372.       dc.l hat_env
  1373.     dc.w new_snd
  1374.     dc.l hat
  1375.       dc.w rest,q,r20,q
  1376.       dc.w rest,q,r20,q
  1377.       dc.w rest,q,r20,q
  1378.       dc.w rest,q,r20,q
  1379.  
  1380.       dc.w end_patt
  1381.  
  1382.  
  1383.  
  1384. p3x:
  1385.       dc.w new_env
  1386.       dc.l kik_env
  1387.     dc.w new_snd
  1388.     dc.l kik
  1389.       dc.w r16,q,r16,q
  1390.     dc.w new_snd
  1391.     dc.l snr
  1392.       dc.w r20,cr
  1393.       dc.w end_patt
  1394.  
  1395. p3snp    dc.w new_snd
  1396.     dc.l snr
  1397.     dc.w r20,q,r20,q,r20,sq,r20,sq
  1398.     dc.w r20,q,r20,q,r20,q,r20,sq,r20,sq,r20,q
  1399.      dc.w end_patt
  1400.  
  1401.  
  1402. psnare_fill    
  1403.       dc.w new_env
  1404.       dc.l hat_env
  1405.     dc.w new_snd
  1406.     dc.l hat
  1407.       dc.w rest,q,r20,q
  1408.       dc.w rest,q,r20,q
  1409.     dc.w new_snd
  1410.     dc.l snr
  1411.     dc.w r20,q,r20,q,r20,sq,r20,sq,r20,q
  1412.      dc.w end_patt
  1413.  
  1414.  
  1415.       dc.w end_patt
  1416.  
  1417. ***************
  1418.  
  1419. ;----------------------------------
  1420.  
  1421. cr set   20
  1422. q set cr/2
  1423. sq set q/2
  1424.  
  1425.  
  1426.  
  1427. s5:
  1428.     dc.l    p1s5,pbassriff5,pbassriff5,pbassriff5,pbassriff5
  1429.       dc.l     0,end_song
  1430. s6:
  1431.     dc.l    p1hs5,pbass5,pbass5,pbass5,pbassf
  1432.         DC.L    0,end_song
  1433. s7:
  1434.     dc.l     pr5,pr5,pr52b
  1435.     dc.l    ps5drums
  1436.     dc.l    ps5drums
  1437.     dc.l    ps5drums
  1438.     dc.l    ps5drums
  1439.  
  1440.     dc.l    ps5drums
  1441.     dc.l    ps5drums
  1442.     dc.l    ps5drums
  1443.     dc.l    ps5drums
  1444.  
  1445.  
  1446.  
  1447.  
  1448.     dc.l     0,end_song
  1449. s8:
  1450.     dc.l    pr5,pr5,pr52b
  1451.     dc.l    pr5,pr5,pr5,pr5
  1452.     dc.l    psaxs5
  1453.     dc.l    psaxs5
  1454.     dc.l    psaxs5
  1455.     dc.l    psaxs5
  1456.     dc.l    psaxs5
  1457.     dc.l    psaxs5
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.     dc.l     0,end_song
  1464. pr5:
  1465.     dc.w rest,cr*4
  1466.     dc.w end_patt
  1467.  
  1468.  
  1469.  
  1470. pr52b:
  1471.     dc.w rest,cr*2
  1472.     dc.w end_patt
  1473.  
  1474.  
  1475.  
  1476. p1s5:
  1477.       dc.w new_env
  1478.       dc.l sax_env
  1479.     dc.w new_snd
  1480.     dc.l sax
  1481. ;      dc.w modon,1,1
  1482. ;      dc.w 3,3,8
  1483.     dc.w f02,sq,g02,sq,ab02,sq,bb02,sq,ab02,sq,g02,sq 
  1484.     dc.w f02,sq,g02,sq,ab02,sq,bb02,sq,ab02,sq,g02,sq 
  1485.     dc.w f02,sq,g02,sq,ab02,sq,bb02,sq,ab02,sq,g02,sq 
  1486.     dc.w f02,sq,g02,sq,ab02,sq,bb02,sq,ab02,sq,g02,sq 
  1487.     dc.w eb02,cr,f02,cr*3
  1488.      dc.w end_patt
  1489.  
  1490.  
  1491. p1hs5:
  1492.       dc.w new_env
  1493.       dc.l sax_env
  1494.     dc.w new_snd
  1495.     dc.l sax
  1496. ;      dc.w modon,1,1
  1497. ;      dc.w 3,3,8
  1498.     dc.w c01,sq,d01,sq,eb01,sq,f01,sq,eb01,sq,d01,sq 
  1499.     dc.w c01,sq,d01,sq,eb01,sq,f01,sq,eb01,sq,d01,sq 
  1500.     dc.w c01,sq,d01,sq,eb01,sq,f01,sq,eb01,sq,d01,sq 
  1501.     dc.w c01,sq,d01,sq,eb01,sq,f01,sq,eb01,sq,d01,sq 
  1502.     dc.w bb01,cr,c01,cr*3
  1503.      dc.w end_patt
  1504.  
  1505.  
  1506. pbassriff5:
  1507.       dc.w new_env
  1508.       dc.l guit_env
  1509.     dc.w new_snd
  1510.     dc.l guit
  1511. ;      dc.w modon,1,1
  1512. ;      dc.w 3,3,8
  1513.  
  1514.     dc.w f03,q,g03,q,g03,q,f03,q,g03,q,g03,cr+q
  1515.     dc.w f03,q,g03,cr,bb02,cr*2+q
  1516.     dc.w f03,q,g03,q,g03,q,f03,q,g03,q,g03,cr+q
  1517.     dc.w f03,q,g03,cr,c03,cr*2+q
  1518.  
  1519.  
  1520.       dc.w end_patt
  1521.  
  1522.  
  1523. pbass5
  1524.       dc.w new_env
  1525.       dc.l bass_env
  1526.     dc.w new_snd
  1527.     dc.l bass
  1528. ;      dc.w modon,1,1
  1529. ;      dc.w 3,3,8
  1530.  
  1531.     dc.w g02,cr*2,d02,cr*2,g02,cr*2,bb02,cr*2
  1532.     dc.w g02,cr*2,a02,cr*2,bb02,cr*2,c03,cr*2
  1533.  
  1534.       dc.w end_patt
  1535.  
  1536.  
  1537. pbassf
  1538.       dc.w new_env
  1539.       dc.l bass_env
  1540.     dc.w new_snd
  1541.     dc.l bass
  1542. ;      dc.w modon,1,1
  1543. ;      dc.w 3,3,8
  1544.  
  1545.     dc.w g02,q,g02,q,g02,q,g02,q
  1546.     dc.w a02,q,a02,q,a02,q,a02,q
  1547.     dc.w bb02,q,bb02,q,bb02,q,bb02,q
  1548.     dc.w c02,q,c02,q,c02,q,c02,q
  1549.     dc.w g02,q,g02,q,g02,q,g02,q
  1550.     dc.w a02,q,a02,q,a02,q,a02,q
  1551.     dc.w bb02,q,bb02,q,bb02,q,bb02,q
  1552.     dc.w c02,q,c02,q,c02,q,c02,q
  1553.  
  1554.       dc.w end_patt
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560. psaxs5:
  1561.       dc.w new_env
  1562.       dc.l sax_env
  1563.     dc.w new_snd
  1564.     dc.l sax
  1565.       dc.w modon,1,1
  1566.       dc.w 3,3,8,8
  1567.     dc.w g02,cr,bb02,cr,f02,q,g02,cr+q
  1568.     dc.w f02,q,g02,cr,bb02,cr*2+q
  1569.      dc.w end_patt
  1570.  
  1571.  
  1572. ps5drums:
  1573.       dc.w new_env
  1574.       dc.l kik_env
  1575.     dc.w new_snd
  1576.     dc.l kik
  1577.       dc.w r16,q
  1578.       dc.w new_env
  1579.       dc.l hat_env
  1580.     dc.w new_snd
  1581.     dc.l hat
  1582.     dc.w r16,q
  1583.  
  1584.       dc.w new_env
  1585.       dc.l kik_env
  1586.     dc.w new_snd
  1587.     dc.l kik
  1588.       dc.w r16,q
  1589.       dc.w new_env
  1590.       dc.l hat_env
  1591.     dc.w new_snd
  1592.     dc.l hat
  1593.     dc.w r16,q
  1594.  
  1595.  
  1596.  
  1597.  
  1598.     dc.w new_snd
  1599.     dc.l snr
  1600.       dc.w r20,cr
  1601.       dc.w new_env
  1602.       dc.l hat_env
  1603.     dc.w new_snd
  1604.     dc.l hat
  1605.     dc.w r16,sq,r16,sq,r16,sq,r16,sq
  1606.  
  1607.       dc.w new_env
  1608.       dc.l kik_env
  1609.     dc.w new_snd
  1610.     dc.l kik
  1611.       dc.w r16,q
  1612.       dc.w new_env
  1613.       dc.l hat_env
  1614.     dc.w new_snd
  1615.     dc.l hat
  1616.     dc.w r16,q
  1617.  
  1618.       dc.w new_env
  1619.       dc.l kik_env
  1620.     dc.w new_snd
  1621.     dc.l kik
  1622.       dc.w r16,q
  1623.       dc.w new_env
  1624.       dc.l hat_env
  1625.     dc.w new_snd
  1626.     dc.l hat
  1627.     dc.w r16,q
  1628.  
  1629.  
  1630.     dc.w new_snd
  1631.     dc.l snr
  1632.       dc.w r20,q,r20,q
  1633.       dc.w new_env
  1634.       dc.l hat_env
  1635.     dc.w new_snd
  1636.     dc.l hat
  1637.     dc.w r16,sq,r16,sq,r16,sq,r16,sq
  1638.  
  1639.  
  1640.  
  1641.       dc.w end_patt
  1642.  
  1643. *********
  1644.  
  1645.  
  1646.  
  1647. cr set   20
  1648. q set cr/2
  1649. sq set q/2
  1650.  
  1651.  
  1652.  
  1653. s9:
  1654.       dc.l    p1s9,p1s9,p1s9,p1s9,p1s9n,p1s9n
  1655.  
  1656.     dc.l     0,end_song
  1657. s10:
  1658.       dc.l    p1s9h,p1s9h,p1s9h,p1s9h,p1s9nh,p1s9nh
  1659.         DC.L    0,end_song
  1660. s11:
  1661.       dc.l    pbassline
  1662.       dc.l    pbassline
  1663.       dc.l    pbassline
  1664.       dc.l    pbassline
  1665.       dc.l    pbasslinen
  1666.       dc.l    pbasslinen
  1667.  
  1668.  
  1669.  
  1670.  
  1671.     dc.l     0,end_song
  1672. s12:
  1673.       dc.l    ps9drums,ps9drums,ps9drums,ps9drums
  1674.       dc.l    ps9drums,ps9drums,ps9drums,ps9drums
  1675.       dc.l    ps9drumsn,ps9drumsn,ps9drumsn,ps9drumsn
  1676.       dc.l    ps9drumsn,ps9drumsn,ps9drumsn,ps9drumsn
  1677.       dc.l    ps9drumsn,ps9drumsn,ps9drumsn,ps9drumsn
  1678.       dc.l    ps9drumsn,ps9drumsn,ps9drumsn,ps9drumsn
  1679.  
  1680.     dc.l     0,end_song
  1681. pr9:
  1682.     dc.w rest,cr*4
  1683.     dc.w end_patt
  1684.  
  1685. p1s9:
  1686.       dc.w new_env
  1687.       dc.l sax_envq
  1688.     dc.w new_snd
  1689.     dc.l sax
  1690.       dc.w modon,1,1
  1691.       dc.w 10,10,8,8
  1692.      dc.w c02,q,eb02,q,d02,q,c02,cr,d02,q,eb02,q
  1693.     dc.w f02,q,g02,cr*4
  1694.     dc.w g01,q,bb01,q,a01,q,g01,cr,bb01,q,c02,q
  1695.     dc.w d02,q,eb02,cr,d02,cr,c02,q,bb01,cr+q
  1696.  
  1697.     dc.w end_patt
  1698.  
  1699.  
  1700. p1s9n:
  1701.       dc.w new_env
  1702.       dc.l sax_envq
  1703.     dc.w new_snd
  1704.     dc.l sax
  1705.       dc.w modon,1,1
  1706.       dc.w 10,10,8,8
  1707.      dc.w c01,q,c02,q,bb02,q,g02,cr,f02,q,eb02,cr
  1708.      dc.w c01,q,c02,q,bb02,q,g02,cr,f02,q,eb02,cr
  1709.      dc.w c01,q,c02,q,bb02,q,g02,cr,f02,q,eb02,cr
  1710.     dc.w f02,cr*2,g02,cr*2
  1711.  
  1712.     dc.w end_patt
  1713.  
  1714.  
  1715. p1s9nh:
  1716.       dc.w new_env
  1717.       dc.l sax_env
  1718.     dc.w new_snd
  1719.     dc.l sine
  1720.       dc.w modon,1,1
  1721.       dc.w 10,10,8,8
  1722.      dc.w c01,q,c02,q,bb02,q,g02,cr,f02,q,eb02,cr
  1723.      dc.w c01,q,c02,q,bb02,q,g02,cr,f02,q,eb02,cr
  1724.      dc.w c01,q,c02,q,bb02,q,g02,cr,f02,q,eb02,cr
  1725.     dc.w bb02,cr*2,d02,cr*2
  1726.  
  1727.     dc.w end_patt
  1728.  
  1729.  
  1730.  
  1731. p1s9h:
  1732.       dc.w new_env
  1733.       dc.l sax_env
  1734.     dc.w new_snd
  1735.     dc.l sine
  1736.       dc.w modon,1,1
  1737.       dc.w 1,1,8,8
  1738.      dc.w c02,q,eb02,q,d02,q,c02,cr,d02,q,eb02,q
  1739.     dc.w f02,q,g02,cr*4
  1740.     dc.w eb03,cr*2-q,c03,cr*2+q
  1741.     dc.w eb03,cr,d03,cr,c03,q,bb02,cr+q
  1742.  
  1743.     dc.w end_patt
  1744.  
  1745.  
  1746. pbassline
  1747.       dc.w new_env
  1748.       dc.l bass_env_short
  1749.     dc.w new_snd
  1750.     dc.l bass
  1751. ;      dc.w modon,1,1
  1752. ;      dc.w 3,3,8
  1753.  
  1754.     dc.w c02,cr,eb02,q,c02,cr,g02,sq,a02,sq,bb02,sq,a02,sq
  1755.     dc.w g02,sq,a02,sq
  1756.     dc.w c02,cr,eb02,q,c02,cr,g02,sq,a02,sq,bb02,sq,a02,sq
  1757.     dc.w g02,sq,a02,sq
  1758.  
  1759.     dc.w eb03,cr,g03,q,eb03,cr,bb02,sq,c03,sq,d03,sq,eb03,sq
  1760.     dc.w d03,sq,c03,sq
  1761.  
  1762.     dc.w eb03,cr,g03,q,eb03,cr,bb02,sq,c03,sq,d03,sq,eb03,sq
  1763.     dc.w d03,sq,c03,sq
  1764.  
  1765.  
  1766.       dc.w end_patt
  1767.  
  1768.  
  1769. pbasslinen
  1770.       dc.w new_env
  1771.       dc.l bass_env
  1772.     dc.w new_snd
  1773.     dc.l bass
  1774. ;      dc.w modon,1,1
  1775. ;      dc.w 3,3,8
  1776.  
  1777.     dc.w c02,cr*4,eb02,cr*4
  1778.     dc.w f02,cr*4,bb02,cr*3,g02,cr
  1779.  
  1780.       dc.w end_patt
  1781.  
  1782.  
  1783.  
  1784. ps9drums:
  1785.       dc.w new_env
  1786.       dc.l kik_env
  1787.     dc.w new_snd
  1788.     dc.l kik
  1789.       dc.w r16,q
  1790.       dc.w new_env
  1791.       dc.l hat_env
  1792.     dc.w new_snd
  1793.     dc.l hat
  1794.     dc.w r16,q
  1795.  
  1796.       dc.w new_env
  1797.       dc.l kik_env
  1798.     dc.w new_snd
  1799.     dc.l kik
  1800.       dc.w r16,q
  1801.       dc.w new_env
  1802.       dc.l hat_env
  1803.     dc.w new_snd
  1804.     dc.l hat
  1805.     dc.w r16,q
  1806.  
  1807.  
  1808.  
  1809.  
  1810.     dc.w new_snd
  1811.     dc.l snr
  1812.       dc.w r20,q
  1813.  
  1814.       dc.w new_env
  1815.       dc.l kik_env
  1816.     dc.w new_snd
  1817.     dc.l kik
  1818.       dc.w r16,q
  1819.  
  1820.  
  1821.  
  1822.  
  1823.       dc.w new_env
  1824.       dc.l hat_env
  1825.     dc.w new_snd
  1826.     dc.l hat
  1827.     dc.w r16,sq,r16,sq,r16,sq,r16,sq
  1828.  
  1829.       dc.w new_env
  1830.       dc.l kik_env
  1831.     dc.w new_snd
  1832.     dc.l kik
  1833.       dc.w r16,q
  1834.       dc.w new_env
  1835.       dc.l hat_env
  1836.     dc.w new_snd
  1837.     dc.l hat
  1838.     dc.w r16,q
  1839.  
  1840.       dc.w new_env
  1841.       dc.l kik_env
  1842.     dc.w new_snd
  1843.     dc.l kik
  1844.       dc.w r16,q
  1845.       dc.w new_env
  1846.       dc.l hat_env
  1847.     dc.w new_snd
  1848.     dc.l hat
  1849.     dc.w r16,q
  1850.  
  1851.  
  1852.     dc.w new_snd
  1853.     dc.l snr
  1854.       dc.w r20,q
  1855.  
  1856.       dc.w new_env
  1857.       dc.l kik_env
  1858.     dc.w new_snd
  1859.     dc.l kik
  1860.       dc.w r16,q
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.       dc.w new_env
  1868.       dc.l hat_env
  1869.     dc.w new_snd
  1870.     dc.l hat
  1871.     dc.w r16,sq,r16,sq,r16,sq,r16,sq
  1872.  
  1873.  
  1874.  
  1875.       dc.w end_patt
  1876.  
  1877.  
  1878.  
  1879. ps9drumsn:
  1880.       dc.w new_env
  1881.       dc.l kik_env
  1882.     dc.w new_snd
  1883.     dc.l kik
  1884.       dc.w r16,q
  1885.       dc.w new_env
  1886.       dc.l hat_env
  1887.     dc.w new_snd
  1888.     dc.l hat
  1889.     dc.w r10,sq,r16,sq,r20,sq,r16,sq,r8,sq,r16,sq
  1890.       dc.w end_patt
  1891.  
  1892. *****************
  1893.  
  1894.  
  1895. cr set   20
  1896. q set cr/2
  1897. sq set q/2
  1898.  
  1899.  
  1900.  
  1901. s13:
  1902.       dc.l    p1s13
  1903.  
  1904.     dc.l     0,end_song
  1905. s14:
  1906.       dc.l    pbassline13
  1907.  
  1908.         DC.L    0,end_song
  1909. s15:
  1910.       dc.l    p1s13h
  1911.  
  1912.     dc.l     0,end_song
  1913. s16:
  1914.       dc.l    ps13drums
  1915.  
  1916.     dc.l     0,end_song
  1917. pr13:
  1918.     dc.w rest,cr*4
  1919.     dc.w end_patt
  1920.  
  1921.  
  1922. p1s13:
  1923.       dc.w new_env
  1924.       dc.l sax_envvq
  1925.     dc.w new_snd
  1926.     dc.l sax
  1927.       ;dc.w modon,1,1
  1928.       ;dc.w 10,10,8,8
  1929.     dc.w c02,cr*4,bb02,cr*4,ab02,cr*4,g02,cr*4
  1930.     dc.w end_patt
  1931.  
  1932.  
  1933. p1s13h:
  1934.       dc.w new_env
  1935.       dc.l sax_envvq
  1936.     dc.w new_snd
  1937.     dc.l sax
  1938.       ;dc.w modon,1,1
  1939.       ;dc.w 10,10,8,8
  1940.     dc.w g02,cr*4,f02,cr*4,eb02,cr*4,d02,cr*4
  1941.     dc.w end_patt
  1942.  
  1943.  
  1944. pbassline13
  1945.       dc.w new_env
  1946.       dc.l bass_env
  1947.     dc.w new_snd
  1948.     dc.l bass
  1949. ;      dc.w modon,1,1
  1950. ;      dc.w 3,3,8
  1951.  
  1952.     dc.w c02,q,eb02,q,eb02,q,g02,q,c02,q,bb02,q,c02,cr
  1953.     dc.w bb02,cr,f02,cr,g02,q,bb02,cr+q
  1954.       dc.w new_env
  1955.       dc.l bass_env_short
  1956.  
  1957.     dc.w ab02,q,ab02,sq,ab02,sq,eb02,sq,eb02,sq,bb02,q,c02,q,bb02,q,ab02,cr
  1958.       dc.w new_env
  1959.       dc.l bass_env
  1960.  
  1961.  
  1962.     dc.w g02,cr*4
  1963.  
  1964.       dc.w end_patt
  1965.  
  1966.  
  1967. ps13drums:
  1968.       dc.w new_env
  1969.       dc.l kik_env
  1970.     dc.w new_snd
  1971.     dc.l kik
  1972.       dc.w r16,q,r16,q
  1973.       dc.w new_env
  1974.       dc.l hat_env
  1975.     dc.w new_snd
  1976.     dc.l hat
  1977.     dc.w r10,sq,r16,sq,r20,sq,r16,sq
  1978.       dc.w new_env
  1979.       dc.l kik_env
  1980.     dc.w new_snd
  1981.     dc.l kik
  1982.       dc.w r16,q,r16,q
  1983.       dc.w new_env
  1984.       dc.l snare_env
  1985.     dc.w new_snd
  1986.     dc.l snare
  1987.       dc.w r16,cr
  1988.  
  1989.       dc.w end_patt
  1990.  
  1991.  
  1992. ***********************
  1993.  
  1994. cr set   20
  1995. q set cr/2
  1996. sq set q/2
  1997.  
  1998.  
  1999.  
  2000. s17:
  2001.       dc.l    p1s17bb,p1s17eb,p1s17bb2
  2002.     dc.l    p1s17f,p1s17endish
  2003.  
  2004.  
  2005.     dc.l     0,end_song
  2006. s18:
  2007.       dc.l    p17bass
  2008.  
  2009.         DC.L    0,end_song
  2010. s19:
  2011.       dc.l    p17kit
  2012.  
  2013.     dc.l     0,end_song
  2014. s20:
  2015.       dc.l    ps17guit
  2016.  
  2017.     dc.l     0,end_song
  2018. p17r:
  2019.     dc.w rest,cr*4
  2020.     dc.w end_patt
  2021.  
  2022.  
  2023. p1s17bb:
  2024.       dc.w new_env
  2025.       dc.l sax_env
  2026.     dc.w new_snd
  2027.     dc.l sax
  2028.       ;dc.w modon,1,1
  2029.       ;dc.w 10,10,8,8
  2030.     dc.w d02,q,d02,q,f02,cr,g02,cr,f02,q
  2031.     dc.w d02,cr,d02,q,f02,cr,g02,cr,f02,cr
  2032.     dc.w d02,q,d02,q,f02,cr,g02,cr,bb02,q
  2033.     dc.w c03,cr,c03,q,bb02,cr,g02,cr,f02,cr
  2034.     dc.w end_patt
  2035.  
  2036.  
  2037. p1s17eb:
  2038.       dc.w new_env
  2039.       dc.l sax_env
  2040.     dc.w new_snd
  2041.     dc.l sax
  2042.       ;dc.w modon,1,1
  2043.       ;dc.w 10,10,8,8
  2044.     dc.w g02,q,g02,q,bb02,cr,c03,cr,bb02,q,c03,q
  2045.     dc.w db03,q,bb02,q,c03,cr,bb02,cr,g02,cr
  2046.     dc.w end_patt
  2047.  
  2048.  
  2049. p1s17bb2:
  2050.       dc.w new_env
  2051.       dc.l sax_env
  2052.     dc.w new_snd
  2053.     dc.l sax
  2054.       ;dc.w modon,1,1
  2055.       ;dc.w 10,10,8,8
  2056.     dc.w d02,q,d02,q,f02,cr,g02,cr,f02,q,g02,q,ab02,q
  2057.     dc.w f02,q,g02,q,f02,cr,d02,cr+q
  2058.     dc.w end_patt
  2059.  
  2060.  
  2061. p1s17f:
  2062.       dc.w new_env
  2063.       dc.l sax_env
  2064.     dc.w new_snd
  2065.     dc.l sax
  2066.       ;dc.w modon,1,1
  2067.       ;dc.w 10,10,8,8
  2068.     dc.w f03,q,f03,q,f03,q,f03,q,f03,cr*2
  2069.     dc.w eb03,q,eb03,q,eb03,q,eb03,q,eb03,cr*2
  2070.  
  2071.     dc.w end_patt
  2072.  
  2073.  
  2074. p1s17endish:
  2075.       dc.w new_env
  2076.       dc.l sax_env
  2077.     dc.w new_snd
  2078.     dc.l sax
  2079.       ;dc.w modon,1,1
  2080.       ;dc.w 10,10,8,8
  2081.  
  2082.     dc.w d02,q,d02,q,f02,cr,g02,cr,f02,q,d02,cr
  2083.     dc.w f02,q,f02,q,f02,q,f02,q,f02,q,f02,q,f02,q
  2084.     dc.w end_patt
  2085.  
  2086.  
  2087. p17bass
  2088.       dc.w new_env
  2089.       dc.l bass_env_short
  2090.     dc.w new_snd
  2091.     dc.l bass
  2092. ;      dc.w modon,1,1
  2093. ;      dc.w 3,3,8
  2094.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2095.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2096.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2097.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2098.  
  2099.     dc.w eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q
  2100.     dc.w eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q
  2101.  
  2102.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2103.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2104.  
  2105.     dc.w f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q
  2106.     dc.w eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q
  2107.  
  2108.      dc.w bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q,bb02,q
  2109.     dc.w f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q
  2110.  
  2111.  
  2112.       dc.w end_patt
  2113.  
  2114.  
  2115.  
  2116. p17kit:
  2117.       dc.w new_env
  2118.       dc.l kik_env
  2119.     dc.w new_snd
  2120.     dc.l kik
  2121.       dc.w r16,q,r16,q
  2122.     dc.w new_snd
  2123.     dc.l snr
  2124.       dc.w r20,q
  2125.  
  2126.       dc.w new_env
  2127.       dc.l kik_env
  2128.     dc.w new_snd
  2129.     dc.l hat
  2130.       dc.w r16,sq,r16,sq
  2131.  
  2132.  
  2133.  
  2134.     dc.w new_snd
  2135.     dc.l kik
  2136.     dc.w r16,q,r16,q
  2137.     dc.w new_snd
  2138.     dc.l snr
  2139.       dc.w r20,q
  2140.  
  2141.       dc.w new_env
  2142.       dc.l kik_env
  2143.     dc.w new_snd
  2144.     dc.l kik
  2145.       dc.w r16,sq,r16,sq
  2146.  
  2147.  
  2148.       dc.w end_patt
  2149.  
  2150.  
  2151.  
  2152. ps17guit:
  2153.       dc.w new_env
  2154.       dc.l guit_env
  2155.     dc.w new_snd
  2156.     dc.l guit
  2157. ;      dc.w modon,1,1
  2158. ;      dc.w 3,3,8
  2159.  
  2160.     dc.w bb02,cr*8
  2161.     ;dc.w bb02,cr*4
  2162.     dc.w bb02,cr+q,b02,q,rest,cr*2
  2163.     dc.w ab02,cr*4-q
  2164.  
  2165.     dc.w eb03,cr*4
  2166.     dc.w eb03,cr+q,eb03,q,rest,cr*2
  2167.  
  2168.     dc.w bb02,cr*8
  2169.     ;dc.w bb02,cr*4
  2170.  
  2171.     dc.w f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q
  2172.     dc.w eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q,eb03,q
  2173.  
  2174.     dc.w bb02,cr*4+q+q
  2175.     dc.w f03,q,f03,q,f03,q,f03,q,f03,q,f03,q,f03,q
  2176.  
  2177.  
  2178.       dc.w end_patt
  2179. ********************
  2180.  
  2181.  
  2182. cr set   36
  2183. q set cr/2
  2184. sq set q/2
  2185.  
  2186.  
  2187.  
  2188. s21:
  2189.       dc.l    p1dirge
  2190.     dc.l     0,end_song
  2191. s22:
  2192.       dc.l    p1dirgeh
  2193.  
  2194.         DC.L    0,end_song
  2195. s23:
  2196.       dc.l    p21kit
  2197.  
  2198.     dc.l     0,end_song
  2199. s24:
  2200.       dc.l    p1dirges
  2201.  
  2202.     dc.l     0,end_song
  2203. p21r:
  2204.     dc.w rest,cr*4
  2205.     dc.w end_patt
  2206.  
  2207.  
  2208. p1dirge:
  2209.       dc.w new_env
  2210.       dc.l sax_env
  2211.     dc.w new_snd
  2212.     dc.l sax
  2213.       ;dc.w modon,1,1
  2214.       ;dc.w 10,10,8,8
  2215.     dc.w eb01,cr,c01,cr,f01,cr*2,c01,cr*3
  2216.     dc.w d01,cr
  2217.     dc.w eb01,cr,c01,cr,f01,cr*2,c01,cr*4
  2218.     dc.w d01,cr
  2219.     dc.w eb01,cr,c01,cr,g01,cr*2,f01,cr*2,c01,cr*4
  2220.  
  2221.     dc.w end_patt
  2222.  
  2223.  
  2224. p1dirges:
  2225.       dc.w new_env
  2226.       dc.l sax_env
  2227.     dc.w new_snd
  2228.     dc.l sine
  2229.       ;dc.w modon,1,1
  2230.       ;dc.w 10,10,8,8
  2231.     dc.w eb03,cr,c03,cr,f03,cr*2,c03,cr*3
  2232.     dc.w d03,cr
  2233.     dc.w eb03,cr,c03,cr,f03,cr*2,c03,cr*4
  2234.     dc.w d03,cr
  2235.     dc.w eb03,cr,c03,cr,g03,cr*2,f03,cr*2,c03,cr*4
  2236.  
  2237.     dc.w end_patt
  2238.  
  2239. p1dirgeh:
  2240.       dc.w new_env
  2241.       dc.l sax_envvq
  2242.     dc.w new_snd
  2243.     dc.l sax
  2244.       ;dc.w modon,1,1
  2245.       ;dc.w 10,10,8,8
  2246.     dc.w g01,cr*27
  2247.  
  2248.  
  2249.     dc.w end_patt
  2250.  
  2251.  
  2252.  
  2253. p21kit:
  2254.       dc.w new_env
  2255.       dc.l kik_envq
  2256.     dc.w new_snd
  2257.     dc.l snare
  2258.       dc.w r1,cr*17,r2,cr*4,r1,cr*9
  2259.     dc.w end_patt
  2260.  
  2261.  
  2262.  
  2263.  
  2264. **************************************************************
  2265.     ; sample parameters
  2266.  
  2267.  
  2268.     ; sample parameters
  2269. hat
  2270.         dc.w 1
  2271.              dc.l hatd
  2272.              dc.w 665/2 
  2273.              dc.l restd
  2274.              dc.w 16/2
  2275. kik
  2276.         dc.w 1  
  2277.              dc.l kik1d
  2278.              dc.w 3801/2 
  2279.              dc.l restd
  2280.              dc.w 16/2
  2281. snare
  2282. snr
  2283.         dc.w 1  
  2284.              dc.l snr1d
  2285.              dc.w 6325/2 
  2286.              dc.l restd
  2287.              dc.w 16/2
  2288. tom
  2289.         ;dc.w 1  
  2290.              ;dc.l tom1d
  2291.              ;dc.w 2630/2 
  2292.              ;dc.l restd
  2293.              ;dc.w 16/2
  2294.  
  2295. sax
  2296. sax1
  2297.         dc.w 1  
  2298.              dc.l sax1d
  2299.              dc.w 9502/2 
  2300.         dc.l sax1d
  2301.              dc.w 9502/2 
  2302. bass
  2303. fingbl    
  2304.         dc.w 1  
  2305.              dc.l fingbld
  2306.              dc.w 12896/2  
  2307.              dc.l restd
  2308.              dc.w 16/2
  2309.  
  2310. slur        dc.w 1  
  2311.              dc.l slur1d
  2312.              dc.w 15384/2  
  2313.              dc.l restd
  2314.              dc.w 16/2
  2315. guit
  2316. nguit
  2317.         dc.w 1  
  2318.              dc.l nguitd
  2319.              dc.w 27144/2  
  2320.              dc.l restd
  2321.              dc.w 16/2
  2322.  
  2323.  
  2324. ;**************************************************
  2325. kik1d            incbin ram:kik1.sam
  2326. snr1d            incbin ram:snr1.sam
  2327. sax1d            incbin ram:sax1.sam                    
  2328. fingbld            incbin ram:fingbl.sam
  2329. slur1d            incbin ram:slur1
  2330. nguitd            incbin  ram:nguit.sam
  2331. hatd            incbin  ram:hatc124.sam
  2332.  
  2333. org_env:            dc.w 0,16,255
  2334. sax_env:            dc.w 0,33,255
  2335. sax_envq:            dc.w 0,16,255
  2336. sax_envvq:            dc.w 0,8,255
  2337.  
  2338. sine_env1:            dc.w 0,18,255
  2339. sine_env2:            dc.w 0,64,255
  2340.  
  2341.  
  2342.  
  2343. guit_env:             dc.w 0,54,255
  2344. bass_env            dc.w 0,64,255
  2345. bass_env_short            dc.w 0,64,64,64,64,64,64,64,0,0,255
  2346.  
  2347. slur_env            dc.w 0,64,255
  2348.  
  2349.  
  2350. q_env:                dc.w 0,10,255
  2351. snare_env:
  2352. kik_env:            dc.w 0,64,255
  2353. kik_envq:            dc.w 0,34,255
  2354.  
  2355. hat_env:            dc.w 0,64,255
  2356. tom_env:            dc.w 0,45,255
  2357. rest_env:            dc.w 0,0,0,0,0,0,0,0,0,255
  2358. blip:        dc.w 0,33,33,7,7,33,33,10,29,28,24,20,16,14,12,10,8,6,4,2,0,255
  2359.  
  2360.  
  2361.  
  2362.  
  2363. sine         
  2364.         dc.w 1  
  2365.              dc.l sine_datad
  2366.              dc.w 32/2 
  2367.              dc.l sine_datad
  2368.              dc.w 32/2 
  2369.  
  2370.  
  2371.  
  2372. restd:
  2373. rest_data:
  2374.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2375.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2376.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2377.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2378.  
  2379. sine_datad:
  2380.              dc.w 127,100,50,25,0,-25,-50,-100,-127
  2381.              dc.w -127,-100,-50,-25,0,25,50,100,127
  2382.  
  2383.  
  2384. ;*************************************************
  2385.  
  2386. squelch1d        ;incbin df1:squelch1.con
  2387. squelch2d        ;incbin df1:squelch2.con
  2388. squelch3d        ;incbin df1:squelch3.con
  2389. squelch4d        ;incbin df1:squelch4.con
  2390. squelch5d        ;incbin df1:squelch5.con
  2391. squelch6d        ;incbin df1:squelch6.con
  2392. takeoffd        ;incbin df1:TAKEOFF8.CON
  2393. twinkled        ;incbin df1:TWINKLE8.CON
  2394. whoopsd            ;incbin df1:whoops9k.CON
  2395. rabbitd            ;incbin df1:RABBIT16.con
  2396. footd            ;incbin df1:FOOTF17.CON
  2397.  
  2398.  
  2399.     end
  2400.  
  2401.  
  2402.  
  2403.  
  2404. ;______________________________________________________________________
  2405.  
  2406. myfile                     empty rwed Today     08:14:01
  2407. nguit.sam                  27144 rwed Today     08:10:16
  2408. sax1.sam                    9502 rwed Today     08:09:50
  2409. bas4.sam                    1801 rwed Today     08:09:49
  2410. kik1.sam                    3801 rwed Today     08:09:49
  2411. sax2.sam                    6073 rwed Today     08:09:46
  2412. bas5.sam                    3394 rwed Today     08:09:45
  2413. snr1.sam                    6325 rwed Today     08:09:43
  2414. slur1                      15384 rwed Today     08:08:34
  2415. fingbl.sam                 12896 rwed Today     08:05:36
  2416. param.blk                   2605 rwed Today     08:03:29
  2417. 11 files - 192 blocks used
  2418.  
  2419.  
  2420. ;-------
  2421.  
  2422.  
  2423.     ;            dc.w modon,1,1,8,8,6,6
  2424.     ;dc.w pbend,down,20,60000,1
  2425.     ;dc.w    c01,cr*32
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.