home *** CD-ROM | disk | FTP | other *** search
/ Supremacy 1 / Supremacy-1.iso / DEMOS / U-V / ULTCHPDK.ZIP / SOURCES.ZIP / ASM68000.ZIP / MAD_MUS.S < prev    next >
Text File  |  1987-04-22  |  10KB  |  394 lines

  1. ********************
  2. *AYOROS FROM IMPACT*
  3. ********************
  4.  
  5. ********************************************************************************
  6. *MUSIC BY MAD MAX, PLAYER BY MAD MAX, EXECUTEUR BY AYOROS
  7. *        NUMBER OF MUSIC, PRESENT ON THIS DISK
  8. *        TLB.MUS     
  9. *        DARK_TLB.MUS
  10. *        NIGHT.MUS
  11. *        BUMP.MUS
  12. *        ASTHRAY.MUS    
  13. *        OVER_TEX.MUS
  14. *        AND MUCH OTHERS, LOOK THE DIRECTORY...
  15. ********************************************************************************   
  16.     
  17.         SECTION    TEXT
  18.         
  19.         OPT    O+
  20.     
  21.         CLR.L    -(SP)
  22.         MOVE.W    #$20,-(SP)    *superviseur
  23.         TRAP    #1
  24.         ADDQ.L    #6,SP
  25.     
  26.         MOVE.L    D0,-(SP)
  27.         
  28.         MOVE.W    #1,-(SP)    *ecran moyenne resolution
  29.         MOVE.L    #$78000,-(SP)   *adresse ecran $78000 pour 520 ST
  30.         MOVE.L    #$78000,-(SP)   *adresse ecran $F8000 pour 1040 ST
  31.         MOVE.W    #5,-(SP)
  32.         TRAP    #14
  33.         ADDQ.L    #6,SP
  34.  
  35.         DC.W    $A00A        *cache souris
  36.         
  37.         PEA    TEXT(PC)
  38.         MOVE.W    #9,-(SP)    *affiche txt
  39.         TRAP    #1
  40.         ADDQ.L    #6,SP
  41.  
  42.         LEA    VU_METRE(PC),A2
  43.         MOVE.L    A2,$4D6.W    *affiche vumetre
  44.         
  45.  
  46.         LEA    STOP_MOUSE(PC),A4
  47.         ADDQ.L    #3,A4
  48.         MOVE.B    $484.W,(A4)     *stop clavier bip et souris
  49.         MOVE.B    #2,$484.W
  50.         
  51.         LEA    DATA(PC),A0    *adresse des data_packe
  52.         LEA    MUSIC(PC),A1    *adresse music pour depack
  53.         BSR    depack        *depack music
  54.         
  55.         MOVEQ    #1,D0        *appel musique
  56.         BSR    MUSIC
  57.  
  58.         LEA    MUSIC(PC),A0
  59.         ADDQ.L    #8,A0
  60.         MOVE.L    A0,$4D2.W        *exec musique
  61.         
  62. TOUCHE_ESPACE    
  63.         CMP.B    #$39,$FFFFFC02.W    *attend appuie sur espace
  64.         BNE.S    TOUCHE_ESPACE
  65.         
  66.         CLR.L    $4D2.W            *stop musique
  67.         CLR.L    $4D6.W            *stop vumetre
  68.         
  69.         MOVE.L    #$08080000,$FFFF8800.W    *stop son
  70.         MOVE.L    #$09090000,$FFFF8800.W
  71.         MOVE.L    #$0A0A0000,$FFFF8800.W
  72.  
  73. STOP_MOUSE    MOVE.B    #$12,$484.W        *remet souris
  74.         DC.W    $A009
  75.     
  76.         CLR.L    -(SP)            *stop programme
  77.         TRAP    #1
  78.  
  79. VU_METRE
  80.               LEA     $78000+0+160*160,A0
  81.               MOVEA.L A0,A1 
  82.               MOVEA.L A0,A2 
  83.               MOVE.W  #3,D0 
  84. VU_0        CLR.W   (A0)
  85.               CLR.W   160(A0) 
  86.               CLR.W   320(A0) 
  87.               CLR.W   480(A0) 
  88.               CLR.W   640(A0) 
  89.               CLR.W   800(A0) 
  90.               CLR.W   32(A0)
  91.               CLR.W   192(A0) 
  92.               CLR.W   352(A0) 
  93.               CLR.W   512(A0) 
  94.               CLR.W   672(A0) 
  95.              CLR.W   832(A0) 
  96.               CLR.W   64(A0)
  97.               CLR.W   224(A0) 
  98.               CLR.W   384(A0) 
  99.               CLR.W   544(A0) 
  100.               CLR.W   704(A0) 
  101.              CLR.W   864(A0) 
  102.               CLR.W   96(A0)
  103.               CLR.W   256(A0) 
  104.               CLR.W   416(A0) 
  105.               CLR.W   576(A0) 
  106.               CLR.W   736(A0) 
  107.               CLR.W   896(A0)
  108.               ADDQ.W  #8,A0 
  109.               DBF     D0,VU_0
  110.               MOVE.B  #8,$FFFF8800.W
  111.               MOVE.B  $FFFF8800.W,D0
  112.               ANDI.W  #$F,D0
  113. VU_1        SUBQ.W  #1,(A1) 
  114.               SUBQ.W  #1,160(A1)
  115.               SUBQ.W  #1,320(A1)
  116.               SUBQ.W  #1,480(A1)
  117.               SUBQ.W  #1,640(A1)
  118.               SUBQ.W  #1,800(A1)
  119.               ADDQ.W  #8,A1 
  120.               DBF     D0,VU_1
  121.               ADDA.L  #$5A0,A2
  122.               MOVEA.L A2,A1 
  123.               MOVEA.L A2,A0 
  124.               MOVE.W  #3,D0 
  125. VU_2:        CLR.W   (A0)
  126.               CLR.W   160(A0) 
  127.               CLR.W   320(A0) 
  128.              CLR.W   480(A0) 
  129.               CLR.W   640(A0) 
  130.              CLR.W   800(A0) 
  131.               CLR.W   32(A0)
  132.               CLR.W   192(A0) 
  133.               CLR.W   352(A0) 
  134.               CLR.W   512(A0) 
  135.               CLR.W   672(A0) 
  136.               CLR.W   832(A0) 
  137.               CLR.W   64(A0)
  138.               CLR.W   224(A0) 
  139.               CLR.W   384(A0) 
  140.               CLR.W   544(A0) 
  141.               CLR.W   704(A0) 
  142.               CLR.W   864(A0) 
  143.               CLR.W   96(A0)
  144.               CLR.W   256(A0) 
  145.               CLR.W   416(A0) 
  146.               CLR.W   576(A0) 
  147.               CLR.W   736(A0) 
  148.               CLR.W   896(A0) 
  149.               ADDQ.W  #8,A0 
  150.               DBF     D0,VU_2
  151.               MOVE.B  #9,$FFFF8800.W
  152.               MOVE.B  $FFFF8800.W,D0
  153.               ANDI.W  #$F,D0
  154. VU_3:        SUBQ.W  #1,(A1) 
  155.               SUBQ.W  #1,160(A1)
  156.               SUBQ.W  #1,320(A1)
  157.               SUBQ.W  #1,480(A1)
  158.               SUBQ.W  #1,640(A1)
  159.               SUBQ.W  #1,800(A1)
  160.               ADDQ.W  #8,A1 
  161.               DBF     D0,VU_3
  162.               ADDA.L  #$5A0,A2
  163.               MOVEA.L A2,A1 
  164.               MOVEA.L A2,A0 
  165.               MOVE.W  #3,D0 
  166. VU_4:        CLR.W   (A0)
  167.               CLR.W   160(A0) 
  168.               CLR.W   320(A0) 
  169.               CLR.W   480(A0) 
  170.               CLR.W   640(A0) 
  171.               CLR.W   800(A0) 
  172.               CLR.W   32(A0)
  173.               CLR.W   192(A0) 
  174.               CLR.W   352(A0) 
  175.               CLR.W   512(A0) 
  176.               CLR.W   672(A0) 
  177.               CLR.W   832(A0) 
  178.               CLR.W   64(A0)
  179.               CLR.W   224(A0) 
  180.               CLR.W   384(A0) 
  181.               CLR.W   544(A0) 
  182.               CLR.W   704(A0) 
  183.               CLR.W   864(A0) 
  184.               CLR.W   96(A0)
  185.               CLR.W   256(A0) 
  186.               CLR.W   416(A0) 
  187.               CLR.W   576(A0) 
  188.               CLR.W   736(A0) 
  189.               CLR.W   896(A0) 
  190.               ADDQ.W  #8,A0 
  191.               DBF     D0,VU_4
  192.               MOVE.B     #$A,$FFFF8800.W 
  193.               MOVE.B     $FFFF8800.W,D0
  194.               ANDI.W  #$F,D0
  195. VU_5:        SUBQ.W  #1,(A1) 
  196.         SUBQ.W  #1,160(A1)
  197.               SUBQ.W  #1,320(A1)
  198.               SUBQ.W  #1,480(A1)
  199.               SUBQ.W  #1,640(A1)
  200.               SUBQ.W  #1,800(A1)
  201.               ADDQ.W  #8,A1 
  202.               DBF     D0,VU_5
  203.          RTS
  204. ***************************************************************************
  205.  
  206. PIC_ALGO:    equ    1
  207.  
  208. depack:    movem.l    d0-a6,-(a7)
  209.     cmp.l    #"ATOM",(a0)+
  210.     bne    no_crunched
  211.     move.l    a1,a5
  212.     add.l    (a0)+,a5
  213.     ifne    PIC_ALGO
  214.     pea    (a5)
  215.     endc
  216.     move.l    (a0)+,d0    
  217.     lea    0(a0,d0.l),a6
  218.     move.b    -(a6),d7
  219.     bra    make_jnk
  220. tablus:    lea    tablus_table(pc),a4
  221.     moveq    #1,d6
  222.     bsr.s    get_bit2
  223.     bra.s    tablus2
  224. decrunch:    moveq    #6,d6
  225. take_lenght:    add.b    d7,d7
  226.     beq.s    .empty1
  227. .cont_copy:    dbcc    d6,take_lenght
  228.     bcs.s    .next_cod
  229.     moveq    #6,d5
  230.     sub    d6,d5
  231.     bra.s    .do_copy
  232. .next_cod:    moveq    #3,d6
  233.     bsr.s    get_bit2
  234.     beq.s    .next_cod1
  235.     addq    #6,d5
  236.     bra.s    .do_copy
  237. .next_cod1:    moveq    #7,d6
  238.     bsr.s    get_bit2
  239.     beq.s    .next_cod2
  240.     add    #15+6,d5
  241.     bra.s    .do_copy
  242. .empty1:    move.b    -(a6),d7
  243.     addx.b    d7,d7
  244.     bra.s    .cont_copy
  245. .next_cod2:    moveq    #13,d6
  246.     bsr.s    get_bit2
  247.     add    #255+15+6,d5
  248. .do_copy:    move    d5,-(a7)
  249.     bne.s    bigger
  250.     lea    decrun_table2(pc),a4
  251.     moveq    #2,d6
  252.     bsr.s    get_bit2
  253.     cmp    #5,d5
  254.     blt.s    contus
  255.     addq    #2,a7
  256.     subq    #6,d5
  257.     bgt.s    tablus
  258.     move.l    a5,a4
  259.     blt.s    .first4
  260.     addq    #4,a4
  261. .first4:    moveq    #1,d6
  262.     bsr.s    get_bit2
  263. tablus2:    move.b    0(a4,d5.w),-(a5)    
  264.     bra.s    make_jnk
  265. get_bit2:    clr    d5
  266. .get_bits:    add.b    d7,d7
  267.     beq.s    .empty
  268. .cont:    addx    d5,d5
  269.     dbf    d6,.get_bits
  270.     tst    d5
  271.     rts
  272. .empty:    move.b    -(a6),d7
  273.     addx.b    d7,d7
  274.     bra.s    .cont
  275. bigger:    lea    decrun_table(pc),a4
  276. cont:    moveq    #2,d6
  277.     bsr.s    get_bit2
  278. contus:    move    d5,d4
  279.     move.b    14(a4,d4.w),d6
  280.     ext    d6
  281.     bsr.s    get_bit2
  282.     add    d4,d4
  283.     beq.s    .first
  284.     add    -2(a4,d4.w),d5
  285. .first:    lea    1(a5,d5.w),a4
  286.     move    (a7)+,d5
  287.     move.b    -(a4),-(a5)
  288. .copy_same:    move.b    -(a4),-(a5)
  289.     dbf    d5,.copy_same
  290. make_jnk:    moveq    #11,d6
  291.     moveq    #11,d5
  292. take_jnk:    add.b    d7,d7
  293.     beq.s    empty
  294. cont_jnk:    dbcc    d6,take_jnk
  295.     bcs.s    next_cod
  296.     sub    d6,d5
  297.     bra.s    copy_jnk1
  298. next_cod:    moveq    #7,d6
  299.     bsr.s    get_bit2
  300.     beq.s    .next_cod1
  301.     addq    #8,d5
  302.     addq    #3,d5
  303.     bra.s    copy_jnk1
  304. .next_cod1:    moveq    #2,d6
  305.     bsr.s    get_bit2
  306.     swap    d5
  307.     moveq    #15,d6
  308.     bsr.s    get_bit2
  309.     addq.l    #8,d5
  310.     addq.l    #3,d5    
  311. copy_jnk1:    subq    #1,d5
  312.     bmi.s    .end_word
  313.     moveq    #1,d6
  314.     swap    d6
  315. .copy_jnk:    move.b    -(a6),-(a5)
  316.     dbf    d5,.copy_jnk
  317.     sub.l    d6,d5
  318.     bpl.s    .copy_jnk
  319. .end_word:    cmp.l    a6,a0
  320. .decrunch:    bne    decrunch
  321.     cmp.b    #$80,d7
  322.     bne.s    .decrunch
  323.     ifne    PIC_ALGO
  324.     move.l    (a7)+,a0
  325.     bsr.s    decod_picture
  326.     endc
  327. no_crunched:    movem.l    (a7)+,d0-a6
  328.      rts
  329. empty:    move.b    -(a6),d7
  330.     addx.b    d7,d7
  331.     bra.s    cont_jnk
  332. decrun_table:    dc.w    32,32+64,32+64+256,32+64+256+512,32+64+256+512+1024
  333.     dc.w    32+64+256+512+1024+2048,32+64+256+512+1024+2048+4096
  334.     dc.b    4,5,7,8,9,10,11,12
  335. decrun_table2:    dc.w    32,32+64,32+64+128,32+64+128+256
  336.     dc.w    32+64+128+256+512,32+64+128+256+512*2
  337.     dc.w    32+64+128+256+512*3
  338.     dc.b    4,5,6,7,8,8
  339. tablus_table:    dc.b    $60,$20,$10,$8
  340.     ifne    PIC_ALGO
  341. decod_picture:    move    -(a0),d7
  342.     clr    (a0)
  343. .next_picture:    dbf    d7,.decod_algo
  344.     rts
  345. .decod_algo:    move.l    -(a0),d0
  346.     clr.l    (a0)
  347.     lea    0(a5,d0.l),a1
  348.     lea    $7d00(a1),a2
  349. .next_planes:    moveq    #3,d6
  350. .next_word:    move    (a1)+,d0
  351.     moveq    #3,d5
  352. .next_bits:    add    d0,d0
  353.     addx    d1,d1
  354.     add    d0,d0
  355.     addx    d2,d2
  356.     add    d0,d0
  357.     addx    d3,d3
  358.     add    d0,d0
  359.     addx    d4,d4
  360.     dbf    d5,.next_bits
  361.     dbf    d6,.next_word
  362.     movem    d1-d4,-8(a1)
  363.     cmp.l    a1,a2
  364.     bne.s    .next_planes
  365.     bra.s    .next_picture
  366.     endc
  367. *******************************************************************************************
  368.  
  369.     SECTION    DATA
  370. TEXT    
  371.  DC.B    $1B,'E'
  372.          ********************************************************************************
  373.  DC.B    "              HERE IS....IMPACT SOUNDSHIP MUSIC 3 FOR YOUR PLEASURE             ",$A,$D,$A,$D,$A,$D
  374.  DC.B    "            MUSIC COMPOSED BY MADMAX, RIPPED AND EXEC_MUSIC BY AYOROS ",$A,$D,$A,$D
  375.  DC.B    "                       MUSIC NAME : DIVERS THEME (C) 1991                 ",$A,$D,$A,$D,$A,$D
  376.  DC.B    "THIS DISK WAS IMPROVED BY AYOROS, AND MOTIVATE BY ARAKIS ( WHO SWAPP THE DISK! )",$A,$D
  377.  DC.B    "                             TO CONTACT US WRITE TO                             ",$D,$A
  378.  DC.B    "      IMPACT OR ARAKIS  8 RUE BRUYERE DES BADAUDS  1428 LILLOIS  BELGIUM        ",$D,$A
  379.  DC.B   "                           NO ILLEGAL SWAPPING PLEASE                           ",$A,$D
  380.  DC.B    "                                 GREETINGS GO TO                                ",$D,$A
  381.  DC.B    "ETERNAL, HOTLINE (ESP. RUTHLESS), FACTORY (HOOKER,MC REGGIE,RADIAL,ZORVACK,VAND)",$A,$D
  382.  DC.B   "ARAKIS (FRODON), FUN VISION (NIC), EMPIRE (ALL MEMBERS), MYSTIC (LTK MR SPIRIT) ",$D,$A
  383.  DC.B    "   THE PENDRAGONS (SILVER), NEXT (LEM), FARAMIR, PHENIX, TSB, RADICAL BANDITS   ",$D,$A
  384.  DC.B    "    THE SYNDICATE (ALL MEMBERS), THE REPLICANTS (SNAKE), NIGHTHAWK, SWEETECH    ",$D,$A    
  385.  DC.B    "ZUUL, FM, THE PROPHANATORS, DELTA FORCE, THE UNION, AUTOMATION, POMPEY PIRATES",$D,$A
  386.  DC.B    "FIREHAWK, THE OVERLANDERS (DAUGUE DE MAUVE), THALION CREW, THE LOST BOYS (SAMMY)",$D,$A
  387.  DC.B    "    DNT (AXIOM), EQUINOX, MAD VISION (ALEXIS), BAD BOYS, OMEGA, SYNC, AND HMD.  ",$A,$D  
  388.  DC.B    0    
  389.  
  390.     EVEN
  391. DATA    INCBIN    A:\DIVERS.MAD\NIGHT.MUS
  392.     EVEN
  393. MUSIC        
  394.