home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Amiga KQ 6 Levels Data / Lowe_AmigaKQ6LevelsData.adf / steelsky_intro.s < prev    next >
Encoding:
Text File  |  1978-11-10  |  48.1 KB  |  2,527 lines

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