home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Kings Quest Backup 2 / Lowe_KingsQuestBackup2.adf / opening / kq6open.bak < prev    next >
Encoding:
Text File  |  1993-03-05  |  36.9 KB  |  2,265 lines

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