forked from KolibriOS/kolibrios
Added libraries/ufmod source code.
git-svn-id: svn://kolibrios.org@1845 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
270
programs/develop/libraries/ufmod/masm.asm
Normal file
270
programs/develop/libraries/ufmod/masm.asm
Normal file
@@ -0,0 +1,270 @@
|
||||
; MASM.ASM
|
||||
; --------
|
||||
; uFMOD public source code release. Provided as-is.
|
||||
|
||||
; *** This stub allows compiling uFMOD sources using MASM32.
|
||||
|
||||
.386
|
||||
.model flat
|
||||
|
||||
ifdef f44100
|
||||
FSOUND_MixRate = 44100
|
||||
FREQ_40HZ_p = 1DB8Bh
|
||||
FREQ_40HZ_f = 3B7160h
|
||||
PCM_format = 3
|
||||
else
|
||||
ifdef f22050
|
||||
FSOUND_MixRate = 22050
|
||||
FREQ_40HZ_p = 3B716h
|
||||
FREQ_40HZ_f = 76E2C0h
|
||||
PCM_format = 9
|
||||
else
|
||||
ifndef f48000
|
||||
echo UF_FREQ not specified (defaulting to 48KHz)
|
||||
endif
|
||||
FSOUND_MixRate = 48000
|
||||
FREQ_40HZ_p = 1B4E8h
|
||||
FREQ_40HZ_f = 369D00h
|
||||
PCM_format = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
RAMP_NONE = 0
|
||||
RAMP_WEAK = 0
|
||||
RAMP_STRONG = 0
|
||||
ifdef NONE
|
||||
RAMP_NONE = 1
|
||||
else
|
||||
ifdef WEAK
|
||||
RAMP_WEAK = 1
|
||||
else
|
||||
ifndef STRONG
|
||||
echo UF_RAMP not specified (defaulting to STRONG)
|
||||
endif
|
||||
RAMP_STRONG = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
UCODE = 0
|
||||
DEBUG = 0
|
||||
|
||||
CHK4VALIDITY = 1
|
||||
ifdef UNSAFE
|
||||
echo WARNING! Unsafe mod is ON. Library may crash while loading damaged XM tracks!
|
||||
CHK4VALIDITY = 0
|
||||
endif
|
||||
|
||||
AC97SND_ON = 0
|
||||
ifdef AC97SND
|
||||
AC97SND_ON = 1
|
||||
endif
|
||||
|
||||
include eff.inc
|
||||
|
||||
FSOUND_SAMPLE STRUC
|
||||
_length dd ?
|
||||
loopstart dd ?
|
||||
looplen dd ?
|
||||
defvol db ?
|
||||
finetune db ?
|
||||
bytes db ?
|
||||
defpan db ?
|
||||
relative db ?
|
||||
Resved db ?
|
||||
loopmode db ?
|
||||
_align db ?
|
||||
buff db ?,?
|
||||
FSOUND_SAMPLE ENDS
|
||||
|
||||
FSOUND_CHANNEL STRUC
|
||||
actualvolume dd ?
|
||||
actualpan dd ?
|
||||
fsampleoffset dd ?
|
||||
leftvolume dd ?
|
||||
rightvolume dd ?
|
||||
mixpos dd ?
|
||||
speedlo dd ?
|
||||
speedhi dd ?
|
||||
ramp_lefttarget dw ?
|
||||
ramp_righttarget dw ?
|
||||
ramp_leftspeed dd ?
|
||||
ramp_rightspeed dd ?
|
||||
fsptr dd ?
|
||||
mixposlo dd ?
|
||||
ramp_leftvolume dd ?
|
||||
ramp_rightvolume dd ?
|
||||
ramp_count dw ?
|
||||
speeddir db ?,?
|
||||
FSOUND_CHANNEL ENDS
|
||||
|
||||
FMUSIC_NOTE STRUC
|
||||
unote db ?
|
||||
number db ?
|
||||
uvolume db ?
|
||||
effect db ?
|
||||
eparam db ?
|
||||
FMUSIC_NOTE ENDS
|
||||
|
||||
FMUSIC_PATTERN STRUC
|
||||
rows dw ?
|
||||
patternsize dw ?
|
||||
data dd ?
|
||||
FMUSIC_PATTERN ENDS
|
||||
|
||||
FMUSIC_INSTRUMENT STRUC
|
||||
sample dd 16 dup (?)
|
||||
keymap db 96 dup (?)
|
||||
VOLPoints dw 24 dup (?)
|
||||
PANPoints dw 24 dup (?)
|
||||
VOLnumpoints db ?
|
||||
PANnumpoints db ?
|
||||
VOLsustain db ?
|
||||
VOLLoopStart db ?
|
||||
VOLLoopEnd db ?
|
||||
PANsustain db ?
|
||||
PANLoopStart db ?
|
||||
PANLoopEnd db ?
|
||||
VOLtype db ?
|
||||
PANtype db ?
|
||||
VIBtype db ?
|
||||
VIBsweep db ?
|
||||
iVIBdepth db ?
|
||||
VIBrate db ?
|
||||
VOLfade dw ?
|
||||
FMUSIC_INSTRUMENT ENDS
|
||||
|
||||
FMUSIC_CHANNEL STRUC
|
||||
note db ?
|
||||
samp db ?
|
||||
notectrl db ?
|
||||
inst db ?
|
||||
cptr dd ?
|
||||
freq dd ?
|
||||
volume dd ?
|
||||
voldelta dd ?
|
||||
freqdelta dd ?
|
||||
pan dd ?
|
||||
envvoltick dd ?
|
||||
envvolpos dd ?
|
||||
envvoldelta dd ?
|
||||
envpantick dd ?
|
||||
envpanpos dd ?
|
||||
envpandelta dd ?
|
||||
ivibsweeppos dd ?
|
||||
ivibpos dd ?
|
||||
keyoff db ?,?
|
||||
envvolstopped db ?
|
||||
envpanstopped db ?
|
||||
envvolfrac dd ?
|
||||
envvol dd ?
|
||||
fadeoutvol dd ?
|
||||
envpanfrac dd ?
|
||||
envpan dd ?
|
||||
period dd ?
|
||||
sampleoffset dd ?
|
||||
portatarget dd ?
|
||||
patloopno db ?,?,?,?
|
||||
patlooprow dd ?
|
||||
realnote db ?
|
||||
recenteffect db ?
|
||||
portaupdown db ?
|
||||
db ?
|
||||
xtraportadown db ?
|
||||
xtraportaup db ?
|
||||
volslide db ?
|
||||
panslide db ?
|
||||
retrigx db ?
|
||||
retrigy db ?
|
||||
portaspeed db ?
|
||||
vibpos db ?
|
||||
vibspeed db ?
|
||||
vibdepth db ?
|
||||
tremolopos db ?
|
||||
tremolospeed db ?
|
||||
tremolodepth db ?
|
||||
tremorpos db ?
|
||||
tremoron db ?
|
||||
tremoroff db ?
|
||||
wavecontrol db ?
|
||||
finevslup db ?
|
||||
fineportaup db ?
|
||||
fineportadown db ?
|
||||
FMUSIC_CHANNEL ENDS
|
||||
|
||||
FMUSIC_MODULE STRUC
|
||||
pattern dd ?
|
||||
instrument dd ?
|
||||
mixer_samplesleft dd ?
|
||||
globalvolume dd ?
|
||||
tick dd ?
|
||||
speed dd ?
|
||||
order dd ?
|
||||
row dd ?
|
||||
patterndelay dd ?
|
||||
nextorder dd ?
|
||||
nextrow dd ?
|
||||
unused1 dd ?
|
||||
numchannels dd ?
|
||||
Channels dd ?
|
||||
uFMOD_Ch dd ?
|
||||
mixer_samplespertick dd ?
|
||||
numorders dw ?
|
||||
restart dw ?
|
||||
numchannels_xm db ?
|
||||
globalvsl db ?
|
||||
numpatternsmem dw ?
|
||||
numinsts dw ?
|
||||
flags dw ?
|
||||
defaultspeed dw ?
|
||||
defaultbpm dw ?
|
||||
orderlist db 256 dup (?)
|
||||
FMUSIC_MODULE ENDS
|
||||
|
||||
FMUSIC_MODULE_size = SIZE FMUSIC_MODULE
|
||||
FSOUND_CHANNEL_size = SIZE FSOUND_CHANNEL
|
||||
FMUSIC_CHANNEL_size = SIZE FMUSIC_CHANNEL
|
||||
FMUSIC_INSTRUMENT_size = SIZE FMUSIC_INSTRUMENT
|
||||
FMUSIC_PATTERN_size = SIZE FMUSIC_PATTERN
|
||||
FMUSIC_NOTE_size = SIZE FMUSIC_NOTE
|
||||
|
||||
; FPU register stack
|
||||
st0 TEXTEQU <st(0)>
|
||||
st1 TEXTEQU <st(1)>
|
||||
|
||||
.CODE
|
||||
include ufmod.asm
|
||||
include core.asm
|
||||
|
||||
.DATA?
|
||||
_mod = $
|
||||
FMUSIC_MODULE<>
|
||||
mmt dd ?,?,?
|
||||
ufmod_heap dd ?,?
|
||||
if AC97SND_ON
|
||||
EXTERN hSound:DWORD
|
||||
dd ?
|
||||
else
|
||||
hSound dd ?
|
||||
endif
|
||||
hBuff dd ?
|
||||
SW_Exit dd ?
|
||||
MixBuf db FSOUND_BlockSize*8 dup (?)
|
||||
ufmod_noloop db ?
|
||||
ufmod_pause_ db ?
|
||||
mix_endflag db ?,?
|
||||
mmf dd ?,?,?,?
|
||||
ufmod_vol dd ?
|
||||
uFMOD_fopen dd ?
|
||||
uFMOD_fread dd ?
|
||||
file_struct dd 7 dup (?)
|
||||
cache_offset dd ?
|
||||
if INFO_API_ON
|
||||
time_ms dd ?
|
||||
L_vol dw ?
|
||||
R_vol dw ?
|
||||
s_row dw ?
|
||||
s_order dw ?
|
||||
szTtl db 24 dup (?)
|
||||
endif
|
||||
DummySamp FSOUND_SAMPLE<>
|
||||
end
|
Reference in New Issue
Block a user