📄 gaecnlpa.s54
字号:
*-------------------------------------------------------------------------*
* *
* THIS IS AN UNPUBLISHED WORK CONTAINING CONFIDENTIAL AND PROPRIETARY *
* INFORMATION. IF PUBLICATION OCCURS, THE FOLLOWING NOTICE APPLIES: *
* "COPYRIGHT 2003 MICHAEL TSIROULNIKOV, ALL RIGHTS RESERVED" *
* *
*-------------------------------------------------------------------------*/
.mmregs
.include "gaeci.h54"
.sect ".ftext2"
_MULT .set (31821)
_INC .set (13849)
.ref _gaec_utl_exp
;-------------------------------------------------------------------------
.global _gaec_nlp_add_noise
;-------------------------------------------------------------------------
_gaec_nlp_add_noise
; S16 *psSeed = a ; ar2
; S16 *psTo = sp(1) ; ar3
; S16 sLevel = sp(2) ; ar4->sLevel
stlm a, ar2
ssbx sxm
orm #1, *(pmst)
mvdk *sp(1), ar3
mvmm sp, ar4
mar *+ar4(#2)
stm #GAEC_ERR_SZ-1, brc
rptb E11-1
mpy *ar2, #_MULT, a
add #_INC, a
stl a, *ar2
mpy *ar2, *ar4, a
add *ar3, 15, a
add #1, 14, a
sth a,1, *ar3+
E11
andm #~1, *(pmst)
ret
;-------------------------------------------------------------------------
.global _gaec_nlp_mix_noise
;-------------------------------------------------------------------------
_gaec_nlp_mix_noise
; GAEC_tDb *pDb,
; GAEC_tSc *pSc,
; U16 uUseDtCrit
;
stlm a, ar2
ssbx sxm
nop
mvdk *sp(1), ar3
;
; copy nse to tmp
mvmm ar2, ar4
mar *+ar4(#GAEC_tDb.asVadErrNse)
mvmm ar3, ar5
mar *+ar5(#GAEC_tSc.u.asTmp)
bitf *ar2(#GAEC_tDb.uControl), #IGAEC_CMD_NSE_RED_OFF
ld #GAEC_1DB*13, b
xc 2, ntc
ld #GAEC_1DB*6, b
stm #GAEC_BANDS, brc
rptb E21-1
add *ar4+, b, a
stl a, *ar5+
E21
mar *+ar5(#-(GAEC_BANDS+1))
stm #GAEC_BANDS, brc
rptb E22-1
ld *ar5, a
call _gaec_utl_exp
stl a, *ar5+
E22
mar *+ar5(#-(GAEC_BANDS+1))
cmpm *sp(2), #0
bc E24, tc
mvmm ar3, ar4
mar *+ar4(#GAEC_tSc.asAttErr)
stm #GAEC_BANDS, brc
rptb E23-1
ld #4096, 16, a
sub *ar4+, 16, a
mpya *ar5
add #1, 11, b
sth b, 4, *ar5+
E23
mar *+ar5(#-(GAEC_BANDS+1))
E24
mvmm ar5, ar4
mar *+ar4(#GAEC_BANDS+1)
mar *ar5+
rpt #GAEC_BANDS-2
mvdd *ar5+, *ar4+
mar *+ar4(#-(GAEC_BANDS*2))
orm #1, *(pmst)
stm #GAEC_BANDS*2-1, ar5
mar *+ar2(#GAEC_tDb.sNseSav)
mar *+ar3(#GAEC_tSc.aasErr0)
E25
stm #GAEC_ERR_SZ-1, brc
rptb E26-1
mpy *ar2, #_MULT, a
add #_INC, a
stl a, *ar2
mpy *ar2, *ar4, a
add *ar3, 15, a
add #1, 14, a
sth a, 1, *ar3+
E26
mar *ar4+
banz E25, *ar5-
andm #~1, *(pmst)
ret
;-------------------------------------------------------------------------
.global _gaec_nlp_att_rx
;-------------------------------------------------------------------------
_gaec_nlp_att_rx
; GAEC_tDb *pDb = a
; GAEC_tSc *pSc = sp(1)
;
stlm a, ar2
ssbx sxm
orm #1, *(pmst)
mvdk *sp(1), ar3
mar *+ar2(#GAEC_tDb.aasErrSav)
mvmm ar3, ar4
mvmm ar3, ar5
mar *+ar3(#GAEC_tSc.u.asTmp)
mar *+ar4(#GAEC_tSc.asAttErr)
mar *+ar5(#GAEC_tSc.aasErr0)
rpt #GAEC_BANDS
mvdd *ar4+, *ar3+
mar *+ar4(#-GAEC_BANDS)
rpt #GAEC_BANDS-2
mvdd *ar4+, *ar3+
mar *+ar3(#-2*GAEC_BANDS)
stm #2*GAEC_BANDS-1, ar4
E31
stm #GAEC_ERR_SZ-1, brc
rptb E32-1
mpy *ar2+, *ar3, a
add #1, 11, a
sth a, 4, *ar5+
E32
mar *ar3+
banz E31, *ar4-
andm #~1, *(pmst)
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -