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

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