holy level of ValleyBell is going down in my eyes

so many bugs... you sure any other VB incorporated software organisation programms no have bugs?

that retrigger problem, ok... that is fixed, but it was!
sample loop with $75 sample's flag
psg problem
and now new one - volume problem. Comix Zone 003 track is plays not correct. i thought it was Ch3mode problem - it have turn on flag with instrument, but probably it send to wrong channel - not 3... but probably is not. i check - it lays in a 3 channel as is should be. so now i think it is volume problem. it is not obey volume command and play too loud.
i cant find where is in a code place, where depends algoritms is happen changes for volume.
this is instrument setting?
Code:
static void WRITEFM(const UINT8* InsList, UINT8 Bank, UINT8 Channel)
{
const UINT8* RegList; // Register BC
UINT8 CurReg;
UINT8 CurData;
UINT8 NoteAtt;
RegList = FMADDRTBL;
while(*RegList) // (0 = EOT)
{
CurReg = *RegList;
RegList ++;
//while(YM2612_Read(0) & 0x80) // spin on busy bit
// ;
CurReg += Channel; // add voice num to point at correct register
YM2612_Write(Bank, CurReg);
CurData = *RegList; // get data offset
if (CurData) // if data offset 0, just write 0
{
if (CurData & 0x80) // msb indicates total level values
{
CurData &= 0x7F;
if (CARRIERS & 0x01) // is this a carrier?
{
CurData = 127 - InsList[CurData];
NoteAtt = ((CurData << 1) * noteon.atten) >> 8;
CurData -= NoteAtt; // reduce by attenuation amount
CurData = 127 - CurData;
}
else // no - normal output
{
//nottl0:
//nottl:
CurData = InsList[CurData]; // (IX+dataoffset)
}
CARRIERS >>= 1; // [the best way to simulate RR + JP NC]
}
else
{
//nottl:
CurData = InsList[CurData]; // (IX+dataoffset)
}
}
//writefm0:
YM2612_Write(Bank + 1, CurData);
RegList ++;
}
return;
}
especialy this place is scary me: NoteAtt = ((CurData << 1) * noteon.atten) >> 8; - what happen here - i have no idea

i cant find place with somekind of this code:
Code:
Select Algorithm
Case 0 to 3
; only 4 operator TL + Mastervolume + Volume
Case 4
; only 2 and 4 (but not sure about order 1, 3, 2, 4 - probably not 2 and 4, but 3 и 4)
Case 5, 6
; only 2, 3, 4
Case 7
; all 4 operators
Endselect
where it is? can it have some bug? for example - send volume to wrong channel and that is why it sounds too loud? i am attach gems banks and rom for tests. it need to be start with Gens - wrong playing, and with Fusion - correct playing. GEMSPlay works as Gens playing - that hihat or whatever FM Ch3mode sound at begin - play too loud.
what buttons i need to press for GEMSPlay to make VGM log to see what happen in that playing? i am press V - but it says no file something like that. i dont know how to set file name for vgm file to save it.