home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / falcon / sound / f030play / replay4.s < prev   
Text File  |  1993-08-21  |  32KB  |  1,552 lines

  1.     clr.l    -(sp)
  2.     move    #$20,-(sp)
  3.     trap    #1
  4.     addq.l    #6,sp
  5.  
  6.     bsr.s    M_SETUP
  7.  
  8.     move    #$2700,sr
  9.     bsr    M_ON
  10.     move    #$2300,sr
  11.     clr.l    $466.w
  12.     move.w    #0,$ff9800
  13.     moveq    #0,d0
  14. vblank
  15. ;    move.l    $446.w,d0
  16. ;.wait    cmp.l    $446.w,d0
  17. ;    beq.s    .wait
  18.     clr.l    $446.w
  19.     cmp.b    #$39+$80,$fffffc02.w
  20.     bne.s    vblank
  21.     bsr.s    M_OFF
  22.     clr    -(sp)
  23.     trap    #1
  24. M_SETUP    bra    SETUP_MO
  25. M_ON    bra    INT_ON
  26. M_OFF    bra    INT_OFF
  27. SETUP_MO
  28.     move.w    #$80,-(a7)
  29.     trap    #14
  30.     addq.l    #2,a7
  31.     move.l    $134.w,OLD_A
  32.     move.w    #1,-(a7)
  33.     move.w    #0,-(a7)
  34.     move.w    #0,-(a7)
  35.     move.w    #8,-(a7)
  36.     move.w    #1,-(a7)
  37.     move.w    #$8B,-(a7)
  38.     trap    #14
  39.     lea    $C(a7),a7
  40.     move.w    #0,-(a7)
  41.     move.w    #1,-(a7)
  42.     move.w    #$89,-(a7)
  43.     trap    #14
  44.     addq.w    #6,a7
  45.     move.w    #1,-(a7)
  46.     move.l    #$1E4,-(a7)
  47.     pea    DSPPROG(pc)
  48.     move.w    #$6E,-(a7)
  49.     trap    #14
  50.     lea    $C(a7),a7
  51.     bsr    MT_INIT
  52.     bra    PREPARE
  53.  
  54. INT_OFF    move.l    OLD_A(pc),$134.w
  55.     move.b    OLD_19(pc),$FFFFFA19.w
  56.     move.b    OLD_1F(pc),$FFFFFA1F.w
  57.     bclr    #5,$FFFFFA07.w
  58.     bclr    #5,$FFFFFA13.w
  59.     move.w    #1,-(a7)
  60.     move.w    #0,-(a7)
  61.     move.w    #0,-(a7)
  62.     move.w    #8,-(a7)
  63.     move.w    #0,-(a7)
  64.     move.w    #$8B,-(a7)
  65.     trap    #14
  66.     lea    $C(a7),a7
  67.     move.w    #1,-(a7)
  68.     move.w    #$84,-(a7)
  69.     trap    #14
  70.     addq.w    #4,a7
  71.     move.w    #$81,-(a7)
  72.     trap    #14
  73.     addq.l    #2,a7
  74.     rts
  75.  
  76. INT_ON    move.b    $FFFFFA19.w,OLD_19
  77.     move.b    $FFFFFA1F.w,OLD_1F
  78.     bclr    #3,$FFFFFA17.w
  79.     bset    #5,$FFFFFA07.w
  80.     bset    #5,$FFFFFA13.w
  81.     move.b    #$F6,$FFFFFA1F.w
  82.     move.b    #7,$FFFFFA19.w
  83.     move.l    #NEW_A,$134.w
  84.     rts
  85. OLD_A    DC.L    0
  86. OLD_19    DC.L    0
  87. OLD_1F    DC.L    0
  88. NEW_A
  89.     movem.l    d0-d7/a0-a6,-(a7)
  90.     move.l    #$00000000,$ffff9800.w
  91.     lea    $FFFFA200.w,a6
  92.     clr.b    7(a6)
  93.     lea    CH1S(pc),a1
  94.     bsr.s    SEND_VOICE
  95.     lea    CH2S(pc),a1
  96.     bsr.s    SEND_VOICE
  97.     lea    CH3S(pc),a1
  98.     bsr.s    SEND_VOICE
  99.     lea    CH4S(pc),a1
  100.     bsr.s    SEND_VOICE
  101.     bsr    MT_MUSIC
  102.     move.l    #$fffff00ff,$ffff9800.w
  103.     movem.l    (a7)+,d0-d7/a0-a6
  104.     rte
  105. vbl
  106.     addq.l    #1,$466.w
  107.     rte
  108.  
  109. SEND_VOICE    
  110.     move.b    $17(a1),5(a6)
  111.     clr.w    6(a6)
  112.     moveq    #0,d0
  113.     move.w    $14(a1),d0
  114.     move.l    #$24665268,d1
  115.     divul.l    d0,d1:d1
  116.     swap    d1
  117.     move.b    d1,5(a6)
  118.     rol.l    #8,d1
  119.     move.b    d1,6(a6)
  120.     rol.l    #8,d1
  121.     move.b    d1,7(a6)
  122.     moveq    #0,d0
  123. .CHECK1    btst    #0,2(a6)
  124.     beq.s    .CHECK1
  125.     move.b    5(a6),d0
  126.     lsl.l    #8,d0
  127.     move.b    6(a6),d0
  128.     lsl.l    #8,d0
  129.     move.b    7(a6),d0
  130.     move.l    (a1),d1
  131.     tst.w    $C(a1)
  132.     bne.s    .NOPS
  133.     add.l    d0,d1
  134.     cmp.l    4(a1),d1
  135.     bcs.s    .NOPS
  136.     sub.l    8(a1),d1
  137. .NOPS    move.l    d1,(a1)
  138.     movea.l    d1,a2
  139.     moveq    #0,d0
  140. .CHECK2    btst    #0,2(a6)
  141.     beq.s    .CHECK2
  142.     move.b    5(a6),d0
  143.     lsl.l    #8,d0
  144.     move.b    6(a6),d0
  145.     lsl.l    #8,d0
  146.     move.b    7(a6),d0
  147.     moveq    #3,d2
  148.     divu.w    d2,d0
  149.     addq.w    #8,d0
  150.     clr.b    5(a6)
  151.     rol.w    #8,d0
  152.     move.b    d0,6(a6)
  153.     rol.w    #8,d0
  154.     move.b    d0,7(a6)
  155.     and.w    d0,d2
  156.     lsr.w    #2,d0
  157.     neg.w    d2
  158.     jmp    .kaka(pc,d2.w*8)
  159. .VAR
  160.     move.b    (a2)+,5(a6)
  161.     move.w    (a2)+,6(a6)
  162.     move.b    (a2)+,5(a6)
  163.     move.w    (a2)+,6(a6)
  164.     move.b    (a2)+,5(a6)
  165.     move.w    (a2)+,6(a6)
  166.     move.b    (a2)+,5(a6)
  167.     move.w    (a2)+,6(a6)
  168. .kaka    dbf    d0,.VAR
  169.     clr.w    $C(a1)
  170.     rts
  171. PREPARE    lea    WORKSPC,a6
  172.     movea.l    MT_SAMPLESTARTS(pc),a0
  173.     movea.l    END_OF_SAMPLE(pc),a1
  174. TOSTACK    move.w    -(a1),-(a6)
  175.     cmpa.l    a0,a1
  176.     bgt.s    TOSTACK
  177.     lea    MT_SAMPLESTARTS(pc),a2
  178.     lea    MODULE,a1
  179.     movea.l    (a2),a0
  180.     movea.l    a0,a5
  181.     moveq    #$1E,d7
  182. ROOP    move.l    a0,(a2)+
  183.     tst.w    $2A(a1)
  184.     beq.s    SAMPLOK
  185.     tst.w    $2E(a1)
  186.     bne.s    REPNEG
  187. REPEQU    move.w    $2A(a1),d0
  188.     move.w    d0,d4
  189.     subq.w    #1,d0
  190.     movea.l    a0,a4
  191. FROMSTK    move.w    (a6)+,(a0)+
  192.     dbf    d0,FROMSTK
  193.     bra.s    REP
  194. REPNEG    move.w    $2E(a1),d0
  195.     move.w    d0,d4
  196.     subq.w    #1,d0
  197.     movea.l    a6,a4
  198. GET1ST    move.w    (a4)+,(a0)+
  199.     dbf    d0,GET1ST
  200.     adda.w    $2A(a1),a6
  201.     adda.w    $2A(a1),a6
  202. REP    movea.l    a0,a5
  203.     moveq    #0,d1
  204. TOOSMAL    movea.l    a4,a3
  205.     move.w    $30(a1),d0
  206.     subq.w    #1,d0
  207. MOVEREP    move.w    (a3)+,(a0)+
  208.     addq.w    #2,d1
  209.     dbf    d0,MOVEREP
  210.     cmp.w    #$320,d1
  211.     blt.s    TOOSMAL
  212.     move.w    #$18F,d2
  213. .LOOP    move.w    (a5)+,(a0)+
  214.     dbf    d2,.LOOP
  215. DONE    add.w    d4,d4
  216.     move.w    d4,$2A(a1)
  217.     move.w    d1,$30(a1)
  218.     clr.w    $2E(a1)
  219. SAMPLOK    lea    $1E(a1),a1
  220.     dbf    d7,ROOP
  221.     cmpa.l    #WORKSPC,a0
  222.     bgt.s    .FLERP
  223.     rts
  224. .FLERP    ILLEGAL
  225. END_OF_SAMPLE
  226.     DC.L    0
  227. MT_INIT    lea    MODULE,a0
  228.     move.l    a0,MT_SONGDATAPOS
  229.     movea.l    a0,a1
  230.     lea    $3B8(a1),a1
  231.     moveq    #$7F,d0
  232.     moveq    #0,d1
  233. MTLOOP    move.l    d1,d2
  234.     subq.w    #1,d0
  235. MTLOOP2    move.b    (a1)+,d1
  236.     cmp.b    d2,d1
  237.     bgt.s    MTLOOP
  238.     dbf    d0,MTLOOP2
  239.     addq.b    #1,d2
  240.     lea    MT_SAMPLESTARTS(pc),a1
  241.     asl.l    #8,d2
  242.     asl.l    #2,d2
  243.     addi.l    #$43C,d2
  244.     add.l    a0,d2
  245.     movea.l    d2,a2
  246.     moveq    #$1E,d0
  247. MTLOOP3    clr.l    (a2)
  248.     move.l    a2,(a1)+
  249.     moveq    #0,d1
  250.     move.w    $2A(a0),d1
  251.     asl.l    #1,d1
  252.     adda.l    d1,a2
  253.     lea    $1E(a0),a0
  254.     dbf    d0,MTLOOP3
  255.     move.l    a2,END_OF_SAMPLE
  256.     ori.b    #2,SHFILTER
  257.     move.b    #6,MT_SPEED
  258.     clr.b    MT_COUNTER
  259.     clr.b    MT_SONGPOS
  260.     clr.w    MT_PATTERNPOS
  261. MT_END    move.w    #0,DMACTRL
  262.     rts
  263. MT_MUSIC
  264.     addq.b    #1,MT_COUNTER
  265.     move.b    MT_COUNTER(pc),d0
  266.     cmp.b    MT_SPEED(pc),d0
  267.     bcs.s    MT_NONEWNOTE
  268.     clr.b    MT_COUNTER
  269.     tst.b    MT_PATTDELTIME2
  270.     beq.s    MT_GETNEWNOTE
  271.     bsr.s    MT_NONEWALLCHANNELS
  272.     bra    WZ_NCH4
  273. MT_NONEWNOTE
  274.     bsr.s    MT_NONEWALLCHANNELS
  275.     bra    MT_NONEWPOSYET
  276. MT_NONEWALLCHANNELS
  277.     lea    CH1T(pc),a5
  278.     lea    MT_CHAN1(pc),a6
  279.     bsr    MT_CHECKEFX
  280.     lea    CH2T(pc),a5
  281.     lea    MT_CHAN2(pc),a6
  282.     bsr    MT_CHECKEFX
  283.     lea    CH3T(pc),a5
  284.     lea    MT_CHAN3(pc),a6
  285.     bsr    MT_CHECKEFX
  286.     lea    CH4T(pc),a5
  287.     lea    MT_CHAN4(pc),a6
  288.     bra    MT_CHECKEFX
  289. MT_GETNEWNOTE
  290.     movea.l    MT_SONGDATAPOS(pc),a0
  291.     lea    12(a0),a3
  292.     lea    952(a0),a2
  293.     lea    1084(a0),a0
  294.     moveq    #0,d0
  295.     moveq    #0,d1
  296.     move.b    MT_SONGPOS(pc),d0
  297.     move.b    0(a2,d0.w),d1
  298.     asl.l    #8,d1
  299.     asl.l    #2,d1
  300.     add.w    MT_PATTERNPOS(pc),d1
  301.     clr.w    MT_DMACONTEMP
  302.     lea    CH1T(pc),a5
  303.     lea    MT_CHAN1(pc),a6
  304.     bsr.s    MT_PLAYVOICE
  305.     lea    CH2T(pc),a5
  306.     lea    MT_CHAN2(pc),a6
  307.     bsr.s    MT_PLAYVOICE
  308.     lea    CH3T(pc),a5
  309.     lea    MT_CHAN3(pc),a6
  310.     bsr.s    MT_PLAYVOICE
  311.     lea    CH4T(pc),a5
  312.     lea    MT_CHAN4(pc),a6
  313.     bsr.s    MT_PLAYVOICE
  314.     bra    MT_SETDMA
  315. MT_PLAYVOICE
  316.     tst.l    (a6)
  317.     bne.s    MT_PLVSKIP
  318.     bsr    MT_PERNOP
  319. MT_PLVSKIP
  320.     move.l    0(a0,d1.l),(a6)
  321.     addq.l    #4,d1
  322.     moveq    #0,d2
  323.     move.b    2(a6),d2
  324.     andi.b    #$F0,d2
  325.     lsr.b    #4,d2
  326.     move.b    (a6),d0
  327.     andi.b    #$F0,d0
  328.     or.b    d0,d2
  329.     tst.b    d2
  330.     beq    MT_SETREGS
  331.     moveq    #0,d3
  332.     lea    MT_SAMPLESTARTS(pc),a1
  333.     move.w    d2,d4
  334.     subq.l    #1,d2
  335.     asl.l    #2,d2
  336.     mulu.w    #$1E,d4
  337.     move.l    0(a1,d2.l),4(a6)
  338.     move.w    0(a3,d4.l),8(a6)
  339.     move.w    0(a3,d4.l),$28(a6)
  340.     move.b    2(a3,d4.l),$12(a6)
  341.     move.b    3(a3,d4.l),$13(a6)
  342.     move.w    4(a3,d4.l),d3
  343.     tst.w    d3
  344.     beq.s    MT_NOLOOP
  345.     move.l    4(a6),d2
  346.     asl.w    #1,d3
  347.     add.l    d3,d2
  348.     move.l    d2,$A(a6)
  349.     move.l    d2,$24(a6)
  350.     move.w    4(a3,d4.l),d0
  351.     add.w    6(a3,d4.l),d0
  352.     move.w    d0,8(a6)
  353.     move.w    6(a3,d4.l),$E(a6)
  354.     moveq    #0,d0
  355.     move.b    $13(a6),d0
  356.     move.w    d0,8(a5)
  357.     bra.s    MT_SETREGS
  358. MT_NOLOOP
  359.     move.l    4(a6),d2
  360.     add.l    d3,d2
  361.     move.l    d2,$A(a6)
  362.     move.l    d2,$24(a6)
  363.     move.w    6(a3,d4.l),$E(a6)
  364.     moveq    #0,d0
  365.     move.b    $13(a6),d0
  366.     move.w    d0,8(a5)
  367. MT_SETREGS
  368.     move.w    (a6),d0
  369.     andi.w    #$FFF,d0
  370.     beq    MT_CHECKMOREEFX
  371.     move.w    2(a6),d0
  372.     andi.w    #$FF0,d0
  373.     cmp.w    #$E50,d0
  374.     beq.s    MT_DOSETFINETUNE
  375.     move.b    2(a6),d0
  376.     andi.b    #$F,d0
  377.     cmp.b    #3,d0
  378.     beq.s    MT_CHKTONEPORTA
  379.     cmp.b    #5,d0
  380.     beq.s    MT_CHKTONEPORTA
  381.     cmp.b    #9,d0
  382.     bne.s    MT_SETPERIOD
  383.     bsr    MT_CHECKMOREEFX
  384.     bra.s    MT_SETPERIOD
  385. MT_DOSETFINETUNE
  386.     bsr    MT_SETFINETUNE
  387.     bra.s    MT_SETPERIOD
  388. MT_CHKTONEPORTA
  389.     bsr    MT_SETTONEPORTA
  390.     bra    MT_CHECKMOREEFX
  391. MT_SETPERIOD
  392.     movem.l    d0-d1/a0-a1,-(a7)
  393.     move.w    (a6),d1
  394.     andi.w    #$FFF,d1
  395.     lea    MT_PERIODTABLE(pc),a1
  396.     moveq    #0,d0
  397.     moveq    #$24,d7
  398. MT_FTULO
  399.     cmp.w    0(a1,d0.w),d1
  400.     bcc.s    MT_FTUFO
  401.     addq.l    #2,d0
  402.     dbf    d7,MT_FTULO
  403. MT_FTUFO
  404.     moveq    #0,d1
  405.     move.b    $12(a6),d1
  406.     mulu.w    #$48,d1
  407.     adda.l    d1,a1
  408.     move.w    0(a1,d0.w),$10(a6)
  409.     movem.l    (a7)+,d0-d1/a0-a1
  410.     move.w    2(a6),d0
  411.     andi.w    #$FF0,d0
  412.     cmp.w    #$ED0,d0
  413.     beq    MT_CHECKMOREEFX
  414.     move.w    $14(a6),d0
  415.     or.w    d0,DMACTRL
  416.     btst    #2,$1E(a6)
  417.     bne.s    MT_VIBNO
  418.     clr.b    $1B(a6)
  419. MT_VIBNO
  420.     btst    #6,$1E(a6)
  421.     bne.s    MT_TRENO
  422.     clr.b    $1D(a6)
  423. MT_TRENO
  424.     move.l    4(a6),(a5)
  425.     move.w    8(a6),4(a5)
  426.     move.w    $10(a6),d0
  427.     move.w    d0,6(a5)
  428.     move.w    $14(a6),d0
  429.     or.w    d0,MT_DMACONTEMP
  430.     bra    MT_CHECKMOREEFX
  431. MT_SETDMA
  432.     move.w    MT_DMACONTEMP(pc),d0
  433.     btst    #0,d0
  434.     beq.s    WZ_NCH1
  435.     moveq    #0,d1
  436.     moveq    #0,d2
  437.     move.w    AUD1LEN(pc),d1
  438.     move.w    MT_CHAN1+14(pc),d2
  439.     add.l    d2,d1
  440.     move.l    CH1T(pc),CH1S
  441.     add.l    CH1T(pc),d1
  442.     move.l    d1,GRF1LEN
  443.     move.l    d2,GRF1RPT
  444.     move.w    #$FFFF,GRF1FLAG
  445. WZ_NCH1    btst    #1,d0
  446.     beq.s    WZ_NCH2
  447.     moveq    #0,d1
  448.     moveq    #0,d2
  449.     move.w    AUD2LEN(pc),d1
  450.     move.w    MT_CHAN2+14(pc),d2
  451.     add.l    d2,d1
  452.     move.l    CH2T(pc),CH2S
  453.     add.l    CH2T(pc),d1
  454.     move.l    d1,GRF2LEN
  455.     move.l    d2,GRF2RPT
  456.     move.w    #$FFFF,GRF2FLAG
  457. WZ_NCH2    btst    #2,d0
  458.     beq.s    WZ_NCH3
  459.     moveq    #0,d1
  460.     moveq    #0,d2
  461.     move.w    AUD3LEN(pc),d1
  462.     move.w    MT_CHAN3+14(pc),d2
  463.     add.l    d2,d1
  464.     move.l    CH3T(pc),CH3S
  465.     add.l    CH3T(pc),d1
  466.     move.l    d1,GRF3LEN
  467.     move.l    d2,GRF3RPT
  468.     move.w    #$FFFF,GRF3FLAG
  469. WZ_NCH3    btst    #3,d0
  470.     beq.s    WZ_NCH4
  471.     moveq    #0,d1
  472.     moveq    #0,d2
  473.     move.w    AUD4LEN(pc),d1
  474.     move.w    MT_CHAN4+14(pc),d2
  475.     add.l    d2,d1
  476.     move.l    CH4T(pc),CH4S
  477.     add.l    CH4T(pc),d1
  478.     move.l    d1,GRF4LEN
  479.     move.l    d2,GRF4RPT
  480.     move.w    #$FFFF,GRF4FLAG
  481. WZ_NCH4    addi.w    #$10,MT_PATTERNPOS
  482.     move.b    MT_PATTDELTIME,d0
  483.     beq.s    MT_DSKC
  484.     move.b    d0,MT_PATTDELTIME2
  485.     clr.b    MT_PATTDELTIME
  486. MT_DSKC    tst.b    MT_PATTDELTIME2
  487.     beq.s    MT_DSKA
  488.     subq.b    #1,MT_PATTDELTIME2
  489.     beq.s    MT_DSKA
  490.     subi.w    #$10,MT_PATTERNPOS
  491. MT_DSKA    tst.b    MT_PBREAKFLAG
  492.     beq.s    MT_NNPYSK
  493.     sf    MT_PBREAKFLAG
  494.     moveq    #0,d0
  495.     move.b    MT_PBREAKPOS(pc),d0
  496.     clr.b    MT_PBREAKPOS
  497.     lsl.w    #4,d0
  498.     move.w    d0,MT_PATTERNPOS
  499. MT_NNPYSK
  500.     cmpi.w    #$400,MT_PATTERNPOS
  501.     bcs.s    MT_NONEWPOSYET
  502. MT_NEXTPOSTITION
  503.     moveq    #0,d0
  504.     move.b    MT_PBREAKPOS(pc),d0
  505.     lsl.w    #4,d0
  506.     move.w    d0,MT_PATTERNPOS
  507.     clr.b    MT_PBREAKPOS
  508.     clr.b    MT_POSJUMPFLAG
  509.     
  510.     addq.b    #1,MT_SONGPOS
  511.     andi.b    #$7F,MT_SONGPOS
  512.     move.b    MT_SONGPOS(pc),d1
  513.     movea.l    MT_SONGDATAPOS(pc),a0
  514.     cmp.b    950(a0),d1
  515.     bcs.s    MT_NONEWPOSYET
  516.     clr.b    MT_SONGPOS
  517. MT_NONEWPOSYET
  518.     tst.b    MT_POSJUMPFLAG
  519.     bne.s    MT_NEXTPOSTITION
  520.     rts
  521. MT_CHECKEFX
  522.     bsr    MT_UPDATEFUNK
  523.     move.w    2(a6),d0
  524.     andi.w    #$FFF,d0
  525.     beq.s    MT_PERNOP
  526.     move.b    2(a6),d0
  527.     andi.b    #$F,d0
  528.     beq.s    MT_ARPEGGIO
  529.     cmp.b    #1,d0
  530.     beq    MT_PORTAUP
  531.     cmp.b    #2,d0
  532.     beq    MT_PORTADOWN
  533.     cmp.b    #3,d0
  534.     beq    MT_TONEPORTOMENTO
  535.     cmp.b    #4,d0
  536.     beq    MT_VIBRATO
  537.     cmp.b    #5,d0
  538.     beq    MT_TONEPLUSVOLSLIDE
  539.     cmp.b    #6,d0
  540.     beq    MT_VIBRATOPLUSVOLSLIDE
  541.     cmp.b    #$E,d0
  542.     beq    MT_E_COMMANDS
  543. SETBACK    move.w    $10(a6),6(a5)
  544.     cmp.b    #7,d0
  545.     beq    MT_TREMOLO
  546.     cmp.b    #$A,d0
  547.     beq    MT_VOLUMESLIDE
  548. MT_RETUR
  549.     rts
  550. MT_PERNOP
  551. MT_NOEFX1
  552.     move.w    $10(a6),6(a5)
  553. MT_RETURN2
  554.     rts
  555. MT_ARPEGGIO
  556.     moveq    #0,d0
  557.     move.b    MT_COUNTER(pc),d0
  558.     divs.w    #3,d0
  559.     swap    d0
  560.     cmp.w    #0,d0
  561.     beq.s    MT_ARPEGGIO2
  562.     cmp.w    #2,d0
  563.     beq.s    MT_ARPEGGIO1
  564.     moveq    #0,d0
  565.     move.b    3(a6),d0
  566.     lsr.b    #4,d0
  567.     bra.s    MT_ARPEGGIO3
  568. MT_ARPEGGIO1
  569.     moveq    #0,d0
  570.     move.b    3(a6),d0
  571.     andi.b    #$F,d0
  572.     bra.s    MT_ARPEGGIO3
  573. MT_ARPEGGIO2
  574.     move.w    $10(a6),d2
  575.     bra.s    MT_ARPEGGIO4
  576. MT_ARPEGGIO3
  577.     add    D0,d0
  578.     moveq    #0,d1
  579.     move.b    $12(a6),d1
  580.     mulu.w    #$48,d1
  581.     lea    MT_PERIODTABLE(pc),a0
  582.     adda.l    d1,a0
  583.     moveq    #0,d1
  584.     move.w    $10(a6),d1
  585.     moveq    #$24,d7
  586. .MT_ARPLOOP
  587.     move.w    0(a0,d0.w),d2
  588.     cmp.w    (a0),d1
  589.     bcc.s    MT_ARPEGGIO4
  590.     addq.l    #2,a0
  591.     dbf    d7,.MT_ARPLOOP
  592.     rts
  593. MT_ARPEGGIO4
  594.     move.w    d2,6(a5)
  595.     rts
  596. MT_FINEPORTAUP
  597.     tst.b    MT_COUNTER
  598.     bne.s    MT_RTS2
  599.     move.b    #$F,MT_LOWMASK
  600. MT_PORTAUP
  601.     moveq    #0,d0
  602.     move.b    3(a6),d0
  603.     and.b    MT_LOWMASK(pc),d0
  604.     move.b    #$FF,MT_LOWMASK
  605.     sub.w    d0,$10(a6)
  606.     move.w    $10(a6),d0
  607.     andi.w    #$FFF,d0
  608.     cmp.w    #113,d0
  609.     bpl.s    MT_PORTAUSKIP
  610.     andi.w    #$F000,$10(a6)
  611.     ori.w    #$71,$10(a6)
  612. MT_PORTAUSKIP
  613.     move.w    $10(a6),d0
  614.     andi.w    #$FFF,d0
  615.     move.w    d0,6(a5)
  616. MT_RTS2    rts
  617. MT_FINEPORTADOWN
  618.     tst.b    MT_COUNTER
  619.     bne    MT_RTS2
  620.     move.b    #$F,MT_LOWMASK
  621. MT_PORTADOWN
  622.     clr.w    d0
  623.     move.b    3(a6),d0
  624.     and.b    MT_LOWMASK(pc),d0
  625.     move.b    #$FF,MT_LOWMASK
  626.     add.w    d0,$10(a6)
  627.     move.w    $10(a6),d0
  628.     andi.w    #$FFF,d0
  629.     cmp.w    #856,d0
  630.     bmi.s    MT_PORTASKIP
  631.     andi.w    #$F000,$10(a6)
  632.     ori.w    #856,$10(a6)
  633. MT_PORTASKIP
  634.     move.w    $10(a6),d0
  635.     andi.w    #$FFF,d0
  636.     move.w    d0,6(a5)
  637.     rts
  638. MT_SETTONEPORTA
  639.     move.l    a0,-(a7)
  640.     move.w    (a6),d2
  641.     andi.w    #$FFF,d2
  642.     moveq    #0,d0
  643.     move.b    $12(a6),d0
  644.     mulu.w    #$48,d0
  645.     lea    MT_PERIODTABLE(pc),a0
  646.     adda.l    d0,a0
  647.     moveq    #0,d0
  648. MT_STPLO
  649.     cmp.w    0(a0,d0.w),d2
  650.     bcc.s    MT_STPFO
  651.     addq.w    #2,d0
  652.     cmp.w    #$48,d0
  653.     bcs.s    MT_STPLO
  654.     moveq    #$46,d0
  655. MT_STPFO
  656.     move.b    $12(a6),d2
  657.     andi.b    #8,d2
  658.     beq.s    MT_STPGOSS
  659.     tst.w    d0
  660.     beq.s    MT_STPGOSS
  661.     subq.w    #2,d0
  662. MT_STPGOSS
  663.     move.w    (a0,d0.w),d2
  664.     movea.l    (a7)+,a0
  665.     move.w    d2,$18(a6)
  666.     move.w    $10(a6),d0
  667.     clr.b    $16(a6)
  668.     cmp.w    d0,d2
  669.     beq.s    MT_CLEARTONEPORTA
  670.     bge.s    .MT_ET2
  671.     move.b    #1,$16(a6)
  672. .MT_ET2    rts
  673. MT_CLEARTONEPORTA
  674.     clr.w    $18(a6)
  675. MT_ET2    rts
  676. MT_TONEPORTOMENTO
  677.     move.b    3(a6),d0
  678.     beq.s    MT_TONEPORTNOCHANGE
  679.     move.b    d0,$17(a6)
  680.     clr.b    3(a6)
  681. MT_TONEPORTNOCHANGE
  682.     tst.w    $18(a6)
  683.     beq.S    MT_ET2
  684.     moveq    #0,d0
  685.     move.b    $17(a6),d0
  686.     tst.b    $16(a6)
  687.     bne.s    MT_TONEPORTAUP
  688. MT_TONEPORTADOWN
  689.     add.w    d0,$10(a6)
  690.     move.w    $18(a6),d0
  691.     cmp.w    $10(a6),d0
  692.     bgt.s    MT_TONEPORTASETPER
  693.     move.w    $18(a6),$10(a6)
  694.     clr.w    $18(a6)
  695.     bra.s    MT_TONEPORTASETPER
  696. MT_TONEPORTAUP
  697.     sub.w    d0,$10(a6)
  698.     move.w    $18(a6),d0
  699.     cmp.w    $10(a6),d0
  700.     blt.s    MT_TONEPORTASETPER
  701.     move.w    $18(a6),$10(a6)
  702.     clr.w    $18(a6)
  703. MT_TONEPORTASETPER
  704.     move.w    $10(a6),d2
  705.     move.b    $1F(a6),d0
  706.     andi.b    #$F,d0
  707.     beq.s    MT_GLISSKIP
  708.     moveq    #0,d0
  709.     move.b    $12(a6),d0
  710.     mulu.w    #$48,d0
  711.     lea    MT_PERIODTABLE(pc),a0
  712.     adda.w    d0,a0
  713.     moveq    #0,d0
  714. MT_GLISSLOOP
  715.     cmp.w    0(a0,d0.w),d2
  716.     bhs.s    MT_GLISSFOUND
  717.     addq.w    #2,d0
  718.     cmp.w    #36*2,d0
  719.     bcs.s    MT_GLISSLOOP
  720.     moveq    #35*2,d0
  721. MT_GLISSFOUND
  722.     move.w    (a0,d0.w),d2
  723. MT_GLISSKIP
  724.     move.w    d2,6(a5)
  725.     rts
  726. MT_VIBRATO
  727.     move.b    3(a6),d0
  728.     beq.s    MT_VIBRATO2
  729.     move.b    $1A(a6),d2
  730.     andi.b    #$F,d0
  731.     beq.s    MT_VIBSKIP
  732.     andi.b    #$F0,d2
  733.     or.b    d0,d2
  734. MT_VIBSKIP
  735.     move.b    3(a6),d0
  736.     andi.b    #$F0,d0
  737.     beq.s    MT_VIBSKIP2
  738.     andi.b    #$F,d2
  739.     or.b    d0,d2
  740. MT_VIBSKIP2
  741.     move.b    d2,$1A(a6)
  742. MT_VIBRATO2
  743.     move.b    $1B(a6),d0
  744.     lea    MT_VIBRATOTABLE(pc),a4
  745.     lsr.w    #2,d0
  746.     andi.w    #$1F,d0
  747.     moveq    #0,d2
  748.     move.b    $1E(a6),d2
  749.     andi.b    #3,d2
  750.     beq.s    MT_VIB_SINE
  751.     lsl.b    #3,d0
  752.     cmp.b    #1,d2
  753.     beq.s    MT_VIB_RAMPDOWN
  754.     move.b    #$FF,d2
  755.     bra.s    MT_VIB_SET
  756. MT_VIB_RAMPDOWN
  757.     tst.b    $1B(a6)
  758.     bpl.s    MT_VIB_RAMPDOWN2
  759.     move.b    #$FF,d2
  760.     sub.b    d0,d2
  761.     bra.s    MT_VIB_SET
  762. MT_VIB_RAMPDOWN2
  763.     move.b    d0,d2
  764.     bra.s    MT_VIB_SET
  765. MT_VIB_SINE
  766.     move.b    0(a4,d0.w),d2
  767. MT_VIB_SET
  768.     move.b    $1A(a6),d0
  769.     andi.w    #$F,d0
  770.     mulu.w    d0,d2
  771.     lsr.w    #7,d2
  772.     move.w    $10(a6),d0
  773.     tst.b    $1B(a6)
  774.     bmi.s    MT_VIBRATONEG
  775.     add.w    d2,d0
  776.     bra.s    MT_VIBRATO3
  777. MT_VIBRATONEG
  778.     sub.w    d2,d0
  779. MT_VIBRATO3
  780.     move.w    d0,6(a5)
  781.     move.b    $1A(a6),d0
  782.     lsr.w    #2,d0
  783.     andi.w    #$3C,d0
  784.     add.b    d0,$1B(a6)
  785.     rts
  786. MT_TONEPLUSVOLSLIDE
  787.     bsr    MT_TONEPORTNOCHANGE
  788.     bra    MT_VOLUMESLIDE
  789. MT_VIBRATOPLUSVOLSLIDE
  790.     bsr.s    MT_VIBRATO2
  791.     bra    MT_VOLUMESLIDE
  792. MT_TREMOLO
  793.     move.b    3(a6),d0
  794.     beq.s    MT_TREMOLO2
  795.     move.b    $1C(a6),d2
  796.     andi.b    #$F,d0
  797.     beq.s    MT_TRESKIP2
  798.     andi.b    #$F0,d2
  799.     or.b    d0,d2
  800. MT_TRESKIP2
  801.     move.b    3(a6),d0
  802.     andi.b    #$F0,d0
  803.     beq.s    MT_TRESKIP3
  804.     andi.b    #$F,d2
  805.     or.b    d0,d2
  806. MT_TRESKIP3
  807.     move.b    d2,$1C(a6)
  808. MT_TREMOLO2
  809.     move.b    $1D(a6),d0
  810.     lea    MT_VIBRATOTABLE(pc),a4
  811.     lsr.w    #2,d0
  812.     andi.w    #$1F,d0
  813.     moveq    #0,d2
  814.     move.b    $1E(a6),d2
  815.     lsr.b    #4,d2
  816.     andi.b    #3,d2
  817.     beq.s    MT_TRE_SINE
  818.     lsl.b    #3,d0
  819.     cmp.b    #1,d2
  820.     beq.s    MT_TRE_RAMPDOWN
  821.     move.b    #$FF,d2
  822.     bra.s    MT_TRE_SET
  823. MT_TRE_RAMPDOWN
  824.     tst.b    $1B(a6)
  825.     bpl.s    MT_TRE_RAMPDOWN2
  826.     move.b    #$FF,d2
  827.     sub.b    d0,d2
  828.     bra.s    MT_TRE_SET
  829. MT_TRE_RAMPDOWN2
  830.     move.b    d0,d2
  831.     bra.s    MT_TRE_SET
  832. MT_TRE_SINE
  833.     move.b    0(a4,d0.w),d2
  834. MT_TRE_SET
  835.     move.b    $1C(a6),d0
  836.     andi.w    #$F,d0
  837.     mulu.w    d0,d2
  838.     lsr.w    #6,d2
  839.     moveq    #0,d0
  840.     move.b    $13(a6),d0
  841.     tst.b    $1D(a6)
  842.     bpl.s    MT_TREMOLOPLUS
  843.     neg    d2
  844. MT_TREMOLOPLUS
  845.     add.w    d2,d0
  846. MT_TREMOLO3
  847.     bpl.s    MT_TREMOLOSKIP
  848.     clr.w    d0
  849. MT_TREMOLOSKIP
  850.     cmp.w    #$40,d0
  851.     bls.s    MT_TREMOLOOK
  852.     move.w    #$40,d0
  853. MT_TREMOLOOK
  854.     move.w    d0,8(a5)
  855.     move.b    $1C(a6),d0
  856.     lsr.w    #2,d0
  857.     andi.w    #$3C,d0
  858.     add.b    d0,$1D(a6)
  859.     rts
  860. MT_SAMPLEOFFSET
  861.     moveq    #0,d0
  862.     move.b    3(a6),d0
  863.     beq.s    MT_SONONEW
  864.     move.b    d0,$20(a6)
  865. MT_SONONEW
  866.     move.b    $20(a6),d0
  867.     lsl.w    #7,d0
  868.     cmp.w    8(a6),d0
  869.     bge.s    MT_SOFSKIP
  870.     sub.w    d0,8(a6)
  871.     lsl.w    #1,d0
  872.     add.l    d0,4(a6)
  873.     rts
  874. MT_SOFSKIP
  875.     move.w    #1,8(a6)
  876.     rts
  877. MT_VOLUMESLIDE
  878.     moveq    #0,d0
  879.     move.b    3(a6),d0
  880.     lsr.b    #4,d0
  881.     tst.b    d0
  882.     beq.s    MT_VOLSLIDEDOWN
  883. MT_VOLSLIDEUP
  884.     add.b    d0,$13(a6)
  885.     cmpi.b    #$40,$13(a6)
  886.     bmi.s    MT_VSUSKIP
  887.     move.b    #$40,$13(a6)
  888. MT_VSUSKIP
  889.     move.b    $13(a6),d0
  890.     move.w    d0,8(a5)
  891.     rts
  892. MT_VOLSLIDEDOWN
  893.     moveq    #0,d0
  894.     move.b    3(a6),d0
  895.     andi.b    #$F,d0
  896. MT_VOLSLIDEDOWN2
  897.     sub.b    d0,$13(a6)
  898.     bpl.s    MT_VSDSKIP
  899.     clr.b    $13(a6)
  900. MT_VSDSKIP
  901.     move.b    $13(a6),d0
  902.     move.w    d0,8(a5)
  903.     rts
  904. MT_POSITIONJUMP
  905.     move.b    3(a6),d0
  906.     subq.b    #1,d0
  907.     move.b    d0,MT_SONGPOS
  908. MT_PJ2    clr.b    MT_PBREAKPOS
  909.     st    MT_POSJUMPFLAG
  910.     rts
  911. MT_VOLUMECHANGE
  912.     moveq    #0,d0
  913.     move.b    3(a6),d0
  914.     cmp.b    #$40,d0
  915.     bls.s    MT_VOLUMEOK
  916.     moveq    #$40,d0
  917. MT_VOLUMEOK
  918.     move.b    d0,$13(a6)
  919.     move.w    d0,8(a5)
  920.     rts
  921. MT_PATTERNBREAK
  922.     moveq    #0,d0
  923.     move.b    3(a6),d0
  924.     move.l    d0,d2
  925.     lsr.b    #4,d0
  926.     mulu.w    #$A,d0
  927.     andi.b    #$F,d2
  928.     add.b    d2,d0
  929.     cmp.b    #$3F,d0
  930.     bhi.s    MT_PJ2
  931.     move.b    d0,MT_PBREAKPOS
  932.     st    MT_POSJUMPFLAG
  933.     rts
  934. MT_SETSPEED
  935.     move.b    3(a6),d0
  936.     beq    .MT_RTS
  937.     clr.b    MT_COUNTER
  938.     move.b    d0,MT_SPEED
  939. .MT_RTS    rts
  940. MT_CHECKMOREEFX
  941.     bsr    MT_UPDATEFUNK
  942.     move.b    2(a6),d0
  943.     andi.b    #$F,d0
  944.     cmp.b    #9,d0
  945.     beq    MT_SAMPLEOFFSET
  946.     cmp.b    #$B,d0
  947.     beq    MT_POSITIONJUMP
  948.     cmp.b    #$D,d0
  949.     beq.s    MT_PATTERNBREAK
  950.     cmp.b    #$E,d0
  951.     beq.s    MT_E_COMMANDS
  952.     cmp.b    #$F,d0
  953.     beq.s    MT_SETSPEED
  954.     cmp.b    #$C,d0
  955.     beq    MT_VOLUMECHANGE
  956.     bra    MT_PERNOP
  957. MT_E_COMMANDS
  958.     move.b    3(a6),d0
  959.     andi.b    #$F0,d0
  960.     lsr.b    #4,d0
  961.     beq.s    MT_FILTERONOFF
  962.     cmp.b    #1,d0
  963.     beq    MT_FINEPORTAUP
  964.     cmp.b    #2,d0
  965.     beq    MT_FINEPORTADOWN
  966.     cmp.b    #3,d0
  967.     beq.s    MT_SETGLISSCONTROL
  968.     cmp.b    #4,d0
  969.     beq    MT_SETVIBRATOCONTROL
  970.     cmp.b    #5,d0
  971.     beq    MT_SETFINETUNE
  972.     cmp.b    #6,d0
  973.     beq    MT_JUMPLOOP
  974.     cmp.b    #7,d0
  975.     beq    MT_SETTREMOLOCONTROL
  976.     cmp.b    #9,d0
  977.     beq    MT_RETRIGNOTE
  978.     cmp.b    #$A,d0
  979.     beq    MT_VOLUMEFINEUP
  980.     cmp.b    #$B,d0
  981.     beq    MT_VOLUMEFINEDOWN
  982.     cmp.b    #$C,d0
  983.     beq    MT_NOTECUT
  984.     cmp.b    #$D,d0
  985.     beq    MT_NOTEDELAY
  986.     cmp.b    #$E,d0
  987.     beq    MT_PATTERNDELAY
  988.     cmp.b    #$F,d0
  989.     beq    MT_FUNKIT
  990.     rts
  991. MT_FILTERONOFF
  992.     move.b    3(a6),d0
  993.     andi.b    #1,d0
  994.     asl.b    #1,d0
  995.     andi.b    #$FD,SHFILTER
  996.     or.b    d0,SHFILTER
  997. MT_E_SK    rts
  998. MT_SETGLISSCONTROL
  999.     move.b    3(a6),d0
  1000.     andi.b    #$F,d0
  1001.     andi.b    #$F0,$1F(a6)
  1002.     or.b    d0,$1F(a6)
  1003.     rts
  1004. MT_SETVIBRATOCONTROL
  1005.     move.b    3(a6),d0
  1006.     andi.b    #$F,d0
  1007.     andi.b    #$F0,$1E(a6)
  1008.     or.b    d0,$1E(a6)
  1009.     rts
  1010. MT_SETFINETUNE
  1011.     move.b    3(a6),d0
  1012.     andi.b    #$F,d0
  1013.     move.b    d0,$12(a6)
  1014.     rts
  1015. MT_JUMPLOOP
  1016.     tst.b    MT_COUNTER
  1017.     bne    MT_RETURN2
  1018.     move.b    3(a6),d0
  1019.     andi.b    #$F,d0
  1020.     beq.s    MT_SETLOOP
  1021.     tst.b    $22(a6)
  1022.     beq.s    MT_JUMPCUT
  1023.     subq.b    #1,$22(a6)
  1024.     beq    MT_ERW2
  1025. MT_JMPLOOP
  1026.     move.b    $21(a6),MT_PBREAKPOS
  1027.     st    MT_PBREAKPOS
  1028. MT_ERW2    rts
  1029. MT_JUMPCUT
  1030.     move.b    d0,$22(a6)
  1031.     bra.s    MT_JMPLOOP
  1032. MT_SETLOOP
  1033.     move.w    MT_PATTERNPOS(pc),d0
  1034.     lsr.w    #4,d0
  1035.     move.b    d0,$21(a6)
  1036.     rts
  1037. MT_SETTREMOLOCONTROL
  1038.     move.b    3(a6),d0
  1039.     andi.b    #$F,d0
  1040.     lsl.b    #4,d0
  1041.     andi.b    #$F,$1E(a6)
  1042.     or.b    d0,$1E(a6)
  1043.     rts
  1044. MT_RETRIGNOTE
  1045.     move.l    d1,-(a7)
  1046.     moveq    #0,d0
  1047.     move.b    3(a6),d0
  1048.     andi.b    #$F,d0
  1049.     beq.s    MT_RTNEND
  1050.     moveq    #0,d1
  1051.     move.b    MT_COUNTER(pc),d1
  1052.     bne.s    MT_RTNSKP
  1053.     move.w    (a6),d1
  1054.     andi.w    #$FFF,d1
  1055.     bne.s    MT_RTNEND
  1056.     moveq    #0,d1
  1057.     move.b    MT_COUNTER(pc),d1
  1058. MT_RTNSKP
  1059.     divu.w    d0,d1
  1060.     swap    d1
  1061.     tst.w    d1
  1062.     bne.s    MT_RTNEND
  1063. MT_DORETRIG
  1064.     move.w    $14(a6),DMACTRL
  1065.     move.l    4(a6),(a5)
  1066.     move.w    8(a6),4(a5)
  1067.     move.w    $14(a6),d0
  1068.     bset    #$F,d0
  1069.     move.w    d0,DMACTRL
  1070.     move.l    $A(a6),(a5)
  1071.     move.l    $E(a6),4(a5)
  1072. MT_RTNEND    move.l    (a7)+,d1
  1073.     rts
  1074. MT_VOLUMEFINEUP
  1075.     tst.b    MT_COUNTER
  1076.     bne.s    MT_WER2
  1077.     moveq    #0,d0
  1078.     move.b    3(a6),d0
  1079.     andi.b    #$F,d0
  1080.     bra    MT_VOLSLIDEUP
  1081. MT_VOLUMEFINEDOWN
  1082.     tst.b    MT_COUNTER
  1083.     bne.s    MT_WER2
  1084.     moveq    #0,d0
  1085.     move.b    3(a6),d0
  1086.     andi.b    #$F,d0
  1087.     bra    MT_VOLSLIDEDOWN2
  1088. MT_NOTECUT
  1089.     moveq    #0,d0
  1090.     move.b    3(a6),d0
  1091.     andi.b    #$F,d0
  1092.     cmp.b    MT_COUNTER(pc),d0
  1093.     bne    MT_REQ2
  1094.     clr.b    $13(a6)
  1095.     move.w    #0,8(a5)
  1096. MT_WER2    rts
  1097. MT_NOTEDELAY
  1098.     moveq    #0,d0
  1099.     move.b    3(a6),d0
  1100.     andi.b    #$F,d0
  1101.     cmp.b    MT_COUNTER,d0
  1102.     bne    MT_REQ2
  1103.     move.w    (a6),d0
  1104.     beq    MT_REQ2
  1105.     move.l    d1,-(a7)
  1106.     bra    MT_DORETRIG
  1107. MT_PATTERNDELAY
  1108.     tst.b    MT_COUNTER
  1109.     bne    MT_RETURN2
  1110.     moveq    #0,d0
  1111.     move.b    3(a6),d0
  1112.     andi.b    #$F,d0
  1113.     tst.b    MT_PATTDELTIME2
  1114.     bne    MT_RETURN2
  1115.     addq.b    #1,d0
  1116.     move.b    d0,MT_PATTDELTIME
  1117. MT_REQ2    rts
  1118. MT_FUNKIT
  1119.     tst.b    MT_COUNTER
  1120.     bne.s    MT_REQ2
  1121.     move.b    3(a6),d0
  1122.     andi.b    #$F,d0
  1123.     lsl.b    #4,d0
  1124.     andi.b    #$F,$1F(a6)
  1125.     or.b    d0,$1F(a6)
  1126.     tst.b    d0
  1127.     beq.s    MT_REQ2
  1128. MT_UPDATEFUNK
  1129.     movem.l    d1/a0,-(a7)
  1130.     moveq    #0,d0
  1131.     move.b    $1F(a6),d0
  1132.     lsr.b    #4,d0
  1133.     beq.s    MT_FUNKEND
  1134.     lea    MT_FUNKTABLE(pc),a0
  1135.     move.b    0(a0,d0.w),d0
  1136.     add.b    d0,$23(a6)
  1137.     btst    #7,$23(a6)
  1138.     beq.s    MT_FUNKEND
  1139.     clr.b    $23(a6)
  1140.     move.l    $A(a6),d0
  1141.     moveq    #0,d1
  1142.     move.w    $E(a6),d1
  1143.     add.l    d1,d0
  1144.     add.l    d1,d0
  1145.     movea.l    $24(a6),a0
  1146.     addq.l    #1,a0
  1147.     cmpa.l    d0,a0
  1148.     blo.s    MT_FUNKOK
  1149.     movea.l    $A(a6),a0
  1150. MT_FUNKOK
  1151.     move.l    a0,$24(a6)
  1152.     moveq    #-1,d0
  1153.     sub.b    (a0),d0
  1154.     move.b    d0,(a0)
  1155. MT_FUNKEND
  1156.     movem.l    (a7)+,d1/a0
  1157.     rts
  1158. MT_FUNKTABLE
  1159.     DC.B    0,5,6,7,8,$A,$B,$D
  1160.     DC.B    $10,$13,$16,$1A,$20,$2B,$40,$80
  1161. MT_VIBRATOTABLE
  1162.     DC.B    0,$18,$31,$4A,$61,$78,$8D,$A1
  1163.     DC.B    $B4,$C5,$D4,$E0,$EB,$F4,$FA,$FD
  1164.     DC.B    $FF,$FD,$FA,$F4,$EB,$E0,$D4,$C5
  1165.     DC.B    $B4,$A1,$8D,$78,$61,$4A,$31,$18
  1166. MT_PERIODTABLE
  1167.     DC.B    3,$58,3,$28,2,$FA,2,$D0
  1168.     DC.B    2,$A6,2,$80,2,$5C,2,$3A
  1169.     DC.B    2,$1A,1,$FC,1,$E0,1,$C5
  1170.     DC.B    1,$AC,1,$94,1,$7D,1,$68
  1171.     DC.B    1,$53,1,$40,1,$2E,1,$1D
  1172.     DC.B    1,$D,0,$FE,0,$F0,0,$E2
  1173.     DC.B    0,$D6,0,$CA,0,$BE,0,$B4
  1174.     DC.B    0,$AA,0,$A0,0,$97,0,$8F
  1175.     DC.B    0,$87,0,$7F,0,$78,0,$71
  1176.     DC.B    3,$52,3,$22,2,$F5,2,$CB
  1177.     DC.B    2,$A2,2,$7D,2,$59,2,$37
  1178.     DC.B    2,$17,1,$F9,1,$DD,1,$C2
  1179.     DC.B    1,$A9,1,$91,1,$7B,1,$65
  1180.     DC.B    1,$51,1,$3E,1,$2C,1,$1C
  1181.     DC.B    1,$C,0,$FD,0,$EF,0,$E1
  1182.     DC.B    0,$D5,0,$C9,0,$BD,0,$B3
  1183.     DC.B    0,$A9,0,$9F,0,$96,0,$8E
  1184.     DC.B    0,$86,0,$7E,0,$77,0,$71
  1185.     DC.B    3,$4C,3,$1C,2,$F0,2,$C5
  1186.     DC.B    2,$9E,2,$78,2,$55,2,$33
  1187.     DC.B    2,$14,1,$F6,1,$DA,1,$BF
  1188.     DC.B    1,$A6,1,$8E,1,$78,1,$63
  1189.     DC.B    1,$4F,1,$3C,1,$2A,1,$1A
  1190.     DC.B    1,$A,0,$FB,0,$ED,0,$E0
  1191.     DC.B    0,$D3,0,$C7,0,$BC,0,$B1
  1192.     DC.B    0,$A7,0,$9E,0,$95,0,$8D
  1193.     DC.B    0,$85,0,$7D,0,$76,0,$70
  1194.     DC.B    3,$46,3,$17,2,$EA,2,$C0
  1195.     DC.B    2,$99,2,$74,2,$50,2,$2F
  1196.     DC.B    2,$10,1,$F2,1,$D6,1,$BC
  1197.     DC.B    1,$A3,1,$8B,1,$75,1,$60
  1198.     DC.B    1,$4C,1,$3A,1,$28,1,$18
  1199.     DC.B    1,8,0,$F9,0,$EB,0,$DE
  1200.     DC.B    0,$D1,0,$C6,0,$BB,0,$B0
  1201.     DC.B    0,$A6,0,$9D,0,$94,0,$8C
  1202.     DC.B    0,$84,0,$7D,0,$76,0,$6F
  1203.     DC.B    3,$40,3,$11,2,$E5,2,$BB
  1204.     DC.B    2,$94,2,$6F,2,$4C,2,$2B
  1205.     DC.B    2,$C,1,$EF,1,$D3,1,$B9
  1206.     DC.B    1,$A0,1,$88,1,$72,1,$5E
  1207.     DC.B    1,$4A,1,$38,1,$26,1,$16
  1208.     DC.B    1,6,0,$F7,0,$E9,0,$DC
  1209.     DC.B    0,$D0,0,$C4,0,$B9,0,$AF
  1210.     DC.B    0,$A5,0,$9C,0,$93,0,$8B
  1211.     DC.B    0,$83,0,$7C,0,$75,0,$6E
  1212.     DC.B    3,$3A,3,$B,2,$E0,2,$B6
  1213.     DC.B    2,$8F,2,$6B,2,$48,2,$27
  1214.     DC.B    2,8,1,$EB,1,$CF,1,$B5
  1215.     DC.B    1,$9D,1,$86,1,$70,1,$5B
  1216.     DC.B    1,$48,1,$35,1,$24,1,$14
  1217.     DC.B    1,4,0,$F5,0,$E8,0,$DB
  1218.     DC.B    0,$CE,0,$C3,0,$B8,0,$AE
  1219.     DC.B    0,$A4,0,$9B,0,$92,0,$8A
  1220.     DC.B    0,$82,0,$7B,0,$74,0,$6D
  1221.     DC.B    3,$34,3,6,2,$DA,2,$B1
  1222.     DC.B    2,$8B,2,$66,2,$44,2,$23
  1223.     DC.B    2,4,1,$E7,1,$CC,1,$B2
  1224.     DC.B    1,$9A,1,$83,1,$6D,1,$59
  1225.     DC.B    1,$45,1,$33,1,$22,1,$12
  1226.     DC.B    1,2,0,$F4,0,$E6,0,$D9
  1227.     DC.B    0,$CD,0,$C1,0,$B7,0,$AC
  1228.     DC.B    0,$A3,0,$9A,0,$91,0,$89
  1229.     DC.B    0,$81,0,$7A,0,$73,0,$6D
  1230.     DC.B    3,$2E,3,0,2,$D5,2,$AC
  1231.     DC.B    2,$86,2,$62,2,$3F,2,$1F
  1232.     DC.B    2,1,1,$E4,1,$C9,1,$AF
  1233.     DC.B    1,$97,1,$80,1,$6B,1,$56
  1234.     DC.B    1,$43,1,$31,1,$20,1,$10
  1235.     DC.B    1,0,0,$F2,0,$E4,0,$D8
  1236.     DC.B    0,$CC,0,$C0,0,$B5,0,$AB
  1237.     DC.B    0,$A1,0,$98,0,$90,0,$88
  1238.     DC.B    0,$80,0,$79,0,$72,0,$6C
  1239.     DC.B    3,$8B,3,$58,3,$28,2,$FA
  1240.     DC.B    2,$D0,2,$A6,2,$80,2,$5C
  1241.     DC.B    2,$3A,2,$1A,1,$FC,1,$E0
  1242.     DC.B    1,$C5,1,$AC,1,$94,1,$7D
  1243.     DC.B    1,$68,1,$53,1,$40,1,$2E
  1244.     DC.B    1,$1D,1,$D,0,$FE,0,$F0
  1245.     DC.B    0,$E2,0,$D6,0,$CA,0,$BE
  1246.     DC.B    0,$B4,0,$AA,0,$A0,0,$97
  1247.     DC.B    0,$8F,0,$87,0,$7F,0,$78
  1248.     DC.B    3,$84,3,$52,3,$22,2,$F5
  1249.     DC.B    2,$CB,2,$A3,2,$7C,2,$59
  1250.     DC.B    2,$37,2,$17,1,$F9,1,$DD
  1251.     DC.B    1,$C2,1,$A9,1,$91,1,$7B
  1252.     DC.B    1,$65,1,$51,1,$3E,1,$2C
  1253.     DC.B    1,$1C,1,$C,0,$FD,0,$EE
  1254.     DC.B    0,$E1,0,$D4,0,$C8,0,$BD
  1255.     DC.B    0,$B3,0,$A9,0,$9F,0,$96
  1256.     DC.B    0,$8E,0,$86,0,$7E,0,$77
  1257.     DC.B    3,$7E,3,$4C,3,$1C,2,$F0
  1258.     DC.B    2,$C5,2,$9E,2,$78,2,$55
  1259.     DC.B    2,$33,2,$14,1,$F6,1,$DA
  1260.     DC.B    1,$BF,1,$A6,1,$8E,1,$78
  1261.     DC.B    1,$63,1,$4F,1,$3C,1,$2A
  1262.     DC.B    1,$1A,1,$A,0,$FB,0,$ED
  1263.     DC.B    0,$DF,0,$D3,0,$C7,0,$BC
  1264.     DC.B    0,$B1,0,$A7,0,$9E,0,$95
  1265.     DC.B    0,$8D,0,$85,0,$7D,0,$76
  1266.     DC.B    3,$77,3,$46,3,$17,2,$EA
  1267.     DC.B    2,$C0,2,$99,2,$74,2,$50
  1268.     DC.B    2,$2F,2,$10,1,$F2,1,$D6
  1269.     DC.B    1,$BC,1,$A3,1,$8B,1,$75
  1270.     DC.B    1,$60,1,$4C,1,$3A,1,$28
  1271.     DC.B    1,$18,1,8,0,$F9,0,$EB
  1272.     DC.B    0,$DE,0,$D1,0,$C6,0,$BB
  1273.     DC.B    0,$B0,0,$A6,0,$9D,0,$94
  1274.     DC.B    0,$8C,0,$84,0,$7D,0,$76
  1275.     DC.B    3,$71,3,$40,3,$11,2,$E5
  1276.     DC.B    2,$BB,2,$94,2,$6F,2,$4C
  1277.     DC.B    2,$2B,2,$C,1,$EE,1,$D3
  1278.     DC.B    1,$B9,1,$A0,1,$88,1,$72
  1279.     DC.B    1,$5E,1,$4A,1,$38,1,$26
  1280.     DC.B    1,$16,1,6,0,$F7,0,$E9
  1281.     DC.B    0,$DC,0,$D0,0,$C4,0,$B9
  1282.     DC.B    0,$AF,0,$A5,0,$9C,0,$93
  1283.     DC.B    0,$8B,0,$83,0,$7B,0,$75
  1284.     DC.B    3,$6B,3,$3A,3,$B,2,$E0
  1285.     DC.B    2,$B6,2,$8F,2,$6B,2,$48
  1286.     DC.B    2,$27,2,8,1,$EB,1,$CF
  1287.     DC.B    1,$B5,1,$9D,1,$86,1,$70
  1288.     DC.B    1,$5B,1,$48,1,$35,1,$24
  1289.     DC.B    1,$14,1,4,0,$F5,0,$E8
  1290.     DC.B    0,$DB,0,$CE,0,$C3,0,$B8
  1291.     DC.B    0,$AE,0,$A4,0,$9B,0,$92
  1292.     DC.B    0,$8A,0,$82,0,$7B,0,$74
  1293.     DC.B    3,$64,3,$34,3,6,2,$DA
  1294.     DC.B    2,$B1,2,$8B,2,$66,2,$44
  1295.     DC.B    2,$23,2,4,1,$E7,1,$CC
  1296.     DC.B    1,$B2,1,$9A,1,$83,1,$6D
  1297.     DC.B    1,$59,1,$45,1,$33,1,$22
  1298.     DC.B    1,$12,1,2,0,$F4,0,$E6
  1299.     DC.B    0,$D9,0,$CD,0,$C1,0,$B7
  1300.     DC.B    0,$AC,0,$A3,0,$9A,0,$91
  1301.     DC.B    0,$89,0,$81,0,$7A,0,$73
  1302.     DC.B    3,$5E,3,$2E,3,0,2,$D5
  1303.     DC.B    2,$AC,2,$86,2,$62,2,$3F
  1304.     DC.B    2,$1F,2,1,1,$E4,1,$C9
  1305.     DC.B    1,$AF,1,$97,1,$80,1,$6B
  1306.     DC.B    1,$56,1,$43,1,$31,1,$20
  1307.     DC.B    1,$10,1,0,0,$F2,0,$E4
  1308.     DC.B    0,$D8,0,$CB,0,$C0,0,$B5
  1309.     DC.B    0,$AB,0,$A1,0,$98,0,$90
  1310.     DC.B    0,$88,0,$80,0,$79,0,$72
  1311.  
  1312. MT_CHAN1    dc.l    0,0,0,0,0,$00010000,0,0,0,0,0
  1313. MT_CHAN2    dc.l    0,0,0,0,0,$00020000,0,0,0,0,0
  1314. MT_CHAN3    dc.l    0,0,0,0,0,$00040000,0,0,0,0,0
  1315. MT_CHAN4    dc.l    0,0,0,0,0,$00080000,0,0,0,0,0
  1316. MT_SAMPLESTARTS    
  1317.     DC.L    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1318.     DC.L    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1319.     
  1320. MT_SONGDATAPOS    DC.L    0
  1321. MT_SPEED    DC.B    6
  1322. MT_COUNTER    DC.B    0
  1323. MT_SONGPOS    DC.B    0
  1324. MT_PBREAKPOS    DC.B    0
  1325. MT_POSJUMPFLAG    DC.B    0
  1326. MT_PBREAKFLAG    DC.B    0
  1327. MT_LOWMASK    DC.B    0
  1328. MT_PATTDELTIME    DC.B    0
  1329. MT_PATTDELTIME2    DC.B    0,0
  1330. MT_PATTERNPOS    DC.W    0
  1331. MT_DMACONTEMP    DC.W    0
  1332. CH1S    DC.B    0,$21,$68,$2C
  1333. GRF1LEN    DC.B    0,0,0,0
  1334. GRF1RPT    DC.B    0,0,0,0
  1335. GRF1FLAG    DC.B    0,0
  1336. CH1T    DC.B    0,$21,$68,$2C
  1337. AUD1LEN    DC.B    0,8
  1338. AUD1PER    DC.B    $1F,$40
  1339. AUD1VOL    DC.B    0,0,0,0,0,0,0,0
  1340. CH2S    DC.B    0,$21,$68,$2C
  1341. GRF2LEN    DC.B    0,0,0,8
  1342. GRF2RPT    DC.B    0,0,0,0
  1343. GRF2FLAG    DC.B    0,0
  1344. CH2T    DC.B    0,$21,$68,$2C
  1345. AUD2LEN    DC.B    0,0
  1346. AUD2PER    DC.B    $1F,$40
  1347. AUD2VOL    DC.B    0,0,0,0,0,0,0,0
  1348. CH3S    DC.B    0,$21,$68,$2C
  1349. GRF3LEN    DC.B    0,0,0,8
  1350. GRF3RPT    DC.B    0,0,0,0
  1351. GRF3FLAG    DC.B    0,0
  1352. CH3T    DC.B    0,$21,$68,$2C
  1353. AUD3LEN    DC.B    0,0
  1354. AUD3PER    DC.B    $1F,$40
  1355. AUD3VOL    DC.B    0,0,0,0,0,0,0,0
  1356. CH4S    DC.B    0,$21,$68,$2C
  1357. GRF4LEN    DC.B    0,0,0,8
  1358. GRF4RPT    DC.B    0,0,0,0
  1359. GRF4FLAG    DC.B    0,0
  1360. CH4T    DC.B    0,$21,$68,$2C
  1361. AUD4LEN    DC.B    0,8
  1362. AUD4PER    DC.B    $1F,$40
  1363. AUD4VOL    DC.B    0,0,0,0,0,0,0,0
  1364. SHFILTER    DC.w    0
  1365. DMACTRL    DC.W    0
  1366.  
  1367. DSPPROG    DC.B    $A,$F0,$80,0,0,$40,0,0
  1368.     DC.B    0,0,0,0,0,0,0,0
  1369.     DC.B    0,0,0,0,0,0,0,0
  1370.     DC.B    0,0,0,0,0,0,0,0
  1371.     DC.B    0,0,0,0,0,0,0,0
  1372.     DC.B    0,0,0,0,0,0,0,0
  1373.     DC.B    $B,$F0,$80,0,1,$B3,0,0
  1374.     DC.B    0,0,0,0,0,0,0,0
  1375.     DC.B    0,0,0,0,0,0,0,0
  1376.     DC.B    0,0,0,0,0,0,0,0
  1377.     DC.B    0,0,0,0,0,0,0,0
  1378.     DC.B    0,0,0,0,0,0,0,0
  1379.     DC.B    0,0,0,0,0,0,0,0
  1380.     DC.B    0,0,0,0,0,0,0,0
  1381.     DC.B    0,0,0,0,0,0,0,0
  1382.     DC.B    0,0,0,0,0,0,0,0
  1383.     DC.B    0,0,0,0,0,0,0,0
  1384.     DC.B    0,0,0,0,0,0,0,0
  1385.     DC.B    0,0,0,0,0,0,0,0
  1386.     DC.B    0,0,0,0,0,0,0,0
  1387.     DC.B    0,0,0,0,0,0,0,0
  1388.     DC.B    0,0,0,0,0,0,0,0
  1389.     DC.B    0,0,0,0,0,0,0,0
  1390.     DC.B    0,0,0,0,0,0,0,0
  1391.     DC.B    8,$F4,$BE,0,0,0,8,$F4
  1392.     DC.B    $A0,0,0,1,$66,$F4,0,0
  1393.     DC.B    $10,0,5,$F4,$26,0,$13,$FF
  1394.     DC.B    $67,$F4,0,0,$10,$64,4,$67
  1395.     DC.B    $A6,$20,0,$1B,$70,$F4,0,0
  1396.     DC.B    $14,0,6,$D8,0,0,0,$50
  1397.     DC.B    $5F,$5E,0,$20,0,$13,$56,$70
  1398.     DC.B    0,0,0,6,$56,$70,0,0
  1399.     DC.B    0,5,$56,$70,0,0,0,$D
  1400.     DC.B    $56,$70,0,0,0,$C,$56,$70
  1401.     DC.B    0,0,0,$14,$56,$70,0,0
  1402.     DC.B    0,$13,$56,$70,0,0,0,$1B
  1403.     DC.B    $56,$70,0,0,0,$1A,$56,$F4
  1404.     DC.B    0,0,0,0,$57,$F4,0,0
  1405.     DC.B    0,0,$56,$70,0,0,0,1
  1406.     DC.B    $57,$70,0,0,0,2,$57,$70
  1407.     DC.B    0,0,0,8,$56,$70,0,0
  1408.     DC.B    0,9,$57,$70,0,0,0,$F
  1409.     DC.B    $56,$70,0,0,0,$10,$56,$70
  1410.     DC.B    0,0,0,$16,$57,$70,0,0
  1411.     DC.B    0,$17,8,$F4,$BF,0,$30,0
  1412.     DC.B    8,$F4,$AC,0,$41,0,8,$F4
  1413.     DC.B    $AD,0,$58,0,8,$F4,$A1,0
  1414.     DC.B    1,$F0,8,$F4,$A3,0,0,8
  1415.     DC.B    0,$FC,$B8,$A,$A9,$80,0,0
  1416.     DC.B    $81,8,$45,$2B,$22,$ED,0,$A
  1417.     DC.B    $CD,$20,0,0,$84,$22,$C4,0
  1418.     DC.B    $20,0,$4C,$A,$F0,$A3,0,0
  1419.     DC.B    $8E,$44,$F4,0,0,$14,0,$20
  1420.     DC.B    0,$48,$20,0,$2A,$57,$70,0
  1421.     DC.B    0,0,$1C,$22,$D5,0,$60,$F4
  1422.     DC.B    0,0,3,0,$61,$F4,0,0
  1423.     DC.B    0,3,$B,$F0,$80,0,1,$B5
  1424.     DC.B    $60,$F4,0,0,4,$7C,$61,$F4
  1425.     DC.B    0,0,0,$A,$B,$F0,$80,0
  1426.     DC.B    1,$B5,$60,$F4,0,0,5,$F8
  1427.     DC.B    $61,$F4,0,0,0,$11,$B,$F0
  1428.     DC.B    $80,0,1,$B5,$60,$F4,0,0
  1429.     DC.B    7,$74,$61,$F4,0,0,0,$18
  1430.     DC.B    $B,$F0,$80,0,1,$B5,$46,$F4
  1431.     DC.B    0,$78,0,0,$47,$F4,0,0
  1432.     DC.B    0,0,$44,$F0,0,0,0,3
  1433.     DC.B    $20,0,$D0,$56,$70,0,0,0
  1434.     DC.B    1,$20,0,$C0,$56,$70,0,0
  1435.     DC.B    0,2,$44,$F0,0,0,0,$A
  1436.     DC.B    $20,0,$D0,$56,$70,0,0,0
  1437.     DC.B    9,$20,0,$C0,$56,$70,0,0
  1438.     DC.B    0,8,$44,$F0,0,0,0,$11
  1439.     DC.B    $20,0,$D0,$56,$70,0,0,0
  1440.     DC.B    $10,$20,0,$C0,$56,$70,0,0
  1441.     DC.B    0,$F,$44,$F0,0,0,0,$18
  1442.     DC.B    $20,0,$D0,$56,$70,0,0,0
  1443.     DC.B    $16,$20,0,$C0,$56,$70,0,0
  1444.     DC.B    0,$17,$60,$F4,0,0,3,0
  1445.     DC.B    $B,$F0,$80,0,1,$CE,$60,$F4
  1446.     DC.B    0,0,8,$F0,$57,$F0,0,0
  1447.     DC.B    0,6,$44,$F0,0,0,0,4
  1448.     DC.B    $70,$F0,0,0,0,$1C,6,$D8
  1449.     DC.B    0,0,0,$FA,$20,0,$48,$A
  1450.     DC.B    $F0,$A5,0,0,$E1,$A,$CD,$57
  1451.     DC.B    $45,$D8,0,$45,$D8,0,$47,$D0
  1452.     DC.B    0,$46,$F0,0,0,0,1,$20
  1453.     DC.B    0,$E0,$21,$C5,0,$20,0,$B0
  1454.     DC.B    $21,$E6,$64,$21,$C7,0,$20,0
  1455.     DC.B    $B0,$20,0,$60,$21,$C5,0,$4D
  1456.     DC.B    $5E,0,$45,$D8,0,$47,$D0,0
  1457.     DC.B    $46,$F0,0,0,0,2,$20,0
  1458.     DC.B    $E0,$21,$C5,0,$20,0,$B0,$21
  1459.     DC.B    $E6,$64,$21,$C7,0,$20,0,$B0
  1460.     DC.B    $20,0,$60,$21,$C5,0,$4D,$5E
  1461.     DC.B    0,$57,$70,0,0,0,6,$22
  1462.     DC.B    $F,0,$44,$F4,0,0,8,$F0
  1463.     DC.B    $20,0,$4C,$57,$70,0,0,0
  1464.     DC.B    5,$60,$F4,0,0,4,$7C,$B
  1465.     DC.B    $F0,$80,0,1,$CE,$22,$B6,0
  1466.     DC.B    $60,$F4,0,0,8,$F0,$57,$F0
  1467.     DC.B    0,0,0,$D,$44,$F0,0,0
  1468.     DC.B    0,$B,$70,$F0,0,0,0,$1C
  1469.     DC.B    6,$D8,0,0,1,$34,$20,0
  1470.     DC.B    $48,$A,$F0,$A5,0,1,$17,$A
  1471.     DC.B    $CD,$57,$45,$D8,0,$45,$D8,0
  1472.     DC.B    $47,$D0,0,$46,$F0,0,0,0
  1473.     DC.B    8,$20,0,$E0,$21,$C5,0,$20
  1474.     DC.B    0,$B0,$21,$E6,$64,$21,$C7,0
  1475.     DC.B    $20,0,$B0,$20,0,$60,$21,$C5
  1476.     DC.B    0,$5E,$E6,0,$20,0,$60,$5E
  1477.     DC.B    $5E,0,$45,$D8,0,$47,$D0,0
  1478.     DC.B    $46,$F0,0,0,0,9,$20,0
  1479.     DC.B    $E0,$21,$C5,0,$20,0,$B0,$21
  1480.     DC.B    $E6,$64,$21,$C7,0,$20,0,$B0
  1481.     DC.B    $20,0,$60,$21,$C5,0,$5E,$E6
  1482.     DC.B    0,$20,0,$60,$5E,$5E,0,$57
  1483.     DC.B    $70,0,0,0,$D,$22,$F,0
  1484.     DC.B    $44,$F4,0,0,8,$F0,$20,0
  1485.     DC.B    $4C,$57,$70,0,0,0,$C,$60
  1486.     DC.B    $F4,0,0,5,$F8,$B,$F0,$80
  1487.     DC.B    0,1,$CE,$22,$B6,0,$60,$F4
  1488.     DC.B    0,0,8,$F0,$57,$F0,0,0
  1489.     DC.B    0,$14,$44,$F0,0,0,0,$12
  1490.     DC.B    $70,$F0,0,0,0,$1C,6,$D8
  1491.     DC.B    0,0,1,$6E,$20,0,$48,$A
  1492.     DC.B    $F0,$A5,0,1,$51,$A,$CD,$57
  1493.     DC.B    $45,$D8,0,$45,$D8,0,$47,$D0
  1494.     DC.B    0,$46,$F0,0,0,0,$F,$20
  1495.     DC.B    0,$E0,$21,$C5,0,$20,0,$B0
  1496.     DC.B    $21,$E6,$64,$21,$C7,0,$20,0
  1497.     DC.B    $B0,$20,0,$60,$21,$C5,0,$5E
  1498.     DC.B    $E6,0,$20,0,$60,$5E,$5E,0
  1499.     DC.B    $45,$D8,0,$47,$D0,0,$46,$F0
  1500.     DC.B    0,0,0,$10,$20,0,$E0,$21
  1501.     DC.B    $C5,0,$20,0,$B0,$21,$E6,$64
  1502.     DC.B    $21,$C7,0,$20,0,$B0,$20,0
  1503.     DC.B    $60,$21,$C5,0,$5E,$E6,0,$20
  1504.     DC.B    0,$60,$5E,$5E,0,$57,$70,0
  1505.     DC.B    0,0,$14,$22,$F,0,$44,$F4
  1506.     DC.B    0,0,8,$F0,$20,0,$4C,$57
  1507.     DC.B    $70,0,0,0,$13,$60,$F4,0
  1508.     DC.B    0,7,$74,$B,$F0,$80,0,1
  1509.     DC.B    $CE,$22,$B6,0,$60,$F4,0,0
  1510.     DC.B    8,$F0,$57,$F0,0,0,0,$1B
  1511.     DC.B    $44,$F0,0,0,0,$19,$70,$F0
  1512.     DC.B    0,0,0,$1C,6,$D8,0,0
  1513.     DC.B    1,$A8,$20,0,$48,$A,$F0,$A5
  1514.     DC.B    0,1,$8B,$A,$CD,$57,$45,$D8
  1515.     DC.B    0,$45,$D8,0,$47,$D0,0,$46
  1516.     DC.B    $F0,0,0,0,$16,$20,0,$E0
  1517.     DC.B    $21,$C5,0,$20,0,$B0,$21,$E6
  1518.     DC.B    $64,$21,$C7,0,$20,0,$B0,$20
  1519.     DC.B    0,$60,$21,$C5,0,$5E,$E6,0
  1520.     DC.B    $20,0,$60,$5E,$5E,0,$45,$D8
  1521.     DC.B    0,$47,$D0,0,$46,$F0,0,0
  1522.     DC.B    0,$17,$20,0,$E0,$21,$C5,0
  1523.     DC.B    $20,0,$B0,$21,$E6,$64,$21,$C7
  1524.     DC.B    0,$20,0,$B0,$20,0,$60,$21
  1525.     DC.B    $C5,0,$5E,$E6,0,$20,0,$60
  1526.     DC.B    $5E,$5E,0,$57,$70,0,0,0
  1527.     DC.B    $1B,$22,$F,0,$44,$F4,0,0
  1528.     DC.B    8,$F0,$20,0,$4C,$57,$70,0
  1529.     DC.B    0,0,$1A,$A,$F0,$80,0,0
  1530.     DC.B    $81,8,$DF,$EF,0,0,4,$A
  1531.     DC.B    $A9,$80,0,1,$B5,8,$59,$AB
  1532.     DC.B    $A,$A9,$80,0,1,$B8,8,$45
  1533.     DC.B    $2B,$45,$59,0,$44,$F0,0,0
  1534.     DC.B    0,$1C,$20,0,$A8,$A,$A9,$81
  1535.     DC.B    0,1,$BF,8,$E1,$AB,$A,$A9
  1536.     DC.B    $81,0,1,$C2,8,$CF,$2B,$A
  1537.     DC.B    $A9,$80,0,1,$C5,8,$44,$2B
  1538.     DC.B    6,$C4,0,0,1,$CC,$A,$A9
  1539.     DC.B    $80,0,1,$CA,8,$58,$AB,0
  1540.     DC.B    0,$C,$46,$F4,0,$FF,0,0
  1541.     DC.B    $61,$F4,0,0,8,$F0,6,$7C
  1542.     DC.B    $81,0,1,$E2,$57,$E0,0,$45
  1543.     DC.B    $F4,$5E,0,0,$80,$55,$59,0
  1544.     DC.B    $44,$E0,0,$20,0,$A8,$21,$2F
  1545.     DC.B    0,$45,$F4,$5E,0,$80,0,$55
  1546.     DC.B    $59,0,$44,$D8,0,$20,0,$A8
  1547.     DC.B    $21,$2F,0,$20,0,$5E,$55,$59
  1548.     DC.B    0,0,0,$C
  1549. MODULE
  1550.     incbin    "d:\music\modules\overload.mod"
  1551.     DS.B    $20000    
  1552. WORKSPC