@@ -50,8 +50,8 @@ void PCEFast_PSG::UpdateOutput_Norm(const int32 timestamp, psg_channel *ch)
5050
5151 if (ch->user_volume < 100 )
5252 {
53- delta0 = (samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume / 100 ;
54- delta1 = (samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume / 100 ;
53+ delta0 = (( samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume * 164 ) >> 14 ;
54+ delta1 = (( samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume * 164 ) >> 14 ;
5555 } else {
5656 delta0 = samp[0 ] - ch->blip_prev_samp [0 ];
5757 delta1 = samp[1 ] - ch->blip_prev_samp [1 ];
@@ -76,8 +76,8 @@ void PCEFast_PSG::UpdateOutput_Noise(const int32 timestamp, psg_channel *ch)
7676
7777 if (ch->user_volume < 100 )
7878 {
79- delta0 = (samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume / 100 ;
80- delta1 = (samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume / 100 ;
79+ delta0 = (( samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume * 164 ) >> 14 ;
80+ delta1 = (( samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume * 164 ) >> 14 ;
8181 } else {
8282 delta0 = samp[0 ] - ch->blip_prev_samp [0 ];
8383 delta1 = samp[1 ] - ch->blip_prev_samp [1 ];
@@ -100,8 +100,8 @@ void PCEFast_PSG::UpdateOutput_Off(const int32 timestamp, psg_channel *ch)
100100
101101 if (ch->user_volume < 100 )
102102 {
103- delta0 = (samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume / 100 ;
104- delta1 = (samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume / 100 ;
103+ delta0 = (( samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume * 164 ) >> 14 ;
104+ delta1 = (( samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume * 164 ) >> 14 ;
105105 } else {
106106 delta0 = samp[0 ] - ch->blip_prev_samp [0 ];
107107 delta1 = samp[1 ] - ch->blip_prev_samp [1 ];
@@ -126,8 +126,8 @@ void PCEFast_PSG::UpdateOutput_Accum(const int32 timestamp, psg_channel *ch)
126126
127127 if (ch->user_volume < 100 )
128128 {
129- delta0 = (samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume / 100 ;
130- delta1 = (samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume / 100 ;
129+ delta0 = (( samp[0 ] - ch->blip_prev_samp [0 ]) * ch->user_volume * 164 ) >> 14 ;
130+ delta1 = (( samp[1 ] - ch->blip_prev_samp [1 ]) * ch->user_volume * 164 ) >> 14 ;
131131 } else {
132132 delta0 = samp[0 ] - ch->blip_prev_samp [0 ];
133133 delta1 = samp[1 ] - ch->blip_prev_samp [1 ];
0 commit comments