mirror of
https://github.com/MiSTer-devel/SMS_MiSTer.git
synced 2026-05-17 03:04:32 +00:00
Add support for Megumi Rescue Arcade (#124)
--Minor fix to button reading for Megumi Rescue and Riddle of Pythagoras.
This commit is contained in:
8
SMS.sv
8
SMS.sv
@@ -268,9 +268,9 @@ parameter CONF_STR = {
|
||||
|
||||
"-;",
|
||||
"R0,Reset;",
|
||||
"J1,Fire 1,Fire 2,Pause,Coin;",
|
||||
"jn,A|P,B,Start,Coin;",
|
||||
"jp,Y|P,A,Start,Coin;",
|
||||
"J1,Fire 1,Fire 2,Pause,Coin,Arcade 3;",
|
||||
"jn,A|P,B,Start,Coin,X;",
|
||||
"jp,Y|P,A,Start,Coin,X;",
|
||||
"V,v",`BUILD_DATE
|
||||
};
|
||||
|
||||
@@ -629,6 +629,7 @@ system #(63) system
|
||||
.j1_th(joya_th),
|
||||
.j1_start(swap ? joy_1[11] : joy_0[11]),
|
||||
.j1_coin(swap ? joy_1[10] : joy_0[10]),
|
||||
.j1_a3(swap ? joy_1[8] : joy_0[8]),
|
||||
|
||||
.j2_up(joyb[3]),
|
||||
.j2_down(joyb[2]),
|
||||
@@ -640,6 +641,7 @@ system #(63) system
|
||||
.pause(joya[6]&joyb[6]),
|
||||
.j2_start(swap ? joy_0[11] : joy_1[11]),
|
||||
.j2_coin(swap ? joy_0[10] : joy_1[10]),
|
||||
.j2_a3(swap ? joy_0[8] : joy_1[8]),
|
||||
|
||||
.j1_tr_out(joya_tr_out),
|
||||
.j1_th_out(joya_th_out),
|
||||
|
||||
62
releases/Megumi Rescue (Japan).mra
Normal file
62
releases/Megumi Rescue (Japan).mra
Normal file
@@ -0,0 +1,62 @@
|
||||
<misterromdescription>
|
||||
<name>Megumi Rescue (Japan)</name>
|
||||
<region>Japan</region>
|
||||
<homebrew>no</homebrew>
|
||||
<bootleg>no</bootleg>
|
||||
<version></version>
|
||||
<alternative></alternative>
|
||||
<platform>Sega System E</platform>
|
||||
<series></series>
|
||||
<year>1987</year>
|
||||
<manufacturer>Sega / Exa</manufacturer>
|
||||
<category>Ball and Paddle</category>
|
||||
|
||||
<setname>megrescu</setname>
|
||||
<parent>megrescu</parent>
|
||||
<mameversion>0245</mameversion>
|
||||
<rbf>SMS</rbf>
|
||||
<about></about>
|
||||
|
||||
<resolution>15kHz</resolution>
|
||||
<rotation>vertical (cw)</rotation>
|
||||
<flip></flip>
|
||||
|
||||
<players>2</players>
|
||||
<joystick>8-way</joystick>
|
||||
<buttons names="Launch/Button1,Button2,Button3,-,-,-,Coin,Start,Pause" default="A,B,L,R,Start,Select" count="1"/>
|
||||
|
||||
<switches base="24" default="FF,FF,FF">
|
||||
<!-- SWA -->
|
||||
<!-- SWB -->
|
||||
<dip name="Lives" bits="10,11" ids="Cheat,4,3,2"/>
|
||||
<dip name="Cabinet" bits="12" ids="Upright,Cocktail"/>
|
||||
<!-- SWC -->
|
||||
<dip name="Service Toggle" bits="18" ids="On,Off"/>
|
||||
<dip name="Service Mode" bits="19" ids="On,Off"/>
|
||||
</switches>
|
||||
|
||||
<rom index="0" zip="megrescu.zip" type="merged" md5="31084284291fe1328d7963a3eda660fa">
|
||||
<!-- banks, size: 0x40000 -->
|
||||
<part crc="278CABA8" name="v10_30ic.5"/>
|
||||
<part crc="BDA242D1" name="v10_30ic.4"/>
|
||||
<part crc="56E36F85" name="v10_30ic.3"/>
|
||||
<part crc="5B74C767" name="v10_30ic.2"/>
|
||||
<part crc="278CABA8" name="v10_30ic.5"/>
|
||||
<part crc="BDA242D1" name="v10_30ic.4"/>
|
||||
<part crc="56E36F85" name="v10_30ic.3"/>
|
||||
<part crc="5B74C767" name="v10_30ic.2"/>
|
||||
|
||||
<!-- maincpu, size: 0x8000 -->
|
||||
<part crc="490d0059" name="v10_30ic.7"/>
|
||||
</rom>
|
||||
<rom index="4">
|
||||
<part>04</part>
|
||||
</rom>
|
||||
<!--
|
||||
<nvram index="4" size="3"/>
|
||||
-->
|
||||
|
||||
<remark></remark>
|
||||
|
||||
<mratimestamp>20220531000000</mratimestamp>
|
||||
</misterromdescription>
|
||||
10
rtl/io.vhd
10
rtl/io.vhd
@@ -27,6 +27,7 @@ entity io is
|
||||
J1_th: in STD_LOGIC;
|
||||
j1_start:in STD_LOGIC;
|
||||
j1_coin: in STD_LOGIC;
|
||||
j1_a3: in STD_LOGIC;
|
||||
J2_up: in STD_LOGIC;
|
||||
J2_down: in STD_LOGIC;
|
||||
J2_left: in STD_LOGIC;
|
||||
@@ -36,6 +37,7 @@ entity io is
|
||||
J2_th: in STD_LOGIC;
|
||||
j2_start:in STD_LOGIC;
|
||||
j2_coin: in STD_LOGIC;
|
||||
j2_a3: in STD_LOGIC;
|
||||
Pause: in STD_LOGIC;
|
||||
E0Type: in STD_LOGIC_VECTOR(1 downto 0);
|
||||
E1Use: in STD_LOGIC;
|
||||
@@ -194,16 +196,16 @@ begin
|
||||
end if;
|
||||
elsif analog_upper='1' then
|
||||
if analog_player='0' then
|
||||
D_out(7) <= '0';
|
||||
D_out(7) <= J1_tl or J1_tr or J1_a3;
|
||||
D_out(6) <= J1_tl;
|
||||
D_out(5) <= J1_tr;
|
||||
D_out(4) <= '0';--j1_middle;
|
||||
D_out(4) <= J1_a3;--j1_middle;
|
||||
D_out(3 downto 0) <= paddle(7 downto 4);
|
||||
else
|
||||
D_out(7) <= '0';
|
||||
D_out(7) <= J1_tl or J1_tr or J1_a3;
|
||||
D_out(6) <= J2_tl;
|
||||
D_out(5) <= J2_tr;
|
||||
D_out(4) <= '0';--j1_middle;
|
||||
D_out(4) <= J2_a3;--j1_middle;
|
||||
D_out(3 downto 0) <= paddle2(7 downto 4);
|
||||
end if;
|
||||
else
|
||||
|
||||
@@ -41,6 +41,7 @@ entity system is
|
||||
j1_th: in STD_LOGIC;
|
||||
j1_start: in STD_LOGIC;
|
||||
j1_coin: in STD_LOGIC;
|
||||
j1_a3: in STD_LOGIC;
|
||||
j2_up: in STD_LOGIC;
|
||||
j2_down: in STD_LOGIC;
|
||||
j2_left: in STD_LOGIC;
|
||||
@@ -50,6 +51,7 @@ entity system is
|
||||
j2_th: in STD_LOGIC;
|
||||
j2_start: in STD_LOGIC;
|
||||
j2_coin: in STD_LOGIC;
|
||||
j2_a3: in STD_LOGIC;
|
||||
pause: in STD_LOGIC;
|
||||
|
||||
E0Type: in STD_LOGIC_VECTOR(1 downto 0);
|
||||
@@ -488,6 +490,7 @@ port map(
|
||||
J1_th => j1_th,
|
||||
J1_start => j1_start,
|
||||
J1_coin => j1_coin,
|
||||
J1_a3 => j1_a3,
|
||||
J2_up => j2_up,
|
||||
J2_down => j2_down,
|
||||
J2_left => j2_left,
|
||||
@@ -497,6 +500,7 @@ port map(
|
||||
J2_th => j2_th,
|
||||
J2_start => j2_start,
|
||||
J2_coin => j2_coin,
|
||||
J2_a3 => j2_a3,
|
||||
Pause => pause,
|
||||
E0Type => E0Type,
|
||||
E1Use => E1Use,
|
||||
|
||||
Reference in New Issue
Block a user