as for coefficients: I think FEG values (both filtering coeff and Q) uses the same dB logarithmic volumes as AEG but with 3 more LSB added. So in short - Neill was one bit wrong, it have 9 fractional bits and 4 exponential (not 8 and 5). In the case of Q it must be <<=6 so it become in same dB range as FEG level. this assumptions also kind of approved by old AICA implementation http://sabia.tic.udc.es/gc/Contenid...c/E_Aica/Aica_spec100e/AICA_E.HTM#no6_17 , when at some stage of development Q register was full 13 bits, not just 5bits as in final version.
But... there is some problem in algorithm. by design it makes sound a bit off/quiet (then C 1 and Q 0 output becomes = input minus previous output), so with Feg_Lv 0x1FF8 and Q 4 output is not the same as input.
is there anyone good at DSP processing and may give advice to look at some another filtering algorithms/formulas ?
ok, as for filter envelope generation part - it looks the same as AEG in the term of change rate (as noted in html docs). so time for full 0-0x1FFF change is aproximate 8x longer than AEG times tables, not ~4x like DCDBSysArc990907E.doc says.
but correct EG rate formula is still unknown, for both AEG and FEG (if KRS!=0x0F). docs says its (KRS[0:15] + OCT[-8:+7]) * 2 + (FNS>>9) + RATE*2 some SCSP/AICA emulators calculate it this way, other like AO uses KRS[0:15]*2 + OCT[-8:+7] + (FNS>>9[0:1]) + RATE[0:31]*2, so octave isnt *2 others calculate (KRS+OCT)*2 but add it only if value >0 (I currently use this) but sadly its really unknown for now how exactly EG rate value calculated, in both SCSP and AICA.
hello, i've integrated aosdk in my player (oscp, http://talk.maemo.org/showthread.php?t=94590 ), it works, but i have some tunes not playing on my arm build (will report which ones later once i check the x86 build too. what is the status of aosdk? is it still supported/worked on?
just checked on the x86 and the bugs are the same as on arm. maybe it's my integration that is failing but c&d tune is completely silent and ps2 file sounds like it is wrong byteorder or wrong buffer size. i've put those tunes here: https://31.135.195.151:20281/aosdk/xsf-bugs.tar.gz btw. can i talk to you on irc?