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 >
Wrap
Text File
|
1987-04-22
|
10KB
|
394 lines
********************
*AYOROS FROM IMPACT*
********************
********************************************************************************
*MUSIC BY MAD MAX, PLAYER BY MAD MAX, EXECUTEUR BY AYOROS
* NUMBER OF MUSIC, PRESENT ON THIS DISK
* TLB.MUS
* DARK_TLB.MUS
* NIGHT.MUS
* BUMP.MUS
* ASTHRAY.MUS
* OVER_TEX.MUS
* AND MUCH OTHERS, LOOK THE DIRECTORY...
********************************************************************************
SECTION TEXT
OPT O+
CLR.L -(SP)
MOVE.W #$20,-(SP) *superviseur
TRAP #1
ADDQ.L #6,SP
MOVE.L D0,-(SP)
MOVE.W #1,-(SP) *ecran moyenne resolution
MOVE.L #$78000,-(SP) *adresse ecran $78000 pour 520 ST
MOVE.L #$78000,-(SP) *adresse ecran $F8000 pour 1040 ST
MOVE.W #5,-(SP)
TRAP #14
ADDQ.L #6,SP
DC.W $A00A *cache souris
PEA TEXT(PC)
MOVE.W #9,-(SP) *affiche txt
TRAP #1
ADDQ.L #6,SP
LEA VU_METRE(PC),A2
MOVE.L A2,$4D6.W *affiche vumetre
LEA STOP_MOUSE(PC),A4
ADDQ.L #3,A4
MOVE.B $484.W,(A4) *stop clavier bip et souris
MOVE.B #2,$484.W
LEA DATA(PC),A0 *adresse des data_packe
LEA MUSIC(PC),A1 *adresse music pour depack
BSR depack *depack music
MOVEQ #1,D0 *appel musique
BSR MUSIC
LEA MUSIC(PC),A0
ADDQ.L #8,A0
MOVE.L A0,$4D2.W *exec musique
TOUCHE_ESPACE
CMP.B #$39,$FFFFFC02.W *attend appuie sur espace
BNE.S TOUCHE_ESPACE
CLR.L $4D2.W *stop musique
CLR.L $4D6.W *stop vumetre
MOVE.L #$08080000,$FFFF8800.W *stop son
MOVE.L #$09090000,$FFFF8800.W
MOVE.L #$0A0A0000,$FFFF8800.W
STOP_MOUSE MOVE.B #$12,$484.W *remet souris
DC.W $A009
CLR.L -(SP) *stop programme
TRAP #1
VU_METRE
LEA $78000+0+160*160,A0
MOVEA.L A0,A1
MOVEA.L A0,A2
MOVE.W #3,D0
VU_0 CLR.W (A0)
CLR.W 160(A0)
CLR.W 320(A0)
CLR.W 480(A0)
CLR.W 640(A0)
CLR.W 800(A0)
CLR.W 32(A0)
CLR.W 192(A0)
CLR.W 352(A0)
CLR.W 512(A0)
CLR.W 672(A0)
CLR.W 832(A0)
CLR.W 64(A0)
CLR.W 224(A0)
CLR.W 384(A0)
CLR.W 544(A0)
CLR.W 704(A0)
CLR.W 864(A0)
CLR.W 96(A0)
CLR.W 256(A0)
CLR.W 416(A0)
CLR.W 576(A0)
CLR.W 736(A0)
CLR.W 896(A0)
ADDQ.W #8,A0
DBF D0,VU_0
MOVE.B #8,$FFFF8800.W
MOVE.B $FFFF8800.W,D0
ANDI.W #$F,D0
VU_1 SUBQ.W #1,(A1)
SUBQ.W #1,160(A1)
SUBQ.W #1,320(A1)
SUBQ.W #1,480(A1)
SUBQ.W #1,640(A1)
SUBQ.W #1,800(A1)
ADDQ.W #8,A1
DBF D0,VU_1
ADDA.L #$5A0,A2
MOVEA.L A2,A1
MOVEA.L A2,A0
MOVE.W #3,D0
VU_2: CLR.W (A0)
CLR.W 160(A0)
CLR.W 320(A0)
CLR.W 480(A0)
CLR.W 640(A0)
CLR.W 800(A0)
CLR.W 32(A0)
CLR.W 192(A0)
CLR.W 352(A0)
CLR.W 512(A0)
CLR.W 672(A0)
CLR.W 832(A0)
CLR.W 64(A0)
CLR.W 224(A0)
CLR.W 384(A0)
CLR.W 544(A0)
CLR.W 704(A0)
CLR.W 864(A0)
CLR.W 96(A0)
CLR.W 256(A0)
CLR.W 416(A0)
CLR.W 576(A0)
CLR.W 736(A0)
CLR.W 896(A0)
ADDQ.W #8,A0
DBF D0,VU_2
MOVE.B #9,$FFFF8800.W
MOVE.B $FFFF8800.W,D0
ANDI.W #$F,D0
VU_3: SUBQ.W #1,(A1)
SUBQ.W #1,160(A1)
SUBQ.W #1,320(A1)
SUBQ.W #1,480(A1)
SUBQ.W #1,640(A1)
SUBQ.W #1,800(A1)
ADDQ.W #8,A1
DBF D0,VU_3
ADDA.L #$5A0,A2
MOVEA.L A2,A1
MOVEA.L A2,A0
MOVE.W #3,D0
VU_4: CLR.W (A0)
CLR.W 160(A0)
CLR.W 320(A0)
CLR.W 480(A0)
CLR.W 640(A0)
CLR.W 800(A0)
CLR.W 32(A0)
CLR.W 192(A0)
CLR.W 352(A0)
CLR.W 512(A0)
CLR.W 672(A0)
CLR.W 832(A0)
CLR.W 64(A0)
CLR.W 224(A0)
CLR.W 384(A0)
CLR.W 544(A0)
CLR.W 704(A0)
CLR.W 864(A0)
CLR.W 96(A0)
CLR.W 256(A0)
CLR.W 416(A0)
CLR.W 576(A0)
CLR.W 736(A0)
CLR.W 896(A0)
ADDQ.W #8,A0
DBF D0,VU_4
MOVE.B #$A,$FFFF8800.W
MOVE.B $FFFF8800.W,D0
ANDI.W #$F,D0
VU_5: SUBQ.W #1,(A1)
SUBQ.W #1,160(A1)
SUBQ.W #1,320(A1)
SUBQ.W #1,480(A1)
SUBQ.W #1,640(A1)
SUBQ.W #1,800(A1)
ADDQ.W #8,A1
DBF D0,VU_5
RTS
***************************************************************************
PIC_ALGO: equ 1
depack: movem.l d0-a6,-(a7)
cmp.l #"ATOM",(a0)+
bne no_crunched
move.l a1,a5
add.l (a0)+,a5
ifne PIC_ALGO
pea (a5)
endc
move.l (a0)+,d0
lea 0(a0,d0.l),a6
move.b -(a6),d7
bra make_jnk
tablus: lea tablus_table(pc),a4
moveq #1,d6
bsr.s get_bit2
bra.s tablus2
decrunch: moveq #6,d6
take_lenght: add.b d7,d7
beq.s .empty1
.cont_copy: dbcc d6,take_lenght
bcs.s .next_cod
moveq #6,d5
sub d6,d5
bra.s .do_copy
.next_cod: moveq #3,d6
bsr.s get_bit2
beq.s .next_cod1
addq #6,d5
bra.s .do_copy
.next_cod1: moveq #7,d6
bsr.s get_bit2
beq.s .next_cod2
add #15+6,d5
bra.s .do_copy
.empty1: move.b -(a6),d7
addx.b d7,d7
bra.s .cont_copy
.next_cod2: moveq #13,d6
bsr.s get_bit2
add #255+15+6,d5
.do_copy: move d5,-(a7)
bne.s bigger
lea decrun_table2(pc),a4
moveq #2,d6
bsr.s get_bit2
cmp #5,d5
blt.s contus
addq #2,a7
subq #6,d5
bgt.s tablus
move.l a5,a4
blt.s .first4
addq #4,a4
.first4: moveq #1,d6
bsr.s get_bit2
tablus2: move.b 0(a4,d5.w),-(a5)
bra.s make_jnk
get_bit2: clr d5
.get_bits: add.b d7,d7
beq.s .empty
.cont: addx d5,d5
dbf d6,.get_bits
tst d5
rts
.empty: move.b -(a6),d7
addx.b d7,d7
bra.s .cont
bigger: lea decrun_table(pc),a4
cont: moveq #2,d6
bsr.s get_bit2
contus: move d5,d4
move.b 14(a4,d4.w),d6
ext d6
bsr.s get_bit2
add d4,d4
beq.s .first
add -2(a4,d4.w),d5
.first: lea 1(a5,d5.w),a4
move (a7)+,d5
move.b -(a4),-(a5)
.copy_same: move.b -(a4),-(a5)
dbf d5,.copy_same
make_jnk: moveq #11,d6
moveq #11,d5
take_jnk: add.b d7,d7
beq.s empty
cont_jnk: dbcc d6,take_jnk
bcs.s next_cod
sub d6,d5
bra.s copy_jnk1
next_cod: moveq #7,d6
bsr.s get_bit2
beq.s .next_cod1
addq #8,d5
addq #3,d5
bra.s copy_jnk1
.next_cod1: moveq #2,d6
bsr.s get_bit2
swap d5
moveq #15,d6
bsr.s get_bit2
addq.l #8,d5
addq.l #3,d5
copy_jnk1: subq #1,d5
bmi.s .end_word
moveq #1,d6
swap d6
.copy_jnk: move.b -(a6),-(a5)
dbf d5,.copy_jnk
sub.l d6,d5
bpl.s .copy_jnk
.end_word: cmp.l a6,a0
.decrunch: bne decrunch
cmp.b #$80,d7
bne.s .decrunch
ifne PIC_ALGO
move.l (a7)+,a0
bsr.s decod_picture
endc
no_crunched: movem.l (a7)+,d0-a6
rts
empty: move.b -(a6),d7
addx.b d7,d7
bra.s cont_jnk
decrun_table: dc.w 32,32+64,32+64+256,32+64+256+512,32+64+256+512+1024
dc.w 32+64+256+512+1024+2048,32+64+256+512+1024+2048+4096
dc.b 4,5,7,8,9,10,11,12
decrun_table2: dc.w 32,32+64,32+64+128,32+64+128+256
dc.w 32+64+128+256+512,32+64+128+256+512*2
dc.w 32+64+128+256+512*3
dc.b 4,5,6,7,8,8
tablus_table: dc.b $60,$20,$10,$8
ifne PIC_ALGO
decod_picture: move -(a0),d7
clr (a0)
.next_picture: dbf d7,.decod_algo
rts
.decod_algo: move.l -(a0),d0
clr.l (a0)
lea 0(a5,d0.l),a1
lea $7d00(a1),a2
.next_planes: moveq #3,d6
.next_word: move (a1)+,d0
moveq #3,d5
.next_bits: add d0,d0
addx d1,d1
add d0,d0
addx d2,d2
add d0,d0
addx d3,d3
add d0,d0
addx d4,d4
dbf d5,.next_bits
dbf d6,.next_word
movem d1-d4,-8(a1)
cmp.l a1,a2
bne.s .next_planes
bra.s .next_picture
endc
*******************************************************************************************
SECTION DATA
TEXT
DC.B $1B,'E'
********************************************************************************
DC.B " HERE IS....IMPACT SOUNDSHIP MUSIC 3 FOR YOUR PLEASURE ",$A,$D,$A,$D,$A,$D
DC.B " MUSIC COMPOSED BY MADMAX, RIPPED AND EXEC_MUSIC BY AYOROS ",$A,$D,$A,$D
DC.B " MUSIC NAME : DIVERS THEME (C) 1991 ",$A,$D,$A,$D,$A,$D
DC.B "THIS DISK WAS IMPROVED BY AYOROS, AND MOTIVATE BY ARAKIS ( WHO SWAPP THE DISK! )",$A,$D
DC.B " TO CONTACT US WRITE TO ",$D,$A
DC.B " IMPACT OR ARAKIS 8 RUE BRUYERE DES BADAUDS 1428 LILLOIS BELGIUM ",$D,$A
DC.B " NO ILLEGAL SWAPPING PLEASE ",$A,$D
DC.B " GREETINGS GO TO ",$D,$A
DC.B "ETERNAL, HOTLINE (ESP. RUTHLESS), FACTORY (HOOKER,MC REGGIE,RADIAL,ZORVACK,VAND)",$A,$D
DC.B "ARAKIS (FRODON), FUN VISION (NIC), EMPIRE (ALL MEMBERS), MYSTIC (LTK MR SPIRIT) ",$D,$A
DC.B " THE PENDRAGONS (SILVER), NEXT (LEM), FARAMIR, PHENIX, TSB, RADICAL BANDITS ",$D,$A
DC.B " THE SYNDICATE (ALL MEMBERS), THE REPLICANTS (SNAKE), NIGHTHAWK, SWEETECH ",$D,$A
DC.B "ZUUL, FM, THE PROPHANATORS, DELTA FORCE, THE UNION, AUTOMATION, POMPEY PIRATES",$D,$A
DC.B "FIREHAWK, THE OVERLANDERS (DAUGUE DE MAUVE), THALION CREW, THE LOST BOYS (SAMMY)",$D,$A
DC.B " DNT (AXIOM), EQUINOX, MAD VISION (ALEXIS), BAD BOYS, OMEGA, SYNC, AND HMD. ",$A,$D
DC.B 0
EVEN
DATA INCBIN A:\DIVERS.MAD\NIGHT.MUS
EVEN
MUSIC