home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 4: Demo 1 / almathera_demo1.bin / sourcecode / text5.s < prev    next >
Text File  |  1995-03-17  |  37KB  |  1,368 lines

  1.     opt    c-,d+
  2.     incdir    "df0:include/"
  3.     include graphics/gfx.i
  4.     include    graphics/rastport.i
  5.     include graphics/graphics_lib.i
  6.     include exec/memory.i
  7.     include    exec/exec_lib.i
  8.     include    hardware/custom.i
  9.  
  10. custom    equ    $dff000
  11.  
  12. memory    equ    MEMF_CHIP+MEMF_CLEAR
  13.     
  14.     lea    GFXLIB,a1
  15.     MOVEQ    #0,D0
  16.     CALLEXEC OPENLIBRARY
  17.     TST    D0
  18.     BEQ    ERROR
  19.     MOVE.L    D0,_GFXBASE
  20.     
  21.     MOVE.L    #MYPICCY,MEMORY_POINTER
  22.     LEA MYBITMAP,A0
  23.     MOVE.L    #$05,D0
  24.     MOVE.L    #352,D1
  25.     MOVE.L    #256,D2
  26.     CALLGRAF INITBITMAP
  27.     LEA    MYRASTPORT,A1
  28.     CALLGRAF INITRASTPORT
  29.     LEA    MYRASTPORT,A1
  30.     MOVE.L    #MYBITMAP,RP_BITMAP(A1)
  31.     MOVE.L    MEMORY_POINTER,D0
  32.     MOVE.L    D0,D1
  33.     ADD.L    #11264,D1
  34.     MOVE.L    D1,D2
  35.     ADD.L    #11264,D2
  36.     MOVE.L    D2,D3
  37.     add.l    #11264,D3
  38.     move.l    d3,d4
  39.     add.l    #11264,d4
  40.  
  41.  
  42.     
  43.  
  44.     LEA     MYBITMAP,A0
  45.     MOVE.L    D0,BM_PLANES(a0)
  46.     MOVE.L    D1,BM_PLANES+4(a0)
  47.     MOVE.L     D2,BM_PLANES+8(a0)
  48.     MOVE.L    D3,BM_PLANES+12(A0)
  49.     move.l    d4,BM_PLANES+16(a0)
  50.     MOVE.W    D0,PL0L
  51.     MOVE.W    D1,PL1L
  52.     MOVE.W    D2,PL2L
  53.     MOVE.W    D3,PL3L
  54.     move.w    d4,pl4l
  55.     SWAP    D0
  56.     SWAP    D1
  57.     SWAP    D2
  58.     SWAP    D3
  59.     swap    d4
  60.     MOVE.W    D0,PL0H
  61.     MOVE.W    D1,PL1H
  62.     MOVE.W    D2,PL2H
  63.     MOVE.W    D3,PL3H
  64.     move.w    d4,pl4h
  65.     swap    d0
  66.     swap    d1
  67.     swap    d2
  68.     swap    d3    
  69.         swap    d4
  70.     move.l    #9240,d5
  71.     add.l    d5,d0
  72.     add.l    d5,d1
  73.     add.l    d5,d2
  74.     add.l    d5,d3
  75.     aDD.L    d5,d4
  76.     MOVE.W    D0,zPL0L
  77.     MOVE.W    D1,zPL1L
  78.     MOVE.W    D2,zPL2L
  79.     MOVE.W    D3,zPL3L
  80.     move.w    d4,zpl4l
  81.     SWAP    D0
  82.     SWAP    D1
  83.     SWAP    D2
  84.     SWAP    D3
  85.     swap    d4
  86.     MOVE.W    D0,zPL0H
  87.     MOVE.W    D1,zPL1H
  88.     MOVE.W    D2,zPL2H
  89.     MOVE.W    D3,zPL3H
  90.     move.w    d4,zpl4h
  91.  
  92.     MOVE.L    _GFXBASE,A6
  93.     ADD.L    #$32,A6
  94.     MOVE.W    #$80,DMACON
  95.     MOVE.L    (A6),OLDCOPPER
  96.     MOVE.L    #NEWCOPPER,(A6)
  97.     MOVE.W    #$8080,DMACON
  98.  
  99.     jsr    mt_init
  100.  
  101.     move.l    #woblist,wobpoint
  102.         move.l    #string,spoint
  103.     callexec forbid
  104.  
  105.  
  106.     move.b    #0,cdown
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.             
  114.     
  115.     
  116.     
  117.     
  118.     
  119.     move.w     #$8010,$dff09a
  120.     move.l    $6c,old
  121.     move.l  #new,$6c
  122.     
  123.     
  124.     
  125.     
  126.     
  127.  
  128.  
  129. WAIT    ANDI.B    #$40,$BFE001
  130.     BNE    WAIT
  131.     move.l    old,$6c
  132.  
  133.     callexec permit
  134.  
  135.     MOVE.L    _GFXBASE,A6
  136.     ADD.L    #$32,A6
  137.     MOVE.W    #$80,DMACON
  138.     MOVE.L    OLDCOPPER,(A6)
  139.     MOVE.W    #$8080,DMACON
  140.     move.w    #$8020,$dff096
  141. ERROR    clr.l    d0
  142.     move.w    #$f,$dff096
  143.     move.w    #$0,$dff0a8
  144.     move.w    #$0,$dff0b8
  145.     move.w    #$0,$dff0c8
  146.     move.w    #$0,$dff0d8
  147.     RTS
  148.  
  149.  
  150.  
  151. subrt    lea    myfont,a1
  152.     clr.l    d0
  153.     move.l    spoint,a2
  154.     move.b    (a2),d0            ; now has 33
  155.     cmp.b    #254,d0
  156.     beq    part2y
  157.     add.l    #1,spoint
  158.     sub.b    #32,d0            ; now =1
  159. zza    mulu    #512,d0            ; now =512
  160.     add.l    d0,a1
  161.     
  162.  
  163.     moveq    #4,d0
  164.     lea    mypiccy,a0
  165.     lea    mypiccy,a2
  166.     ADD.l    #9324,a0
  167.     add.l    #9324,a2
  168.     
  169. outloop    moveq    #32,d1
  170. inloop    move.l    (a1)+,(a0)
  171.     add.l    #44,a0
  172.     sub.b    #1,d1
  173.     cmp.b    #0,d1
  174.     bne    inloop    
  175.     add.l    #11264,a2
  176.     move.l    a2,a0
  177.     sub.b    #1,d0
  178.     cmp.b    #0,d0
  179.     bne outloop
  180.     rts    
  181. part2y    add.l #1,spoint
  182.     move.b    #$3a,pauser
  183.     moveq    #0,d0
  184.     
  185.     bra    zza
  186.  
  187.  
  188. new:    movem.l d0-d7/a0-a6,-(sp)
  189.     and #$10,$dff01e        
  190.     beq out
  191.     move.w    #$10,$dff09c
  192.  
  193.     ;    woplist
  194.     
  195.     jsr    mt_music
  196.  
  197.     lea    depmode,a0
  198.     move.l    #180,d0
  199.     move.w    14(a0),tempz
  200. wpit    move.w    34(a0),14(a0)
  201.     move.w    26(a0),6(a0)
  202.     move.w    30(a0),10(a0)
  203.     add.l    #20,a0
  204.     
  205.     
  206.     dbf    d0,wpit
  207.     
  208.     move.w tempz,14(a0)
  209.  
  210.     move.l    wobpoint,a1
  211.     moveq    #0,d0
  212.     move.w    (a1),d0
  213.     add.l    #2,a1
  214.     cmp.w    #$1234,(a1)
  215.     bne wwww
  216.     move.l    #woblist,a1
  217. wwww    move.l    a1,wobpoint
  218.     move.w    d0,6(a0)
  219.     move.w    d0,10(a0)
  220.  
  221.  
  222.  
  223.     cmp.b    #0,pauser
  224.     beq    zxcv
  225.     sub.b    #1,pauser
  226.     bra    out
  227.  
  228. zxcv    cmp.b    #0,cdown
  229.     bne bypass
  230.     btst    #2,$dff016
  231.     bne aada
  232.     move.l    #string2,spoint
  233. aada    move.b    #6,cdown
  234.     bsr    subrt
  235.     move.l    spoint,a6
  236.     cmp.b    #$ff,(a6)
  237.     bne    bypass
  238.     move.l    #string,spoint
  239. bypass    sub.b    #1,cdown
  240.     
  241.  
  242.       
  243.       moveq #4,d0
  244.       lea mypiccy+9324,a0
  245.       lea mypiccy+9326,a1
  246. lp80: btst #14,$dff002            ; Thank's to TBY of FREESTYLE
  247.                     ; for the blitter info.
  248.       bne lp80
  249.       move.l a0,$dff054 ;dest
  250.       move.l a1,$dff050 ;source
  251.       move.w #$ffff,$dff044
  252.       move.w #$ffff,$dff046
  253.       move.w #0,$dff064
  254.       move.w #0,$dff066
  255.       move.w #%1100100111110000,$dff040
  256.       move.w #%0000000000000000,$dff042
  257.       move.w #%0000101000010111,$dff058 ; was 0000101100010111
  258.       adda.l #11264,a0
  259.       adda.l #11264,a1
  260.       dbf d0,lp80      
  261.  
  262.       
  263.       
  264.  
  265.  
  266.     
  267.     
  268.     
  269.  
  270. out movem.l (sp)+,d0-d7/a0-a6
  271.     dc.w $4ef9
  272. old dc.l 0
  273. wobpoint    dc.l    woblist
  274. woblist        
  275.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  276.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  277.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  278.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  279.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  280.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  281.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  282.   dc.w 2,2,2,2,2,2,2,2,2,2,2,2
  283.   dc.w 2,2,2,2,2,$2,$2,$2,$2,$2,$2,$2
  284.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  285.   dc.w $2,$2,$2,$2,$2,$2,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  286.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  287.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$2,$2,$2,$2,$2
  288.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  289.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$FFD6,$FFD6,$FFD6,$FFD6
  290.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  291.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$2,$2,$2
  292.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  293.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$FFD6,$FFD6
  294.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  295.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$2
  296.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  297.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  298.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  299.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  300.   dc.w $FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2
  301.   dc.w $2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6
  302.   dc.w $FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E
  303.   dc.w $2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  304.   dc.w $FFD6,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E
  305.   dc.w $2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  306.   dc.w $FFAA,$FFD6,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E
  307.   dc.w $2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  308.   dc.w $FFAA,$FFAA,$FFD6,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E
  309.   dc.w $2E,$2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  310.   dc.w $FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E
  311.   dc.w $2E,$2E,$2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA
  312.   dc.w $FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E
  313.   dc.w $2E,$2E,$2E,$2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA
  314.   dc.w $FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$2,$2,$2E,$2E
  315.   dc.w $2E,$2E,$2E,$2E,$2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA
  316.   dc.w $FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$2E,$5A,$5A
  317.   dc.w $5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA
  318.   dc.w $FFD6,$2,$2E,$5A,$5A,$5A,$5A,$5A,$2E,$2,$FFAA,$FF7E
  319.   dc.w $FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A,$5A
  320.   dc.w $2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2E
  321.   dc.w $5A,$5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E
  322.   dc.w $FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A,$5A,$5A,$2E,$2
  323.   dc.w $FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A
  324.   dc.w $5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA
  325.   dc.w $FFD6,$2E,$5A,$5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E
  326.   dc.w $FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A,$5A,$5A
  327.   dc.w $2E,$2,$FFAA,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E
  328.   dc.w $5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E
  329.   dc.w $FF7E,$FFAA,$FFD6,$2E,$2E,$5A,$5A,$5A,$5A,$2E,$2,$FFD6
  330.   dc.w $FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A
  331.   dc.w $5A,$5A,$2E,$2,$FFAA,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6
  332.   dc.w $2,$2E,$5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E
  333.   dc.w $FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2E,$86,$86,$86,$5A,$2,$FFAA
  334.   dc.w $FF52,$FF52,$FF52,$FF7E,$FFAA,$2,$5A,$86,$86,$86,$2E,$FFD6
  335.   dc.w $FF7E,$FF52,$FF52,$FF52,$FFAA,$FFD6,$2E,$86,$86,$86,$5A,$2
  336.   dc.w $FFAA,$FF52,$FF52,$FF52,$FF7E,$FFAA,$2,$5A,$86,$86,$86,$2E
  337.   dc.w $FFD6,$FF7E,$FF52,$FF52,$FF52,$FFAA,$FFD6,$2E,$86,$86,$86,$5A
  338.   dc.w $2,$FFAA,$FF52,$FF52,$FF52,$FF7E,$FFAA,$2,$5A,$86,$86,$86
  339.   dc.w $2E,$FFD6,$FF7E,$FF52,$FF52,$FF52,$FFAA,$FFD6,$2E,$86,$86,$86
  340.   dc.w $5A,$2,$FFAA,$FF52,$FF52,$FF52,$FF7E,$FFAA,$2,$5A,$86,$86
  341.   dc.w $86,$2E,$FFD6,$FF7E,$FF52,$FF52,$FF52,$FF7E,$FFD6,$2E,$86,$86
  342.   dc.w $86,$5A,$2,$FFAA,$FF52,$FF52,$FF52,$FF7E,$FFAA,$2,$5A,$86
  343.   dc.w $86,$86,$2E,$FFD6,$FF7E,$FF52,$FF52,$FF52,$FF7E,$FFD6,$2E,$86
  344.   dc.w $86,$86,$5A,$2,$FFAA,$FF7E,$FF52,$FF52,$FF7E,$FFAA,$2,$5A
  345.   dc.w $86,$86,$86,$2E,$FFD6,$FF7E,$FF52,$FF52,$FF52,$FF7E,$FFD6,$2E
  346.   dc.w $86,$86,$86,$5A,$2,$FFAA,$FF7E,$FF52,$FF52,$FF7E,$FFAA,$2
  347.   dc.w $5A,$86,$86,$86,$2E,$FFD6,$FF7E,$FF52,$FF52,$FF52,$FF7E,$FFD6
  348.   dc.w $2E,$86,$86,$86,$5A,$2,$FFAA,$FF7E,$FF52,$FF52,$FF7E,$FFAA
  349.   dc.w $2,$5A,$86,$86,$86,$2E,$FFD6,$FF7E,$FF52,$FF52,$FF52,$FF7E
  350.   dc.w $FFD6,$2E,$5A,$5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E
  351.   dc.w $FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A,$5A,$5A
  352.   dc.w $2E,$2,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E
  353.   dc.w $5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E
  354.   dc.w $FF7E,$FFAA,$FFD6,$2E,$5A,$5A,$5A,$5A,$5A,$2E,$2,$FFD6
  355.   dc.w $FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A
  356.   dc.w $5A,$5A,$2E,$2,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6
  357.   dc.w $2,$2E,$5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E
  358.   dc.w $FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2E,$5A,$5A,$5A,$5A,$5A,$2E
  359.   dc.w $2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A
  360.   dc.w $5A,$5A,$5A,$5A,$2E,$2,$FFAA,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E
  361.   dc.w $FFAA,$FFD6,$2,$2E,$5A,$5A,$5A,$5A,$2E,$2,$FFD6,$FFAA
  362.   dc.w $FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2E,$2E,$5A,$5A,$5A
  363.   dc.w $5A,$2E,$2,$FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2
  364.   dc.w $2E,$5A,$5A,$5A,$5A,$5A,$2E,$2,$FFAA,$FFAA,$FF7E,$FF7E
  365.   dc.w $FF7E,$FF7E,$FFAA,$FFD6,$2,$2E,$5A,$5A,$5A,$5A,$2E,$2
  366.   dc.w $FFD6,$FFAA,$FF7E,$FF7E,$FF7E,$FF7E,$FF7E,$FFAA,$FFD6,$2,$2,$2E
  367.   dc.w $2E,$2E,$2E,$2E,$2E,$2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA
  368.   dc.w $FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$FFD6,$2,$2
  369.   dc.w $2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2,$2,$FFD6,$FFD6
  370.   dc.w $FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$FFD6,$2
  371.   dc.w $2,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2,$2,$FFD6
  372.   dc.w $FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$FFD6
  373.   dc.w $2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2,$2
  374.   dc.w $FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6,$FFD6
  375.   dc.w $FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2
  376.   dc.w $2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFD6
  377.   dc.w $FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E,$2E
  378.   dc.w $2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  379.   dc.w $FFD6,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E,$2E
  380.   dc.w $2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  381.   dc.w $FFAA,$FFAA,$FFD6,$FFD6,$2,$2,$2E,$2E,$2E,$2E,$2E,$2E
  382.   dc.w $2E,$2E,$2,$2,$FFD6,$FFD6,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA,$FFAA
  383.   dc.w $FFAA,$FFAA,$FFAA,$FFD6,$FFD6,$2,$2,$2,$2,$2,$2,$2
  384.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  385.   dc.w $2,$2,$2,$2,$2,$2,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  386.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  387.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$2,$2,$2,$2,$2
  388.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  389.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$FFD6,$FFD6,$FFD6,$FFD6
  390.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  391.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$2,$2,$2
  392.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  393.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$FFD6,$FFD6
  394.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  395.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$2
  396.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  397.   dc.w $2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2,$2
  398.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  399.   dc.w $FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6,$FFD6
  400.   dc.w $FFD6,$1234
  401. count    dc.b 0
  402. read    dc.l 0
  403. falagz    dc.b 0
  404. cdown    dc.b 0
  405. pauser    dc.b 0
  406. tempz    dc.w 0
  407.  
  408. OLDCOPPER    DC.L    0
  409. NEWCOPPER    DC.W    $0100,$5200,$0102,$0000,$0104,$000A
  410.         DC.W    $0108
  411. topmod        dc.w    $0002,$010A,$0002
  412.         DC.W    $0092,$0038,$0094,$00D4
  413.         DC.W    $008E,$2C81,$0090,$2cC1
  414.         dc.w    $0096,$0020
  415.         DC.W    $00E0
  416. PL0H        DC.W    $0000,$00E2
  417. PL0L        DC.W    $0000,$00E4
  418. PL1H        DC.W    $0000,$00E6
  419. PL1L        DC.W    $0000,$00E8
  420. PL2H        DC.W    $0000,$00EA
  421. PL2L        DC.W    $0000,$00EC
  422. PL3H        DC.W    $0000,$00EE
  423. PL3L        DC.W    $0000,$00F0
  424. PL4H        DC.W    $0000,$00F2
  425. PL4L        DC.W    $0000
  426.         
  427.         
  428.         DC.W    $0180,$0000,$0182,$0fdb
  429.         DC.W    $0184,$0131,$0186,$0c30
  430.         DC.W    $0188,$0eee,$018A,$0121
  431.         DC.W    $018C,$0447,$018E,$0740
  432.         DC.W    $0190,$0db0,$0192,$04a2
  433.         DC.W    $0194,$0242,$0196,$0372
  434.         DC.W    $0198,$0252,$019A,$0444
  435.         DC.W    $019C,$0333,$019E,$04b2
  436.  
  437.         DC.W    $01a0,$0392,$01a2,$05c5
  438.         DC.W    $01a4,$0ccc,$01a6,$0d70
  439.         DC.W    $01a8,$0382,$01aA,$08c8
  440.         DC.W    $01aC,$04d2,$01aE,$06c6
  441.         DC.W    $01b0,$0bcb,$01b2,$0362
  442.         DC.W    $01b4,$0aca,$01b6,$0a50
  443.         DC.W    $01b8,$0f5f,$01bA,$0252
  444.         DC.W    $01bC,$04a2,$01bE,$0210
  445. depmode
  446.  
  447.  dc.w $2D09,$FFFE,$0108,2,$10a,2,$1ba,$00f,$1b8,$00f
  448.  dc.w $2E09,$FFFE,$0108,2,$10a,2,$1ba,$01f,$1b8,$01f
  449.  dc.w $2F09,$FFFE,$0108,2,$10a,2,$1ba,$02f,$1b8,$02f
  450.  dc.w $3009,$FFFE,$0108,2,$10a,2,$1ba,$03f,$1b8,$03f
  451.  dc.w $3109,$FFFE,$0108,2,$10a,2,$1ba,$04f,$1b8,$04f
  452.  dc.w $3209,$FFFE,$0108,2,$10a,2,$1ba,$05f,$1b8,$05f
  453.  dc.w $3309,$FFFE,$0108,2,$10a,2,$1ba,$06f,$1b8,$06f
  454.  dc.w $3409,$FFFE,$0108,2,$10a,2,$1ba,$07f,$1b8,$07f
  455.  dc.w $3509,$FFFE,$0108,2,$10a,2,$1ba,$08f,$1b8,$08f
  456.  dc.w $3609,$FFFE,$0108,2,$10a,2,$1ba,$09f,$1b8,$09f
  457.  dc.w $3709,$FFFE,$0108,2,$10a,2,$1ba,$0af,$1b8,$0af
  458.  dc.w $3809,$FFFE,$0108,2,$10a,2,$1ba,$0bf,$1b8,$0bf
  459.  dc.w $3909,$FFFE,$0108,2,$10a,2,$1ba,$0cf,$1b8,$0cf
  460.  dc.w $3A09,$FFFE,$0108,2,$10a,2,$1ba,$0df,$1b8,$0df
  461.  dc.w $3B09,$FFFE,$0108,2,$10a,2,$1ba,$0ef,$1b8,$0ef
  462.  dc.w $3C09,$FFFE,$0108,2,$10a,2,$1ba,$0ff,$1b8,$0ff
  463.  dc.w $3D09,$FFFE,$0108,2,$10a,2,$1ba,$0fe,$1b8,$0fe
  464.  dc.w $3E09,$FFFE,$0108,2,$10a,2,$1ba,$0fd,$1b8,$0fd
  465.  dc.w $3F09,$FFFE,$0108,2,$10a,2,$1ba,$0fc,$1b8,$0fc
  466.  dc.w $4009,$FFFE,$0108,2,$10a,2,$1ba,$0fb,$1b8,$0fb
  467.  dc.w $4109,$FFFE,$0108,2,$10a,2,$1ba,$0fa,$1b8,$0fa
  468.  dc.w $4209,$FFFE,$0108,2,$10a,2,$1ba,$0f9,$1b8,$0f9
  469.  dc.w $4309,$FFFE,$0108,2,$10a,2,$1ba,$0f8,$1b8,$0f8
  470.  dc.w $4409,$FFFE,$0108,2,$10a,2,$1ba,$0f7,$1b8,$0f7
  471.  dc.w $4509,$FFFE,$0108,2,$10a,2,$1ba,$0f6,$1b8,$0f6
  472.  dc.w $4609,$FFFE,$0108,2,$10a,2,$1ba,$0f5,$1b8,$0f5
  473.  dc.w $4709,$FFFE,$0108,2,$10a,2,$1ba,$0f4,$1b8,$0f4
  474.  dc.w $4809,$FFFE,$0108,2,$10a,2,$1ba,$0f3,$1b8,$0f3
  475.  dc.w $4909,$FFFE,$0108,2,$10a,2,$1ba,$0f2,$1b8,$0f2
  476.  dc.w $4A09,$FFFE,$0108,2,$10a,2,$1ba,$0f1,$1b8,$0f1
  477.  dc.w $4B09,$FFFE,$0108,2,$10a,2,$1ba,$0f0,$1b8,$0f0
  478.  dc.w $4C09,$FFFE,$0108,2,$10a,2,$1ba,$1f0,$1b8,$1f0
  479.  dc.w $4D09,$FFFE,$0108,2,$10a,2,$1ba,$2f0,$1b8,$2f0
  480.  dc.w $4E09,$FFFE,$0108,2,$10a,2,$1ba,$3f0,$1b8,$3f0
  481.  dc.w $4F09,$FFFE,$0108,2,$10a,2,$1ba,$4f0,$1b8,$4f0
  482.  dc.w $5009,$FFFE,$0108,2,$10a,2,$1ba,$5f0,$1b8,$5f0
  483.  dc.w $5109,$FFFE,$0108,2,$10a,2,$1ba,$6f0,$1b8,$6f0
  484.  dc.w $5209,$FFFE,$0108,2,$10a,2,$1ba,$7f0,$1b8,$7f0
  485.  dc.w $5309,$FFFE,$0108,2,$10a,2,$1ba,$8f0,$1b8,$8f0
  486.  dc.w $5409,$FFFE,$0108,2,$10a,2,$1ba,$9f0,$1b8,$9f0
  487.  dc.w $5509,$FFFE,$0108,2,$10a,2,$1ba,$af0,$1b8,$af0
  488.  dc.w $5609,$FFFE,$0108,2,$10a,2,$1ba,$bf0,$1b8,$bf0
  489.  dc.w $5709,$FFFE,$0108,2,$10a,2,$1ba,$cf0,$1b8,$cf0
  490.  dc.w $5809,$FFFE,$0108,2,$10a,2,$1ba,$df0,$1b8,$df0
  491.  dc.w $5909,$FFFE,$0108,2,$10a,2,$1ba,$ef0,$1b8,$ef0
  492.  dc.w $5A09,$FFFE,$0108,2,$10a,2,$1ba,$ff0,$1b8,$ff0
  493.  dc.w $5B09,$FFFE,$0108,2,$10a,2,$1ba,$fe0,$1b8,$fe0
  494.  dc.w $5C09,$FFFE,$0108,2,$10a,2,$1ba,$fd0,$1b8,$fd0
  495.  dc.w $5D09,$FFFE,$0108,2,$10a,2,$1ba,$fc0,$1b8,$fc0
  496.  dc.w $5E09,$FFFE,$0108,2,$10a,2,$1ba,$fb0,$1b8,$fb0
  497.  dc.w $5F09,$FFFE,$0108,2,$10a,2,$1ba,$fa0,$1b8,$fa0
  498.  dc.w $6009,$FFFE,$0108,2,$10a,2,$1ba,$f90,$1b8,$f90
  499.  dc.w $6109,$FFFE,$0108,2,$10a,2,$1ba,$f80,$1b8,$f80
  500.  dc.w $6209,$FFFE,$0108,2,$10a,2,$1ba,$f70,$1b8,$f70
  501.  dc.w $6309,$FFFE,$0108,2,$10a,2,$1ba,$f60,$1b8,$f60
  502.  dc.w $6409,$FFFE,$0108,2,$10a,2,$1ba,$f50,$1b8,$f50
  503.  dc.w $6509,$FFFE,$0108,2,$10a,2,$1ba,$f40,$1b8,$f40
  504.  dc.w $6609,$FFFE,$0108,2,$10a,2,$1ba,$f30,$1b8,$f30
  505.  dc.w $6709,$FFFE,$0108,2,$10a,2,$1ba,$f20,$1b8,$f20
  506.  dc.w $6809,$FFFE,$0108,2,$10a,2,$1ba,$f10,$1b8,$f10
  507.  dc.w $6909,$FFFE,$0108,2,$10a,2,$1ba,$f00,$1b8,$f00
  508.  dc.w $6A09,$FFFE,$0108,2,$10a,2,$1ba,$f01,$1b8,$f01
  509.  dc.w $6B09,$FFFE,$0108,2,$10a,2,$1ba,$f02,$1b8,$f02
  510.  dc.w $6C09,$FFFE,$0108,2,$10a,2,$1ba,$f03,$1b8,$f03
  511.  dc.w $6D09,$FFFE,$0108,2,$10a,2,$1ba,$f04,$1b8,$f04
  512.  dc.w $6E09,$FFFE,$0108,2,$10a,2,$1ba,$f05,$1b8,$f05
  513.  dc.w $6F09,$FFFE,$0108,2,$10a,2,$1ba,$f06,$1b8,$f06
  514.  dc.w $7009,$FFFE,$0108,2,$10a,2,$1ba,$f07,$1b8,$f07
  515.  dc.w $7109,$FFFE,$0108,2,$10a,2,$1ba,$f08,$1b8,$f08
  516.  dc.w $7209,$FFFE,$0108,2,$10a,2,$1ba,$f09,$1b8,$f09
  517.  dc.w $7309,$FFFE,$0108,2,$10a,2,$1ba,$f0a,$1b8,$f0a
  518.  dc.w $7409,$FFFE,$0108,2,$10a,2,$1ba,$f0b,$1b8,$f0b
  519.  dc.w $7509,$FFFE,$0108,2,$10a,2,$1ba,$f0c,$1b8,$f0c
  520.  dc.w $7609,$FFFE,$0108,2,$10a,2,$1ba,$f0d,$1b8,$f0d
  521.  dc.w $7709,$FFFE,$0108,2,$10a,2,$1ba,$f0e,$1b8,$f0e
  522.  dc.w $7809,$FFFE,$0108,2,$10a,2,$1ba,$f0f,$1b8,$f0f
  523.  dc.w $7909,$FFFE,$0108,2,$10a,2,$1ba,$e0f,$1b8,$e0f
  524.  dc.w $7A09,$FFFE,$0108,2,$10a,2,$1ba,$d0f,$1b8,$d0f
  525.  dc.w $7B09,$FFFE,$0108,2,$10a,2,$1ba,$c0f,$1b8,$c0f
  526.  dc.w $7C09,$FFFE,$0108,2,$10a,2,$1ba,$b0f,$1b8,$b0f
  527.  dc.w $7D09,$FFFE,$0108,2,$10a,2,$1ba,$a0f,$1b8,$a0f
  528.  dc.w $7E09,$FFFE,$0108,2,$10a,2,$1ba,$90f,$1b8,$90f
  529.  dc.w $7F09,$FFFE,$0108,2,$10a,2,$1ba,$80f,$1b8,$80f
  530.  dc.w $8009,$FFFE,$0108,2,$10a,2,$1ba,$70f,$1b8,$70f
  531.  dc.w $8109,$FFFE,$0108,2,$10a,2,$1ba,$60f,$1b8,$60f
  532.  dc.w $8209,$FFFE,$0108,2,$10a,2,$1ba,$50f,$1b8,$50f
  533.  dc.w $8309,$FFFE,$0108,2,$10a,2,$1ba,$40f,$1b8,$40f
  534.  dc.w $8409,$FFFE,$0108,2,$10a,2,$1ba,$30f,$1b8,$30f
  535.  dc.w $8509,$FFFE,$0108,2,$10a,2,$1ba,$20f,$1b8,$20f
  536.  dc.w $8609,$FFFE,$0108,2,$10a,2,$1ba,$10f,$1b8,$10f
  537.  dc.w $8709,$FFFE,$0108,2,$10a,2,$1ba,$00f,$1b8,$00f
  538.  dc.w $8809,$FFFE,$0108,2,$10a,2,$1ba,$01f,$1b8,$01f
  539.  dc.w $8909,$FFFE,$0108,2,$10a,2,$1ba,$02f,$1b8,$02f
  540.  dc.w $8A09,$FFFE,$0108,2,$10a,2,$1ba,$03f,$1b8,$03f
  541.  dc.w $8B09,$FFFE,$0108,2,$10a,2,$1ba,$04f,$1b8,$04f
  542.  dc.w $8C09,$FFFE,$0108,2,$10a,2,$1ba,$05f,$1b8,$05f
  543.  dc.w $8D09,$FFFE,$0108,2,$10a,2,$1ba,$06f,$1b8,$06f
  544.  dc.w $8E09,$FFFE,$0108,2,$10a,2,$1ba,$07f,$1b8,$07f
  545.  dc.w $8F09,$FFFE,$0108,2,$10a,2,$1ba,$08f,$1b8,$08f
  546.  dc.w $9009,$FFFE,$0108,2,$10a,2,$1ba,$09f,$1b8,$09f
  547.  dc.w $9109,$FFFE,$0108,2,$10a,2,$1ba,$0af,$1b8,$0af
  548.  dc.w $9209,$FFFE,$0108,2,$10a,2,$1ba,$0bf,$1b8,$0bf
  549.  dc.w $9309,$FFFE,$0108,2,$10a,2,$1ba,$0cf,$1b8,$0cf
  550.  dc.w $9409,$FFFE,$0108,2,$10a,2,$1ba,$0df,$1b8,$0df
  551.  dc.w $9509,$FFFE,$0108,2,$10a,2,$1ba,$0ef,$1b8,$0ef
  552.  dc.w $9609,$FFFE,$0108,2,$10a,2,$1ba,$0ff,$1b8,$0ff
  553.  dc.w $9709,$FFFE,$0108,2,$10a,2,$1ba,$0fe,$1b8,$0fe
  554.  dc.w $9809,$FFFE,$0108,2,$10a,2,$1ba,$0fd,$1b8,$0fd
  555.  dc.w $9909,$FFFE,$0108,2,$10a,2,$1ba,$0fc,$1b8,$0fc
  556.  dc.w $9A09,$FFFE,$0108,2,$10a,2,$1ba,$0fb,$1b8,$0fb
  557.  dc.w $9B09,$FFFE,$0108,2,$10a,2,$1ba,$0fa,$1b8,$0fa
  558.  dc.w $9C09,$FFFE,$0108,2,$10a,2,$1ba,$0f9,$1b8,$0f9
  559.  dc.w $9D09,$FFFE,$0108,2,$10a,2,$1ba,$0f8,$1b8,$0f8
  560.  dc.w $9E09,$FFFE,$0108,2,$10a,2,$1ba,$0f7,$1b8,$0f7
  561.  dc.w $9F09,$FFFE,$0108,2,$10a,2,$1ba,$0f6,$1b8,$0f6
  562.  dc.w $A009,$FFFE,$0108,2,$10a,2,$1ba,$0f5,$1b8,$0f5
  563.  dc.w $A109,$FFFE,$0108,2,$10a,2,$1ba,$0f4,$1b8,$0f4
  564.  dc.w $A209,$FFFE,$0108,2,$10a,2,$1ba,$0f3,$1b8,$0f3
  565.  dc.w $A309,$FFFE,$0108,2,$10a,2,$1ba,$0f2,$1b8,$0f2
  566.  dc.w $A409,$FFFE,$0108,2,$10a,2,$1ba,$0f1,$1b8,$0f1
  567.  dc.w $A509,$FFFE,$0108,2,$10a,2,$1ba,$0f0,$1b8,$0f0
  568.  dc.w $A609,$FFFE,$0108,2,$10a,2,$1ba,$1f0,$1b8,$1f0
  569.  dc.w $A709,$FFFE,$0108,2,$10a,2,$1ba,$2f0,$1b8,$2f0
  570.  dc.w $A809,$FFFE,$0108,2,$10a,2,$1ba,$3f0,$1b8,$3f0
  571.  dc.w $A909,$FFFE,$0108,2,$10a,2,$1ba,$4f0,$1b8,$4f0
  572.  dc.w $AA09,$FFFE,$0108,2,$10a,2,$1ba,$5f0,$1b8,$5f0
  573.  dc.w $AB09,$FFFE,$0108,2,$10a,2,$1ba,$6f0,$1b8,$6f0
  574.  dc.w $AC09,$FFFE,$0108,2,$10a,2,$1ba,$7f0,$1b8,$7f0
  575.  dc.w $AD09,$FFFE,$0108,2,$10a,2,$1ba,$8f0,$1b8,$8f0
  576.  dc.w $AE09,$FFFE,$0108,2,$10a,2,$1ba,$9f0,$1b8,$9f0
  577.  dc.w $AF09,$FFFE,$0108,2,$10a,2,$1ba,$af0,$1b8,$af0
  578.  dc.w $B009,$FFFE,$0108,2,$10a,2,$1ba,$bf0,$1b8,$bf0
  579.  dc.w $B109,$FFFE,$0108,2,$10a,2,$1ba,$cf0,$1b8,$cf0
  580.  dc.w $B209,$FFFE,$0108,2,$10a,2,$1ba,$df0,$1b8,$df0
  581.  dc.w $B309,$FFFE,$0108,2,$10a,2,$1ba,$ef0,$1b8,$ef0
  582.  dc.w $B409,$FFFE,$0108,2,$10a,2,$1ba,$ff0,$1b8,$ff0
  583.  dc.w $B509,$FFFE,$0108,2,$10a,2,$1ba,$fe0,$1b8,$fe0
  584.  dc.w $B609,$FFFE,$0108,2,$10a,2,$1ba,$fd0,$1b8,$fd0
  585.  dc.w $B709,$FFFE,$0108,2,$10a,2,$1ba,$fc0,$1b8,$fc0
  586.  dc.w $B809,$FFFE,$0108,2,$10a,2,$1ba,$fb0,$1b8,$fb0
  587.  dc.w $B909,$FFFE,$0108,2,$10a,2,$1ba,$fa0,$1b8,$fa0
  588.  dc.w $BA09,$FFFE,$0108,2,$10a,2,$1ba,$f90,$1b8,$f90
  589.  dc.w $BB09,$FFFE,$0108,2,$10a,2,$1ba,$f80,$1b8,$f80
  590.  dc.w $BC09,$FFFE,$0108,2,$10a,2,$1ba,$f70,$1b8,$f70
  591.  dc.w $BD09,$FFFE,$0108,2,$10a,2,$1ba,$f60,$1b8,$f60
  592.  dc.w $BE09,$FFFE,$0108,2,$10a,2,$1ba,$f50,$1b8,$f50
  593.  dc.w $BF09,$FFFE,$0108,2,$10a,2,$1ba,$f40,$1b8,$f40
  594.  dc.w $C009,$FFFE,$0108,2,$10a,2,$1ba,$f30,$1b8,$f30
  595.  dc.w $C109,$FFFE,$0108,2,$10a,2,$1ba,$f20,$1b8,$f20
  596.  dc.w $C209,$FFFE,$0108,2,$10a,2,$1ba,$f10,$1b8,$f10
  597.  dc.w $C309,$FFFE,$0108,2,$10a,2,$1ba,$f00,$1b8,$f00
  598.  dc.w $C409,$FFFE,$0108,2,$10a,2,$1ba,$f01,$1b8,$f01
  599.  dc.w $C509,$FFFE,$0108,2,$10a,2,$1ba,$f02,$1b8,$f02
  600.  dc.w $C609,$FFFE,$0108,2,$10a,2,$1ba,$f03,$1b8,$f03
  601.  dc.w $C709,$FFFE,$0108,2,$10a,2,$1ba,$f04,$1b8,$f04
  602.  dc.w $C809,$FFFE,$0108,2,$10a,2,$1ba,$f05,$1b8,$f05
  603.  dc.w $C909,$FFFE,$0108,2,$10a,2,$1ba,$f06,$1b8,$f06
  604.  dc.w $CA09,$FFFE,$0108,2,$10a,2,$1ba,$f07,$1b8,$f07
  605.  dc.w $CB09,$FFFE,$0108,2,$10a,2,$1ba,$f08,$1b8,$f08
  606.  dc.w $CC09,$FFFE,$0108,2,$10a,2,$1ba,$f09,$1b8,$f09
  607.  dc.w $CD09,$FFFE,$0108,2,$10a,2,$1ba,$f0a,$1b8,$f0a
  608.  dc.w $CE09,$FFFE,$0108,2,$10a,2,$1ba,$f0b,$1b8,$f0b
  609.  dc.w $CF09,$FFFE,$0108,2,$10a,2,$1ba,$f0c,$1b8,$f0c
  610.  dc.w $D009,$FFFE,$0108,2,$10a,2,$1ba,$f0d,$1b8,$f0d
  611.  dc.w $D109,$FFFE,$0108,2,$10a,2,$1ba,$f0e,$1b8,$f0e
  612.  dc.w $D209,$FFFE,$0108,2,$10a,2,$1ba,$f0f,$1b8,$f0f
  613.  dc.w $D309,$FFFE,$0108,2,$10a,2,$1ba,$e0f,$1b8,$e0f
  614.  dc.w $D409,$FFFE,$0108,2,$10a,2,$1ba,$d0f,$1b8,$d0f
  615.  dc.w $D509,$FFFE,$0108,2,$10a,2,$1ba,$c0f,$1b8,$c0f
  616.  dc.w $D609,$FFFE,$0108,2,$10a,2,$1ba,$b0f,$1b8,$b0f
  617.  dc.w $D709,$FFFE,$0108,2,$10a,2,$1ba,$a0f,$1b8,$a0f
  618.  dc.w $D809,$FFFE,$0108,2,$10a,2,$1ba,$90f,$1b8,$90f
  619.  dc.w $D909,$FFFE,$0108,2,$10a,2,$1ba,$80f,$1b8,$80f
  620.  dc.w $DA09,$FFFE,$0108,2,$10a,2,$1ba,$70f,$1b8,$70f
  621.  dc.w $DB09,$FFFE,$0108,2,$10a,2,$1ba,$60f,$1b8,$60f
  622.  dc.w $DC09,$FFFE,$0108,2,$10a,2,$1ba,$50f,$1b8,$50f
  623.  dc.w $DD09,$FFFE,$0108,2,$10a,2,$1ba,$40f,$1b8,$40f
  624.  dc.w $DE09,$FFFE,$0108,2,$10a,2,$1ba,$30f,$1b8,$30f
  625.  dc.w $DF09,$FFFE,$0108,2,$10a,2,$1ba,$20f,$1b8,$20f
  626.  dc.w $E009,$FFFE,$0108,2,$10a,2,$1ba,$10f,$1b8,$10f
  627.  dc.w $E109,$FFFE,$0108,2,$10a,2,$1ba,$00f,$1b8,$00f
  628.  dc.w $E209,$FFFE,$0108,2,$10a,2,$1ba,$01f,$1b8,$01f
  629.  dc.w $E309,$FFFE,$0108,2,$10a,2,$1ba,$02f,$1b8,$02f
  630.  dc.w $E409,$FFFE,$0108,2,$10a,2,$1ba,$03f,$1b8,$03f
  631.  dc.w $E509,$FFFE,$0108,2,$10a,2,$1ba,$04f,$1b8,$04f
  632.  dc.w $E609,$FFFE,$0108,2,$10a,2,$1ba,$05f,$1b8,$05f
  633.  dc.w $E709,$FFFE,$0108,2,$10a,2,$1ba,$06f,$1b8,$06f
  634.  dc.w $E809,$FFFE,$0108,2,$10a,2,$1ba,$07f,$1b8,$07f
  635.  dc.w $E909,$FFFE,$0108,2,$10a,2,$1ba,$08f,$1b8,$08f
  636.  dc.w $EA09,$FFFE,$0108,2,$10a,2,$1ba,$09f,$1b8,$09f
  637.  dc.w $EB09,$FFFE,$0108,2,$10a,2,$1ba,$0af,$1b8,$0af
  638.  dc.w $EC09,$FFFE,$0108,2,$10a,2,$1ba,$0bf,$1b8,$0bf
  639.  dc.w $ED09,$FFFE,$0108,2,$10a,2,$1ba,$0cf,$1b8,$0cf
  640.  dc.w $EE09,$FFFE,$0108,2,$10a,2,$1ba,$0df,$1b8,$0df
  641.  dc.w $EF09,$FFFE,$0108,2,$10a,2,$1ba,$0ef,$1b8,$0ef
  642.  dc.w $F009,$FFFE,$0108,2,$10a,2,$1ba,$0ff,$1b8,$0ff
  643.  dc.w $F109,$FFFE,$0108,2,$10a,2,$1ba,$0fe,$1b8,$0fe
  644.  dc.w $F209,$FFFE,$0108,2,$10a,2,$1ba,$0fd,$1b8,$0fd
  645.  dc.w $F309,$FFFE,$0108,2,$10a,2,$1ba,$0fc,$1b8,$0fc
  646.  dc.w $F409,$FFFE,$0108,2,$10a,2,$1ba,$0fb,$1b8,$0fb
  647.  dc.w $F509,$FFFE,$0108,2,$10a,2,$1ba,$0fa,$1b8,$0fa
  648.  dc.w $F609,$FFFE,$0108,2,$10a,2,$1ba,$0f9,$1b8,$0f9
  649.  dc.w $F709,$FFFE,$0108,2,$10a,2,$1ba,$0f8,$1b8,$0f8
  650.  dc.w $F809,$FFFE,$0108,2,$10a,2,$1ba,$0f7,$1b8,$0f7
  651.  dc.w $F909,$FFFE,$0108,2,$10a,2,$1ba,$0f6,$1b8,$0f6
  652.  dc.w $FA09,$FFFE,$0108,2,$10a,2,$1ba,$0f5,$1b8,$0f5
  653.  dc.w $FB09,$FFFE,$0108,2,$10a,2,$1ba,$0f4,$1b8,$0f4
  654.  dc.w $FC09,$FFFE,$0108,2,$10a,2,$1ba,$0f3,$1b8,$0f3
  655.  dc.w $FD09,$FFFE,$0108,2,$10a,2,$1ba,$0f2,$1b8,$0f2
  656.  dc.w $FE09,$FFFE,$0108,2,$10a,2,$1ba,$0f1,$1b8,$0f1
  657.  
  658.  
  659.  dc.w    $ff09,$fffe,$ffdd,$fffe
  660.  
  661.  dc.w    $0009,$fffe
  662.  
  663.     DC.W    $00E0
  664. zPL0H        DC.W    $0000,$00E2
  665. zPL0L        DC.W    $0000,$00E4
  666. zPL1H        DC.W    $0000,$00E6
  667. zPL1L        DC.W    $0000,$00E8
  668. zPL2H        DC.W    $0000,$00EA
  669. zPL2L        DC.W    $0000,$00EC
  670. zPL3H        DC.W    $0000,$00EE
  671. zPL3L        DC.W    $0000,$00F0
  672. zPL4H        DC.W    $0000,$00F2
  673. zPL4L        DC.W    $0000
  674.         DC.W    $0180,$0000,$0182,$0000
  675.         DC.W    $0184,$0fff,$0186,$0000
  676.         DC.W    $0188,$0ddd,$018A,$0bbb
  677.         DC.W    $018C,$0aaa,$018E,$0999
  678.         DC.W    $0190,$0888,$0192,$0777
  679.         DC.W    $0194,$0666,$0196,$0555
  680.         DC.W    $0198,$0333,$019A,$0222
  681.         DC.W    $019C,$0111,$019E,$0000
  682.          dc.w    $108,2,$10a,2
  683.  dc.w      $0109,$fffe,$186,$000
  684.  dc.w     $0209,$fffe,$186,$000
  685.  dc.w     $0309,$fffe,$186,$11
  686.  dc.w    $0409,$fffe,$186,$22
  687.  dc.w    $0509,$fffe,$186,$33
  688.  dc.w    $0609,$fffe,$186,$044
  689.  dc.w     $0709,$fffe,$186,$055
  690.  dc.w    $0809,$fffe,$186,$066
  691.  dc.w    $0909,$fffe,$186,$077
  692.  dc.w    $0a09,$fffe,$186,$088
  693.  dc.w     $0b09,$fffe,$186,$099
  694.  dc.w    $0c09,$fffe,$186,$0aa
  695.  dc.w    $0d09,$fffe,$186,$0bb
  696.  dc.w    $0e09,$fffe,$186,$0cc
  697.  dc.w    $0f09,$fffe,$186,$0dd
  698.  dc.w    $1009,$fffe,$186,$0ee
  699.  dc.w    $1109,$fffe,$186,$1ee
  700.  dc.w    $1209,$fffe,$186,$2ee
  701.  dc.w    $1309,$fffe,$186,$3ee
  702.  dc.w    $1409,$fffe,$186,$4ee
  703.  dc.w    $1509,$fffe,$186,$5ee
  704.  dc.w    $1609,$fffe,$186,$6ee
  705.  dc.w    $1709,$fffe,$186,$7Ee
  706.  DC.W   $1809,$fffe,$186,$8ee,$180,$1,$182,$1
  707.  dc.w    $1909,$fffe,$186,$9ee,$180,$3,$182,$3
  708.  dc.w    $1a09,$fffe,$186,$aee,$180,$5,$182,$5
  709.  dc.w    $1b,$fffe,$186,$bee,$180,$7,$182,$7
  710.  dc.w    $1c09,$fffe,$186,$cee,$180,$9,$182,$9
  711.  dc.w    $1d09,$fffe,$186,$dee,$180,$b,$182,$b
  712.  dc.w    $1e09,$fffe,$186,$eee,$180,$d,$182,$d
  713.  dc.w    $1f09,$fffe,$186,$0f0,$180,$e,$182,$e
  714.  
  715.  dc.w    $2109,$fffe,$108,$ff7e,$10a,$ff7e
  716.  
  717.  dc.w    $2309,$fffe,$186,$ccc
  718. woplist    
  719.  dc.w    $2409,$fffe,$186,$bcc
  720.  dc.w    $2509,$fffe,$186,$acc
  721.  dc.w    $2609,$fffe,$186,$9cc
  722.  dc.w    $2709,$fffe,$186,$8bb
  723.  dc.w    $2809,$fffe,$186,$7bb
  724.  dc.w    $2909,$fffe,$186,$6bb
  725.  dc.w    $2a09,$fffe,$186,$5aa
  726.  dc.w    $2b09,$fffe,$186,$4aa
  727.  dc.w    $2c09,$fffe,$186,$3aa
  728.  dc.w    $2d09,$fffe,$186,$299
  729.  dc.w    $2e09,$fffe,$186,$199
  730.  dc.w    $2f09,$fffe,$186,$099
  731.  dc.w    $3009,$fffe,$186,$088
  732.  dc.w    $3109,$fffe,$108,$8c6,$10a,$8c6
  733.  dc.w    $3209,$fffe,$108,$2,$10a,$2
  734.  dc.w   $3309,$fffe,$180,$0,$182,$0,$184,$e00,$186,$f60,$188,$d60
  735.  dc.w    $18a,$b50,$18c,$a50,$18e,$840
  736.  dc.w    $9c,$8010
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.         DC.W    $FFFF,$FFFE
  744. gfxlib    dc.b    "graphics.library",0
  745.     EVEN
  746. _gfxbase    dc.l    0
  747. MEMORY_POINTER    dc.l    0
  748. MYRASTPORT    ds.b    RP_Sizeof
  749. MYBITMAP    ds.b    BM_Sizeof
  750. colour    dc.w    0
  751. flagz    dc.b    0
  752. wopptr    dc.l    wopdata
  753. wopdata    dc.w    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8
  754.     dc.w    7,6,5,4,3,2,1,$ffff
  755.  
  756.  
  757.  
  758.  
  759.  
  760. string            ;     *
  761.     dc.b    "  COMRADE J  ",254
  762.     dc.b    "OF SHARE AND ENJOY PRESENTS HIS NEW "
  763.     DC.B     "SCROLLY TEXT ROUTINE, FOR USE IN SAE DEMOS AND "
  764.     DC.B    "INTROS ONLY! ULTRA GREETOIDS TO ALL SAE MEMBERS "
  765.     DC.B    "YEAH HERE IZ ANOTHER    a SAE a   ",254,"  DISK! - GREETS TO "
  766.     DC.B    "EVERYONE. PHONE ME ON 01-668 9605 FOR A CHAT"
  767.     DC.B    "!!!!! NEXT a COPY PARTY @ CBM SHOW!    "
  768.     dc.b    "THIS IS A JOURNEY INTO SCROLLYTEXT WITH A DIP AND A "
  769.     DC.B    "DABBLE OF PURE 68000 FUNTIME GUYZ!?!?! "
  770.     DC.B    "aaaaaaa SHARE AND ENJOY aaaaaaa AND NOW, "
  771.      dc.b    255
  772.  
  773. string2    dc.b    "------  IF YOU WANT TO CONTACT SHARE AND ENJOY, GRAB A WRITING IMPLEMENT "
  774.      DC.B    "AND MAKE CAREFUL NOTE OF THE FOLLOWING ADDRESS.       "
  775.     DC.B    " SHARE&ENJOY ",254
  776.     DC.B    "  ROSEMOUNT  ",254
  777.     DC.B    "  48 MOUNTPLEASANT RD,"
  778.     DC.B    "   LEWISHAM  ",254
  779.     DC.B    "    LONDON   ",254
  780.     DC.B    "  SE13, 6RE  ",254
  781.     DC.B    "   ENGLAND   ",254
  782.     DC.B    "      NO LAMERS PLEASE!, AND NOW BACK TO THE MAIN TEXT ------"
  783.     dc.b    255 
  784.  
  785.     
  786.  
  787. spoint    dc.l    string
  788. myfont    dc.b    "fog "
  789.     ds.b     33788
  790.     dc.l    0
  791. mypiccy    dc.b    "fog "
  792.     ds.b     56316+100
  793.  
  794. ;***********************************
  795. ;***********************************
  796. ;**                               **
  797. ;** SoundTracker V4.0 Playroutine **
  798. ;**                               **
  799. ;**   Coder 1 : Karsten Obarski   **
  800. ;**                               **
  801. ;**   Coder 2 : The Exterminator  **
  802. ;**                               **
  803. ;**   Coder 3 : Il Scuro          **
  804. ;**                               **
  805. ;**   Coder 4 : AFL 1970          **
  806. ;**                               **
  807. ;**   Translator (to DEVPAC)      **
  808. ;**   Comrade J of Share and      **
  809. ;**   Enjoy                   **
  810. ;***********************************
  811. ;***********************************
  812.  
  813.  
  814.     dc.l    0
  815.  
  816. mt_speed    equ    $1f4
  817.  
  818.  
  819.  bsr        mt_init
  820.  move.w        #$4000,$dff09a
  821.  move.l        $00006c,mt_oldirq
  822.  move.l        #mt_newirq,$00006c
  823.  move.w        #$c000,$dff09a
  824.  
  825. mt_wait:
  826.  btst        #6,$bfe001
  827.  bne.s        mt_wait
  828.  
  829.  move.w        #$000f,$dff096
  830.  move.w        #$4000,$dff09a
  831.  move.l        mt_oldirq,$00006c
  832.  move.w        #$c000,$dff09a
  833.  clr.l        d0
  834.  rts
  835.  
  836. mt_init:
  837.  move.l        #s1,mt_sample1
  838.  move.l        #s2,mt_sample2
  839.  move.l        #s3,mt_sample3
  840.  move.l        #s4,mt_sample4
  841.  move.l        #s5,mt_sample5
  842.  move.l        #s6,mt_sample6
  843.  move.l        #s7,mt_sample7
  844.  move.l        #s8,mt_sample8
  845.  move.l        #s9,mt_sample9
  846.  move.l        #sa,mt_sample10
  847.  move.l        #sb,mt_sample11
  848.  move.l        #sc,mt_sample12
  849.  move.l        #sd,mt_sample13
  850.  move.l        #se,mt_sample14
  851.  move.l        #sf,mt_sample15
  852.  
  853.  move.l        #mt_sample1,a0
  854.  clr.l        d0
  855. mt_clear:
  856.  move.l        (a0,d0),a1
  857.  clr.l        (a1)
  858.  addq        #4,d0
  859.  cmp.l        #$3c,d0
  860.  bne.s        mt_clear
  861.  
  862.  move.w        #0,$dff0a8
  863.  move.w        #0,$dff0b8
  864.  move.w        #0,$dff0c8
  865.  move.w        #0,$dff0d8
  866.  eor.w        #$c000,mt_voice0+12
  867.  clr.l        mt_partnrplay
  868.  clr.l        mt_partnote
  869.  clr.l        mt_partpoint
  870.  
  871.  move.b        mt_sampleinfo+$1d6,mt_maxpart+1
  872.  move.b        mt_sampleinfo+$1d7,mt_kn1+1
  873.  rts
  874.  
  875.  
  876. mt_newirq:
  877.  movem.l        d0-d7/a0-a6,-(a7)
  878.  bsr        mt_music
  879.  movem.l        (a7)+,d0-d7/a0-a6
  880.  
  881.  dc.w        $4ef9
  882. mt_oldirq:
  883.  dc.l        0
  884.  
  885.  
  886. mt_music:
  887.  addq.l        #1,mt_counter
  888.  move.l        mt_tempo,d0
  889.  cmp.l        mt_counter,d0
  890.  bne.s        mt_notsix
  891.  clr.l        mt_counter
  892.  bra        mt_rout2
  893.  
  894. mt_notsix:
  895.  lea        mt_aud1temp,a6
  896.  tst.b        3(a6)
  897.  beq.s        mt_arp1
  898.  move.l        #$dff0a0,a5        
  899.  bsr.s        mt_arprout
  900.  
  901. mt_arp1:
  902.  lea        mt_aud2temp,a6
  903.  tst.b        3(a6)
  904.  beq.s        mt_arp2
  905.  move.l        #$dff0b0,a5
  906.  bsr.s        mt_arprout
  907.  
  908. mt_arp2:
  909.  lea        mt_aud3temp,a6
  910.  tst.b        3(a6)
  911.  beq.s        mt_arp3
  912.  move.l        #$dff0c0,a5
  913.  bsr.s        mt_arprout
  914.  
  915. mt_arp3:
  916.  lea        mt_aud4temp,a6
  917.  tst.b        3(a6)
  918.  beq.s        mt_arp4
  919.  move.l        #$dff0d0,a5
  920.  bsr.s        mt_arprout
  921. mt_arp4:
  922.  bra        mt_stop
  923.  
  924.  
  925. mt_arprout:
  926.  tst.w    24(a6)
  927.  beq.s    mt_noslide
  928.  
  929.  clr.w    d0
  930.  move.b    25(a6),d0
  931.  lsr.b    #4,d0
  932.  tst.b    d0
  933.  beq.s    mt_voldwn2
  934.  bsr    mt_pushvol1
  935.  bra.s    mt_noslide
  936.  
  937. mt_voldwn2:
  938.  clr.w    d0
  939.  move.b    25(a6),d0
  940.  bsr    mt_pushvol2
  941.  
  942. mt_noslide:
  943.  move.b    2(a6),d0
  944.  and.b    #$0f,d0
  945.  tst.b    d0
  946.  beq.L    mt_arpegrt
  947.  cmp.b    #3,d0
  948.  beq.L    mt_arpegrt
  949.  cmp.b    #4,d0
  950.  beq.L    mt_arpegrt
  951.  cmp.b    #5,d0
  952.  beq.L    mt_arpegrt
  953.  cmp.b    #1,d0
  954.  beq.s    mt_portup
  955.  cmp.b    #6,d0
  956.  beq.s    mt_portup
  957.  cmp.b    #7,d0
  958.  beq.s    mt_portup
  959.  cmp.b    #8,d0
  960.  beq.s    mt_portup
  961.  cmp.b    #2,d0
  962.  beq.s    mt_portdwn
  963.  cmp.b    #9,d0
  964.  beq.s    mt_portdwn
  965.  cmp.b    #10,d0
  966.  beq.s    mt_portdwn
  967.  cmp.b    #11,d0
  968.  beq.s    mt_portdwn
  969.  cmp.b    #13,d0
  970.  beq.s    mt_volup
  971.  rts
  972.  
  973. mt_portup:
  974.  clr.w    d0
  975.  move.b    3(a6),d0
  976.  sub.w    d0,22(a6)
  977.  cmp.w    #$71,22(a6)
  978.  bpl.s    mt_ok1
  979.  move.w    #$71,22(a6)
  980. mt_ok1:
  981.  move.w    22(a6),6(a5)
  982.  rts
  983.  
  984. mt_portdwn:
  985.  clr.w    d0
  986.  move.b    3(a6),d0
  987.  add.w    d0,22(a6)
  988.  cmp.w    #$358,22(a6)
  989.  bmi.s    mt_ok2
  990.  move.w    #$358,22(a6)
  991. mt_ok2:
  992.  move.w    22(a6),6(a5)
  993.  rts
  994.  
  995. mt_volup:
  996.  clr.w    d0
  997.  move.b    3(a6),d0
  998.  lsr.b    #4,d0
  999.  tst.b    d0
  1000.  beq.s    mt_voldwn
  1001. mt_pushvol1:
  1002.  add.w    d0,$12(a6)
  1003.  cmp.w    #$40,$12(a6)
  1004.  bmi.s    mt_ok3
  1005.  move.w    #$40,$12(a6)
  1006. mt_ok3:
  1007.  move.w    $12(a6),8(a5)
  1008.  rts
  1009.  
  1010. mt_voldwn:
  1011.  clr.w    d0
  1012.  move.b    3(a6),d0
  1013. mt_pushvol2:
  1014.  and.b    #$0f,d0
  1015.  sub.w    d0,$12(a6)
  1016.  bpl.s    mt_ok4
  1017.  clr.w    $12(a6)
  1018. mt_ok4:
  1019.  move.w    $12(a6),8(a5)
  1020.  rts
  1021.  
  1022. mt_arpegrt:
  1023.  cmp.l        #1,mt_counter
  1024.  beq.s        mt_loop2
  1025.  cmp.l        #2,mt_counter
  1026.  beq.s        mt_loop3
  1027.  cmp.l        #3,mt_counter
  1028.  beq.s        mt_loop4
  1029.  cmp.l        #4,mt_counter
  1030.  beq.s        mt_loop2
  1031.  cmp.l        #5,mt_counter
  1032.  beq.s        mt_loop3
  1033.  rts
  1034.  
  1035. mt_loop2:
  1036.  clr.l        d0
  1037.  move.b        3(a6),d0
  1038.  lsr.b        #4,d0
  1039.  bra.s        mt_cont
  1040.  
  1041. mt_loop3:
  1042.  clr.l        d0
  1043.  move.b        3(a6),d0
  1044.  and.b        #$0f,d0
  1045.  bra.s        mt_cont
  1046.  
  1047. mt_loop4:
  1048.  move.w        16(a6),d2
  1049.  bra.s        mt_endpart
  1050.  
  1051. mt_cont:
  1052.  lsl.w        #1,d0
  1053.  clr.l        d1
  1054.  move.w        16(a6),d1
  1055.  lea        mt_arpeggio,a0
  1056. mt_loop5:
  1057.  move.w        (a0,d0),d2
  1058.  cmp.w        (a0),d1
  1059.  beq.s        mt_endpart
  1060.  addq.l        #2,a0
  1061.  bra.s        mt_loop5
  1062.  
  1063. mt_endpart:
  1064.  move.w        d2,6(a5)
  1065.  rts
  1066.  
  1067. mt_rout2:
  1068.  lea        mt_sampleinfo,a0
  1069.  move.l        a0,a3
  1070.  add.l        #$0c,a3
  1071.  move.l        a0,a2
  1072.  add.l        #$1d8,a2
  1073.  add.l        #$258,a0
  1074.  move.l        mt_partnrplay,d0
  1075.  clr.l        d1
  1076.  move.b        (a2,d0),d1
  1077.  mulu        #$0400,d1
  1078.  add.l        mt_partnote,d1
  1079.  move.l        d1,mt_partpoint
  1080.  clr.w        mt_dmacon
  1081.  
  1082.  move.l        #$dff0a0,a5
  1083.  lea        mt_aud1temp,a6
  1084.  bsr        mt_playit
  1085.  
  1086.  move.l        #$dff0b0,a5
  1087.  lea        mt_aud2temp,a6
  1088.  bsr        mt_playit
  1089.  
  1090.  move.l        #$dff0c0,a5
  1091.  lea        mt_aud3temp,a6
  1092.  bsr        mt_playit
  1093.  
  1094.  move.l        #$dff0d0,a5
  1095.  lea        mt_aud4temp,a6
  1096.  bsr        mt_playit
  1097.  
  1098.  move.l        #mt_speed,d0
  1099. mt_rls:
  1100.  dbf        d0,mt_rls
  1101.  
  1102.  move.l        #$8000,d0
  1103.  add.w        mt_dmacon,d0
  1104.  move.w        d0,$dff096
  1105.  
  1106.  move.l        #mt_aud4temp,a6
  1107.  cmp.w        #1,14(a6)
  1108.  bne.s        mt_voice3
  1109.  move.l        10(a6),$dff0d0
  1110.  move.w        #1,$dff0d4
  1111. mt_voice3:
  1112.  move.l        #mt_aud3temp,a6
  1113.  cmp.w        #1,14(a6)
  1114.  bne.s        mt_voice2
  1115.  move.l        10(a6),$dff0c0
  1116.  move.w        #1,$dff0c4
  1117. mt_voice2:
  1118.  move.l        #mt_aud2temp,a6
  1119.  cmp.w        #1,14(a6)
  1120.  bne.s        mt_voice1
  1121.  move.l        10(a6),$dff0b0
  1122.  move.w        #1,$dff0b4
  1123. mt_voice1:
  1124.  move.l        #mt_aud1temp,a6
  1125.  cmp.w        #1,14(a6)
  1126.  bne.s        mt_voice0
  1127.  move.l        10(a6),$dff0a0
  1128.  move.w        #1,$dff0a4
  1129.  
  1130. mt_voice0:
  1131.  lea        mt_modulate,a0
  1132.  move.l        mt_partnote,d0
  1133.  lsl.b        #7,d0
  1134.  add.l        #$10,d0
  1135.  move.l        d0,mt_partnote
  1136.  cmp.l        #$400,d0
  1137.  bne.s        mt_stop
  1138.  clr.l        mt_partnote
  1139.  addq.l        #1,mt_partnrplay
  1140.  clr.l        d0
  1141.  move.w        mt_maxpart,d0
  1142.  move.l        mt_partnrplay,d1
  1143.  cmp.l        d0,d1
  1144.  bne.s        mt_stop
  1145.  clr.l        mt_partnrplay
  1146. mt_stop:
  1147.  rts
  1148.  
  1149.  
  1150. mt_playit:
  1151.  move.l        (a0,d1),(a6)
  1152.  addq.l        #4,d1
  1153.  clr.l        d2
  1154.  move.b        2(a6),d2
  1155.  and.b        #$f0,d2
  1156.  lsr.b        #4,d2
  1157.  tst.b        d2
  1158.  beq.s        mt_nosamplechange
  1159.  
  1160.  clr.l        d3
  1161.  lea        mt_samples,a1
  1162.  move.l        d2,d4
  1163.  mulu        #4,d2
  1164.  mulu        #$1e,d4
  1165.  move.l        (a1,d2),4(a6)
  1166.  move.w        (a3,d4),8(a6)
  1167.  move.w        2(a3,d4),18(a6)
  1168.  move.w        4(a3,d4),d3
  1169.  tst.w        d3
  1170.  beq.s        mt_displace
  1171.  move.l        4(a6),d2
  1172.  add.l        d3,d2
  1173.  move.l        d2,4(a6)
  1174.  move.l        d2,10(a6)
  1175.  move.w        6(a3,d4),8(a6)
  1176.  move.w        6(a3,d4),14(a6)
  1177.  move.w        18(a6),8(a5)
  1178.  bra.s        mt_nosamplechange
  1179. mt_displace:
  1180.  move.l        4(a6),d2
  1181.  add.l        d3,d2
  1182.  move.l        d2,10(a6)
  1183.  move.w        6(a3,d4),14(a6)
  1184.  move.w        18(a6),8(a5)
  1185. mt_nosamplechange:
  1186.  tst.w        (a6)
  1187.  beq.s        mt_retrout
  1188.  move.w        (a6),16(a6)
  1189.  move.w        20(a6),$dff096
  1190.  move.l        4(a6),(a5)
  1191.  move.w        8(a6),4(a5)
  1192.  move.w        (a6),6(a5)
  1193.  move.w        20(a6),d0
  1194.  or.w        d0,mt_dmacon
  1195.  
  1196. mt_retrout:
  1197.  move.w    20(a6),d0
  1198.  lsl.w    #4,d0
  1199.  add.w    20(a6),d0
  1200.  move.w    d0,$dff09e
  1201.  
  1202.  tst.w    (a6)
  1203.  beq.s    mt_nonewper
  1204.  move.w    (a6),22(a6)
  1205. mt_nonewper:
  1206.  
  1207.  move.b    2(a6),d0
  1208.  and.b    #$0f,d0
  1209.  cmp.b    #14,d0
  1210.  beq.s    mt_zx1
  1211.  cmp.b    #15,d0
  1212.  bne.s    mt_noset
  1213.  
  1214.  move.w    2(a6),d0
  1215.  and.l    #$f,d0
  1216.  move.l    d0,mt_tempo
  1217.  rts
  1218.  
  1219. mt_zx1:
  1220.  move.w    2(a6),24(a6)
  1221.  rts
  1222. mt_noset:
  1223.  tst.b    3(a6)
  1224.  bne.s    mt_noclr
  1225.  clr.w    24(a6)
  1226. mt_noclr:
  1227.  cmp.b    #3,d0
  1228.  beq.s    mt_modvol
  1229.  cmp.b    #6,d0
  1230.  beq.s    mt_modvol
  1231.  cmp.b    #9,d0
  1232.  beq.s    mt_modvol
  1233.  cmp.b    #4,d0
  1234.  beq.s    mt_modper
  1235.  cmp.b    #7,d0
  1236.  beq.s    mt_modper
  1237.  cmp.b    #10,d0
  1238.  beq.s    mt_modper
  1239.  cmp.b    #5,d0
  1240.  beq.s    mt_modvolper
  1241.  cmp.b    #8,d0
  1242.  beq.s    mt_modvolper
  1243.  cmp.b    #11,d0
  1244.  beq.s    mt_modvolper
  1245.  cmp.b    #12,d0
  1246.  bne.s    mt_nochnge
  1247.  move.b    3(a6),8(a5)
  1248.  mt_nochnge:
  1249.  rts
  1250.  
  1251. mt_modvol:
  1252.  move.w    20(a6),d0
  1253.  bra.s    mt_push
  1254.  
  1255. mt_modper:
  1256.  move.w    20(a6),d0
  1257.  lsl.w    #4,d0
  1258.  bra.s    mt_push
  1259.  
  1260. mt_modvolper:
  1261.  move.w    20(a6),d0
  1262.  lsl.w    #4,d0
  1263.  add.w    20(a6),d0
  1264.  
  1265. mt_push:
  1266.  add.w    #$8000,d0
  1267.  move.w    d0,$dff09e
  1268.  rts
  1269.  
  1270.  
  1271. mt_aud1temp:
  1272.  dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  1273.  dc.w $0000,$0000,$0001,$0000,$0000
  1274. mt_aud2temp:
  1275.  dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  1276.  dc.w $0000,$0000,$0002,$0000,$0000
  1277. mt_aud3temp:
  1278.  dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  1279.  dc.w $0000,$0000,$0004,$0000,$0000
  1280. mt_aud4temp:
  1281.  dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
  1282.  dc.w $0000,$0000,$0008,$0000,$0000
  1283. mt_partnote:
  1284.  dc.l 0
  1285. mt_partnrplay:
  1286.  dc.l 0
  1287. mt_counter:
  1288.  dc.l 0
  1289. mt_tempo:
  1290.  dc.l 6
  1291. mt_partpoint:
  1292.  dc.l 0
  1293. mt_samples:
  1294.  dc.w $0000,$0000
  1295. mt_sample1:
  1296.  dc.l 0
  1297. mt_sample2:
  1298.  dc.l 0
  1299. mt_sample3:
  1300.  dc.l 0
  1301. mt_sample4:
  1302.  dc.l 0
  1303. mt_sample5:
  1304.  dc.l 0
  1305. mt_sample6:
  1306.  dc.l 0
  1307. mt_sample7:
  1308.  dc.l 0
  1309. mt_sample8:
  1310.  dc.l 0
  1311. mt_sample9:
  1312.  dc.l 0
  1313. mt_sample10:
  1314.  dc.l 0
  1315. mt_sample11:
  1316.  dc.l 0
  1317. mt_sample12:
  1318.  dc.l 0
  1319. mt_sample13:
  1320.  dc.l 0
  1321. mt_sample14:
  1322.  dc.l 0
  1323. mt_sample15:
  1324.  dc.l 0
  1325. mt_maxpart:
  1326.  dc.w $0000
  1327. mt_kn1:
  1328.  dc.w $0000
  1329. mt_dmacon:
  1330.  dc.w $0000
  1331.  
  1332. mt_modulate:
  1333.  dc.w $0c39,$0039,$00bf,$ec01,$6630,$0839,$0007,$00bf
  1334.  dc.w $e001,$6626,$2c79,$0000,$0004,$43fa,$0020,$4eae
  1335.  dc.w $fe68,$2c40,$4280,$41fa,$0026,$223c,$0000,$0032
  1336.  dc.w $4eae,$ffa6,$60ee,$0000,$0000,$4e75,$696e,$7475
  1337.  dc.w $6974,$696f,$6e2e,$6c69,$6272,$6172,$7900,$0104
  1338.  dc.w $1753,$6f75,$6e64,$5472,$6163,$6b65,$7220,$5632
  1339.  dc.w $0063,$00f0,$20a9,$2054,$6865,$204a,$756e,$676c
  1340.  dc.w $6520,$436f,$6d6d,$616e,$6400,$0000
  1341.  
  1342. mt_arpeggio:
  1343.  dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c
  1344.  dc.w $023a,$021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d
  1345.  dc.w $0168,$0153,$0140,$012e,$011d,$010d,$00fe,$00f0
  1346.  dc.w $00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097
  1347.  dc.w $008f,$0087,$007f,$0078,$0071,$0000,$0000,$0000
  1348.  
  1349. mt_sampleinfo:    ds.b    0
  1350. s1:        ds.b    0
  1351. s2:        ds.b    0
  1352. s3:        ds.b    0
  1353. s4:        ds.b    0
  1354. s5:        ds.b    0
  1355. s6:        ds.b    0
  1356. s7:        ds.b    0
  1357. s8:        ds.b    0
  1358. s9:        ds.b    0
  1359. sa:        ds.b    0
  1360. sb:        ds.b    0
  1361. sc:        ds.b    0
  1362. sd:        ds.b    0
  1363. se:        ds.b    0
  1364. sf:        ds.b    0
  1365.  
  1366.  
  1367.  
  1368.