From b129cc313f9d24f71f4b3c0d40705028694b18cf Mon Sep 17 00:00:00 2001 From: Gyorgy Szombathelyi Date: Fri, 6 Mar 2020 13:39:38 +0100 Subject: [PATCH] IremM62: sound board ROM address decode fix --- Arcade_MiST/IremM62 Hardware/meta/Horizon.mra | 2 +- .../IremM62 Hardware/meta/Kung Fu Master.mra | 9 ++------- .../IremM62 Hardware/meta/Lode Runner 2.mra | 8 ++------ .../IremM62 Hardware/meta/Lode Runner 3.mra | 2 +- .../IremM62 Hardware/meta/Lode Runner 4.mra | 2 +- .../IremM62 Hardware/meta/Lode Runner.mra | 2 +- .../IremM62 Hardware/rtl/IremM62_MiST.sv | 2 +- .../IremM62 Hardware/rtl/Sound_Board.vhd | 18 +++++------------- .../IremM62 Hardware/rtl/history/history.db | Bin 0 -> 12288 bytes .../IremM62 Hardware/rtl/target_top.vhd | 2 +- 10 files changed, 15 insertions(+), 32 deletions(-) create mode 100644 Arcade_MiST/IremM62 Hardware/rtl/history/history.db diff --git a/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra b/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra index 2b123b3b..c3e1b9d2 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra @@ -5,7 +5,7 @@ Irem iremm62 5 - + diff --git a/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra b/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra index 5c4d8613..269b8cb2 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra @@ -5,7 +5,7 @@ Irem iremm62 4 - + @@ -17,15 +17,10 @@ + FF - - - - - - diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra index 990fe20e..d10cc3b6 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra @@ -5,7 +5,7 @@ Irem iremm62 1 - + @@ -26,15 +26,11 @@ - - - - + FF - diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra index a150fff4..062f118b 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra @@ -5,7 +5,7 @@ Irem iremm62 2 - + diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 4.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 4.mra index 36294983..b0ddec8c 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 4.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 4.mra @@ -5,7 +5,7 @@ Irem iremm62 3 - + diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra index f4ead13a..8a84b361 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra @@ -5,7 +5,7 @@ Irem iremm62 0 - + diff --git a/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv b/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv index 8b0a0b52..2faefb9d 100644 --- a/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv +++ b/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv @@ -103,7 +103,7 @@ wire [16:0] rom_addr; wire [15:0] rom_do; wire [17:0] snd_addr; -wire [13:0] snd_rom_addr; +wire [15:0] snd_rom_addr; wire [15:0] snd_do; wire snd_vma; diff --git a/Arcade_MiST/IremM62 Hardware/rtl/Sound_Board.vhd b/Arcade_MiST/IremM62 Hardware/rtl/Sound_Board.vhd index ba56ae64..6f8eaee9 100644 --- a/Arcade_MiST/IremM62 Hardware/rtl/Sound_Board.vhd +++ b/Arcade_MiST/IremM62 Hardware/rtl/Sound_Board.vhd @@ -32,7 +32,7 @@ port( select_sound : in std_logic_vector(7 downto 0); audio_out : out std_logic_vector(11 downto 0); - snd_rom_addr : out std_logic_vector(13 downto 0); + snd_rom_addr : out std_logic_vector(15 downto 0); snd_rom_do : in std_logic_vector(7 downto 0); snd_vma : out std_logic; @@ -164,9 +164,9 @@ dbg_cpu_addr <= cpu_addr; -- cs wram_cs <= '1' when cpu_addr(15 downto 7) = X"00"&'1' else '0'; -- 0080-00FF ports_cs <= '1' when cpu_addr(15 downto 4) = X"000" else '0'; -- 0000-000F -adpcm_cs <= '1' when cpu_addr(14) = '0' and cpu_addr(11) = '1' and cpu_addr(1 downto 0) /= "00" else '0'; -- 0801-0802 -irqraz_cs <= '1' when cpu_addr(14) = '0' and cpu_addr(11) = '1' and cpu_addr(1 downto 0) = "00" else '0'; -- 0800 -rom_cs <= '1' when cpu_addr(14) = '1' else '0'; -- 4000-7FFF / C000-FFFF +adpcm_cs <= '1' when cpu_addr(15 downto 14) = "00" and cpu_addr(11) = '1' and cpu_addr(1 downto 0) /= "00" else '0'; -- 0801-0802 +irqraz_cs <= '1' when cpu_addr(15 downto 14) = "00" and cpu_addr(11) = '1' and cpu_addr(1 downto 0) = "00" else '0'; -- 0800 +rom_cs <= '1' when cpu_addr(15 downto 14) /= "00" else '0'; -- 4000-FFFF -- write enables wram_we <= '1' when cpu_rw = '0' and wram_cs = '1' else '0'; @@ -349,17 +349,9 @@ port map( test_cc => open ); ---rom_cpu : entity work.snd_prg ---port map( --- clk => clock_E, -- E clock input (falling edge) --- addr => cpu_addr(13 downto 0), --- data => rom_do ---); - snd_vma <= rom_cs and cpu_vma; -snd_rom_addr <= cpu_addr(13 downto 0); +snd_rom_addr <= cpu_addr(15 downto 0); - -- cpu wram cpu_ram : entity work.spram generic map( widthad_a => 7) diff --git a/Arcade_MiST/IremM62 Hardware/rtl/history/history.db b/Arcade_MiST/IremM62 Hardware/rtl/history/history.db new file mode 100644 index 0000000000000000000000000000000000000000..d942bb0710005fb9508c6f2ea8e4cbff52e6b916 GIT binary patch literal 12288 zcmeI#Jxjwt7{KwnD83X*x^>8Mqk;y$gwJ zXUqSAdwKFC2lvbLr1PjYm0Gszm(r*!F%eRVTcv~$(vCelhH&}*kl5Ab+d_(q>+iAu zBRoG9e(Ha1`+zzE2q1s}0tg_000IagfB*vjM8L?yX%NWI8&f_v)qAzx)a|NYyjc?J zEL54ki$c{uR41cj8$@o`-)got}FKQyoZA zuNKwE=C!e1eNn!dw#$qD?BcTDxW4|#d5+yQaT9?60tg_000IagfB*srAb