home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Amiga KQ 6 Levels Data / Lowe_AmigaKQ6LevelsData.adf / kq6 / isle_of_wonder / kq6iow.s < prev   
Encoding:
Text File  |  1993-10-27  |  40.5 KB  |  2,047 lines

  1.  
  2.     ;    DRIVER AND MUSIC REMAIN COPYRIGHT D.LOWE 
  3.  
  4.     ;     KINGS QUEST VI..Island Of Wonder
  5.  
  6.     ; current status.. 1 tune  no fx
  7.  
  8.     ; It must be assembled with SYMBOLS CASE independent.
  9.  
  10.     ; dont hesitate to ring with any problems
  11.  
  12.  
  13.  
  14.     ;        DAVE LOWE.....0723  870648
  15.  
  16.  
  17.  
  18. ;        **************************
  19.  
  20.     section issA,code_c    ;must be in low memory for dma access
  21.                 ;DEVPAC PSEUDO OP ..CAN BE DELETED
  22.  
  23.  
  24. ;*****************************************
  25.  
  26.         ;  ALL EQUs
  27.  
  28. a00  equ  508*2
  29. bb00  equ  480*2
  30. b00  equ  453*2
  31.  
  32. c01  equ  428*2
  33. db01  equ  404*2
  34. d01 equ  381*2
  35. eb01  equ  360*2
  36. e01  equ  339*2
  37. f01  equ  320*2
  38. gb01  equ  302*2
  39. g01  equ  285*2
  40. ab01 equ 269*2
  41. a01  equ  508
  42. bb01  equ  480
  43. b01  equ  453
  44.  
  45. c02  equ  428
  46. db02  equ  404
  47. d02  equ  381
  48. eb02  equ  360
  49. e02  equ  339
  50. f02  equ  320
  51. gb02  equ  302
  52. g02  equ  285
  53. ab02 equ 269
  54. a02  equ  254
  55. bb02  equ  240
  56. b02  equ  226
  57.  
  58. c03  equ  214
  59. db03  equ  202
  60. d03  equ  190
  61. eb03  equ  180
  62. e03  equ  170
  63. f03  equ  160
  64. gb03  equ  151
  65. g03  equ  143
  66. ab03 equ 135
  67. a03  equ  127
  68.  
  69. bb03  equ  480*2
  70. b03  equ  453*2
  71.  
  72. c04  equ  428*2
  73. db04  equ  404*2
  74. d04 equ  381*2
  75. eb04  equ  360*2
  76. e04  equ  339*2
  77. f04  equ  320*2
  78. gb04  equ  302*2
  79. g04  equ  285*2
  80. ab04 equ 269*2
  81. a04  equ  508
  82. bb04  equ  480
  83. b04  equ  453
  84.  
  85. c05  equ  428
  86. db05  equ  404
  87. d05  equ  381
  88. eb05  equ  360
  89. e05  equ  339
  90. f05  equ  320
  91. gb05  equ  302
  92. g05  equ  285
  93. ab05 equ 269
  94. a05  equ  254
  95. bb05  equ  240
  96. b05  equ  226
  97.  
  98. c06  equ  214
  99. db06  equ  202
  100. d06  equ  190
  101. eb06  equ  180
  102. e06  equ  170
  103. f06  equ  160
  104. gb06  equ  151
  105. g06  equ  143
  106. ab06 equ 135
  107. a06  equ  127
  108. bb06  equ  480*2
  109. b06  equ  453*2
  110.  
  111. c07  equ  428*2
  112. db07  equ  404*2
  113. d07 equ  381*2
  114. eb07  equ  360*2
  115. e07  equ  339*2
  116. f07  equ  320*2
  117. gb07  equ  302*2
  118. g07  equ  285*2
  119. ab07 equ 269*2
  120. a07  equ  508
  121. bb07  equ  480
  122. b07  equ  453
  123.  
  124. c08  equ  428
  125. db08  equ  404
  126. d08  equ  381
  127. eb08  equ  360
  128. e08  equ  339
  129. f08  equ  320
  130. gb08  equ  302
  131. g08  equ  285
  132. ab08 equ 269
  133. a08  equ  254
  134. bb08  equ  240
  135. b08  equ  226
  136.  
  137.  
  138. v equ 0
  139.  
  140. no_loop equ 0
  141. loop equ 0
  142. chann1reg   equ $dff0a0    
  143. chann2reg   equ $dff0b0
  144. chann3reg   equ $dff0c0
  145. chann4reg   equ $dff0d0
  146. dmacon     equ $dff096
  147. int_bf_int   equ   $dff01e
  148. int_bf_w    equ   $dff09a
  149. vhposr     equ   $dff006
  150. in_line    equ   0
  151. new_snd    equ   4
  152. end_song     equ   1
  153. end_patt    equ   8
  154. new_env    equ   12
  155. pbend     equ   16
  156.  
  157.  
  158.  
  159. hi: equ 223
  160. lo:  equ 446
  161.  
  162. r22    equ 134
  163. r20    equ 179        ;correctum
  164. r19    equ 150
  165. r18    equ 178
  166. r17    equ 200
  167. r16:    equ 227        ;correctum
  168. r15:    equ 249
  169. r14    equ 280
  170. r13:    equ 305
  171. r12:    equ 333
  172. r11:    equ 361
  173. r10:    equ 389
  174. r9:    equ 419
  175. r8:    equ 446
  176. r7:    equ 446+112
  177. r6:    equ 446+223
  178. r5:    equ 446+223+112
  179. r4:    equ 446*2
  180. r3:    equ 446*3
  181. r2:    equ 446*4
  182. r1:    equ 446*8
  183.  
  184.  
  185. filter: equ $bfe001
  186. filter_on equ 44
  187. filter_off equ 48
  188.  
  189. modon     equ   20
  190. pboff     equ   24
  191. modoff     equ   28
  192. rest     equ 32
  193. end_fxp  equ 36
  194. end_fx3  equ 36
  195. end_fx4  equ 40
  196. acc    equ 52
  197. repeat    equ 56
  198. down      equ   1
  199. up       equ   2
  200.  
  201. ;***************************************************************
  202.  
  203.  
  204.  ;    THIS IS THE CONTROL SECTION FOR TESTING AS A STAND ALONE PRG. 
  205.  
  206.     ;       AND CAN BE DELETED WHEN NOT REQUIRED
  207.  
  208.  
  209.     jsr select_new_song
  210.  
  211. testloop:
  212.     jsr delay    ;wait for scan line  at 50hz on pal
  213.  
  214.     jsr driver
  215.  
  216.         bra testloop
  217.  
  218.  
  219. delay:
  220.     tst.w fxtimer
  221.     bne no_test
  222.     clr.l d0
  223.     move.b $bfe001,d0
  224.     btst #6,d0
  225.     bne no_test1
  226.     move.w #10,fxtimer
  227.     bra testfx4
  228. no_test
  229.     subq #1,fxtimer
  230. no_test1
  231.     clr.l d0
  232.         move.w vhposr,d0
  233.         andi.w #%1111111100000000,d0
  234.         cmpi.w #%1111111100000000,d0
  235.  
  236.     bne no_test1
  237.     rts
  238.  
  239. testfx4:  
  240.  
  241.     ;jsr    kill_chip
  242.     ;move.w #1,int_disable
  243.     clr.l d0
  244.     move.b $bfe001,d0
  245.     btst #6,d0
  246.     beq testfx4
  247.  
  248.     move.l song_buffer,d0
  249.     addq.l #1,d0
  250.     cmp.l    max_songs,d0
  251.     bne nores
  252.     move.l #1,d0
  253. nores    move.l d0,song_buffer
  254.     jsr    select_new_song
  255.  
  256.  
  257.     ;move.l fx_last,d0
  258.     ;move.l d0,fx_kill
  259.  
  260.     ;jsr kill_loopfx        ;use only one fx at a time
  261.                     ;for testing
  262.  
  263. no_k
  264.         move.l fx_no,fx_number
  265.     move.l fx_no,fx_last
  266.     addq.l #1,fx_no
  267.     move.l    max_fx,d0
  268.         cmp.l fx_no,d0
  269.     bne noreset
  270.     move.l #1,fx_no    
  271. noreset: 
  272.     ;jsr set_up_fx
  273.     bra no_test    
  274.  
  275. fxtc:          dc.w 10
  276. fx_no:         dc.l  1
  277. fx_last        dc.l  0
  278.  
  279.  
  280. ;        END OF CONTROL (DELETABLE) SECTION
  281.  
  282. ;**********************************************************
  283.  
  284. ; --------------------------------------------------------------
  285.  
  286. ;    MAIN VARIABLES TO BE ACCESSED BY PROGRAMMER DURING RUNTIME
  287.  
  288.  
  289. fx_number:     dc.l 0 ;     number of fx required here...no fx in this one
  290. fx_kill        dc.l 0 ;     number of fx to kill/only needed for looped fx
  291.  
  292. song_buffer     dc.l 1 ;     number of piece of music required here ie.1 to 6
  293.  
  294. music_disable:  dc.w 0 ;     1 = disable music
  295. fx_disable:     dc.w 0 ;     1 = disable fx  (currently disabled)
  296.  
  297. ;    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  298.  
  299. ;  THESE VARIABLES ARE USED INTERNALLY BY THE DRIVER
  300. fxr1         dc.l 0  
  301. fxr2         dc.l 0  
  302. fxr3         dc.l 0  
  303. fxr4         dc.l 0  
  304. fxc1        dc.l 0
  305. fxc2          dc.l 0
  306. fxc3        dc.l 0
  307. fxc4          dc.l 0
  308. fx1_flag    dc.w 0
  309. fx2_flag    dc.w 0
  310. fx3_flag    dc.w 0
  311. fx4_flag    dc.w 0
  312. fxtimer        dc.w 0
  313. gen        dc.w 0
  314. int_disable    dc.w 0
  315. altpf         dc.w 0
  316. kill_flag    dc.w 0
  317. ;  *******************************************************
  318.  
  319. ;  CALL THIS SUBROUTINE TO SET UP THE REQIURED FX
  320. ;  on entry it requires the fx number to be in "fx_number"(see above)
  321.  
  322.  
  323. set_up_fx
  324.     movem.l d5/a2,-(a7)    ;save used registers
  325.  
  326.     tst.l fxc4
  327.     bne check3
  328. use4:    
  329.     move.w #%0000000000001000,d5
  330.     lea chann4reg,a2
  331.     jsr end_fx4p
  332.     move.l fx_number,fxr4
  333.     move.l fx_number,fxc4
  334.     move.l #0,fx_number
  335.     bra no_fx
  336. check3:    tst.l fxc3
  337.     bne check2
  338. use3:
  339.     move.w #%0000000000000100,d5
  340.     lea chann3reg,a2
  341.     jsr end_fx3p
  342.     move.l fx_number,fxr3
  343.     move.l fx_number,fxc3
  344.     move.l #0,fx_number
  345.     bra no_fx
  346. check2:    tst.l fxc2
  347.     bne check1
  348. use2:
  349.     move.w #%0000000000000010,d5
  350.     lea chann2reg,a2
  351.     jsr end_fx2p
  352.     move.l fx_number,fxr2
  353.     move.l fx_number,fxc2
  354.     move.l #0,fx_number
  355.     bra no_fx
  356. check1:    tst.l fxc1
  357.     bne use3
  358. use1:
  359.     move.w #%0000000000000001,d5
  360.     lea chann1reg,a2
  361.     jsr end_fx1p
  362.     move.l fx_number,fxr1
  363.     move.l fx_number,fxc1
  364.     move.l #0,fx_number
  365. no_fx
  366.     movem.l (a7)+,d5/a2    ;restore registers
  367.     rts
  368.  
  369. ;*************************************************
  370. ;          CALL HERE TO KILL ANY FX...
  371. ;       after putting the number of the fx you want to kill
  372. ;            into fx_kill
  373.  
  374. kill_loopfx
  375.  
  376.     movem.l d5/a2,-(a7)    ;save used registers
  377.     move.l fx_kill,d5
  378.     cmp.l fxc1,d5
  379.     bne k2
  380.     move.w #%0000000000000001,d5
  381.     lea chann1reg,a2
  382.     jsr end_fx1p
  383.     bra error
  384. k2    cmp.l fxc2,d5
  385.     bne k3
  386.     move.w #%0000000000000010,d5
  387.     lea chann2reg,a2
  388.     jsr end_fx2p
  389.     bra error
  390. k3    cmp.l fxc3,d5
  391.     bne k4
  392.     move.w #%0000000000000100,d5
  393.     lea chann3reg,a2
  394.     jsr end_fx3p
  395.     bra error
  396. k4    cmp.l fxc4,d5
  397.     bne error
  398.     move.w #%0000000000001000,d5
  399.     lea chann2reg,a2
  400.     jsr end_fx4p
  401. error
  402.     clr.l fx_kill
  403.     movem.l (a7)+,d5/a2    ;restore registers
  404.     rts
  405. ;*************************************************
  406.  
  407.     ; CALL HERE TO KILL ANY SOUND for whatever reason
  408.  
  409. kill_chip:
  410.     move.w #%0000000000001111,dmacon
  411.     move.l rest_data,chann1reg
  412.     move.l rest_data,chann2reg
  413.     move.l rest_data,chann3reg
  414.     move.l rest_data,chann4reg
  415.     move.w #16,chann1reg+4    
  416.     move.w #16,chann2reg+4    
  417.     move.w #16,chann3reg+4    
  418.     move.w #16,chann4reg+4    
  419.     move.w #0,chann1reg+8
  420.     move.w #0,chann2reg+8
  421.     move.w #0,chann3reg+8
  422.     move.w #0,chann4reg+8
  423.     move.w #1,chann1reg+6
  424.     move.w #1,chann2reg+6
  425.     move.w #1,chann3reg+6
  426.     move.w #1,chann4reg+6
  427.     move.l #0,fxr1
  428.     move.l #0,fxr2
  429.     move.l #0,fxr3
  430.     move.l #0,fxr4
  431.     move.w #0,fx1_flag
  432.     move.w #0,fx2_flag
  433.     move.w #0,fx3_flag
  434.     move.w #0,fx4_flag
  435.     move.l #0,fxc1
  436.     move.l #0,fxc2
  437.     move.l #0,fxc3
  438.     move.l #0,fxc4
  439.     rts
  440. ;****************************************
  441.  
  442. ;  CALL HERE TO SELECT WHICH PIECE OF MUSIC TO PLAY
  443. ;  AFTER PLACING NUMBER (1 to 6) IN "SONG_BUFFER"..see above
  444. ;  a call to this routine will initiliase the driver/kill any sound etc.      
  445. ;  make sure this routine has been called before running the interrupt
  446. ;  driven section....see below
  447.  
  448. select_new_song:
  449.  
  450.     move.w #1,int_disable
  451.     movem.l d0/d1/a0/a1,-(a7)    ;save used registers
  452.     move.w music_disable,gen
  453.     move.w #1,music_disable
  454.         jsr kill_chip           
  455.     clr.l d0
  456.         move.w #204,d0
  457.         lea gvars,a0
  458. clloop: clr.w (a0)+        
  459.         dbra  d0,clloop
  460.     tst.l song_buffer
  461.     beq no_song
  462.         move.l song_buffer,d1
  463.     add.l d1,d1
  464.      add.l d1,d1
  465.      add.l d1,d1
  466.      add.l d1,d1
  467.         LEA  SONG_TABLE-16,A1
  468.  
  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 fxc4
  846.     ;beq norm_env
  847.     ;bra low_vol
  848.  
  849. do_env_check:
  850.     move.w fx_disable,d0
  851.     ;or.w fxc4,d0
  852.     cmpi.w  #1,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.     ;sub.w 64(a0),d0    
  880.     move.w d0,8(a2)    
  881.     move.l a1,18(a0)
  882.     rts        
  883.  
  884.  
  885. no_acc:
  886. resu:  
  887. no_off    move.w d0,8(a2)
  888.      move.w (a1)+,8(a2)
  889.    
  890. fint:   move.l a1,18(a0)    
  891.     rts
  892.  
  893. env_finished:
  894.      subq.l #2,a1    
  895.      bra resu
  896.  
  897.  
  898. one_shot_note: move.w #3,4(a0)     
  899.         move.l 38(a0),(a2)
  900.         move.w 42(a0),4(a2)
  901.         move.w d1,dmacon     
  902.         bra send_env
  903.  
  904.  
  905. part2:                         
  906.         move.l 44(a0),(a2)
  907.         move.w 48(a0),4(a2)
  908.         subq.w #1,2(a0)      
  909.         move.w #1,4(a0)
  910.         bra check_effects
  911.  
  912. sect3:
  913.     move.w 0,66(a0)    
  914.  
  915.     move.l 22(a0),a1  
  916. control_ret: move.w (a1)+,d0  
  917.     cmpi.w #100,d0   
  918.     bls sect5   
  919.   
  920. acc_note:
  921.     move.w d0,6(a0)  
  922.     move.w d0,6(a2)  
  923.     move.w (a1)+,2(a0) 
  924.     subq.w #1,2(a0)  
  925.     move.l a1,22(a0)  
  926.     move.l 34(a0),18(a0) 
  927.     move.w 60(a0),58(a0) 
  928.  
  929.  
  930.     tst.w 16(a0)
  931.     beq no_mod_res
  932.     move.w #1,16(a0)
  933. no_mod_res:
  934.     cmpi.w #0,4(a0)
  935.     beq do_loop
  936.     bra one_shot_note    
  937.  
  938.  
  939. do_loop:    move.w d1,dmacon   
  940.         bra send_env
  941.  
  942. do_rest:
  943.     move.w (a1)+,2(a0) 
  944.     subq.w #1,2(a0)  
  945.     move.l a1,22(a0)  
  946.     move.l  #rest_env,18(a0)
  947.  
  948.         move.w #0,8(a2)
  949.         bra send_env
  950.    
  951. sect4:
  952.         cmpi.w #0,4(a0)
  953.         beq noof
  954.         move.w d5,dmacon   
  955. noof:     subq.w #1,2(a0)
  956.         bra check_effects
  957.    
  958. sect5:     move.l #jump_table,a3
  959.         move.l (a3,d0),a4
  960.         jmp (a4)
  961.  
  962. jump_table: 
  963.     dc.l  in_line_data
  964.         dc.l  nsound
  965.         dc.l  patt_end
  966.         dc.l  get_env
  967.         dc.l  check_pbend
  968.         dc.l  do_mod
  969.         dc.l  bend_off
  970.         dc.l  mod_off
  971.         dc.l  do_rest
  972.         dc.l  end_fx
  973.         dc.l  end_fx
  974.     dc.l  s_f_on
  975.     dc.l  s_f_off
  976.     dc.l  set_acc
  977.     dc.l  rept
  978.  
  979. in_line_data:
  980.  
  981.         nop
  982.         rts
  983.  
  984. rept:
  985.     move.l (a1),a1
  986.     bra control_ret
  987.  
  988. s_f_on: 
  989.     bclr #1,filter
  990.     bra control_ret
  991. s_f_off:
  992.     bset #1,filter
  993.     bra control_ret
  994.  
  995. nsound:    move.l (a1)+,a3     
  996.         cmpi.w #0,(a3)
  997.         bne one_shot_sound
  998.         move.w (a3)+,4(a0)    
  999.         move.l (a3)+,(a2)     
  1000.         move.w (a3),4(a2)    
  1001.         jmp control_ret
  1002.  
  1003. one_shot_sound:
  1004.         move.w (a3)+,4(a0)
  1005.         move.l (a3)+,38(a0)   
  1006.         move.l (a3)+,42(a0)
  1007.         move.l (a3),46(a0)
  1008.         jmp control_ret
  1009.  
  1010. patt_end:
  1011.  
  1012.         move.l 26(a0),a1    
  1013.         cmpi.l #0,(a1)     
  1014.         beq song_control
  1015.         addq.l #4,26(a0)    
  1016.         move.l (a1),a1     
  1017.         jmp control_ret
  1018. get_env: 
  1019.        move.l (a1)+,a4 
  1020.     move.l (a4)+,62(a0)    
  1021.     
  1022.     move.l  a4,34(a0)    
  1023.     
  1024.         bra control_ret
  1025.  
  1026. check_pbend:
  1027.      move.l (a1)+,8(a0)
  1028.         move.l (a1)+,12(a0)
  1029.         bra control_ret
  1030.  
  1031. do_mod:    move.w #1,16(a0)  
  1032.         move.l (a1)+,50(a0)
  1033.         move.l (a1)+,54(a0)
  1034.         move.l (a1)+,58(a0)
  1035.         bra control_ret
  1036.  
  1037. bend_off:   clr.w 8(a0)
  1038.         bra control_ret
  1039.  
  1040. mod_off:    clr.w 16(a0)
  1041.         bra control_ret
  1042.  
  1043.  
  1044. end_fx:    
  1045.     cmpi.w #6,(a0)
  1046.     beq end_fx4p
  1047.     cmpi.w #5,(a0)
  1048.     beq end_fx3p
  1049.     cmpi.w #7,(a0)
  1050.     beq end_fx2p
  1051.  
  1052. end_fx1p:
  1053.         move.w d5,dmacon   
  1054.     move.w  #1,chann1reg+6
  1055.     move.w #0,8(a2)
  1056.     move.l #0,fxc1
  1057.     rts
  1058.  
  1059. end_fx2p:
  1060.     move.w d5,dmacon 
  1061.     move.w  #1,chann2reg+6
  1062.         move.w #0,8(a2) 
  1063.     move.l #0,fxc2
  1064.         rts
  1065.  
  1066.  
  1067. end_fx3p:
  1068.         move.w d5,dmacon   
  1069.     move.w  #1,chann3reg+6
  1070.     move.w #0,8(a2)
  1071.     move.l #0,fxc3
  1072.     rts
  1073.  
  1074. end_fx4p:
  1075.     move.w d5,dmacon 
  1076.     move.w  #1,chann4reg+6
  1077.         move.w #0,8(a2) 
  1078.     move.l #0,fxc4
  1079.         rts
  1080.  
  1081. set_acc: move.w #1,66(a0) 
  1082.     bra control_ret
  1083.  
  1084. song_control:
  1085.         addq.l #4,a1
  1086.         move.l 30(a0),26(a0)
  1087.         move.l 26(a0),a1
  1088.         addq.l #4,26(a0)
  1089.         move.l (a1),a1
  1090.         jmp control_ret
  1091.  
  1092.  
  1093.     ;"""""""""""""""""""""""""""""""""""""""""""""""""
  1094.  
  1095.     ;;; DATA
  1096.  
  1097.  
  1098. max_songs    dc.l 4
  1099.  
  1100. song_table:
  1101.         dc.l s1_g,s2_g,s3_g,s4_g
  1102.         dc.l s1_q,s2_q,s3_q,s4_q
  1103.         dc.l s1_w,s2_w,s3_w,s4_w
  1104.         dc.l ssilence,ssilence,ssilence,ssilence
  1105.  
  1106.  
  1107. ;************************************************************
  1108. gvars:
  1109. ch1vars     
  1110.     dc.w 0     
  1111.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1112. pattr1: dc.l 0    
  1113. songr1: dc.l 0    
  1114. wsong1: dc.l 0   
  1115.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1116.  
  1117. ch2vars     
  1118.     dc.w 0     
  1119.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1120. pattr2: dc.l 0    
  1121. songr2: dc.l 0    
  1122. wsong2: dc.l 0    
  1123.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1124.  
  1125. ch3vars 
  1126.     dc.w 0     
  1127.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1128. pattr3: dc.l 0    
  1129. songr3: dc.l 0    
  1130. wsong3: dc.l 0    
  1131.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1132.  
  1133. ch4vars 
  1134.     dc.w 0     
  1135.         dc.w 0,0,0,0,0,0,0,0,0,0     
  1136. pattr4: dc.l 0    
  1137. songr4: dc.l 0    
  1138. wsong4: dc.l 0    
  1139.         dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0   
  1140.  
  1141.  
  1142. ch1fxvars 
  1143.     dc.w 0     
  1144. fxintc1:
  1145.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1146. currfx1:
  1147.     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    
  1148.  
  1149. ch2fxvars 
  1150.     dc.w 0     
  1151. fxintc2:
  1152.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1153. currfx2:
  1154.     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    
  1155.  
  1156.  
  1157. ch3fxvars
  1158.     dc.w 0     
  1159. fxintc3:
  1160.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1161. currfx3:
  1162.     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    
  1163.  
  1164. ch4fxvars 
  1165.     dc.w 0     
  1166. fxintc4:
  1167.     dc.w 0,0,0,0,0,0,0,0,0,0     
  1168. currfx4:
  1169.     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    
  1170. ;************************************************************
  1171.  
  1172. dummy_reg dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1173.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1174.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1175.         dc.l  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1176. ;************************************************************
  1177.  
  1178. ;       THESE ARE THE FX PATTERNS................
  1179.  
  1180. ; The interrupt counter in these patterns is dependent on the
  1181. ; playback speed.The figure is calculated as follows
  1182. ; (length/playback speed) *50
  1183. ; the figure then needs rounding up to give a clear finish
  1184. ; if you have the count longer than needed it will cut
  1185. ; out the music on the relevent channel for longer than
  1186. ; neccessary and make it sound jerky
  1187. ; The fx table is below the patterns
  1188.  
  1189.  
  1190. ;fight:
  1191.       ;dc.w new_env
  1192.       ;dc.l fight_env
  1193.       ;dc.w new_snd
  1194.       ;dc.l fightp
  1195.     ;dc.w r8,8        ;r8=8000 playback speed/8=int counter
  1196.       ;dc.w end_fxp
  1197.  
  1198. ;fight_env:            dc.w 0,64,64,64,255
  1199.  
  1200. ;*************************
  1201.  
  1202.  
  1203. fxjump_table:  
  1204.  
  1205.     dc.l 0            ;fx number 1
  1206.  
  1207. max_fx    dc.l    30
  1208. ;______________________________________________________________________
  1209.  
  1210.  
  1211. sstart: dc.l 0,end_song
  1212.  
  1213. pstart: dc.w end_patt
  1214.  
  1215.  
  1216. ;----------------------------------
  1217.  
  1218. ;;;;;;;;;;;;;;;;;;;;;   Music Data ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1219.  
  1220. cr  set   24
  1221. q set  cr/2
  1222. sq set q/2
  1223. dsq set sq/4
  1224.  
  1225. tq1 set      7
  1226. tq2 set   6
  1227. tsq1 set  3
  1228. tsq2 set 4
  1229.  
  1230. ssilence:
  1231.     dc.l    pr
  1232.       dc.l     0,end_song
  1233.  
  1234.  
  1235. ;************************************************
  1236.  
  1237. songs:
  1238.  
  1239. s1_g:
  1240.  
  1241.     dc.l    aguitar_snd
  1242.     dc.l    gardenv1
  1243.  
  1244.  
  1245.       dc.l     0,end_song
  1246. s2_g:
  1247.  
  1248.     dc.l    aguitar_snd
  1249.     dc.l    gardenv2
  1250.         DC.L    0,end_song
  1251.  
  1252.  
  1253. s3_g:
  1254.  
  1255.     dc.l    aguitar_snd
  1256.     dc.l    gardenv3
  1257.  
  1258.     dc.l     0,end_song
  1259.  
  1260.  
  1261. s4_g:
  1262.     dc.l    flute_sndq
  1263.     dc.l    gardenv1x
  1264.     dc.l     0,end_song
  1265.  
  1266.  
  1267.  
  1268. patterns:
  1269.  
  1270. pr:
  1271.     dc.w rest,cr*4
  1272.     dc.w end_patt
  1273. ;-------------------
  1274.  
  1275.  
  1276. gardenv1:
  1277.     dc.w modon,1,1,2,2,6,6
  1278.     dc.w    rest,cr*2
  1279.     dc.w a02,$0048,a02,$0048,a02,$0048,a02,$0048,ab02,$0018
  1280.     dc.w a02,$0018,g02,$0018,f02,$0048,ab02,$0048,ab02,$0018
  1281.     dc.w f02,$0030,ab02,$0018,a02,$0018,g02,$0018,f02,$0048
  1282.     dc.w g02,$0048,g02,$0018,f02,$0150,a02,$0048,a02,$0048
  1283.     dc.w a02,$0048,a02,$0048,ab02,$0018,a02,$0018,g02,$0018
  1284.     dc.w f02,$0048,ab02,$0048,ab02,$0018,f02,$0030,ab02,$0018
  1285.     dc.w a02,$0018,g02,$0018,f02,$0048,g02,$0048,g02,$0018
  1286.     dc.w f02,$0168,a02,$0090,a02,$0090,a02,$0090,a02,$0090
  1287.     dc.w a02,$0090,a02,$0090,a02,$0048,a02,cr*6
  1288.     dc.w end_patt
  1289.  
  1290. gardenv1x:
  1291.     dc.w modon,1,1,2,2,6,6
  1292.     dc.w    rest,cr*2
  1293.  
  1294.     dc.w a03,$0048,a03,$0048,a03,$0048,a03,$0048,ab03,$0018
  1295.     dc.w a03,$0018,g03,$0018,f03,$0048,ab03,$0048,ab03,$0018
  1296.     dc.w f03,$0030,ab03,$0018,a03,$0018,g03,$0018,f03,$0048
  1297.     dc.w g03,$0048,g03,$0018,f03,$0150,a03,$0048,a03,$0048
  1298.     dc.w a03,$0048,a03,$0048,ab03,$0018,a03,$0018,g03,$0018
  1299.     dc.w f03,$0048,ab03,$0048,ab03,$0018,f03,$0030,ab03,$0018
  1300.     dc.w a03,$0018,g03,$0018,f03,$0048,g03,$0048,g03,$0018
  1301.     dc.w f03,$0168,a03,$0090,a03,$0090,a03,$0090,a03,$0090
  1302.     dc.w a03,$0090,a03,$0090,a03,$0048,a03,cr*6
  1303.     dc.w end_patt
  1304.  
  1305.  
  1306.  
  1307. gardenv2:
  1308.     dc.w modon,1,1,4,4,6,6
  1309.  
  1310.     dc.w e02,$0048,e02,$0048,eb02,$0048,eb02,$0048,e02,$0048
  1311.     dc.w e02,$0048,e02,$0048,e02,$00d8,e02,$0048,e02,$0060
  1312.     dc.w e02,$0018,d02,$0048,d02,$0018,e02,$0090,e02,$0048
  1313.     dc.w e02,$0048,eb02,$0048,eb02,$0048,e02,$0048,e02,$0048
  1314.     dc.w e02,$0048,e02,$00d8,e02,$0048,e02,$0060,e02,$0018
  1315.     dc.w d02,$0018,c02,$0030,b01,$0018,c02,$0090,e02,$0090
  1316.     dc.w eb02,$0090,d02,$0090,c02,$0090,e02,$0090,eb02,$0090
  1317.     dc.w d02,$0090,c02,cr*6
  1318.     dc.w end_patt
  1319.  
  1320.  
  1321.  
  1322.  
  1323. gardenv3:
  1324.     dc.w modon,1,1,4,4,6,6
  1325.     dc.w c02,$0048,c02,$0048,b01,$0048,b01,$0048
  1326.     dc.w c02,$0048,c02,$0048,b01,$0048,b01,$0048,c02,$0048
  1327.     dc.w c02,$0048,c02,$0048,c02,$0048,c02,$0048,c02,$0048
  1328.     dc.w b01,$0090,c02,$0048,c02,$0048,b01,$0048,b01,$0048
  1329.     dc.w c02,$0048,c02,$0048,b01,$0048,b01,$0048,c02,$0048
  1330.     dc.w c02,$0048,c02,$0048,c02,$0048,c02,$0048,c02,$0030
  1331.     dc.w b01,$0018,c02,$0090,c02,$0090,b01,$0090,bb01,$0090
  1332.     dc.w a01,$0090,c02,$0090,b01,$0090,bb01,$0090,a01,cr*6
  1333.     
  1334.     dc.w end_patt
  1335.  
  1336.  
  1337. ;--------------------
  1338.  
  1339. cr  set   40
  1340. q set  cr/2
  1341. sq set q/2
  1342. dsq set sq/4
  1343.  
  1344. tq1 set      7
  1345. tq2 set   6
  1346. tsq1 set  3
  1347. tsq2 set 4
  1348.  
  1349.  
  1350.  
  1351.             ;bookworm tune
  1352.  
  1353. s1_w:
  1354.  
  1355.     dc.l    bassoon_snd_short
  1356.     dc.l    wbassoon
  1357.       dc.l     0,end_song
  1358.  
  1359. s2_w:
  1360.     dc.l    abass_snd
  1361.     dc.l    wbass
  1362.       dc.l     0,end_song
  1363.  
  1364.  
  1365. s3_w:
  1366.  
  1367.     dc.l    pizzo_snd
  1368.     dc.l    wpizzo
  1369.       dc.l     0,end_song
  1370.  
  1371.  
  1372. s4_w:
  1373.     dc.l    flute_snd
  1374.     dc.l    wflute
  1375.       dc.l     0,end_song
  1376.  
  1377. ;-----------------
  1378.  
  1379. wbassoon:
  1380.     dc.w modon,1,1,4,4,6,6
  1381.     dc.w c01,$000a,d01,$0005,e01,$0005,f01,$0014
  1382.     dc.w c02,$0014,eb01,$0014,c02,$0014,db01,$0014,c02,$000a
  1383.     dc.w c01,$0014,c01,$000a,d01,$000a,e01,$000a,f01,$0014
  1384.     dc.w c02,$0014,eb01,$0014,c02,$0014,db01,$0014,c02,$000a
  1385.     dc.w c01,$0014,c01,$000a,d01,$000a,e01,$000a,f01,$0014
  1386.  
  1387.     dc.w f02,$000a,e02,$000a,f02,$0014,c02,$0014
  1388.  
  1389.     dc.w    new_snd
  1390.     dc.l    bassoonp
  1391.     dc.w db02,$001e
  1392.     dc.w    new_snd
  1393.     dc.l    bassoonsp
  1394.  
  1395.  
  1396.     dc.w eb02,$0005,db02,$0005,c02,$000a,bb01,$000a,ab01,$000a
  1397.     dc.w g01,$000a,ab01,$000a,c02,$000a,g01,$000a,c02,$000a
  1398.     dc.w f01,$000a,c02,$000a,e01,$000a,f01,$000a,g01,$000a
  1399.     dc.w f01,$000a,e01,$000a,db01,$000a,c01,$0014,c02,$0014
  1400.     dc.w f01,$0014,f02,$000a,e02,$000a,f02,$0014,c02,$0014
  1401.  
  1402.     dc.w    new_snd
  1403.     dc.l    bassoonp
  1404.     dc.w db02,$001e
  1405.     dc.w    new_snd
  1406.     dc.l    bassoonsp
  1407.  
  1408.     dc.w eb02,$0005,db02,$0005,c02,$000a,bb01,$000a
  1409.  
  1410.     dc.w ab01,$000a,g01,$000a,ab01,$000a,c02,$000a,g01,$000a
  1411.     dc.w c02,$000a,f01,$0014,e01,$0014,f01,$0050,f01,$0014
  1412.     dc.w f02,$000a,e02,$000a,f02,$0014,c02,$0014
  1413.     dc.w    new_snd
  1414.     dc.l    bassoonp
  1415.     dc.w db02,$001e
  1416.     dc.w    new_snd
  1417.     dc.l    bassoonsp
  1418.  
  1419.     dc.w eb02,$0005,db02,$0005,c02,$000a,bb01,$000a,ab01,$000a
  1420.     dc.w g01,$000a,ab01,$000a,c02,$000a,g01,$000a,c02,$000a
  1421.     dc.w f01,$000a,c02,$000a,e01,$000a,f01,$000a,g01,$000a
  1422.     dc.w f01,$000a,e01,$000a,db01,$000a,c01,$0014,c02,$0014
  1423.     dc.w f01,$0014,f02,$000a,e02,$000a,f02,$0014,c02,$0014
  1424.     dc.w    new_snd
  1425.     dc.l    bassoonp
  1426.  
  1427.     dc.w db02,$001e
  1428.     dc.w    new_snd
  1429.     dc.l    bassoonp
  1430.  
  1431.     dc.w eb02,$0005,db02,$0005,c02,$000a,bb01,$000a
  1432.     dc.w ab01,$000a,g01,$000a,ab01,$000a,c02,$000a,g01,$000a
  1433.     dc.w c02,$000a,f01,$0014,e01,$0014,f01,$0032,f01,$000a
  1434.     dc.w g01,$000a,a01,$000a,bb01,$0014,f02,$0014,ab01,$0014
  1435.     dc.w f02,$0014,gb01,$0014,f02,$000a,f01,$0014,f01,$000a
  1436.     dc.w g01,$000a,a01,$000a,bb01,$0014,f02,$0014,ab01,$0014
  1437.     dc.w f02,$0014,gb01,$0014,f02,$000a,f01,$0014,f01,$000a
  1438.     dc.w g01,$000a,a01,$000a,bb01,$0014,bb02,$000a,a02,$000a
  1439.     dc.w bb02,$0014,f02,$0014,gb02,$001e,ab02,$0005,gb02,$0005
  1440.     dc.w f02,$000a,eb02,$000a,db02,$000a,c02,$000a,db02,$000a
  1441.     dc.w f02,$000a,c02,$000a,f02,$000a,bb01,$000a,f02,$000a
  1442.     dc.w a01,$000a,bb01,$000a,c02,$000a,bb01,$000a,a01,$000a
  1443.     dc.w gb01,$000a,f01,$0014,f02,$0014,bb01,$0014,bb02,$000a
  1444.     dc.w a02,$000a,bb02,$0014,f02,$0014,gb02,$001e,ab02,$0005
  1445.     dc.w gb02,$0005,f02,$000a,eb02,$000a,db02,$000a,c02,$000a
  1446.     dc.w db02,$000a,f02,$000a,c02,$000a,f02,$000a,bb01,$0014
  1447.     dc.w a01,$0014,bb01,$00a0,f01,$0014,gb01,$0014,f01,$000a
  1448.     dc.w eb01,$000a,db01,$000a,c01,$000a,bb01,$0014,bb02,$000a
  1449.     dc.w a02,$000a,bb02,$0014,f02,$0014,gb02,$001e,ab02,$0005
  1450.     dc.w gb02,$0005,f02,$000a,eb02,$000a,db02,$000a,c02,$000a
  1451.     dc.w db02,$000a,f02,$000a,c02,$000a,f02,$000a,bb01,$000a
  1452.     dc.w f02,$000a,a01,$000a,bb01,$000a,c02,$000a,bb01,$000a
  1453.     dc.w a01,$000a,gb01,$000a,f01,$0014,f02,$0014,bb01,$0014
  1454.     dc.w bb02,$000a,a02,$000a,bb02,$0014,f02,$0014,gb02,$001e
  1455.     dc.w ab02,$0005,gb02,$0005,f02,$000a,eb02,$000a,db02,$000a
  1456.     dc.w c02,$000a,db02,$000a,f02,$000a,c02,$000a,f02,$000a
  1457.     dc.w bb01,$0014,a01,$0014,bb01,cr
  1458.     dc.w end_patt
  1459.  
  1460.  
  1461. wbass
  1462.     dc.w rest,cr*8-sq,c02,$000a,d02,$000a,e02,$000a,f02,$0028
  1463.     dc.w eb02,$0028,db02,$001e,c02,$0014,c02,$000a,d02,$000a
  1464.     dc.w e02,$000a,f02,$0028,c02,$0028,db02,$001e,c02,$0014
  1465.     dc.w c02,$000a,d02,$000a,e02,$000a,f02,$0028,eb02,$0028
  1466.     dc.w db02,$001e,c02,$0014,c02,$000a,d02,$000a,e02,$000a
  1467.     dc.w f02,$0028,c02,$0028,f02,$0050,f02,$0028,eb02,$0028
  1468.     dc.w db02,$001e,c02,$0014,c02,$000a,d02,$000a,e02,$000a
  1469.     dc.w f02,$0028,c02,$0028,db02,$001e,c02,$0014,c02,$000a
  1470.     dc.w d02,$000a,e02,$000a,f02,$0028,eb02,$0028,db02,$001e
  1471.     dc.w c02,$0014,c02,$000a,d02,$000a,e02,$000a,f02,$0028
  1472.     dc.w c02,$0028,f02,$0032,f01,$000a,g01,$000a,a01,$000a
  1473.     dc.w bb01,$0014,f02,$0014,ab01,$0014,f02,$0014,gb01,$0014
  1474.     dc.w f02,$000a,f01,$0014,f01,$000a,g01,$000a,a01,$000a
  1475.     dc.w bb01,$0014,f02,$0014,ab01,$0014,f02,$0014,gb01,$0014
  1476.     dc.w f02,$000a,f01,$0014,f01,$000a,g01,$000a,a01,$000a
  1477.     dc.w bb01,$0028,ab01,$0028,gb01,$001e,f01,$0014,f01,$000a
  1478.     dc.w g01,$000a,a01,$000a,bb01,$0028,f01,$0028,gb01,$001e
  1479.     dc.w f01,$0014,f01,$000a,g01,$000a,a01,$000a,bb01,$0028
  1480.     dc.w ab01,$0028,gb01,$001e,f01,$0014,f01,$000a,g01,$000a
  1481.     dc.w a01,$000a,bb01,$0028,f01,$0028,bb01,$0050,f02,$0028
  1482.     dc.w eb02,$0028,f02,$0014,gb02,$0014,f02,$000a,eb02,$000a
  1483.     dc.w db02,$000a,c02,$000a,bb01,$0028,ab01,$0028,gb01,$001e
  1484.     dc.w f01,$0014,f01,$000a,g01,$000a,a01,$000a,bb01,$0028
  1485.     dc.w f01,$0028,gb01,$001e,f01,$0014,f01,$000a,g01,$000a
  1486.     dc.w a01,$000a,bb01,$0028,ab01,$0028,gb01,$001e,f01,$0014
  1487.     dc.w f01,$000a,g01,$000a,a01,$000a,bb01,$0028,f01,$0028
  1488.     dc.w bb01,cr
  1489.     dc.w end_patt
  1490.  
  1491.  
  1492.  
  1493. wpizzo:
  1494.     dc.w rest,cr*24+q,f03,$0014,ab03,$0014,eb03,$0014,ab03,$0014
  1495.     dc.w db03,$0014,ab03,$000a,c03,$0014,c03,$000a,g03,$0014
  1496.     dc.w f02,$0014,f03,$0014,c03,$0014,g03,$0014,db03,$0014
  1497.     dc.w f03,$0014,g03,$0014,c03,$0014,f03,$0014,ab03,$0014
  1498.     dc.w eb03,$0014,ab03,$0014,db03,$0014,ab03,$000a,c03,$0014
  1499.     dc.w c03,$000a,g03,$0014,f02,$0014,f03,$0014,c03,$0014
  1500.     dc.w e03,$0014,f03,$0190,bb02,$0014,db03,$0014,ab02,$0014
  1501.     dc.w db03,$0014,gb02,$0014,db03,$000a,f02,$0014,f02,$000a
  1502.     dc.w c03,$0014,bb01,$0014,bb02,$0014,f02,$0014,c03,$0014
  1503.     dc.w gb02,$0014,bb02,$0014,c03,$0014,f02,$0014,bb02,$0014
  1504.     dc.w db03,$0014,ab02,$0014,db03,$0014,gb02,$0014,db03,$000a
  1505.     dc.w f02,$0014,f02,$000a,c03,$0014,bb01,$0014,bb02,$0014
  1506.     dc.w f02,$0014,a02,$0014,bb02,$00f0,bb02,$0014,db03,$0014
  1507.     dc.w ab02,$0014,db03,$0014,gb02,$0014,db03,$000a,f02,$0014
  1508.     dc.w f02,$000a,c03,$0014,bb01,$0014,bb02,$0014,f02,$0014
  1509.     dc.w c03,$0014,gb02,$0014,bb02,$0014,c03,$0014,f02,$0014
  1510.     dc.w bb02,$0014,db03,$0014,ab02,$0014,db03,$0014,gb02,$0014
  1511.     dc.w db03,$000a,f02,$0014,f02,$000a,c03,$0014,bb01,$0014
  1512.     dc.w bb02,$0014,f02,$0014,a02,$0014,bb02,cr
  1513.     dc.w end_patt
  1514.  
  1515.  
  1516.  
  1517. wflute:
  1518.     dc.w modon,1,1,3,3,6,6
  1519.     dc.w rest,cr*23+q
  1520.     ;dc.w e02,$0005,eb02,$0005,e02,$0005,eb02,$0005
  1521.     ;dc.w e02,4,rest,$03d0
  1522.  
  1523.     dc.w e03,5,eb03,5
  1524.     dc.w e03,5,eb03,5
  1525.     dc.w e03,5
  1526.  
  1527.     dc.w rest,$03d0+4-5
  1528.  
  1529.  
  1530.     dc.w f02,$0014,bb02,$0014,db03,$0014,f03,$0014
  1531.     dc.w e03,$0023,eb03,$0005,f03,$0028,f03,$0014,bb02,$0014
  1532.     dc.w a03,$0014,gb03,$0014,e03,$0005,f03,$0005,e03,$0005
  1533.     dc.w f03,$0005,e03,$0005,f03,$0005,eb03,$0005,e03,$0005
  1534.     dc.w f03,$0028,f02,$0014,bb02,$0014,db03,$0014,f03,$0014
  1535.     dc.w e03,$0023,eb03,$0005,f03,$0028,f03,$0014,eb03,$0014
  1536.     dc.w db03,$0014,c03,$0014,bb02,$0014
  1537.     
  1538.     dc.w e03,5
  1539.     dc.w f02,5,e02,5
  1540.     dc.w f02,5,e02,5,rest,cr*5-5
  1541.  
  1542.     dc.w f02,$0014
  1543.     dc.w bb02,$0014,db03,$0014,f03,$0014,e03,$0023,e03,$0005
  1544.     dc.w f03,$0028,f03,$0014,bb02,$0014,a03,$0014,gb03,$0014
  1545.     dc.w e03,$0005,f03,$0005,f03,$0005,e03,$0005,e03,$0005
  1546.     dc.w f03,$0005,eb03,$0005,e03,$0005,f03,$0028,f02,$0014
  1547.     dc.w bb02,$0014,db03,$0014,f03,$0014,e03,$0023,e03,$0005
  1548.     dc.w f03,$0028,f03,$0014,eb03,$0014,db03,$0014,c03,$0014
  1549.  
  1550.     dc.w pbend,down,5,bb01,8
  1551.  
  1552.     dc.w bb02,cr
  1553.     dc.w pboff
  1554.     dc.w end_patt
  1555. ;-------------------
  1556.  
  1557.             ;chess queens
  1558. cr  set   40
  1559. q set  cr/2
  1560. sq set q/2
  1561. dsq set sq/4
  1562.  
  1563. trc1 set  0
  1564. tq1 set      0
  1565. tq2 set      0
  1566. tsq1 set  7
  1567. tsq2 set 6
  1568.  
  1569.  
  1570.  
  1571. s1_q:
  1572.  
  1573.  
  1574.     dc.l    fhorn_snd
  1575.     dc.l    qhorn
  1576.     dc.l    flute_snd
  1577.     dc.l    qhorn
  1578.       dc.l     0,end_song
  1579.  
  1580. s2_q:
  1581.     dc.l    flute_sndmq
  1582.     dc.l    qstrings
  1583.       dc.l     0,end_song
  1584.  
  1585.  
  1586. s3_q:
  1587.  
  1588.     dc.l    pizzo_snd
  1589.     dc.l    qpizzo
  1590.       dc.l     0,end_song
  1591.  
  1592.  
  1593. s4_q:
  1594.     dc.l    snare_sndq
  1595.     dc.l    qsnare
  1596.       dc.l     0,end_song
  1597.  
  1598. ;-----------------
  1599. cp:
  1600.  
  1601. qsnare:
  1602.     dc.w    rest,q
  1603.     dc.w    r16,tsq1,r16,tsq2,r16,tsq1,r16,cr+q
  1604.     dc.w    r16,tsq1,r16,tsq2,r16,tsq1,r16,cr
  1605.     dc.w end_patt
  1606.  
  1607. qpizzo
  1608.     dc.w f02,$0014,g02,$0014,a02,$0014,bb02,$0014
  1609.     dc.w c03,$0028,c02,$0028,d02,$0014,e02,$0014,f02,$0014
  1610.     dc.w g02,$0014,a02,$0028,a01,$0028,bb01,$0014,c02,$0014
  1611.     dc.w d02,$0014,e02,$0014,f02,$0028,f01,$0028,g01,$0014
  1612.     dc.w a01,$0014,b01,$0014,g01,$0014,c02,$0028,c03,$0028
  1613.     dc.w f02,$0014,g02,$0014,a02,$0014,bb02,$0014,c03,$0028
  1614.     dc.w c02,$0028,d02,$0014,e02,$0014,f02,$0014,g02,$0014
  1615.     dc.w a02,$0028,a01,$0028,bb01,$0014,c02,$0014,d02,$0014
  1616.     dc.w e02,$0014,f02,$0028,f01,$0028,c02,$0028,c03,$0028
  1617.     dc.w c03,$0014,bb02,$0014,a02,$0014,g02,$0014,f02,$0014
  1618.     dc.w g02,$0014,a02,$0014,bb02,$0014,c03,$0028,c02,$0028
  1619.     dc.w d02,$0014,e02,$0014,f02,$0014,g02,$0014,a02,$0028
  1620.     dc.w a01,$0028,bb01,$0014,c02,$0014,d02,$0014,e02,$0014
  1621.     dc.w f02,$0028,f01,$0028,g01,$0014,a01,$0014,bb01,$0014
  1622.     dc.w b01,$0014,c02,$0028,c03,$0028,f02,$0014,g02,$0014
  1623.     dc.w a02,$0014,bb02,$0014,c03,$0028,c02,$0028,d02,$0014
  1624.     dc.w e02,$0014,f02,$0014,g02,$0014,a02,$0028,a01,$0028
  1625.     dc.w bb01,$0014,c02,$0014,d02,$0014,e02,$0014,f02,$0028
  1626.     dc.w c02,$0028,f02,$0014,e02,$0014,d02,$0014,c02,$0014
  1627.     dc.w f02,cr*2
  1628.     dc.w end_patt
  1629.  
  1630.  
  1631. qhorn
  1632.     dc.w modon,1,1,2,2,20,20
  1633.     dc.w a02,$0050,g02,$0014,a02,$0014,bb02,$0014
  1634.     dc.w g02,$0014,f02,$0050,e02,$0014,f02,$0014,g02,$0014
  1635.     dc.w e02,$0014,d02,$0050,c02,$0014,d02,$0014,e02,$0014
  1636.     dc.w f02,$0014,g02,$003c,c02,$0014,c02,$0050,a02,$0050
  1637.     dc.w g02,$0014,a02,$0014,bb02,$0014,g02,$0014,f02,$0050
  1638.     dc.w e02,$0014,f02,$0014,g02,$0014,e02,$0014,d02,$0028
  1639.     dc.w bb02,$0028,a02,$0028,f02,$0028,g02,$00a0,a02,$0050
  1640.     dc.w g02,$0014,a02,$0014,bb02,$0014,g02,$0014,f02,$0050
  1641.     dc.w e02,$0014,f02,$0014,g02,$0014,e02,$0014,d02,$0050
  1642.     dc.w c02,$0014,d02,$0014,e02,$0014,f02,$0014,g02,$003c
  1643.     dc.w c02,$0014,c02,$0050,a02,$0050,g02,$0014,a02,$0014
  1644.     dc.w bb02,$0014,g02,$0014,f02,$0050,e02,$0014,f02,$0014
  1645.     dc.w g02,$0014,e02,$0014,d02,$0028,bb02,$0028,a02,$0028
  1646.     dc.w g02,$0028,g02,$003c,f02,$0014,f02,cr*2
  1647.     dc.w end_patt
  1648.  
  1649. qstrings
  1650.     dc.w modon,1,1,3,3,12,12
  1651.     dc.w rest,cr*8*4,c03,$000a,f02,$000a,c03,$000a,f02,$000a
  1652.     dc.w c03,$000a,f02,$000a,c03,$000a,f02,$000a,c03,$000a
  1653.     dc.w e02,$000a,c03,$000a,e02,$000a,c03,$000a,e02,$000a
  1654.     dc.w c03,$000a,e02,$000a,d03,$000a,f02,$000a,d03,$000a
  1655.     dc.w f02,$000a,d03,$000a,f02,$000a,d03,$000a,f02,$000a
  1656.     dc.w c03,$000a,e02,$000a,c03,$000a,e02,$000a,c03,$000a
  1657.     dc.w e02,$000a,c03,$000a,e02,$000a,d03,$000a,f02,$000a
  1658.     dc.w d03,$000a,f02,$000a,d03,$000a,f02,$000a,d03,$000a
  1659.     dc.w f02,$000a,c03,$000a,f02,$000a,c03,$000a,f02,$000a
  1660.     dc.w c03,$000a,f02,$000a,c03,$000a,f02,$000a,d03,$000a
  1661.     dc.w g02,$000a,d03,$000a,g02,$000a,d03,$000a,g02,$000a
  1662.     dc.w d03,$000a,g02,$000a,c03,$000a,e02,$000a,c03,$000a
  1663.     dc.w e02,$000a,c03,$000a,e02,$000a,c03,$000a,e02,$000a
  1664.     dc.w c03,$000a,f02,$000a,c03,$000a,f02,$000a,c03,$000a
  1665.     dc.w f02,$000a,c03,$000a,f02,$000a,c03,$000a,e02,$000a
  1666.     dc.w c03,$000a,e02,$000a,c03,$000a,e02,$000a,c03,$000a
  1667.     dc.w e02,$000a,d03,$000a,f02,$000a,d03,$000a,f02,$000a
  1668.     dc.w d03,$000a,f02,$000a,d03,$000a,f02,$000a,c03,$000a
  1669.     dc.w e02,$000a,c03,$000a,e02,$000a,c03,$000a,e02,$000a
  1670.     dc.w c03,$000a,e02,$000a,d03,$000a,f02,$000a,d03,$000a
  1671.     dc.w f02,$000a,d03,$000a,f02,$000a,d03,$000a,f02,$000a
  1672.     dc.w c03,$000a,f02,$000a,c03,$000a,f02,$000a,c03,$000a
  1673.     dc.w e02,$000a,c03,$000a,e02,$000a,c03,$000a,g02,$000a
  1674.     dc.w c03,$000a,g02,$000a,c03,$000a,g02,$000a,c03,$000a
  1675.     dc.w g02,$000a,c03,cr*2
  1676.     dc.w end_patt
  1677.  
  1678.  
  1679. ;-----------------
  1680.  
  1681. sounds:
  1682.  
  1683. flute_snd:
  1684.     dc.w    new_env
  1685.     dc.l    flute_env
  1686.     dc.w    new_snd
  1687.     dc.l    flutep
  1688.     dc.w     end_patt
  1689.  
  1690. flute_sndq:
  1691.     dc.w    new_env
  1692.     dc.l    flute_envq
  1693.     dc.w    new_snd
  1694.     dc.l    flutep
  1695.     dc.w     end_patt
  1696.  
  1697. flute_sndmq:
  1698.     dc.w    new_env
  1699.     dc.l    flute_envmq
  1700.     dc.w    new_snd
  1701.     dc.l    flutep
  1702.     dc.w     end_patt
  1703.  
  1704.  
  1705. aguitar_snd:
  1706.     dc.w    new_env
  1707.     dc.l    aguitar_env
  1708.     dc.w    new_snd
  1709.     dc.l    aguitp
  1710.     dc.w     end_patt
  1711.  
  1712. aguitar_sndq:
  1713. aguitar_snd_quiet:
  1714.     dc.w    new_env
  1715.     dc.l    aguitar_env_quiet
  1716.     dc.w    new_snd
  1717.     dc.l    aguitp
  1718.     dc.w     end_patt
  1719.  
  1720.  
  1721. tamb_snd:
  1722.     dc.w    new_env
  1723.     dc.l    tamb_env
  1724.     dc.w    new_snd
  1725.     dc.l    tambp
  1726.     dc.w     end_patt
  1727.  
  1728.  
  1729.  
  1730. abass_snd:
  1731.     dc.w    new_env
  1732.     dc.l    abass_env
  1733.     dc.w    new_snd
  1734.     dc.l    abassp
  1735.     dc.w     end_patt
  1736.  
  1737. sitar_snd:
  1738.     dc.w    new_env
  1739.     dc.l    sitar_env
  1740.     dc.w    new_snd
  1741.     dc.l    sitarp
  1742.     dc.w     end_patt
  1743.  
  1744. bassoon_snd:
  1745.     dc.w    new_env
  1746.     dc.l    bassoon_env
  1747.     dc.w    new_snd
  1748.     dc.l    bassoonp
  1749.     dc.w     end_patt
  1750.  
  1751. bassoon_snd_short:
  1752.     dc.w    new_env
  1753.     dc.l    bassoon_env
  1754.     dc.w    new_snd
  1755.     dc.l    bassoonsp
  1756.     dc.w     end_patt
  1757.  
  1758. snare_snd:
  1759.     dc.w    new_env
  1760.     dc.l    snare_env
  1761.     dc.w    new_snd
  1762.     dc.l    snarep
  1763.     dc.w     end_patt
  1764.  
  1765. snare_sndq:
  1766.     dc.w    new_env
  1767.     dc.l    snare_envq
  1768.     dc.w    new_snd
  1769.     dc.l    snarep
  1770.     dc.w     end_patt
  1771.  
  1772. trumpet_snd:
  1773.     dc.w    new_env
  1774.     dc.l    trumpet_env
  1775.     dc.w    new_snd
  1776.     dc.l    trumpetp
  1777.     dc.w     end_patt
  1778.  
  1779. trumpet_sndq:
  1780.     dc.w    new_env
  1781.     dc.l    trumpet_envq
  1782.     dc.w    new_snd
  1783.     dc.l    trumpetp
  1784.     dc.w     end_patt
  1785.  
  1786. pizzo_snd:
  1787.     dc.w    new_env
  1788.     dc.l    pizzo_env
  1789.     dc.w    new_snd
  1790.     dc.l    pizzop
  1791.     dc.w     end_patt
  1792.  
  1793. pizzoh_snd:
  1794.     dc.w    new_env
  1795.     dc.l    pizzo_env
  1796.     dc.w    new_snd
  1797.     dc.l    pizzohp
  1798.     dc.w     end_patt
  1799.  
  1800.  
  1801. fhorn_snd:
  1802.     dc.w    new_env
  1803.     dc.l    fhorn_env
  1804.     dc.w    new_snd
  1805.     dc.l    fhornp
  1806.     dc.w     end_patt
  1807.  
  1808. fhorn_sndq:
  1809.     dc.w    new_env
  1810.     dc.l    fhorn_envq
  1811.     dc.w    new_snd
  1812.     dc.l    fhornp
  1813.     dc.w     end_patt
  1814.  
  1815.  
  1816.  
  1817. strings_snd:
  1818.     dc.w    new_env
  1819.     dc.l    strings_env
  1820.     dc.w    new_snd
  1821.     dc.l    stringsp
  1822.     dc.w     end_patt
  1823.  
  1824.  
  1825.  
  1826.  
  1827. ;***********************************************
  1828.  
  1829. parameters:
  1830.  
  1831. iff    equ 108
  1832.  
  1833.     ; sample parameters
  1834.  
  1835.  
  1836. snarep
  1837.         dc.w 1  
  1838.              dc.l snared
  1839.              dc.w 2240/2  
  1840.              dc.l restd
  1841.              dc.w 16/2
  1842.  
  1843.  
  1844. trumpetp
  1845.         dc.w 1  
  1846.              dc.l synbras1d
  1847.              dc.w 3338/2  
  1848.              dc.l synbras1d
  1849.              dc.w 3338/2  
  1850.  
  1851. abassp
  1852.         dc.w 1  
  1853.              dc.l abassd+iff
  1854.              dc.w 8000/2 
  1855.              dc.l restd
  1856.              dc.w 16/2
  1857.  
  1858. flutep
  1859.         dc.w 1  
  1860.              dc.l fluted+iff
  1861.              dc.w 7278/2
  1862.              dc.l fluted+4173+iff
  1863.              dc.w 3106/2
  1864.  
  1865. tambp
  1866.         dc.w 1  
  1867.              dc.l tambd
  1868.              dc.w 1457/2 
  1869.              dc.l restd
  1870.              dc.w 16/2
  1871.  
  1872. sitarp
  1873.         dc.w 1  
  1874.              dc.l sitard
  1875.              dc.w 7708/2 
  1876.              dc.l restd
  1877.              dc.w 16/2
  1878.  
  1879. aguitp
  1880.         dc.w 1  
  1881.              dc.l aguitd+iff
  1882.              dc.w 9576/2 
  1883.              dc.l restd
  1884.              dc.w 16/2
  1885.  
  1886. bassoonlp
  1887.         dc.w 1  
  1888.              dc.l bassoond+iff
  1889.              dc.w 4788/2 
  1890.              dc.l bassoond+iff+2033
  1891.              dc.w 2755/2
  1892.  
  1893.  
  1894. bassoonp
  1895.         dc.w 1  
  1896.              dc.l bassoond+iff
  1897.              dc.w 4788/2 
  1898.              dc.l restd
  1899.              dc.w 16/2
  1900.  
  1901. bassoonsp
  1902.         dc.w 1  
  1903.              dc.l bassoond+iff
  1904.              dc.w 4788/2-1000 
  1905.              dc.l restd
  1906.              dc.w 16/2
  1907.  
  1908. pizzop:
  1909.         dc.w 1  
  1910.              dc.l pizzod
  1911.              dc.w 5550/2 
  1912.              dc.l restd
  1913.              dc.w 16/2
  1914.  
  1915. pizzohp:
  1916.         dc.w 1  
  1917.              dc.l pizzohd
  1918.              dc.w 3796/2 
  1919.              dc.l restd
  1920.              dc.w 16/2
  1921.  
  1922. fhornp:
  1923.         dc.w 1  
  1924.              dc.l fhornd+iff
  1925.              dc.w (6684-iff)/2 
  1926.              dc.l fhornd+iff
  1927.              dc.w (6684-iff)/2
  1928.  
  1929. stringsp:
  1930.         dc.w 1  
  1931.              dc.l stringsd
  1932.              dc.w (8668)/2 
  1933.              dc.l restd
  1934.              dc.w 16/2
  1935.  
  1936.  
  1937.  
  1938.  
  1939. envelopes:
  1940.  
  1941.  
  1942. rest_env:            dc.w 0,0,0,0,0,0,0,0,255
  1943. flute_env:            dc.w 0,32,255
  1944. flute_envq:            dc.w 0,8,255
  1945. flute_envmq:            dc.w 0,18,255
  1946. tamb_env:            dc.w 0,62,255
  1947. aguitar_env:            dc.w 0,45,255
  1948. aguitar_env_quiet:        dc.w 0,30,255
  1949. sitar_env:            dc.w 0,42,255
  1950. abass_env:            dc.w 0,54,255
  1951. snare_env:            dc.w 0,35,255
  1952. snare_envq:            dc.w 0,15,255
  1953. trumpet_env:            dc.w 0,35,255
  1954. trumpet_envq:            dc.w 0,25,255
  1955. bassoon_env:            dc.w 0,48,255
  1956. pizzo_env:            dc.w 0,35,255
  1957. fhorn_env:            dc.w 0,48,255
  1958. fhorn_envq:            dc.w 0,28,255
  1959. strings_env:            dc.w 0,48,255
  1960.  
  1961.  
  1962.  
  1963. ;guit.sam                    6191 rwed Today     01:27:11
  1964. ;tamb.sam                    1457 rwed Today     01:27:10
  1965. ;flute.sam                   8410 rwed Today     01:27:08
  1966. ;sitar.sam                   8993 rwed Today     01:27:07
  1967. ;bass.sam                    8583 rwed Today     01:27:05
  1968. ;7 files - 207 blocks used
  1969.  
  1970. ;**************************************************
  1971.  
  1972.  
  1973. aguitd            incbin c:instruments/aguit.sam 
  1974. tambd            ;incbin c:instruments/tamb.sam 
  1975. fluted            incbin c:instruments/flute.sam 
  1976. sitard            ;incbin c:instruments/sitar.sam 
  1977. abassd            incbin c:instruments/abass.sam 
  1978. snared            incbin c:instruments/snare.sam 
  1979. synbras1d        incbin c:instruments/hbrass3l.sam 
  1980. bassoond        incbin c:instruments/bassoonl.sam 
  1981. pizzod            incbin c:instruments/pizzo1.sam 
  1982. pizzohd            ;incbin c:instruments/pizzo2.sam 
  1983.  
  1984. fhornd            incbin c:instruments/fhorn.sam 
  1985. stringsd        ;incbin c:instruments/strings2.sam
  1986.  
  1987. ;********************************************
  1988.  
  1989. ;;THE FX SAMPLES ARE PULLED IN HERE...THis section can be anywhere
  1990. ;; in lower memory,and in any order
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997. ;***********************
  1998.  
  1999. restd:
  2000. rest_data:
  2001.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2002.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2003.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2004.              dc.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  2005. sined:
  2006. sine_datad:
  2007.              dc.w 127,80,50,25,0,-25,-50,-100,-127
  2008.              dc.w -127,-100,-50,-35,0,35,50,80,127
  2009.  
  2010.  
  2011. ;*************************************************
  2012.  
  2013.     end
  2014.  
  2015.  
  2016.  
  2017.  
  2018.     dc.w modon,1,1,8,8,6,6
  2019.     dc.w pbend,down,1,60000,32
  2020.  
  2021. bassall.sam                32356 rwed Monday    19:20:59
  2022. bassoonl.sam                4892 rwed Monday    19:27:24
  2023. fhorn.all                  38636 rwed Today     01:48:51
  2024. fhorn.sam                   6684 rwed Today     01:50:44
  2025. HISTRG.SAM                  2960 rwed 19-Oct-78 07:36:38
  2026. PIZZO2.SAM                  3796 rwed 19-Oct-78 07:36:39
  2027. ORCHHITP.SAM               10594 rwed 19-Oct-78 07:36:43
  2028. abass.sam                   8108 rwed 19-Oct-78 07:58:35
  2029. aguit.sam                   9684 rwed 19-Oct-78 08:24:07
  2030. ilist                      empty rwed Today     01:51:31
  2031. VIOLIN1.SAM                 6350 rwed 19-Oct-78 07:36:19
  2032. SNARE.SAM                   2240 rwed 19-Oct-78 07:36:21
  2033. BRASSSEC.SAM                6360 rwed 19-Oct-78 07:36:22
  2034. PIZPIANO.SAM                4032 rwed 19-Oct-78 07:36:24
  2035. FREHORNL.SAM                7020 rwed 19-Oct-78 07:36:26
  2036. HBRASS3L.SAM                3338 rwed 19-Oct-78 07:36:27
  2037. EXPBIG.SAM                  6876 rwed 19-Oct-78 07:36:29
  2038. NEWFLUTE.SAM                3636 rwed 19-Oct-78 07:36:31
  2039. PIZZO1.SAM                  5550 rwed 19-Oct-78 07:36:33
  2040. STRINGS2.SAM                8668 rwed 19-Oct-78 07:36:36
  2041. NEWTYMP.SAM                 5052 rwed 19-Oct-78 07:36:37
  2042. sitar.sam                   7708 rwed 19-Oct-78 10:22:02
  2043. flute.sam                   9076 rwed 19-Oct-78 05:27:25
  2044. tamb.sam                    1457 rwed 19-Oct-78 05:27:29
  2045. 24 files - 416 blocks used
  2046.  
  2047.