home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
falcon
/
sound
/
dsp_play
/
dspmod.s
< prev
next >
Wrap
Text File
|
1994-02-16
|
5KB
|
157 lines
*****************************************************************************
* *
* Just For Fun , une autre routine de soundtrack au DSP, et oui. *
* *
*****************************************************************************
opt D+
* coderight by bITmASTER of BSW of CC *
>PART 'equ'
; 26/08/93
iera equ $fffffa07 ;Interrupt-Enable-Register A
ierb equ $fffffa09 ; B
imra equ $fffffa13
isra equ $fffffa0f
isrb equ $fffffa11
tacr equ $fffffa19
tbcr equ $fffffa1b
tadr equ $fffffa1f
tbdr equ $fffffa21
tccr equ $fffffa1d
tcdr equ $fffffa23
aer equ $fffffa03
STColor equ $ffff8240
FColor equ $ffff9800
vbl equ $70
timer_int equ $0120
timer_c_int equ $0114
ym_select equ $ffff8800
ym_write equ $ffff8802
ym_read equ $ffff8800
vbaselow equ $ffff820d
vbasemid equ $ffff8203
vbasehigh equ $ffff8201
vcountlow equ $ffff8209
vcountmid equ $ffff8207
vcounthigh equ $ffff8205
linewid equ $ffff820f
hscroll equ $ffff8265
keyctl equ $fffffc00
keybd equ $fffffc02
DspHost equ $ffffa200
HostIntVec equ $03fc
PCookies equ $05a0
hop equ $ffff8a3a
op equ $ffff8a3b
line_nr equ $ffff8a3c
mode equ $ffff8a3c
skew equ $ffff8a3d
endmask1 equ $ffff8a28
endmask2 equ $ffff8a2a
endmask3 equ $ffff8a2c
x_count equ $ffff8a36
y_count equ $ffff8a38
dest_x_inc equ $ffff8a2e
dest_y_inc equ $ffff8a30
dest_adr equ $ffff8a32
src_x_inc equ $ffff8a20
src_y_inc equ $ffff8a22
src_adr equ $ffff8a24
mpx_src equ $ffff8930
mpx_dst equ $ffff8932
endpart
lea player,a0
bsr reloziere
moveq #1,d0
lea mod1,a0
bsr player+28 ;ein
pea init
move.w #$26,-(sp)
trap #14
addq.l #6,sp
move.w #1,-(sp)
trap #1
addq.l #2,sp
pea off
move.w #$26,-(sp)
trap #14
addq.l #6,sp
bsr player+28+4 ;aus
clr.w -(sp)
trap #1
timer_b: movem.l d0-a6,-(sp)
bsr player+28+8
movem.l (sp)+,d0-a6
bclr #0,$fffffa0f.w
rte
init: lea SaveArea,a0
move.l timer_int.w,(a0)+
move.b tbcr.w,(a0)+
move.b tbdr.w,(a0)+
move.b #246,tbdr.w
move.b #7,tbcr.w
move.l #timer_b,timer_int.w
bset #0,imra.w
bset #0,iera.w
rts
off: bclr #0,iera.w
bclr #0,imra.w
lea SaveArea,a0
move.l (a0)+,timer_int.w
move.b (a0)+,tbcr.w
move.b (a0)+,tbdr.w
rts
reloziere: >PART
move.l 2(a0),d0 ;Relozieren
add.l 6(a0),d0
add.l 14(a0),d0
adda.l #$1c,a0
move.l a0,d1
movea.l a0,a1
movea.l a1,a2
adda.l d0,a1
move.l (a1)+,d0
adda.l d0,a2
add.l d1,(a2)
clr.l d0
L000A: move.b (a1)+,d0
beq L000C
cmp.b #1,d0
beq L000B
adda.l d0,a2
add.l d1,(a2)
bra L000A
L000B: adda.l #$fe,a2
bra L000A
L000C: rts
endpart
player: ibytes 'd:\SOURCES\DSP_PLAY\DSPMOD.BSW'
mod1: ibytes 'd:\SOURCES\DSP_PLAY\CREAM.MOD'
SaveArea: ds.b 6