Commit faef112

Nick Faro committed on
Handle master vol
commit faef112587c9d90cafefbeb2a1480533604ebd8b parent fdcfc70
1 changed files +8−4
Modifiedsrc/sound.pas +8−4
@@ -422,6 +422,7 @@ var
422 ls: array[1..4] of Integer = (0, 0, 0, 0); 422 ls: array[1..4] of Integer = (0, 0, 0, 0);
423 rs: array[1..4] of Integer = (0, 0, 0, 0); 423 rs: array[1..4] of Integer = (0, 0, 0, 0);
424 chanLs, chanRs: array[0..4] of Integer; 424 chanLs, chanRs: array[0..4] of Integer;
425 masterL, masterR: Double;
425 l, r: Integer; 426 l, r: Integer;
426 I: Integer; 427 I: Integer;
427 begin 428 begin
@@ -746,8 +747,11 @@ begin
746 SampleBuffers[I].Cursor := (SampleBuffers[I].Cursor + 1) mod SAMPLE_BUFFER_SIZE; 747 SampleBuffers[I].Cursor := (SampleBuffers[I].Cursor + 1) mod SAMPLE_BUFFER_SIZE;
747 end; 748 end;
748 749
749 l := Trunc((ls[1] + ls[2] + ls[3] + ls[4]) * (((m_iram[$FF24] and 7)+1) / 8)); 750 masterL := ((m_iram[$FF24] and 7) + 1) / 8;
750 r := Trunc((rs[1] + rs[2] + rs[3] + rs[4]) * ((((m_iram[$FF24] shr 4) and 7)+1) / 8)); 751 masterR := (((m_iram[$FF24] shr 4) and 7) + 1) / 8;
752
753 l := Trunc((ls[1] + ls[2] + ls[3] + ls[4]) * masterL);
754 r := Trunc((rs[1] + rs[2] + rs[3] + rs[4]) * masterR);
751 755
752 SampleBuffers[0].BufferL[SampleBuffers[0].Cursor] := l; 756 SampleBuffers[0].BufferL[SampleBuffers[0].Cursor] := l;
753 SampleBuffers[0].BufferR[SampleBuffers[0].Cursor] := r; 757 SampleBuffers[0].BufferR[SampleBuffers[0].Cursor] := r;
@@ -756,8 +760,8 @@ begin
756 chanLs[0] := l; 760 chanLs[0] := l;
757 chanRs[0] := r; 761 chanRs[0] := r;
758 for I := 1 to 4 do begin 762 for I := 1 to 4 do begin
759 chanLs[I] := ls[I]; 763 chanLs[I] := Trunc(ls[I] * masterL);
760 chanRs[I] := rs[I]; 764 chanRs[I] := Trunc(rs[I] * masterR);
761 end; 765 end;
762 SoundOutBits(chanLs, chanRs, cycles); 766 SoundOutBits(chanLs, chanRs, cycles);
763 end; 767 end;