808 lines
21 KiB
Plaintext
Executable File
808 lines
21 KiB
Plaintext
Executable File
|
||
; Different mixing routines required:
|
||
; Left } shared
|
||
; Right }
|
||
; Central
|
||
; Surround
|
||
; Panned ; Each requires 8 bit and 16 bit
|
||
; Single output - for Mono, pure left/pure right
|
||
|
||
Get8BitFWaveform Macro
|
||
Mov AL, [ES:DI]
|
||
Add BL, 80h
|
||
Add AL, 80h
|
||
Add BL, AL
|
||
RCR BL, 1
|
||
Sub BL, 80h
|
||
EndM
|
||
|
||
Get16BitFWaveform Macro
|
||
Mov AL, [ES:EDI+EDI+1]
|
||
Add BL, 80h
|
||
Add AL, 80h
|
||
Add BL, AL
|
||
RCR BL, 1
|
||
Sub BL, 80h
|
||
|
||
EndM
|
||
|
||
M12Mix8FSingle Macro Index
|
||
|
||
M12Mix8FSingle&Index&:
|
||
Get8BitFWaveForm
|
||
|
||
Add ERROR, DELTAERROR
|
||
Mov AX, [EBX+EBX]
|
||
AdC DI, DELTAOFFSET ;; 1
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX ;; 3
|
||
|
||
EndM
|
||
|
||
M12Mix8FCentral Macro Index
|
||
|
||
M12Mix8FCentral&Index&:
|
||
Get8BitFWaveform
|
||
|
||
Add ERROR, DELTAERROR ;; 1
|
||
Mov AX, [EBX+EBX] ;; 2
|
||
AdC DI, DELTAOFFSET ;; 1
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX ;; 3
|
||
Sub [SI+(Index-15)*MixResolution/4+MixResolution/8+EXTRAOFFSET], AX ;; 3
|
||
|
||
EndM
|
||
|
||
M12Mix8FSurround Macro Index
|
||
|
||
M12Mix8FSurround&Index&:
|
||
Get8BitFWaveform
|
||
|
||
Add ERROR, DELTAERROR ;; 1
|
||
Mov AX, [EBX+EBX] ;; 2
|
||
AdC DI, DELTAOFFSET ;; 1
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX ;; 3
|
||
Add [SI+(Index-15)*MixResolution/4+MixResolution/8+EXTRAOFFSET], AX ;; 3
|
||
|
||
EndM
|
||
|
||
M12Mix8FPanned Macro Index
|
||
|
||
M12Mix8FPanned&Index&:
|
||
Get8BitFWaveform
|
||
|
||
Add ERROR, DELTAERROR
|
||
AdC DI, DELTAOFFSET
|
||
Mov AX, [EBX+EBX]
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX
|
||
|
||
M12Mix8FPannedRightVolumeOffset&Index& EQU $+4
|
||
Mov AX, [EBX+EBX+1200h]
|
||
Sub [SI+(Index-15)*MixResolution/4+MixResolution/8+EXTRAOFFSET], AX
|
||
|
||
EndM
|
||
|
||
M12Mix16FSingle Macro Index
|
||
|
||
M12Mix16FSingle&Index&:
|
||
Get16BitFWaveForm
|
||
|
||
Add ERROR, DELTAERROR
|
||
Mov AX, [EBX+EBX]
|
||
AdC DI, DELTAOFFSET
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX
|
||
|
||
EndM
|
||
|
||
M12Mix16FCentral Macro Index
|
||
|
||
M12Mix16FCentral&Index&:
|
||
Get16BitFWaveform
|
||
|
||
Add ERROR, DELTAERROR
|
||
Mov AX, [EBX+EBX]
|
||
AdC DI, DELTAOFFSET
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX
|
||
Sub [SI+(Index-15)*MixResolution/4+MixResolution/8+EXTRAOFFSET], AX
|
||
|
||
EndM
|
||
|
||
M12Mix16FSurround Macro Index
|
||
|
||
M12Mix16FSurround&Index&:
|
||
Get16BitFWaveform
|
||
|
||
Add ERROR, DELTAERROR
|
||
Mov AX, [EBX+EBX]
|
||
AdC DI, DELTAOFFSET
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX
|
||
Add [SI+(Index-15)*MixResolution/4+MixResolution/8+EXTRAOFFSET], AX
|
||
|
||
EndM
|
||
|
||
; Panned output
|
||
M12Mix16FPanned Macro Index
|
||
|
||
M12Mix16FPanned&Index&:
|
||
Get16BitFWaveform
|
||
|
||
Add ERROR, DELTAERROR
|
||
AdC DI, DELTAOFFSET
|
||
Mov AX, [EBX+EBX]
|
||
Sub [SI+(Index-15)*MixResolution/4+EXTRAOFFSET], AX
|
||
|
||
M12Mix16FPannedRightVolumeOffset&Index& EQU $+4
|
||
Mov AX, [EBX+EBX+1200h]
|
||
Sub [SI+(Index-15)*MixResolution/4+MixResolution/8+EXTRAOFFSET], AX
|
||
|
||
EndM
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Single8BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix8FSingleOffset Macro Index
|
||
DW Offset M12Mix8FSingle&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix8FSingleOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Single8BitF
|
||
; AX = count...
|
||
|
||
; Number of times to loop = (Count-1) / 16
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Single8BitFOffsetTable+BX]
|
||
|
||
Mix12Single8BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:DI]
|
||
|
||
RetN
|
||
|
||
M12Mix8FSingle 0
|
||
M12Mix8FSingle 1
|
||
M12Mix8FSingle 2
|
||
M12Mix8FSingle 3
|
||
M12Mix8FSingle 4
|
||
M12Mix8FSingle 5
|
||
M12Mix8FSingle 6
|
||
M12Mix8FSingle 7
|
||
M12Mix8FSingle 8
|
||
M12Mix8FSingle 9
|
||
M12Mix8FSingle 10
|
||
M12Mix8FSingle 11
|
||
M12Mix8FSingle 12
|
||
M12Mix8FSingle 13
|
||
M12Mix8FSingle 14
|
||
M12Mix8FSingle 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix8FSingle0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Single8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Left8BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Single8BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Left8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Right8BitF
|
||
|
||
Add MixBufferOffset, MixResolution/8
|
||
Mov AL, [SI+0Ch]
|
||
Mov Byte Ptr [CS:Mix12Single8BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Right8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Central8BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix8FCentralOffset Macro Index
|
||
DW Offset M12Mix8FCentral&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix8FCentralOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Central8BitF
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Central8BitFOffsetTable+BX]
|
||
|
||
Mix12Central8BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:DI]
|
||
|
||
RetN
|
||
|
||
M12Mix8FCentral 0
|
||
M12Mix8FCentral 1
|
||
M12Mix8FCentral 2
|
||
M12Mix8FCentral 3
|
||
M12Mix8FCentral 4
|
||
M12Mix8FCentral 5
|
||
M12Mix8FCentral 6
|
||
M12Mix8FCentral 7
|
||
M12Mix8FCentral 8
|
||
M12Mix8FCentral 9
|
||
M12Mix8FCentral 10
|
||
M12Mix8FCentral 11
|
||
M12Mix8FCentral 12
|
||
M12Mix8FCentral 13
|
||
M12Mix8FCentral 14
|
||
M12Mix8FCentral 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix8FCentral0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Central8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Central8BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Central8BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Central8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Surround8BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix8FSurroundOffset Macro Index
|
||
DW Offset M12Mix8FSurround&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix8FSurroundOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Surround8BitF
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Surround8BitFOffsetTable+BX]
|
||
|
||
Mix12Surround8BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:DI]
|
||
|
||
RetN
|
||
|
||
M12Mix8FSurround 0
|
||
M12Mix8FSurround 1
|
||
M12Mix8FSurround 2
|
||
M12Mix8FSurround 3
|
||
M12Mix8FSurround 4
|
||
M12Mix8FSurround 5
|
||
M12Mix8FSurround 6
|
||
M12Mix8FSurround 7
|
||
M12Mix8FSurround 8
|
||
M12Mix8FSurround 9
|
||
M12Mix8FSurround 10
|
||
M12Mix8FSurround 11
|
||
M12Mix8FSurround 12
|
||
M12Mix8FSurround 13
|
||
M12Mix8FSurround 14
|
||
M12Mix8FSurround 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix8FSurround0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Surround8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Surround8BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Surround8BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Surround8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Panned8BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix8FPannedOffset Macro Index
|
||
DW Offset M12Mix8FPanned&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix8FPannedOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Panned8BitF
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Panned8BitFOffsetTable+BX]
|
||
|
||
Mix12Panned8BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:DI]
|
||
|
||
RetN
|
||
|
||
M12Mix8FPanned 0
|
||
M12Mix8FPanned 1
|
||
M12Mix8FPanned 2
|
||
M12Mix8FPanned 3
|
||
M12Mix8FPanned 4
|
||
M12Mix8FPanned 5
|
||
M12Mix8FPanned 6
|
||
M12Mix8FPanned 7
|
||
M12Mix8FPanned 8
|
||
M12Mix8FPanned 9
|
||
M12Mix8FPanned 10
|
||
M12Mix8FPanned 11
|
||
M12Mix8FPanned 12
|
||
M12Mix8FPanned 13
|
||
M12Mix8FPanned 14
|
||
M12Mix8FPanned 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix8FPanned0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Panned8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Panned8BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Panned8BitFVolume], AL
|
||
|
||
Xor AL, AL
|
||
Mov AH, [SI+0Ch]
|
||
Sub AH, [SI+0Eh]
|
||
Add AH, AH
|
||
MovSX EAX, AX
|
||
|
||
IndexCounter = 0
|
||
|
||
PreMix12Panned8BitFMacro2 Macro Index
|
||
Mov DWord Ptr [CS:M12Mix8FPannedRightVolumeOffset&Index&], EAX
|
||
EndM
|
||
|
||
REPT 16
|
||
PreMix12Panned8BitFMacro2 %IndexCounter
|
||
IndexCounter = IndexCounter+1
|
||
EndM
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Panned8BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Single16BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix16FSingleOffset Macro Index
|
||
DW Offset M12Mix16FSingle&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix16FSingleOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Single16BitF
|
||
; AX = count...
|
||
|
||
; Number of times to loop = (Count-1) / 16
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Single16BitFOffsetTable+BX]
|
||
|
||
Mix12Single16BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:EDI+EDI+1]
|
||
|
||
RetN
|
||
|
||
M12Mix16FSingle 0
|
||
M12Mix16FSingle 1
|
||
M12Mix16FSingle 2
|
||
M12Mix16FSingle 3
|
||
M12Mix16FSingle 4
|
||
M12Mix16FSingle 5
|
||
M12Mix16FSingle 6
|
||
M12Mix16FSingle 7
|
||
M12Mix16FSingle 8
|
||
M12Mix16FSingle 9
|
||
M12Mix16FSingle 10
|
||
M12Mix16FSingle 11
|
||
M12Mix16FSingle 12
|
||
M12Mix16FSingle 13
|
||
M12Mix16FSingle 14
|
||
M12Mix16FSingle 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix16FSingle0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Single16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Left16BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Single16BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Left16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Right16BitF
|
||
|
||
Add MixBufferOffset, MixResolution/8
|
||
Mov AL, [SI+0Ch]
|
||
Mov Byte Ptr [CS:Mix12Single16BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Right16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Central16BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix16FCentralOffset Macro Index
|
||
DW Offset M12Mix16FCentral&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix16FCentralOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Central16BitF
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Central16BitFOffsetTable+BX]
|
||
|
||
Mix12Central16BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:EDI+EDI+1]
|
||
|
||
RetN
|
||
|
||
M12Mix16FCentral 0
|
||
M12Mix16FCentral 1
|
||
M12Mix16FCentral 2
|
||
M12Mix16FCentral 3
|
||
M12Mix16FCentral 4
|
||
M12Mix16FCentral 5
|
||
M12Mix16FCentral 6
|
||
M12Mix16FCentral 7
|
||
M12Mix16FCentral 8
|
||
M12Mix16FCentral 9
|
||
M12Mix16FCentral 10
|
||
M12Mix16FCentral 11
|
||
M12Mix16FCentral 12
|
||
M12Mix16FCentral 13
|
||
M12Mix16FCentral 14
|
||
M12Mix16FCentral 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix16FCentral0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Central16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Central16BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Central16BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Central16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Surround16BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix16FSurroundOffset Macro Index
|
||
DW Offset M12Mix16FSurround&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix16FSurroundOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Surround16BitF
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Surround16BitFOffsetTable+BX]
|
||
|
||
Mix12Surround16BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:EDI+EDI+1]
|
||
|
||
RetN
|
||
|
||
M12Mix16FSurround 0
|
||
M12Mix16FSurround 1
|
||
M12Mix16FSurround 2
|
||
M12Mix16FSurround 3
|
||
M12Mix16FSurround 4
|
||
M12Mix16FSurround 5
|
||
M12Mix16FSurround 6
|
||
M12Mix16FSurround 7
|
||
M12Mix16FSurround 8
|
||
M12Mix16FSurround 9
|
||
M12Mix16FSurround 10
|
||
M12Mix16FSurround 11
|
||
M12Mix16FSurround 12
|
||
M12Mix16FSurround 13
|
||
M12Mix16FSurround 14
|
||
M12Mix16FSurround 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ M12Mix16FSurround0
|
||
|
||
Ret
|
||
|
||
EndP Mix12Surround16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Surround16BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Surround16BitFVolume], AL
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Surround16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Mix12Panned16BitFOffsetTable Label Word
|
||
|
||
IndexCounter = 15
|
||
|
||
M12Mix16FPannedOffset Macro Index
|
||
DW Offset M12Mix16FPanned&Index&
|
||
EndM
|
||
|
||
REPT 16
|
||
M12Mix16FPannedOffset %IndexCounter
|
||
IndexCounter = IndexCounter-1
|
||
EndM
|
||
|
||
Proc Mix12Panned16BitF
|
||
|
||
Dec AX
|
||
Mov BX, AX
|
||
And AX, 0Fh
|
||
ShR BX, 4
|
||
Add AX, AX
|
||
Inc BX
|
||
Mov LoopCounter, BX
|
||
Mov BX, AX
|
||
|
||
ShL AX, RESOLUTIONSHIFT-1
|
||
|
||
Add SI, AX
|
||
|
||
Push [CS:Mix12Panned16BitFOffsetTable+BX]
|
||
|
||
Mix12Panned16BitFVolume EQU $+3
|
||
Mov EBX, 0
|
||
|
||
Mov BL, [ES:EDI+EDI+1]
|
||
|
||
RetN
|
||
|
||
Pan12BitF16Loop:
|
||
M12Mix16FPanned 0
|
||
M12Mix16FPanned 1
|
||
M12Mix16FPanned 2
|
||
M12Mix16FPanned 3
|
||
M12Mix16FPanned 4
|
||
M12Mix16FPanned 5
|
||
M12Mix16FPanned 6
|
||
M12Mix16FPanned 7
|
||
M12Mix16FPanned 8
|
||
M12Mix16FPanned 9
|
||
M12Mix16FPanned 10
|
||
M12Mix16FPanned 11
|
||
M12Mix16FPanned 12
|
||
M12Mix16FPanned 13
|
||
M12Mix16FPanned 14
|
||
M12Mix16FPanned 15
|
||
|
||
Add SI, 16*MIXRESOLUTION/4
|
||
Dec LoopCounter
|
||
JNZ Pan12BitF16Loop
|
||
|
||
Ret
|
||
|
||
EndP Mix12Panned16BitF
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
Proc PreMix12Panned16BitF
|
||
|
||
Mov AL, [SI+0Eh]
|
||
Mov Byte Ptr [CS:Mix12Panned16BitFVolume], AL
|
||
|
||
Xor AL, AL
|
||
Mov AH, [SI+0Ch]
|
||
Sub AH, [SI+0Eh]
|
||
Add AH, AH
|
||
MovSX EAX, AX
|
||
|
||
IndexCounter = 0
|
||
|
||
PreMix12PannedMacro2 Macro Index
|
||
Mov DWord Ptr [CS:M12Mix16FPannedRightVolumeOffset&Index&], EAX
|
||
EndM
|
||
|
||
REPT 16
|
||
PreMix12PannedMacro2 %IndexCounter
|
||
IndexCounter = IndexCounter+1
|
||
EndM
|
||
|
||
Ret
|
||
|
||
EndP PreMix12Panned16BitF
|
||
|
||
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|