diff --git a/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_mist.sv b/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_mist.sv index 76832a45..7248ff8b 100644 --- a/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_mist.sv +++ b/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_mist.sv @@ -39,7 +39,6 @@ localparam CONF_STR = { }; assign LED = ~ioctl_downl; -assign AUDIO_R = AUDIO_L; assign SDRAM_CLK = clock_48; assign SDRAM_CKE = 1; @@ -61,10 +60,10 @@ wire [7:0] joystick_0; wire [7:0] joystick_1; wire scandoublerD; wire ypbpr; -wire [7:0] audio; +wire [11:0] audio_l, audio_r; wire hs, vs; -wire hb, vb; -wire blankn = ~(hb | vb); +//wire hb, vb; +//wire blankn = ~(hb | vb); wire [3:0] r, g, b; wire key_strobe; wire key_pressed; @@ -154,8 +153,8 @@ bombjack_top bombjack_top( .O_VIDEO_B(b), .O_HSYNC(hs), .O_VSYNC(vs), - .O_HBLANK(hb), - .O_VBLANK(vb), +// .O_HBLANK(hb), +// .O_VBLANK(vb), .p1_sw({"000",m_fire,m_down,m_up,m_left,m_right}), .p2_sw({"000",m_fire,m_down,m_up,m_left,m_right}), .s_sys({"1111",btn_two_players,btn_one_player,1'b1,btn_coin}), @@ -163,7 +162,8 @@ bombjack_top bombjack_top( .cpu_rom_data(rom_addr[0] ? rom_do[15:8] : rom_do[7:0]), .bg_rom_addr(bg_addr), .bg_rom_data(bg_do), - .s_audio(audio), + .O_AUDIO_L(audio_l), + .O_AUDIO_R(audio_r), .RESETn(~reset), .clk_4M_en(clock_4), .clk_6M_en(clock_6), @@ -212,13 +212,20 @@ user_io #(.STRLEN(($size(CONF_STR)>>3)))user_io( .status (status ) ); -dac #(.C_bits(16))dac( +dac #(.C_bits(12))dac_l( .clk_i(clock_48), .res_n_i(1), - .dac_i({audio,audio}), + .dac_i(audio_l), .dac_o(AUDIO_L) ); +dac #(.C_bits(12))dac_r( + .clk_i(clock_48), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + // Rotated Normal wire m_up = ~status[2] ? btn_left | joystick_0[1] | joystick_1[1] : btn_up | joystick_0[3] | joystick_1[3]; wire m_down = ~status[2] ? btn_right | joystick_0[0] | joystick_1[0] : btn_down | joystick_0[2] | joystick_1[2]; diff --git a/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_top.vhd b/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_top.vhd index 8e74982e..2da63f80 100644 --- a/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_top.vhd +++ b/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/bombjack_top.vhd @@ -67,7 +67,8 @@ entity bombjack_top is bg_rom_data : in std_logic_vector(23 downto 0) := (others => '0'); -- Sound out - s_audio : out std_logic_vector(7 downto 0); + O_AUDIO_L : out std_logic_vector (11 downto 0); + O_AUDIO_R : out std_logic_vector (11 downto 0); -- Active high external buttons RESETn : in std_logic; @@ -711,10 +712,10 @@ O_VSYNC <= s_vsync_n; I_PSG1_n => s_psg1_n, I_PSG2_n => s_psg2_n, I_PSG3_n => s_psg3_n, - I_CHEN => "111111111", I_SD => psg_data_in, O_SD => psg_data_out, - O_AUDIO => s_audio + O_AUDIO_L => O_AUDIO_L, + O_AUDIO_R => O_AUDIO_R ); -- --------------------------------- diff --git a/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/p10_psgs.vhd b/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/p10_psgs.vhd index 888cd344..c0c269b7 100644 --- a/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/p10_psgs.vhd +++ b/Arcade_MiST/Tehkan Bombjack Hardware/Bomb Jack/rtl/p10_psgs.vhd @@ -47,10 +47,10 @@ entity psgs is I_PSG1_n : in std_logic; I_PSG2_n : in std_logic; I_PSG3_n : in std_logic; - I_CHEN : in std_logic_vector( 8 downto 0); I_SD : in std_logic_vector (7 downto 0); O_SD : out std_logic_vector (7 downto 0); - O_AUDIO : out std_logic_vector (7 downto 0) + O_AUDIO_L : out std_logic_vector (11 downto 0); + O_AUDIO_R : out std_logic_vector (11 downto 0) ); end psgs; @@ -70,9 +70,12 @@ architecture RTL of psgs is signal s_34A_data : std_logic_vector( 7 downto 0) := (others => '0'); signal s_34C_data : std_logic_vector( 7 downto 0) := (others => '0'); signal s_34D_data : std_logic_vector( 7 downto 0) := (others => '0'); - signal s_psg1_out : std_logic_vector( 7 downto 0) := (others => '0'); - signal s_psg2_out : std_logic_vector( 7 downto 0) := (others => '0'); - signal s_psg3_out : std_logic_vector( 7 downto 0) := (others => '0'); + signal s_psg1l_out : std_logic_vector( 9 downto 0) := (others => '0'); + signal s_psg1r_out : std_logic_vector( 9 downto 0) := (others => '0'); + signal s_psg2l_out : std_logic_vector( 9 downto 0) := (others => '0'); + signal s_psg2r_out : std_logic_vector( 9 downto 0) := (others => '0'); + signal s_psg3l_out : std_logic_vector( 9 downto 0) := (others => '0'); + signal s_psg3r_out : std_logic_vector( 9 downto 0) := (others => '0'); begin -- CPU data bus mux @@ -114,8 +117,8 @@ begin I_IOA => X"FF", I_IOB => X"FF", --- I_CHEN => I_CHEN(8 downto 6), - O_AUDIO => s_psg1_out + O_AUDIO_L => s_psg1l_out, + O_AUDIO_R => s_psg1r_out ); U34C : entity work.ym2149 @@ -138,8 +141,8 @@ begin I_IOA => X"FF", I_IOB => X"FF", --- I_CHEN => I_CHEN(5 downto 3), - O_AUDIO => s_psg2_out + O_AUDIO_L => s_psg2l_out, + O_AUDIO_R => s_psg2r_out ); U34A : entity work.ym2149 @@ -162,14 +165,14 @@ begin I_IOA => X"FF", I_IOB => X"FF", --- I_CHEN => I_CHEN(2 downto 0), - O_AUDIO => s_psg3_out + O_AUDIO_L => s_psg3l_out, + O_AUDIO_R => s_psg3r_out ); - s_audio_sum <= - (("00" & s_psg1_out) + ("00" & s_psg2_out)) + ("00" & s_psg3_out); - - O_AUDIO <= s_audio_sum(9 downto 2); + O_AUDIO_L <= + (("00" & s_psg1l_out) + ("00" & s_psg2l_out)) + ("00" & s_psg3l_out); + O_AUDIO_R <= + (("00" & s_psg1r_out) + ("00" & s_psg2r_out)) + ("00" & s_psg3r_out); end RTL;