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

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