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

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