From eab80c4a731745e325658fda04220b525b0c99b8 Mon Sep 17 00:00:00 2001 From: Gyorgy Szombathelyi Date: Mon, 16 Mar 2020 11:56:45 +0100 Subject: [PATCH] IremM62: add DIP switches --- .../IremM62 Hardware/meta/Battle Road.mra | 5 ++++ Arcade_MiST/IremM62 Hardware/meta/Horizon.mra | 5 ++++ .../IremM62 Hardware/meta/Kid Niki.mra | 6 +++++ .../IremM62 Hardware/meta/Kung Fu Master.mra | 6 +++++ .../IremM62 Hardware/meta/Lode Runner 2.mra | 6 +++++ .../IremM62 Hardware/meta/Lode Runner 3.mra | 5 ++++ .../IremM62 Hardware/meta/Lode Runner 4.mra | 6 +++++ .../IremM62 Hardware/meta/Lode Runner.mra | 5 ++++ .../IremM62 Hardware/meta/Spelunker 2.mra | 5 ++++ .../IremM62 Hardware/meta/Spelunker.mra | 5 ++++ .../IremM62 Hardware/meta/Youjyudn.mra | 4 +++ .../IremM62 Hardware/rtl/IremM62_MiST.sv | 25 +++++-------------- .../IremM62 Hardware/rtl/input_mapper.vhd | 2 +- .../IremM62 Hardware/rtl/target_top.vhd | 3 ++- 14 files changed, 67 insertions(+), 21 deletions(-) diff --git a/Arcade_MiST/IremM62 Hardware/meta/Battle Road.mra b/Arcade_MiST/IremM62 Hardware/meta/Battle Road.mra index 4f87b99c..e0d6edd6 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Battle Road.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Battle Road.mra @@ -4,6 +4,11 @@ battroad Irem iremm62 + + + + + 6 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra b/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra index c3e1b9d2..1bb386bd 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Horizon.mra @@ -4,6 +4,11 @@ horizon Irem iremm62 + + + + + 5 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Kid Niki.mra b/Arcade_MiST/IremM62 Hardware/meta/Kid Niki.mra index 5ad3dd77..682dd16c 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Kid Niki.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Kid Niki.mra @@ -4,6 +4,12 @@ kidniki Irem iremm62 + + + + + + 7 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra b/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra index 269b8cb2..41e0ab5c 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Kung Fu Master.mra @@ -4,6 +4,12 @@ kungfum Irem iremm62 + + + + + + 4 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra index d10cc3b6..13000754 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 2.mra @@ -4,6 +4,12 @@ ldrun2 Irem iremm62 + + + + + + 1 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra index 062f118b..02b1d9d7 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 3.mra @@ -4,6 +4,11 @@ ldrun3 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 b0ddec8c..566812f9 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 4.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner 4.mra @@ -4,6 +4,12 @@ ldrun4 Irem iremm62 + + + + + + 3 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra index 8a84b361..875959b6 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Lode Runner.mra @@ -4,6 +4,11 @@ ldrun Irem iremm62 + + + + + 0 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Spelunker 2.mra b/Arcade_MiST/IremM62 Hardware/meta/Spelunker 2.mra index 2cc69d13..2dce2b3d 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Spelunker 2.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Spelunker 2.mra @@ -4,6 +4,11 @@ spelunk2 Irem iremm62 + + + + + 0A diff --git a/Arcade_MiST/IremM62 Hardware/meta/Spelunker.mra b/Arcade_MiST/IremM62 Hardware/meta/Spelunker.mra index 9e796c7e..f10b9127 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Spelunker.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Spelunker.mra @@ -4,6 +4,11 @@ spelunkr Irem iremm62 + + + + + 9 diff --git a/Arcade_MiST/IremM62 Hardware/meta/Youjyudn.mra b/Arcade_MiST/IremM62 Hardware/meta/Youjyudn.mra index 230ebd45..7ef87bef 100644 --- a/Arcade_MiST/IremM62 Hardware/meta/Youjyudn.mra +++ b/Arcade_MiST/IremM62 Hardware/meta/Youjyudn.mra @@ -4,6 +4,10 @@ youjyudn Irem iremm62 + + + + 0B diff --git a/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv b/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv index 9e4d628f..5aa277f3 100644 --- a/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv +++ b/Arcade_MiST/IremM62 Hardware/rtl/IremM62_MiST.sv @@ -39,6 +39,7 @@ localparam CONF_STR = { "O1,Video Timings,Original,PAL 50Hz;", "O34,Scanlines,Off,25%,50%,75%;", "O5,Blending,Off,On;", + "DIP;", "O6,Service,Off,On;", "T0,Reset;", "V,v1.0.",`BUILD_DATE @@ -51,28 +52,13 @@ wire blend = status[5]; wire service = status[6]; reg [1:0] orientation = 2'b10; +wire [7:0] DSW1 = {/*coinage*/4'hf, ~status[11:8]}; always @(*) begin orientation = 2'b10; case (core_mod) - 7'h0: ;// LDRUN - 7'h1: ;// LDRUN2 - 7'h2: ;// LDRUN3 - 7'h3: ;// LDRUN4 - 7'h4: ;// KUNGFUM - 7'h5: ;// HORIZON - 7'h6: // BATTROAD - begin - orientation = 2'b11; - end - 7'h7: ;// KIDNIKI - 7'h8: ;// LOTLOT - 7'h9: ;// SPELUNKR - 7'hA: ;// SPELUNK2 - 7'hB: // YOUJYUDN - begin - orientation = 2'b01; - end + 7'h6: orientation = 2'b11; // BATTROAD + 7'hB: orientation = 2'b01; // YOUJYUDN default: ; endcase end @@ -262,6 +248,7 @@ target_top target_top( .hwsel(core_mod), .palmode(palmode), .audio_out(audio), + .switches_i(DSW1), .usr_coin1(m_coin1), .usr_coin2(m_coin2), .usr_service(service), @@ -317,7 +304,7 @@ mist_video #(.COLOR_DEPTH(4), .SD_HCNT_WIDTH(11)) mist_video( .VGA_B ( VGA_B ), .VGA_VS ( VGA_VS ), .VGA_HS ( VGA_HS ), - .rotate ( { 1'b1, rotate } ), + .rotate ( { orientation[1], rotate } ), .ce_divider ( 1'b1 ), .scandoubler_disable( scandoublerD ), .scanlines ( scanlines ), diff --git a/Arcade_MiST/IremM62 Hardware/rtl/input_mapper.vhd b/Arcade_MiST/IremM62 Hardware/rtl/input_mapper.vhd index c4a27579..e04aa3b8 100644 --- a/Arcade_MiST/IremM62 Hardware/rtl/input_mapper.vhd +++ b/Arcade_MiST/IremM62 Hardware/rtl/input_mapper.vhd @@ -73,7 +73,7 @@ begin inputs(0).d <= jamma_v(0).d; inputs(1).d <= jamma_v(1).d; inputs(2).d <= jamma_v(2).d; - inputs(3).d <= "11111110"; -- 1C/1C, 10/30/50K, 3 lives + inputs(3).d <= dips(7 downto 0); -- DSW1 inputs(4).d <= jamma.service & "1111100"; -- PORT_START("DSW2") -- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1") diff --git a/Arcade_MiST/IremM62 Hardware/rtl/target_top.vhd b/Arcade_MiST/IremM62 Hardware/rtl/target_top.vhd index 07a167b8..4e530dbd 100644 --- a/Arcade_MiST/IremM62 Hardware/rtl/target_top.vhd +++ b/Arcade_MiST/IremM62 Hardware/rtl/target_top.vhd @@ -17,6 +17,8 @@ entity target_top is port( hwsel : in HWSEL_t; palmode : in std_logic; audio_out : out std_logic_vector(11 downto 0); + switches_i : from_SWITCHES_t; + usr_coin1 : in std_logic; usr_coin2 : in std_logic; usr_service : in std_logic; @@ -64,7 +66,6 @@ architecture SYN of target_top is signal clkrst_i : from_CLKRST_t; signal buttons_i : from_BUTTONS_t; - signal switches_i : from_SWITCHES_t; signal leds_o : to_LEDS_t; signal inputs_i : from_INPUTS_t; signal video_i : from_VIDEO_t;