home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Railroad Tycoon Amiga Music FX / Lowe_RailroadTycoonAmigaMusicFX.adf / railcoon.s < prev    next >
Encoding:
Text File  |  1978-10-02  |  50.1 KB  |  2,475 lines

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