BSR debug
This commit is contained in:
parent
91bddb8df6
commit
ed007526ff
|
@ -64,7 +64,7 @@ static inline int bsr(unsigned short v) {
|
|||
unsigned short mask = 0x8000;
|
||||
for (int i = 15; i >= 0; --i) {
|
||||
if (v&mask)
|
||||
return (int)i;
|
||||
return i;
|
||||
mask>>=1;
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ static inline int bsr32(unsigned int v) {
|
|||
unsigned int mask = 0x80000000;
|
||||
for (int i = 31; i >= 0; --i) {
|
||||
if (v&mask)
|
||||
return (int)i;
|
||||
return i;
|
||||
mask>>=1;
|
||||
}
|
||||
|
||||
|
|
|
@ -210,7 +210,9 @@ void DivPlatformPowerNoise::tick(bool sysTick) {
|
|||
|
||||
if (chan[i].freq<0) chan[i].freq=0;
|
||||
if (chan[i].freq>0x7ffffff) chan[i].freq=0x7ffffff;
|
||||
chan[i].octave=MAX(bsr32(chan[i].freq)-12,0);
|
||||
int bsr32Val=bsr32(chan[i].freq);
|
||||
logV("%x: %d",chan[i].freq,bsr32Val);
|
||||
chan[i].octave=MAX(bsr32Val-12,0);
|
||||
if (chan[i].octave>15) chan[i].octave=15;
|
||||
chan[i].fNum=0x1000-(chan[i].freq>>chan[i].octave);
|
||||
if (chan[i].fNum<0) chan[i].fNum=0;
|
||||
|
|
Loading…
Reference in a new issue