音量小さかったのでソース修正
こちらのソースから音量部分のみ移植。
とりあえず音量は大きくなったけど、各音源のボリュームバランスはとれてるのかな?
これでダメなら内部を直接いじってみるか。
音量増加
one_chip_msx_board\emsx_top.vhd
429行目
SIGNAL PSGAMP : STD_LOGIC_VECTOR(7 DOWNTO 0);
↓
SIGNAL PSGAMP : STD_LOGIC_VECTOR(9 DOWNTO 0);
package\msx_components.vhd
262行目
WAVE : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0 )
↓
WAVE : OUT STD_LOGIC_VECTOR( 9 DOWNTO 0 )
315行目
PSGAMP : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );
↓
PSGAMP : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 );
sound\mixer\mixer.vhd
65行目
PSGAMP : IN STD_LOGIC_VECTOR( 7 DOWNTO 0 );
↓
PSGAMP : IN STD_LOGIC_VECTOR( 9 DOWNTO 0 );
95行目
SIGNAL FF_PREPSG : STD_LOGIC_VECTOR( 8 DOWNTO 0 );
↓
SIGNAL FF_PREPSG : STD_LOGIC_VECTOR( 9 DOWNTO 0 );
197行目
WITH MSTRVOL SELECT W_SCC_SFT <=
W_S( 15 DOWNTO 14 ) & W_SCC( 18 DOWNTO 5 ) WHEN "000",
W_S( 15 DOWNTO 13 ) & W_SCC( 18 DOWNTO 6 ) WHEN "001",
W_S( 15 DOWNTO 12 ) & W_SCC( 18 DOWNTO 7 ) WHEN "010",
W_S( 15 DOWNTO 11 ) & W_SCC( 18 DOWNTO 8 ) WHEN "011",
W_S( 15 DOWNTO 10 ) & W_SCC( 18 DOWNTO 9 ) WHEN "100",
W_S( 15 DOWNTO 9 ) & W_SCC( 18 DOWNTO 10 ) WHEN "101",
W_S( 15 DOWNTO 8 ) & W_SCC( 18 DOWNTO 11 ) WHEN "110",
W_S( 15 DOWNTO 7 ) & W_SCC( 18 DOWNTO 12 ) WHEN "111",
(OTHERS => 'X') WHEN OTHERS;
↓
WITH MSTRVOL SELECT W_SCC_SFT <=
W_SCC( 18 DOWNTO 3 ) WHEN "000",
W_S( 15 ) & W_SCC( 18 DOWNTO 4 ) WHEN "001",
W_S( 15 DOWNTO 14 ) & W_SCC( 18 DOWNTO 5 ) WHEN "010",
W_S( 15 DOWNTO 13 ) & W_SCC( 18 DOWNTO 6 ) WHEN "011",
W_S( 15 DOWNTO 12 ) & W_SCC( 18 DOWNTO 7 ) WHEN "100",
W_S( 15 DOWNTO 11 ) & W_SCC( 18 DOWNTO 8 ) WHEN "101",
W_S( 15 DOWNTO 10 ) & W_SCC( 18 DOWNTO 9 ) WHEN "110",
W_S( 15 DOWNTO 9 ) & W_SCC( 18 DOWNTO 10 ) WHEN "111",
(OTHERS => 'X') WHEN OTHERS;
211行目
IF( CLK21M'EVENT AND CLK21M = '1' )THEN
FF_PREPSG <= (('0' & PSGAMP ) + (KEYCLICK & "00000"));
FF_PRESCC <= ((SCC1AMPL(14) & SCC1AMPL) + (SCC2AMPL(14) & SCC2AMPL));
FF_PSG <= "000" & SHR( (FF_PREPSG * PSGVOL) & "0", MSTRVOL );
FF_SCC <= W_SCC_SFT;
IF( OPLLAMP < C_OPLL_ZERO )THEN
CHAMP := "00" & SHR( ((C_OPLL_ZERO - OPLLAMP) * OPLLVOL) & "0", MSTRVOL );
FF_OPLL <= C_AMP_OFFSET - ( CHAMP - CHAMP( 15 DOWNTO 3 ) );
ELSE
CHAMP := "00" & SHR( ((OPLLAMP - C_OPLL_ZERO) * OPLLVOL) & "0", MSTRVOL );
FF_OPLL <= C_AMP_OFFSET + ( CHAMP - CHAMP( 15 DOWNTO 3 ) );
END IF;
END IF;
↓
IF( CLK21M'EVENT AND CLK21M = '1' )THEN
セコメントをする