1
0
mirror of https://github.com/Gehstock/Mist_FPGA.git synced 2026-01-31 05:41:56 +00:00

IremM62: add DIP switches

This commit is contained in:
Gyorgy Szombathelyi
2020-03-16 11:56:45 +01:00
parent 6cf1b592b9
commit eab80c4a73
14 changed files with 67 additions and 21 deletions

View File

@@ -4,6 +4,11 @@
<setname>battroad</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Fuel Decrease" ids="Slow,Medium,Fast,Fastest"/>
<dip bits="10" name="Difficulty" ids="Easy,Hard"/>
</switches>
<rom index="1"><part>6</part></rom>
<rom index="0" zip="battroad.zip" md5="4d5de2720b53b64fb63beed407cbeb19" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,11 @@
<setname>horizon</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Lives" ids="3,5,4,2"/>
<dip bits="10,11" name="Bonus Life" ids="40k/80k,60k/100k,80k/120k,100k/80k"/>
</switches>
<rom index="1"><part>5</part></rom>
<rom index="0" zip="horizon.zip" md5="573ef5ced961ede734cdde94153fcb7a" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,12 @@
<setname>kidniki</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Lives" ids="3,2,4,5"/>
<dip bits="10" name="Difficulty" ids="Normal,Hard"/>
<dip bits="11" name="Bonus Life" ids="50000,80000"/>
</switches>
<rom index="1"><part>7</part></rom>
<rom index="0" zip="kidniki.zip" md5="63cf7764a51bae694ce95dfe518a96f3" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,12 @@
<setname>kungfum</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8" name="Difficulty" ids="Easy,Hard"/>
<dip bits="9" name="Energy Loss" ids="Slow,Fast"/>
<dip bits="10,11" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>4</part></rom>
<rom index="0" zip="kungfum.zip" md5="e4dd9d396dd574a11189c2183cf4cead" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,12 @@
<setname>ldrun2</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8" name="Timer" ids="Slow,Fast"/>
<dip bits="9" name="Speed" ids="High,Low"/>
<dip bits="10,11" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>1</part></rom>
<rom index="0" zip="ldrun2.zip" md5="46dbb2c6765031bd796a2c62b64c4ba2" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,11 @@
<setname>ldrun3</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Timer" ids="Slow,Medium,Fast,Fastest"/>
<dip bits="10,11" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>2</part></rom>
<rom index="0" zip="ldrun3.zip" md5="a32c8e0a4927c70199174dea1600e761" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,12 @@
<setname>ldrun4</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8" name="Timer" ids="Slow,Fast"/>
<dip bits="9" name="2 Players" ids="2 Credits, 1 Credit"/>
<dip bits="10,11" name="1 Player Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>3</part></rom>
<rom index="0" zip="ldrun4.zip" md5="cd633975a81980cefe104543024cc7ee" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,11 @@
<setname>ldrun</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Timer" ids="Slow,Medium,Fast,Fastest"/>
<dip bits="10,11" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>0</part></rom>
<rom index="0" zip="ldrun.zip" md5="dbd20cd8f5d2555911090e62e4621920" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,11 @@
<setname>spelunk2</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Energy Decrease" ids="Slow,Medium,Fast,Fastest"/>
<dip bits="10,11" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>0A</part></rom>
<rom index="0" zip="spelunk2.zip" md5="5052a1aaf3f39b0a40babfcc00e9652d" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,11 @@
<setname>spelunkr</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Energy Decrease" ids="Slow,Medium,Fast,Fastest"/>
<dip bits="10,11" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>9</part></rom>
<rom index="0" zip="spelunkr.zip" md5="ec64e30638077a75ff9f6698494057fc" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -4,6 +4,10 @@
<setname>youjyudn</setname>
<manufacturer>Irem</manufacturer>
<rbf>iremm62</rbf>
<switches>
<!-- DSW1 -->
<dip bits="8,9" name="Lives" ids="3,2,4,5"/>
</switches>
<rom index="1"><part>0B</part></rom>
<rom index="0" zip="youjyudn.zip" md5="88142ed9adb6ffff9643cc7fa6bae82b" type="merged|nonmerged">
<!-- CPU1, 128k -->

View File

@@ -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 ),

View File

@@ -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")

View File

@@ -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;